- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 12

Thema: Phasenkorrekt Modus Interrupts

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Hi,
    also ich versuchs nochmal:

    Kann leider nicht beurteilen, ob Du nicht auch Timer2 anstelle Timer1 für die PWM der Phasenansteuerungs nehmen kannst.

    So wie ich das Datenblatt verstehe, ist es mit Timer2 nicht vorgesehen, Interrupts im Phase Correct PWM bei TOP und BOTTOM zu nutzen.

    Für Timer1 geht es nach Tabelle 39, Seite 98 im Datenblatt nur für die Modes 8, 9, 10 und 11.
    Modes 1, 2, 3 scheinen mir keinen Interrupt bei TOP auszulösen.

    Einstellung des Modes 8 :
    CONFIG TIMER1 = TIMER , PRESCALE = x
    SET TCCR1B.WGM13
    SET - noch weitere Einstellungen zB welche Pins als Output genutzt werden sollen
    (hab dazu keine Erfahrung, wie das mit dem CONFIG TIMER Kommando geht. Ich benutze immer SET Anweisungen)

    TOP Wert einstellen im Register ICR1
    ICR1 = x

    Pulsweite einstellen im Register OCR1A oder OCR1B (je nachdem welche PWM Output Pins am µC genutzt werden sollen)

    Interrupts:

    ENABLE ICP1
    ENABLE OVF1

    ON ICP1 ISR_TOP
    ON OVF1 ISR_BOTTOM

    ENABLE INTERRUPTS

    Timer1 ist ja 16 Bit und läßt sich für Deine gewünschte Funktion nicht auf geringere Auflösung umstellen!?
    Timer2 ist 8 bit und könnte für Phasenansteuerung noch gehen ???

    PS: Kann das leider nicht testen.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  2. #2
    Benutzer Stammmitglied Avatar von Wombatz
    Registriert seit
    10.06.2011
    Beiträge
    70
    Blog-Einträge
    1
    Vielen Dank für deine Hilfe.

    Ich werd das mal so versuchen.

    Gruß Wombatz...

    Sorry nochmal aber es hakt.....

    Ich habe es gerade mal Versucht mit dem Timer1 zwei Interrupts auszulösen. Bei mir geht immer nur einer der Beiden. Zusammen funktionieren die nicht:
    Hier mal der Code:

    Tccr1a = &B00000010 'Bit7+4=keinCompare,Bit3+2=keinForceOutputCompare, Bit1+0=PWMPhaseCorrect
    Tccr1b = &B00010010 'Bit7=NoiseCancelaus,Bit6=FallingEdge,Bit5=Reserve ,Bit4+3=WaveformGenerationMode,Bit2+0=Prescaler/8
    Timsk.toie1 = 1 'Timer Overflow Interrupt (TOP) ein
    Enable Icp1 'Timer Bottom Interrupt ein

    Sreg.7 = 1 'Interrupt global freigeben

    On ovf1 Adc_messung
    On Icp1 Compare_messungen

    '_____________

    Do
    "Mach Sachen"
    Loop
    '____________

    Adc_messung:

    Toggle Portd.6

    Return
    '___________________

    'Compare_messungen:

    Toggle Portd.7

    Return

    Einmal ist Portd.6 (ADC_Messung) 0,00V und wenn ich den anderen Interrupt ausblende, funktionier der???
    Mache ich da was falsch???
    Geändert von Wombatz (01.12.2011 um 18:54 Uhr)

  3. #3
    Benutzer Stammmitglied Avatar von Wombatz
    Registriert seit
    10.06.2011
    Beiträge
    70
    Blog-Einträge
    1
    Hat sich erledigt... Wenn ich ICR1 einen Wert zuweise funktionier das...

    Danke der schnellen Hilfe

    Gruß Wombatz

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Prima. Ich blick gerade nicht durch, welchen Mode Du benutzt. Im Mode 8 wird der ICP1 bei TOP ausgelöst. Der Inhalt von ICR1 ist TOP und bestimmt damit auch die PWM Frequenz.

    Der OVF1 (Overflow) Interrupt wird bei BOTTOM ausgelöst. In Deinem vorletzten Post, den ich grad erst gesehen habe, ist das für mich irgendwie mißverständlich nach Programmcode.

    Timsk.toie1 = 1 'Timer Overflow Interrupt (TOP) ein
    Enable Icp1 'Timer Bottom Interrupt ein
    In den Remarks ist TOP und Bottom vertauscht.


    Egal, Hauptsache es klappt.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. sind ALLE Interrupts wieder ON nach Enable Interrupts?
    Von sBronco im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 19.07.2011, 14:58
  2. EA DIP204-4 4 bit modus
    Von DBF im Forum Assembler-Programmierung
    Antworten: 4
    Letzter Beitrag: 07.03.2008, 13:16
  3. Idle-Modus
    Von wolleausmallo im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 17.04.2007, 09:41
  4. LCD - initialisieren im 4-Bit Modus
    Von henne im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 12.03.2005, 00:26
  5. Bootstrap Modus
    Von lollo im Forum C-Control II
    Antworten: 5
    Letzter Beitrag: 20.01.2005, 15:31

Berechtigungen

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

LiFePO4 Speicher Test