Pages: [1]   Go Down
Author Topic: PWM frequencies e <OneWire.h>  (Read 280 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,

Volendo ridurre il rumore della ventolina stavo provando come suggerisce questa modifica:

http://playground.arduino.cc/Main/TimerPWMCheatsheet


Code:
TCCR0A = _BV(COM0A1) | _BV(COM0B1) | _BV(WGM01) | _BV(WGM00);
TCCR0B = _BV(CS00);
e modificando wiring.c

purtroppo legando l' intervento della ventolina con la lettura della temperatura utilizzando un  DS18x20:
OneWire  ds(10);

questa mi da 85 gradi di fisso, naturalmente se commento le righe di sopra la temperatura viene letta correttamente

Cosa mi suggerite?

grazie

p.s. confermo che la ventolina a bassa velocità effettivamente non fa rumore
« Last Edit: March 06, 2013, 01:22:08 pm by llluca » Logged

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

Code:
If you change TCCR0B, it affects millis() and delay(). They will count time faster

Usa pin pwm non legati al timer 0, è l'unico che non dovresti mai toccare perché viene usato per tutte le temporizzazioni di Arduino, sicuramente la OneWire sfrutta pure lei questo timer.
Logged

Offline Offline
Full Member
***
Karma: 1
Posts: 166
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie al tuo suggerimento incrementando la funzione che legge la temperatura da:

Code:
delay(1000); 
a
Code:
delay(100000);

. . .

e ...  sembra funzionare !smiley-razz
Logged

Pages: [1]   Go Up
Jump to: