Intensità luminosa led irregolare con bassi valori pwm

Ciao, vorrei dimmerare una striscia led con aruduino, ho quindi collegato una striscia ad un irl540 e provato alcuni valori di pwm ma ho notato che più il valore è basso, più la luminosità è irregolare. Il problema si presenta con valori al di sotto di 40-30 dove la striscia non ha più una luminosità irregolare. Ho provato con altri mosfet e un'altra striscia led ma ho sempre lo stesso problema.
Da cosa può dipendere?

Cosa intendi per luminosità "irregolare" ? ? ? Che cosa noti esattamente ? Vedi la luce dei LED che "vibra" ?

Guglielmo

Sicuro che la striscia sia dimmerabile in PWM? Perché ho l'impressione che abbia qualcosa che vada in conflitto col tuo PWM...
Verifica, eventualmente manda il link all'esatta striscia che stai usando.

La striscia led vibra ma si verifica quando la luminosità è davvero bassa, è quasi impercettibile la cosa.
La striscia è la seguente: Striscia LED

Non so su che pin PWM l'hai collegata e su quale Arduino ...
... se stiamo parlando di Arduino UNO, la prima prova che potresti fare, se non è già collegata ad essi, è usare il PWM prelevato o dal pin 5 o dal pin 6 (entrambi lavorano in fast hardware pwm a 976.5625 Hz)

Se stai già utilizzando tali pin, o se il fenomeno resta visibile, purtroppo occcorre che ti sposti su altri due pin (9 o 10 gestiti da Timer1 oppure 3 o 11 gestiti da Timer2), dopo di che, devi mettere le mani a basso livello (modifica dei registri del Timer x) nei rispettivi timers per aumentare la frequenza di PWM di ... un fattore 8 (cosa da NON fare sul Timer0 che controlla i pin PWM 5 e 6 dato che esso è coinvolto in altre funzioni di sistema).

Te lo dico perché, a suo tempo, ebbi lo stesso problema su un ATtiny85 con un Strip LED RGB in cui, a bassa luminosità, appariva detta "vibrazione", problema che ho completamete risolto facendo la sudetta modifica.

Guglielmo

N.B.: Come specificato, quanto detto, vale per Arduino UNO, per altri modelli sono coinvolti Timers diversi su diversi pin

Conosco la modifica del timer per modificare la frequenza di funzionamento in PWM (per evitare la rumorosità di una ventola modificando la velocità) ma pensavo che non servisse per i led frequenze più alte, a quanto consigli di portare il timer? Non è dannoso per i led alzarlo di tanto?
Utilizzo un arduino nano

Il nano monta un normalissimo ATmega328P ... se ti colleghi o sul pin D9 o sul D10 vai a mettere le mani sul Timer 1 e così non dai fastidio a troppe altre cose (salvo tu non usi dei servo ... visto che la libreria Servo usa appunto il Timer 1) ... moltiplica la frequenza per 8 (valore facile da avere) e vedrai che la vibrazione sparisce.

Guglielmo

P.S.: ... tranquillo, non fai alcun danno :wink: Ah ... le mie strip-led RGB lavorano così tutti i giorni dal 2013 :smiley:

Per come lo descrive, sembra jitter del pwm, che porta a una instabilità del duty cycle, ad esempio 2% - 3% - 1% - 2% - 1% - 3%...

Datman:
Per come lo descrive, sembra jitter del pwm, che porta a una instabilità del duty cycle, ad esempio 2% - 3% - 1% - 2% - 1% - 3%...

Il PWM è generato HW dai Timer ... una volta impostato avanza per conto suo e non vedo cosa possa introdurre del "jitter" (salvo problemi di instabilità del clock).

Piuttosto, è semplicemente che a basse intensità, ovvero basse percentuali del PWM, i classici 488 Hz sono pochi e si ha la percezione come di un "flickering" ... aumentatndo la frequenza il problema scompare :wink:

Guglielmo

