THE BELL

There are those who read this news before you.
Subscribe to receive the latest articles.
Email
Name
Surname
How do you want to read The Bell
No spam
. The topic is undoubtedly interesting, especially for novice radio "tormentors", but in my opinion it is far from fully disclosed. Nological conclusion, namely which scheme was used by a much respected, TwIsTeRfor my decision, whether suggested by (my colleague in journalistic work)S anyaav on М / С TDA5145, MK or some other. With this article, I want to supplement some of the gaps in the forum and tell, in my opinion, about a quite decent, even by modern standards, and an old microcircuitLB11880. And so let's start and start with general information, what is an engine from HDD, CD-ROM, DVD-ROM

The motor that rotates the hard drive spindle (or CD / DVD-ROM) is a synchronous three-phase motor direct current.

You can spin such a motor by connecting it to three floor bridge stages, which are controlled by a three-phase generator, the frequency of which, when turned on, is very low, and then smoothly increases to the nominal. This is not the best solution to the problem, such a circuit has no feedback and therefore the generator frequency will increase in the hope that the engine has time to pick up speed, even if in fact its shaft is stationary. The creation of a feedback circuit would require the use of rotor position sensors and several IC cases, not counting the output transistors. CD / DVD-ROM already contain hall sensors, according to the signals of which it is possible to determine the position of the engine rotor, but sometimes the exact position is not important at all and you do not want to waste "extra wires".

Fortunately, the industry is releasing off-the-shelf single-chip control drivers that also do not require rotor position sensors, but motor windings act as such sensors.Microcircuits for controlling three-phase DC motors, which 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 at another time.)

Schematic diagram of connecting the motor to the LB11880 microcircuit.

Initially, this microcircuit is designed to control the motor of BVG 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 (although not by much) than other microcircuits from the above list.

Actually, the engine switching circuit:

If your engine suddenly has not 3 but 4 terminals, then it should be connected according to the diagram:

And one more more illustrative diagram, adapted for use in a car.

A little additional information about LB11880 and more

The engine connected according to the indicated schemes will accelerate until either the limit on the VCO generation frequency of the microcircuit is reached, which is determined by the ratings of the capacitor connected to pin 27 (the smaller its capacity, the higher the frequency), or the engine will not be destroyed mechanically.Do not reduce the capacity of the capacitor connected to pin 27 too much, as this can make it difficult to start the motor.

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 using 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 in the internet)

To determine the current rotational speed, use pin 8 of the microcircuit, on which there are pulses during the rotation of the engine shaft, 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 a significant current outside their operating modes (when feeding their windings with pulses of low frequency).The 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, then 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 no more than 1.2 amperes, nominal 0.4 amperes.

Parameters of the LB11880 chip

Output stage supply voltage (pin 21): 8 ... 13 volts (maximum 14.5);

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

Maximum power dissipated by the microcircuit: 2.8 watts;

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


This disk (though when there were no copper bolts on it yet), a seemingly small and stunted engine from an old 40GB hard drive, designed for 7200 rpm (RPM), managed to accelerate to about 15000 ... 17000 rpm, if do not limit its speed. So the field of application of engines from flooded hard drives, I think, is very extensive. A sharpener / drill / grinder of course cannot be done, do not even think, but without a special load, engines are capable of much.

F file archive for self-assembly download

GOOD LUCK!!

Hard drives typically use three-phase brushless motors. The motor windings are connected by a star, that is, we get 3 outputs (3 phases). Some motors have 4 leads, in which the midpoint of the connection of all windings is additionally displayed.

To spin a brushless motor, you need to apply voltage to the windings in the correct order and at certain points in time, depending on the position of the rotor. To determine the moment of switching, hall sensors are installed on the engine, which play the role of feedback.

In hard disks, a different method is used to determine the moment of switching, at each moment of time two windings are connected to the power supply, and on the third one measures the voltage, based on which the switching is performed. In the 4-wire version, both terminals of the free winding are available for this, and in the case of a motor with 3 terminals, a virtual midpoint is additionally created using star-connected resistors connected in parallel with the motor windings. Since the commutation of the windings is performed according to the position of the rotor, there is synchronism between the rotor speed and the magnetic field created by the motor windings. Failure to synchronize can cause the rotor to stall.


