Potenziometri digitali ad "alto" valore di corrente

Ragazzi buonasera,
Scrivo qui sperando di trovare qualche dritta su come risolvere un "problema" che mi ritrovo a dover affrontare.
Ho un circuito di circa 70 LED, alimentati direttamente con un alimentatore a 12V da 2A. Per quanto ne so sono divisi in diverse serie da 4 con ogni serie la sua resistenza da 120Ohm credo.

Mettendo tra il circuito dei led e l'alimentatore un classico potenziometro meccanico di quelli che si trovano in tutti gli "starter kit", si riesce a regolare l'intensità luminosa dell'impianto, fino ad arrivare a spegnerlo. Bene, l'idea è quella di replicare lo stesso comportamento con una scheda Arduino 2560 ( la scheda è già questa quindi non si cambia )

Nella mia folle ricerca da ignorante in materia mi sono imbattuto in un componente a dir poco "miracoloso", il potenziometro digitale, addirittura disponibile con memoria non volatile che sarebbe perfetto per il mio scopo.

Il problema dunque qual'è? pare che questi componenti purtroppo siano fatti per gestire correnti molto basse, e quindi non applicabili al mio caso, che a spanne direi che sia di poco sotto 1A di corrente e 12V di voltaggio.

Qualcuno dunque ha idea se questi componenti esistono anche con amperaggi più alti o ha qualche dritta su come aggirare il problema utilizzando un altro tipo di approccio?

Ho cercato nei vari mouser,rs etc, ma trovo sempre digipot da 1mA/mA max, nulla insomma che si avvicini a 1A

Grazie a tutti!

Devi controllare l'intensità luminosa con la tecnica della modulazione PWM. Un potenziometro digitale lo friggi in un battibaleno...
In rete trovi centinaia se non migliaia di esempi completi i software e schema di collegamento.

Devi interporre dei mosfet fra l'Arduino e i led. Dai un'occhiata qui per le connessioni.

Ciao,
P.

>Maverick87Shaka: buonasera, essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie.

Guglielmo

pgiagno:
Devi interporre dei mosfet fra l'Arduino e i led. Dai un'occhiata qui per le connessioni.

... quel file è una "bozza" di quello che doveva essere il prodotto finito (... che poi NON è mai stato). Proprio perché "bozza" NON è esente da errori e quindi ... forse sarebbe meglio non diffonderlo (... oltre ad esserci anche alcuni problemi di copyright dato che era destinato SOLO a chi aveva contribuito finanziaramente in una campagna di crowdfunding).

Quelle liberamente rilasciabili sono le schede fatte a suo tempo per bq ... quelle DIY ... con questa copertina:

Guglielmo

cotestatnt:
Devi controllare l'intensità luminosa con la tecnica della modulazione PWM. Un potenziometro digitale lo friggi in un battibaleno...
In rete trovi centinaia se non migliaia di esempi completi i software e schema di collegamento.

Eh infatti ho creato questo post apposta per capire eventuali soluzioni alternative, che il classico digipot l'avrei fritto era chiaro :smiley:

Come posso applicare una modulazione PWM? In passato avevo fatto qualche test modulando pwm dei led direttamente collegati alla scheda Arduino, mai passando per un alimentatore 12V esterno.

pgiagno:
Devi interporre dei mosfet fra l'Arduino e i led. Dai un'occhiata qui per le connessioni.

Ciao,
P.

Il mosfet in questo caso, non mi sarebbe utile solo per accendere/spegnere i led? Mi sfugge come usarli per regolare anche l'intensità luminosa ( scusate ma in materia sono abbastanza arrugginito e poco esperto, ho giusto qualche vago ricordo dalle superiori :smiley: )

gpb01:
>Maverick87Shaka: buonasera, essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie.

Guglielmo

Perdonate, ero convinto di essere già passato da queste parti, ma in effetti avevo "frequentato" solo la parte inglese :wink:

