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

Thema: PWM -> DAC HILFE!!!

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614

    PWM -> DAC HILFE!!!

    Anzeige

    Praxistest und DIY Projekte
    N' Tach!

    Ist hier jemand, der sich gut mit PWM auskennt?

    Ich finde kein passendes Tutorial und ich möchte den PWM benutzen als eine Art DAC. (das geht doch oder?)

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Werd mal präziser: Welcher Controller/Chip, welche Sprache.
    Sorry aber was ist DAC? DA-Wandler?

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614
    Hi,

    Bascom-AVR mit dem ATMEGA8 oder ATMEGA128.

    DAC=Digital-Analog-Converter

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Gut! Da kann ich dir helfen.
    Also der DAC läuft als PWM.
    DU benötigst einen Timer. Leider bin ich grad nicht zu Hause, sonst könnte ich dir BeispielCode schicken. Aber vielleicht hast du ja Bascom AVR von Kühnel glaub ich, da steht das drin. Ansonsten musst du mal die Samples durchsuchen, die bei Bascom dabei sind. Leider gibts ja verschiedene Versionen von BAsom mit verschiedenen Samples, in der älteren Version ist auf jeden Fall ein Beipiel dabei, in der neuren bestimmt auch. Schau mal durch, wirt ja PWM heißen oder so. Ansonsten schick ich dir den Code. ICh kann allerdings nciht versprechen, dass das heute noch klappt.

    MFG Moritz

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    35
    Beiträge
    1.614
    Bei den Application Notes iss ja kein Codebeispiel dabei und das inner Bascom Hilfe kapier ich nicht.

    Vielleicht kannste mir dein Prog doch nochmal schicken muss aber nicht heute sein bloß keine eile

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Ich meinte nicht die Bascom Hilfe, sondern, dass bei Bascom ein Ordner Samples dabei ist, der heißt auf jeden Falls genau so, und da könnte was drin sein. ICh weiß nciht genau, was du mit Application Notes meinst.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Nein, tatsächlich nicht
    ICh schick dir das dann mal vorbei.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Hier das Prog, ich bin allerdings sicher, dass das einfacher geht.

    Code:
    Const True = 1
    Const False = 0
    
    Dim Hi As Byte
    Dim Lo As Byte
    Dim A As Byte
    Dim Phase As Bit
    Dim Pattern As Byte                       ' Bit pattern for display
    
    Pwm Alias Portb.0                         ' Modulated Pin
    
    Config Timer0 = Timer , Prescale = 64     ' Rate 244 Hz at 4 MHz Clock
    
    On Timer0 Timer0_isr                      ' Jump to Timer1 ISR
    
    Config Portb = Output
    
    Enable Timer0                             ' Enable the timer interrupt
    Enable Interrupts                         ' Enable Global Interrupt
    
    Lo = 128                                  ' Initial value for PWM
    Phase = True
    
    Do
        A = Pind                              ' Ask for Key
        Select Case A
            Case &B11111110 : Lo = 0          ' Lo Time short, Hi Time long
            Case &B11111101 : Lo = 32
            Case &B11111011 : Lo = 64
            Case &B11110111 : Lo = 96
            Case &B11101111 : Lo = 128
            Case &B11011111 : Lo = 160
            Case &B10111111 : Lo = 192
            Case &B01111111 : Lo = 255        ' Lo Time long. Hi Time short
         End Select
        Hi = 255 - Lo
        Incr Pattern                          ' Change Bit Pattern
        Waitms 100                            ' Wait 100 ms
    Loop
    
    End
    
    Timer0_isr:
        If Phase = True Then
            Portb = &HFF                      ' LED off
            Timer0 = Lo                       ' Reload Timer0
            Phase = False
        Else
    
            Portb = Not Pattern               ' LED on
            Timer0 = Hi                       ' Reload Timer0
            Phase = True
        End If
    Return

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Ich verweise jetzt einfach mal auf:
    https://www.roboternetz.de/phpBB2/vi...?p=33277#33277
    denn da versuche ich grad das Problem zu lösen.

Berechtigungen

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

Labornetzteil AliExpress