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

Category — Machine Design

Best Design Software For Automation PCBs?

I believe creating custom break out PCBs for automated equipment is often a very good idea.  In fact, I’m getting ready to design several new ones that will replace a lot of laborious hand wiring.

However, if you have never created a PCB before, it can be pretty scary, with complex design software (that has to handle fine pitch surface mount packages at high speed), design rules, different Gerber formats, all kinds of questions from the PCB fab house (1 oz copper?  2 oz copper? HASL?) and all that.

Designing a typical automation break out PCB shouldn’t be that hard, since the requirements aren’t complex: through hole parts, low speeds, large traces, etc.  (OK, if you need to handle a lot of current, you have to start calculating and think about fancier boards).  The problem is finding a tool that can handle these simple requirements with simplicity.

I don’t know which software is best; I’d like to hear about any real world experiences.  If I had time, I’d like evaluate different PCB software from an automation OEM’s perspective, but that’s not going to happen for a while.

My suggestions right now are:

  • Look at popular hobby-oriented software; it’s likely to be simpler or have more support.  For example, although both Eagle PCB and KiCad are still pretty complex, there is a lot of support available on-line, and a substantial number of board houses will accept Eagle board files (so you don’t have to deal with Gerbers and such).
  • On-line (“cloud”) software such as 123D Circuits or Fritzing might be a viable option:  I’m pretty sure they’re a lot simpler than Eagle and KiCad, but I haven’t done enough research to know if they can create good break out PCBs.
  • Consider an integrated solution, using software provided by a PCB board house (such as PCB123 from Sunstone).  You might pay more and loose some flexibility, but gain simplicity.

February 7, 2014   5 Comments

Notes On Creating The End Effector

I created my end effector mostly using “Spaceclaim Light”, officially known as DesignSpark Mechanical (DSM).  Since my goal was to create something I could use as quickly as possible, I have not spent the time to become an expert user.

The DesignSpark Mechanical Background

Electrocomponents (parent company of RS Components and Allied Electronics) offers a variety of free tools and other design resources (such as forums) on their DesignSpark website.   The most impressive tools are:

  • DesignSpark PCB, based on Easy-PC from Number One Systems
  • DesignSpark Mechanical, a carefully cut-down version of SpaceClaim.  DSM is a very powerful program, but lacks key features (such as useful import and export formats; assembly constraints also appear to be missing) needed to replace SpaceClaim, SolidWorks, SolidEdge, and such for hard-core mechanical design.  On the other hand, with features such as IDF import, DSM appears to be a good match for creating 3D PCB designs.

Electrocomponents is betting their costs will be more than covered by increased component sales and much better awareness (in other words, I’d say the cost of is a much better use of marketing money than direct advertisements).

Creating Parts

Creating parts in DSM reminds me of creating parts in SketchUp, except that SketchUp is really oriented towards architecture, while it’s clear DSM is meant for mechanical design.  I like being able to easily input exact dimensions.  It’s neat being able to push and pull 3D parts.

I didn’t have much difficulty creating my simple parts.  The hardest was figuring out how to create the cones for the vacuum grippers (I created a triangular sketch, then revolved it 360 degrees around the center axis – it did take a few experiments to figure out the exact sequence of mouse clicks).

I’m still not a fan of the Microsoft ribbon interface.  I don’t care for it in MS Office, and I don’t like it any better in DSM.

Assembling Parts

Well, my parts aren’t really assembled.  I got so frustrated trying to assemble them I was tempted to go back to Alibre Design (now Geomagic Design), but since this isn’t a real design, I just moved them by eye until I was happy with the layout.

At least you can move components (groups of parts) by selecting the top level component; if you’re not careful, you’ll end up moving just a part of the component.

Since DSM is so new, there is very little community support, and the documentation is pretty skimpy.  All I could find on making assemblies is this brief tutorial (see Section 3; I’m pretty sure all that’s happening is the part is moved, with no constraints) and in the FAQ (see How Do I Make Assembly Models?).

What I want to do is set assembly constraints such as making planes parallel, aligning axes, and such.  From my searching, it appears SpaceClaim has an assembly constraints toolbar; I couldn’t find anything similar in DSM.

