Merging modern software development with electrons and metal

Random header image... Refresh for more!

USB Digital to Analog Converters with Timed Outputs

Recently, I had what seemed like a simple task: select a DAC (digital to analog converter).  There are hundreds of models, so it should be easy, especially since most of my requirements were not demanding (1 channel, 12-bit or better, 1KHz output rate, 0-10V, low jitter output, and reasonable cost, hopefully <$500).   Even my low jitter requirement wasn’t demanding; I’d be happy with 100 microseconds of jitter; basically, any unit with a decent FIFO buffer and a hardware timed DAC update should work.

But finding candidates was a lot of work.  Early on, I concentrated on USB DAC models, because they have sufficient speed, are self-powered, tend to be reasonably priced, and don’t need a PCI or PCIe slot.

I’ve used Measurement Computing before, so they were one of my first stops.  It was really hard to find exactly which models have FIFO buffers and hardware paced outputs.  I had to do a lot of searching — and reading the full manuals.

The cheapest Measurement Computing model that met my requirements is the USB-1208HS-2AO, which is overkill ($599, high speed USB 2.0, 2 12-bit analog outputs at 1MHz, DAC has 4K FIFO buffer).  As far as I can tell, nothing cheaper has a FIFO buffer for the DAC.

Data Translation wasn’t much better; I had to dig through the detailed specs PDF to discover that the DT9812-10V meets my requirements, and has a 2K FIFO buffer.  It’s $375; DIN Rail mounting is an extra $60.

The final contestant is the Accesio USB-DA-12-8A, which has a 128K samples buffer.  It’s $525; DIN Rail mounting is an extra $19.

For my application, the Accesio looks the best fit; it more than meets all my requirements, I like the large buffer, andI like the DIN Rail mounting option.

February 11, 2010   No Comments

The SolidWorks World Effect? Alibre’s Lower Prices, VX 50% Sale

SolidWorks World 2010 just finished.  Maybe it’s a coincidence, maybe it’s not, but at the start of SolidWorks World Alibre announced “permanent” lower prices (no guarantees they won’t change prices again, but I suspect they’ll stay the same for a while).  And VX has just about everything 50% off until March 1.

Alibre’s prices now include Alibre Translate (which was $499).  (Alibre pricing info via World CAD Access).

Alibre Product Base Price Annual Maintenance With Maintenance
Design Standard $97 $97 $194
Design Professional $497 $147 $644
Design Expert $997 $197 $1197

VX’s current sale (through March 1, 2010) is VX Innovator for $495, VX Designer for $2000, VX Mold & Die for $3000, VX 3D Machinist for $4000, and VX End To End for $5000.

VX definitely looks more capable than Alibre, but it’s significantly more expensive (including, I’m sure, the annual maintenance fees).  So far, I’ve been able to do some things in VX Innovator I can’t do in Alibre, but Alibre has very few license restrictions.  For example, VX Innovator limits assembly creation to 40 parts maximum (it can import models with more), while Alibre Design Standard does not have any hard limits.  Also, Alibre lets you install Design on up to three computers, which is very nice for those of us with multiple PCs.

I think that if you do anything with 3D solid modeling (not surfacing), then Alibre is definitely worth a look due to its low price, lack of artificial limits, and good import/export options (especially now with Alibre Translate).  If Alibre can improve the ease of use, maybe it can become what SpaceClaim originally claimed to be: MCAD for the rest of us (non-designers), people who need to occasionally work with 3D, but aren’t designing complex parts all day long.

Right now, I’m still sticking with Alibre Design Standard V11 and VX Innovator; if I do a lot of CAD this year, I’ll look at upgrading to Alibre V12.

NOTE: Updated 2/4/10 to reflect Max Freeman’s comment.

February 3, 2010   4 Comments

Mechanical CAD, Special Deals, and Me

