Hard Drive Motor: Introduction

Given the large request for information on this project, here it is! (I'll update this as I go along)

Many people have asked me for the schematic of the controller I used in my youtube video about the hard drive motor (you can see this video under the Projects tab). I haven't made a proper digital version yet, but it is soon to come!

A brief explanation of the controller's operation while you wait for the schematic to appear should help:

Brushless DC motors are very much like brushed DC motors but without the brushes. If you take the brushed version apart you can see that there are multiple coils wound around the rotating core (armature/rotor) and these pass by the permanent magnets (stator) as the motor operates. Obviously if the coils are to exert torque on the rotor they must be at the correct angle relative to the magnets and this is why there are multiple coils. If you had just one coil, it would only be able to generate torque for a small portion of the rotor's travel until it made it around the next rotation. If you keep adding coils the motor gets smoother since you can angle each coil a little further than the previous one and get many possible torque angles and thus smooth operation.

This is all well and fine but something must provide power for each coil in sequence so that they can generate the most torque. In a brushed motor, the commutator brushes perform this function by connecting different coils to the power supply based on the angular position of the rotor. There are drawbacks with this design such as the fact the commutator eventually wears out, it wastes some energy in the form of sparks, it exhibits some resistance and thus wastes more energy, it makes noise in all but the best-made motors, and it doesn't provide the most optimal commutation sequence for efficient operation. Still it is a very cheap and effective way of turning those coils on and off in sequence and so many motors are made this way.

In comes the brushless version: no commutator to make noise, wear out, waste power, etc. The commutation must now be controlled electronically with a somewhat complicated circuit. The circuit has the requirement of sensing the rotor's position in order to know which coil to turn on next and keep the motor spinning efficiently. This is implemented with various sensors: the most common are hall effect sensors or optical sensors since they respond very quickly and require no physical contact with moving parts. A more recent and very popular development is a controller which can sense the motor's position based on voltage generated by the motor back through its coils as they cut the internal magnetic fields. I will not elaborate on the sensorless version at the moment; I'll discuss it in the future.

The hall effect and optical sensor versions which are found in many applications are relatively easy to deal with if their wiring arrangement is known. I will later provide information on how to determine the wiring configuration of various motors. The important thing here is how the circuitry will know the position of the motor using these sensors.

For three phase motors (virtually anything you're bound to find), there will be three sensors positioned at the same angles as the poles in the motor. Some motors have many poles, and some have few, but this is irrelevant here since the three-phase drive will work the same way in all cases. The sensors are aligned such that they transition on or off at the correct time for the circuit to switch on the next coil in the sequence. This allows the whole thing to keep working no matter what speed it's at.

In the most basic sense the circuit works like this: turn on the coil associated with the sensor that has just transitioned. The circuit has three major pathways to do this, one for each of the three coils in the three phase motor.

In actuality this is a little more complex because the motor controller needs some logic circuitry to make the waveforms correct for efficient operation.

Previous page: Preamp
Next page: Schematic and Description