Electrical · Controls & Automation
Closed-Loop Motor Speed Control (PID)
Build motor controller with encoder feedback implementing advanced PID algorithm. Achieve stable speed under load. Show response curves and tuning results.
Major
Electrical
Focus area
Controls & Automation
Total hours
30-40 hours
What you'll need
- DC gear motor with encoder 12V for Arduino
- L298N dual H-bridge motor driver module
- Arduino Uno R3 ATmega328P microcontroller board
- 12V 2A DC power supply adapter
- DC electronic load module constant current tester
As an Amazon Associate, I earn from qualifying purchases.
Steps
- Wire the encoder motor, L298N driver, and Arduino, and power the motor from the 12V supply.
- Read the encoder pulses and convert them to motor speed in RPM.
- Run an open-loop test and record how speed drops when you add load with the electronic load module.
- Code a PID loop that adjusts the motor's PWM signal to hold a target speed.
- Tune the P, I, and D gains and record rise time, overshoot, and settling time for each setting.
- Plot your step response and load disturbance curves and document the final tuning for your portfolio.
What to photograph for your portfolio
- Speed response curves
- load disturbance test
- PID tuning
- real-time display
- settling time
Resume bullet starters
Copy one, then swap in your own numbers.
Designed and built a closed-loop motor speed control using Control systems, PID tuning, Arduino
Applied embedded programming and feedback systems to implement, test, and validate the system end-to-end
Quantified performance with [insert your result, such as accuracy, error reduction, response time, or load capacity] after iterative tuning