There are specialized microcircuits such as TDA5140, TDA5141, 42,43 and others designed to control brushless three-phase motors, but I will not consider them here.

In the general case, the switching diagram is 3 signals with rectangular pulses, shifted from each other in phase by 120 degrees. In the simplest version, you can start the engine without feedback, simply by supplying it with 3 rectangular signals (meander) offset by 120 degrees, which I did. In one period of the meander, the magnetic field created by the windings makes one complete revolution around the motor axis. In this case, the rotor speed depends on the number of magnetic poles on it. If the number of poles is equal to two (one pair of poles), then the rotor will rotate at the same frequency as the magnetic field. In my case, the rotor of the motor has 8 poles (4 pairs of poles), that is, the rotor rotates 4 times slower than the magnetic field. Most 7200 RPM hard drives should have an 8-pole rotor, but that's just my guess as I haven't tested a bunch of hard drives.


If the motor is pulsed with the required frequency, in accordance with the desired rotor speed, then it will not spin. Here, an overclocking procedure is necessary, that is, first we apply pulses with a low frequency, then gradually increase to the required frequency. In addition, the acceleration process depends on the load on the shaft.

I used a PIC16F628A microcontroller to start the engine. In the power section there is a three-phase bridge on bipolar transistors, although it is better to use field-effect transistors to reduce heat generation. Square-wave pulses are generated in the interrupt handler subroutine. To obtain 3 phase-shifted signals, 6 interrupts are performed, while we obtain one square wave period. In the microcontroller program, I implemented a smooth increase in the signal frequency to a given value. There are 8 modes with different preset signal frequency: 40, 80, 120, 160, 200, 240, 280, 320 Hz. With 8 poles on the rotor, we get the following rotation speeds: 10, 20, 30, 40, 50, 60, 70, 80 rps.


Acceleration starts from 3 Hz for 0.5 seconds, this is the experimental time required for the initial spinning of the rotor in the corresponding direction, since it happens that the rotor turns a small angle in the opposite direction, only then starts to rotate in the corresponding direction. In this case, the moment of inertia is lost, and if you immediately start to increase the frequency, desynchronization occurs, the rotor in its rotation will simply not keep up with the magnetic field. To change the direction of rotation, you just need to swap any 2 phases of the motor.

After 0.5 seconds, the signal frequency increases smoothly to the set value. The frequency increases in a nonlinear manner, the rate of increase in frequency increases during acceleration. Time of acceleration of the rotor to the set speeds: 3.8; 7.8; 11.9; 16; 20.2; 26.3; 37.5; 48.2 sec. In general, without feedback, the engine accelerates slowly, required time acceleration depends on the load on the shaft, I conducted all the experiments without removing the magnetic disk ("pancake"), of course, without it, acceleration can be accelerated.

Mode switching is carried out with the SB1 button, while the modes are indicated on the HL1-HL3 LEDs, the information is displayed in binary code, HL3 is the zero bit, HL2 is the first bit, HL1 is the third bit. When all the LEDs are off, we get the number zero, this corresponds to the first mode (40 Hz, 10 rev / s), if, for example, the HL1 LED is on, we get the number 4, which corresponds to the fifth mode (200 Hz, 50 rev / sec). With the SA1 switch we start or stop the engine, the “Start” command corresponds to the closed state of the contacts.

The selected speed mode can be written to the EEPROM of the microcontroller, for this you need to hold down the SB1 button for 1 second, while all the LEDs will flash, thereby confirming the recording. By default, if there is no writing to the EEPROM, the microcontroller enters the first mode. Thus, by writing the mode into memory and setting the SA1 switch to the “Start” position, you can start the engine simply by supplying power to the device.

The engine torque is low, which is not required when working in a hard disk. With an increase in the load on the shaft, desynchronization occurs and the rotor stops. In principle, if necessary, you can attach a speed sensor, and in the absence of a signal, turn off the power and re-spin the engine.

By adding 3 transistors to a three-phase bridge, you can reduce the number of microcontroller control lines to 3, as shown in the diagram below.

