Thanks a lot for this post! On 2016-04-04 23:20, John Dammeyer wrote: > I'm sure you are going to have lots of fun with this. I suspect you might > be over simplifying it too. > > It's not really that important that you can generate 1 Mhz stepping > frequencies using the hardware timer on the micro-processor. Nowadays > that's probably a first or second year college lab assignment -- rather > trivial really. I'd be more concerned about dealing with synchronizing > steps between motors or a spindle. > > For example. Say you have a spindle turning 100 RPM. That's > 1.6666666666666666... revolutions per second (RPS). You want to cut a > thread pitch that matches the lead screw pitch so the lead screw has to turn > the same RPM as the spindle or also 1.66666666... RPS. > > Assuming you are using a stepper drive with 8 MicroSteps/step onto a 200 > step per rev motor. That's 1600 steps per revolution. So your step > frequency is 2,666.666666... Hz. (1600 steps per revolution x RPS) Nowhere > near that 1Mhz top end. > > Now if your counter circuit has a 2MHz input frequency it's pretty easy. > Divide by 750 to get that frequency. Simple so far. Right? > > Now your spindle drops to 99 RPM which is 1.65 RPS so let's make the stepper > turn 1.65 RPS which is a step rate of 2640 Hz. Now all you have to do is > program your counter to divide by 757.575757575757... Oh wait a sec. It's > probably an integer divider. So you will be out by 0.57575757575 Hz. Not a > big deal I guess. Only about 0.08%. Or maybe it is. I wouldn't accept > it. > > Now use that same approach trying to move three motors to move a tool on a > curve through 3D space and since each motor will run various speeds through > this path you will find all sorts of rounding and truncating errors. > > And I haven't even touched on accelerating/deceerating from a stopped > position and maintaining synchronization. > > John Dammeyer > >> -----Original Message----- >> From: Nicklas Karlsson [mailto:[email protected]] >> Sent: April-04-16 12:22 PM >> To: [email protected] >> Subject: [Emc-users] Stepper generator >> >> >> I am currently implementing a stepper generator on micro controller which >> may output square waves with clock frequency accuracy with use of built in >> timer peripheral. It may generate square wave probably up to at least in > the >> MHz range and be extended downwards as far as needed by some >> adjustment in software. It seems to work great and it should only be >> finnished off. I currently use relatively expensive micro controller but > cheap >> available for around $1 in large quantity should also work just as fine > since it >> have the same peripheral I used. >> >> It no problem to output a sequence of square pulses or with a certain >> frequency. Linuxcnc seems to output step velocity and read back >> accumulated number of steps generated. >> >> What puzzle me is period may vary. As is now I start to use values as soon > as >> they are received via Ethernet. I have used other networks like CAN before >> there everything is synchronized with "broad casted" with a high priority >> sync message. Do anybody have a clue how synchronization should be done >> for mesa Hostmot cards via Ethernet? Or more generally in Linuxcnc? >> >> >> Nicklas Karlsson >> >> > ---------------------------------------------------------------------------- > -- >> _______________________________________________ >> Emc-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/emc-users > > ------------------------------------------------------------------------------ > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users
-- "In der Wissenschaft siegt nie eine neue Theorie, nur ihre Gegner sterben nach und nach" Max Planck ------------------------------------------------------------------------------ _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
