Motor Driver - Current Sensing Circuit
Designed and implemented a current sensing circuit to enable control and maximize efficiency of the autonomous robot’s BLDC 3-Phase Motor through Field Oriented Control (FOC). Led the PCB Layout Development, ensuring signal integrity and maximizing resistance to Electromagnetic Interference (EMI), noise, and ringing. Exploited noise reduction methods such as 3D Ground Guarding and a differential amplifier with its respective Common Mode Rejection Ratio (CMRR) to reduce coupled EMI radiated into the differential current sense pair. Ensured seamless integration and implementation of the circuit into the 4-layer motor driver PCB.
Lead PCB Layout Development Design · UBC Thunderbots Motor Driver Team · Electrical · 2025-09-01 – 2026-03-01
Schematic context
Utilizes a low-side shunt resistor to accurately sense the current flowing into our 3 Phase BLDC motor driver windings. Schematic components were calibrated to achieve a wide sensing range of 0.3A to 9A. A differential operational amplifier is used to amplify the small voltage drop across the 0.015 Ohm shunt resistor. An ADC on our STSPIN32F0251 Motor Control Unit samples this amplified voltage at 26kHz. This information is then used to control our 3-Phase BLDC Motor using a Field Oriented Control (FOC) Control System to boost motor efficiency, minimize motor torque, and minimize torque ripple.
Design decisions
During previous iterations, coupled EMI, switch node ringing, and a long differential pair resulted in our old current-sensing circuit becoming inefficient and inaccurate due to signal corruption and inaccurate voltage data. A low-side current sensing circuit was chosen so that our common-mode voltage across the two differential pairs would be referenced from GND, resulting in a differential amplifier with a (Common Mode Rejection Ratio) that easily filters Common Mode Voltage noise out from our current-sense signal. Although a high-side current sensor could be used for heightened advantages such as fault detection and minimizing disturbance to our GND, a low-side current sensor allows us to use cheaper amplifiers while staying within our motor driver budget. Coupled EMI and switch node ringing were considered by shortening our shunt differential pair, using ground guard traces around our board, and burying our differential pair in the interior layers of our MD PCB.
Bring-up & testing
Our Motor Driver PCB was assembled by the PCB company we ordered from to reduce labour and potential assembly errors. Testing was done by flashing our Motor Driver PCB, allowing our motors to spin with a pre-defined current, and ensuring our current-sensor system was providing an accurate output similar to our input current.





