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

Category — Products

Packt Publishing’s Yearly $5 e-book sale

Packt Publishing is having their annual $5 e-book sale, from now until….hmm, I’m not sure when.  For me, it’s a bit like going to Daiso:  hey, it’s cheap, so let’s get this, and this, and….what, I spent that much!  In my case, I just spent $50 for 10 e-books on a variety of topics.  All e-books are available in PDF; many are also available, for no additional charge, in ePub, Mobi, and Kindle formats.

Packt’s books are primarily oriented towards software developers and IT.  I recommend browsing the table of contents and checking Amazon for reviews before buying; I’d say their quality is more uneven than another favorite of mine, Manning.

Some notes of what they have that I’m interested in:

  • Lots and lots of books on Python and related topics such as SciPy.
  • A good selection of maker/hobby/embedded books on the BeagleBone, Raspberry Pi, Arduino, OpenCV, ROS (Robotic Operating System) and such.
  • Some interesting .NET books on C#, WCF, and such.


December 16, 2016   No Comments

One Reason I Love Automation

Parker Bayside R100D

Parker Bayside R100D

One reason I love automation is that I get to play with cool stuff like this Parker Bayside rotary stage.  It’s a jewel; besides have cool specifications, it just feels so good in my hands – and looks beautiful.  The LED angle display is another groovy touch.

There’s a little history behind this purchase.  Many years ago, I got to evaluate its big brother, the R200D, at work, and fell in love.  Unfortunately, the R200D didn’t work out for that application, but when I saw this R100D at a semi-reasonable price (and much cheaper than new, which would around $4,000), I couldn’t resist.

It’s a direct-drive rotary stage, so there are no gears, just a big brushless servo motor, bearings, and a super high resolution encoder.  One down side of the direct drive is that the rotary table can spin when there’s no power, which can be a problem.

For initial testing, I connected it to a Copley Accelnet ACP-055-18 with a Logosol LS1148 power supply, and used Copley’s automatically generated parameters.  That doesn’t seem like the ideal combination; either I need a different drive with a higher voltage power supply, or I need to do some serious tuning.

Another reason I love having this stage is that it’s so different from all the other motors I own.  For example, it has 12 poles (all my other motors have 4 or 6 poles), and an inductance of 50 mH.

Blog Notes

Since many of my posts take quite a bit of work to create (especially the series posts, such as the Robot Primer), I am going to try to reduce the size of each post so I can provide more frequent content updates.

November 14, 2014   No Comments

Common Equipment Failures

Most of the time, industrial equipment is rock solid.  However over the years, I’ve noticed a tendency for certain products to have characteristic failures or problems.  Examples:

  • MEI PCI/DSP Motion Controllers and blown I/O.  The PCI/DSP is pretty expensive motion controller, and as befits its price, has opto-isolated I/O, but the general purpose I/O is not protected against over current, so anything over say 20 mA will kill the opto-isolator.  The result: blown I/O and, if you’re lucky, a $500 repair bill.  We learned pretty quickly to make sure we always had appropriate current limiting resistors.
  • AMC DX15 and DX60 CANOpen servo drives have the blinking red light.  The drive powers up, the red light starts blinking, and the drive stays mute: it will not communicate over the CAN bus (and there’s no alternate port to try).  I’ve done some troubleshooting, but haven’t made any progress.  Of all the DX15/DX60 drives I’ve bought from eBay, probably about 50% had this problem (yes, an unfair sample, since the good ones are less likely to get on to eBay.  AMC is a good company, but this record indicates that the DX has a design weakness).
  • Parker ACR9040 Motion Controllers seen to have an easily blown 24V power supply, based on eBay: I’ve seen a few advertised as “won’t power up”, and I bought one that was in “unknown condition” that won’t power up (its physical condition is fine).  I’ve spent a little time troubleshooting, but haven’t found the problem yet.  On the plus side, I’ve enjoyed taking it apart and looking at Parker’s design decisions.
  • I’ve also had bad luck with Elmo servo drives off eBay, with only 1 of 3 working.
  • I have a number of old servo drives with broken halls or broken encoders.  My guess is too much heat for the halls, and too much mechanical shock for the encoders (one even had broken glass).

Now it’s time for some screw-up stories that were totally operator error:

  • One day many years ago, as I came in the back door, I was greeted by blue fireball about 1 foot in diameter.  A tech was live troubleshooting a variable speed conveyor motor, and accidentally shorted out the motor driver, causing the fireball and the top of a driver chip to vaporize.
  • More recently, I was going to measure the current supplied by an AMC PS300 unregulated linear power supply, but had my probes setup wrong, so I shorted across the power supply.  Result: a welder!  The meter and power supply survived, but my meter probe tip melted.
  • I had a weird problem with a FP-Sigma PLC output partially failing.  The PLC’s light was coming on, but the relay driven by that output wasn’t.  The problem was that Common at the relay coil was about 2V different from the PLC’s Common, and over time that destroyed the PLC’s output.  On the other hand, I’ve shorted Panasonic PLC’s (easily if you accidentally swap the input and output cables) and they’ve always survived.


