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

Reply via email to