Using old HDD motors

Hard drives have high-speed low-profile motors that can be re-used. More often than not it's the logic board that fails in a hard drive and the motors are OK

This is a simple program for a PIC16F84 that changes the bit pattern for switching the FET coil drivers. The most important part of this program is the table of values stored in the EEPROM, because this pattern sets the phase relationships between the FETs and consequently the voltage waveforms that the coils see. The oscillator speed of the PIC is not important in this particular program as the changes are being instigated by an external clock.

The motor needs to be started at a low speed (less than about 6 revs/second) and slowly accelerated to the final required speed. You can hear this acceleration as a rising whine in a working drive in a PC when it powers up after being shut down. If the final speed is always to be the same then a routine could be written in the micro that slowly decreases the interruption of a timer loop to accelerate the motor from low power-up speed to final speed.

Hard drives with this motor usually run at 3000rpm (50 revs/second) when working in a PC, but the speed can be set anywhere from a few revs/sec up to about 55 rps, at which point the motor will not be able to keep up with the driving wave and stop. At 12V the torque is not too bad, and the bolt holes that are used to attach the platters can be used to fix a pulley or gear wheel for a step-down motion drive. Other uses could be spinning a propellor clock, fan, or sensor. At 5V supply the motor will still spin at the same speed as it would at 12V (because it's being driven by a frequency) but has very low torque. It will not self-start at 5V. Current consumptions are ;

12V  10rps  (  600rpm)  200mA
12V  50rps  (3000rpm)  110mA
  5V  10rps  (  600rpm)    40mA
  5V  50rps  (3000rpm)    20mA

The motor should be mounted on a heatsinking chassis to help keep it cool if run for extended periods. The FETs (rated at 0.7A to 1.1A) will normally run cool

Download  HDD motor driver

Typical HDD motor (Shinano Tokki Corp or Sankyo from a Conner CP3010)

;hddmotor.asm - driver for 3-coil HDD motor

;Look for external clock on a3 and change FET-driving bit pattern

clock    equ porta.3    ;i/p clock

;EEPROM bit patterns

ee1      dbee  24h   ;100 100
ee2      dbee  36h   ;110 110
ee3      dbee  12h   ;010 010
ee4      dbee  1bh   ;011 011
ee5      dbee  09h   ;001 001
ee6      dbee  2dh   ;101 101

index    rb    ;RAM byte for counter


movlw  08h
tris  porta
movlw  00h
tris  portb
movlw  80h
clrf  index
movlw  24h
movwf  portb

clocklo    ;main loop

btfss  clock       ;wait for ext clock to go high
goto  clocklo

change    ;

movf  index,w    ;get next bit pattern from EE
movwf  eeadr
call  readee
movwf  portb

incf  index,f
movlw  06          ;loop for 6 EE locations
xorwf  index,w
btfss  zero
goto  clockhi
clrf  index

clockhi    ;

btfsc  clock       ;wait for clock low
goto  clockhi
goto  clocklo     ;next clock, next pattern

readee    ;get next pattern

bsf  rp0
bsf  rd
bcf  rp0
movf  eedata,w

Other useful bits in hard drives

One of the things disks can be used for is making wind chimes. Below is a picture of some in my stash recovered from various drives. From top to bottom in the pile are 65mm, 95mm and 130mm disks. Under that is a picture of the two types of finishes. On the left is the older red copper and on the right is the newer bronze, which can be anything from light smokey brown to almost black. Both are very smooth and reflective. The bronze ones tend to be thinner and so have a better ring, whereas the red copper ones have more of a clungy bell sound. The best way to hang either is to have minimal contact by forming a wire "V" for the disk to sit in. The "V" has a flat at the bottom of it at least as wide as the thickness of the disk. Doing this allows the disk to vibrate freely, more so for a disk that's suspended close to the centre hole. Either 4, 5 or 6 disks can be hung from threads or wires (shown here using some enamelled wire scavenged from an old TV choke) and allowed to swing into each other, or the disks can be hit by a centre clanger. Or both if you want a lot of noise (personally I like my peace and quiet and generally make them only for people who don't live near me !!)