16F84A Spindle Motor Control

In this post , we 'll see how to control a spindle motor using the Microcontroller PIC 16F84A.
The spindle motor is a special type of Brushless DC ( BLDC )Motor that runs on high speed.

Unlike other types of motors, spindle motors have more than 2 terminals ( They can have 3 , 4 or five terminals ) .
Thus , the spindle motor is driven by switching its coils ON and OFF according to certain sequence. The function of the microcontroller is generating the driving signals.


Of course, the output current of the Microcontroller is not sufficient to drive the motor coils. There is an interfacing IC that can supply the motor coils with the suitable driving current. 

This IC is ULN2003. It acts as an electronic switch opened and closed according to the output signals of the Microcontroller.


I connected the ULN2003 IC to the Microcontroller on the prototyping bradboard.



This is the real circuit connection






As you can see , I used an old hard disk drive motor. This is a three coil spindle motor. Actually it has 4 terminals ( 3 Coils and 1 Common ).






You can see the four terminals on the back of the motor