- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: PWM funktioniert nicht

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    26.12.2005
    Ort
    Nürnberg
    Beiträge
    57
    Anzeige

    Praxistest und DIY Projekte
    Wenn die Frequenz zu gering ist, liegt das entweder am Oszillator oder am Prescaler (vermutlich letzteres). Glaube den ändert man mit den CS1X Bits.

  2. #12
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Bist du mit WGM12 und WGM13 nicht wieder bei Fast-PWM. Du könntest auch von 10bit auf 9bit zurückgehen dann würde sich die PWM-Frequenz verdoppeln. Wie hoch soll deine PWM-Frequenz denn sein?
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    26.12.2005
    Ort
    Nürnberg
    Beiträge
    57
    So, bei mir ist der Durchbruch gelungen

    Jetzt hab ich die ganze Registerfummelei endlich durchblickt. Habe jetzt beide PWM-Pins am Counter1 aktivieren und für meine Zwecke konfigurieren können. Letztendlich lag es daran, dass die Angaben für COM1Bx gefehlt haben.

    Was untenstehender Code tut, ist dokumentiert. Mir reicht im Gegensatz zu Ozzy 8-bit PWM, daher ist die Konfig etwas anders. Die OCR1x Register geben an, ab wann der Pin auf Low gelegt wird (also je höher der Wert, desto länger liegt HIGH an). Was ganz praktisch ist beim Testen: Prescaler auf 1024 stellen, dann kann man die LED schon blinken sehen

    Ich teste das jedoch mit einem Motor (mit nem L293d) und der macht komische Summgeräusche, wenn ich den Prescaler z.B. auf /8 setze. Bei /64 hört man jedoch kräftigere Vibrationen. Ist das normal oder gibts da nen Trick dagegen?

    Code:
    DDRB |= (1<<PB1)|(1<<PB2); // Port B1/B2 als Ausgang
    
    TCCR1A =
    		(1<<COM1A1)|(0<<COM1A0)| // PB1 auf low, wenn TOP1 (->OCR1A) erreicht
    		(1<<COM1B1)|(0<<COM1B0)| // PB2 auf low, wenn TOP2 (->OCR1B) erreicht
    		(0<<WGM11)|(1<<WGM10);   // PWM, phase correct, 8 bit
    
    TCCR1B =  (0<<CS12)|(1<<CS11)|(1<<CS10); // Prescaler auf /64
    
    OCR1A=127; // On-Zeit für PB1
    OCR1B=30;  // On-Zeit für PB2

  4. #14
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Mit der PWM schaltest du den Motor ja dauernd ein und aus, das sind die Geräusche. 3kHz PWM-Frequenz sind angeblich ideal, ich habe mich mal ein bisschen gespielt damit im Bereich von 500Hz bis 3kHz und konnte ausser den Geräuschen keine Änderung feststellen, man würde da wahrscheinlich einen Leistungsprüfstand benötigen um etwas konkret festestellen zu können. Ausserdem wird auch zwischen den Motoren ein Unterschied sein.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    26.12.2005
    Ort
    Nürnberg
    Beiträge
    57
    Danke für's Feedback. Wäre es nicht möglich, die Rechtecksignale etwas zu glätten? Wie macht man das Schaltungstechnisch am einfachsten? Elko gegen Masse, oder ist der nicht schnell genug? Kapazität?

    *Edit: Habe gerade das hier gefunden:

    http://www.mikrocontroller.net/artic...ndlung_mit_PWM

    Scheint nicht ganz so einfach zu sein, wenn man das sauber machen will...

  6. #16
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Ich würde versuchen die PWM-Frequenz in einen Bereich zu legen in dem sie nicht so stört. Alles andere bringt nur zusätzliche Verluste und keinen weiteren positiven Effekt.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress