I just got a Arduino R4 WIFI board after using a Arduino uno R3 for quite a while.
As the new Arduino R4 is a 32 bit version like the DUE or Mega i wonder if any users benefit from the quicker processor and are able to run steppers faster at higher multistep rates.
Any controlling code maths that can use the 32bit hardware floating-point unit (FPU) will definitely benefit if doing on the fly calculations.
But the RA4M1 32 bit M4F processor has more and bigger registers to save and restore for function-calls and interrupts, which I have seen can impact the expected speed increase between the 8 and the 32 bit processor.
I noticed in the AccelStepper source file or whatever that this was put near the end of the current updates "Gregor Christandl reports that with an Arduino Due and a simple test program, he measured 43163 steps per second using runSpeed(), and 16214 steps per second using run();"
Infinitely better than 4000 step limit. You could damn near get at least 300rpm at 1/32 microsteps or something. At least 1/16 for sure on the Due with a motor that has 200 steps a rotation.
My main question is how compatible it is with the rest of the library and its various features or abilities. Because my uno r3 is still sorta noisy even though I figured out the math for the minimum microsteps I could use to keep it at 300rpm. I guess it seems folks are saying that you don't really affect resolution/smoothness past something like 1/8th though? I find it hard to believe, I could get 1/256 microsteps causing skipping or something else, but 1/16th on a 200 steps per rotation? Hrmmm.... Dunno what readymade micro controller I should use within a $75 budget to make AccelStepper actually fast with headroom to spare for microsteps I guess I could use basic code, skip the libraries and maybe some of the basic functions will work and work quickly? I am new at all of this and building a glass lathe LOL. Go me!
Cool project! I was a professional lampworker before I switched to this new career in embedded systems. I used Arduino in some glass-related projects, but never with my lathe (mine is a manufactured model from Litton). I had plans for using Arduino to add some intelligence to the pedal-operated solenoid gas manifold that controls the various burners on the lathe, but never got around to it.
Oh wow, man would I love to have a Litton! I am basically using two 130mm 4th axis spindles and chucks and that has been built on aluminum extrusion (I know not the most rigid). But the ways was made out of 1/8th inch cold rolled steel as are some of the plates used for mounting the tailstock, fire carriage, and headstock.
I decided to make things difficult for myself and want to have a switch that turns a "movement tracking" potentiometer for spinning the chucks in unison slowly to where I want vs how one might by hand with a belt driven system for small corrections in the angle your working with into some control based off of the headstock as the "main reference speed". So if I want the tail stock to move 25% slower/faster, I could use the main knob to slow down both, and the tailstock would remain 25% slower/faster until I move the knob or encoder back to the "0 position" or "100% speed" whatever ends up being how to code it.
I was thinkning I should start some free c++ code acadamy stuff and see if it is doable for me to at least grasp some basic aspects of the code vs monkeyfist and copy/paste my way through to something that works, but is highly inefficient and slow.
I also know very little about stepper drivers and which chips are used in what... (open them up and see? I am not so brave yet.) I am using two right now (DM860T), being sent the same signals from arduino pins, but I can't help but think with wiring and a single more robust driver they would be way more in sync, I have also found a 2 axis driver with independent settings allowed... but I dunno if its just basically two drivers in one box, or if its really one driver syncing everything up nicely (R60X2).