Witam, chciałem zrobić sobie regulator PWM do wentylatora na Attiny13 i nie mogę sobie poradzić z ustawieniem "fast PWM" cały czas wentylator piszczy ale przyspiesza wraz ze wzrostem temperatury. Aktualnie mam taki program napisany:
#define LM35 A2
#define went PB1
void setup(){
TCCR0A |= (1 << WGM01) | (1 << WGM00); // wlacz tryb Fast PWM
TCCR0A |= (1 << COM0A1); // clear OC0 at Top (nota katalogowa, str. 71, tab. 11-3)
TCCR0B |= (0 << CS01) | (1 << CS00); // preskaler (dziel przez 1)
pinMode(went,OUTPUT);
// pinMode(LM35,INPUT);
}
void loop(){
float temp = analogRead(LM35);
temp = temp * 0.48828125;
float wyp;
wyp = temp * 3,624;
if (temp>=70)
{
analogWrite(went,255);
}
else
{
if(wyp<=6)
{
analogWrite(went,6);
}
else
{
analogWrite(went ,wyp);
}
}
delay(200);
}
Ps. Program piszę w Arduino IDE
Ps.2. Procek ma przestawione fusy na 9,6MHz
#define LM35 A2
#define went PB1
void setup(){
TCCR0A |= (1 << WGM01) | (1 << WGM00); // wlacz tryb Fast PWM
TCCR0A |= (1 << COM0A1); // clear OC0 at Top (nota katalogowa, str. 71, tab. 11-3)
TCCR0B |= (0 << CS01) | (1 << CS00); // preskaler (dziel przez 1)
pinMode(went,OUTPUT);
// pinMode(LM35,INPUT);
}
void loop(){
float temp = analogRead(LM35);
temp = temp * 0.48828125;
float wyp;
wyp = temp * 3,624;
if (temp>=70)
{
analogWrite(went,255);
}
else
{
if(wyp<=6)
{
analogWrite(went,6);
}
else
{
analogWrite(went ,wyp);
}
}
delay(200);
}
Ps. Program piszę w Arduino IDE
Ps.2. Procek ma przestawione fusy na 9,6MHz