PWM ad analogico per alimentare ventole brushless

Ciao a tutti, sono l'ennesimo noob che necessita di aiuto, abbiate pazienza. Sono giorni che giro tra topic, siti, guide, tutorial, in italiano e inglese, ma non ne esco, per cui provo a chiedere direttamente.

Prima di tutto il progetto: Set di ventole per acquario autoregolate attraverso arduino con una sonda di temperatura per l'acqua e una per la temperatura ambiente, con valori riportati a schermo.

Componenti: - Modulo LCD Tinkerkit, così ottengo schermo e arduino in un solo pezzo http://www.tinkerkit.com/lcd/ - 2 sensori termici tinkerkit di cui uno modificato per essere immerso http://www.tinkerkit.com/thermistor/ - Modulo mosfet Tinkerkit per alimentare le ventole a 12V http://www.tinkerkit.com/mosfet/ - 4 ventole 120mm brushless http://store.antec.com/Product/cooling-tri_cool_fan/tricool-120/0-761345-75120-9.aspx

E' tutto pronto ma come avrete capito il problema è l'alimentazione delle ventole. Il modulo mosfet trasforma la corrente continua dell'alimentatore esterno 12V 2A in corrente alternata praticamente, o PWM, o come volete chiamarla. La velocità delle ventole la regolo senza problemi, rispondono perfettamente alla temperatura ma il segnale digitale del PWM non gli va bene avendo motore brushless per cui fischiano mentre sono accesse con volume inversamente proporzionale alla velocità di rotazione. Leggendo in giro è un problema proprio dell'incompatibilità tra motore brushless e regolazione tramite PWM. Lo so, esistono ventole regolabili con PWM, ma ormai ho acquistato queste, senza contare che ho provato con una ventola di un dissipatore intel che ha il controllo PWM ma comunque non è il massimo.

La domanda quindi sorge spontanea, come trasformare il segnale digitale PWM in analogico? Con svariate ricerce su internet sono arrivato alla conclusione che la soluzione migliore e più economica sia un circuito RC o filtro passa basso. La frequenza del mosfet è la medesima di arduino, 490/500Hz, per cui è stato abbastanza facile trovare già delle indicazioni su che condesatore e resistenza comprare. Vado e torno, 0.1€, pensavo di aver risolto. Resistenza da 20kohm e condensatore da 10uF, che danno 200 ms ovvero 100 volte 2ms (1/500). Faccio il collegamento e tester alla mano verifico che effettivamente i volt rimangono, ma dopo il mini circuito è corrente continua quindi con 0Hz. Quindi procedo a collegare le ventole e da qui i problemi. Non parte nulla, torno a controllare e rilevo meno di 1V, per cui le ventole non accennano neanche a partire.

Da qui mi dico, sarà la resistenza troppo alta, così giusto per prova uso una resistenza da 6 ohm, le ventole partono anche se comunque non al massimo, infatti arrivano a consumare complessivamente circa 550mA mentre senza circuito RC a piena potenza sono 800mA. Ovviamente però modificando la resistenza la corrente in uscita è ancora alternata, per cui le ventole fischiano, meno, ma fischiano.

Dopo questa lunghissima premessa, me ne rendo conto, la domanda è:

Come dimensiono R e C? Stando alla prova empirica per avere gli ampere necessari dovrei usare una resistenza di pochi ohm, ma per mantenere i 2ms significherebbe usare un condensatore enorme/irrealistico. Consigli?

Evidentemente mi sto perdendo nella mia limitatissima conoscenza e probabilmente la soluzione è banale, mi affido a voi :)

Ho spunciato praticamente ogni risultato di google che minimamente rientrasse in uno dei mille criteri di ricerca ma non ho trovato delucidazioni in merito, molti articoli menzionano come dimensionare R e C ma nessuno che ho trovato parla degli effetti su ampere ecc.

Grazie in anticipo :)

Non funziona con un circuito RC perché non parliamo di segnali ma di correnti abbastanza altre.

Comprati le ventole con entrata PWM e tieniti quelle senza PWM per altri usi.

Ciao Uwe

Ho letto che le ventole sono dotate di switch a 3 velocità: perché non rinunci alla regolazione della velocità a favore di un semplice controllo a 4 stati (OFF, 1, 2 e 3)?

