gestire intensità luminosa cambiando la tensione invece che con pwm, possibile?

Ciao a tutti. In questo periodo sto realizzando un piccolo prototipo col quale in sostanza filtro la luce naturale attraverso un diaframma per arrivare al livello di luminosità desiderato in un ambiente, ho già postato alcune cose a proposito. Ora sto cercando di implementare un sistema di luce artificiale che si attivi solo quando la luce naturale non basta,

E qui mi sono trovato davanti a un guaio: gestendo la luminosità con un pin pwm di arduino connesso a un led, mi sono accorto che la fotoresistenza restituisce dei valori molto "sporchi" perché percepisce l'accendersi e spegnersi del led dato dall'onda quadra, invisibile all'occhio umano. Non é un problema del sensore perché con una lampadina a incandescenza il rumore registrato é impercettibile.

Potrei scremare i dati con un array, ma non sarebbe meglio risolvere il problema alla radice?

Se connettessi arduino a un mosfet connesso a sua volta ai led o a una piccola lampadina, potrei davvero modulare l'intensità di luce? Se avete altre soluzioni sono ben accette...

Mmm… non l’ho spiegata in modo tanto chiaro forse?

:smiley: cioè devi fare un crepuscolare con le fotoresistenze?

Sicuramente non c’entra niente:
In un esperimento con il laser che puntava una fotcellula… con questo codice impostavo la soglia di luce minima richiesta e sotto la quale facevo scattare un allarme

//CODICE CON SETTAGGIO VALORE LUCE
//QUANDO LA LUCE  DEL PIN 0 SCENDE SOTTO I 1000 SI ACCENDE IL LED SUL PIN 13

void setup() {
pinMode(4, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}

void loop(){
digitalWrite(4, HIGH);
if(analogRead(0) < 1000){
digitalWrite(13, HIGH);
} else{
digitalWrite(13, LOW);
Serial.println(analogRead(0));
}
}

Io ho capito questo:

tu hai un ambiente artificiale in cui fai filtrare la luce naturale del sole aprendo un oscurante (il tuo diaframma). Se però la luce in quell'ambiente non è sufficiente, accendi anche un sistema di illuminazione a LED comandato tramite PWM. Il tuo problema è che il sensore di luce si accorge del fatto che il LED è pilotato tramite PWM e non con una vera variazione della corrente perché ti legge le accensioni e gli spegnimenti dell'onda PWM.

Tu vorresti un sistema di variazione dell'intensità della corrente che accende i LED. Una specie di "potenziometro" elettronico, non meccanico.

Ecco, ora che ho spiegato il problema, qualcuno dei "tecnici" si faccia avanti perché io non ho le conoscenze per tradurre in pratica la cosa ^_^

La butto lì... metterci un condensatore? Cioè pin PWM -> Mosfet -> LED -> Condensatore in parallelo.

leo72: Io ho capito questo:

tu hai un ambiente artificiale in cui fai filtrare la luce naturale del sole aprendo un oscurante (il tuo diaframma). Se però la luce in quell'ambiente non è sufficiente, accendi anche un sistema di illuminazione a LED comandato tramite PWM. Il tuo problema è che il sensore di luce si accorge del fatto che il LED è pilotato tramite PWM e non con una vera variazione della corrente perché ti legge le accensioni e gli spegnimenti dell'onda PWM.

Tu vorresti un sistema di variazione dell'intensità della corrente che accende i LED. Una specie di "potenziometro" elettronico, non meccanico.

Ecco, ora che ho spiegato il problema, qualcuno dei "tecnici" si faccia avanti perché io non ho le conoscenze per tradurre in pratica la cosa ^_^

Esatto! Le cose stanno così...

Guglio:
La butto lì… metterci un condensatore?
Cioè pin PWM → Mosfet → LED
→ Condensatore in parallelo.

Ma il mosfet non viene pilotato anch’esso con un pwm?
Dici che il condensatore “smorza” gli impulsi amalgamandoli?

Per ottenere una "vera" variazione di tensione dobbiamo passare dal dominio digitale a quello analogico e quindi stiamo parlando di un dac (digital to analog converter). Con un filtro passabasso fatto da un condensatore ed una resistenza ( certe volte detto snubber), dovresti riuscire ad ottenere un segnale più o meno somigliante ad una tensione quasi continua, ma se non bastasse ti consiglio di cercare su google per r2r e dac per avere un convertitore analogico/digitale fatto sacrificando qualche pin di arduino e qualche resistenza, oppure , un'altra opzione è aggiungere un circuito integrato che si occupi di fare la conversione.

Sapreste consigliarmi i valori di condensatore e resistenza? Eventualmente vorrei che il sistema fosse alimentato direttamente dal trasformatore 9-12V con cui alimento arduino, perché in genere noto che usando due led invece di uno l'intensità decresce, e in questo caso vorrei connetterne 4 o 5. Grazie.

C'é un problema: Se piloti il transistore con una tensione continua per regolare la corrente attraverso il LED mom lo usi piú come interruttore e percui con potenza dissipate trascurabile, ma lo usi nella parte proporzionale ( corrente collettore proporzionale alla corrente base) Il transistore dissiperá un bel po di calore e percui serve un dissipatore. Ciao Uwe

Ok, domani vorrei andare a prendere le componenti quindi posso prendere anche il dissipatore. Sapresti però consigliarmi un valore per il transistore oltre che per condensatore e resistenza? Comunque immagino di non poter connettere i led direttamente ai 9-12V, giusto?