Provvedo subito!

Allora, per controllare la luminosità DEVI usare dei pin di Arduino che abbiano la possibilità di generare un PWM. Il segnale PWM lo generi con una banale analogWrite() con un valore da 0 a 255 (... la analogWrite(), in barba al suo nome, di analogico non ha nulla, ma regola semplicemente la percentuale di PWM su detreminati pin).

Dopo di che ... usi lo schema allegato ...


Guglielmo

Maverick87Shaka:
Come posso applicare una modulazione PWM? In passato avevo fatto qualche test modulando pwm dei led direttamente collegati alla scheda Arduino, mai passando per un alimentatore 12V esterno.

Il concetto è esattamente uguale, anche la modulazione del singolo led direttamente su arduino in pratica porta i 5V dell'alimentazione al pin del led, accendendo e spegnendo velocemente un semiconduttore. Si tratta solo di metterci un altro semiconduttore più grosso, "a valle" del primo interno al chip, per gestire correnti più elevate.

Maverick87Shaka:
Il mosfet in questo caso, non mi sarebbe utile solo per accendere/spegnere i led? Mi sfugge come usarli per regolare anche l'intensità luminosa

Idem come sopra. Se hai già visto cosa fa il PWM al singolo led, puoi immaginare cosa fa il PWM su tanti led: la stessa identica cosa. :smiley:
Serve solo un "interruttore", un mosfet in questo caso, più grosso perchè la corrente e la tensione da gestire sono oltre le possibilità dell'arduino.

Grazie mille a tutti!
Direi che ora mi è chiara la soluzione, e in realtà era anche più semplice del previsto. Rispetto a un potenziometro digitale mi perdo la funzione "non volatile" di "memoria" che mi tornava molto comoda, ma direi che è una cosa di cui posso fare a meno andandola poi a gestire via software in qualche modo.

Ho un unico dubbio sul discorso PWM, ma credo più che altro perchè arrivo da raspberry che funzionava in maniera leggermente diversa.

Una volta scritto il mio valore PWM ( 0-255 ) su un PIN in uscita, il suo valore è costante indipendentemente dal carico del microcontroller giusto? Mi pare di ricordare che proprio in applicazioni PWM, fosse preferibile usare dispositivi arduino in quanto avevano degli oscillatori indipendenti dedicati. Nel mio caso specifico parliamo di Arduino MEGA 2560
Potrei ricordare male però, il mondo Arduino mi è abbastanza nuovo :smiley:

Se non modifichi tu i registri dei timer interni con il programma, il PWM e' costante in frequenza ... solo, usa mosfet logic-level perche' quelli normali non li piloti con 5V sul gate, per andare in piena conduzione ne servono almeno 10, mentre i logic-level funzionano dai 4.5V di VGS, alcuni anche meno ...

E scegline uno con almeno 10 o 20 volte la corrente che devi pilotare ... non per motivi di sicurezza, solo perche' piu e' alta la portata, piu in genere e' bassa la RdsON (resistenza interna da accesi), il che significa a parita' di corrente circolante, meno caduta di tensione sul mosfet e meno potenza dissipata in calore ...

Tanto ormai i prezzi sono calati, in media li trovi sull'euro l'uno ...

Etemenanki:
Se non modifichi tu i registri dei timer interni con il programma, il PWM e' costante in frequenza ... solo, usa mosfet logic-level perche' quelli normali non li piloti con 5V sul gate, per andare in piena conduzione ne servono almeno 10, mentre i logic-level funzionano dai 4.5V di VGS, alcuni anche meno ...

E scegline uno con almeno 10 o 20 volte la corrente che devi pilotare ... non per motivi di sicurezza, solo perche' piu e' alta la portata, piu in genere e' bassa la RdsON (resistenza interna da accesi), il che significa a parita' di corrente circolante, meno caduta di tensione sul mosfet e meno potenza dissipata in calore ...

