Portal for car enthusiasts

Starting the engine from hdd. How to connect a motor from HDD, CD, DVD (available motor controller chips and wiring diagram for brushless three-phase motors)

Somehow a long time ago I came across a driver circuit stepper motor on the LB11880 chip, but since I didn’t have such a chip, and there were several engines lying around, I postponed an interesting project with the launch of a motor on the back burner. Time passed, and now there are no problems with the development of China with details, so I ordered an MS, and decided to assemble and test the connection of high-speed motors from the HDD. The driver scheme is taken as standard:

Motor driver circuit

The following is an abbreviated description of the article, read the full one. The motor that spins the hard drive (or CD/DVD-ROM) spindle is a conventional three-phase synchronous DC motor. The industry produces ready-made single-chip control drivers, which, moreover, do not require rotor position sensors, because the motor windings act as such sensors. Control ICs for three-phase DC motors that do not require additional sensors are the TDA5140; TDA5141; TDA5142; TDA5144; TDA5145 and of course LB11880.

The engine connected according to the indicated schemes will accelerate until either the frequency limit of the VCO generation of the microcircuit is reached, which is determined by the values ​​​​of the capacitor connected to pin 27 (the smaller its capacitance, the higher the frequency), or the engine is mechanically destroyed. Do not reduce the capacitance of the capacitor connected to terminal 27 too much, as this may make it difficult to start the engine. The rotation speed is adjusted by changing the voltage at pin 2 of the microcircuit, respectively: Vpit - maximum speed; 0 - the engine is stopped. There is also a signet from the author, but I spread my version as more compact.

Later, the LB11880 microcircuits I ordered came, soldered them into two ready-made scarves and tested one of them. Everything works fine: the speed is regulated by a variable, it is difficult to determine the speed, but I think there are up to 10,000 for sure, since the engine is buzzing decently.

In general, a start has been made, I will think where to apply. There is an idea to make it the same grinding wheel as the author's. And now I tested it on a piece of plastic, made it like a fan, it blows just brutally, even though the photo does not even show how it spins.

You can raise the speed above 20,000 by switching the capacitances of the capacitor C10 and supplying power to the MS up to 18 V (18.5 V limit). At this voltage, my motor whistled thoroughly! Here is a video with a 12 volt power supply:

HDD motor connection video

I also connected the engine from the CD, drove it with a power supply of 18 V, because there are balls in mine, it accelerates so that everything jumps around! It’s a pity not to track the speed, but judging by the sound, it is very large, up to a thin whistle. Where to apply such speeds, that's the question? A mini grinder, a table drill, a grinder come to mind ... There are many applications - think for yourself. Collect, test, share your impressions. There are many reviews on the Internet using these engines in interesting makeshift designs. I saw a video on the Internet, there Kulibins with these motors make pumps, super fans, sharpeners, you can figure out where to apply such speeds, the motor here accelerates over 27,000 revolutions. was with you Igoran.

Discuss the article HOW TO CONNECT THE MOTOR FROM DVD OR HDD

. The topic is certainly interesting, especially for beginner radio "tormentors", but in my opinion it is far from being fully disclosed. Notlogical conclusion, namely what scheme was used by the much respected, TwIsTeRfor my decision, whether proposed (by my colleague in journalistic work)S anyaav on M/S TDA5145, MK or something else. With this article I want to fill in some gaps in the forum and tell, in my opinion, about an old microcircuit that is quite worthy even by modern standardsLB11880. And so let's get started and start with general information, what is an engine from HDD, CD-ROM, DVD-ROM

Hard drive spindle motor (or CD/DVD-ROM) is a synchronous three-phase DC motor.

You can spin up such an engine by connecting it to three half-bridge cascades, which are controlled by a three-phase generator, the frequency of which, when turned on, is very low, and then smoothly rises to the nominal value. Is not the best solution task, such a circuit has no feedback and therefore the frequency of the generator will increase in the hope that the engine has time to gain momentum, even if in fact its shaft is stationary. Creating a schema with feedback would require the use of rotor position sensors and several IC packages, not counting the output transistors. CD / DVD-ROMs already contain hall sensors, by the signals of which you can determine the position of the engine rotor, but sometimes the exact position is not at all important and you don’t want to waste "extra wires".

