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

Posts from — January 2011

New Integrated Motors from Faulhaber, Animatics, and Schneider

I just took a look at the specifications for some recent integrated motors; integrated motors combine the motor, drive, and controller in one package.  I’ve used motors from all three companies, but not these particular models.

Faulhaber BX4 Series

The Faulhaber BX4 series are attractive,  compact (22, 32, or 35mm diameter) brushless DC motors with integrated encoders, servo drives, and servo controllers.

  • Versions are available with CANOpen or RS-232 interfaces (I’d use CANOpen, of course).
  • They can be paired with a 22F series gearhead, but unfortunately, no zero backlash gearheads are available, and it doesn’t sound like this will change (which means I won’t be using them any time soon).
  • Versions with separate controller power are available.  This extremely useful feature allows you to turn off motor power (e.g. because of an E-Stop) while still maintaining motor position.

Schneider Electric Motion

Schneider Electric Motion USA (formerly IMS) now has a Ethernet option for their all-in-one MDrives.

  • The MDrives combine a stepper motor and driver, and, on the Motion Control versions, a controller.  Encoders are optional; adding an encoder does not increase the motor length (nice job!).
  • Some models feature their Hybrid Motion technology, which detects stalls, enlarges the stepper’s torque curve, and more.
  • The Ethernet interface supports Modbus/TCP and MCode/TCP (MCode/TCP basically extends the MDrive Motion Control programming model from serial to Ethernet).
  • MDrives are also available with RS-485 and CANOpen interfaces.

Animatics Combitronic

Animatics has a new interface option for their integrated SmartMotors, the Combitronic network with a maximum speed of 1M bit/sec.

  • The Combitronic network uses the CAN bus as its physical layer.
  • It extends the Animatics programming language to the entire Combitronic network; for example, any SmartMotor can easily access any variables on other SmartMotors on the network.
    • So Animatics claims Combitronic allows true distributed processing; you can treat the whole network of SmartMotors as one large multi-axis controller.
    • You should be to do similar things with other networks; for example, use programmable CANOpen nodes (such as Wago 750-838’s) and share variables via PDOs.  However, I am not aware of another implementation that looks as easy to use.
    • On the other hand, I’m not a fan of the Animatics programming language; it quickly becomes very limiting for complex tasks.
  • Another nice feature is that the Combitronic network “plays nicely” with other CAN based network; since it will not interfere with CANOpen or DeviceNet traffic, you can mix Combitronic devices on the same CAN network with CANOpen or DeviceNet devices.
  • SmartMotors are also available with RS-232, CANOpen, DeviceNet, Profibus, and Ethernet TCP/IP interfaces.
  • Now you can get SmartMotors with separate controller power.  As I noted above, this is a great feature.  I have a SmartMotor application using older models without separate power, and it sucks (the SmartMotor has to be re-homed after every Light Curtain interruption or E-Stop).

I do think Animatics overstates their advantages; however, they are a good fit for the right application.  For example, I once did a X-Y table with two SmartMotors, controlled by a sweet CH Products analog joystick.  The joystick’s analog output was fed directly to the SmartMotors, so there was no controller (PC or PLC) required.

Final Thoughts

Although integrated motors are cool, in many applications a regular motor is a better fit.  The combination of a standard motor and a network drive (amplifier + controller) is almost as easy to wire, often less expensive, and much more flexible.

If I have a choice, I will use an integrated motor with a standard fieldbus (such as CANOpen) over a programmable model — motor manufacturers simply do not know how to create decent programming languages.  I have programmed both MDrives and SmartMotors; the experience is like a trip back to 1977 and TRS-80’s.

I find it interesting that neither manufacturer supporting Ethernet uses a real time protocol such as Powerlink, EtherCAT, or Profinet-IRT.

the Animatics programming language to a network of devices.

January 20, 2011   No Comments

Larry O’Brien on DVCS (Distributed Version Control Systems)

SD Times columnist Larry O’Brien has a short piece on distributed version control systems.  It’s worth a read if you’re curious about all the DVCS hype.

I’m sticking with Subversion for the near future; on Windows, last time I checked, Subversion still had the edge on installation ease and tool support (e.g. TortoiseSVN).  Supposedly, merging has been improved in Subversion 1.5 and higher.

Still, I’d like to play around with two-level commits (local track when just playing around, development track for when changes are ready for prime time).

January 17, 2011   No Comments

I hope Staple’s G-Tec-C’s are only the start