Tanto ormai i prezzi sono calati, in media li trovi sull'euro l'uno ...

Grazie mille per le informazioni,
Per non fare errori grossolani, visto che sicuramente hai più dimestichezza, ti chiedo un parere sul seguente componente MOSFET se può essere adatto per poi regolare l'intensità in PWM dei led:
IRL2203N che è dato addirittura per 116A, rimanendo un logic level quindi attivabile direttamente dal PIN OUT dell'Arduino.

Oppure potrei anche cercare il più classico IRL540, che già lui dovrebbe darmi un 20A che rispetterebbe la norma del 10 volte sovradimensionato. Unica cosa di quest'ultimo sembra ci sia un pò più scarsa disponibilità, forse è stato rimpiazzato da qualcosa di più "moderno" ?

IRL2203 va bene, non pensare ai 116A, pensa alla RdsON ...

Solo per farti un'esempio con i due che citi, considerando le loro "possibili peggiori" RdsON per un carico di 2A ...

IRL540, 0.1 ohm, caduta di tensione sul mosfet 0.2V, dissipazione 0.4W (ce la farebbe lo stesso, scaldando un po)

IRL2203, 0.01 ohm, caduta di 0.02V, dissipazione di 0.04W (neppure dovrebbe scaldarsi) :wink:

Ricorda solo la solita resistenza da 100-150 ohm o valore simile in serie fra pin e gate (con la frequenza tipica dei PWM di Arduino non servono driver particolari), ed una fra 47K e 100K fra gate e massa ...

Mi sono arrivati finalmente i 2203N e qualche resistenza per fare un pò di test.
Credo di averne "fritti" o comunque rovinati un paio nei vari tentativi, ma ora ho il prototipo funzionante.

Ho un solo dubbio, nei vari schemi non era evidente, quindi all'inizio non lo facevo, ma il mio GND dell'arduino, non è il medesimo GND dell'alimentatore esterno a 12V che uso per alimentare i LED.

A questo punto mi chiedo, quanto è sicuro ponticellare il GND della 12V e il GND dell'arduino? Quest'ultimo infatti non è alimentato dallo stesso alimentatore, ma direttamente dalla presa USB che si occupa anche di comunicare i dati tra pc e arduino.

Ci sono controindicazioni alla lunga con questa configurazione? SI rischiano danni al computer?

Grazie

>Maverick87Shaka: Quando si quota un post, NON è necessario riportarlo (inutilmente) tutto; bastano poche righe per far capire di cosa si parla ed a cosa ci si riferisce, inoltre, se si risponde al post immediatamente precedente, normalmente NON è necessario alcun "quote" dato che è sottinteso. :slight_smile:

Gli utenti da device "mobile" (piccoli schermi) ringrazieranno per la cortesia :wink:

Guglielmo

P.S.: Ho eliminato io il "quote" dal tuo post qui sopra :wink:

quanto è sicuro ponticellare il GND della 12V e il GND dell'arduino?

E' sicuro che se non li unisci o non funziona o funziona in maniera 'random'... :slight_smile:

Ciao, Ale.

Se proprio non vuoi unirli, devi usare un'optoisolatore fra arduino ed il mosfet ...

ilguargua:
E' sicuro che se non li unisci o non funziona o funziona in maniera 'random'... :slight_smile:
Ciao, Ale.

Di questo me ne sono reso conto con le varie prove che ho fatto, e a rimetterci le penne sono stati il paio di mosfet fritti che citavo nel mio messaggio.

Data la mia poca esperienza in materia però ho ancora il dubbio sul discorso "sicurezza" di tale circuito.
Posso collegare dunque il GND del mio alimentatore 12V esterno che gestisce solo i led, con il GND dell'Arduino, che invece è alimentata dalla porta USB collegata a un computer senza rischiare nulla? Ci sono magari precauzioni che vanno prese utilizzando questo tipo di circuito?

