Best way to drive a Spindle / Brushless motor from a HDD - Page 1
Forum section: electronics / general

author: andrebarata
author_rank: Newbie
timestamp: August 14, 2011, 04:04:56 am
content: Hi Dave and fellow EEVBlog fans,Yesterday i took a Hard disk apart and I the quality of the materials, the motor, the speed, etc, just left me with a feeling that me and other people could do realy cool stuff out of it.So i went on youtube and found some really cool DIY projects for this, like Clocks, POV effects, etc.Anyway, what i thought would be really simple like driving the main motor, turned out to be more complex that i thought. Because this kind of motor has no metal brushes inside to apply the current to the electromagnets, so that it can run faster.I don't wanna hack the board from the drive, instead i wanted to create my own circuit to drive it.So after a little Googling, i found that what i need is to generate a three fase signal on about 12V and 1.5 peek amps.basically it works as 3 electromagnets (in an arrangement something like the flux capacitor. so that the three electro-magnets have a common ground and should drive a rotative magnet within.Something like this:Here is a litle recording i did of my HDD:(you can see it has the 4 pins)So in your opinion what would be the best way, or the most practical way to drive one of these motors? I guess the frequency a which the 3 sine wave or square wave signals would also need to ramp up from 0 to keep up from the physical inertia of rotating the disk... and it would be nice to achieve about 7000 rpm like the original driver.So what do you think? do I need a micro-controller? is analog circuitry really necessary? can it be decently done with some simple chips like the 555 or others?Maybe you could do a blog on this.Oh, Since this is my first post, here goes a little introduction:My name is Andre Barata, I'm a 30 years old Portuguese software developer, and i guess I'm returning to be a electronics hobbyist mostly because of EEVBlogI love the show and hope it gets better and better. Dave keep on the good work, and i know the tutorials are harder than reviews and teardowns, but I defenetly enjoy the tutorials more, so i hope you can get the time for it, maybe show some of your old projects or concepts that died, or just cool ideas from the comunity.Thanks,Andre

author: Unknown
author_rank: Unknown
timestamp: August 14, 2011, 04:41:20 am
content: Welcome aboard AndreI think you should be able to do it with a 555 and a shift register like 74LS74.Check out4-Bit Shifter

author: IanB
author_rank: Super Contributor
timestamp: August 14, 2011, 05:27:51 am
content: See here for some eye-opening results from this kind of motor:http://www.flyelectric.ukgateway.net/motors.htmFancy running your optical CD-ROM drive motor at 400 W? Fear not, it is possible. Even 1-2 kW from tiny little brushless motors is possible...It seems like off-the-shelf drives are used to power these. I don't find much description of the electronics but it seems to be standard RC hobby gear rather than home-build. Like these, for example:http://www.advantagehobby.com/?cat=362&refine_price=2

author: BBQdChips
author_rank: Contributor
timestamp: August 15, 2011, 10:43:27 pm
content: I'd check with a meter to see if that is truly what you've got. While I would expect it to be a 3 Phase BLDC, I can't imagine it's a 3 phase stepper (as suggested by your above diagram). I could be wrong.You will need some sort of active control with feedback to get any sort of performance at all. 7Krpms is cooking along pretty good, and you're certainly never gonna get there with a 555. Usually on a bldc, there is either some sort of electronic feedback to give you rotor position and commutation info, or you're measuring back emf to know when to fire the next phase. For a HDD, most likely the latter.All the microcontroller sites have data on how this is done in their App Notes sections. Usually there's example code as well.

author: seattle
author_rank: Contributor
timestamp: September 10, 2011, 04:03:04 pm
content: Search for HDD motor on RCGroups.COM and you'll see a long list of things folks are doing with brushless motors removed from old HDD.But since that craze started a few years ago, there have been a flood of chinese brushless motors that have become available for RC (see hobbyking.com) and the HDD motors have fallen out of favor.Driving them is another matter altogether. You will not drive this with a bit of discrete logic. They needs lots of software to do anything useful. Again, see on RCGroups.com and you'll see a long list of folks building their own BLDC controllers.

author: Zero999
author_rank: Super Contributor
timestamp: September 10, 2011, 04:46:28 pm
content: The simplest solution I can think of is a ring oscillator. The output from each gate will be 120oout from its neighbour.

author: Nermash
author_rank: Frequent Contributor
timestamp: September 10, 2011, 05:58:18 pm
content: I remember seeing Microchip app note a while ago, specificaly for PIC mcu driving a BLDC motor. In order to allow loading of a running motor, you need to sense phase position via back EMF, as one forum member previously mentioned. If you load the motor, RPMs will drop, and without the driving logic knowing this you will loose sync.

author: seattle
author_rank: Contributor
timestamp: September 10, 2011, 09:12:47 pm
content: Yes, they have to be driven closed loop. The one exception is during startup. On a sensorless motor, the motor controller will blindly ramp increasing PWM widths to the phases at increasing speeds. Prior to seeing the BEMF, you are operating on faith that the motor is turning. This requires you to know somethign about the motor characteristics too. If the motor is stalled for some reason, there's a risk something will smoke (motor or controller).Once the BEMF is visible, you switch to closed loop mode and track the zero crossings.On a sensored brushless motor, you are closed loop all the time. A HDD is generally not sensored. Sensored motors are used where you might have a stall condition that you must know about, or when you want to operate closed loop at very low RPM or when you need enormous amounts of startup torque for a valid near-stall condition.

author: westfw
author_rank: Super Contributor
timestamp: September 13, 2011, 09:35:55 am
content: It'd be a great project for the 7400 contest...There are a couple of interesting possibilities:1) full power motor driver. Bipolar drivers are each phase 12V@1A or so; not at all trivial.2) low power driver. Say 5V at 100mA (approximately what you could abuse 74AC logic intro producing.)3) Stepper-motor behavior. (From what I've read, there's a significant problem in synchronizing the power applied with the actual rotation. Do it slightly wrong an you lose all the power. But moving one step at a time should be easier.)

author: Zero999
author_rank: Super Contributor
timestamp: September 14, 2011, 10:31:39 pm
content: Try this ring oscillator which uses the motor's inductance as a timing element. You may need to add an RC circuit to each stage as it may oscillate at too higher frequency for the motor to start.

author: Kozmyk
author_rank: Regular Contributor
timestamp: September 16, 2011, 02:58:42 am
content: If you want the adventure of building a controller/driver circuit that's fine but if all you want to do is get the motor to spin I'd look at a cheap ESC from HobbyKing or the like, as mentioned above.The kind they use to drive brushless motors in radio control models.They're rated by supply voltage and output current.The voltage handling is often stated in "s" units. 1s = 3.7V (nominal LiPo cell voltage)I don't suppose an HDD motor needs a lot of current so a low current ESc would only be a few dollars.Some model car motors use built in sensors but most brushless models use sensorless, using the undriven winding as a sensor source.http://www.hobbyking.com/hobbyking/store/__452__182__ESC_UBEC_VR-Under_20_Amp.htmlThese ESCs are usually driven by an RC receiver output but you could provide your own PWM signal OR get a Servo tester which will give you a compatible control signal and a knob to play with.If you're ESC has a BEC( battery eliminator circuit) then you can power the tester from there instead of finding a separate 5V supply.http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=14774The ESCs operate on a 1ms to 2ms pulse width (freq 30Hz-50Hz) the same as the actuator servos.1ms = 0%, 2ms = 100%http://pcbheaven.com/wikipages/How_RC_Servos_Works/