> No, not a PCI bus or a special purpose card. The way it will be is > some high speed serial bus like SPI or the like and in place of the > PCI card a generic micro controller card such as maybe even a Pi or > Arduino but NOT running an operating system. The OS and it's > scheduling is the source of jitter. These bare micro controller cards > are now under $10 and can take the place of a 5i25. > > As an example I use an Arduino Nano to drive the steppers in a robot. > The Nano is 1/2 the size of a business card and cost under $4. The > card connects either steppers or DC brushed motors with built-in > encoders and takes commands for speed and position. I can drive only > two motors but at $3.50 each I can afford more than one Nano.
The same conclusion I made and spend some time design a control card with a micro controller. > Nano does not have an OS and at best can do cooperative multitasking. > But these small micros have built-in hardware counters that run off a > crystal controlled clock and I can program the counters to do hardware > based pulses while at the same time running a PID loop at 100Hz. Yes the hardware counters do the job and there are also few other peripherals like the ADC which is needed for servo motor control. > My > rule is to NOT try to attempt rocket science on an AVR chip, just do > one real-tine loop and leave the smarter stuff to the "bigger" Pi 2 > and leave the really smatter stuff (autonomous multi-vehicle > navigation) to the multi-core desktop machine I intend to leave the user interface for ordinary computer. > > The above is actually kind of crude and slow. A better approaches to > make use of the ARM's "PRU". Some version of ARM have two additional > micro controllers on the main chip. These PRU I did not bother with, just simple micro controllers. Simple micro controllers work great for a modular system. > These are special purpose > real-time processors that run independent of the main ARM cores. > They are for running time critical code that can not be run under a > multi-tasking OS. When you buy, for example a BBB (Beal Bone Black) > you get a multi-core computer that can run Linux. But in addition > you have two PRUs. Each PRU is a 32-bit micro controller with it's > own RAM to hold it's own software. These can do anything you'd like > them to and run independently of Linux. They could do the job of a > 5i25 board. Yes do the same or similar as a 5i25 board, everything on a single card. Micro controller is modular architecture but communication in between is a little of a problem. > Some more detail here: > http://processors.wiki.ti.com/index.php/Programmable_Realtime_Unit_Subsystem > Advantages: Nothing to buy or add on. It is already on-chip > Disadvantages: This is only on TI parts as far as I know, you'd need > to learn how to program and debug PRU code. PRU is a completely > different architecture from ARM. > > We call this asymmetric multi processing. This is where there are > multiple CPU cores but some core are not identical. It is not a new > idea as it was used in some 1960's vintage mainframe computers for > this same purpose, to control devices that needed exact timing like > disk and tape drive and printers and network interfaces and the like. > On the old CDC 6400 mainframe all the I/O was done by these little > computers while user level software ran on the bigger CPUs. IBM > mainframes had a simpler version of this call Channels but the idea > was to move the real-time stuff off the main CPU and out of the kernel > of the OS. TI's ARM cores do this with PRUs > > The future I think is going to not be any of this. Motors will become > smarter like the Dynamical servo motor. Dynamical motors accept > serial commands for position and speed and have built-in micro > controllers. You can send an acceleration curve to the built-in > controller or change the PID constants and the motor just does what is > commanded. In time this idea will move out of it's current limited > use and into mainstream industry. I have implemented stepper generator on micro controller on same card used to make control signals for inverters for servo motors. I modified driver so that it send position. Receiver allow for one full period of jitter and average receive times to remove jitter. Then need for fast feedback is removed it will be possible to multicast position commands and if needed have a receive FIFO to reduce real time demand. Software is really not changed just deployment then feedback loop move to micro controller. > > > > > > However, they will have truly arrived when they grow a PCI bus, and a > > card such as the 5i25 is used to offload the timing difficult tasks such > > as stepper generation and encoder resolving, to the 5i25. At that point > > it can compete, but it won't happen until something like that (Mesa 5i25 > > clone) does become available to the ARM stuff. But it will not be any > > cheaper when that happens as the pci version is still $90, which has to > > be added to the cost of the ARM board itself. > > > > But I've not tracked whats available since the ARM crew was shown the > > door about 2 years back. Sure I could sub to their list too, but I > > thought it was nice to be informed of cnc progress, state of the art, > > from one list while the genesis stages of the BBB were being done and > > reported here... I think these micro controllers with an ARM core are what is used to generate control signals in a very large portion of newly developed commercially available products with speed controlled electric motors. For most products a hostmot 5i25 or similar are not a good soution. Nicklas Karlsson ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users