488Hz sono circa 2ms di periodo: all'1% sono impulsi di 20us intervallati da circa 2ms... Per l'occhio umano è luce continua. È segno che non va proprio così. Bisogna vedere con l'oscilloscopio. Potrebbe essere una instabilità dell'alimentatore con poco carico. Che succede aggiungendo un carico direttamente sull'alimentatore, come una resistenza o una lampadina?

Concordo con Datman. Ma quella striscia ha il suo alimentatore, già dotato di dimmer: dato che sospetto che induca lui una certa frequenza PWM anche al massimo (perché avrà messo in posizione massima, si?) che si "pesti i piedi" con il PWM di Arduino, consiglierei di usare un alimentatore senza dimmer e vedere che succede.

... devo dirvi che non mi sono messo mai ad esaminare il "perché", dovevo risolvere rapidamente e l'aumento della frequenza del PWM risolve. Divertitevi voi a scoprire il motivo ... :stuck_out_tongue_closed_eyes:

Guglielmo

P.S.: Volgari strip RGB a 12v senza nulla di mezzo se non tre IRL540 per pilotarle ....

Mi intrometto, scusa @gpb01, ma l'aumento della frequenza risolve anche l'effetto che a bassi pwm un effetto fade da 0 a 100 per i primi istanti la strip è spenta e poi all'improvviso si accende ad una lunimosità che poi via via creasce linearmente o questo dipende da altri fattori? Anch'io scriscia led china, alimentatore non dimmerante e IRL540 e null'altro

fabpolli:
Mi intrometto, scusa @gpb01, ma l'aumento della frequenza risolve anche l'effetto che a bassi pwm un effetto fade da 0 a 100 per i primi istanti la strip è spenta e poi all'improvviso si accende ad una lunimosità che poi via via creasce linearmente o questo dipende da altri fattori?

... mmm ... mi spiace, questa cosa non l'ho vista.

Ho avuto ovviamente problemi con la linearità (data la risposta logaritmica dell'occhio), ma accensioni improvvise ad un certo valore di PWM e buio al di sotto non mi è capitato :confused:

Guglielmo

P.S.: Comunque, visto che la modifica della frequenza del timer sono poche righe ... tentare non nuoce :wink:

gpb01:
P.S.: Comunque, visto che la modifica della frequenza del timer sono poche righe ... tentare non nuoce :wink:

Ovvio che si, quando posso provo, grazie mille :slight_smile:

gpb01:
... mmm ... mi spiace, questa cosa non l'ho vista.

Ho avuto ovviamente problemi con la linearità (data la risposta logaritmica dell'occhio), ma accensioni improvvise ad un certo valore di PWM e buio al di sotto non mi è capitato :confused:

A me è capitato con led singoli, con un PWM di pochi punti percentuali (avevo ricondotto tutta la regolazione in base 100) restavano spenti e da una certa percentuale in su si accendevano a bassa luminosità.
Tipo, fino al 3% spento, al 4% acceso al 5% leggermente più luminoso ma quasi impercettibile e via dicendo, ma fino ad un certo punto totalmente off.
Nel mio caso il PWM finiva in base ad un transistor che mi gestiva la parte di "potenza" per cui l'effetto potrebbe comunque essere stato causato dal transistor troppo lento che non riusciva a fare in tempo ad andare in saturazione.
Non ho indagato perchè comunque mi servivano regolazioni meno precise e il "difetto" non mi creava problemi.

maubarzi:
... Tipo, fino al 3% spento, al 4% acceso al 5% leggermente più luminoso ma quasi impercettibile e via dicendo, ma fino ad un certo punto totalmente off. ...

Interessante, ... sarebbe da indagare con un oscilloscopio guardando il segnale in entrata sulla base del transistor e in uscita sul LED e vedere che succede :wink:

Guglielmo

Non ce l'ho, purtroppo :frowning:

maubarzi:
Non ce l'ho, purtroppo :frowning:

Qualche amico nelle vicinanze dove andare a fare le prove ? :confused: ... magari un "fablab" ?

Guglielmo

No, nemmeno, sono solo e abbandonato in questo mondo crudele arduino dipendente.