Getting The Result Into WinCAPS III

I will be using my model in the Denso WinCAPS III robot simulator, which can only import DirectX and VRML files.  As is typical of most MCAD software, DSM does not export to VRML.  However, it does export to STL, and fortunately there are a number of STL to VRML converters.

I used meshconv to convert to VRML; its documentation isn’t great, but it’s not too hard to use.  For example, to convert fixture.stl to fixture.wxl I used this command line:

meshconv.exe fixture.stl -c wrl -o fixture -vrmlver 2


Based on my small project, I’d say that if you’re hoping for a free replacement for the professional MCAD programs, you’ll be disappointed in DesignSpark Mechanical.  But if you’re looking for a SketchUp-style program oriented towards mechanical, especially electro-mechanical, design then check it out.

I may have to tweak my model bit for different simulation situations; I think that will be pretty easy to do.

Sometime I need write an update about the low cost MCAD market, since there have been a lot of changes, including the introduction of DSM, and Autodesk buying Delcam (which may lead to changes with the free PowerShape-e MCAD software).

February 4, 2014   No Comments

Stepper Vs Servo Motor Torque Curves Part IV

NEMA17 Torque CurvesNEMA17 Torque Curves

My final look is at NEMA17 motors.  Today’s contestants are:

  • In yellow, the IMS (now Schneider) MDI1PRL17C4x triple stack NEMA stepper motor with integrated driver and controller.  I’ve used these cute little motors before; they are a great fit for the right application.  As normal, the programming language sucks, but a CANOpen version is available.
  • In red and blue, a Panasonic MUMS011A1 NEMA 17 servo motor.  These motors have unfortunately been out of production for years; I loved their performance, encoder (10000 cpr), good looks, and price (about $250).
  • In green, a Quicksilver Controls QCI-A17H3 stepper motor with encoder that’s driven like a servo.  I’m including it to show how much improvement you can get from closed loop stepper control.


  1. The MDI1PRL17C4 shows typical stepper characteristics, with torque rapidly dropping off; it can’t even reach 2500 RPM.
  2. The MUMS011A1 shows typical servo performance, with a pretty flat torque curve, 3:1 peak to continuous torque, and compared to the steppers:  higher speeds, less continuous torque at low speeds, more continuous torque at high speeds, and much higher maximum torque.
  3. The QCI-A17H3 doesn’t turn the stepper into a servo, but compared to an open loop stepper, it has substantially higher maximum speed (4000 RPM – the highest of any stepper I’ve looked at), and offers significantly higher torque at higher speeds — in exchange for a higher price, of course.

Some General Stepper & Servo Notes

  1. Steppers are much simpler to drive: you can easily build a low cost drive using an integrated chip (e.g. from Allegro Microsystems, ST, or TI) or buy a commercial driver for $100-$150 (from Automation Direct, Gecko Drive, etc).  Many low cost PLC’s such as Panasonic’s FP0/FPG have built-in step/direction outputs.
  2. But open loop steppers are very annoying, because you have to figure out your needs before start: you have to specify fixed currents for holding and running torque.  If your current is too low, the motor will miss steps.  If your current and duty cycle are too high, the motor will get hot – and if a bit of extra torque is needed to overcome something unexpected, you’re out of luck.
  3. Closed loop steppers still aren’t servo motors.  However, I’m looking forward to affordable sensorless closed loop control (available or coming from Trinamic, TI, and probably others), which will improve stepper performance and minimize stepper heat generation.
  4. I think servo motors’ torque curve fits well with many applications: a lot of time you just need maximum torque for a short time period.  Servo motor system prices are also coming down (OK, not the basic motor, but there are affordable encoder, drive, and controller choices).


April 26, 2013   No Comments

Stepper Vs Servo Motor Torque Curves Part III

NEMA23 Single Stack Motors

In this post, I’m going to look at some fun NEMA23 single stack servo motors and a single stack stepper motor.  The entrants are:

  • In brown, the PacSci M21 with Sigmax technology.  The M21 has a lot more torque than many (most?) NEMA23 single stack steppers.
  • In blue and red, one of my favorite motors: the BH02300 servo motor.  I’ve spun one of mine at 20,000 RPM.  Like the Emoteq QB series, the BH series has great peak torque.
  • In yellow and green, the MCG (now Ametek) I2351014NC servo motor.  After all the high end motors, I decided it was time to feature a non-exotic and affordable (if you can get it) motor.


  1. The difference between the I2351014NC and the BH02300 is the peak torque (the BH02300 has much more) and maximum speed (20,000 RPM vs 12,000) and, of course, price; continuous torque is about the same.
  2. Both servos are can go much, much faster than the M21 stepper (although at 3000RPM, it’s pretty fast for a stepper motor).
  3. The M21’s continuous torque looks pretty good; it always has more continuous torque than either servo, and below about 2000 RPM has more continuous torque than the I2351014NC has peak torque.
  4. OK, it’s not really far to compare these motors — they obviously have their own areas (low end torque and low cost for the M21, high speed and moderate cost for the I2351014NC, and high speed, high peak torque, and high cost for the BH02300) but it’s fun to see big differences between motors that are all about the same size.


April 25, 2013   No Comments

Stepper Vs Servo Motor Torque Curves Part II

NEMA34 Torque Curves

NEMA34 Torque Curves

Today I am examining some interesting NEMA34 motors’ torque curves.  The graph is a bit complex because I want to show a variety of motors on one graph; to make it a bit simpler, I am using dashed lines for servo continuous torque, and solid lines for servo motor peak torque.

I chose motors that are all roughly the same size.

The motors and their colors are:

  • Burgandy Red – PacSci N32 PowerPac double stack NEMA34 stepper motor at 75V.  I choose this motor because it’s a high end stepper, and I own a couple.
  • Red – PacSci K32 PowerPac double stack NEMA34 stepper motor with Sigmax technology, also at 75V.
  • Yellow – Emoteq QB03402 double stack NEMA34 servo motor.  I own a similar motor (QB03403), plus the peak torque is very high.
  • Green – Parker Compumotor BE342H double stack NEMA34 servo motor at 170V.  Parker makes some really nice servo motors; the BE series has a lot of torque, and I want to look at the effects of voltage on torque curves.  The BE342H and BE342K have different windings.
  • Brown – Parker BE342H at 340V.
  • Dark Blue – Parker BE342K at 170V
  • Light Blue – Parker BE324K at 340V.


  1. The NEMA34 stepper curves are similar to the NEMA23 stepper curves; torque still drops off rapidly with increasing speed.  One quirk: maximum torque is around 120 RPM, not 0 RPM.
  2. PacSci’s Sigmax technology does provide significantly higher torque at all speeds, but does not change the shape of the torque curve.
  3. Overall stepper vs servo comparison is similar: the steppers have much more continuous torque at low speeds, less continuous torque at moderate speeds, less peak torque at all speeds, can’t handle high speeds, and cost significantly less than servos.
  4. The Emoteq BH03402 has exceptional peak torque, but you’ll have to provide a lot of current (e.g. 50A for the 130V C windings).
  5. The Parker BE342 shows the impact of voltage and winding.  When the servo motor does not get enough voltage, its torque can decrease like a stepper, but for a different reason: back EMF.
  6. The BE342K might seem better than the BE342H, since it has the “best” torque curve, but that comes at price: the same torque requires double the current of the BE342H.
  7. Stepper currents are much lower; the maximum current of any N32/K32 model is 10A.
  8. As always, it comes down to knowing your requirements: torque, speed, size, current, budget, etc.



April 24, 2013   No Comments

Stepper Vs Servo Motor Torque Curves Part I

While I was working on my upcoming project, I got sidetracked by the issue of servo motors versus stepper motors.  Since I’ve never seen direct stepper and servo torque curve comparisons, I created four comparison charts using a variety of interesting motors.

Disclaimer:  I graphed all the torque curves myself, and their shapes should be pretty accurate; however, I didn’t have very good data for some motors (e.g. Emoteq peak torque).  Motor pricing can very quite a  bit, depending on the exact model and quantity ordered, so any pricing is a rough guide.

