CD-Drive motor controllers

If you are anything like me, you probably have a lot of computer hardware. You probably also know places to get hardware for cheap or for free. A few months ago the company I work for decided to replace their company computers with some new Dells, the result of this being that there were about 60 retired computers of varying age and reliability, suddenly spare. Most of the good ones were reused, while the broken and really old ones were scrapped. Out of this I managed to get hold of about 20 faulty CD-ROM Drives, and set about reusing the parts from them.

One of the parts that is very popular is the spindle motor from CD-ROM Drives. It is a motor that can be both fast and provide high torque as they are very efficient. They are also quite light, which results in a high power-to-weight ratio. Indeed, because of these traits CD drive motors are highly sought after in the RC Aircraft community.

Well, I just got about 20 of them and I have a few projects I want to build that could make use of them (e.g. a Tesla pump would be cool).  But before I can, I need to work out how to run them.

Not your normal motor

Most low-voltage motors you come across are DC motors: they have a mechanical brush commutator and draw DC at the required current. Very simple really, but not very efficient. AC motors are far more efficient, and are mechanically simpler, but things like precise speed control are very hard to do (and they still need brushes, which causes wear).

CD drive spindle motors come from a branch of motors called BLDC (BrushLess DC). These motors use DC current, but have no brushes. They are said to be Electronically/Electrically commutated. This is one of the reasons for their impressive performance and low weight.

If you want more background on the theory behind BLDC motors (and motors in general), have a look at this site.

Unfortunately, electrical commutation is also one of the main reasons BLDC motors haven't replaced conventional motors, despite their advantages. Every BLDC motor needs some complex circuitry in the form of a controller in order to function. 

This article seeks to find a cheap, easy to build method of getting your motors to run (note: seeks. It doesn't mean we will manage, but we will try :) ).

 BLDC Basics

BLDC motors are really AC motors, it is the controller implementation that makes them DC. Most BLDC motors are 3 phase motors, so they have poles that are sets of three (e.g. 3 poles, 6 poles, 9 poles, 12 poles, etc...). You can connect a BLDC motor to a three phase AC current and it should work fine, just as you can connect them to a Controller which uses DC.

There are generally two methods of winding BLCD motors, Delta and Wye:

The trade-offs are as follows:

As we can already see, it would make sense that a CD-Rom motor is a Delta configuration, as high speed is more important than low speed torque (a plastic disk is not that heavy, so it does not need a lot of energy to accelerate). Likewise, it is most likely that BLDC motors used for things like fans are probably of the "Wye" configuration, as pushing air at slower RPMs can contribute to quieter operation.

A quick way of getting a rough idea of what type of winding you have is to look at the number of connectors you motor has.  Delta configurations usually have 3 connectors, while "Wye" 4. Note that this is just a rough estimate, you can get either configuration with 3 or 4 wires, but it is still useful as quick initial identifictaion (further observation using a multimeter can confirm).

 As for controlling them, most digital controllers will happily work with both, but some cheap controllers will only work with the "Wye" configuration (and of those, only the 4 wire version), as they need the centre point to function.

Anatomy of a CD-ROM Motor:

Here is a spindle motor, already removed from the drive:

The motor is of the "outrunner" type, this means that the rotor is external, and the stator is inside. As such, the rotor is easily removed (you just pull it off).  What you see after that is the stator and wiring, as shown:

In order for a BLDC motor to be electronically commutated, you need to know the position of the rotor. There are two ways of doing this. The first is to use the back-emf from the coils for positions, and the second is to use external sensors. The most common way is to use external sensors, usually hall-effect sensors. In this case, the CD-Drive spindle motor uses hall effect sensors, as shown below:

As you can see, there are three connections for the BLDC coils, making it likely that the motor is Delta wound. To double check we can measure the resistance. If you look at the winding schematic again:

...you can see the three resistances, and reading from different points will give us a clue as to the winding. For example, in the Wye configuration (assume all values of R are equal), the centre point will have a resistance of R, while points N1,N2 and N3 will have a resistance of 2R between them. The Delta configuration does not have the centre point, so all points will have an equal resistance.

Indeed when measuring my spindle motor, it had the same resistance across all three pins, so I can assume that the motor is of the Delta configuration.

 

Controller Designs/Options

Option 1: Reusing parts from old computer Fans 

 A few people emailed me asking if it was possible to reuse the controllers from common computer fans that have failed due to mechanical wear. Now, these fans are BLDC fans, but they are not 3 phase. If you look at a computer fan you will see that they have 2 sets of windings, as shown:

As it only has two poles, it is only two phase, as such the controller is also only 2 phase, and will not run 3-phase BLDC motors (such as the CD-ROM motor, and most ones you will find). It would have been great if they were 3-phase, as they would then be a cheap source of BLDC controllers that can be used.

As far as I know, there is no way of getting a 3-phase motor running off a 2-phase controller, so this idea is unfortunately not going to float, we have to try something else.

 

Option 2: Using an AC Syncho drive

As we mentioned, the BLDC motors are related to 3-phase AC synchronous motors, and controllers for those have been around for decades. They are also quite simple to make. All you need really is a 3-phase oscillator ( at 120 degree phase ) and a method of  driving the motors.

The problems with this setup include the fact that you are limited to (relatively) low RPM's, I'm told that high rpms would result in the motor just oscillating. Also the transistors used for driving the motor would be on all the time (as opposed to just firing in pulses), so it is less efficient.

 


Reference

The links below are random sites I have come across so far, that I am hoping will help me understand BLDC motors enough to finish this write up. If you know of any good sites, drop me a line from the About contact me page. Thanks!

http://ww1.microchip.com/downloads/en/AppNotes/00885a.pdf

http://forum.allaboutcircuits.com/showthread.php?s=1563085f7dccb2dce6afcbff82eec8ea&t=10959&page=4

http://forum.allaboutcircuits.com/showthread.php?s=a58e5efe755b02137ddc933ea1e32466&t=7649

http://forum.allaboutcircuits.com/attachment.php?attachmentid=2851&d=1208572583&s=d8d8ed504dcaeef4aa92217e70060bf0&

http://forum.allaboutcircuits.com/attachment.php?attachmentid=2855&d=1208619279&s=e9f49f47f231eea2f596e51e9a9b58df&

http://www.viciousbunny.net/images/3phaseOscillator.jpg

 

http://en.wikipedia.org/wiki/Inverter_(electrical)

http://en.wikipedia.org/wiki/Variable-frequency_drive

http://en.wikipedia.org/wiki/Silicon_controlled_rectifier

 

http://digilander.libero.it/bubblegate/eindex.html

 

http://www.stefanv.com/rcstuff/qf200212.html

 http://lyncas.googlepages.com/bldcpics

 

http://radiocontrol.wikia.com/wiki/Brushless

 

http://www.rcgroups.com/forums/showthread.php?t=140454

http://bldc.wikidot.com/p-esc-motor

http://www.freescale.com/files/microcontrollers/doc/train_ref_material/MOTORPRINTUT.html

http://home.versanet.de/~b-konze/index_en.html

http://www.angelfire.com/blues/heli_project/brushless.htm

http://www.rcgroups.com/forums/showthread.php?t=261316

http://aquaticus.info/BLDC_controller

http://aquaticus.info/BLDC

http://www.turbinemuseum.de/Modellbau/BLMC__UK_/blmc__uk_.html

http://www.speedy-bl.de/speedybl-e.htm