Go Down

Topic: PWM frequencies e <OneWire.h> (Read 387 times) previous topic - next topic

llluca

Mar 06, 2013, 07:19 pm Last Edit: Mar 06, 2013, 07:22 pm by llluca Reason: 1
Ciao,

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

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


Code: [Select]
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

astrobeed

Code: [Select]

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.

llluca

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

Code: [Select]
delay(1000); 
a
Code: [Select]
delay(100000);

. . .

e ...  sembra funzionare !:P

Go Up