Progress
This week I spent most of my time working on the motor driver. After a small setback of losing the code for the motor PWM module, I re-wrote it and began work on the encoder module. First I began by setting up the encoder to be able to read the ticks of the state changes, as the encoder is a two phase A, B motor encoder. Moving forward I added functionality to keep a running average of the rpm of the wheel. Lastly I added functionality to be able to use this rpm to set the speed to a specific rpm. This was implemented using a process similar to PID, using a control system to hone into the specific rpm desired. This is more helpful than creating a mapping between PWM duty cycle and rpm, as it allows for a gradual change similar to how acceleration would feel on an actual remote control car.
Schedule
I am on schedule.
Deliverables for next week
For next week, I would like to be able to have the differential steering implemented.