Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 41

Thema: Atmega8 mit LCD 1602A nur Hieroglyphen

  1. #31
    Kabelträger
    Registriert seit
    29.12.2016
    Alter
    67
    Beiträge
    17
    Hallo Daja,
    das war es leider auch nicht. Wenn die genannten Ports auf Masse liegen, sind am Display nur die Pixel der 1. Zeile zu sehen. Ich glaube immer mehr, ich hantiere hier mit kaputten Zeug rum. Das ist doch alles nichts besonderes.
    Gruß

  2. #32
    Kabelträger
    Registriert seit
    24.11.2016
    Beiträge
    8
    Zitat Zitat von arto Beitrag anzeigen
    Hallo Daja,
    das war es leider auch nicht. Wenn die genannten Ports auf Masse liegen, sind am Display nur die Pixel der 1. Zeile zu sehen. Ich glaube immer mehr, ich hantiere hier mit kaputten Zeug rum. Das ist doch alles nichts besonderes.
    Gruß
    Hi arto,
    also wenn das jetzt nichts ganz blödes ist (Wackelkontakt im Steckbrett, selber schon gehabt! Problem mit Stromversorgung o.ä.) dann teste mal das andere Display.

    Tipp dazu, nicht gleich einlöten sondern mit Stiftleiste arbeiten:
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	MPE_087_1_016.jpg 
Hits:	3 
Größe:	8,1 KB 
ID:	386
    Wenn Du die Stiftleist in das Steckbrett steckst und das Display auf die Lötseite der Stiftleiste aufsteckst und dann mit mäßiger Kraft verkantest, kann es gut funktionieren (Solange Du es in der Hand hälst und andrückst. Hab das sogar mit einer 2*8-Pin-Variante erfolgreich gemacht)

    Gruß, Christian

  3. #33
    Kabelträger
    Registriert seit
    29.12.2016
    Alter
    67
    Beiträge
    17
    Hallo Christian,
    guter Tip, werde ich heute Nachmittag ausprobieren.

    Gruß Hans

  4. #34
    Neuer Benutzer
    Registriert seit
    02.11.2016
    Beiträge
    54
    Hi arto,

    als erstes solltest du dich mal die Frage stellen, warum noch mehrmaligem brennen ohne Code zu ändern immer ein anderes Ergebnis kommt. Wie und mit was brennst du? Mit wie meine ich ob du den M8 aussockelst um zu brennen. Dann währ die Vermutung Wackelkantakt schon nah.
    Ja wenn du nur LCD von Spannung trennst und wieder verbindest muss ja eine andere Anzeige komme. Programm läuft ja weiter und LCD rastest neu ein und die Init muss erst geladen werden. Aber wie du bist ja in der „Arbeitsschleife“. Somit der Hinweis danach µC Reset.
    D0 bis D4 muss nicht zwingend auf Masse sein. Im 4 Bit Modus werden diese nicht abgefragt. Kann aber nicht schaden.
    Da Text zu erkennen ist, sollten die Datenleitungen auch nicht vertaucht sein.
    Sollte die ASCII- Tabelle falsch gelesen werden kommt wieder der Systemtakt ins Spiel.
    Sehr grob mal so beschrieben. Du schreibst in Zeile 1 ab Spalte 1 „Hallo“ nun werden die 5 Zeichen in„Ausgabespeicher“ geschrieben(bleiben also erhalten) nun schreibst du in gleicher Zeile in Spalte 1 „B“ nur „H“ wird überschrieben. Anzeige „Ballo“. Ja so soll es sein.
    Aber alles brauch seine Zeit.
    Oft höre ich „nimm den Systemtakt runder“ meist berechtigt wenn nur ein Baustein verwendet wird.
    Nun kann es aber auch so sein. Der Motor muss mehre antreiben, wurde aber auf Standgas gedrosselt und man wundert sich warum nicht die volle Leistung kommt oder beim Start der Motor abgewürgt wird. Dieses Verhalten ist wahrlich das Übelste was ich kenne.
    Mag eine saublöde Beschreibung sein. Kann es nicht besser, bin halt nur ein Praktiker und auf keinen Fall ein Schreiberling.

    Schau ich aufs Bild(sehe ja nur ein Ergebnis)nun könnte es sein das Display erkennt Zeilenende nicht. Sonst dürfte in Zeile 2 nicht der Inhalt von Zeile 1 stehen.

    Nun wieder ein Code Vorschlag für Test.

    $regfile = "m8def.dat"
    $crystal = 1000000
    $hwstack = 32
    $swstack = 10
    $framesize = 40

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
    Config Lcdbus = 4
    Initlcd
    Waitms 100
    Display On
    Cursor Off Noblink
    Cls

    Dim Zeile1 As Byte
    Dim Zeile2 As Byte

    Do
    For Zeile1 = 1 To 16
    Locate 1 , Zeile1
    Lcd Zeile1
    Waitms 200
    Next
    Wait 2
    Cls

    For Zeile2 = 1 To 16
    Locate 2 , Zeile2
    Lcd Zeile2
    Waitms 200
    Next
    Cls
    Wait 2
    Loop

    Gruß

  5. #35
    Kabelträger Avatar von dino03
    Registriert seit
    02.11.2016
    Beiträge
    21
    Hallo,

    ich sehe da nur einen kleinen Elko auf der Platine des Atmel.
    Das LCD hat aber auch nen Backlight was nicht wenig Strom ziehen wird.
    Die Übergangswiderstände auf so einem Steckbrett sind auch nicht zu vernachlässigen.
    Ich würde einfach mal nen paar mehr Elkos verteilen damit die Betriebsspannung bei Lastwechsel stabiler wird.
    Wenn beim Brennen bereits Probleme sind (immer mal nen anderes Ergebnis) deutet das auch in die Richtung.
    Ist da wirklich eine sauber stabilisierte Betriebsspannung in der richtigen Höhe dran?

    Gruß
    Dino

  6. #36
    Kabelträger
    Registriert seit
    29.12.2016
    Alter
    67
    Beiträge
    17
    Hallo redfred,
    zuersteinmal, Deine Art meine Problemlösung zu beschreiben ist OK. Es ist alles sehr verständlich.
    Also, brennen tue ich in dem Experimentierbord, daß immer auf den Bilder zu sehen ist. Der Prozessor wird nie gewechselt (ISP).
    Das die Anzeige wechselt beim Trennen und wieder Anstöpseln , habe ich verstanden.
    Wenn ich DB0 bis DB3 auf Masse lege geht gar nichts. Das habe ich auch schon an mehreren Stellen gelesen, daß das nicht immer Sinnvoll ist.
    Das Überschreiben, wenn der Takt nicht stimmt, verstehe ich auch.
    Das ein ausgebremmster Sytemtakt nicht immer dienlich ist, kann ich auch nachvollziehen.

    So, und nun zu dem neuen Testprogramm. Hier sehe ich auch nur, in beiden Zeilen, annähernd die gleichen Zeichen. Was auffällt, es ist kein Text mehr dabei, sonder nur Ziffern und sonstige Zeichen, Cursor, auch ohne Inhalt.

    Ich habe auch ein anderes Display probiert, wobei ich auf chrissis099 Tip hinweisen möchte, es funktionier wunderbar mit der "fliegenden Verbindung", leider kein beseres Ergebnis. Es ist zum Verzweifel.

    Mit den besten Grüßen Hans

  7. #37
    Kabelträger
    Registriert seit
    29.12.2016
    Alter
    67
    Beiträge
    17
    Hallo Dino,

    danke für Deinen Hinweis, mit der stabielen Spannung. Die Spannungsversorgung ist folgendermaßen.
    Der Prozessor sitz auf einer Experimentierplatine mit einer Spannungsversorgung aus einem Steckernetzteil 12V/3A stabilisiert.
    Das Display bekommt 5V aus einem stabilisierten Labornetzgerät mit eingestellter Strombegrenzung 300mA.
    Könnte es sein, daß 2 unterschiedliche Spannungsversorgungen nicht so optimal sind?

    Gruß

  8. #38
    Moderator Avatar von Trexis5
    Registriert seit
    02.11.2016
    Ort
    Neu-Ulm
    Beiträge
    112
    Zwei verschiedene Netzteile sind nicht optimal.
    Gemeinsammes Massepotential wäre besser.
    Oder du nimmst das 5Volt Netzteil und versorgst alles, der Atmel kann 5Volt vertragen.
    Gruß Holger
    link zu mir..

  9. #39
    Kabelträger
    Registriert seit
    29.12.2016
    Alter
    67
    Beiträge
    17
    An Alle die hier dabei waren,
    das Display zeigt jetzt das an was wir alle erwartet haben. Ich hatte in meiner Beschreibung des Problems versäumt zu erwähnen, daß die Schaltung von zwei verschiedenen Netzteilen versorgt wird. Das war der Fehler. Der entscheidene Hinweis kam von Dino03 (Spannungsstabilität), da viel es mir wie Schuppen von den Augen, daß so etwas Murks ist. Dann der Hinweis von Trexis5, daß der avr die 5V verträgt. 2 seperate Strippen dran und gut war es. Auch meinen besonderen Dank an redfred, für seine Ausdauer und Zeit für die Problemfindung. Ich bedanke mich bei Euch allen. Nun kommt der viel schwierigere Teil für mich, das Programm. Ich glaube Ihr hört noch einmal von mir.
    Mit den besten Grüßen Hans

  10. #40
    Neuer Benutzer
    Registriert seit
    02.11.2016
    Beiträge
    54
    Hallo Hans,

    danke für Geständnis. So etwas kommt ja selten vor wenn ein TO solch eine Fehlerquelle einbaut.
    Zwei Spannungsquellen geht schon dann aber muss der Bezugspunkt in deinem Fall GND(Masse) auch direkt für alle Pesreferieren auf einen Punkt sein.

    Bestimmt wirst du für deine Antwort auch von anderen Helfern ein Kopfnicken erhalten.
    Natürlich vorab ein kleines lächeln.
    Glaub mir der schwierige Teil ist nicht die Programmierung im Amateurbereich. Meist liegt der Ansatzfehler in der Hardware.
    Wenn nicht so grob wie in diesem Fall, kann man mit der Software schon einiges koregieren aber niemals die Physik austricksen.

    Schreibe extra leise muss ja nicht jeder hören, der schlampige Hardwareaufbau war anno auch meine Problem für Misserfolge.

    Gleich noch ein Tipp.
    Für solche Versuchsaufbauten nutze ich auch ein Eigenbau Labornetzteil mit Strombegrenzung(ist nicht nur zum Schutz, sonder ich weis auch wie viel Strom gezogen wird. JA nur wenn mal alles funktioniert.
    Nun kommt der eigentliche Tipp:
    Ein paar kleine Spannungsregler beim Chinamann gekauft(wegen Verlustleistung, Baugröße und Kosten) Einfach bei ein paar die Eingänge parallel geschalten und die Ausgangspannung eingestellt....

    Daten:
    Ue 4-34 Volt
    Ua 1,2 –30 Volt
    Strom 2A(3A peak)
    Funktionieren zuverlässig.

    P.S Letztes Projekt war eine größere MSR- Alarmanlage für Wohnmobil. (passt doch zum Thema)
    Benötigte 12 Volt für Relaismodul, 5 Volt für Controller und 3,3 Volt für TFT Display.
    Wichtig war die Schwankungen der Bordspannung abzufangen.
    Somit 2 Laderegler für gigantische Kosten von 4 Euro(für beide) eingebaut.

    So nun möchte ich dich nicht weiter belästigen und viel Erfolg für dein Projekt wünschen.

    Gruß
    Fred

Lesezeichen

Lesezeichen

Berechtigungen

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