October 22, 2014   2 Comments

Frustrations: Synchronizing Position and Analog Data

Even with all the companies out there making industrial components, sometimes it’s still hard to find ready made solutions.  I’m working on a project where it would be very useful to have synchronized data acquisition and encoder position, at a reasonably affordable low volume price (say <$500), and I haven’t found much.

My system includes:

  • A custom sensor board that also has quadrature encoder inputs that it can read synchronized with the sensor (but, alas, no analog inputs).
  • A servo motor with high resolution (80,000 counts/rev) differential quadrature encoder and a maximum speed of 3000 RPM.
  • A force sensor with analog voltage output.

My requirements include:

  • Acquisition of motor position, custom sensor data, and force sensor data, synchronized to a millisecond or better.
  • Acquire analog force data at least 250Hz (1000 Hz preferred).
  • Encoder inputs need to handle at least 400KHz (5 RPS / 300 RPM), with 4MHz preferred, with a 32-bit position counter.

Expensive Solutions

If price isn’t an issue, I’m sure there are a variety of solutions, including Aerotech’s Sensor Fusion (specifically designed for synchronizing motion and data acquisition); other likely candidates include PXI and NI’s CompactRIO.

USB Data Acquisition Boxes With Encoder Inputs

Measurement Computing and Data Translation do make USB DAQ systems that have both analog inputs and quadrature inputs, if you’re willing to pay well over $1000.

The only semi-affordable USB solution I found is the JF-ENCA-11 from a small British company, Protura.  Its maximum sample rate is more than 1KHz, and it can handle multi-MHz encoders.  Although its price is substantially under $1000, it’s still signficantly more than my target price.

LabJack’s systems do have analog and encoder inputs, but the maximum quadrature encoder rate is very limited; for streaming data, 7KHz for the cheaper models, and 30KHz or so for the more expensive models.  However, they do have some interesting products, including very affordable USB ($108 and up), USB and Ethernet ($399 and up) and USB, Ethernet, and WiFi ($499 and up) models.  The T7 also has Lua scripting (in Beta).

Using USB Data Acquisition Systems With Counter Inputs

Another possible approach is to convert the quadrature signal into an up/down counter signal, using a simple custom circuit or a dedicated chip like the Avago HTCL-20xx or the LSI/CSI LS7x83. Unfortunately, all the affordable models from Measurement Computing, Data Translation, and LabJack that combine analog inputs with counters only support up counters (not up/down counters).

Dataq’s units, such as the DI-155, do support up/down counters, but the maximum rate is a wimpy 5KHz.  On the good side, the DI-155 has a wide input range (+/- 50V for analog, 30V for digital I/O).  Other interesting Dataq products include the DI-710-EH ($599 for an affordable Ethernet DAQ), and the DI-718B (with built-in slots for Dataforth DI-8B signal conditioners).

The Result

I’ve had a frustrating time searching, partly because I really have to dig to find out whether a unit will work or not, and in the end I’ve come up empty-handed.

However, there may be a solution: use a DAQ unit with a SYNC output signal, meant to synchronize multiple analog data acquisition systems (I’ll probably use the MCC USB-1408FS-Plus, which has a SYNC output).  The SYNC line toggles once for every acquisition taken; if I can convert it to a quadrature signal, and input that to our custom board’s encoder input, then I can match up the DAQ sample number with the motor position and custom sensor reading.  US Digital used to make a up/down counter to quadrature unit, but it is now obsolete, so I’m currently investigating making my own.

September 3, 2014   No Comments

Electrical Schematic Software For Automation

My Trac page on electrical schematic software for automation is finally in a usable state.  It’s a list of the programs I found when researching a replacement for Via Wiring Diagram, and I hope it’s useful.

