-
        

Ergebnis 1 bis 8 von 8

Thema: at mega 8 pwm signal

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451

    at mega 8 pwm signal

    Anzeige

    Hallo,

    welche ports weden beim mega 8 für das senden von pwm signalen verwendet, oder ist das egal???

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    OC1A heißen die glaub ich..

    Wenn du Software-PWM meinst, kannst du jeden GIO-Pin nehmen.

    Gruß, CowZ

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    20.05.2006
    Ort
    @ Home
    Alter
    29
    Beiträge
    270
    Ein Blick ins Datenblatt hilft da ungeheuerlich!
    Wer lesen kann ist klar im Vorteil!
    Warum bekommen Vegetarier immer eine Extrawurst?

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    55
    Beiträge
    534
    Zitat Zitat von Schokohoernl
    Ein Blick ins Datenblatt hilft da ungeheuerlich!
    Wer lesen kann ist klar im Vorteil!
    Sie haben bezüglich PWM immer die selbe Antwort und keine Erklärung parat!
    Keine Antwort ist somit besser als ein RTFM !
    Ich kann mir keine Signatur leisten - bin selbständig!

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.01.2006
    Ort
    Mönchengladbach
    Beiträge
    544
    Aber ab und zu hilft es wirklich mal das Datenblatt zu lesen...
    da würden sich mindestens 1/10 aller Fragen von selbst beantworten.

    @robin:
    Wenn ich das in nem anderen Thread richtig gelesen habe, dann sind alle OutputCompare Pins für PWM einsetzbar... also OC1A/B und OC2
    Hab bis jetzt aber nur PWM per Software gemacht und kann nichts genaues dazu sagen.

    Gruß,
    SIGINT

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    datenblatt ist wichtig, ich muss aber gestehen dass ich trotz wiederholtem durchlesen immer noch mühe habe alles so ganz zu verstehen, und wenn ich es paar monate später wieder benötige hab ichs meistens vergessen.

    wie SIGINT sagt, gibt es 3 pins, an denen ein hardware-pwm erzeugt werden kann (pins pb1..3). vielleicht hilft folgendes:

    Code:
    ; portb als ausgang und auf 0 setzen
    ser   temp
    out   DDRB,temp	
    clr    temp
    out   PORTB,temp
    
    ; wgm10 setzen ergibt Phase Correct PWM, 8-bit (mode 1)
    ; COM1A1 und COM1B1 setzen, dadurch wird OC1A und OC1B beim hochzählen bei einem bestimmten wert LOW, beim runterzählen ab diesem wert HIGH
       ldi    temp,   (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10) 
       out	  TCCR1A, temp
    
    ; kein prescaling, pwm frequenz ist somit (Taktfrequenz/256)/2
       ldi    temp,   (1<<CS10) 
       out    TCCR1B, temp
    
    ; wgm20 setzen ergibt hier ebenfalls Phase Correct PWM
    ; COM21 setzen ergibt Clear OC2 on Compare Match
    ; CS20 gesetzt -> ebenfalls kein prescaling
       ldi    temp,   (1<<WGM20)|(1<<COM21)|(1<<CS20)
       out TCCR2, temp 
    
    ; nun OC1A einen pwm wert verpassen (25%):
    ldi   temp, 63
    out OCR1AL,temp
    
    ; nun OC1B einen pwm wert verpassen (50%):
    ldi   temp, 127
    out OCR1BL,temp
    
    ; nun OC2 einen pwm wert verpassen (75%):
    ldi   temp, 191
    out OCR2L,temp
    
    Main:
    nop
    rjmp Main
    alle angaben ohne versprechen, dass es so klappt. sollte aber.
    die pwms laufen dann alle 3 mit gleicher frequenz (*) und unterschiedlichem duty cycle. bei 1MHz taktfrequenz ist PWM-frequenz etwa 2kHz, an OC2 könnten es auch (*) ca 4 sein, da bin ich mir grad nicht ganz sicher.

    wenn etwas nicht stimmt, korrigiert mich bitte.

    ok, mir fällt auf, dass das eigentlich niemand gefragt hat..
    vielleicht ist es trotzdem jemandem nützlich

    gruesse von der katz

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    55
    Beiträge
    534
    Zitat Zitat von robocat
    ... die pwms laufen dann alle 3 mit gleicher frequenz (*) und unterschiedlichem duty cycle. bei 1MHz taktfrequenz ist PWM-frequenz etwa 2kHz, an OC2 könnten es auch (*) ca 4 sein, da bin ich mir grad nicht ganz sicher.
    öhm, warum .. in einem anderen Thread hab ich auch die Frage gesellt, wie schnell bei 20 MHz bei einen 2313 die 4 PWMs wären ...

    Also ich tue mir bezüglich der PWMs echt schwer mit den Datenblättern .. da steht irgendwie überall das gleiche, durch die Mischung mit den Timern und der vielfältigen Konfiguration, hab ich nocht nicht verstanden.

    Nicht PWM generell, sondern das genaue Handling, welche Flags. Die Tutorials labern da auch nur nach, und maximal 1 PWM wird erklärt .. aber schon gar nicht 4 ....
    ... würde mich freuen, wenn Du mir http://www.roboternetz.de/phpBB2/viewtopic.php?t=28075 auch antworten könntest.
    Danke,
    Vajk
    Ich kann mir keine Signatur leisten - bin selbständig!

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    19.01.2006
    Ort
    Mönchengladbach
    Beiträge
    544
    Ja ich gebe auch zu, daß die Datenblätter nicht ganz leicht zu verstehen sind... manches ist auch doppeldeutig oder falsch.
    Ich gehe dann meistens hin und Probiere einfach mal alles aus... irgendwann findet sich dann die richtige Einstellung.
    Ich hab bis jetzt nur Soft-PWMs genutzt, da die AVRs relativ wenig Hardware-PWMs haben und dadurch dann die Timer belegt sind.

    Gruß,
    SIGINT

Berechtigungen

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