Fixing the Nidec 24H055M020 Gritters & Achieving Precise Measurement
by NewsonsElectronics in Circuits > Arduino
559 Views, 1 Favorites, 0 Comments
Fixing the Nidec 24H055M020 Gritters & Achieving Precise Measurement
Does your Nidec 24H055M020 have the jitters? Or are you missing the wiring diagram? I reverse-engineered how these motors work and ended up winning a prize for it. The company that sells them gifted me a box of motors after I figured out the correct wire diagram.
Link to the full video explanation
Supplies
Nidec 24H055M020 BLDC motor→ Amazon.ca , Amazon.com , Taobao
Arduino UNO→ Amazon.ca , Amazon.com
Fixing the Gitters
The motor’s “gitters” were caused by improper timing of the PFM (Pulse Frequency Modulation). Initially, I was manually bit-banging the frequency to reach a high 16 kHz, but it wasn’t very clean. Later, I discovered that using the tone() function native to the Arduino Uno produces a much cleaner signal.
The key takeaway: avoid any delays in the main loop of your code.
Previous approach (bit-banging Timer1 PFM):
Simpler, cleaner approach:
Wire Diagram
Nidec 24H055M020 Wiring with Arduino Uno
Motor Pins and Connections:
- Pin 1 – PFM (Speed): Connect to Arduino PWM pin (e.g., pin 9). Use tone(pin, frequency) to control speed (250 Hz – 26 kHz). +1 kHz ≈ 150 RPM.
- Pin 2 – Enable: Connect to 12V to enable motor. GND = standby.
- Pin 3 – Brake: GND = brake ON, VCC = brake OFF. Connect to Arduino pin if you want software brake control.
- Pin 4 – Direction: VCC = CCW, GND = CW. Connect to Arduino digital pin for direction control.
- Pins 5, 6, 7 – N/A: Not connected.
- Pins 8, 9, 10 – GND: Connect to Arduino GND and power supply GND.
- Pins 11, 12 – VCC: 12V motor supply (10–13V).
Base Code Using Tone()
Percise Distance Measurement
Since we know that a 1 kHz increase in PFM corresponds to roughly 150 RPM, we can use this to calculate the linear distance a belt moves. By placing a pulley on the motor shaft, if we know the diameter of the pulley, we can multiply it by the circumference of the gear and the RPM to determine the linear displacement of the belt
Full code
Stay tuned for more projects using these motors! A major build is currently in the works. In the mean time you can subscribe to my channel. Newsons Electronics - YouTube