I'm currently a student at Bristol University studying Computer Science and Electronics. Since the end of July I've been working basic motor control whilst on a placement at XMOS so I thought I'd update you all on what I've been doing and what I hope to have done by the end of September when I finish my placement. I've never worked with any XMOS hardware before so I've been learning a lot!
I've been working on both DC and stepper motor control using the XP-DSC-BLDC board.
So far in the five weeks I've been working on this I've implemented the following features:
- Microstepping (Full step to 1/256 microsteps)
Basic current limiting, to allow driving motors at higher than their rated voltage
Current monitoring in motor windings using the ADC
- Velocity ramping
PWM speed control using the sc_pwm component available on github
Quadrature encoder feedback
PID control loop for constant speed control
I have some more ideas that I'd like to implement, mostly around stepper motors:
Closed loop PI current control with microstepping
Alternating decay modes (fast and slow)
I'll give you an update once I've put the code on github, in the meantime any feedback would be welcome.