Somehow a long time ago I came across a driver circuit stepper motor on the LB11880 microcircuit, but since I did not have such a microcircuit, and there were several engines lying around, I postponed an interesting project with starting 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 circuit is taken as standard:

Motor driver circuit

The following is an abbreviated description of the article, read the full one. The motor that drives the spindle of the hard disk drive (or CD / DVD-ROM) 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. ICs for controlling three-phase DC motors, which do not require additional sensors, are the TDA5140; TDA5141; TDA5142; TDA5144; TDA5145 and of course LB11880.

The motor connected according to the indicated schemes will accelerate until either the limit on the VCO generation frequency of the microcircuit, which is determined by the ratings of the capacitor connected to pin 27, is reached (the smaller its capacity, the higher the frequency), or the motor will not be destroyed mechanically. Do not reduce the capacity of the capacitor connected to pin 27 too much, as this can make it difficult to start the motor. 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 seal from the author, but I spread my own version as more compact.

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

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

It is possible to raise the speed above 20,000 by switching the capacitors of the C10 capacitor and supplying power to the MC 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, since there are balls inside my, 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 subtle whistle. Where to apply such speeds, that's the question? A mini grinder, a tabletop drill, a grinding machine 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 homemade designs. I saw a video on the Internet, there are kulibins with these motors, pumps are made, super fans, sharpeners, you can figure out where to apply such speeds, the motor here accelerates over 27,000 rpm. I was with you Igoran.

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

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

The principle of operation of the HDD engine.


The motor has three star-connected windings. The common point of the windings is displayed positive. + 5V works great. 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 supply the desired frequency to the motor immediately; it must first be overclocked. 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 workers, because the current through them seems to be decent, and bipolar ones get very hot. First I took 2N2222a. We heated up in seconds, temporarily solved the problem by installing a cooler next to it, but then decided that we needed something more reliable, that is, more ☺ As a result, we installed our KT817G. There was no third, 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. Note that 2N2222a is generally up to 0.8A. The letter KT81 ... also does not matter, since we only have 5 volts. In theory, the frequency of the signal change is not faster than 1 millisecond, in reality it is even slower, so the high frequency of the transistors does not matter either. In general, I suspect that in this circuit you can experiment with almost any transistor n-p-n type, with a collector current of at least 1 ampere.

I attach the circuit, the resistors were also selected experimentally, for 1 kilo-ohm - they work quite well. I put another 4.7k - that's a lot, the engine stalled.

The engine has 4 outputs. First, we find out which one 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 where to connect - it does not matter, they still go one after the other.

Program text:

// Hard disk engine start program
#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; // Variable delay for overclocking
long time_pass; // Timer
byte i = 0; // Cycle counter for motor phase control
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 working with the engine to output data
pinMode (y, OUTPUT);
pinMode (z, OUTPUT);
digitalWrite (x, LOW); // Set the initial phase of the motor, you can start from any of the 6 phases
digitalWrite (y, HIGH);
digitalWrite (z, LOW);
time_pass = micros (); // Reset timer

void loop ()
{

if ((i< 7) && (micros () - time_pass >= p)) // If the counter has a number from 0 to 6, and the waiting time for the phase change 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 the counter is overflowed
{
i = 0; // Reset the counter
if (p> 1350) (p = p - 50;) // If the engine has not yet entered maximum speed- we reduce the time of phase change
//Serial.println(p); Wait time debug
}

What is the result?

As a result, we have an engine that accelerates in a few seconds. Sometimes the acceleration is out of balance and the engine stops, but more often everything works. I don't know how to stabilize it 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 him. When p falls below 1350, the engine is kicked out of acceleration. The 9100 was also selected experimentally in the beginning, you can try to change it, see what happens. Probably, the numbers will be different for another engine - I had to select for mine. With load (original disk), the engine stops starting, so installing something on it will require re-calibration of the firmware. It spins relatively quickly, so I recommend wearing glasses when starting up, especially if something is hanging on it at that moment. I hope to continue experimenting with him. While that's all, good luck everyone!

THE BELL

There are those who read this news before you.
Subscribe to receive the latest articles.
Email
Name
Surname
How do you want to read The Bell
No spam