H-Bridge 1: Kíkọ́ ẹ̀rọ awakọ́ H-bridge lórí àtàárọ̀ pẹ̀lú TIP120 àti TIP125 Darlington transistors
Itọsọna yii yoo dari ọ nipasẹ kikọ awakọ moto H-bridge nipa lilo TIP120 ati TIP125 Darlington transistors lori breadboard. Eto yii dara fun iṣakoso itọsọna ati iyara ti moto DC, eyiti o jẹ pataki fun ọpọlọpọ awọn iṣẹ roboti ati adaṣe. Ni ipari itọnisọna yii, iwọ yoo ni anfani lati ṣakoso moto pẹlu awọn iyipo mejeeji ni itọsọna aago ati ni idakeji, pẹlu iṣakoso iyara.
Ninu itọsọna yii, a yoo lo Arduino fun iṣakoso motor. Iṣeto H-bridge gba laaye lati yi itọsọna motor pada nipa iṣakoso awọn ifihan agbara ti a firanṣẹ si awọn transistors. Eyi jẹ ẹya pataki fun ọpọlọpọ awọn ohun elo, gẹgẹbi awọn ọwọ roboti tabi awọn roboti alagbeka ti o nilo iṣakoso motor to pe. Fun alaye siwaju, jọwọ tọka si fidio (ninu fidio ni 00:00).
Itumọ Ẹrọ
Awọn eroja pataki ti iṣẹ akanṣe yii ni TIP120 ati TIP125 transistors, ti a lo gẹgẹbi awọn iyipo lati ṣakoso iṣẹ motor naa. TIP120 jẹ transistor NPN Darlington, ati TIP125 jẹ transistor PNP Darlington. Papọ, wọn ṣe agbekalẹ iṣeto H-bridge, ti o fun wa laaye lati ṣakoso itọsọna ti lọwọlọwọ ti n ṣiṣan nipasẹ motor naa.
Ninu eto yii, a lo ami PWM (Ihamọ Iwọn Iwọn) lati ṣakoso iyara ẹrọ. Awọn transistors n yipada ni kiakia lati ṣẹda folti apapọ ti o pinnu iyara ẹrọ. Awọn pin EN n mu tabi pa awọn transistors, ni idaniloju pe ẹrọ naa n ṣiṣẹ nikan nigbati o ba nilo.
Alaye iwe data
| Olùgbéejáde | Texas Instruments |
|---|---|
| Nọmba apakan | TIP120 |
| Iwọn folti logic/IO | 5-15 V |
| Iwọn folti ipese | 60 V |
| Iwọn lọwọlọwọ (nipasẹ ikanni) | 5 A |
| Iwọn lọwọlọwọ to ga julọ (fun ikanni kọọkan) | 30 A |
| Itọsọna igbohunsafẹfẹ PWM | 1 kHz max |
| Iwọn aala iṣiro input | 2.5 V (giga), 0.8 V (kekere) |
| Iwọn folti / RDS(on)/ idapọ | 1.2 V |
| Iwọn otutu to pọ julọ | 175 °C |
| Pàkàjì | TO-220 |
| Akọsilẹ / awọn iyatọ | Ti wa ni TIP125 |
- Rii daju pe a fi itanna to dara fun awọn ohun elo lọwọlọwọ giga.
- Lo lo PWM lati ṣakoso iyara moto ni ọna ti o munadoko.
- Ṣayẹwo itọsọna transistor lati yago fun ibajẹ circuit.
- San ifojusi si awọn iwọn folti lati yago fun kọja awọn aala.
- Lo lo awọn capacitors decoupling lati ṣe iduroṣinṣin ipese folti.
Ilana Asopọ