Fortunately, the industry produces ready-made single-chip control drivers, which, moreover, do not require rotor position sensors, the motor windings act as such sensors.Microcircuits for controlling three-phase DC motors that do not require additional sensors (the sensors are the motor windings themselves):TDA 5140; TDA 5141; TDA 5142; TDA 5144; TDA 5145 and of course LB 11880. (There are some others, but for another time.)

Schematic diagram of connecting the engine to the LB11880 chip.

Initially, this microcircuit is designed to control the BVG motor of VCRs, in the key stages it has bipolar transistors and not MOSFETs.In my designs, I used this particular microcircuit, firstly, it was available in the nearest store, and secondly, its cost was lower (though not by much) than other microcircuits from the above list.

Actually, the engine switching circuit:

If your engine suddenly has not 3 but 4 outputs, then you should connect it according to the diagram:

And another more visual scheme, adapted for use in a car.

A little additional information about LB11880 and more

An engine connected according to the indicated schemes will accelerate until either the frequency limit of the VCO generation of the microcircuit is reached, which is determined by the values ​​of the capacitor connected to pin 27 (the smaller its capacity, the higher the frequency), or the engine is mechanically destroyed.Do not reduce the capacitance of the capacitor connected to terminal 27 too much, as this may make it difficult to start the engine.

How to adjust the rotation speed?

The rotation speed is adjusted by changing the voltage at pin 2 of the microcircuit, respectively: Vpit - maximum speed; 0 - the engine is stopped.

However, it should be noted that it will not be possible to smoothly adjust the frequency simply by applying a variable resistor, since the adjustment is not linear and occurs within smaller limits than Vpit - 0, therefore the best option there will be a connection to this output of a capacitor to which, through a resistor, for example, a PWM signal is supplied from a microcontroller, or a PWM regulator on a world-famous timerNE555 (there are plenty of such schemes on the internet)

To determine the current speed, use pin 8 of the microcircuit, on which, when the motor shaft rotates, there are pulses, 3 pulses per 1 revolution of the shaft.

How to set the maximum current in the windings?

It is known that three-phase DC motors consume significant current outside their operating modes (when their windings are powered by low frequency pulses).Resistor R1 is used to set the maximum current in this circuit.As soon as the voltage drop across R1 and therefore at pin 20 becomes more than 0.95 volts, the output driver of the microcircuit interrupts the pulse.When choosing the value of R1, keep in mind that for this microcircuit the maximum current is not more than 1.2 amperes, the nominal is 0.4 amperes.

Parameters of the LB11880 chip

Supply voltage of the output stage (pin 21): 8 ... 13 volts (maximum 14.5);

Core supply voltage (pin 3): 4 ... 6 volts (maximum 7);

Maximum chip power dissipation: 2.8 watts;

Operating temperature range: -20 ... +75 degrees.


Here is this disk (albeit when there were no copper bolts on it yet), a seemingly small and stunted engine from an old 40GB hard drive, designed for 7200 revolutions / min (RPM) managed to accelerate to about 15000 ... 17000 rpm, if do not limit his speed. So the scope of engines from overwhelmed hard drives, I think, is very extensive. Of course, you can’t do a grindstone / drill / grinder, don’t even think about it, but without much load, engines are capable of a lot.

F file archive for self assembly download

GOOD LUCK!!

The motor that spins the hard drive spindle (or CD/DVD-ROM) is a synchronous three-phase DC motor.
You can spin up such an engine by connecting it to three half-bridge stages, which are controlled by a three-phase generator, the frequency of which, when turned on, is very low, and then smoothly rises to the nominal value. This is not the best solution to the problem, such a circuit has no feedback and therefore the frequency of the generator will increase in the hope that the engine has time to gain momentum, even if in fact its shaft is stationary. Creating a feedback circuit would require the use of rotor position sensors and several IC packages, not counting the output transistors. CD / DVD-ROMs already contain hall sensors, by the signals of which you can determine the position of the engine rotor, but sometimes the exact position is not at all important and you don’t want to waste "extra wires".
Fortunately, the industry produces ready-made single-chip control drivers, which, moreover, do not require rotor position sensors, the motor windings act as such sensors.