If you click on the images, you will get a much bigger version.  To avoid a megapost, I’ve split this topic into multiple posts.

Now that the preliminaries are out of the way, let’s start with the first contestants.

NEMA23 Motors

NEMA23 Torque Curves

First up is a pair of motors: the Kollmorgen AKM21G single stack NEMA23 servo motor with 75V winding and the Pacific Scientific P22 double stack NEMA23 stepper motor.

I picked these motors because 1) they are both from the same company (Danaher), 2) I’ve used both, 3) they’re about the same size, 4) are designed for similar voltages, and 5) both are high end motors, so they should show off the best of their technologies.

The colors are as follows:

  • Red – AKM21G peak torque
  • Blue – AKM21G  continuous torque
  • Green – P22 at 72V
  • Yellow – P22 at 24V


  1. Notice how quickly the P22’s torque falls off at 24v – at slow speeds, torque is about 150 oz-in, but it’s  <50 oz-in by 1000 RPM (substantially less than the AKM21’s continuous torque).
  2. The P22 is considerably better at 72V – the torque curve is much flatter, and it has more continuous torque than the AKM21G up to about 2100 RPM.  The higher drive voltages reduces the effects of the stepper motor’s inductance.
  3. Servo drives are the only option for higher speeds.  The AKM21G is rated at 7800 RPM max, while the P22 torque curve only goes to 3000 RPM.
  4. The AKM21G has a much flatter torque curve, especially continuous torque.
  5. The servo’s peak torque is a big advantage: the peak torque available from the single stack AKM21G is ~50% greater than the maximum P22 stepper torque.  The peak torque advantages gets much bigger as the speed increases.
  6. On the other hand, the servo is much more expensive: an AKM21G will run $400 or more, while the P22 is around $100.

March 30, 2013   No Comments

Analog Servo Amps Versus Digital Servo Drives

The traditional analog servo amplifier receives ±10V analog commands from a motion controller, translating the command into  current to the motor.  Most servo amps have potentiometers for setting gain, offset, and such.  Brushless servo amps typically add hall sensors inputs for commutation.

I use the term digital servo drive for a servo amplifier combined with digital control.  A typical servo drive that supports the CiA 402 motion profile receives commands from a fieldbus such as CANOpen, Ethernet PowerLink, or EtherCAT.  It provides power to the motor and receives the motor’s feedback, typically including hall sensors, encoder, and/or resolver inputs.  Typically these drives can run in torque mode, velocity mode, position mode, or PVT (position-velocity-time) mode.

Some models support alternate modes, including mimicking an analog servo amp (±10V command), a stepper drive (step/direction commands), or encoder (follow a master encoder input).

If your needs are simple, you can use CiA 402 drives directly connected to a computer with your control logic creating and sending the motion commands to the drives.  For complex motion profiles, it may make sense to put a dedicated soft (on PC) or hard (embedded CPU) motion controller between control logic and the drives.

I really like using digital servo drives on a fieldbus.  The biggest reason: the wiring is much simpler.  For example, PC to CAN interface to servo drives to motors instead of PC to PCI board to breakout boards to analog servo amp to motors.  Another big improvement: it’s much easier to add motors later, unlike with a typically motion controller which is setup for a fixed number of axes.

Even using digital servo drives in analog mode has some advantages:

  • Setup is much easier:
    •  Typically no DIP switches or pots to worry about.
    • With many digital drives, phasing the motor is so much easier: connect the motor’s power wires in any order, connect the hall sensors in any order, spin the motor in the direction you want to be positive, and let the drive figure out the correct order.  With analog drives: keep swapping wires until you get the right setup, for the desired direction of motion and hall phasing.
    • With many digital drives, you can run motors in sinusoidal mode, with encoder feedback but without hall sensors.  I’ve found that a significant number of my older motors have one or more faulty hall sensors, but they’re still usable on my digital drives.
    • With many digital drives, you can watch the hall sensors inputs so if the hall sensors are flaky, you can quickly identify which ones are the problem.
  • Because all the settings are stored in the drive, not controlled by pots, it’s easier to replicate the setup, and harder to screw up.
  • On the negative side, digital drives are often more expensive than analog servo amps, and may require encoder feedback to the drive, which complicates the wiring when they’re used as analog servo amp replacements.

