Hi all,
First off brilliant tutorial by Electronoob! (hmmm how do you tag someone?) - well thought out and prepared simple explanation to a complex subject. Bravo!
Background to Question...
I have been trying to find an affordable alternative to DC servo's, as i want to move up from Steppers.
However most of the CNC controllers out there use the STEP/DIR protocol to instruct the drivers to move the motors.
There is an open source esc called oDrive
https://odriverobotics.com/ that does this very well, but it is again quite costly, even the copy from Aliexpress.
Now the question...
Is there a standard strategy to perform closed loop and correction calculations?
Process as i see it:
- controller sends step & dir pulses to Driver.
- Closed loop controller (CLC) passes these pulses to driver part of circuit.
- CLC also updates new desired delta / position of axis
- CLC waits a certain time for axis to move
- CLC reads encoder to validate that axis has moved to desired position.
if axis has not moved,
- CLC keeps recording the desired position (with more incoming movement pulses)
- CLC keeps trying to move axis to newly updated Required position.v
- if Threshold is exceeded return Error / fault to controller and E-Stop.
hmm seems decimal list not working!
And is there interest in including this into the ESC project?
Specifically for Closed Loop Servo using BDLC and Encoders?
Also i noted the oDrive has a Braking Resistor, what is this for and how does one implement this into the ESC?
Sorry for the looooong question
many thanks
RobZ