arduino due PWM 0-3.3v a 0-5v

salve

ho un arduino due che come sappiamo ha le uscite pwm che vanno da 0 a 3.3 io dovrei pilotare una pompa elettronica per aquario che va pwm 0-5v

come potrei fare?

grazie

Esattamente come dovresti fare sulla UNO, con uno stadio di amplificazione. :slight_smile:
Un semplice esempio

Il microcontrollori possono erogare poca corrente, non puoi quasi mai connettere un carico direttamente.

forse non mi sono spiegato bene la mia pompa ha già il controllo pwm che va la 0 a 5v per pilotarla

La risposta del buon Roberto è corretta poiché il MOSFET di potenza serve appunto per trasformare il livello PWM 0-3.3V in 0-5V fornendo al drain del MOSFET la tensione di 5V.

Ma poiché la tua pompa ha un ingresso TTL a 5V, probabilmente basta anche un transistor NPN tipo BC337.

In teoria pilotando a 3.3V l'ingresso PWM 0-5V il risultato potrebbe essere lo stesso, ma la limitata corrente che può erogare l'uscita digitale della DUE (diciamo 10mA) consiglia di interporre un transistor od un MOSFET di piccola potenza.

I

cyberhs:
probabilmente basta anche un transistor NPN tipo BC337.

Assolutamente, tendo a consigliare MOSFET per una semplice preferenza personale maturata con i corsi di elettronica moderna, che tendono a concentrarsi su di essi mettendo in secondo piano i BJT. :wink:

Corretto Roberto, tuttavia devo precisare che la resistenza sul gate del MOSFET deve essere la più piccola possibile per evitare tempi troppo lunghi di carica della capacità di ingresso e deformazione del segnale in uscita con frequenze elevate.

Per questo, alle volte, si preferisce un "vecchio" transistor.

Giusto giusto, ma le considerazioni che si potrebbero fare per un approssimazione sempre più fedele al modello reale sono cosi tante che senza delle specifiche precise a ben poco senso sbatterci la testa :slight_smile:

cioe fatemi capire io ho un arduiono due che deve pilotare una pompa elettronica per acquario in velocita cioe ciclicamente mi deve andare dal minimo al massimo e dal massimo al minimo di continuo la pompa ha 3 fili 2 sono per l'alimentazione di 24v che vanno diretti alla pompa il terzo filo è per il controllo dove io applicavo uscita del arduino mega (che ha le uscite 0-5v in pwm) e tutto funzionava bene

ora devo usare un arduino due che ha le 0-3.3v pwm se applico questa tensione la pompa ha una velocita minima/massima inferiore

un convertitore di livello di tensione biredizionale 0-3,3 a 0-5v non potrebbe funzionare?

lo stesso problema ce l'ho anche per pilotare una scheda di 4 rele per arduino dove fino a ora usavo le uscite del mega a 5v digitali per attivare il rele ora ho sempre le 3.3v

grazie

Sì, il convertitore può andare bene anche per il pilotaggio della scheda relè.

I relé potrebbero accendersi anche con 3.3v, assumendo che tu abbia una scheda con transistor/optocoupler che li pilotano. Fai una prova.

EDIT: No, non farlo! Vedi sotto.

birrohgt:
un convertitore di livello di tensione biredizionale 0-3,3 a 0-5v non potrebbe funzionare?

E quale magico componente credi ci sia dentro un traslatore di livello :slight_smile:
Comunque si può funzionare.

lo stesso problema ce l'ho anche per pilotare una scheda di 4 rele per arduino dove fino a ora usavo le uscite del mega a 5v digitali per attivare il rele ora ho sempre le 3.3v

Stesso discorso, necessiti di uno stadio di preamplificazione, che può essere costruito con componenti discreti (transistor) oppure con opportuni amplificatori già pronti, come possono essere i traslatori di livello bidirezionali.
Semplicemente a te non serve la caratteristica "bidirezionali". Quindi ti è stata consigliata la strada dei transistor, ma se hai fretta e traslatori a disposizione non vi sono motivi generici per cui tu non li possa usare.[/quote]

Sukko è pericoloso con la DUE perché può erogare al massimo 10mA: meglio non sovraccaricare le porte del micro.

Ecco il motivo del relativo insuccesso della DUE.

Giusto! Anzi, pensandoci, credo che alcuni pin possono erogarne addirittura solo 3, di mA!

ok grazie mille per i vostri consigli

ho fatto una prova in casa ho un convertitore di livello TXS0108E da 8 canali come questo

https://www.amazon.it/convertitore-convertire-bidirezionale-conversione-reciproca/dp/B01H1Q69IM

devo attivare la scheda rele che ho allegato

ma ho un problema fatto tutti i collegamenti giusti il tutto funziona bene se non collego la scheda rele cioe al uscita del convertitore ho 5 v è fin qui tutto ok

se collego la scheda la tensione mi passa a 2.2v il rele riesce ad eccitarsi ma il led che mi indica quale rele è attivato non si accende o fa una luce bassissima come non sia sufficiente la corrente

potrebbe essere colpa del TXS0108E che da troppa poca corrente????

grazie

schema rele.pdf (52.4 KB)

nessuno?

Leggendo il datasheet la porta A (da 1.2V a 3.6V) deve essere connessa alla DUE, mentre la porta B (da 1.65V a 5.5V) deve essere connessa alla scheda relè od alla pompa.

Non sono riuscito a capire se ogni porta sopporta 50mA per canale oppure complessiva per porta.

si esatto l'ho collegato cosi ma non riesco a capire che corrente può erogare non riesce ad attivarmi un led

Fai vedere lo schema che stai usando.

ho provato anche con un convertitore 4 canali con mosfet bss138 ma con i rele non va mi da una tensione a vuoto di 5v se collego la base del transistor che è sulla scheda rele mi trovo un valore di tensione 2.4v al posto dei 5 senza carico

per le pompe invece funziona ma con tensione più bassa nel senso non mi arriva a 5 volt come massimo ma 4.2 volt con una caduta di 0.7 volt circa (che per la pompa 0-5 volt pwm vuol dire non arrivare al 100%)

cerco di fare uno schema a mano di come ho collegato

Mi sembra che te la cavi bene con il saldatore: perché non usi un semplice transistor?

I convertitori bidirezionali vanno bene per piccolo segnali, ma il partitore dal lato 3.3V <--- 5.5V e il transistor per il lato 3.3V ---> 5V funziona sempre!