Merging modern software development with electrons and metal
Random header image... Refresh for more!

Posts from — November 2009

Prototyping Is Good

I like automation software because the end result is visible, not just “in the cloud” with no clear connection to anything physical.  Furthermore, I’ve found it’s very good to experiment and prototype first; I do not rely on virtual designs (living only in CAD software on a computer) to be 100% correct.  Even if we had and knew how to use expensive simulation software, it’s still not real.  Toyota, which does make extensive and valuable use of simulations, is moving back to make more physical prototypes and do more testing with those prototypes.

First, it’s hard to get all the details right.   After I assembled my CO-DB9-RJ45-2 adapter board, I plugged it into a AMC DX15 servo drive and then I finally realized: oh, no, the power plug is on the wrong side and will hit the next connector!  (BTW, the simple solution is to use a fixed terminal block instead of a header and plug).

Second, there’s no substitute for actually trying to use, first, the components, and second, the whole machine.  You can’t simulate the feel of quality components.  And there are lots of little things that can bite you later.  That’s why I now prefer to get samples of connectors I’m interested in before using them on a PCB.

I really like the concept of IDC (insulation displacement) terminal blocks: all you have to do is insert the wire and clamp down.  There’s no wire stripping, no ferrules to crimp, and no screws.  So I used a lot of Phoenix IDC terminal blocks in one of my first PCBs.  They worked great for many wires, but one set had problems: one component had wires with really thick insulation (for no good reason IMNSHO), so we really had to cram the wires in, which isn’t a good thing.

So while I still like IDC connectors, such as the eCon style connectors (3M MiniClamp, Tyco RITS) I only use them when I know what the wire gauge and insulation diameter will be.

I’ve also started using a lot of spring clamp connectors.  They can handle a much wider range of wire (and insulation) sizes than IDC, but can still be quicker to assemble than screw clamps.  However, they have their quirks, too:

  1. I have a bunch of used early Wago DIN rail spring clamp terminal blocks which are significantly harder to use than the newer models.
  2. Large spring clamps can take a lot of force.  I realized that when using some 4.0mm 32A Phoenix DIN Rail spring clamp terminal blocks.  I’m not sure I’d want to use anything larger.
  3. It can be hard to get the wires into a spring cage plug: it takes one hand to hold it, one hand to operate the screw driver, and one hand to insert the wire — but I only have two hands.  When the plug is in its header, it’s easy to operate.

November 27, 2009   No Comments

A Bunch of Boards

First Batch of PCBs (assembled)

First Batch of PCBs (assembled)

I’ve been slowly working on a bunch of PCBs, and the first batch is finally here.

In the coming weeks, I will discuss each board in more detail, fill in the trac pages, and add the Eagle PCB files to my subversion repository.  I will also cover any mistakes I find, and possible improvements.

The initial lineup consists of the:

  • FP-SMC-1, which is finally here!  It’s a demo board designed to show how to design a custom PCB to replace typical control cabinet wiring.  It connects a Panasonic FP series PLC to a SMC pneumatic manifold.
  • CO-DB9-RJ45-2, designed to convert a CANOpen DB9 connector to dual RJ45 connectors.
  • CO-HDR-RJ45, designed to convert a CANOpen terminal block header to dual RJ45 connectors.
  • CO-M12-RJ45, designed to convert a CANOpen M12 connector to dual RJ45 connectors.
  • CO-TB-RJ45, designed to convert a CANOpen terminal block to dual RJ45 connectors.

November 5, 2009   3 Comments

Connector Annoyances: Micro-Fit Genders

Connectors can be very annoying.  Right now, I’m annoyed by Molex’s Micro-Fit 3.0mm connector family.

Here’s the scenario: some motors we use come with the feedback cable wired with a Micro-Fit receptacle.  We custom build a cable with a sub-D connector at one end and a Micro-Fit plug at the other (which connects to the feedback cable).  I was investigating building a simple PCB to test the cable, and therefore needed a PCB mount receptacle.

That part doesn’t exist.  All the standard Micro-Fit PCB headers are plugs.  You can get Micro-Fit PCB receptacle headers if you use the Micro-Fit BMI (Blind Mate) series, but according to Molex, BMI parts only mate to other BMI parts.

That’s another reason I like sub-D connectors: they’re available from multiple sources, in all kinds of variants.  And you can choose solder cup, crimp, or (for some sizes) IDC ribbon cable; Micro-Fit is only crimp.

November 5, 2009   1 Comment

Verifying PCB Footprints

A great way to waste time and money on Printed Circuit Boards (PCBs) is to create them with the wrong footprints.  It’s worth spending the time to verify before ordering.

The footprint is what a part looks like on the PCB: the holes, the pads, the silkscreen, etc.  PCB design software typically comes with footprint libraries, but some people (including myself and the guys at Sparkfun) prefer to do their own.

It’s easy to make a mistake when creating your own footprints.  You should still check all footprints, because the creator could have made a mistake or it could have been designed for a different part (for example, not all DB9F right angle through hole connectors have the same footprint).

There are two ways of verifying a part’s PCB footprint:

Model the PCB using a MCAD (mechanical CAD) program

  1. You have to create a PCB first that uses the footprint.
  2. You need a 3D model of the part, preferably from the manufacturer.
  3. You need a suitable MCAD program.  Links to some free personal use possibilities (such as CoCreate PE, PowerSHAPE-e, and Medusa4 Personal) are here.
  4. I discussed how I modeled the FP-SMC-1 here.

Mock the PCB using a life size printout

  1. You have to have the parts you are going to verify.  I like to have the parts first, anyway, since I like to see what the look like and how they work before I use them in a design.
  2. You have to create a PCB first that uses the footprint.
  3. You then print the footprint at life size (1:1 scale), with the pads, holes, and (optional) silkscreen showing.  You should check that the printout really is life size (printers aren’t perfect).
  4. Cut out the PCB, and then mount the parts onto the paper.  I find it’s easier to punch through hole parts through the paper when it’s backed by something like foam.
  5. Check the footprint with the parts mounted and removed: holes in right places, pads line up, silkscreen is visible, etc.
Parts inserted into paper PCB printout

Parts inserted into paper PCB printout

Pictured above is a printout of the FP-SMC-1 PCB layout with the parts inserted.  You can see that the text is readable, and silkscreen outlines appear correct, and such.

Paper PCB printout after parts inserted

Paper PCB printout after parts inserted

Pictured above is a view of the FP-SMC-1 layout printout after I removed the parts.  You can see, especially in the larger version, that all the holes (made by the connectors’ pins) line up with the layout’s holes.  (Click on the picture to see the full size version).

In some ways, it’s easier to use the second method.  MCAD programs are fun, but they do have a substantial learning curve; I’ve found mating parts is often very challenging.  But it can also be challenging to poke parts through paper accurately, and I haven’t tried the second method with surface mount parts yet.

November 4, 2009   4 Comments