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

Category — PCB

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   2 Comments

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

Easier ways to install Subversion and Trac

I haven’t had time to test most of these, but here are some ideas for installing Subversion and Trac:

  • Read the manuals carefully and do a manual install. In my experience, Subversion isn’t too hard, but getting Trac working can take some tinkering.
    • The Subversion and TortoiseSVN manuals are excellent (if you’re a Windows user, you may find the TortoiseSVN manual more useful, since the Subversion manual is all command line).
    • I’ve found the Trac documentation a little harder (more spread-out, probably because it’s all wiki pags), but for Windows the key is the TracOnWindows page. I’ve found it useful to browse the TitleIndex list – you can find some stuff you’d miss otherwise.
  • Try installing Trac 0.11 beta – it’s supposedly simpler to install (I haven’t tried yet).
  • Try the TOW (TracOnWindows) project installer. I haven’t tried it yet; on the plus side, it’s a single installer for Trac, Subversion, and dependencies, and it’s been updated recently so the versions are current. OTOH, it appears to want to install everything in a fixed location (C:\TOW).
  • You can try a VMWare Appliance (using the free VMWare Server) with Subversion and Trac already installed. I’ve looked at this; most appear to be somewhat out of date (e.g. Trac 0.9x), and for licensing reasons always use a open source OS (Linux, BSD) which might not be the best choice for everyone. Similar appliances might exist for the competition.
  • You can use a hosting service with an installer (such as Webfaction) – that really does make installation easy, but upgrading can take a bit of work.
  • It’s worth considering installing to a virtual machine (whether on Linux, Windows, etc) so you can move the Trac server around, or just to experiment without installing lots of programs on the host OS.

Finally, it’s always important to setup the server correctly, with the desired access rights and user log-ins.

Tony

March 25, 2008   No Comments

Making an Interface PCB II – Parts and Resources

Updated 1/23/2008 with AMP socket connector part numbers (which some people find easier to hand assemble than 3M, but they are more expensive), and a bit more on MCAD.

A list of the parts and resources needed for the FP-SMC-1 Interface PCB. The Phoenix parts are available from a number of sources, including Digikey, but Mouser (who I will use) and Online Components sell them in small quantities.

Software:

  1. Eagle PCB. I’ll be using the Light version (free for non-commercial, $49 for commercial).
  2. Viewmate from PentaLogix, which is a free Gerber viewer.
  3. Alibre Design Xpress which will help check the mechanical side of the PCB (free). If time allows, I’ll cover other options for checking the mechanical fit of the PCB.

Board Houses:

  1. Sierra Proto Express
  2. Possibly SparkFun/BatchPCB (can be cheaper for 1 PCB)

Bill of Material for circuit board (excluding PCB):

  1. 4 Pin Header 10 pin (2×5) AMP 5102321-1
  2. 1 Pin Header 26 pin (2×13) AMP 5102321-6
  3. 15 Phoenix ZFK3DS 1,5-5,08 Terminal Block (Part Number 1704415)
  4. 1 Phoenix ZFK3DSA 1,5-6,08 (click on Additional Products) End Terminal Block (Part Number 1704554)
  5. 3 Phoenix ZFKDS 1,5-W-5,08 Terminal Block (Part Number 1706714)
  6. 1 Phoenix ZFKDSA 1,5-W-7,62 (click on Additional Products) End Terminal Block (Part Number 1706730)
  7. 2 Phoenix UMK-FE DIN rail feet (Part Number 2970031)
  8. 2 Phoenix UMK-SE 11,25 side elements (Part Number 2970002)
  9. 2 Phoenix UMK-BE 45 base (Part Number 2970015)

Bill of Material for cables:

  1. 8 IDC Socket Connectors 10 pin (2×5) 3M 89110-0101 or AMP 1658621-1
  2. 8 Strain Reliefs 3M 3448-89110 or AMP 499252-5
  3. 2 IDC Socket Connectors 26 pin (2×13) 3M 89126-0101 or AMP 1658621-6
  4. 2 Strain Reliefs 3M 3448-89126 or AMP 499252-3
  5. Ribbon cable 26 conductor AWG 26/28 0.050″ pitch (available from 3M and others, length depending on your need)
  6. Ribbon cable 10 conductor AWG 26/28 (available from 3M and others, length depending on your need)

Tony

July 26, 2007   No Comments

Making An Interface PCB I – Introduction

This series describes how to have a PCB made for factory equipment from start to finish using a real board. I am not going to concentrate on the details of the PCB layout software (there are plenty of tutorials available for that), but instead cover details such as getting the right output out of the PCB layout software.

I am going to design a PCB that could be useful in a machine, using components I like. You should be able to learn from this example to design your own low cost board. The PCB will be designed to interface a Panasonic FP0 or FP Sigma PLC to a SMC pneumatic manifold. I am naming the board FP-SMC-1.
The board interfaces 16 PLC outputs to a SMC 26-pin header manifold. SMC uses this design on various manifolds that can have up to 12 stations, and each station can use 1 (for single acting) or 2 (for double acting) outputs. In my board, I use up to 8 stations; all of them can be single or double acting.

The board interfaces 16 PLC inputs to terminal blocks, so you can have two limit sensors (extended, retracted) for each pneumatic cylinder.

The board has a four power terminals, two +24V and two GND. Providing extra 24V and Ground connections allows the board to power another board.

The board mounts on a Phoenix UMK DIN-rail holder. I have successfully used the UMK series before. Phoenix also provides 3-D models, which is useful.

I will be using Eagle PCB to create the schematic and layout the PCB. I will be using Sierra Proto Express as the board house. I plan on investigating the creation of a 3-D board model.

Tony

July 9, 2007   No Comments

Leveraging the PCB Proto Industry

In the past, Printed Circuit Boards were not a good choice for small volume machines because you had to pay significant Non-Recurring Expenses (say $500), and then buy 100 boards or so. If your design changed, well, all the boards in stock are now useless. If you make a mistake (somehow very easy to do with connectors), well, you either have to fix it (if possible) on all those 100 boards or throw them out. I’ve seen both problems first hand.

I still use break out boards and DIN-rail mounted terminal blocks for prototypes. Now with all the PCB prototype houses available, you can buy PCB’s in very small volumes with no NRE, so it makes sense to look at making PCBs even for very low volume designs. For example, with a credit card, for $96 plus shipping I can get, in four days, from Sierra Proto Express three double layer boards of the same design up to 60 sq in each (update 9/27/07 – well, Sierra’s changed their No Touch a bit; they claim the new pricing is even less expensive).

The idea is to design custom circuit boards to interface between my components (sensors, pneumatics, etc) and my I/O to reduce assembly time, improve reliability, and reduce troubleshooting. The PCB’s are mounted in DIN Rail holders.

Designing a simple 2 layer interface PCB is not that hard. For the first time through, you will need some help learning how to set everything up for the board house.

PCB software appropriate for creating interface PCBs ranges in price from free (e.g. PCB 1-2-3, gEDA) to $1200 (unlimited version of Eagle PCB).

DIN-rail mount PCB holders are available from a number of sources. Two companies with a good selection of products are Phoenix Contact (especially UMK and UM series) and Weidmuller. I’ve used Phoenix Contact’s UMK series.

Phoenix, Weidmuller, Wago, and others make a wide variety of PCB mount terminal blocks including screw, clamp, and IDC. IDC terminals are very nice if the wire size is in the right range. Good sources for small volume electronics parts include Digikey, Mouser, and Jameco.  Mouser typically has Phoenix products available in smaller quantities than Digikey.

Tony

June 10, 2007   No Comments