Soluzione hardware per lo sbiadimento del LED acceso / spento con uscita digitale


11

Vorrei trovare una soluzione basata su hardware per far sbiadire i LED dai pin digitali. cioè invece di accendere / spegnere, dissolvenza lenta (500 ms) in / fuori dalla piena luminosità. Non riesco a immaginare un piccolo condensatore che impiega mezzo secondo per scaricarsi ... Idealmente sarebbe in un bel pacchetto DIP16 in modo da poter ottenere una serie di LED in dissolvenza. Esiste la componente dei miei sogni?


Guidare un LED da un oscillatore a onda triangolare?
Bitrex,

1
Se programmo un microcontrollore per fare questo, e metto il mio numero di parte sul pacchetto e poi lo vendo a te, conta come una soluzione hardware?
Gbarry,

1
Mi rendo conto che ti saresti preso del tempo per vendermi uno script PWM, ma mi chiedevo sinceramente se esiste un componente che potesse arrotondare un segnale digitale oltre 500 ms senza alcuna forma di oscillazione.
rom

Solo teorico. Ho passato gli stessi pensieri e alla fine ho capito che a un certo livello, un chip è un chip. Tuttavia, non si vogliono oscillazioni, quindi questo restringe la domanda.
Gbarry,

Perché senza oscillazione?
Starblue,

Risposte:


14

Il modo normale per farlo è utilizzare PWM (Pulse Width Modulation)

Quasi tutti i moderni microcontrollori hanno una periferica PWM che può essere configurata per questo scopo. Se non si desidera utilizzare un microcontrollore, è possibile utilizzare un IC PWM dedicato o un IC timer come l'onnipresente 555.

Il processo è semplice, la frequenza degli impulsi è impostata abbastanza velocemente in modo tale che l'occhio umano non sia in grado di rilevare lo sfarfallio (in genere sopra i 25Hz - vedi Persistence Of Vision ) e il tempo di attivazione rispetto al tempo libero è variato dal 100% in poi (piena luminosità) al 50% in poi 50% di sconto (metà luminosità) a 0% di accensione (spento)
Nota che questo può essere facilmente utilizzato per un array, è sufficiente fornire il PWM a tutti i transistor del driver LED (assicurarsi che la corrente di base sia adeguata per il bipolare, oppure utilizzare MOSFET Le scelte di progettazione dipendono dal tipo di LED che stai guidando, alta / bassa corrente)

Controlla sulla 'rete per "555 LED Fade" e dovresti ottenere molti risultati. Eccone uno scelto a caso da qui (non l'ho verificato, quindi non posso confermare che funzioni correttamente):

Dissolvenza del LED

In alternativa, se la precisione assoluta dei tempi non è così importante, una semplice opzione sarebbe quella di utilizzare un filtro RC e un interruttore a transistor. In questo modo il cappuccio non deve fornire la corrente del LED, ma solo la corrente di base. Qualcosa come questo:

Circuito di dissolvenza

Simulazione:

Simulazione del circuito di dissolvenza

Qualsiasi NPN generico dovrebbe fare, e puoi modificare i valori R e C per adattarli.

Questa opzione può essere facilmente estesa a un array mirror corrente con l'aggiunta di un opamp. Questo circuito dovrebbe funzionare bene finché i transistor sono tutti dello stesso tipo (l'alimentazione utilizzata è + 5 V):

LED Fade Array

Simulazione:

Simulazione di array di dissolvenza a LED

Se la tensione di alimentazione è sufficientemente elevata, i LED possono andare in serie in questo modo (l'alimentazione utilizzata qui è + 10 V):

Serie Opade LED Fade

Simulazione:

Opamp LED Fade Series Simulation

In alternativa, se si dispone di una bassa tensione di alimentazione ma si desidera pilotare i LED in serie, sono disponibili molti circuiti integrati boost boost come CAT4238 . Questa parte può oscurare i LED utilizzando PWM o una tensione CC variabile (i dettagli sono nel foglio dati)

LED Boost IC


Risposta completa, grazie. L'impostazione RC è la più vicina a ciò che sto cercando, tuttavia i LED che si sbiadiscono non sincronizzati con livelli di luminosità dispari non sembrano promettenti. Se avessi ragione, non sarebbe possibile produrre un circuito integrato indipendente con un resistore variabile per modificare il valore RC e infine regolare il tempo di dissolvenza?
rom

1
@rom - fintanto che i transistor sono dello stesso tipo e abbinati abbastanza bene, il circuito dovrebbe funzionare correttamente. Tuttavia, se sei preoccupato per questo, dammi un po 'di tempo e posterò un'opzione simile che non soffrirà di questo problema, e controllata da un resistore variabile per il tempo di dissolvenza (possiamo anche rendere lineare la dissolvenza).
Oli Glaser,

1
@rom - Ho modificato i circuiti per versioni più stabili. Ognuno di questi dovrebbe essere adatto. Le opzioni della serie sarebbero l'opzione migliore se si dispone dell'headroom di alimentazione, ma la sorgente di corrente parallela andrà bene finché si utilizzano gli stessi transistor con guadagni ragionevolmente abbinati (se si dispone di un tester a transistor, è possibile selezionarli manualmente se lo desideri, ma la differenza attuale sarà comunque piccola e probabilmente non abbastanza per essere visibile) Ho aggiunto un esempio di IC: potresti voler dare un'occhiata anche a tutte le altre opzioni .
Oli Glaser,

10

Com'è questo?

FAN5646 è una soluzione flessibile e compatta per un LED lampeggiante / in dissolvenza.

tipico circuito applicativo

Scheda tecnica FAN5646


Questo è un chip interessante. Dovrò provarlo. Dolce trovare dextorb
Passerby

3

Potresti usare un piccolo cappuccio + una grande resistenza per generare una caratteristica di carica lunga (t = RC), quindi inserirla nella base di un transistor e guidare il LED da lì.

Ciò consente una maggiore resistenza poiché la corrente attraverso il LED non è limitata dalle dimensioni del resistore e quindi è possibile utilizzare un cappuccio piccolo.

Sarebbe necessario polarizzare il transistor in modo che venga utilizzato come amplificatore (se colpisce la saturazione, il LED rimarrà acceso).


1

Se tramite un pin digitale si utilizza un'uscita da un tipo di processore, è possibile modificare la luminosità del firmware. Quando si cambia il ciclo di lavoro del perno, l'occhio si comporta come un filtro e percepisce un tempo più breve come un oscuramento della luminosità.

1 - Utilizzare un'uscita pin PWM anziché un pin GPIO digitale. Modificando alcuni registri è possibile modificare il tempo di accensione del LED e quindi la luminosità.

2 - Utilizzare un timer (polling o interruzione) per modificare lo stato del pin.

3 - Utilizzare i circuiti integrati del registro a scorrimento esterno per bloccare i tempi di accensione / spegnimento di n LED. Sebbene ciò richieda un maggiore sforzo di programmazione, è estensibile e utilizza meno pin GPIO di (1) e (2).


0

Driver LED PWM. Tuttavia hanno bisogno della configurazione da un microcontrollore. 555 Timer + alcuni resistori e cappucci possono fare lo stesso, non è necessario alcun software.

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.