How to use TDA2030 to implement the design of stepper motor controller
Source: InternetPublisher:已注销 Keywords: stepper motor motor controller Updated: 2023/12/26
There are many versions of stepper motor types, and there are many versions of stepper motor controller designs. This circuit is a universal stepper motor controller using ICTDA2030 as the driver. This circuit is available over a wide operating voltage range of approximately 5V to 18V. It can drive motors with a peak voltage equal to half the supply voltage, so it can easily handle stepper motors designed for voltages between 2.5V and 9V.
This means it can be used to drive relatively large motors. The circuit is also short-circuit protected and has built-in over-temperature protection. Two signals are required to drive a stepper motor. Logically, they constitute a Gray code, which means they are two square wave signals with the same frequency but a constant phase difference of 90 degrees.
IC1 generates a square wave signal whose frequency can be set using potentiometer P1. This frequency determines the speed of the stepper motor. Gray code is generated from a decimal counter in the form of 4017. The outputs Q0~Q9 of the counter continuously become high in response to the rising edge of the clock signal. Gray code can be generated from the output by using two OR gates, here two diodes and a resistor are used to form each gate to generate the I and Q signals.
The "I" here stands for "in phase" and the "Q" stands for "quadrature," which means it is 90 degrees phase offset from the I signal. Common practice is to drive the windings of a stepper motor using a pair of push-pull circuits per winding, called an "H-bridge". This makes it possible to reverse the direction of current through each winding, which is necessary for proper operation of bipolar motors (whose windings do not have a center tap).
Of course, it can also be used to properly drive unipolar motors (with center tapped windings). Here we decided to use an audio amplifier IC (type TDA2030) instead of using this push-pull circuit, although it may sound a bit strange. Functionally, the TDA2030 is actually a power operational amplifier. It has a differential amplifier at the input and a push-pull driver stage at the output.
IC3, IC4 and IC5 are all of this type (economically priced). Here IC3 and IC4 are wired as comparators. Their non-inverting inputs are driven by the I and Q signals mentioned earlier, and the inverting input is set to a potential equal to half the supply voltage. This potential is provided by the third TDA2030. Therefore, the outputs of IC3 and IC4 track their non-inverting inputs, and each of them drives a motor winding.
The other end of the winding is in turn connected to half the supply voltage provided by IC5. Since one end of each winding is connected to a square wave signal that alternates between 0V and a potential close to the supply voltage, while the other end is at half the supply voltage, a voltage equal to half the supply voltage is always applied to each winding, but its The polarity alternates depending on the state of the I and Q signals.
This is exactly why we want to drive a bipolar stepper motor. The speed can be changed using potentiometer P1, but the actual speed is different for each motor because it depends on the number of steps per revolution. The motor used in the prototype was about 9? Each step, its speed can be adjusted from approximately 2 to 10 seconds per revolution.
In principle it is possible to adjust the value of C1 to achieve any desired speed, as long as the motor can handle it. The adjustment range of P1 can be increased by reducing the resistance of resistor R5. The adjustment range is 1: (1000+R5)/R5, where R5 is in k. If you turn off a stepper motor by removing the supply voltage from the circuit, the motor may continue to rotate a certain amount due to its own inertia or the mechanical load on the motor (flywheel effect).
The position of the motor may also be inconsistent with the state of the I and Q signals when the circuit is first powered up. As a result, the motor sometimes gets "confused" when starting up, with the result that it takes a step in the wrong direction before starting to move in the direction defined by the drive signal. These effects can be avoided by adding the optional switch S1 and a 1-k resistor, which can then be used to start and stop the motor. When S1 closes, the clock signal stops, but IC2 maintains its output level at that moment, so the continuous current through the motor windings magnetically "locks" the rotor in place.
The TDA2030 has internal over-temperature protection, so if the IC overheats, the output current is automatically reduced. Therefore, when using relatively powerful motors, it is recommended to mount IC3, IC4, and IC5 to a radiator (possibly a shared radiator). The TO220 case's lugs are electrically connected to the negative supply voltage pins so the IC can be connected to a shared heat sink without the need for insulating washers
- Perform surgery on the speaker protection circuit
- A small improvement on the ordinary refrigerator motor starting circuit
- Simple phase failure protection circuit composed of intermediate relay
- Temperature control circuit design and analysis
- Design and analysis of voice control circuit
- Electric vehicle battery charging protection circuit
- Home wireless burglar alarm circuit
- Ultra-short wave item left behind reminder alarm
- Disconnection anti-theft protection circuit
- Control two contactors with one wire
- Agricultural spraying and insecticide control circuit
- Multi-channel patrol detection control circuit b
- Flashing wall light control circuit
- Photocell trigger control circuit
- Mobile phone camera flash control circuit
- Electromagnet control circuit
- PLC chain alarm control circuit used in production process
- CPU input and output and memory control circuit
- Automatic door detection control circuit
- DC motor forward and reverse control circuit