Lati so H-bridge motor driver, kọ́kọ́ so pin VCC lati TIP120 ati TIP125 si ipese 5V lori Arduino rẹ. So pin GND si ilẹ. Awọn pin iṣakoso PWM,PWM1atiPWM2, yẹ ki o so pọ si awọn pin dijital 9 ati 3 lori Arduino, ni ibamu. Awọn pin agbara,EN1atiEN2, yoo ni so pọ mọ awọn pinni oni nọmba 8 ati 2.
Ni atẹle, so awọn itẹsiwaju ẹrọ rẹ pọ si awọn pin ikojọpọ ti awọn transistors TIP120 ati TIP125. Rii daju pe ẹrọ naa ba agbara rẹ mu. Ti o ba nlo awọn ẹya afikun gẹgẹbi awọn diodes fun aabo flyback, gbe wọn ni afiwe pẹlu awọn itẹsiwaju ẹrọ lati dena ibajẹ lati EMF pada. Ti o ba nlo awọn awoṣe Arduino oriṣiriṣi, jẹrisi awọn maapu pin fun PWM ati awọn ifihan agbara mu.
Àpẹẹrẹ Kóòdù & Irin-ajo
const int PWM1= 9; //pin with ~
const int EN1= 8;
const int PWM2= 3; //pin with ~
const int EN2= 2;
Ninu eto naa, a ṣe alaye awọn pin iṣakoso fun awọn ifihan PWM ati awọn pin ti a mu ṣiṣẹ.pinMode iṣẹ naa ṣeto awọn pin wọnyi gẹgẹbi jade lati ṣakoso awọn transistors ti o nṣiṣẹ moto.
void loop() {
Motor(CW, 50); //in CW at 50% speed
delay(5000);
stop(); // stops the motor
delay(2000);
}
Iṣẹ́ àtẹ̀jáde yìí fi hàn bí motor ṣe ń ṣiṣẹ́. Ó kọ́kọ́ ṣiṣẹ́ motor ní ìtòsọ́nà àtẹ́lẹwọ́ ní 50% iyara fún ìṣẹ́jú 5, lẹ́yìn náà ó dáwọ́ duro fún ìṣẹ́jú 2.Motor iṣẹ naa ni a pe pẹlu itọsọna ati iyara awọn paramita, ti n ṣakoso ihuwasi ti moto da lori awọn titẹsi wọnyẹn.
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
if(direction) {
analogWrite(PWM1, speedPWM); // Set speed for CW
} else {
analogWrite(PWM2, speedPWM); // Set speed for CCW
}
}
IMotoriṣẹ́ náà gba itọsọna boolean kan àti iyara integer kan. Ó n ṣe àtúnṣe ipin iyara sí iye PWM kan àti loanalogWritelati pin to tọka fun iṣakoso moto. Iṣẹ yii jẹ pataki fun iyipada itọsọna ati iyara moto ni ọna ti o yipada.
Iṣafihan / Ohun ti a le reti
Lẹhin ti pari wiring ati ikojọpọ koodu, o yẹ ki o rii ẹrọ n yipo ni itọsọna ọtun ni 50% iyara fun awọn aaya 5, ti o tẹle pẹlu idaduro. Lẹhin idaduro kan, yoo yipo ni itọsọna osi ni 80% iyara fun awọn aaya 5 miiran. Awọn iṣoro ti o wọpọ pẹlu wiring ti ko tọ ati gbigbe awọn iwọn foliteji, eyiti o le ba awọn transistors tabi ẹrọ jẹ.
Àkókò Fídíò
- 00:00- Ifáyẹ̀wò
- 01:30- Atọka Ẹrọ
- 03:15- Awọn Itọsọna Wiring
- 05:00- Itọsọna Koodu
- 08:45- Ifihan
/*
This code is for:
Building an H-Bridge Motor driver using TIP120 and TIP125 on a breadboard and full PCB Design with Arduino
https://youtu.be/6ugrL5ziPn8
This code has been downloaded from Robojax.com
You can access the resources page and download the Gerber file to produce
the PCB or a fully assembled PCB from PCBX.com
Visit https://robojax.com/tutorial_view.php?id=392
to control a DC motor using TIP120 and TIP125 as an
H bridge
Written by Ahmad Shamshiri
26 Aug 2024
*/
const int PWM1= 9;//pin with ~
const int EN1= 8;
const int PWM2= 3;//pin with ~
const int EN2= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int);//prototype
void brake();//prototype
void setup() {
Serial.begin(9600);
Serial.println("TIP120 H Bridge by Robojax");
pinMode(PWM1, OUTPUT);
pinMode(EN1, OUTPUT);
pinMode(PWM2, OUTPUT);
pinMode(EN2, OUTPUT);
}
void loop() {
Motor(CW, 50);//in CW at 50% speed
delay(5000);
stop();
delay(2000);
Motor(CCW, 80);//in CCW at 80% speed
delay(5000);
brake();
delay(2000);
for (int i=0; i<=100; i++)
{
Motor(CCW, i);
delay(25);
}
delay(5000);
brake();
delay(2000);
}
/*
stop()
stops the output
*/
void stop()
{
Serial.println ("=== Stop");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}
/*
brake()
*/
void brake()
{
Serial.println ("=== Brake");
digitalWrite(PWM1, HIGH);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, HIGH);
digitalWrite(EN2, LOW);
}
void Motor(boolean direction, int speed=0)
{
int speedPWM = map(speed, 0, 100, 0, 255);
Serial.print("Speed: "); Serial.print (speedPWM);
Serial.print ("(");Serial.print (speed);Serial.print ("%)");
if(direction){
Serial.print(" dir: ");Serial.println ("CW");
analogWrite(PWM1, speedPWM);
digitalWrite(EN1, HIGH);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}else{
Serial.print(" dir: ");Serial.println ("CCW");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
analogWrite(PWM2, speedPWM);
digitalWrite(EN2, HIGH);
}
}
Orisun & itọkasi
-
Ita gbangba
-
Ita gbangba
-
Ita gbangba
-
Ita gbangba
Fáìlìs📁
Gerber files
-
H-Bridge-TIP120-TIP125 Gerber file for PCBXIncludes H-Bridge-TIP120-TIP125.zip, H-Bridge-TIP120-TIP125-BOM.xls and H-Bridge-TIP120-TIP125-coor.xls files to place order easily.
H-Bridge-TIP120-TIP125 Gerber file.zip0.05 MB