H-Bridge 1: Costruire un driver per motore H-bridge su una breadboard utilizzando transistor Darlington TIP120 e TIP125
Questo tutorial ti guiderà nella costruzione di un driver per motore H-bridge utilizzando transistor Darlington TIP120 e TIP125 su una breadboard. Questa configurazione è ideale per controllare la direzione e la velocità di un motore DC, essenziale per vari progetti di robotica e automazione. Alla fine di questo tutorial, sarai in grado di controllare un motore con rotazioni sia in senso orario che antiorario, insieme alla modulazione della velocità.
In questa guida, utilizzeremo un Arduino per controllare il motore. La configurazione H-bridge consente di invertire la direzione del motore controllando i segnali di ingresso inviati ai transistor. Questo è un aspetto cruciale per molte applicazioni, come bracci robotici o robot mobili che richiedono un controllo preciso del motore. Per ulteriori chiarimenti, si prega di fare riferimento al video (nel video a 00:00).
Hardware Spiegato
I componenti principali di questo progetto includono i transistor TIP120 e TIP125, che vengono utilizzati come interruttori per controllare il funzionamento del motore. Il TIP120 è un transistor Darlington NPN, mentre il TIP125 è un transistor Darlington PNP. Insieme, formano la configurazione a ponte H, permettendoci di controllare la direzione della corrente che scorre attraverso il motore.
In questa configurazione, il segnale PWM (Modulazione di Larghezza di Impulso) viene utilizzato per controllare la velocità del motore. I transistor si accendono e spengono rapidamente per creare una tensione media che determina la velocità del motore. I pin EN abilitano o disabilitano i transistor, garantendo che il motore funzioni solo quando necessario.
Dettagli della scheda tecnica
| Produttore | Texas Instruments |
|---|---|
| Numero di parte | TIP120 |
| Tensione di logica/IO | 5-15 V |
| Tensione di alimentazione | 60 V |
| Corrente di uscita (per canale) | 5 A |
| Corrente di picco (per canale) | 30 A |
| Linee guida sulla frequenza PWM | 1 kHz max |
| Soglie logiche di ingresso | 2,5 V (alto), 0,8 V (basso) |
| Caduta di tensione / RDS(on)/ saturazione | 1,2 V |
| Limiti termici | 175 °C |
| Pacchetto | TO-220 |
| Note / varianti | Disponibile come TIP125 |
- Assicurati di avere un adeguato dissipatore di calore per applicazioni ad alta corrente.
- Utilizza segnali PWM per controllare efficacemente la velocità del motore.
- Verifica l'orientamento del transistor per prevenire danni al circuito.
- Fai attenzione alle tensioni nominali per evitare di superare i limiti.
- Utilizzare condensatori di disaccoppiamento per stabilizzare l'alimentazione di tensione.
Istruzioni di cablaggio

Per cablare il driver del motore H-bridge, prima collega il pin VCC del TIP120 e TIP125 all'alimentazione di 5V del tuo Arduino. Collega il pin GND a terra. I pin di controllo PWM,PWM1ePWM2, dovrebbero essere collegati ai pin digitali 9 e 3 sull'Arduino, rispettivamente. I pin di abilitazione,EN1eEN2si collegherà ai pin digitali 8 e 2.
Successivamente, collega i terminali del motore ai pin del collettore dei transistor TIP120 e TIP125. Assicurati che il motore sia compatibile con la tua alimentazione. Se utilizzi componenti aggiuntivi come diodi per la protezione da ritorno, posizionali in parallelo con i terminali del motore per prevenire danni da back EMF. Se stai utilizzando modelli di Arduino diversi, verifica le mappature dei pin per i segnali PWM e di abilitazione.
Esempi di codice e guida passo passo
const int PWM1= 9; //pin with ~
const int EN1= 8;
const int PWM2= 3; //pin with ~
const int EN2= 2;
Nella configurazione, definiamo i pin di controllo per i segnali PWM e i pin di abilitazione. IlpinModela funzione imposta questi pin come uscita per controllare i transistor che azionano il motore.
void loop() {
Motor(CW, 50); //in CW at 50% speed
delay(5000);
stop(); // stops the motor
delay(2000);
}
Questa funzione di ciclo dimostra il funzionamento del motore. Prima fa girare il motore in senso orario al 50% della velocità per 5 secondi, poi si ferma per 2 secondi.Motorla funzione viene chiamata con parametri di direzione e velocità, controllando il comportamento del motore in base a quegli input.
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
}
}
IlMotorLa funzione prende una direzione booleana e una velocità intera. Mappa la percentuale di velocità a un valore PWM e utilizzaanalogWriteimpostare il pin appropriato per il controllo del motore. Questa funzione è fondamentale per alterare dinamicamente la direzione e la velocità del motore.
Dimostrazione / Cosa Aspettarsi
Al termine del cablaggio e del caricamento del codice, dovresti osservare il motore ruotare in senso orario al 50% della velocità per 5 secondi, seguito da una fermata. Dopo un ritardo, ruoterà in senso antiorario all'80% della velocità per altri 5 secondi. Gli errori comuni includono cablaggi errati e superamento delle tensioni nominali, che possono danneggiare i transistor o il motore.
Timestamp video
- 00:00- Introduzione
- 01:30- Panoramica dell'hardware
- 03:15- Istruzioni di cablaggio
- 05:00- Guida al codice
- 08:45- Dimostrazione
Risorse e riferimenti
-
Esterno
-
Esterno
-
Esterno
-
Esterno
File📁
Altri file
-
File Gerber H-Bridge-TIP120-TIP125 per PCBXInclude i file H-Bridge-TIP120-TIP125.zip, H-Bridge-TIP120-TIP125-BOM.xls e H-Bridge-TIP120-TIP125-coor.xls per effettuare un ordine facilmente.
H-Bridge-TIP120-TIP125 Gerber file.zip0.05 MB