RE: What to use? EtherCAT or Ethernet Powerlink with CANopen protocol
"Albert Saenz" <[email protected]>
| Newsgroups | gmane.comp.hardware.bus.can |
|---|---|
| Organization | iNAV electronica, S.L. |
| Message-ID | <C173DBAFA0A54303B05D9FEE7C9B1320@DELLStudio> |
John, Thanks for your kind interest. I started in the machine-tool sector in 1979. Our company stopped with Stepper motors in the far 1984 switching to DC motors having many problems with electrical noise due to no jet E.M.C. exist. (Nowadays almost all is installed are Brushless motors). Take a look at the following videos in order to know our concern, please. Laser [year 2006]: http://www.inavcnc.com/img/cl1010.wmv EDM [year 1991]: http://www.inavcnc.com/img/magcor.wmv Best regards. Albert Saenz -----Mensaje original----- De: [email protected] [mailto:[email protected]] En nombre de John Dammeyer Enviado el: lunes, 17 de diciembre de 2012 18:21 Para: [email protected] Asunto: RE: [CANLIST] What to use? EtherCAT or Ethernet Powerlink with CANopen protocol Albert, I developed micro-stepping code for a stepper motor on my ELS protect. I've learned that if you are driving a stepping motor with 8 uSteps per step or 1600 steps per revolution that you need around a 20kHz clock to create a reasonably smooth motion on the motor. BTW, I made the ELS source code available under GPL so it's possible to see how the stepping was actually done. Since the ELS is designed to track the speed of the Lathe Spindle to move the carriage of a lathe the target speed of the stepper motor isn't very deterministic. Especially if someone has a variable speed spindle. To describe it simply though if you wanted to run the stepper at 20,000 steps per second then on every processor clock tick the hardware step line is pulsed high for 5usec. If you want 10,000 steps per second then the step line is pulsed every second clock tick. So far there is no jitter. The pattern is 101010101 Same at 5kHz the pattern is 100010001000... But what about 12kHz? 1001010010100101 The stepping is no longer symmetrical with an time between steps. One would think this wouldn't work. But in fact the mass of the motor and that it's micro-stepping means that it works quite nicely. A Servo isn't any different. It's going to accumulate steps that result in an error difference and the PID code will take care of smoothing out the erratic step rate. But, at 20kHz the maximum motor speed with 1600 micro-steps per rev the max RPM is 750. With a step pulse every 50uS we'd already be almost 3x the CAN bus update rate. Pick a Servo with a 1000 line encoder running in 4x quadrature mode (4000 lines per rev) and a max speed of 3000 RPM (50 RPS) and you now need a theoretical motion update of 200kHz or 5uS. This is the world of FPGAs not CAN. The solution in that case is a tightly coupled controller that accepts motion profiles from a master controller over a network, queues them, and then directly runs each motor. Possibly CANFD with the larger packet size and slightly higher data bit rate could maintain a motion profile as long as the granularity between moves was large enough so there was always more move information inside the controller. That would be an interesting discussion. 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]>