If using a microcontroller to do steps, you would be taking advantage of
one of the on-chip hardware counters.  These have a top speed of some MHz.
 and then the software only has t stuff a few registers to set up the
required step rate.

Same for decoding quadrature.  There are hardware decoders so the software
just has to read out the current value

This is one of the main things that define a "microcontroller", they have a
large set of on-chip peripherals.  Usually, even more of them than there
are pins, so you need to assign functions to pins.

The STM32F103 is a very low-end device so it only has (from memory) three
counter/timers so it can't control two motors and to encoders all using
hardware.   You and up having to do the encoders using interrupts in
software.   Interrupts work fine for most uses but fir $10 mre you can have
a board that uses a bigger STM32 chip with more pins and counters.



On Sat, Aug 15, 2020 at 7:39 AM cogoman via Emc-users <
emc-users@lists.sourceforge.net> wrote:

>    The point of 300,000 steps per second is in the difference between
> the fastest speed you want your motors turning at and the second fastest
> speed you want your motors turning at.  If you want to be able to run at
> 10,000 steps per second, you can't use a a system that has a maximum
> step rate of 10,000 steps per second.
>
>
> _________________________--------------------------------------_______________________
>
>                  50uS                                    50uS
>
> Here is a plot of a system that maxes out at 10,000 steps per second.
> 50Us for the high and 50uS for the low makes for one clock pulse.  The
> next slower speed would be 6,666 steps per second.
>
>
> __________________________________________________--------------------------------------________________________________________________
>
>                  50uS 50uS 50uS                                    50uS
>                  50uS
>
> Trying to change the speed of a stepper motor from 7,000 steps per
> second to 10,000 steps per second in one jump would not succeed.  That's
> why you want the fastest top speed you can get, because it's nicer to
> jump from 9,980 steps per second to 10,000 steps per second.  I don't
> mean to say that this is the STM32F104's granularity with klipper3d's
> software, I don't know what the granularity is.
>
> Here is the benefit of this use of the STM32F104.
>
> 1. Use LinuxCNC on a hand-me-down X86 computer that would have otherwise
> been thrown away.
>
> 2. Not be speed limited by the latency test results (unless they were
> terrible).
>
> 3. Not have to buy an Orange Pi which I don't have.
>
> 4. Make it possible to control a desktop machine with a hand-me-down PC
> and a $14 GRBL setup.
> (http://www.zyltech.com/arduino-cnc-kit-uno-r3-shield-4x-a4988-drivers/)
>
> The drawback of STMBL (not much of a drawback) is I would need to buy a
> MESA card for the real time issues.
>
> If I remember properly, the granularity for a MESA card is 10nS per pin
> change.  No one would try running their stepper motor at 50,000,000
> steps per second, but it makes going from 10,000 steps per second to the
> next higher rate a piece of cake for the motor.
>
>
>
>
>
> On 8/15/20 12:57 AM, Chris Albertson wrote:
> >       What is the point of 300,000 steps per second if the
> > motos cn't move that fast.
>
>
>
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>


-- 

Chris Albertson
Redondo Beach, California

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to