Microcircuits for controlling three-phase DC motors that do not require additional sensors (the sensors are the motor windings themselves):
LB11880; TDA5140; TDA5141; TDA5142; TDA5144; TDA5145.
There are some others, but for some reason they are not on sale, where I was looking for, and I do not like to wait from 2 to 30 weeks for an order.

Schematic diagram of connecting the engine to the LB11880 chip
Initially, this microcircuit is designed to control the BVG motor of VCRs, so it is old, in its key stages it has bipolar transistors and not MOSFETs.
In my designs, I used this particular microcircuit, firstly, it was available in the nearest store, and secondly, its cost was lower than that of other microcircuits from the list above.
Actually, the engine switching circuit:

If your motor has not 3 but 4 outputs, then it should be connected according to the diagram:
Some additional information about LB11880 and more
An engine connected according to the indicated schemes will accelerate until either the frequency limit of the VCO generation of the microcircuit is reached, which is determined by the values ​​of the capacitor connected to pin 27 (the smaller its capacity, the higher the frequency), or the engine is mechanically destroyed.
Do not reduce the capacitance of the capacitor connected to terminal 27 too much, as this may make it difficult to start the engine.

How to adjust the rotation speed?
The rotation speed is adjusted by changing the voltage at pin 2 of the microcircuit, respectively: Vpit - maximum speed; 0 - the engine is stopped.
However, it should be noted that it will not be possible to smoothly adjust the frequency simply by applying a variable resistor, since the adjustment is not linear and occurs within smaller limits than Vpit - 0, so the best option would be to connect a capacitor to this output to which, through a resistor, for example, from a microcontroller, PWM signal.
To determine the current speed, use pin 8 of the microcircuit, on which, when the motor shaft rotates, there are pulses, 3 pulses per 1 revolution of the shaft.

How to set the maximum current in the windings?
It is known that three-phase DC motors consume significant current outside their operating modes (when their windings are powered by low frequency pulses).
Resistor R1 is used to set the maximum current in this circuit.
As soon as the voltage drop across R1 and therefore at pin 20 becomes more than 0.95 volts, the output driver of the microcircuit interrupts the pulse.
When choosing the value of R1, keep in mind that for this microcircuit the maximum current is not more than 1.2 amperes, the nominal is 0.4 amperes.

Parameters of the LB11880 chip
Supply voltage of the output stage (pin 21): 8 ... 13 volts (maximum 14.5);
Core supply voltage (pin 3): 4 ... 6 volts (maximum 7);
Maximum chip power dissipation: 2.8 watts;
Operating temperature range: -20 ... +75 degrees.

But actually, for what I used the engine from the HDD in conjunction with the specified microcircuit:


This drive (albeit when there were no copper bolts on it yet), a seemingly small and stunted engine from an old Seagate Barracuda hard drive, 40GB, designed for 7200 rpm (RPM) managed to overclock to 15000 ... 17000 rpm , if I did not limit its speed. So the scope of engines from overwhelmed hard drives, I think, is very extensive. Of course, you can’t make a grindstone / drill / grinder, don’t even think about it, but without much load, the engines are capable of a lot, for example, if you use them to rotate a drum with mirrors, for mechanical scanning of a laser beam, etc.

When using old HDD drives for application purposes, sometimes there is a problem that the spindle motor stops after a while after starting. They have such a “trick” - if no signals are received from the head unit to the controller microcircuit, then it prohibits the driver microcircuit from rotating the engine. Using several drive models as an example, let's try to figure out how to fix this.

It all started with the fact that they brought a few old hard drives ( fig.1) and said that here the workers are mixed with the "killed", if you want - choose, if you don't want - do what you want. But if you figure out how to use them as a small emery tool, tell me. Well, here I am telling...

First HDD - "Quantum" family "Fireball TM" with drive chip TDA5147AK ( fig.2). Let's see what he is.

The top cover is fixed with 4 screws at the corners and one screw and nut located at the top, under the stickers. After removing the cover, you can see the hard drive itself, the reading heads and the magnetic head position control system ( fig.3). We disconnect the cable, unscrew the magnetic system (here you need a specially sharpened hex key "asterisk"). If desired, the disk can also be removed by unscrewing the three screws on the motor spindle (you also need a hexagon).

Now we put the cover in place so that we can turn the HDD over for experiments with electronics and apply +5V and +12V voltages to the power connector. The motor accelerates, runs for about 30 seconds, and then stops (there is a green LED on the circuit board - it lights up when the motor is rotating and flashes when it stops).

The datasheet for the TDA5147K chip is easily found on the network, but it was not possible to figure out the rotation permission / prohibition signal using it. When “pulling up” the POR signals to the power buses, it was not possible to achieve the desired reaction, but when viewing the signals with an oscilloscope, it turned out that when the probe touches the 7th output of the TDA5147AK microcircuit, it resets and restarts the engine. Thus, having assembled the simplest generator of short pulses ( fig.4, bottom photo) with a period of a few seconds (or tens of seconds), you can make the engine rotate more or less constantly. The power interruptions that occur last about 0.5 seconds and this is not critical if the motor is used with a small shaft load, but in other cases it may be unacceptable. Therefore, although the method is effective, it is not quite correct. And it was not possible to launch it “correctly”.

Next HDD - "Quantum" family "Trailblazer" (fig.5).

When the supply voltage is applied, the drive does not show any signs of life and the microcircuit 14-107540-03 starts to get very hot on the electronics board. In the middle of the microcircuit housing, a bulge is noticeable ( fig.6), which indicates its apparent inoperability. It's embarrassing, but not scary.

We look at the engine rotation control chip ( fig.7) - HA13555. It does not heat up when power is applied and there are no visible damages on it. The dialing by the tester of the “strapping” elements did not reveal anything special - it remains only to deal with the “switching on” scheme.

Search engines do not find a datasheet for it, but there is a description for HA13561F. It is made in the same case, it matches on the power legs and on the “output” conclusions with HA13555 (the latter has diodes soldered to the motor power conductors - protection against back-EMF). Let's try to determine the necessary control outputs. From the datasheet on HA13561F ( fig.8) it follows that pin 42 (CLOCK) must be driven with a clock frequency of 5 MHz with a TTL logic level and that the signal that allows the engine to start is a high level at pin 44 (SPNENAB).

Since the microcircuit 14-107540-03 is not working, we cut off the +5 V supply from it and from all other microcircuits, except for HA13555 ( fig.9). With a tester, we check the correctness of the “cuts” by the absence of connections.

On the bottom photo figure 9 the red dots show the soldering points for the +5 V voltage for HA13555 and the “pull-up to plus” resistor of its 44 pins. If the resistor from pin 45 is removed from its native place (this is R105 according to figure 8) and put it vertically with some inclination to the microcircuit, then an additional resistor for pulling up to the “plus” of pin 44 can be soldered to the via and to the hanging pin of the first resistor ( fig.10) and then +5 V power can be supplied to the place of their connection.

On the reverse side boards should be cut with tracks as shown in Figure 11. These are the "former" signals coming from the burned-out microcircuit 14-107540-03 and the old "pull-up" resistor R105.

You can organize the supply of “new” clock signals to pin 42 (CLOCK) using an additional external generator assembled on any suitable microcircuit. In this case, K555LN1 was used and the resulting circuit is shown in figure 12.

After "rolling" the +5 V supply voltage with the MGTF wire directly from the connector to pin 36 (Vss) and other required connections ( fig.13), the drive starts and runs non-stop. Naturally, if the 14-107540-03 microcircuit were in good order, all the refinement would consist only in “constriction” of the 44th output to the +5 V bus.

