Controllo Ventola Arduino UNO

Ciao a tutti,
la mia idea è di realizzare una ventola esterna per raffreddare il pc (stile Base di Raffreddamento) che si attivi con un dato input da sensore di temperatura .
Tralasciando l'efficacia del metodo, se non altro resta la didattica.
I vincoli sono l'impiego di un Arduino UNO e una ventola (questa: EC 6010 SERIES-EVERCOOL, 12V - 1.9W).
Avevo in mente di realizzare qualcosa di autonomo, senza impegnare necessariamente l'uscita USB con Arduino. Creare magari una versione che sia fruibile tramite batteria e collegamento alla presa di casa in modo intercambiabile.
Ora, quello che mi è chiaro è che servirà un'alimentazione esterna ma non so in che altro modo muovermi (sono proprio livello newbie). Qualcuno potrebbe darmi qualche consiglio su come impostare il circuito e quali accortezze considerare?

Ti rimando ad un altro topic con argomento simile --> http://forum.arduino.cc/index.php?topic=91187.0

Con questo banale scketch:

int ventola = 9; 
void setup()  { 
} 
void loop()  { 
analogWrite(ventola,0);
delay(5000); 
analogWrite(ventola,50);
delay(5000); 
analogWrite(ventola,0);
delay(5000); 
analogWrite(ventola,120);
delay(5000); 
analogWrite(ventola,0);
delay(5000); 
analogWrite(ventola,255);
delay(5000); 
}

e lo schema applicativo allegato, usando una ventola 12V 0.23A con diametro 5,5cm, la ventola gira correttamente a tre diverse velocità; ho messo delle interruzioni per poter verificare le tre effettive velocità. Naturalmente il pwm è modulabile, per cui puoi modificare il codice in modo da creare valori proporzionali in base alla lettura, p.es., di un sensore di temperatura.
I valori li ho trovati verificando il comportamento sul DSO, sono ottimali per questo tipo di ventola; con ventole più grosse potresti avere difficoltà per bassi valori di pwm, in questo caso basta aumentare leggermente la capacità del condensatore, tenendo conto però che più questa è alta e più tende a livellare ed elevare la tensione quindi potresti perdere in “definizione”; per lo stesso motivo la R al limite può essere diminuita fino a 120 ohm; il TR invece deve essere “serio”, io ho usato un modello da 0,5-0,8A (secondo i datasheet), quindi deve supportare una corrente almeno doppia di quella assorbita dalla ventola, in modo da poter lavorare in condizioni tranquille.

@Michele Menniti: Grazie per la risposta ma la mia ventola ha 4 fili (presumo siano +, -, PWM, TACH) mentre nel tuo schema ce ne sono 3. Non sarebbe possibile controllare la ventola senza transistor?
Poi, essendo completamente un principiante, volevo sapere come faccio a sapere quali valori posso passare tramite analogWrite per modulare il pwm. Ho notato che nello sketch il valore massimo che hai inserito è 255. Perchè? E’ da datasheet?
Io ho trovato questo schema girando sul forum ma non so a cosa corrispondono Pin-Inp (presumo che nel tuo sketch sia il 9) e Pin-PWM (dovrebbe essere il 3, in un ArduinoUno?), ovvero, non saprei come cambiare lo sketch che mi hai dato nel caso usassi questo schema che non richiede il transistor.

TACH sta per tachimeter, quindi serve per misurare tramite un pin Input (pinInp) di Arduino gli rpm della ventola, quindi per la prima prova puoi non utilizzarlo; con quel tipo di ventola puoi eliminare tutto il mio schema e collegare i 12V esterni direttamente a + e - della ventola, mentre il pin 9 (o qualsiasi altro pin pwm di Arcuino, a patto poi di adeguare lo sketch, lo colleghi direttamente al pin PWM della tua ventola. Il GND dei 12V ed il GND di Arduino vanno collegati assieme.
Il valore PWM può variare da 0 a 255, è un range prefissato.

EDIT: mi sto riferendo ovviamente allo schema superiore; quello inferiore usa Arduino come semplice "Interruttore" e come misuratore di velocità che non è in grado di regolare. Il mio schema è per ventole a 2-3 fili ma prevede esclusivamente l'uso dei fili + e -; come detto il tachimetro è opzionale, si può implementare ma deve essere collegato ad un pin di Interrupt e serve poi una routine specifica per la misurazione degli impulsi e la traduzione in rpm o kmh o quello che vuoi.

OT: Vedo che siamo conterranei, di dove sei esattamente? (se ti va di dirlo, altrimenti no problem!)

Sono di Catanzaro anche se bazzico a Cosenza poiché studio all’UNICAL ing.Meccanica.(nessun problema! Anzi, ne approfitto per chiederti se conosci qualche negozio locale che venda componentistica elettronica varia)

Dunque ricapitolando:
Avendo una ventola con 4 fili posso collegarla direttamente ai 12V e il pin d’interesse funzionale per il controllo della ventola è un qualsiasi pin pwm. A livello hardware quindi necessito solamente di: ventola, arduino, 12V, resistore (stando allo schema che ho allegato).
Per quanto riguarda lo sketch dovrebbe quindi essere semplicemente questo:
(nel caso usassi Arduino come interruttore)

int ventola = 9;  // pin pwm
void setup()  { 
} 
void loop()  { 
analogWrite(ventola,255);
}

Se invece volessi realizzare la mia idea di base che è quella di avere una ventola che modula la velocità in funzione di un sensore di temperatura devo usare lo schema con il transistor (quello che mi hai allegato).

Non è possibile quindi controllare la velocità senza transistor?
(Purtroppo non ho molte basi di elettronica benché sia un ambito che mi interessa e che trovo appagante -quando si riesce a combinare qualcosa-)

Effettivamente dovresti mettere mano ad un qualche testo per un minimo di basi sia in elettronica che su Arduino, altrimenti così sarà difficile.

La resistenza NON ti serve se non usi il filo del tachimetro, è una pull-up specifica per quel segnale.

Devi collegare il pin 9 di Arduino direttamente al pin PWM della ventola, alimentare con una fonte esterna di 12V la ventola, collegare tra loro il negativo dei 12V ed il GND di Arduino. Variando il valore del PWM da 0 a 255 varierai anche la velocità della tua ventola.

Il mio circuito serve per chi NON ha il pin PWM sulla ventola e agisce sull'alimentzione.

Se cerchi sul Forum ci sono decine e decine di Topic in cui si parla di indirizzi per l'acquisto di componenti; a CZ e CS non ne conosco, qui a Lamezia c'è un Rivenditore di Futura Elettronica ma io ormai non ci vado più da oltre un anno, compro tutto su internet, tutt'altri prezzi e disponibilità di materiale.

Okay! Grazie mille, ora mi è tutto chiaro! Ti farò sapere appena setto tutto.

Ok :slight_smile: