How many steps per second does the Duet handle?



  • Hallo,

    first of all, sorry for my bad english.

    I am building a Delta Printer at the moment.
    i ordered .9 Motors and I have 20 toths pullys. So i have to do at leas 3 rev/s. I`d like to use 1/256 microsteps ->102400 steps/rev
    is it possible to do >300000steps/s including quadstepping ?

    best regarts
    Kevin


  • administrators

    See http://reprap.org/wiki/Step_rates#Achievable_step_rates. It is not possible to do pure 1/256 microstepping at the speeds you want, but you can achieve similar results using hardware interpolation, e.g. 1/16 microstepping with hardware interpolation to 1/256.

    It's on my list to implement dynamic microstepping, i.e. 256x microstepping at high speeds, reducing microstepping as speed is increased. However, the interpolation mode works so well that this is now a low priority.



  • currently I am using RADDS+DUE on my firstPrinter and i am getting around 160000steps/s out of it.(its hard to tell how fast my printer actualy runs)(200-300mm/s @640step/mm)
    referring to the wiki my Printer shouldn ´t be able to run faster than 150mm/s what he does.
    I am realy confuced right now.

    My goal is to print up to 150mm/s
    " 240kHz with one motor moving, and 130KHz simultaneously on 3 motors "

    I recalculated the tabell on this page
    .9° Motor; 20-teeth-GT2-pully; 1/256 microstepping; 2560steps/mm ; 0.39μm; 93.75mm/s @240kHz; 50.5mm/s @130kHz
    .9° Motor; 20-teeth-GT2-pully; 1/128 microstepping; 1280steps/mm ; 0.78μm; 187.5mm/s @240kHz; 101mm/s @130kHz
    .9° Motor; 20-teeth-GT2-pully; 1/64 microstepping; 640steps/mm ; 1.56μm; 375mm/s @240kHz; 202mm/s @130kHz

    physical resulution will be much lower, so every microstepping would do its job, but the noise could be more…
    is there an interpolation mode for 1/64 avaivable?
    dynamic microstepping sounds quite interessting 🙂


  • administrators

    @windiesel, how did you measure that 160k steps/sec? Which firmware are you using?

    If you try to generate steps faster than the processor can do it, typically the printer just runs slower than you asked it to. So don't assume your firmware really is generating steps that fast unless you have measured it.

    Most firmwares will configure step interrupts at a particular frequency, which you can configure. That doesn't necessarily mean that they can step more than one motor at that frequency. RRF is AFAIK unique in that it generates step interrupts (and hence step pulses) at variable frequency - when step pulses are needed.

    I have not seen step rates for more than one motor moving published for any other firmware.



  • I am using repetier. I tunred up the speed until the printer didn`t became faster anymore, I used high acceleration of 10k mm/s²
    my messurment can not be called accurate, but i am pretty sure that it went far over 150mm/s

    "is there an interpolation mode for 1/64 avaivable?"

    I will try to finde a methode to messure speed more accurate.


  • administrators

    @windiesel:

    "is there an interpolation mode for 1/64 avaivable?"

    I think so, but the data sheet for the stepper drivers is not clear on that point. I will try to find out.

    @windiesel:

    I will try to finde a methode to messure speed more accurate.

    One way is to write a gcode file to move the effector back and forth from one edge of the bed to the opposite edge many times. Then you can time how long it takes and work out the average speed from that. You need to set a high acceleration so that the time spent accelerating and decelerating is a small proportion of the total.



  • wow i am amized.
    I wort a short skript:
    Be carefull with this G-Code it is not working on every machine and could damage your Printer!!!
    I assume no liability

    G2 X0 Y-50 I0 J48 Z10 F6000
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10
    G2 X0 Y-50 I0 J48 Z10

    so the printer does a circul with a lenght of 300mm 12 times
    a started my wach after the first revolution and stoped after the 11th.
    I startet with F14000 = 233mm/s i messured 12.81s ->234mm/s close enough
    at F19000 = 300mm/s 9,97s -> 300.1mm/s
    at F24000 = 400mm/s 7.55s -> 397 mm/s
    at F25000 it startet stopping
    it is still not a very precise messurment but it is close to the calculated values, so I assume the speeds are correct.
    I am also not so sure how the delta kinematic effekts this messurment.
    I hope I did not make a major mistake.

    I`ll buy the duet anyway in the near future although i cant use 1/256 microsteps, hopefully my new Printer is up an runing until x-mas, than i can give you feedback.



  • ther's a bad behavior if the DUET reches its calculation limits.
    On a Delta all axis are moving with different speeds. When one axis reaches its maximm speed it dosent move faster anymore, but the other are still going there speeds
    What happend, I moved from one calibration point to another, to fast and my hotend crashed into my buildplate !!


  • administrators

    @windiesel:

    ther's a bad behavior if the DUET reches its calculation limits.
    On a Delta all axis are moving with different speeds. When one axis reaches its maximm speed it dosent move faster anymore, but the other are still going there speeds
    What happend, I moved from one calibration point to another, to fast and my hotend crashed into my buildplate !!

    I suspect that your motors are skipping steps because you have insufficient voltage to drive tham that fast without losing torque.



  • 24V not enough?


  • administrators

    As they are 0.9deg motors, 24V may not be enough to maintain torque at high speeds. See https://duet3d.com/wiki/Choosing_stepper_motors#How_to_work_out_the_power_supply_voltage_you_need.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.