RE: What to use? EtherCAT or Ethernet Powerlink with CANopen protocol
"John Dammeyer" <[email protected]>
| Newsgroups | gmane.comp.hardware.bus.can |
|---|---|
| Message-ID | <CE5EB4EFD38F4C2E911061775D970435@asus> |
Sorry, Correction. > Of course as the parallel port vanished from PCs a new > solution had to be > found. That's taken the form of either a USB or CAN bus add on module > that then duplicates two parallel ports plus adding other automation > features. Should read: > Of course as the parallel port vanished from PCs a new > solution had to be > found. That's taken the form of either a USB or Ethernet add on module > that then duplicates two parallel ports plus adding other automation > features. I use the USB Smoothstepper module. "ELS! The Solution" Automation Artisans Inc. http://www.autoartisans.com/ELS/ Ph. 1 250 544 4950 > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On > Behalf Of John Dammeyer > Sent: Sunday, December 16, 2012 11:48 AM > To: [email protected] > Subject: RE: [CANLIST] What to use? EtherCAT or Ethernet > Powerlink with CANopen protocol > > > > You're right Kees!! > > But where can we follow with the discussion with the "field > > buses gurus"? (I > > will do my best. For sure!) > > Thnaks and sorry, > > > > > > Albert > > www.inavcnc.com > > Albert, > > Your concept of trying to stay with CANOpen and run multiple > synchronized > motors is interesting. However, I'm not sure it's cost effective or > feasable. The add on card that has at least 3 CAN bus ports > (one for I/O > and two for motors) can't be inexpensive. > > In the hobby and small industry world there are two programs out there > that do CNC. One is called MACH3 and the other was called > EMC and runs on > Linux. At the start these systems controlled at most 4 motors with > step/dir signals and the key to their functioning on a PC was the low > level device driver interface and the parallel port. There's a whole > automation industry running off MACH3 and the peripherals. > > Of course as the parallel port vanished from PCs a new > solution had to be > found. That's taken the form of either a USB or CAN bus add on module > that then duplicates two parallel ports plus adding other automation > features. > > For existing users, they need only buy the add on and move > the parallel > port cable from their old PC onto the add on and their CNC system > continues as before. > > The key to the system is the simple step/direction signals > for each motor. > The PC application sends down blocks with an image of step or > not in each > byte to be sent out by the module at 25kHz or more. > > If more I/O is needed there are several companies producing MODBUS RTU > modules that expand the I/O for limits, keypads, displays etc. > > To get into simple CNC or even just a motion system for pick > and place for > example, one need only buy an inexpensive set of stepper drivers, the > motors, obviously the connecting hardware and a USB or > Ethernet interface. > The CNC software is $150. > > Not that I haven't considered using CAN as the backbone for running > multiple steppers but I think the expense of intelligent > motors plus the > add on card is perhaps a non-starter. I know of one manufacturer who > makes a stepper motor driver with CANOpen interface but position > information is written using SDO messaging which always results in two > messages. One to set the Object Dictionary value and one to > reply that > the value has been set. > > So you are right, PDOs with the data conntaining the next position is > required. The code inside the motor driver has to be able to > interpret > the messages quickly enough and if micro-stepping the > windings also handle > everything involved in switching the current through the windings plus > interpolating the number of steps to the next target position > including > accelerations and decelerations. > > Adding a CANOpen module to MACH3 or the up coming MACH4 would > be a useful > endeavour over say MODIO. Possibly using CANOpen with the > SYNC message > occuring often enough to tell each motor to now impliment the > previously > loaded move could work. But you need time for ERROR FLAGs and > retransmissions. To design the system without room for those > you can run > into trouble. > > MilCAN dealt with that by banning ERROR FLAGs. This way > their SYNC Frame > from the master is guaranteed to be on time. But what > happens if one of > the move messages or position messages fails? > > In the Ethernet world or even USB world the MACH3 and EMC systems send > enough data in larger blocks and the stepping engine > accumulates these and > is responsible for toggling the pins on the step and > direction signals to > the motor to make them move. But these stepping engines are FPGAs and > everything is done in hardware. > > My Electronic Lead Screw project has an LCD display, 35 > button keypad, a > 16 position knob encoder, beeper and a micro-stepping driver. > Plus CAN > bus. So far I've ported the simple Microchip CANOpen stack > to this and > can send an SDO to show a specfic message on the LCD screen. > I get PDOs > from the button presses. But for the stepper drive the only > solution I > can see is a move to X at V with acceleration A. Which I > really must get > around to one of these days. > > I think with CAN it can be done. But not fine resolution multi-axis > motion at a cost lower than what's already out there. And > that's the key. > At a lower cost. > > John Dammeyer > > > > > > "ELS! The Solution" > Automation Artisans Inc. > http://www.autoartisans.com/ELS/ > Ph. 1 250 544 4950 > > -- > Archives and useful links: http://groups.yahoo.com/group/CANbus > Subscribe and unsubscribe at www.vector.com/canlist/ > Report any problems to <[email protected]> > -- Archives and useful links: http://groups.yahoo.com/group/CANbus Subscribe and unsubscribe at www.vector.com/canlist/ Report any problems to <[email protected]>