A project log for Brushed motor speed control with stable RPM

Uses brush current pulses to measure speed

VitalyVitaly 10/26/2021 at 13:480 Comments


Keep in mind, this is rework of Many things are very similar. Let's describe difference.


Currently, many chips become not accessible (very high priced). MCU is changed to  STM32G030F6P6. It has no USB support (no easy flash without programmer), but has low price and better performance.

Appropriate components, related to USB uploader, are removed. Also, removed ADC power filter, because new MCU usees the same pins for digital & analog power.

Motor's commutator

For FFT-based frequency detector we need PWM instead of phase control. So, instead of triac we use rectifier + mosfet + anti-spike diode.

Note, most of brushed motors (without magnets) are "universal". That means, those works well with both AC and DC power. In theory, those need some correction of winding count for DC power. But in real world, those work "as is".

Current sensing shunt amplifier

Since FFT-based algorithms are well resistant to noise and DC drifts, shunt amplifier is replaced with INA180A2IDBVR - more cheap and more easy to mount.

AC-DC power

Schematic is the same, but step down output increased to 5.5 volts for more stable mosfet control. Also, LDO replaced with more simple, supporting 6 volts input.

Voltage sensor

FFT frequency detector requires only value of current to work. No voltage sensor needed. Appropriate components are removed.

Other advantages

New regulator should be very flexible. For example: