- 12V Akku mit 280 Ah bauen         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 43

Thema: Problem mit LCD-Display

  1. #31
    Benutzer Stammmitglied
    Registriert seit
    08.01.2007
    Ort
    Bonn
    Alter
    32
    Beiträge
    48
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Zusammen,

    @Sheff: Ich meine auf dem Schaltplan eindeutig erkennen zu können das RESET über 10 10k-Ohm Widerstand auf +5V gezogen ist.

    @Michael: Ich habe beide Controller vor mir liegen. Große Änderungen probiere ich auf beiden Controllern aus, kleine nur an dem jeweils angeschlossenem. Damit möchte ich den Defekt eines Controllers ausschließen.
    Das mit dem JTAG ist in meinen Augen kein Problem da ich den Port D verwende.
    Das Display ist auf dem Schaltplan nicht zu sehen da das der Schaltplan ist wie ich ihn der Platinenmachfirma gegeben habe. Komicherweise funktioniert der RESET-Taster nicht. Das Problem werde ich auch noch untersuchen. Das Display ist über diesen (http://rn-wissen.de/index.php/RN-Def...en#LCD_Stecker) Stecker angeschlossen und hängt im Moment an Port d.


    Ich hatte die Idee das ich das Display vielleicht falsch herum angeschlossen habe. Leider hat das Umdrehen auch nichts gebracht.

    Gruß Sebasti

  2. #32
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    37
    Beiträge
    947
    öööhm

    RnMegaNeu.pdf

    ATmega 32.pdf

    worum gehts jetzt?

    Ich hatte die Idee das ich das Display vielleicht falsch herum angeschlossen habe.
    Ich gehe auch davon das dass ich das Kabel richtig Konfektioniert habe da ich die Leitungen schon von Display bis zum RnMega2560 mit dem Durchgangsprüfer getestet habe.
    Irgendwie widerspricht sich das ganze

  3. #33
    Benutzer Stammmitglied
    Registriert seit
    08.01.2007
    Ort
    Bonn
    Alter
    32
    Beiträge
    48
    Hallo Sheff,
    um deine Verwirrung zu beseitigen:
    Ich besitze beide Controllerbards und Teste die meisten Programme auf beiden.
    Ich hatte die Idee das ich das Display vielleicht falsch herum angeschlossen habe.
    Damit meinte ich das es sein könnte das ich von Anfang an bei den Displaypins die 1 mit der 16 verwechselt habe. Und das habe ich getestet.

    Gruß Sebasti
    Geändert von Sebasti (15.03.2011 um 20:37 Uhr)

  4. #34
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    37
    Beiträge
    947
    ok, wird jetzt etwas klarer

    hast du schon mal versucht am PORTD, verschiedene Bitmuster auszugeben?
    Ich spiele mit dem schrecklichen Gedanken, dass es sich um ein ESD-Schaden handeln könnte...

  5. #35
    Benutzer Stammmitglied
    Registriert seit
    08.01.2007
    Ort
    Bonn
    Alter
    32
    Beiträge
    48
    beide Controller sollen einen ESD-Schaden haben obwohl das Blinkprogramm Funktioniert?

    Habe es grade aber getestet: Ergebnis: Der Port auf welchem die Enable-Leitung liegt funktioniert NICHT!

    Leiter bringt ein Wechsel auf den PortB der RnMega2560, welcher geteset wurde auch nichts! Beim Beobachten mit den LEDs habe ich aber festgestellt das PortB.3 (Db4) PortB.7 (Rs) ständig High sind. Ist das Normal?

    Gruß Sebasti

  6. #36
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    55
    Beiträge
    1.258
    Hallo Sebasti,

    dein ständiges Hin- und Hergespringe zwischen den Ports bringt nichts. Du kannst Probleme nicht mit der Stecknadel-im-Heu-Methode lösen.
    Seit einer Woche hängst du an einem simplen Display.
    Wenn du nicht langsam systematisch vorgehst, wird das nichts.

    Wenn du an PortC ein Problem hast, dann schalt doch einfach JTAG aus?
    Bisher hast du auch kein Programm gepostet, daß man mal einen Fehler finden könnte.
    Vermutlich sind es nur ein paar Kleinigkeiten, vergessene Stackwerte, Print oder was auch immer.
    Wie soll man dir da helfen?

    Gruß, Michael

  7. #37
    Benutzer Stammmitglied
    Registriert seit
    08.01.2007
    Ort
    Bonn
    Alter
    32
    Beiträge
    48
    Hallo Michael,

    auch ich finde sehr schlecht das ich es nach einer Woche & Hilfe immernoch nicht schaffe ein einfaches Display zum Laufen zu bringen. Ich springe zwischen den Ports hin und her damit ich einen Funktionierenden finde! Ich kann mich später darum kümmern warum ein bestimmter Port nicht Funktioniert. Am Anfang habe ich alles Systematisch durchprobiert bis ich zu dem Punkt kam hier zu schreiben. Seitdem ändere ich meinen Aufbau immer so wie Vorschläge kommen. Wie könnte ich es denn besser machen?

    JTAG war nie ein Problem dar ich noch nicht am Port C dran war. Es ist nur nebenbei aufgefallen und ich habe JTAG inzwischen auch Deaktiviert.

    Am Anfang hatte ich einige Programme gepostet und mir wurde noch nicht gesagt das ich irgendwo einen Fehler habe. Nur Ratschläge wie man es mal anders Probieren kann und für mich geschriebene Programme wurden gepostet. Diese habe ich dann einfach kopiert und übertragen. Ich wüsste nicht wo man da was falsch machen kann?

    Aber da du drum gebeten hast findet du hier jetzt die aktuellen Programme.
    RnMega 2560:

    Code:
    $regfile = "m2560def.dat"
     $hwstack = 82                                               '80
     $framesize = 68                                             ' 64
     $swstack = 8
     
                                                     '44
     
     $crystal = 16000000
     
     Config Pinf.1 = Input                                       'Quarzfrequenz
     
     Config Pind.5 = Output
     Led Alias Portd.5
     Led = 0
     
     Config Lcdpin = Pin , Rs = Portb.7 , E = Portb.5 , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0
     Config Lcd = 16 * 4
     Initlcd
     Stop Watchdog
     
     Do
     Cls
     Lcd "Hallo!!"
     Waitms 500
     Loop
     End
    AtMega32:
    Code:
    $regfile = "m32def.dat" $prog &HFF , &HC4 , &HD9 ,  &H00     ' generated. Take care that the chip supports all fuse  bytes.
     $crystal = 1000000
     $framesize = 64
     $hwstack = 64
     $swstack = 64
     Ddrb = &B11111111
     
     Config Lcdpin = Pin , Rs = Portd.7 , E = Portd.5 , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0
     Config Lcd = 16 * 4
     Initlcd
     stop  WATCHDOG
     
     Do
     Cls
     Lcd "Hallo!!"
     Wait 5
     Loop
     End
    Gruß Sebasti

    Ps: ich bin auch nicht jeden Tag am Basteln. Pro Tag komme ich im Moment durchnittlich auf 25-30 Minuten, für mehr reicht die Zeit im Moment auch nicht.

  8. #38
    RN-Premium User Roboter Genie Avatar von 5Volt-Junkie
    Registriert seit
    06.03.2008
    Alter
    37
    Beiträge
    947
    Ach armer Sebasti

    beide Controller sollen einen ESD-Schaden haben obwohl das Blinkprogramm Funktioniert?
    Ja, mit ESD muss man nicht unbedingt ganzen µC zerschossen haben.

    Der Port auf welchem die Enable-Leitung liegt funktioniert NICHT!
    Wie jetzt? Weder HIGH noch LOW?

    Beim Beobachten mit den LEDs habe ich aber festgestellt das PortB.3 (Db4) PortB.7 (Rs) ständig High sind. Ist das Normal?
    Hast du während das LCD-Programm lief, die LEDs beobachtet oder anderes Programm füer LEDs geschrieben?

    Code:
    $crystal = 1000000
    1MHz Quarz?

    Edit: Laut Schaltplan hast du ein 16MHz Quarz drin...
    Geändert von 5Volt-Junkie (16.03.2011 um 19:44 Uhr)

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    08.01.2007
    Ort
    Bonn
    Alter
    32
    Beiträge
    48
    Hallo Sheff,

    gut, das nächste mal sollte ich noch ausführlicher schreiben.


    beide Controller sollen einen ESD-Schaden haben obwohl das Blinkprogramm Funktioniert?
    Ja, mit ESD muss man nicht unbedingt ganzen µC zerschossen haben.
    Das musste ich leider feststellen. Bis jetzt war ich der Überzeugung das es nur ein geht/geht nicht gibt.

    Der Port auf welchem die Enable-Leitung liegt funktioniert NICHT!
    Wie jetzt? Weder HIGH noch LOW?
    Mhhhh, jetzt funktioniert sie. Gestern war die LED immer aus (Low). Das deutet wohl auf einen Wackelkontakt

    Beim Beobachten mit den LEDs habe ich aber festgestellt das PortB.3 (Db4) PortB.7 (Rs) ständig High sind. Ist das Normal?
    Hast du während das LCD-Programm lief, die LEDs beobachtet oder anderes Programm füer LEDs geschrieben?
    Ich habe das Display abgeklemmt und meine LEDs angeschlossen. Im Anhang findest du übrigens den Schaltplan der Platine.

    $crystal = 1000000
    1MHz Quarz?
    Internen Quarz, 1 MHz. Im Screenshot von den Fusebites erkennt man das auch.

    Mir ist noch etwas aufgefallen:
    Und zwar benutze ich auf dem RnMega2560-Board immer folgendes Programm um sehen zu können ob das Teil noch funktioniert (Blinkprogramm):
    Code:
    $prog , 255 , &B11011001 ,                                  'Quarz an / Teiler aus / Jtag aus
    
    $regfile = "m2560def.dat"
    
    
    $crystal = 16000000                                         'Quarzfrequenz
    
    Config Pind.5 = Output
    Led Alias Portd.5
    Const Cdebug = 1
    
    $baud = 9600
    Dim I As Long
    I = 0
    
    Led = 0
    Wait 1
    Led = 1
    Wait 1
    Do
    I = I + 1
    Led = 1
    Waitms 50
    Led = 0
    Waitms 60
    Loop Until I = 5
    
    
    Do
    I = 0
    Led = 0
    Waitms 1100
    
    Do
      Led = 0
      Waitus 1
      Led = 1
      Waitus 9
      I = I + 1
    Loop Until I = 110000
    
    Led = 1
    Waitms 1100
    
    Loop
    
    End
    
    End
    Für den AtMega32 habe ich den Code bis auf die Einstellungen nicht verändert:

    Code:
    $regfile = "m32def.dat" $prog &HFF , &HC4 , &HD9 , &H00     ' generated. Take care that the chip supports all fuse bytes.
    $crystal = 1000000
    $framesize = 64
    $hwstack = 64
    $swstack = 64
    
    Config Pind.1 = Output
    Led Alias Portd.1
    Const Cdebug = 1
    
    
    Dim I As long
    I = 0
    
    Led = 0
    Wait 1
    Led = 1
    Wait 1
    Do
    I = I + 1
    Led = 1
    Waitms 50
    Led = 0
    Waitms 60
    Loop Until I = 5
    
    
    Do
    I = 0
    Led = 0
    Waitms 1100
    
    Do
      Led = 0
      Waitus 1
      Led = 1
      Waitus 9
      I = I + 1
    Loop Until I = 110000
    
    Led = 1
    Waitms 1100
    
    Loop
    
    End
    Komicherweise braucht der AtMega32 c.a. 5x länger wie der RnMega um die Variable I auf den Wert von 110000 hochzuzählen. Das Blinken am Anfang passiert absulut synchron. Erst beim Hochzählen der Variable merkt man das der AtMega 32 wesentlich länger braucht als der RnMega2560. Ich wüsste nicht das der AtMega32 nicht zu hoch zählen kann?

    Kennt zufälligerweise jemand den Grund?

    Und nochmal danke für eure Hilfe & Bemühungen.

    Gruß Sebasti
    Angehängte Dateien Angehängte Dateien
    Geändert von Sebasti (16.03.2011 um 20:48 Uhr)

  10. #40
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Na gut, die laufen auf verschiedenen Frequenzen. Das hat also nichts mit den Typen zu tun.
    Dies hier
    Do
    Led = 0
    Waitus 1
    Led = 1
    Waitus 9
    I = I + 1
    Loop Until I = 110000

    dauert bei 1 MHz
    80 Takte * 110000 Durchläufen / 1.000.000 = 8,8 sec

    bei 16MHz
    229 * 110000 /16.000.000 = 1,57 sec

    Waitus 1 alleine benötigt 2µs bei 1 MHz Takt, also schon doppelt so lange.
    Wenn du wirklich nur einen Takt warten willst, setze ein NOP ein.

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Stichworte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress