Pages: [1]   Go Down
Author Topic: Ventole PC lettura giri con Arduino  (Read 941 times)
0 Members and 1 Guest are viewing this topic.
BG (I)
Offline Offline
Full Member
***
Karma: 0
Posts: 202
Usus plura docet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da quanto leggo in questo topic:
http://www.pcsilenzioso.it/forum/showthread.php?t=19526
le ventole per pc hanno varie caratteristiche, tra le quali la possibilità di ricavare dal filo giallo ( quelle a 3 fili ) la velocità di rotazione, ma con Arduino come posso "leggerla" ??
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9882
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

le ventole per pc hanno varie caratteristiche, tra le quali la possibilità di ricavare dal filo giallo ( quelle a 3 fili ) la velocità di rotazione, ma con Arduino come posso "leggerla" ??

Sul terzo filo è presente un impulso, in alcuni modelli di ventola due, per ogni rotazione della ventola, in pratica un semplice encoder monocanale, puoi calcolare la velocità di rotazione sia contando il numero di impulsi ogni secondo oppure dall'inverso del periodo di rotazione.
Attenzione che a seconda del modello di ventola, e della tensione di alimentazione, la tensione degli impulsi può essere sia 5V che 12V, nel secondo caso è indispensabile abbassarla a 5V prime di collegarla ad un pin di Arduino.
Logged

BG (I)
Offline Offline
Full Member
***
Karma: 0
Posts: 202
Usus plura docet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sul terzo filo è presente un impulso, in alcuni modelli di ventola due, per ogni rotazione della ventola, in pratica un semplice encoder monocanale, puoi calcolare la velocità di rotazione sia contando il numero di impulsi ogni secondo oppure dall'inverso del periodo di rotazione.
Grazie per il suggerimemnto astrobeed ma :
encoder monocanale ????
Scusa la mia ignoranza ma in che senso ??
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9882
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

encoder monocanale ????
Scusa la mia ignoranza ma in che senso ??

Gli encoder possono avere più canali, quelli più semplici ne possiedono solo uno da dove escono tot impulsi per ogni rotazione, un esempio classico sono gli encoder low cost di tipo magnetico presenti su alcuni motori.
Logged

BG (I)
Offline Offline
Full Member
***
Karma: 0
Posts: 202
Usus plura docet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quindi solo software non è possibile?
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 138
Posts: 9882
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quindi solo software non è possibile?

Cosa intendi con "solo software", è abbastanza ovvio che per rilevare un qualunque grandezza fisica hai sempre e comunque bisogno di un qualche tipo di sensore, nel caso della ventolina è l'encoder integrato.
Logged

Deep south of Italy
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2955
The quieter you become, the more you can hear
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Come diceva astro,in quelle ventoline ci sono dei sensori ad effetto di hall che ad ogni giro ti danno un impulso del quale puoi leggere il periodo con pulsein.
Logged

BG (I)
Offline Offline
Full Member
***
Karma: 0
Posts: 202
Usus plura docet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, capito  smiley-grin
Grazie
Logged

Varese
Offline Offline
Full Member
***
Karma: 2
Posts: 215
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato proprio oggi a misurare la velocità di una ventola a 3 pin, lo sketch completo lo trovate a questo link:
http://alessandro-riva-elettronica.blogspot.it/2014/04/misurare-la-velocita-di-una-ventola-per.html
Ho preso spunto da un sito inglese e ho semplificato molto lo sketch, il programma è interamente commentato.
Spero che il mio lavoro sia utile a qualcuno...
Logged

Arduino UNO starter kit.

Switzerland
Offline Offline
Faraday Member
**
Karma: 116
Posts: 6021
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...
Spero che il mio lavoro sia utile a qualcuno...

Bel lavoro, però, affinché sia utile ... è bene che venga corretto smiley-wink

Tu dichiari :

Code:
int Giri;        //memorizza il numero di giri al secondo

... ma giri è una variabile ch usi sia da dentro la ISR che da fuori e, per evitare problemi ... DEVE essere dichiarata volatile smiley-wink

Code:
volatile int Giri;       //memorizza il numero di giri al secondo

Correggi il codice così da non indurre nello stesso errore i lettori smiley

Guglielmo
Logged

Search is Your friend ... or I am Your enemy !

Varese
Offline Offline
Full Member
***
Karma: 2
Posts: 215
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

...
Spero che il mio lavoro sia utile a qualcuno...

Bel lavoro, però, affinché sia utile ... è bene che venga corretto smiley-wink

Tu dichiari :

Code:
int Giri;        //memorizza il numero di giri al secondo

... ma giri è una variabile ch usi sia da dentro la ISR che da fuori e, per evitare problemi ... DEVE essere dichiarata volatile smiley-wink

Code:
volatile int Giri;       //memorizza il numero di giri al secondo

Correggi il codice così da non indurre nello stesso errore i lettori smiley

Guglielmo
Ok, grazie per la correzione, ma che problemi può causare una variabile non volatile?
Logged

Arduino UNO starter kit.

Switzerland
Offline Offline
Faraday Member
**
Karma: 116
Posts: 6021
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, grazie per la correzione, ma che problemi può causare una variabile non volatile?

Hai letto attentamente il link che ti ho messo per la parola chiave "volatile" ???  smiley-eek smiley-eek smiley-eek

E' chiaramente spiegato ...

Guglielmo

P.S. Comunque evita che ottimizzazioni effettuate dal compilatore vadano ad impattare in modo errato con il tuo programma.
P.P.S. ... QUI trovi una spiegazione un po' più dettagliata
« Last Edit: April 29, 2014, 03:47:04 pm by gpb01 » Logged

Search is Your friend ... or I am Your enemy !

Genova
Offline Offline
Faraday Member
**
Karma: 43
Posts: 3479
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma la ventola è  a 12v e alimenti tutto con una piletta da 9v? quanto dura 5 minuti? smiley
Logged

no comment

Varese
Offline Offline
Full Member
***
Karma: 2
Posts: 215
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, grazie ho capito a cosa serve una variabile "volatile"
ma la ventola è  a 12v e alimenti tutto con una piletta da 9v? quanto dura 5 minuti? smiley
La ventola alimentata 9V consuma 50mA, la batteria è da 400mah quindi dura teoricamente 8 ore! altro che 5 minuti..
Logged

Arduino UNO starter kit.

Genova
Offline Offline
Faraday Member
**
Karma: 43
Posts: 3479
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hai ragione, quasi quasi alimento il mio condizionatore a 125 smiley .... tanto funziona lo stesso
Comunque ho scritto "tutto" compreso arduino.
8 ore? se ci riesci mi mangio una me..rendina  smiley-lol
« Last Edit: May 02, 2014, 03:58:49 pm by pablos » Logged

no comment

Pages: [1]   Go Up
Jump to: