Introduction

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.