Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Using Hard drive voice coil servo.

Status
Not open for further replies.

dr pepper

Well-Known Member
Most Helpful Member
I'd like to use a hard disc head positioning servo mech in conjunction with a microcontroller as a servo for a mirror positioner.

Positional feedback is an issue, originally feedback to the headpositioner in a drive is from servo data written to the disc, the control 'knows' where the head is by the data on the disc.

The question is how is the voice coil controlled, using a scope on an old drive you can see there is obviously ac present, so I put a circuit togther that reverses the polarity acrross the coil controlled by a pwm output from a pic, it works but the coil gets to its full movement within a small deviation from 50% symmetry, and its just as good at making sound as it is motion.

I'm assuming that a drive somehow 'holds' the head in a certain position, you can see this when playing with one with the lid off, is the held actually held or does the drive sense a small motion and correct itself.

Yes I know a drive is dead the moment the lid is taken off.
 
Hi,

The CD drive does it by using something like 4 sensors. When it is out of focus the outer sensors pick up more signal than the inner sensors, and then there is a tracking error the sensors on one side pick up more light. It's only when they all pick up the same amount of light is it both on track and in focus. The feedback circuit uses this information to adjust both the focus and the tracking.

I dont remember now how a hard drive does it, but since you are not going to use a hard drive platter (or a CD) you dont need to know that anyway right? You're going to control a mirror so you want to use a sensor that can sense the angle(s) of the mirror and use that as feedback. You're developing your own system anyway with your own sensors.

So possibly you can use hall effect sensors and small magnets. You might also look into solar array tracking methods which would be similar in principle. Whatever you do you might want to include a calibration phase to get things lined up, possibly automatically. It depends how much of an angle(s) you need and also how much accuracy you need.
 
Last edited:
Thanks mr al, actually interesting about CD focus, didnt know that.

Yeah I was thinking maybe a opto interrupter type affair for a home position sensor.

The thing that hangs me up is how linear motors are driven, if there was a spring return that'd make things simpler, but there isnt, I'm wondering if the controller in the drive just gives the voice coil a bump one polarity to go one way and the other polarity to go the other.
Even the flexible pcb that carries the signals for the coil and the heads pulls on the arm assy, making me thing theres a technique to making the motor hold position.

I made a basic solar tracker, just uses a servo and a couple of norp12 photoresistors, I was gonna build a r/c compatible servo using a wiper motor to swing a bigger panel but never got round to it, the pid system put me off.
 
Last edited:
Not sure how relevant this is, but in an old hard drive I took apart some years ago the heads were positioned not by a 'voice coil' but by a nut running on a threaded shaft rotated by a DC motor. The shaft had a slotted opto sensor (IIRC there was only one) to feed back position info. Friction of the nut/thread was probably enough to hold position.
 
Last edited:
The hard drive uses the servo data written on the disk to hold the head on track. Since you have no disk you have nothing to servo on, You need some form of feedback for position.
 
Since you're driving a mirror, you could bounce a small (pointer) laser into a photo-transistor array (flatbed scanner sensor). Not easy, but fast & accurate.
 
Very old seagate drives used a stepper motor to position the head yes.

Looking at a datasheet for a hard disc srvo controller it looks like current feedback is used, so the drives command is direction and force, maybe there isnt a head hold output from the controller.

Yes good idea about the scanner array, something on those lines would be good.
 
...it works but the coil gets to its full movement within a small deviation from 50% symmetry...

Reduce the voltage to the coil (which reduces the current through the coil) and you should get a better range (I think).
 
Last edited:
Hi again,


dr pepper, how much (angle) range do you need and what kind of accuracy are you after here (degrees)?
Care to share what you plan to use this for too? That might help determine how to go about this.
Depending on the accuracy and angle range the sensor could be as simple as a shaft encoder like that used in a mouse for the mouse wheel or better.
Also, car manufacturers have been making electrically adjustable mirrors for decades now, so that might work too. They can rotate in two planes: pan left and right and tilt up and down.

A voice coil can be energized in both directions, making it push in for one current direction and pull out for the other current direction. You would use this for very very precise control but not so precise that you would require a piezo element.
 
Last edited:
Reducing the voltage, good idea, I've been running it on my bench supply so thats easily done. if that improves things I might try using 2 pwm's, one to select the polarity and the other for the effective voltage.
The L298 I'm using has an enable input so I can drive that with pwm.

I'm prototyping a simple system that will find the edge of a web of paper on a paper machine and project a line a set distance from it as a setup aid, and I dont want any of the device close up to the paper, but be fastened to a bracket some distance away.
I need the speed to produce a laser line, and repeatability is important.
 
I added a spring to the servo, Its now a single polarity servo, and still is still fast enough.
I spose it is now basically the same as a speaker voise coil.
 
Status
Not open for further replies.

Latest threads

Back
Top