Summary of AN857 Sensorless Brushless DC Motor Control using PIC16F877 with Proteus Simulation
This project implements sensorless BLDC motor control on a PIC16F877, using BEMF sampling instead of Hall sensors. It demonstrates closed-loop speed control, six-step commutation, PWM modulation, and automatic acceleration/deceleration, and is fully testable in Proteus VSM. Firmware uses Timer0, Timer1, ADC, and CCP modules with lookup tables for timing and commutation; BEMF is sampled at 1/4T and 3/4T and compared to half the supply voltage to adjust speed.
Parts used in the AN857 Sensorless BLDC Motor Control Project:
- PIC16F877 microcontroller
- 3-phase Brushless DC motor (BLDC)
- Potentiometers (two: PWM control and offset)
- Resistors (voltage dividers and pull-ups)
- Capacitors (ADC filtering and decoupling)
- Crystal oscillator (20 MHz)
- Proteus VSM simulation components
- External power drivers and protection circuitry (for higher-power implementations)
- How does the project detect rotor position without Hall sensors?
It measures back electromotive force (BEMF) on the floating motor phase and compares sampled values to half the supply voltage to determine commutation timing. - Why is BEMF sampled at 1/4T and 3/4T?
Sampling at 1/4T and 3/4T helps estimate the zero-crossing point while avoiding noisy edge transitions. - Can this project be simulated in Proteus without a motor model?
No, accurate BEMF behavior requires a BLDC motor model in Proteus VSM for correct simulation. - Why is Vsupply divided by two in the detection logic?
The firmware uses Vsupply/2 as the reference threshold for comparing BEMF to decide acceleration, deceleration, or locked speed. - What microcontroller modules are used to implement timing and sampling?
Timer0, Timer1, ADC, and CCP modules on the PIC16F877 handle timing, commutation triggers, and BEMF/supply sampling. - Can this design be ported to other PIC microcontrollers?
Yes, but timer, ADC, and CCP configurations must be adjusted for the target microcontroller. - What happens when PWM is set to maximum?
The firmware enters full-on mode and disables PWM modulation. - Is Hall sensor input supported by this design?
No, the design is purely sensorless and does not support Hall sensor input. - Why is Timer0 used alongside Timer1?
Timer0 synchronizes PWM timing and speed ramping logic while Timer1 and CCP handle commutation events. - Can this control higher-power motors?
Yes, but appropriate external power drivers and protection circuitry are required for higher-power motors.