On this "screw" its performance was tested at other clock frequencies. The signal was supplied from an external square-wave generator and the minimum frequency with which the drive worked stably was 2.4 MHz. At lower frequencies, acceleration and stop occurred cyclically. The maximum frequency is about 7.6 MHz, with its further increase, the number of revolutions remained the same.

The number of revolutions also depends on the voltage level at pin 41 (CNTSEL). There is a table in the datasheet for the HA13561F chip and it corresponds to the values ​​obtained from the HA13555. As a result of all the manipulations, it was possible to obtain a minimum engine speed of about 1800 rpm, a maximum of 6864 rpm. The control was carried out using the program, an optocoupler with an amplifier and a piece of electrical tape glued to the disk so that when the disk rotated, it overlapped the optocoupler window (the pulse repetition rate was determined in the spectrum analyzer window and then multiplied by 60).

Third drive - SAMSUNG WN310820A.

When power is applied, the driver chip - HA13561 starts to get very hot, the engine does not rotate. A bulge is noticeable on the microcircuit case ( fig.14), as in the previous case. It will not work to conduct any experiments, but you can try to power the engine from the board with the HA13555 chip. Long thin conductors were soldered to the motor cable and to the output contacts of the electronics board connector - everything started and worked without problems. If HA13561 were intact, the run-up modification would be the same as for the "Quantum Trailblazer" (pin 44 to the +5V rail).

Fourth drive - "Quantum" family "Fireball SE" with drive chip AN8426FBP ( fig.15).

If you turn off the head block cable and apply power to the HDD, the engine picks up speed and, of course, stops after a while. There is a datasheet for the AN8426FBP chip on the network and you can use it to figure out what pin 44 (SIPWM) is responsible for starting ( fig.16). And if now we cut the track coming from the microcircuit 14-108417-02 and “pull up” pin 44 through a 4.7 kΩ resistor to the +5 V bus, then the engine will not stop.

And finally, going back a little, the waveforms were taken at the W and V pins of the HA13555 chip relative to the common wire ( rice. 17).

The simplest application old HDD- a small emery for dressing drills, knives, screwdrivers ( fig.18). To do this, just stick sandpaper on the magnetic disk. If the "screw" was with several "pancakes", then you can make interchangeable disks of different grain sizes. And here it would be nice to be able to switch the speed of rotation of the spindle motor, since with a large number of revolutions it is very easy to overheat the surface to be sharpened.

Emery, of course, is not the only use for an old HDD. Vacuum cleaner designs and even a cotton candy maker are easily found on the net ...

In addition to the text, there are the mentioned datasheets and files of printed circuit boards of external pulse generators in the format of the program version 5 (view from the printing side, microcircuits are installed as smd, i.e. without drilling holes).

Andrey Goltsov, r9o-11, Iskitim, April 2018.

List of radio elements

Designation Type Denomination Quantity NoteShopMy notepad
To drawing No. 4
DD1 ChipK561LN21 To notepad
R1, R2 Resistor

470 kOhm

2 smd 0805 To notepad
R4 Resistor

10 kOhm

1 smd 0805

For a long time I had such a small engine that I uprooted from some kind of hard drive. The disk, by the way, was also preserved from him! If I get it together, I'll screw it in the next step. In the meantime, I decided to just try to revive it. This engine is interesting in that, in theory (as I understood it - a person who knew nothing about engines until now) it is a valve. And as Wikipedia tells us: "valve motors are designed to combine best qualities AC motors and DC motors. "And due to the absence of sliding electrical contacts (since the brush assembly was replaced there with a contactless semiconductor switch), such motors have high reliability and a long service life. Further, I will not list all the other advantages of these motors and topics to retell Wikipedia, but I’ll just say that the use of such gizmos is quite wide, including in robotics, and therefore I wanted to learn more about the principles of their work.

The principle of operation of the HDD engine.