After watching the PenAddict’s recent Staples buying spree, it was time for me to visit Staples.  My haul was a bit different:

  1. A Pilot G-Tec-C 0.4mm color 5-pack (black, blue, red, green, and purple).  So far I really like these pens.  The black 2-pack was sold out my first visit, but they had a couple on my second visit.
  2. I also noticed some Pilot G2 0.38mm packs, which is good (in the past, I’ve only seen these at OfficeMax).
  3. I couldn’t resist 5 pads of graph paper for $3.  I haven’t used graph paper in ages (since high school, mainly) so I’m going to see how I like it now.
  4. I did get some odds and ends (like a pencil sharpener for $2 for my kids), but nothing else exciting.
  5. I passed on the Sharpies; I’ve got a 3 pack of Sharpie pens, but so far don’t like them enough to buy more.

I’m hoping that more fine-line Japanese gel pens make it to the “standard” US stores — G-Tec-Cs and 0.38mm G2’s are a nice start.

Update Feb 2011: at least one local Target has Rhodia pads (graph and lined).  Rhodia might be great, but I’m not ready yet to spend $10 for a notebook (I guess I like pens much more than I like paper).

January 15, 2011   No Comments

Panasonic FP0-R PLC Surprises

Recently, I used my first Panasonic FP0-R PLC in a machine (as a drop in replacement for a FP0). Even though I’ve read the FP0-R specifications, I did have a couple surprises along my journey to a working machine.

The not so good surprises:

  • You need the FPWin Pro V6.0 or newer development software to initially download to the FP0-R.  Pretty frustrating, since I only had FPWinPro V5.3.
  • OK, Panasonic also offers FPWinGR, but I’ll never consider it, because FPWinPro implements the IEC-61131 programming standard (yeah, structured text! ) and when I first tried FPWinGR, about a decade ago, it was, to put it nicely, a putrid steaming pile of crap (OK, I’ve seen worse, but it wasn’t very good then).
  • Of course, getting a new, full versions of these (FPWinPro or FPWinGR) costs money.
  • The free program loader program I was using, PLC UpDown V2.55, doesn’t work with the FP0-R, and I can’t find a newer version.  FP UpDown let me upload the memory of the PLC into a NSU file and then download that NSU file into another PLC.
  • Panasonic does have a free loader program, FPLoader, that does work with the FP0-R, but it only downaloads FPWinGR programs (not FPWinPro), and can’t upload.

But I was pleasantly surprised, because:

  • Panasonic has a free FPWinPro version, FPWinPro 6.2 basic, that is only limited by the maximum program size, which varies depending on the PLC model; it’s 2.7K/300 steps for the FP0/FP0-R and 12K/500 steps for the FP Sigma.  My current programs are all smaller than that, so thank you, Panasonic!
  • The FP0-R has compatibility modes that let it mimic FP0 PLCs such as the FP0-C32 and FP0-T32.  When the FP0-R is in compatibility mode, you can use FPWinPro 5 (or FP UpDown).  I found trying to switch between native and compatibility modes a little unpredictable.
  • So you can still download a large FP0 program without upgrading to FPWinPro V6 by first using V6.2 basic to set compatibility mode, and then using the older software to download the big program.
  • The second serial port is now much faster, with a maximum speed of 115200 bps, while the FP0’s topped out at 19200 bps.
  • The USB tool port worked smoothly.

January 15, 2011   No Comments

Eagle 3D PCBs with Alibre: Assembling the Model Part II

Before starting to put all the pieces together, spend some time planning.   Things to think about include:

  • What is your naming convention?  A good naming convention for parts and assemblies really helps you remember what is what.  Which is a more useful name for a connector model, Part_21 or AMP 5499206-IDC-26?
  • How are you going to assemble the part?  Are you going to use any sub-assemblies?  Good use of sub-assemblies makes assembling the model easier and more logical.
  • Do you have all your part models?  I like to have all my models ready before assembly, but you could start with what you have, and download or create as you go.
  • Do you need to modify any manufacturer provided models?  For example, your part might be slightly different from the closest manufacturer model, or you may need to modify the part (e.g. by adding reference geometry) so you can easily add constraints.
    • I’ve come across both these cases, and will discuss them more in the future.
  • Are you going to directly import your manufacturer models into your assembly, or convert them into Alibre parts first?  Alibre Design 2011 can directly import STEP, SAT, and IGES parts into assemblies.
    • IIRC, previous Alibre versions couldn’t directly import into assemblies, which is why my current designs convert all imported parts into Alibre parts.

Here are my tips on adding constraints:

  • Come up with a naming convention for constraints: J1_Align_Pin1 provides much more information than align22.
  • Position the parts so you can see all the features you plan on using to mate the parts together.  I really like using the triad tool, with minimum motion mode off.
  • I’ve had much better results using the manual constraints dialog than trying to use quick constraints.  Sometime I’ll give quick constraints a try again.
  • I’ve found it’s always necessary to move and zoom all around, and every time I use the icons, my constraints dialog goes away, so shortcuts are the way to go:
    • Pan: press and hold middle mouse button, then move mouse pointer
    • Rotate: position the mouse pointer where you want to rotate, then press and hold right and left mouse buttons, then move mouse pointer.
    • Zoom in: press Page Up
    • Zoom out: press Page Down
  • Be careful where you click; it’s easy to select a feature you don’t want.
  • I like anchoring one part (for example, the PCB) so I know which part will be moving when I add constraints
  • Check the defaults.  Often, the mate constraint will show the current distance between parts, so I have to change it to zero.
  • Use your PCB layout as a guide.  OK, if I could get Alibre to handle the silkscreen layer this wouldn’t be necessary, but it’s handy when I have a PCB full of holes and no silkscreen information on the PCB model.

January 13, 2011   2 Comments

Eagle 3D PCBs with Alibre: Assembling the Model Part I

The final step in creating a 3D PCB model is to assemble all the pieces together.  Normally Alibre assemblies are created by constraining the parts.

A constraint limits how two parts can be located relative to each other.  Three constraints fully constrain a part.  For example, think of mating a through hole connector with 10 pins in one row to a PCB.  You could add three constraints like this:

  1. Use an Align constraint to align the axis of the connector’s pin 1 with the PCB hole for pin 1.  Now the connector is limited to two degrees of freedom: it can move close and farther from the PCB and it can rotate 360 degrees  around the pin-1/hole-1 axis.
  2. Use another Align constraint to align the axis of the connector’s pin 10 with the PCB hole for pin 10.  Now the connector cannot rotate: it can only move close or father from the PCB.
  3. Finally, use a Mate constraint with a zero offset to mate the bottom of the connector with the top of the PCB.  Now the connector cannot move at all; it is attached the the PCB just like you had perfectly soldered a perfect connector to a perfect PCB (pins centered in the holes, connector just touching the PCB, etc).

That sounds pretty easy, right?  Well, the reality is often different.  Extruding a PCB is straightforward.  Mating parts together is not; there are many possible ways of mating the parts together, and the best approach depends on the specific parts and PCB.  I think MCAD assemblies are complex enough that an expert could write a book just about assemblies (and I’m definitely not an expert).

I haven’t found a lot of practical information on Alibre assemblies.  My findings so far:

  • You should definitely read the Alibre Design User Guide chapter on assemblies.  It covers what’s available, including about 20 pages on constraints, but is brief and descriptive.  It does not give any examples or practical advance.
  • Based on the table of contents, the Learn 3D CAD book also only covers constraints briefly (about 20 pages), but still looks like it’s worth the price, since it has a real world example, and advice on overall design (top down vs bottom up).  I’m planning on getting the PDF version when the 2011 update is available.  Note 10/5/2011:  the Learn3DCAD website is no longer active, so this is no longer an option.
  • The Alibre forums look useful if you have a specific question, but aren’t a tutorial.  Also, if you’re on maintenance, there’s always tech support for specific questions.
  • I’m not sure how useful Alibre’s paid training materials (DVD, exercise book, online seminars) since they don’t provide detailed information on the contents.  I suspect they wouldn’t cover some of the problems I’ve had.

Next up in this series: some specific tips from my experience.

January 11, 2011   No Comments

New Year’s Resolution

I’m not going to disclose any great plans for this blog.  There is so much I’d like to write about, but family and work are more important (especially during the Christmas season).

Another problem is that my posts almost always seem to grow.  I’m still slowly working on Assembling the PCB model for the Creating a 3D PCB Model with Eagle and Alibre, but a single post has mushroomed into 2 or 3 posts.  And I’ve decided I need to do more research, too.

I’m not interested in Twittering, Facebook, forums (been there, done that), and such.  With my limited time, I’d rather be working on unique content with depth that will last, not ephemeral tweets, even if I don’t post as often.

However, my New Year’s resolution for this blog still is:

  • To post more often, with a goal of at least once a week.

January 7, 2011   No Comments