CD-ROM BLDC motor controller using PIC18F4550 and L293D – CCS C

BLDC Motor controller using PIC18F4550 and L293D
 PIC18F4550 L293D BLDC ESC circuit

In the following topic URL we’ve seen how to control BLDC motor speed and direction of rotation using PIC18F4550 microcontroller and 3-phase bridge circuit:
CD-ROM Spindle motor (BLDC) control with PIC18F4550 – CCS C

This topic shows how to make the same controller using L293D motor driver instead of the 3-phase bridge circuit.
The 3 phase bridge is more complicated and expansive and while the L293D motor driver chip is a small, cheap and saves time.
In this project we need two L293D chips because the BLDC motor is a three phase motor, and at any time two windings energized while the third one floating.
The L293D has 4 inputs and 4 outputs with 2 enable pins, each enable pin controls 2 outputs as shown below:
L293D for BLDC motor

Complete circuit schematic is shown below:
PIC18F4550 L293D brushless DC motor ESC circuit
In the circuit there are 3 buttons connected to RB0, RB1 and RB2. The buttons connected to RB1 and RB2 are used to start the BLDC motor and the other button is a stop button.
The BLDC motor speed is controlled using a potentiometer connected to AN0 channel.
There are 3 AND gates (HEF4081BP) in the circuit, these gates are used to get a 3 PWM signals from the original one which comes from RC2 pin using CCP1 module.
HEF4081BP has 4 independent 2-input AND gates, three of them are used. This IC needs a supply voltage of +5V between pins 7 (GND) and 14 (VCC).
PIC18F4550 microcontroller internal oscillator is used (8MHz).

BLDC Motor control using PIC18F4550 and L293D CCS PIC C code:
The C code below was tested with CCS C compiler version 5.051.

BLDC Motor controller using PIC18F4550 and L293D video:
The following video shows project hardware circuit.

Microchip: Sensored BLDC Motor Control Using dsPIC30F2010 (AN957).
Microchip: Brushless DC Motor Control Made Easy (AN857).
L293D Datasheet.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.