Sommario:

Controller ventola da tavolo Arduino: 4 passaggi
Controller ventola da tavolo Arduino: 4 passaggi

Video: Controller ventola da tavolo Arduino: 4 passaggi

Video: Controller ventola da tavolo Arduino: 4 passaggi
Video: Arduino ep.49 - Misurare velocita (RPM) una ventola per pc [mod. seriale] 2024, Novembre
Anonim
Controller ventola da tavolo Arduino
Controller ventola da tavolo Arduino
Controller ventola da tavolo Arduino
Controller ventola da tavolo Arduino
Controller ventola da tavolo Arduino
Controller ventola da tavolo Arduino

Quando di recente ho cambiato ruolo all'interno dell'azienda, ho cambiato sede, spostandomi da Bradford alla nostra sede centrale a Wakefield. Ho detto addio alla mia fedele vecchia scrivania con un ventilatore da scrivania indispensabile per mantenermi fresco mentre tutto intorno a me……. Ad ogni modo, la tendenza nella nostra sede principale era per piccole ventole alimentate tramite USB da 4" a 6". Quindi un bel modello da 6" effetto ottone antico è stato rapidamente ordinato e consegnato il giorno successivo.

Il problema con tutte le ventole, indipendentemente dal fatto che abbiano impostazioni di velocità o modalità oscillanti meccaniche, è che sono accese o spente e finisci per accenderle e spegnerle continuamente. Una scintilla di fantasia, unita all'esigenza di alzare il mio monitor di ben 3 , e nasce il mio prossimo progetto. Entra in Fanomatic.

Ho giocato con Arduino per molti anni, quindi è stata la prima tappa logica.

Passaggio 1: lista della spesa e custodia

Lista della spesa e custodia
Lista della spesa e custodia
Lista della spesa e custodia
Lista della spesa e custodia
Lista della spesa e custodia
Lista della spesa e custodia

Lista della spesa:

  • 1 foglio di MDF da 12 mm - per la custodia
  • 1 Arduino Uno - il cervello
  • 1 ml di breadboard e fili
  • 1 DHT11 - sensore digitale di temperatura e umidità - solo per campionare la temperatura
  • Display OLED da 1,96" - per visualizzare le variabili - velocità, temperatura ecc
  • 1 modulo IRF520 Mosfet - per accendere e spegnere l'alimentazione USB per la ventola
  • 4 potenziometri da 10k con manopole di colore diverso - per controllare la velocità della ventola, il tempo di accensione, il tempo di spegnimento, il punto di regolazione della temperatura
  • 1 interruttore di alimentazione
  • 1 ml di vernice per lavagna in latta - adatta per MDF con 1 mano
  • 1 cavo USB e 1 presa USB

Caso:

Le dimensioni del case erano determinate dalle dimensioni della base del mio monitor da 24 e dello switch KVM a 4 porte con una larghezza di 220 mm e l'altezza finale su cui volevo impostare il mio monitor. La profondità era abbastanza flessibile, quindi ho optato per 180 mm per dare un sacco di stanza. Quindi 220 mm x 180 mm x 60 mm era la dimensione. Ora per farlo e riempirlo.

L'MDF da 12 mm è stato tagliato a casa abbastanza facilmente, prima di incollarlo e avvitarlo per formare una base e un frontale di lavoro. La parte anteriore è stata quindi forata per adattarsi a 4 potenziometri da 10k e 1 sopra l'interruttore di accensione/spegnimento superiore che avrebbe controllato l'alimentazione di Arduino e della ventola. Un foro rettangolare è stato cesellato per contenere un piccolo pannello acrilico grigio fumé, dietro il quale ho pianificato di fissare uno di quei simpatici display OLED. A metà, vorrei aver optato per uno strato da 3 mm per la parte anteriore, invece di MDF da 12 mm poiché c'era più legno rimosso di quello rimasto.

Una volta praticati e cesellati i fori nella parte posteriore e laterale per il sensore di temperatura, la presa USB e l'alimentazione USB. Sono stati applicati un paio di mani di vernice per lavagna. È un'ottima vernice per mdf poiché si assorbe bene e non ha bisogno di un fondo. Dà una finitura opaca molto spietata, proprio quello che stavo cercando.

Le pentole e gli interruttori sono stati attaccati, l'acrilico fumé incollato a caldo e le etichette Dyno prodotte per quel look retrò.

Accanto ai controlli…

Passaggio 2: i controlli

I controlli
I controlli

Tutto basato su un Arduino Uno. Ho imbarcato i componenti e ho iniziato con uno schizzo.