Alla fine sia l'alimentatore da 12V che l'alimentatore del PC prendo la corrente dallo stesso impianto elettrico, però volevo qualche rassicurazione a riguardo, vorrei evitare di bruciare gli alimentatori dei pc o le porte usb delle mainboard ecco!

Se proprio non vuoi unirli, devi usare un'optoisolatore fra arduino ed il mosfet ...

Se non ci sono controindicazioni particolari, li unisco semplicemente che è la soluzione più rapida e che non richiede l'utilizzo di altri componenti.

Data la mia poca esperienza in materia però ho ancora il dubbio sul discorso "sicurezza" di tale circuito.

Giusto, solo gli stolti non hanno dubbi... Comunque, in linea teorica, le due alimentazioni dovrebbero essere "flottanti" tra di loro, cioè non avere alcun riferimento comune, quindi unendo un solo filo dell'uno all'altro (indiferrente se il positivo od il negativo) non dovrebbe succedere niente. Il condizionale è d'obbligo, perchè capisci che esistono n-mila varianti sia di alimentatori che di USB. Se ti vuoi togliere ogni dubbio, esegui una semplice misurazione : prendi una resistenza, il valore non ha importanza, basta sia superiore a qualche Kohm (10K es.). Collega un capo ad un negativo e l'altro capo all'altro negativo. Misura con un multimetro la tensione. Dovrebbe essere 0, o pochi millivolt. In caso affermativo significa che tra quei due capi non scorre alcuna corrente significativa, quindi puoi unirli senza problemi.

Ciao, Ale.

Bene, piccolo aggiornamento, forse il problema non sussiste!
Dato che sto usando un alimentatore da 12V, con una portata massima di corrente maggiore di quella che assorbono i miei LED, la soluzione migliore credo sia quella di alimentare direttamente anche l'Arduino col medesimo alimentatore! ( non so esattamente perché non ci ho pensato prima, probabilmente perchè inizialmente erano due circuiti totalmente diversi e non pensavo a unificarli )

La mia scheda Arduino rimane sempre collegata a un PC per il segnale dati, ma sarà alimentata tramite l'apposito connettore JACK per usare alimentatori esterni.
Non è il suo utilizzo tipico ma ho visto che è possibile far lavorare l'Arduino in questa maniera senza grossi problemi.
Di base non cambia nulla in realtà, perché testando col multimetro, il GND dell'alimentatore esterno è direttamente collegato anche al GND della porta USB. Sostanzialmente quindi non cambierebbe nulla, avrei comunque un ponte tra il GND della USB e quella dell'alimentatore, delegando il "ponticello" del GND alla circuiteria dell'Arduino.

Ora viene il bello in cui tutti urlerete ( perchè ho il forte sospetto che non sia raccomandato )

Se collegasi tutti led al PINOUT GND e VIN della Mega2560?
Ho visto che il VIN quando la scheda è alimentata tramite il jack mi riporta i 12V dell'alimentatore, però non so per che circuiti passa, non vorrei che con un pò di carico mi possa friggere la scheda arduino.
Da ulteriori approfondimenti, credo di aver intuito che tra il jack e il VIN ci sia solo un diodo, di portata 1A, quindi in teoria se il mio carico totale è sotto 1A, potrei usarlo senza problemi giusto?

Che ne dite? Sono un folle?

Che ne dite? Sono un folle?

No, al limite un po' ingenuo, perlomeno nella realizzazione...
Alimentare l'Arduino con i 12V potrebbe anche andare bene, sempre che non hai troppa roba collegata, cioè tipo se usi solo l'uscita del PWM va bene. Ma perchè far scorrere la corrente del tuo carico attraverso le delicate piste dell'Arduino? Sdoppia l'alimentazione alla partenza : un ramo (positivo e negativo) per il carico, un altro per l'Arduino.

Ciao, Ale.