When I look at my traffic stats, I see there’s a lot of interest in affordable mechanical CAD.  I think that interest is good: I do not believe in pirating software, and I believe there is a place for affordable MCAD (and affordable CAM for desktop CNC machines), especially for personal use and as a tool for people who aren’t primarily mechanical designers.

I own licenses of Alibre Design Standard V11 (which I bought during the $99 sale) and VX Innovator V14 (which I bought on sale for $195).  I also have free licenses for DoubleCAD XT and CoCreate PE.

I mainly plan on using Alibre and VX Innovator, and reporting my experiences here.  They are somewhat complimentary; Alibre is a pretty standard history-based parametric modeler (with some nice features such as Acrobat 3D output), and VX is a hybrid modeler (solid and surface).

DoubleCAD looks very capable for 2D CAD, but I don’t expect to use it a lot.  I mainly use it for viewing and experimenting with DXF files created by Eagle PCB.

I do like CoCreate PE, but don’t plan on using it much now that I have Alibre Design and VX Innovator.  It’s limited to 60 parts per assembly, which I could easily exceed when modeling a PCB, and cannot export STEP files.  PTC has offered some very big discounts in the past to upgrade to the full version, but the annual maintenance  cost is way too high for my budget.

However, this is not a MCAD blog; my interest in still primarily in automation software and system integration (including PCBs).  OK, I do plan on writing more, but mostly I want to write about my experiences with affordable MCAD.  I do not have the time or interest to keep up with all the latest deals.  But I still might mention deals or MCAD news occasionally.

If you want to keep up on the latest special offers, you should visit MCAD sites such as Deelip.com and World CAD Access.  Also, if you register for the free versions (e.g. Alibre Design Xpress, CoCreate PE, DoubleCAD XT) you will receive e-mail offers.

Alibre has had a lot of good deals (maybe too many).  I’m currently sticking with V11 because I haven’t used it enough, and the improvements in V12 aren’t compelling for my uses.

VX had another sale on VX Innovator around Christmas, but they aren’t as good at marketing as Alibre; if you’re interested in a deal on VX, you should check their web store frequently.

Kubotek has had some sales, too, such as Kubotek Spectrum for $99; current deals include $700 off KeyCreator.

My latest MCAD news is here.

January 14, 2010   3 Comments

My Hopes for 2010

My blog plans for 2010 are my blog hopes for 2010 because it will  be challenging to do them all.

What I’d really like to do:

  1. More software development posts, including real world examples of what can go wrong (and right — but wrong is more funny)
  2. Finish my current PCB series
  3. Start a series on real world system integration using CANOpen and AMC DX15C08 servo drives
  4. Improve the site, including adding a blogroll and maybe changing the theme

Other hopes include:

  1. A bit more on mechanical CAD software
  2. More automation product posts
  3. Embedded development experiences with my new toy (and how it could be useful in a factory environment)
  4. Get rid of my backlog of draft posts (currently > 30)

January 5, 2010   No Comments

Christmas Kit Fun

Stellaris Eval Kit box

Stellaris Eval Kit box

I now have a TI Stellaris LM3S8962 evaluation kit.  Specs include a 50MHz Cortex M3 core, 64K on chip RAM, 256K on chip flash, 10/100BaseT Ethernet with IEEE-1588 support, CAN, a 128×96 OLED, a virtual serial port (via USB), and JTAG (also via USB).   It’s pretty amazing that a commodity (<$10) MCU is much more powerful than the first personal computers such as the Apple II, Commodore 64, and CP/M systems.  (I’ve always thought it would be interesting to see how CP/M would run on a 50MHz Zilog eZ80, which should be about 200 times faster than a 4MHz Z80).

I like TI’s packaging: they stick everything into the box using two-ring CD-ROM holders.

Unboxing LM3S8962 kit

Unboxing LM3S8962 kit

Below is a picture of the board running an eLua demo program.  eLua is a reduced size version of the Lua scripting language that can run on many MCUs.

eLua on the LM3S8962 kit

eLua on the LM3S8962 kit

January 2, 2010   No Comments

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

New Micro PLCs Go In Different Directions

