- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 4 von 4

Thema: Hilfe : Atmega8 + PWM + ADC + usw.

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    11.07.2004
    Beiträge
    43

    Hilfe : Atmega8 + PWM + ADC + usw.

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    ich bin gerade dabei, u.g. Programm zum laufen zu bringen,
    um meine Hardware zu testen. Jedoch will der PWM einfach nicht laufen.

    Kann mir vielleicht jemand helfen, was ich falsch mache ?

    Code:
    '****************************************************************************'
    '**     Tauchlampe - Test 1                                                **'
    '****************************************************************************'
    '**  D2 = Reed 1 Input ( minus )   **  C0 = PWM Ausgang                    **'
    '**  D3 = Reed 2 Input ( minus )   **  C1 = LED Lampenkopf                 **'
    '**  B1 = LED doppel rot           **  C4 = LM35 Input ( ADC4)             **'
    '**  B2 = LED doppel grün          **  C5 = Akkuspannung Input ( ADC5)     **'
    '****************************************************************************'
    '**  Display   ** D5 = DL4         **  D6 = DL5         **  D7 = DL6       **'
    '**            ** B0 = DL7         **  B6 = RS          **  B7 = E         **'
    '****************************************************************************'
    
    $regfile = "m8def.dat"                                      ' AVR Atmega 8
    $crystal = 1000000                                          ' Quarzfrequenz int.
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    
    Config Lcd = 16 * 2
    Waitms 200
    Cls
    
    Config Pinc.0 = Output
    Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
    
    Waitms 200
    
    Compare1a = 125
    
    Enable Interrupts
    Config Adc = Single , Prescaler = Auto                      'ADC aktivieren
    Start Adc
    
    Dim U As Byte                                               'Spannung
    Dim T As Byte                                               'Temperatur
    Dim P As Byte                                               'PWM-Signal
    
    Test:
    Cls
    Upperline
    Lcd "Tauchlampe V1.0"
    Lowerline
    Lcd "Klaus"
    Portb.1 = 1
    Waitms 200
    Portb.1 = 0
    Portb.2 = 1
    Waitms 200
    Portb.2 = 0
    Portc.1 = 1
    Waitms 200
    Portc.1 = 0
    
    Pwm1a = 125
    
    Goto Test
    Insbesondere habe ich Probleme mit dem Timer2 der einfach kein PWM-Signal am Ausgang erzeugen will.
    Die Hardware funktioniert, denn wenn ich mir ein Signal ext. hole, läuft die Sache.

    Danke schon mal im vorraus für euere Hilfe

    Gruß hellraider

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo hellraider,
    Config Timer2
    .
    Compare1a = 125
    .
    Pwm1a = 125
    Funktioniert mittlerweile PWM2 mit Bascom?
    Das wäre mir neu.

    Oben konfigurierst du Timer2 und dann sprichst du Timer1 an.
    Das Register für PWM von Timer2 heißt ocr2.

    Gruß, Michael

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    11.07.2004
    Beiträge
    43
    Hallo,
    also wenn ich das dann richtig verstanden habe, müßte es so lauten :

    *************************************
    Config Pinc.0 = Output
    Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1
    Enable Timer2

    Waitms 200

    Ocr2 = 50
    *************************************
    Aber irgendwie geht das auch nicht

    Bitte helft mir, bin am Verzweifeln

    Gruß

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo hellraider,

    erstmal ist der Ausgang für OCR2 PortB.3 und nicht PortC.0

    mit
    TCCR2 = &B01110010
    und
    OCR2 = 50

    solltest du Erfolg an PortB.3 haben

    Genaueres zum TCCR2 findest du im Datenblatt des Atmega8.

    Gruß, Michael

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad