Sommario:

Come controllare un MOSFET con Arduino PWM: 3 passaggi
Come controllare un MOSFET con Arduino PWM: 3 passaggi

Video: Come controllare un MOSFET con Arduino PWM: 3 passaggi

Video: Come controllare un MOSFET con Arduino PWM: 3 passaggi
Video: Generare segnali PWM con Arduino : come controllare la velocità di un motore DC! 2024, Novembre
Anonim
Image
Image
Schema elettrico
Schema elettrico

In questo tutorial vedremo come controllare la corrente attraverso un MOSFET usando un segnale di uscita Arduino PWM (Pulse Width Modulation).

In questo caso manipoleremo il codice arduino per darci un segnale PWM variabile sul pin digitale 9 di arduino, e quindi filtreremo questo segnale per darci un livello DC regolabile che può essere applicato al gate del MOSFET.

Questo ci permetterà di controllare il transistor da uno stato spento senza corrente che scorre a uno stato in cui solo pochi milliampere di corrente o ad uno stato in cui abbiamo diversi ampere di corrente che scorre attraverso il transistor.

Qui imposterò il PWM in modo da avere 8192 passi di variazione dell'ampiezza dell'impulso che ci danno un controllo molto preciso sul MOSFET.

Passaggio 1: Schema del circuito

Il circuito è molto semplice. Il segnale PWM dal pin D9 dell'arduino è integrato o filtrato dalla combinazione di R1 e C1. I valori mostrati funzionano bene con una frequenza operativa di 1,95KHz o un funzionamento a 13 bit con 8192 passi (da 2 alla potenza 13 = 8192).

Se si decide di utilizzare un numero diverso di passaggi, potrebbe essere necessario modificare i valori R1 e C1. Ad esempio, se si utilizzano 256 passi (operazione a 8 bit) la frequenza PWM sarà 62,45 KHz, sarà necessario utilizzare un valore C1 diverso. Ho scoperto che 1000uF ha funzionato bene per questa frequenza.

Dal punto di vista pratico un'impostazione PWM di 0 significa che il livello DC sul gate del MOSFET sarà 0V e il MOSFET sarà completamente spento. Un'impostazione PWM di 8191 significherà che il livello CC sul gate MOSFET sarà di 5 V e il MOSFET sarà sostanzialmente se non completamente acceso.

Il resistore R2 è in posizione solo per garantire che il MOSFET si spenga quando il segnale sul gate viene rimosso tirando il gate a massa.

A condizione che la fonte di alimentazione sia in grado di fornire la corrente dettata dal segnale PWM sul gate del MOSFET, è possibile collegarlo direttamente al MOSFET senza resistore in serie per limitare la corrente. La corrente sarà limitata solo dal MOSFET e dissiperà l'eventuale potenza in eccesso sotto forma di calore. Assicurati di fornire un dissipatore di calore adeguato se lo usi per correnti più elevate.

Passaggio 2: codice Arduino

Codice Arduino
Codice Arduino

In allegato il codice arduino. Il codice è ben commentato e abbastanza semplice. Il blocco di codice sulle righe da 11 a 15 imposta l'arduino per il funzionamento PWM veloce con uscita sul pin D9. Per modificare il livello PWM si modifica il valore del registro di confronto OCR1A. Per modificare il numero di passi PWM si modifica il valore di ICR1. ad esempio 255 per 8 bit, 1023 per 10 bit, 8191 per funzionamento a 13 bit. Tieni presente che quando cambi ICR1 la frequenza di funzionamento cambia.

Il ciclo legge solo lo stato di due interruttori a pulsante e incrementa il valore OCR1A verso l'alto o verso il basso. Ho preimpostato questo valore in setup() su 3240 che è appena al di sotto del valore in cui il MOSFET inizia ad accendersi. Se usi un transistor diverso o un circuito di filtro C1 e R1, questo valore sarà leggermente diverso per te. Meglio iniziare con il valore preimpostato a zero la prima volta che lo provi per ogni evenienza!

Passaggio 3: risultati del test

Risultati del test
Risultati del test
Risultati del test
Risultati del test

Con ICR1 impostato a 8191 questi sono i risultati che ho ottenuto variando la corrente tra 0 e 2 AMP:

OCR1A (Impostazione PWMCorrente (ma)Tensione di gate (Vdc)3240 0 ma 0v3458 10ma 1.949v4059 100ma 2.274v4532 200ma 2.552v4950 500ma 2.786v5514 1000ma 3.101v6177 1500ma 3.472v6927 2000ma 3.895v

Consigliato: