I on purpose do not look at other robot designs to create the software. The reason why I do this is to force my imagination to come up with my own design.
I am at a stage where I can now move the robot. Up to 8 stepper-motors in parallel all in less than 3 µS per step. And extendable to multiples of 8 more motors in parallel if the need is there.
The question is:
- How do I feed the data?
- How do I take into account micro steps?
- How do I take into account gears?
- How do I take into account acceleration/deceleration of the stepper motors?
- How do I take into account inertia?
- How do I take into account imperfections in the mechanics and especially the 3D printed plastic?
- How do I take into account mass and inertia of the mass to be moved?
- How do you correct for errors using feed-back sensors?
Every single point above has an effect on how the stepper movement steps must be executed.
Big challenges ahead :-)
That is what I love :-)
- When a stepper motor is "enabled", then it jumps to the nearest full step.
So this induces an error.
- The motor can skip steps, when the acceleration of the load is too fast.
This induces an error
- A "disabled" stepper-motor does not use power.
However do not stand under the load!
- A "disabled" stepper-motor for a short pulse could actually reduce friction when 2 motors work in tandem.
This may be interesting because Thor uses 2 geared stepper-motors driving the same gear that may get out of tune and cause mechanical stress. I may for a short millisecond disable one of the stepper motors so it gets dragged back in line with the one that keeps the power.
To be continued.