logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATTINY13 - Wentylator piszczy przy ustawieniu Fast PWM w Arduino IDE

rocketman19 04 Sty 2019 03:06 663 4
REKLAMA
  • #1 17674530
    rocketman19
    Poziom 10  
    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
  • REKLAMA
  • #2 17674690
    BlueDraco
    Specjalista - Mikrokontrolery
    1. Wklej kod zamiast linka do kodu.

    2. Masz fajny błąd w linijce 19, ale to nie z tego powodu nie działa PWM.
  • REKLAMA
  • #3 17675488
    rocketman19
    Poziom 10  
    Ok kod wklejony. Jaki błąd masz na myśli? W linijce 19 jest przeliczenie wypełnienia z temperatury.
  • REKLAMA
  • #4 17675506
    excray
    Poziom 41  
    rocketman19 napisał:
    Jaki błąd masz na myśli? W linijce 19 jest przeliczenie wypełnienia z temperatury.

    Błąd pod tytułem "brak konsekwencji". Zdecyduj się, czy część ułamkową oznaczasz kropką czy przecinkiem.
  • #5 17675741
    BlueDraco
    Specjalista - Mikrokontrolery
    rocketman19 napisał:
    W linijce 19 jest przeliczenie wypełnienia z temperatury.

    Tak Ci się tylko wydaje... ;) Ja nie widzę w tej linijce, by temperatura miała jakikolwiek wpływ na wypenienie.
REKLAMA