For more information, you can do a web search based on the product names and get opinions (especially at places such as  Before I would spend the kind of money typically required, I would get a trial version and create a sample schematic.

July 23, 2014   1 Comment

Leuze and Sick Safety PLCs

I like simplicity, but sometimes complexity is unavoidable.  Recently, I had to re-design a safety system to meet SEMI S2 requirements without destroying the customer’s parts.  Unfortunately, meeting both requirements required a more complex safety system than a traditional fixed safety controller, so I had a choice: add complex wired logic to our current safety controller or move to a programmable safety PLC.

The choice was easy: go for an expandable safety PLC because:

  1. The safety PLC is much more flexible.
    1. If someone finds a problem in the safety logic, it’s easy to update: just send out the update to certified techs to update, instead of re-wiring every machine.
    2. If we need to add a new feature, again it’s an easy update instead of laborious re-wiring.
    3. If a new feature requires additional inputs or outputs, we can always add a new I/O module, and keep the wiring simple.
    4. We can handle different customer safety requirements by changing the Safety PLC software, while the base hardware stays the same.
  2. The safety PLC is much easier to build: it’s straightforward wiring to inputs and outputs, instead of criss-crossing wires trying to implement safety logic.  My feeling is that the safety PLC probably saves money, too, because although the initial cost may be higher, we will have far less wiring problems (and they’ll be easier to troubleshoot) and troubleshooting problems always takes a lot of time.

On the other hand, the price of most safety PLCs is really scary: I don’t need a super-fancy, networked über-safety PLC.  So I checked out my list of usual suspects plus did a lot of searching, and came up with two candidates I really liked: the Leuze MSI-202 and the Sick Flexi Soft.  (Actually, maybe I found 4, since the Phoenix PSR-TRISAFE looks just like the Leuze, and the Mitsubishi WS is the same as the Flexi Soft, except it costs more.)

Despite their list prices, both models are <$1000 when configured with 8 outputs.  Both have free software (big kudos to Leuze and Sick!).  Both software programs include a simulator (which is really helpful both for both evaluation and developing).  Both are expandable, which is essential (I’ve been burned too many times by non-expandable systems).

The Leuze MSI 202’s advantages include:

  • It has more inputs.  The base configuration is 20 safe  inputs, 4 safe outputs, and 4 monitoring (non-safe) outputs; each expansion module adds 8 inputs and 4 outputs (or, if you want, 12 inputs / 0 outputs) and 2 monitoring outputs.  The Flexi Soft’s controller has no inputs; each XTIO module add 8 safe inputs and 4 safe outputs.
  • Monitoring is much easier: you can install the software (for free), open the project, enter the project password, and then monitor the project’s internal state (downloading a project requires knowing the PLC’s password).  I like this feature because it can make troubleshooting in the field much easier.  The Flexi Soft doesn’t have an equivalent.

The Flexi Soft’s advantages include:

  • More flexible communications.  You can read and write from a block of memory (not the safety area!), while the Leuze only uses standard digital I/O.
  • Better network support.  The Leuze only supports Profibus-DP via an add-on module, while the Flexi Soft supports Sick’s Flexi Line protocol on some models (which could handy if you’re using other safety equipment from Sick), and,via 7 different add-on modules, CANOpen, DeviceNet, Ethernet/IP, EtherCAT, Modbus/TCP, Profinet, and Profibus-DP.  Note that neither PLC supports networked safety.
  • The Flexi Soft has a greater range of expansion modules.  The Leuze only has one type, while the Flexi Soft has four types.

For my application, the Leuze MSI 202’s advantages were important (I needed 20 inputs), while the Flexi Soft’s advantages were nice, but not necessary.

Some final notes based on using the MSI 202:

  • Overall, the project has gone well.
  • The simulation feature has been very useful trying to get my software written before the machine was wired.
  • The software seems a little slow, and has its quirks, but overall it’s been very usable.
    • I’ve especially learned to be patient when downloading the project to the PLC.  I’ve found it works better to wait until the CFG light blinks before pressing the Confirm button.
  • Safe Function Blocks such as EDM take up a lot of memory, as does the base configuration.  However, even with a reasonably long program, I’m only at ~50% memory used.
  • Communications is via a standard 5-pin mini-USB connector.
  • I choose the version with spring clamp terminal blocks; I really like Leuze’s choice of terminal blocks.  They’re easy to operate terminal blocks with two connections per terminal — really nice!
  • For some reason, Leuze USA is behind the times; if you want the MSI 202 manual and the latest software, go to the Leuze’s European web site (which I linked to at the top).
  • SEMI S2 requires an EMO switch with no software involved, not even a safety PLC.  I still wanted to do EDM (external device monitoring) on the EMO circuit, but the standard EDM Function Block is designed for the safey PLC to control the contactor’s coil, while I have to have EMO switch control the coil.  I was able to work around this with my own EDM logic.

November 22, 2013   No Comments

Interesting DAQ Deals

I think the data acquisition (DAQ) market could use some new players.  For example, affordable but low jitter USB D/A converters do not exist, and Ethernet DAQ systems seem stuck in the stratosphere.

However, I recently come across a couple interesting products that are quirky, but would make a great fit for the right application:

  • The Dataq DI-145 is, at $29,  probably the cheapest USB A/D converter available.  It has a lot of limitations (such as maximum 240Hz sample rate, fixed +/- 10V input range, and 10-bit resolution), but the price is hard to beat.
  • The Data DI-149 adds substantially more capabilities (such as 10KHz maximum sample rate) for a mere $59.
  • The Digilent Analog Discovery Lab is the most affordable high speed DAQ system I’ve ever seen, with dual 14-bit 125MSPS A/D and D/A converters.  Regular price is $199.  The documentation is pretty sparse; apparently right now it can only be used with their free WaveForms software, but supposedly they are working on an API so you can use it with your own program.


November 26, 2012   No Comments

Make a Panasonic FP0 Power Cable (AFP0581 Replacement)

PLC Power Cable Parts

PLC Power Cable Parts

I recently bought a FP0-A21 analog I/O unit and since it didn’t come with a power cable, I decided to make one.  Because Panasonic does not provide any part numbers, I had to do a little detective work and searching on Digikey to figure out what to use: Molex 51067 series connectors with Molex 50217 series contacts.

The Panasonic part number for the cable assembly is AFP0581; it is used on the FP0 PLC’s, FP0-A21 analog I/O units, FP Sigma PLC’s, and possibly more.

My parts list is simple:

  • 1 Molex 51067-0300 housing
  • 4 Molex 50217-8000 18-24 AWG tin crimp sockets (I like to get at least one extra just in case I screw up).
  • Brown, Blue, and Green 22 AWG wire.

I found an appropriate crimper, and matched the same order as my existing power cable (see below).

PLC Power Cable Wires

PLC Power Cable Wires

Note that like most crimp connectors, the crimp socket can only fit in one way; hopefully the picture below will help.

Connector Closeup

Connector Closeup

October 14, 2012   No Comments

The Value of an 11″x17″ All-in-One Inkjet

We just received a Brother MFC-J6910DW 11″x17″ All-in-one printer/scanner/fax machine at work.  Its primary value is for electrical schematics: letter size schematics are hard to read; color ledger sized print-outs are so much easier to read.

The Brother isn’t perfect; for example, the output tray is a little cheesy (basically, there isn’t one: the paper is output on top of the #1 paper tray).  But the value is incredible; ledger-sized color lasers are well over $1,000, while the inkjets are less than $300.  Features include:

  • Semi-reasonable ink prices (based on manufacture’s claims, the MFC-6910DW is ~$0.035/page, while the WF-7520 is ~$0.06/page).  Third parties make much cheaper compatible cartridges.
  • Two 250-sheet paper trays.
  • Automatic duplex printing
  • USB and network (wired or wireless) connections
  • Automatic duplex scanning for letter size paper using the ADF
  • 11×17 scanning and copying.

I was also very impressed with the Epson WF-7520, which has similar features.  You’ll need a lot of space for either model.

I plan on doing an update after we’ve used the beast for a couple months.  If you’re designing automation equipment, and are stuck with a letter-size printer, I highly recommend taking a look.

Update 2/5/2013: the Brother was a good buy; it’s so capable we only use a subset of its features.  Here are some assorted comments:

  • The XXL ink tanks are definitely worth it; they really do last a long time.
  • The scan to USB thumb drive feature is very handy.
  • It’s not as fast as a traditional copier, but it’s faster than the HP All-in-ones we have.
  • The output “tray” is still cheesy.
  • We have to be careful loading letter paper, or it will jam frequently.  If we make sure the paper has been fanned, and place load it carefully, then the printer rarely jams.
  • Sometimes it’s difficult figuring out how to get it to do what you want, e.g. automatically scale from letter size original to ledge size copy.
  • I haven’t tried photo quality on it, and doubt I will — we have a Canon ink jet for photos.


June 28, 2012   No Comments

Colored Cherry Keys

Blue, White, and Black Cherrys

Blue, White, and Black Cherrys

As I’ve mentioned before, I’m planning on getting a keyboard with mechanical Cherry keys.  I had a challenge: how to figure out color to get?  For example, the Leopard keyboard is available with Brown, Blue, Black, Red, Clear, or White keys.  (The Cherry color refers to the stem color, as you can see above, which indicates the feel of the key.)

Since I don’t feel like ordering and returning a whole bunch of keyboards, I added the readily available colors to my most recent connector order; Mouser and Digikey sell the individual switches for $1.00-$1.50.

Even without a key cap, I can tell my order of preference:

  1. It’s Blue for me.  I really love the feel of the blue button; it has a great tactile break-over feel, with a satisfying but not too loud click.
  2. The White is OK; it has some break-over, and is quieter than the blue.
  3. I’ll pass on the Black for typing; it has a linear response, and just feels “blah” for typing.

So now I’m comfortable with a choice of Cherry Blues, for less than the cost of returning a keyboard.

Update 7/2/2012: when I wrote this, I couldn’t find the Cherry key switch guide.  Apparently, it’s gone, but has some good info on mechanical keyboards, including the various flavors of Cherry switches.

May 31, 2012   No Comments