I’ve been setting up a variety of motors for both a AMC BE15 analog brushless servo amp and a Copley Accelnet digital drive:  motor setup is so much easier on the Accelnet.

Sometimes the digital drive might add complications:  the first digital drive I used was an IDC B8000 analog input digital drive.  I was using a pair of them for some extra axes on a Adept robot system, and I could not get the whole system tuned to perfection.  The tuning was OK, but I think the B8000’s feedback loops were interfering with the Adept’s feedback loops.

Note: post expanded 7/31/2012


July 28, 2012   3 Comments

Mixing Industrial Ethernet Protocols

Standard Ethernet is inherently not capable of real time communications, and thus industrial Ethernet protocols that can run on stock Ethernet hardware cannot be real time.  The best they can do is provide synchronization (for example, using hardware or software implementations of the IEEE-1588 Precise Time Protocol).

Of course, coordinated multi-axis motion using distributed Ethernet servo drives need real time communications, but the problem with real time industrial Ethernet networks is that they cannot use commercial switches and maintain good real time behavior.

One solution I’ve seen from several manufacturers is to put a motion controller in the middle.  Instead of directly connecting the Ethernet servo drives to the main industrial network, the drives are connected to a multi-axis motion controller, which then connects to the main industrial network using a different protocol.  The controller receives higher level motion commands, and sends out lower level motion commands over its own, private real time network to the distributed drives.

Similar motion controllers exist for CANOpen (Ethernet or other network in, coordinated CANOpen motion out), but I find the use of multiple Ethernet protocols interesting.  The result is potentially very good: appropriately using the strengths of the different protocols to make the overall automation system better.

I haven’t needed to use of any these yet, since I don’t have a requirement for Ethernet speed or advanced coordinated motion.  However, here are the controllers I’ve come across:

  • Parker ACR9000-EPL series motion controllers.  They can communicate with Ethernet/IP networks, and talk to servo drives using Ethernet PowerLink.
  • Omron NJ series controllers.  They can communicate with Ethernet/IP networks, and communicate with servo drives using EtherCAT.
  • Elmo Gold Maestro motion controllers.  They can communicate with Modbus/TCP networks, and communicate with servo drives using EtherCAT.
  • ACS SpiiPlus controllers (including the soft controller, I believe).  They can communicate with Ethernet/IP networks and talk with servo drives using EtherCAT.


July 25, 2012   No Comments

Learning Servo Motion Control

Although I use commercial motion control equipment, I enjoy learning about the fundamentals of servo motor control.  I’m currently going through the posts in TI’s Motor Control blog; they have a high signal to marketing ratio, and include a lot of non-obvious tips, like the best time to measure current.

The posts include a number of simulations which are helpful in understanding the different control topologies.  However, there is still no substitute for spinning actual motors.

Commercial controllers are great at getting you up and running quickly, but don’t let you play with different control techniques.  For learning, motion control development kits are the way to go.

My dev kit is TI’s DRV8312-C2 kit with a F28035 DSP, DRV8312 brushless DC driver chip, and servo motor (unfortunately TI didn’t include a dual shaft model, but I have plenty of servo motors with encoders).  TI’s ControlSuite software provides a variety of control methods.

May 3, 2012   No Comments

New Cheap But Limited 3D MCAD Choices

If you want to learn MCAD or make models to build in your garage, there are a couple of new choices:

  • Siemens PLM Systems is making the student edition of Solid Edge available to basically anyone for free.  Limitations include no commercial use, files incompatible with commercial Solid Edge, and watermarked drawings.  See Deelip’s post for more details.
  • ASCON has introduced Kompas 3D-Home for $50.  David Levin says that Kompas 3D-Home cannot be used commercially, but otherwise has no limitations.

September 7, 2011   No Comments