Member-only story

An Arduino Nano Electronic Speed Controller (ESC) — Part 5

David Such
13 min readDec 2, 2022

--

Excessive current will quickly destroy our ESC. The solution is to monitor the motor current. The obvious approach is to include a series shunt resistor in the motor windings path to ground. The voltage drop across the shunt resistor varies linearly with respect to the motor current (V = IR). By measuring the voltage across this resistor using an ADC or comparator, we can trigger auto-shutdown from the Arduino if an overcurrent situation occurs. We initially thought this would be a very straight forward part of the circuit — we were wrong (again)!

9.0 Motor Current Monitoring

Excessive current may happen in several ways, including:

  • Exceeding a motors maximum torque loading will cause the motor to stall and generate maximum current through the stator windings. This may damage the motor or power stage.
  • During a drone crash the motors may be damaged and the windings shorted to GND.
  • MOSFET shoot-through or resonant oscillations can destroy the power stage transistors.
  • Inrush current surges associated with Motor start up.

As mentioned in the preamble, one approach is to monitor the voltage across a shunt resistor. Note that the term “shunt resistor” is a misnomer in this application as a true shunt should be in parallel with the load, not in series. In electronics, a shunt is a device that creates a low-resistance path for electric current, to…

--

--

David Such
David Such

Written by David Such

Reefwing Software · Embedded Systems Engineer · iOS & AI Development · Robotics · Drones · Arduino · Raspberry Pi · Flight Control

Responses (2)