The motor has three windings connected in a star fashion. The common point of the windings is displayed as a plus. +5V is perfect for work. The motor is controlled by a PWM signal, which must be applied to its windings with a phase shift of 120 °. However, it is not possible to apply the desired frequency to the engine immediately, it must first be accelerated. The simplest way connect three windings through transistors, giving them a PWM signal to the base from the microcontroller. I’ll make a reservation right away about transistors: it’s better to take field devices, because the current through them seems to be decent, and bipolar ones get very hot. First I took 2N2222a. They heated up in seconds, temporarily solved the problem by installing a cooler nearby, but then decided that something more reliable was needed, that is, more ☺ As a result, we installed our KT817G. There was no third one, instead I have KT815G. In this circuit, they can be replaced, but KT815 are designed for a constant collector current of 1.5 amperes, and KT817 - 3A. I note that 2N2222a in general - up to 0.8A. The letter KT81 ... also does not play a role, since we only have 5 volts. In theory, the signal change frequency is no faster than 1 millisecond, in reality it is even slower, so the high frequency of the transistors also does not play a role. In general, I suspect that in this circuit you can experiment with almost any transistors n-p-n type, with a collector current of at least 1 ampere.

I am attaching the circuit, the resistors were also selected experimentally, for 1 kilo-ohm - they work quite well. I put another 4.7k - this is a lot, the engine is stalling.

The motor has 4 outputs. First, we find out which of them is common. To do this, measure the resistance between all terminals with a multimeter. The resistance between the ends of the windings is twice that between the end of one winding and the common midpoint. Conventionally, 4 ohms against 2. Which winding to connect where - it does not matter, they still go one after another.

Program text:

// Program to start the hard drive engine
#define P 9100 // Initial delay for motor acceleration
#define x 9 // Pin number to winding x
#define y 10 // Pin number to winding y
#define z 11 // Pin number to winding z
unsigned int p; // Delay variable for overclocking
long time_pass; // Timer
byte i = 0; // Counter of the motor phase control cycle
void setup()
{
p = P;// Assign the initial delay value for overclocking

//Serial.begin(9600); // Open COM port for debugging
pinMode(x, OUTPUT); // Set the pins that work with the engine to output data
pinMode(y, OUTPUT);
pinMode(z, OUTPUT);
digitalWrite(x, LOW); // Set the starting phase of the motor, you can start with any of the 6 phases
digitalWrite(y, HIGH);
digitalWrite(z, LOW);
time_pass = micros(); // Reset the timer

void loop()
{

if ((i< 7) && (micros () - time_pass >= p)) // If the counter has a number from 0 to 6, and the phase change timeout has passed
{
time_pass = micros(); // Reset the timer
if (i == 0) ( digitalWrite (z, HIGH ); ) // Set 0 or 1 depending on the phase number on the desired pin
if (i == 2) ( digitalWrite (y, LOW ); )
if (i == 3) ( digitalWrite (x, HIGH ); )
if (i == 4) ( digitalWrite (z, LOW ); )
if (i == 5) ( digitalWrite (y, HIGH ); )
if (i == 6) ( digitalWrite (x, LOW ); )

I++; // Plus the phase counter
}
if (i >= 7) // If Counter Overflows
{
i = 0; // Reset the counter
if (p > 1350) (p = p - 50;) // If the engine has not entered the top speed- reduce phase change time
//Serial.println(p); Timeout debug
}

What is the result?

As a result, we have an engine that accelerates in a few seconds. Sometimes acceleration is unbalanced and the engine stops, but more often everything works. How to stabilize - I do not know yet. If you stop the engine by hand, it will not start again - you need to restart the program. So far, this is the maximum that has been squeezed out of it. When p drops below 1350, the engine flies out of acceleration. 9100 at the beginning was also selected experimentally, you can try to change it, see what happens. Probably, for a different engine, the numbers will be different - I had to select for mine. With load ( original disc) the engine stops starting, so installing something on it will require recalibrating the firmware. It spins relatively quickly, so I recommend putting on glasses when starting up, especially if something is hanging on it at that moment. I hope to continue experimenting with it. Until then, good luck everyone!