Lo schizzo utilizza 3 librerie:

  • Uno per pilotare il mosfet irf520 per accendere la ventola.
  • Uno per pilotare il display OLED
  • Uno per leggere e tradurre i dati di temperatura dal DHT11

Includerò lo schizzo qui più tardi, una volta che l'avrò riordinato un po', ma attenzione, NON sono un programmatore, capisco i buoni principi di codifica, ma tendo ad essere un programmatore pigro. Se riesco a trovare un modo per aggirare qualcosa e funziona, allora funziona.

Ci sono alcuni ottimi siti là fuori che spiegano come usarli… e includerà collegamenti ai migliori (secondo me) siti per ottenere il meglio da ciascuno.

Logica:

Un singolo cavo USB fornisce alimentazione ad Arduino E alla ventola USB. L'Arduino non può far funzionare la ventola poiché la corrente che tira danneggerebbe l'Arduino (un po' drammatico in realtà! farebbe scattare il fusibile di bordo). Quindi dobbiamo trovare un modo per usare Arduino per accendere o spegnere la ventola.

È necessario un transistor, ho ordinato per la prima volta un transistor Darlington, ma dopo aver letto, ho optato per un modulo driver MOSFET irf520 da HobbyComponents.com. Allerta Geek!! L'IRF520 è ottimo per la commutazione del livello logico (uscita dai pin Arduino). La tensione inviata al dispositivo determina la resistenza del MOSFET, I. E. l'invio da 0 a 255 a un pin digitale attiverà la ventola (o altro dispositivo collegato) da spento alla massima velocità.

Torneremo da 0 a 255 in seguito.

Quindi stiamo accendendo una ventola con un Arduino, perché preoccuparsi? Beh, non vogliamo che si accenda quando fa troppo freddo, vero? Quindi, se aggiungiamo un sensore di temperatura, possiamo scrivere codice e testare per vedere se fa caldo e accendere (255) o spegnere (0) la ventola. Ho optato per un DHT11 perché è economico, facile da codificare e abbastanza preciso per questo progetto.

Torna a quell'attività da 0 a 255. Se sappiamo che un bit di codice accenderà la ventola (255) se la temperatura è alta, o spegnerà (0) se la temperatura è bassa, se avessimo un valore compreso tra 0 e 255, la resistenza aumenterà o diminuirà attraverso il MOSFET e accelera o rallenta la ventola.

Inserisci un potenziometro collegato a un pin analogico! Una volta acceso, genera un valore compreso tra 0 e 1023. Questo valore può poi essere testato in codice per modificare la velocità del ventilatore!! yipeeeee.

C'è un'ultima cosa (beh, un paio). La libreria di controllo motore che utilizzeremo per pilotare il driver MOSFET accetta 2 parametri, uno per impostare la resistenza (per la velocità) e un altro per impostare la durata. Quindi, con questo parametro magico, possiamo impostare per quanto tempo la ventola è accesa e per quanto tempo è spenta.

Quindi, abbiamo 4 pentole per controllare le 4 variabili. Successivamente esamineremo il display.

Passaggio 3: il display

Il display
Il display
Il display
Il display

HA BISOGNO di un display? Non proprio. Allora perché ne ha uno? Bene, perché volevo un display carino per mostrare la temperatura attuale, la velocità della ventola, l'orario di accensione della ventola, il tempo di spegnimento della ventola e il punto di regolazione della temperatura.

La libreria U8G è brillante nel pilotare questo minuscolo display OLED. Ci è voluta una serata di ricerca e mi sono concentrato sui comandi per ottenere la dimensione del carattere che volevo per 5 righe e per visualizzare le variabili utilizzando i comandi u8g.print(). Il vantaggio di questo display è che non è un display a 2 o 4 "righe" a cui la comunità Arduino è così abituata, quindi la grafica, i caratteri sono tutti molto fattibili.

Ad essere onesti, la maggior parte del codice guida il display. se le dichiarazioni determinano i valori da visualizzare, ad es. convertire un valore dai potenziometri analogici (da 0 a 1023) in un valore da visualizzare sullo schermo. In tutto, ci sono diversi set di blocchi di istruzioni, determina la velocità della ventola dal potenziometro, converti in valore % per lo schermo e un valore compreso tra 0 e 255 per guidare la ventola.

Bene, per ora va bene, gente. Spero che questa prima puntata vi piaccia. Modificherò e aggiornerò con i link e il codice. Se c'è qualcosa su cui desideri dettagli, per favore lascia un commento e chiedi.

Passaggio 4: codice

Ho promesso di caricare lo schizzo quando l'ho pubblicato, 3 anni fa, e non l'ho mai fatto.

Quindi eccolo qui……

Consigliato: