Ponte H con TIP12x

Ciao a tutti,
sto facendo un piccolo robot cingolato e vorrei costruire i ponti h per i due motori. Li vorrei costruire a transistor per due motivi:
1: ho già fuso un chip…
2:così magari imparo :slight_smile: :slight_smile:

Alimentazione:
7.2v per i motori, con 6 stilo ricaricabili da 1500mAh
5v provenienti da una scheda arduino uno che fa anche da controllore

Le specifiche dei motori:
Voltaggio 6-12v
Amperaggio: 80-160 mA
Amperaggio di picco: 800 mA

Avevo quindi pensato a un driver che regga ~3A, visto che lo vorrei usare anche in un prossimo progetto che richede più o meno questa potenza. Nello schema allegato sono presenti dei TIP120 e TIP125, ma se ne esistessero altri simili da 3A sarebbe meglio (se il costo è minore). I diodi di ricircolo sono degli 1N5400, sono sovradimensionati?
Ultima domanda: per i transistor di controllo andrebbero bene dei BC547 invece che i 2N2222 o è più sicuro così?

Il controllo, ovviamente con arduino, avverrebbe così (IN1 e IN2 sono gli ingressi):
IN1 IN2 motore
1 0 avanti
PWM 0 avanti, velocità controllata
0 1 indietro
0 PWM indietro, velocità controllata
1 1 stop
0 0 stop
In questa maniera non si dovrebbero formare cortocircuiti.

h_bridge.bmp (3 MB)

EDIT: ho cercato un po' tra i forum ma non sono riuscito a trovare un thread adatto o adattabile al mio caso

Il ponte dello schema elettrico non Ti funziona.
Usa un L298.

Ciao Uwe

Come detto sopra, vorrei costruirlo con dei transistor e quindi se possibile eviterei integrati come L298 o L293.
In ogni caso, quasto circuito è stato adattato da un altro trovato in rete che al posto dei due PN2222 usava dei buffer. Nel circuito che vorrei realizzare non sono presenti buffer e quindi volevo realizzarli con i due transistor per "simularli"
dp_1

Nessuno che abbia un parere?

In quello schema usi i transistor di ingresso per chiudere al +5V dei darlington NPN e PNP (con il ponte alimentato a 7,5V, e non metti nessun pulldown ... quando il transistor non e' alimentato, le basi sono "volanti", quando e' alimentato, il PNP non riesce a spegnersi "perche' la tensione sulla base e' piu bassa di quella sul collettore) e l'NPN si accende, quindi va in corto il tutto.

Per farlo funzionare dovresti invertire il pilotaggio, mettendo una resistenza fra il transistor di pilotaggio ed il +V del ponte, e collegando il transistor di pilotaggio verso massa ... cosi quando e' aperto, la resistenza spegne il PNP ed accende l'NPN e viceversa ... inoltre ci vorrebbero dei diodi (o meglio, zener) sulle basi, per minimizzare il rischio che entrambi i transistor conducano insieme ...

Quindi per far funzionare il ponte dovrei mettere dei pulldown per gli NPN e dei pullup al positivo dell'alimentazione dei motori per i PNP?

No, tu colleghi i transistor di comando (i 2222) verso il +5V, e NON colleghi nessun pulldown … i transistor vanno spostati a massa (emettitore a massa e collettore al comune delle due resistenze che vanno alle basi), e dal collettore al +V (NON ai 5V) va una resistenza di pullup (va bene anche 10K, stai pilotando dei darlington che non richiedono molta corrente di base) …

Poi andrebbero degli zener in serie alle resistenze che pilotano le basi, ma quello per ora puoi lasciarlo perdere …

dp_1:
Quindi per far funzionare il ponte dovrei mettere dei pulldown per gli NPN e dei pullup al positivo dell'alimentazione dei motori per i PNP?

Cercati uno schema che funzioni.

Quindi se ho capito bene dovrei fare come nello schema allegato giusto?
Scusate le tante domande ma dato che sono un po’ agli inizi non vorrei fare casini

h_bridge.bmp (3 MB)

Mi sono accorto adesso che le resistenze le ho lasciate tutte a 1kOhm, i due pullup dovrebbero essere 10k come dice Etemenanki

dp_1:
Quindi se ho capito bene dovrei fare come nello schema allegato giusto?
Scusate le tante domande ma dato che sono un po' agli inizi non vorrei fare casini

Sai che quel schema non permette lasciare in folle il motore. Permette solo di pilotare il motore nelle due direzioni e di frrenarlo mettendolo in corto.
Per avere anche la possibilitá si non frenarlo devi pilotare tutti i 4 transistori singolarmente.
Ciao Uwe

si l'impossibilità di mettere in folle è "meditata" dato che, per ottenere una reattività migliore, frenerei mettendo in corto il motore.
Se poi in futuro dovessi avere la necessità di mettere in folle il motore posso sempre aggiungere un mosfet a canale P sull'alimentazione del ponte

In ogni caso, l'ultimo schema postato va bene?

No, non ancora , quando T1 è OFF Q1 e Q3 sono ON , e in maniera identica avviene sull'altro ramo

Mettici gli zener sulle basi ... 4V o simili (pure 3.3, se non trovi altro) ... uno per base (con la polarita' corretta per gli zener, ovviamente :wink: )

E delle resistenze di spegnimento ... tipo, 10K ... da base a positivo per i PNP e da base a massa per gli NPN ...

Gli zener ancora non li ho aggiunti, lo farò appena ho tempo.
Ho capito i pulldown sulle basi degli NPN, ma non ho capito perchè le due resistenze R7 e R8 non vanno bene come resistenze di pullup per i PNP. In ogni caso, nello schema allegato sono presenti altri due pullup, ditemi quali devo tenere
dp_1

h_bridge.bmp (3 MB)

Forse ci sono...
i pullup e i pulldown vanno proprio dalle basi o dopo le resistenze delle basi?

Facciamo cosi, che e’ piu semplice :wink: … ti allego uno schemino che ho fatto al volo (e’ da controllare perche’ sto andando a memoria con i valori, comunque anche se e’ una configurazione un po strana, funziona), che puoi usare dato che utilizzi dei darlington (io ho segnato i BDX perche’ sono quelli che uso di solito come darlington, tu puoi usare i tuoi) … dato che i darlington necessitano di correnti di base molto basse, puoi pilotarli direttamente con le uscite di Arduino … il BC337 extra serve per rendere predominante l’ingresso A rispetto al B, perche’ senza quello, mandando entrambi gli ingressi ad 1, i transistor si accenderebbero tutti e 4 … in questo modo invece se mandi entrambi ad 1, il B viene forzato a 0 e si accende solo l’A (una specie di sicura) …

Grazie mille! :slight_smile: :slight_smile:
Mi scuso di nuovo per le domande :slight_smile: