During my research internship through the Mitacs Globalink
Research Internship program at Toronto Metropolitan University,
Canada, I undertook a challenging project focused on the design,
development, and testing of a precise DC motor control system. The
core objective was to achieve fine-tuned torque control using a brushed
motor, which offers smoother performance and superior haptic feedback compared
to brushless motors. Instead of relying on a torque sensor, which can be
complex and inaccurate, I opted to control motor torque by regulating the
current passing through the motor, as torque is directly proportional to current.
This project involved multiple iterations, starting with a microcontroller-based
feedback system and evolving into a more advanced setup using a current source
with analog feedback. This approach significantly improved response time and stability,
ensuring precise control over motor behavior. I also integrated 32-bit quadrature encoders
to provide accurate motor positioning, essential for the system's performance.
To minimize the wiring and enhance system efficiency, I used SPI and I2C protocols
for communication between the computer (a Raspberry Pi in this case) and the motor
controller. This allowed for streamlined connections and reduced the complexity of the
overall system. Additionally, the design included protection circuits, modular PCBs, and
efficient power management using switching buck converters and LDOs.
The project was an excellent opportunity to apply and expand my knowledge in
electrical engineering, particularly in analog electronics and embedded systems.
I utilized various concepts from my coursework, especially in circuit design and
real-time debugging, to overcome the challenges encountered during the project. The
experience not only deepened my technical skills but also provided invaluable insights
into the practical applications of engineering principles in real-world scenarios.