It’s interesting to compare and contrast new micro PLCs from Siemens (S7-1200) and Panasonic (FP0-R).  Both are compelling upgrades from the previous series (Siemens S7-200, Panasonic FP0), but while Siemens adds Ethernet connectivity, Panasonic adds a USB port.

The FP0-R series looks like a direct replacement for the FP0, but with more: more memory, faster instructions, faster counters, and faster pulse outputs.  The biggest upgrade is a USB port, which is very nice: no custom programming cable required!  Or save some money: I like to use PLCs with two comm ports, one for communicating with the PC, and one for debug.  With the added USB port, I can use a PLC with one serial port, saving about $30, and use the USB port for debug.

I hope Panasonic has improved the USB port speed; I’ve heard that the FPX series uses an internal serial/USB bridge, so the USB port is limited to a wimpy 115,200 bps.

The FP0-R still isn’t as capable as the FPG (FP Sigma) series, but since it’s the same price as the FP0, I’m already looking at changing over from the FP0 to the FP0-R.

The Siemens S7-1200 models appear similar to the previous S7-200 models, but with more: more memory, more analog (even the base models have analog inputs), faster instructions, faster counters, more expansion (using signal boards) and faster pulse outputs.

What’s wonderful?  Siemens added an Ethernet port with Profinet and standard TCP/IP capabilities.  Networked devices are so much more convenient and useful than PC-connected USB devices.  For example, Profinet should make it simple and inexpensive to create a peer to peer PLC network, in addition to high speed communications to HMIs.  You have to add expensive networking modules to create a Panasonic PLC network.

The S7-1200 CPUs include other goodies, such as room for extra boards on the base CPU (for extra comm ports or wimpy (2DI/2DO or 1AO) I/O boards), 1M flash memory for extra (non-program) storage, and a proprietary memory slot.

Unfortunately, Siemen’s STEP7 Basic software currently only includes Relay Ladder Logic and Function Block programming; Panasonic’s FPWinPro supports all five IEC61131 languages, including my favorite: Structured Text.

Like the previous S7-200 series, base models have limited expansion: no signal modules for the 1211, 2 for the 1212, and 7 for the 1214.

The Panasonic FP0-R PLCs are much smaller; the transistor output models use high density box header connectors , while Siemens provides screw terminals.  I much prefer the box headers, since I can easily make a cable to a custom PCB breakout board.  It’s hard to wire directly with screw terminals without additional terminal blocks (for extra power and ground, etc).

The Panasonic FPX series are more like the S7-1200, since they also use screw terminals and provide room for plug in modules.

Excluding communications (USB vs Ethernet), the S7-1200, FP0-R, and FP-X are all similar in capabilities and price (IIRC, S7-1214 DC/DC/DC, FP0R-C32CT, and FPX-C30TD are all about $280, while the FP0R-C32T is about $245).

Which will I use?  I’d love to try out the S7-1200, but for my current projects the FP0-R and FPG are a better fit, since they support Structured Text and use box header connectors.

The S7-1200 is pretty close to a no-brainer if you need Ethernet:  Panasonic’s Ethernet module (FPWeb2; ~$430) alone costs more than a S7-1214 CPU; Automation Direct’s Ethernet modules start at $175, and you still have to add the PLC CPU.

I plan to write about this in more detail: I think micro PLCs are a great alternative to PC I/O options such as PCI boards from Advantech or USB modules from Measurement Computing.  The PLC’s cost the same or less for 24V I/Os, and have the advantage of being programmable — it’s nice to have the PLC handle some I/O, while the PC handles the rest via serial, USB, or Ethernet communications to the PLC.

Final notes:

  • Panasonic has gone backwards by not listing prices and requiring registration to download PDFs.
  • If you’re interested in the S7-1200, talk to your local distributor to see if they have a package deal.  For example, in Silicon Valley, E&M periodically offers 1 day introductions with a nice deal on the S7-1211.

October 29, 2009   No Comments