In che modo i dispositivi a corrente più elevata (motori, solenoidi, luci, ecc.) Possono essere controllati da un Arduino?


18

Sto cercando una soluzione ampiamente applicabile, che può essere adattata a una varietà di progetti.

Attualmente sto lavorando a diversi progetti che richiedono dispositivi di controllo che vanno da 800 mA a 2 A da un Arduino Uno. Uno controlla i motori passo-passo, uno controlla gli attuatori a solenoide 12vdc e uno controlla le valvole pneumatiche 12vdc.

Per esempio:

Arduino controlla un pulsante e ogni volta che viene premuto il pulsante attiva l'attuatore elettromagnetico. Poiché Arduino non è in grado di alimentare la corrente richiesta dal solenoide, è necessario un alimentatore separato con Arduino che controlla un interruttore (relè, transistor, ecc.) Che consente il passaggio della corrente più elevata. Per il motore passo-passo, il layout è più complesso in quanto dovrebbero essere presenti quattro pin che controllano quattro interruttori separati (per mantenere l'interoperabilità del circuito). Il relè controlla una valvola dell'aria e richiede anche 12vdc.

Sto cercando di capire come utilizzare un singolo circuito che può essere utilizzato in ciascuna di queste applicazioni (e in tutti i progetti futuri) che implicano il controllo di dispositivi a corrente più elevata di quanto i pin Arduino possano gestire.

La velocità di prototipazione, i componenti standardizzati e il basso costo sono i fattori trainanti. Anche la velocità di commutazione, la vita utile e il rumore sono importanti.

Esiste una scheda breakout, un circuito o un componente che può essere collegato a un pin Arduino e utilizzato per controllare un dispositivo ad alta corrente? Idealmente con un potenziometro controllato da software in modo che la resistenza per diversi progetti possa essere impostata nello schizzo stesso.


1
Quindi cosa controllerebbe questo consiglio? La resistenza o la tensione? O il dispositivo stesso?
hichris123,

La scheda controllerebbe il dispositivo stesso. Ho aggiunto dettagli alla domanda.
jlbnjmn,

Definire "alta corrente".
jippie,

Risposte:


13

Per guidare correnti così elevate, potrebbe essere necessario mettere in cascata diversi transistor (è anche possibile utilizzare un transistor Darlington ). Esistono array di Darlingtons montati in un chip (ad esempio, l'ULN2803A ha 8 transistor darlington, ma è limitato a 500mA).

Probabilmente dovrai avere a che fare con transistor di potenza superiore; ad esempio ho trovato la STMicroelectronics TIP110 che può supportare la commutazione di una corrente di 2 A (picco di 4 A), ma probabilmente avrebbe bisogno di un dissipatore di calore per dissipare il calore.

Nota che mi chiedo se i tuoi stepper hanno davvero bisogno di corrente 2A (sono così grandi?). Per gli stepper, in genere puoi trovare circuiti integrati che possono guidarli facilmente, ad esempio l'L293D ma questo può guidare "solo" 600mA).

In conclusione, temo che non troverai una soluzione "taglia unica", poiché tutti i tuoi dispositivi sono diversi e dovrebbero essere guidati dal circuito appropriato.

Modificare:

Poiché il sovradimensionamento non è un problema nel tuo caso di prototipazione, potresti utilizzare un MOSFET invece dei soliti transistor bipolari. Un MOSFET sarà in grado di pilotare correnti e tensioni più elevate rispetto ai transistor standard.

Il rovescio della medaglia è che puoi usarlo solo come interruttore (come ad esempio un relè) e quindi non puoi davvero guidare la potenza esatta per i tuoi dispositivi. Immagino che non abbia importanza per un motore passo-passo o un solenoide, ma ad esempio può essere importante per le luci di guida.

Tuttavia, il punto positivo è che puoi ancora usare PWM per questo poiché la velocità di commutazione MOSFET è abbastanza buona per tali scopi.

Per quanto riguarda il prezzo, ci sono molti diversi tipi di MOSFET là fuori, ma immagino che tu possa trovarne uno adatto alle tue esigenze (12V, 2A) per meno di $ 1.

Ti consiglio di dare un'occhiata a questo fantastico articolo su questo argomento.


Il 2A è per i solenoidi. Capisco che una taglia adatta a tutti è una sfida e non ideale per la produzione. In questo caso lo scopo è la prototipazione più rapida, dove è accettabile la costruzione eccessiva.
jlbnjmn,

1
Nota che anche con un TIP110, probabilmente dovrai aggiungere un transistor più piccolo tra esso e il pin di uscita di Arduino, poiché un TIP110 può assorbire 50 mA sulla sua base, che è troppo alto per un pin Arduino.
jfpoilpret,

Penso che TIP 120 sia l'ideale per questo, secondo la scheda
tecnica

7

Esistono molti modi per commutare carichi più elevati e jfpoilpret ha descritto alcune buone opzioni. Riassumo un paio di soluzioni basate su relè, che sono principalmente appropriate per velocità di commutazione relativamente basse (cioè non di solito adatte a PWM).

Relè a stato solido I relè a stato
solido (SSR) sono effettivamente interruttori basati su semiconduttori. Sono disponibili in una vasta gamma di configurazioni, a seconda delle esigenze, ma il fattore chiave è che non hanno parti mobili. Ciò significa che possono essere molto affidabili a lungo termine se utilizzati correttamente.

Internamente, di solito sono composti da MOSFET e tiristori o simili. Ciò può consentire loro di raggiungere velocità di commutazione abbastanza elevate in teoria. In pratica, tuttavia, maggiore è la potenza progettata per, più difficile è passare rapidamente. Ciò significa che l'alta velocità + l'alta potenza possono diventare piuttosto costose.

Un fattore critico da tenere a mente è che di solito è necessario un diverso tipo di SSR se si intende cambiare CA anziché CC. È anche bene notare che alcuni arriveranno con un optoisolatore incorporato o simile per mantenere separati gli alimentatori.

Relè elettromeccanici
Questo è l'approccio più "tradizionale". Un relè elettro meccanico (EMR) è un componente abbastanza semplice, contenente un interruttore meccanico, controllato da una bobina elettromagnetica. Se l'interruttore è normalmente aperto, la bobina lo tira chiuso quando viene applicata una corrente di controllo. Al contrario, un interruttore normalmente chiuso viene aperto quando viene applicata una corrente di controllo.

Ci sono una serie di vantaggi degli EMR rispetto ad altri SSR. Il più ovvio è il costo: la loro semplicità li rende piuttosto economici e il costo non aumenta in modo così netto per le versioni di potenza superiore. Inoltre, il controllo e il carico sono intrinsecamente isolati e non importa se si commuta CA o CC.

Ci sono molti svantaggi però. L'aspetto meccanico significa che gli EMR sono generalmente molto più lenti delle soluzioni di commutazione non meccaniche e possono soffrire di rimbalzo del contatto. Inoltre, possono logorarsi fisicamente e possono essere influenzati da shock, vibrazioni e (potenzialmente) altri campi magnetici.

Quando si progetta un circuito per utilizzare un EMR, è essenziale essere consapevoli del back-EMF (forza elettromotrice). Quando viene applicata una corrente di controllo, la bobina funge da induttore, immagazzinando la carica elettromagneticamente. Quando la corrente di controllo viene interrotta, la carica accumulata può tornare indietro attraverso il circuito di controllo, creando un picco di tensione negativa (potenzialmente molto più grande di quello che era originariamente applicato).

Questo picco può purtroppo danneggiare / distruggere qualsiasi componente collegato o pin del microcontrollore. In genere viene prevenuto / mitigato mettendo un diodo al contrario attraverso i contatti di controllo del relè. In questo contesto, a volte è noto come un diodo flyback e consente all'EMF di dissiparsi in modo sicuro.


Diresti che un MOSFET usato come descritto nell'articolo collegato da jfpoilpret sarebbe un'alternativa adatta al relè elettromeccanico per queste applicazioni?
jlbnjmn,

Sì, per le applicazioni che hai descritto, mi aspetto che un MOSFET sia sufficiente. Ricorda però che sono sensibili alle scariche statiche, quindi prendi le dovute precauzioni quando li maneggi.
Peter Bloomfield,

3

Come già detto da jfpoilpret, un MOSFET di potenza è ottimo per accendere e spegnere l'alimentazione da 12 V CC a dispositivi che arrivano fino a 44 A. Esistono dozzine di tali MOSFET di potenza per meno di $ 1 ciascuno. Sono disponibili MOSFET più costosi in grado di gestire correnti e tensioni molto più elevate.

In linea di principio è possibile pilotare un motore passo-passo con un microcontrollore e una manciata di transistor e alcune altre piccole parti. Tuttavia, molte persone preferiscono utilizzare un "chip driver passo-passo", quindi è impossibile che un bug del software accenda accidentalmente i transistor in modo da cortocircuitare l'alimentazione a terra (in genere distruggendo almeno 2 transistor). Molti recenti chip di driver stepper gestiscono anche microstepping, limitazione di corrente, protezione da sovraccarico termico e altre belle funzionalità.

Tutti i chip del driver stepper di cui abbia mai sentito parlare e alcune schede breakout standard che usano quei chip, sono elencate su http://reprap.org/wiki/stepper_motor_driver .

In particolare, molte delle stampanti 3D RepRap che ho visto collegano un Arduino a quattro driver stepper Pololu (meno di $ 15 ciascuno) per guidare cinque motori stepper.


0

Ho realizzato un circuito Arduino (Arduino Nano) per alimentare un Peltier 12V (che è anche una fonte di energia elevata) usando un transistor MTP3055V MOSFET 60V 12A. E il circuito funziona molto bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.