Summary of Sensored BLDC Motor Control using dsPIC33FJ12MC202 with Proteus Simulation
This project demonstrates sensored BLDC motor control using a dsPIC33FJ12MC202 in a Proteus simulation, combining Hall sensors, MCPWM, ADC-triggered sampling, and timers for commutation and speed control. A potentiometer provides duty-cycle speed input; Input Capture and Timer 3 measure rotor speed. The firmware follows Microchip AN957 and initializes ADC, MCPWM, Input Capture, and timers for synchronized, deterministic motor control and is suitable for learning and firmware validation before hardware tests.
Parts used in the Sensored BLDC Motor Control using dsPIC33FJ12MC202 with Proteus Simulation:
- dsPIC33FJ12MC202 microcontroller
- BLDC motor (star connected)
- Hall effect sensors (A, B, C)
- Potentiometer (speed input)
- Resistors (pull-ups, current limiting)
- LEDs (status indication)
- MCPWM hardware module (on dsPIC)
- Timers (TMR1, TMR3)
- Proteus VSM simulation environment
- Why use Hall sensors in BLDC control?
They provide accurate rotor position for reliable commutation. - Can this project run without hardware?
Yes, it is fully designed for Proteus simulation. - Which PWM mode is used?
Independent PWM mode with output override control. - How is motor speed measured?
Using Hall sensor transitions timed by Timer 3. - Can the PWM frequency be changed?
Yes, by modifying FPWM and PTPER. - Is this compatible with other dsPIC33 devices?
Conceptually yes, but register mapping may differ. - Why trigger ADC from PWM?
It ensures synchronized sampling with motor switching. - Can this be extended to closed-loop speed control?
Yes, by adding a PID controller in firmware.