Stepper hard disk engine. Connecting the HDD engine to the microcontroller. Engine Connection Concept to LB11880 Microcircuit

the main / About cars
The engine rotating the hard disk spindle (or CD / DVD-ROM) is a synchronous three-phase DC motor.
You can promote such an engine by connecting it to three half-sized cascades, which are managed by a three-phase generator, the frequency of which is very small when turned on, and then smoothly rises to the nominal. This is not the best solution to the problem, such a scheme has no feedback and therefore the generator frequency will rise in the hope that the engine has time to gain momentum, even if in fact its shaft is still being. The creation of a feedback scheme would require the use of the sensors of the rotor position and several EMS builds, not counting the output transistors. The CD / DVD-ROM already contains the Hall Sensors, along the signals of which you can determine the position of the engine rotor, but sometimes it does not matter exactly the exact position and do not want to wash the "extra wires".
Fortunately, the industry produces ready-made single-chip control drivers, which, besides, they do not need the sensors of the rotor position, the engine windings are actuated in the role of such sensors.

Control microcircuits of three-phase DC motors that are not required additional sensors (The sensors are the engine 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, but I do not like to wait from 2 to 30 weeks of order.

Schematic scheme Motor connections to the LB11880 chip
Initially, this microcircuit is designed to control the engine BVG VCR, so that it is old, in key cascades, it has bipolar transistors and not MOSFET.
In his designs, I used this particular chip, she first, it turned out to be in the nearest store, secondly, its cost was lower than that of other chips from the list above.
Actually, the engine power circuit:

If your engine has not 3 A 4 output, then connect it follows the scheme:
A little more information about LB11880 and not only
The engine connected via the specified schemes will accelerate until either the limit on the generation frequency of the VCO chip, which is determined by the capacitor ratios connected to the output 27 (how its capacity is less, the higher the frequency), or the engine will not be destroyed mechanically.
It should not be too reduced by the capacitance of the condenser connected to the output 27, as it may make it difficult to start the engine.

How to adjust the speed of rotation?
Adjusting the speed of rotation is made by changing the voltage at the output of 2 chips, respectively: VPIT - the maximum speed; 0 - The engine is stopped.
However, it should be noted that it is not possible to smoothly adjust the frequency simply by applying a variable resistor, since the adjustment is not linear and occurs in a smaller limits than VPIT - 0, on this the best option There will be a connection to this condenser to which through a resistor, for example from a microcontroller, a PWM signal is served.
To determine the current speed, the output of 8 chips should be used, on which the pulses are present when rotating the motor shaft, 3 pulses per 1 shaft turnover.

How to set the maximum current in the windings?
It is known that three-phase DC motors consume a significant current outside of their operating modes (when they are powered by a linked frequency pulses).
To set the maximum current in this scheme, the resistor R1 is served.
As soon as the voltage drop on R1 and, therefore, the output 20 will become more than 0.95 volts, then the output driver of the chip is interrupting the pulse.
Choosing the value of R1, consider that for this chip, the maximum current is not more than 1.2 ampere, the nominal 0.4 amp.

Parameters chip LB11880.
Power supply voltage of the output stage (conclusion 21): 8 ... 13 volts (maximum 14.5);
Power supply kernel (output 3): 4 ... 6 volts (maximum 7);
Maximum scattering microcircuit power: 2.8 watt;
Operating temperature range: -20 ... +75 degrees.

But actually, for which I applied the engine from HDD together with the specified microcircuit:


This disc (though when there were no copper bolts on it), it would seem the small and stiff engine from the old Winchester Seagate Barracuda, at 40GB, designed for 7200 revolutions / min (RPM) managed to overclock up to 15000 ... 17000 revolutions / min If I did not limit its speed. So the area of \u200b\u200buse of engines from tuning hard drives, I think very extensive. It is certainly not to do the drill / Bulgarian, but do not even think, but without a special load, the engines are capable of much, for example, if they rotate the drum with mirrors, for the mechanical expandment of the laser beam, etc.

. The topic is unconditional interesting especially for beginners of radio "tormentors", but in my opinion it is not completely revealed. Notlogical completion, namely what scheme used a lot of respected, twisterfor his decision, proposed by Lee (my colleague on journalistic work)S.anyaav on m / s tda5145, MK or some other. This article I want to complement some of the forum gaps and tell, in my opinion, about quite worthy of at least modern standards and an old chipLB.11880. And so let's start and start with general information, what is the engine from HDD, CD-ROM, DVD-ROM

Engine rotating hard disk spindle (or CD / DVD-ROM) is a synchronous three-phase DC motor.

You can prompt such an engine by connecting it to three semi bridge cascades, which are controlled by a three-phase generator, the frequency of which is very small when turned on, and then smoothly rises to the nominal. This is not the best solution to the problem, such a scheme has no feedback and therefore the generator frequency will rise in the hope that the engine has time to gain momentum, even if in fact its shaft is still being. The creation of a feedback scheme would require the use of the sensors of the rotor position and several EMS builds, not counting the output transistors. The CD / DVD-ROM already contains the Hall Sensors, along the signals of which you can determine the position of the engine rotor, but sometimes it does not matter exactly the exact position and do not want to wash the "extra wires".

Fortunately, the industry produces ready-made single-chip control drivers, which, besides, they do not need the sensors of the rotor position, the engine windings are actuated in the role of such sensors.The control microcircuits of the three-phase DC motors that do not require additional sensors (sensors are the engine winding themselves):TDA5140; TDA5141; TDA5142; TDA5144; TDA5145 and of course LB.11880. (There are some others, but another time.)

Schematic diagram of the engine connection to the LB11880 chip.

Initially, this microcircuit is designed to control the engine BVG video recorders, in key cascades, it has bipolar transistors and not MOSFET.In his structures, I used this particular chip, she first, it turned out to be in the nearest store, secondly, its cost was lower (albeit not much) than in other chips from above the list.

Actually, the engine power circuit:

If your engine suddenly has no 3 A 4 output, then it should be connected according to the scheme:

And another more visual scheme adapted for use in the car.

A little more information about LB11880 and not only

The engine connected via the specified schemes will accelerate until either the limit on the generation frequency of the VCO chip, which is determined by the capacitor ratios connected to the output 27 (how its capacity is less, the higher the frequency), or the engine will not be destroyed mechanically.It should not be too reduced by the capacitance of the condenser connected to the output 27, as it may make it difficult to start the engine.

How to adjust the speed of rotation?

Adjusting the speed of rotation is made by changing the voltage at the output of 2 chips, respectively: VPIT - the maximum speed; 0 - The engine is stopped.

However, it should be noted that it is not possible to smoothly adjust the frequency simply by applying the variable resistor, since the adjustment is not linear and occurs in a smaller limits than an VPIT - 0, on this best option will be connected to this condenser with which through a resistor, for example from a microcontroller. PWM signal well or PWM regulator on the world famous timerNe555 (such schemes in the internet are fully)

To determine the current speed, the output of 8 chips should be used, on which the pulses are present when rotating the motor shaft, 3 pulses per 1 shaft turnover.

How to set the maximum current in the windings?

It is known that three-phase DC motors consume a significant current outside of their operating modes (when they are powered by a linked frequency pulses).To set the maximum current in this scheme, the resistor R1 is served.As soon as the voltage drop on R1 and, therefore, the output 20 will become more than 0.95 volts, then the output driver of the chip is interrupting the pulse.Choosing the value of R1, consider that for this chip, the maximum current is not more than 1.2 ampere, the nominal 0.4 amp.

Parameters chip LB11880.

Power supply voltage of the output stage (conclusion 21): 8 ... 13 volts (maximum 14.5);

Power supply kernel (output 3): 4 ... 6 volts (maximum 7);

Maximum scattering microcircuit power: 2.8 watt;

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


This disc (though when there were no copper bolts on it), it would seem a small and stiff engine from an old hard drive to 40GB, designed for 7200 revolutions / min (RPM) managed to accelerate about 15,000 ... 17000 revolutions / min if Do not limit its speed. So the area of \u200b\u200buse of engines from tuning hard drives, I think very extensive. Sharpening / drill / Bulgarian is certainly not done, do not even think, but without a special load, the engines are capable of much.

F. ayl archive for self assembly Kacham

Good luck !!

I have long gone dust like this small enginewhich I crossed out of some hard disk. The disk, by the way, is also preserved from him! If you gather - cover it at the next stage. In the meantime, I decided to simply try to reanimate it. This engine is interesting in that in theory, (as I understood - a person who did not know anything about the engines) he is valve. And how do we tell Wikipedia: "The valve engines are designed to combine the best quality of the AC motors and DC motors." And at the expense of the absence of sliding electrical contacts (since the brush node is replaced there on the contactless semiconductor switch), such engines have high reliability and high service life. Next, I will not list all other advantages of these engines and thereby retell Wikipedia, but I'll just say that the use of such things is quite wide, including in robotics, and therefore wanted to learn more about the principles of their work.

The principle of operation of the engine HDD.


In the engine, three windings connected by the "Star" principle. The overall point of the windings is displayed on the plus. + 5v for work is suitable perfectly. A shim signal engine is controlled, which must be fed to its winding with a phase shift 120 °. However, it is impossible to submit the desired frequency on the engine at once, it must be overwhelmed. The simplest way Connect three windings through transistors, feeding the PWM signal to them on the base from the microcontroller.Immediately make a reservation on the transistors: it is better to take the fields, because the current through them seems to be decent, and bipolar is very hot. First took 2N2222A. Heated in seconds, temporarily solved the problem by installing a number of coolers, but then decided that something was needed, that is, more than ☺ as a result, we put our CT817. The third did not turn out, instead I have CT815. In this scheme, they can be replaced, but KT815 is designed for a permanent collector current of 1.5 amps, and KT817 - 3A. I note that 2n2222a is generally up to 0.8a. The letter Kt81 ... also does not play roles, since we have only 5 volts. In theory, the signal change frequency is not faster than 1 millisecond, it is really more slower, so that the high frequency of transistors does not play the role too. In general, I suspect that in this scheme, it is possible to experiment in almost any transistors. n-P-N type, with a collector current at least 1 amp.

I attach the scheme, the resistors were also selected experimentally, 1 kiloma - work well enough. Put another 4.7K - this is a lot, engine GLAH.

In engine 4 output. At the beginning, find out which one is common. For this, the multimeter measure the resistance between all the conclusions. Resistance between the ends of the windings is twice as much as between the end of the same winding and the total middle point. Conditionally 4 Ohm against 2. What kind of winding where to connect - it does not matter, they still go to each other.

Program text:

// Starting a hard disk engine
#Define P 9100 // initial delay to overclock the engine
#Define x 9 // Pina number to winding x
#Define Y 10 // Number Pina to winding y
#Define Z 11 // Number Pina to Winding Z
unsigned int p; // Variable delay for overclocking
long Time_Pass; // Timer
bYTE i \u003d 0; // Engine Phase Control Cycle Mecle
void setup ()
{
p \u003d p; // We assign the initial delay value to overclock

//Serial.Begin(9600); // Open COM port for debag
pinmode (X, Output); // installed Pins working with a data output engine
pinmode (Y, Output);
pinmode (Z, Output);
digitalWrite (x, Low); // installed the initial phase of the engine, can be started with any of the 6 phases
digitalWrite (Y, HIGH);
digitalWrite (Z, Low);
TIME_PASS \u003d micros (); // Zeroing Timer

void loop ()
{

if ((i< 7) && (micros () - time_pass >\u003d P)) // If the meter has a number from 0 to 6, and the waiting time of the phase change has passed
{
TIME_PASS \u003d micros (); // reset the timer
if (i \u003d\u003d 0) (DigitalWrite (Z, High);) // Set 0 or 1 depending on the phase number on the desired pin
if (i \u003d\u003d 2) (DigitalWrite (Y, LOW);)
if (i \u003d\u003d 3) (DigitalWrite (X, HIGH);)
if (i \u003d\u003d 4) (DigitalWrite (z, Low);)
if (i \u003d\u003d 5) (DigitalWrite (Y, HIGH);)
if (i \u003d\u003d 6) (DigitalWrite (x, Low);)

I ++; // plus the phase meter
}
if (i\u003e \u003d 7) // if the counter is crowded
{
i \u003d 0; // reset the meter
if (p\u003e 1350) (p \u003d p - 50;) // if the engine has not yet entered maximum speed - reducing the time of changing the phase
//Serial.printLN (P); Waiting time debag
}

What as a result?

As a result, we have an engine that accelerates in a few seconds. Sometimes overclocking is unbalanced, and the engine stops, but everything works more often. How to stabilize - I don't know yet. If you stop the engine with your hand, it will not start again - you need a restart of the program. So far this is the maximum that managed to squeeze out of it. When lowering P below 1350, the engine flies out of overclocking. 9100 In the beginning, it was also selected experimentally, you can try to change, see what will happen. Probably, for another engine, the numbers will be different - I had to pick up for my own. With load ( original disc) The engine ceases to run, so that the installation of something will require the firmware calibration to it. It revolves relatively quickly, so I recommend when you start to wear glasses, especially if something is hanging at this moment at this moment. I hope to continue experiments with him. While it's all, good luck!

In hard disks, three-phase baseless engines are used. The engine winding is connected by the star, that is, we obtain 3 outputs (3 phases). Some engines have 4 outputs, they additionally withdrawn the average connection point of all windings.

To promote incoletonary engine, It is necessary in the correct order and at certain points in time, depending on the position of the rotor, to supply voltage to the windings. To determine the moment of switching to the engine, the Hall sensors are installed, which play the role of feedback.

In hard drives, another method of determining the moment of switching is used, two windings are connected to the power to power, and the third voltage is measured, based on which switching is performed. In a 4-wire version, both outputs of free winding are available for this, and in the case of an engine with 3 outputs, a virtual average point is created, using the resistors of the connected star and connected parallel to the engine windings. Since the switching of the windings is performed by the position of the rotor, there is a synchronization between the rotor rotation frequency and the magnetic field created by the engine windings. The synchronicity disorder can lead to the rotor stop.


There are specialized chips such as TDA5140, TDA5141, 42.43 and other intended for controlling by uncoolette three-phase engines, but I will not consider them here.

In the general case, the switching diagram is 3 signal with rectangular shape pulses, displaced with a phase by 120 degrees. In the simplest version, you can start the engine without feedback, simply feeding 3 rectangular signals (meander), offset with each other by 120 degrees, which I did. In one period of meander, the magnetic field created by the windings makes one full turn around the engine axis. The rotational speed of the rotor depends on the number of magnetic poles on it. If the number of poles is two (one pair of poles), the rotor will rotate with the same frequency as the magnetic field. In my case, the engine rotor has 8 poles (4 pairs of poles), that is, the rotor rotates 4 times slower than the magnetic field. Most hard drives with a rotation frequency of 7200 rpm, the rotor must have 8 poles, but this is just my assumption, since I did not check the bunch of winchesters.


If the engine is applied to the engine with the required frequency, in accordance with the desired rotational speed of rotation, it will not be promoted. Here you need overclocking procedure, that is, we first supply pulses with a low frequency, then gradually increase to the desired frequency. In addition, the process of overclocking depends on the load on the shaft.

To start the engine, I applied PIC16F628A microcontroller. In the power part there is a three-phase bridge on bipolar transistors, although it is better to use field transistors to reduce heat dissipation. Rectangular pulses are formed in the interrupt handler subroutine. To obtain 3 signals shifted by phase, 6 interrupts are performed, while we get one period of meander. In the microcontroller program, I implemented a smooth increase in the signal frequency to a given value. There are only 8 modes with different specified signal frequency: 40, 80, 120, 160, 200, 240, 280, 320 Hz. With 8 poles on the rotor, we obtain the following rotational speeds: 10, 20, 30, 40, 50, 60, 70, 80 rpm.


Acceleration begins with 3 Hz for 0.5 seconds, this experimental time required for the initial rotor promotion in the appropriate direction, as it happens that the rotor turns into a small angle in the opposite direction, only then begins to rotate in the appropriate direction. At the same time, the moment of inertia is lost, and if you immediately begin an increase in frequency, there is a distance, the rotor in its rotation simply will not have time for the magnetic field. To change the direction of rotation, you just need to swap any 2 motor phases.

After 0.5 seconds, a smooth increase in the signal frequency to a given value occurs. The frequency increases according to the nonlinear law, the frequency growth rate increases along the overclocking. The rotor acceleration time to the specified speeds: 3.8; 7.8; 11.9; sixteen; 20.2; 26.3; 37.5; 48.2 sec. In general, without feedback, the engine is tightly accelerated, the necessary acceleration time depends on the load on the shaft, I spent all the experiments without removing the magnetic disc ("damn"), naturally without it you can accelerate.

The switching of the modes is carried out with the SB1 button, the mode indication is made on the HL1-HL3 LEDs, the information is displayed in binary code, HL3 is zero bit, HL2 is the first bit, HL1 - the third batch. When all LEDs are repaid, we obtain the number of zero, it corresponds to the first mode (40 Hz, 10 rd / s), if for example, the HL1 LED is lit, we obtain the number 4, which corresponds to the fifth mode (200 Hz, 50 rd / s). Switch SA1 Run or stop the engine, a closed contact status corresponds to the "Start" command.

The selected speed mode can be recorded in the microcontroller EEPROM, for this you need to hold the SB1 button for 1 second, while all the LEDs will flash, thereby confirming the entry. By default, in the absence of an entry in EEPROM, the microcontroller goes into the first mode. Thus, by writing to the memory mode and installing the SA1 switch to the "Start" position, you can start the engine simply by feeding the power to the device.

The engine torque is small, which is not required when working in the hard disk. With an increase in the load on the shaft, there is a distance and the rotor stops. In principle, if you need to attach the revolutions sensor, and in the absence of a signal, turn off the power and re-promoting the engine.

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

© 2021 Bugulma-lada.Ru - Portal for car owners