- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 6 von 6

Thema: Fast PWM zu langsam? Denkfehler oder Rechenfehler?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.694

    Fast PWM zu langsam? Denkfehler oder Rechenfehler?

    Hallo Alle,

    meine Fast-PWM läuft langsamer als berechnet.

    Umgebung: mega328/20 MHz
    Code:
    // ============================================================================== =
    // ==  PWM-Routinen zur Motoransteuerung
     void TC1PWM_init(void)         //Init Timer/Counter1 für Erzeugung des PWM-Signals
     {                              //
       TCCR1A |=  (1<<COM1A1)|(1<<COM1B1);  //Clear/set OC1A/OC1B on Cmp Match,    S132
                                            //    OC1A/OC1B ist Port PB1/B2
       TCCR1A |=  (1<<WGM10)|(1<<WGM12);    // Fast PWM, TOP=0xFF=dez255,      doc S133
       TCCR1B |=  (1<<CS11);       // Prescaler ist clk/8                      doc S135
       TIMSK1 &= ~(1<<OCIE1A)|(1<<OCIE1B);    // T/C1 Oput CmpA+B Match intrrpt dsabld
       TIMSK1 &= ~(1<<TOIE1);        // T/C1 Ovrflw intrrpt dsabled        ~S137
       OCR1A     = 0;                       // PWM auf Null setze
       OCR1B     = 0;                       // PWM auf Null setzen
    }            
    // ============================================================================== =
     void setPWM1_re (uint8_t speed)        // Geschwindigkeit Motor1, Mot12 (rechter)
     {OCR1A = speed;}                       //  PWM auf PB1/OC1A
    // ============================================================================== =
     void setPWM2_li (uint8_t speed)        // Geschwindigkeit Motor2, Mot34 (linker)
     {OCR1B = speed;}                       //  PWM auf PB2/OC1B
    // ============================================================================== =
    Nach meiner Rechnung (Taschenrechner) ergibt das also 20Mio Maschinenzyklen div Prescaler8 div 255-PWM-TOP 9803 PWM-Zyklen. Der Oskar zeigt mir aber nur rund 5000 PWM-Zyklen (rund 10 bei 10*0,2ms/DIV). Kann mir bitte jemand ne richtige Rechnung aufmachen?

    Danke im Voraus.
    Geändert von oberallgeier (26.09.2012 um 16:11 Uhr)
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. I2C Codeproblem (oder Denkfehler)
    Von djdune im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 16.08.2010, 07:32
  2. Phänomen oder Denkfehler ?
    Von Frank_08 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 27.04.2009, 12:49
  3. Mosfetansteuerung -> Killerlösung oder Denkfehler?
    Von 1hdsquad im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 23.04.2008, 07:28
  4. Rechenfehler oder Irrtum ?
    Von alecs im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 29.09.2005, 11:47
  5. Motorsteuerung-> Schottky oder Fast-Recovery
    Von McFly im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 04.05.2005, 11:48

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests