-         

Ergebnis 1 bis 10 von 10

Thema: Proble mit PWM Fading über 10k Pottis

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54

    Proble mit PWM Fading über 10k Pottis

    Anzeige

    Hallo zusammen. Wie der Titel schon sagt habe ich Probleme mit Bascom und Fading von drei PWM Kanälen.

    Aufbau:
    Ich habe an ADC Kanal 0/1/2 je ein Potti 10k.
    Diese faden die PWM Kanäle des Timers0 / Timers1 eines Atmega 16.

    Das Konkrete Problem ist das ich immer nur zwei faden kann, sobald ich den dritten fade,
    Springen alle drei ADC Kanäle auf 0.
    Unabhängig welche ich regele, also beide Timer1 oder je einen von Timer1 und Timer0, kommt der Dritte hinzu springt alles auf 0.
    Ich höffe Ihr könnt mir weiter Helfen

    Anbei das Bascom Programm.
    Schaltplan

    Code:
    
    
    $regfile = "m16def.dat"
    $crystal = 16000000
    $hwstack = 40
    $swstack = 16
    $framesize = 32
    
    Ddrb = &HFF
    Ddrd = &HFF
    Ddrc = &HFF
    
    Ddra = &H00
    
    Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.0 , Rs = Portc.1
    Config Lcd = 20 * 4
    
    Enable Interrupts
    
    
    Dim Adc_rot As Word
    Dim Adc_grün As Word
    Dim Adc_blau As Word
    
    Dim Pwm_rot As Word
    Dim Pwm_grün As Word
    Dim Pwm_blau As Word
    
    Config Timer0 = Pwm , Compare Pwm = Clear Down , Prescale = 256
    Config Timer1 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 256
    
    
    
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    
    
    
    
    
    Do
    
    Waitms 250
    
    Cls
    
    Locate 1 , 1
    Lcd "Motion Control @ RAU"
    
       Locate 2 , 1
       Lcd "ROT   "
    
             Gosub Rot_messen
    
          Pwm_rot = Adc_rot / 4
    
       Lcd Pwm_rot
    
    
       Locate 3 , 1
       Lcd "GRUEN "
    
             Gosub Grün_messen
    
          Pwm_grün = Adc_grün / 4
    
       Lcd Pwm_grün
    
    
    
       Locate 4 , 1
       Lcd "BLAU  "
    
             Gosub Blau_messen
    
           Pwm_blau = Adc_blau / 4
    
       Lcd Pwm_blau
    
    
     Ocr0 = Adc_rot
     Ocr1a = Adc_grün
     Ocr1b = Adc_blau
    
    Loop
    
    End
    
    
    
    Rot_messen:
    
       Start Adc
       Adc_rot = Getadc(2)
       Stop Adc
    
    Return
    
    Grün_messen:
    
       Start Adc
       Adc_grün = Getadc(1)
       Stop Adc
    
    Return
    
    Blau_messen:
    
       Start Adc
       Adc_blau = Getadc(0)
       Stop Adc
    
    Return
    Klicke auf die Grafik für eine größere Ansicht

Name:	RGB Steuerung.jpg
Hits:	11
Größe:	43,7 KB
ID:	20081

    Grüße Flo

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.785
    Blog-Einträge
    8
    Sollte der Timer1 nicht auch mit 8-Bit laufen?

    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , ...

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54
    Hallo und Danke

    Absolut richtig hatte ich wohl übersehen.
    Leider war das aber nicht der gesuchte Fehler.
    Das Programm geht immer noch nicht


    Grüße Flo

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.785
    Blog-Einträge
    8
    War ja eigentlich zu erwarten. Funktioniert das?

    Code:
    ' Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    Ocr0 = 127
    Ocr1a = 127
    Ocr1b = 127
    
    Do
    Loop
    
    End
    Ach, Blödsinn, der ADC funzt ja nimmer. Vielleicht solltest du die häufigen Starts/Stops weglassen und den ADC nur einmal nach dem Config starten.
    Geändert von radbruch (19.09.2011 um 13:13 Uhr) Grund: ADC-Ergänzung angehängt

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54
    Ja. Habe mal alles abgeworfen was nicht zu der ADC erfassung und Ausgabe gehört.
    Sieht so aus

    Code:
    $regfile = "m16def.dat"
    $crystal = 16000000
    $hwstack = 40
    $swstack = 16
    $framesize = 32
    
    Ddrb = &HFF
    Ddrd = &HFF
    Ddrc = &HFF
    
    Ddra = &H00
    
    Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.0 , Rs = Portc.1
    Config Lcd = 20 * 4
    
    
    Dim Adc_rot As Word
    Dim Adc_grün As Word
    Dim Adc_blau As Word
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    
    
    
    Do
    
    
    
    Cls
    
    Locate 1 , 1
    Lcd "Motion Control @ RAU"
    
    
    
       Locate 2 , 1
       Lcd "ROT   "
       Lcd Adc_rot
    
    
       Locate 3 , 1
       Lcd "GRUEN "
       Lcd Adc_grün
    
    
    
       Locate 4 , 1
       Lcd "BLAU  "
       Lcd Adc_blau
    
    Adc_rot = Getadc(2)
    Adc_grün = Getadc(1)
    Adc_blau = Getadc(0)
    
    Waitms 100
    
    Loop
    
    End
    Nachmessen mit dem Multimeter an ADC0/1/2 ergibt keine Auffälligkeit. Spannung fällt wie gewohnt von 4,8 auf 0 Volt.
    Dachte erst die Schaltung würde mir die Probleme Machen.

    Grüße Flo

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.398
    ähm die qualität des schaltplan ist leider miserabel, aber kann es sein, dass dein AVCC garnicht angeschlossen ist ?
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54
    Sorry wegen dem Schaltplan ist nicht so gelungen
    Aber:

    Atmega 16 def.

    Das war der Fehler...
    Den Kolegen getauscht nun gehts

    Grüße

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.398
    öhm, ich meinte eigentlich die bildqualität, zu niedrige auflösung sry wollte niemand angreifen
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  9. #9
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.785
    Blog-Einträge
    8
    Atmega 16 def.
    Krass. Aber immerhin funktioniert mein Testaufbau:
    Code:
    $regfile = "m16def.dat"
    $crystal = 16000000
    $hwstack = 40
    $swstack = 16
    $framesize = 32
    $baud = 38400
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    
    Do
    
    Print Getadc(2) ; " " ; Getadc(7) ; " " ; Getadc(6)
    
    Waitms 500
    
    Loop
    
    End
    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    22.03.2011
    Beiträge
    54
    Zitat Zitat von Ceos Beitrag anzeigen
    öhm, ich meinte eigentlich die bildqualität, zu niedrige auflösung sry wollte niemand angreifen
    Kein Prob hab ich auch nicht so geeint
    Keine Ahnung was ich mit dem gemacht hab,
    Er war neu...

    Grüße

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 19.04.2011, 13:36
  2. Atmega Led Fading Software PWM
    Von Tux12Fun im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 02.04.2010, 00:20
  3. LED Fading
    Von NeOn_HD im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 18.09.2009, 18:25
  4. RGB-LED-Fading: Divisionsprobleme
    Von Bääääär im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 19.02.2009, 17:03
  5. Antworten: 3
    Letzter Beitrag: 29.10.2008, 15:21

Berechtigungen

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