Non so esattamente quale corrente massima assorba la tua ventola (quelle che ho in negozio vanno da 0.12A fino a 0.43A, secondo la velocita’ massima), ma se hai un mosfet sull’uscita del PWM, puoi fare comunque una prova … per ogni ventola, diodo in serie al positivo, resistenza da 100 ohm in serie al diodo, condensatore da almeno 470uF 16V sull’uscita, con in parallelo un’altro condensatore da 100nF … dovrebbe almeno ridurti il fischio …

Il sistema piu “evoluto”, e’ il due stadi … a quei componenti si aggiunge, in serie al positivo, un’induttanza (va bene una di quelle toroidali piccole, che reggano anche solo 1A o simile), con un’altro condensatore da un centinaio di uF in parallelo alla ventola …

Se non funziona cosi’, allora assorbono decisamente troppo …

Grazie dei consigli.

uwefed: Non funziona con un circuito RC perché non parliamo di segnali ma di correnti abbastanza altre.

Comprati le ventole con entrata PWM e tieniti quelle senza PWM per altri usi.

Ciao Uwe

Quindi il metodo del filtro RC funziona solo per segnali a bassa potenza? Bella fragatura, da inesperto non avevo visto che il modulo mosfet trasformava il segnale da analogico a digitale. Che poi se sull'arduino posso capire il perchè, su un modulo del genere non molto, ma pazienza.

cyberhs: Ho letto che le ventole sono dotate di switch a 3 velocità: perché non rinunci alla regolazione della velocità a favore di un semplice controllo a 4 stati (OFF, 1, 2 e 3)?

Si hanno il controllo a 3 stadi ma lo si effettua tramite interruttore a tre posizioni, non saprei come integrarlo con arduino

Etemenanki: Non so esattamente quale corrente massima assorba la tua ventola (quelle che ho in negozio vanno da 0.12A fino a 0.43A, secondo la velocita' massima), ma se hai un mosfet sull'uscita del PWM, puoi fare comunque una prova ... per ogni ventola, diodo in serie al positivo, resistenza da 100 ohm in serie al diodo, condensatore da almeno 470uF 16V sull'uscita, con in parallelo un'altro condensatore da 100nF ... dovrebbe almeno ridurti il fischio ...

Il sistema piu "evoluto", e' il due stadi ... a quei componenti si aggiunge, in serie al positivo, un'induttanza (va bene una di quelle toroidali piccole, che reggano anche solo 1A o simile), con un'altro condensatore da un centinaio di uF in parallelo alla ventola ...

Se non funziona cosi', allora assorbono decisamente troppo ...

Le quattro ventole a pieno regime consumano 800mA in totale. Non ho bene capito cosa mi consigli ma posso provare, il diodo però come dev'essere? E poi non sto usando l'uscita PWM di arduino ma è il mosfet stesso che trasforma il segnale da analogico a digitale, lo uso perchè mi permettere di avere voltaggi e tensioni superiori che arduino da solo non può reggere.

Se quindi avere una corrente continua pulita non è possibile, vorrei per lo meno ridurre il fischio. Montando la resistenza da 6ohm e il condensatore da 10uf era ridotto, ma temo che il condensatore fosse piccolo perchè dopo poco iniziava a scaldarsi e a emettere odore di bruciato. Se ne metto uno da 100uF? 1000uF?

Ma non esiste un modulo mosfet che non trasforma il segnale da anlogico a digitale?

Grazie!

Aspetta, c’e’ un po di confusione …

Il sistema RC funziona meglio per basse potenze, ovviamente, ma dato che nel tuo caso hai il mosfet che ti fa da interruttore PWM prendendo direttamente l’alimentazione, fino ad un certo punto anche il sistema RC puo funzionare … ovviamente non avrai mai la precisione nella conversione, ma dato che il tuo scopo e’ solo di regolare le ventole, la cosa e’ relativamente indifferente.

Prima di tutto, ho riguardato quelle ventoline, e sotto i 5 / 6 V o non girano o girano troppo lentamente e tenderebbero a danneggiarsi, quindi suppongo che tu gia preveda nel range del tuo segnale PWM di andare dal 50% al 100%, giusto ? … quindi, in quel caso, la prova che puoi fare con una delle ventole soltanto e’ usare uno dei circuiti che ti allego (se al massimo assorbono 200mA, puoi usare questi valori … il primo e’ quello piu semplice, dovrebbe essere gia sufficente quello) … se poi il risultato e’ soddisfacente, ne fai semplicemente uno per ogni ventola :wink:

pwmvent1.png

pwmvent2.png