ATmega8 und LCD

andreas_z

Neues Mitglied
22. Feb. 2010
17
0
0
Sprachen
Hallo Leute.

ich habe hier ein Problem welches scheinbar schon viele hatten.

ich versuche ein 16 *2 LCD Display mit einem Atmega 8 und Bascom zum laufen zu bringen...

Alle Belegungen sind definitiv richtig...
aber das verfluchte display rührt sich gar nicht....


woran kann das liegen??
ich habe mir sogar aus dem bascom avr kurs das hallo welt program reingeholt und da passiert auch gar nichts....

wo zwischen den ohren liegt den mein fehler???

danke
 
Hallo Andreas_z!

Erst einmal....
Willkommen im AVR-Praxis Forum! :ciao:

Aus deiner kurzen Beschreibung kann ich leider auch nicht ersehen, warum dein Display nichts anzeigt.
Es kommen dafür einfach viel zu viele Möglichkeiten in Betracht. ;)

Zur erfolgreichen Hilfe wären daher einige Infos noch von Nöten....
Als da wären:
-dein aktueller (!) Anschlussplan bzw. Schaltplan
-dein derzeitiger Programmcode
-dein Display (Typ, Controller und ggf. Datenblatt)

Nach der Durchsicht dieser Unterlagen können wir dir dann aber bestimmt helfen.


Ach so....
Es wäre auch schön, wenn du im "Vorstellungsthread" einmal kurz etwas zu deiner Person und der Vorbildung in Sachen Elektronik und Mikrocontroller schrieben würdest.
So wissen wir auch gleich, WIE wir dir etwas erklären müssen und gehen nicht von Selbstverständlichkeiten aus, die für dich sonst noch Neuland wären.... bzw. umgekehrt. ;)

Schöne Grüße,
Cassio
 
Hallo und danke für das willkommen...

also ich bin kom. elektroniker und setze den den atmega8 auch beruflich in steuerungen ein ein.

Nutze diesen aber ausschließlich ohne lcd.
arbeite dort hauptsächlich über adc-werte mit dem uC.

wollte jetzt mal mit lcd displays spielen und habe zum anfang versucht nach einer anleitung zu probieren...

http://halvar.at/elektronik/kleiner_bascom_avr_kurs/lcd_textanzeige/
( normalerweise finde ich diese beschreibung gar nicht schlecht)

als display habe ich ein conradteil geholt. artnr 183342 .
ist ein Anag Vision AV1624.

lt. Datenblatt passen die belegung und die beschreibung von diesem AVR kurs 1:1 zusammen.

ich habe schon alle möglichen sachen versucht, aber das display rührt sich gar nicht.
dachte schon das ich es kaputt gemacht habe, aber auch ein zweites funktioniert genauso wenig:stupido3:
 
Hi,

Laut Datenblatt liegt die LCD-Kontrastspannnung Vo zwischen 3,5..4,2V
Das erreichst du aber nicht wenn du das Poti (2,5k) wie im Schaltplan
mit nem 10k nach +5V legst. Nimm mal nen 10k Poti oder 20k oder 50k Poti
und leg es direkt zwischen GND und +5V. Dann sollte man auch was sehen.

Gruß
Dino
 
Hallo Andreas_z!

Da du dich mit AVRs und dessen Programmierung ja schon länger auskennst, würde mir spontan auch nur der Kontrast einfallen.

Kannst du den Kontrast denn soweit aufdrehen, dass alle Pixel zu sehen sind?
Dies muss immer funktionieren... auch wenn das Display gar nicht weiter angeschossen ist.

Dann wäre da noch der Anschluss.... sicherheitshalber noch mal alle Leitungen kontrollieren bzw. durchmessen.

Die FUSES und der Quarz sind aber richtig eingestellt, oder?
Lass doch einfach mal an einem Ausgang eine LED jede Sekunde toggeln.
So hast du gleich die Kontrolle, ob dein Programm abgearbeitet wird und die Zeiten stimmen. ;)

Damit wir aber ggf. andere Fehler ausschließen können wäre es vorteilhaft, wenn du dein aktuelles Programm hier doch einmal einstellen würdest.
Nutz dafür einfach diesen-->
code.gif
Button (oben in der Toolleiste).

Gruß,
Cassio
 
Hallo
hier erstmal das Programm

Code:
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 100
$swstack = 100
$framesize = 100

Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 16 * 2
Cursor Off

Dim Initcounter As Byte
Dim Bt As Byte
Dim S As String * 2
Do

For Initcounter = 1 To 36
Cls
Locate 1 , 1
Lcd "hallo welt"
Locate 2 , 1
Lcd "servus"

For Bt = 1 To 99
S = Str(bt)
S = Format(s , 00)

Locate 1 , 15
Lcd S
Wait 1
Next Bt
If Initcounter = 36 Then
Initlcd
End If
Next Initcounter

Loop
End

habe auch das poti gegen 10 k getauscht und es rührt sich gar nichts...
bekomme auch die dots nicht angezeigt...

habe jetzt auch noch ein neues display probiert und gar nichts...
kann ja kaum sein das ich nur kaputte displays kaufe, oder???

Normalerweise kann es doch gar nicht so kompliziert sein ein display zum laufen zu bringen
 
werde mir nachher nochmal schnell ein zweites netzteil mit nem lm317 statt poti reinbasteln und dann mal schauen ob sich was tut
 
werde mir nachher nochmal schnell ein zweites netzteil mit nem lm317 statt poti reinbasteln und dann mal schauen ob sich was tut
Bei mir hängen teilweise 50k-Potis an den Vee/V0-Anschlüssen für den Kontrast.
Das sind ganz kleine Ströme die da gebraucht werden. Der LM317 ist totaler
Overkill dafür ;)

Da ist bestimmt nen Verdrahtungsfehler drin. Das Display muß mit Saft und der
richtigen Kontrastspannung die Characterstellen anzeigen. Je nach Kontrast
sind sie weg oder schwarze Blöcke. Das geht auch komplett ohne den Atmel.

Gruß
Dino
 
so....
habe jetzt nochmal ein 10 k poti eingesetzt und zumindest sind jetzt bei vollanschlag alle dots schwarz.

aber der keinerlei anzeige und erst recht kein 'hallo welt'
 
Hallo Andreas_z !

Na, dass ist doch schon mal ein Fortschritt. :)

Der Kontrast funktioniert nun.... aber das Display zeigt immer noch nichts an. :hmmmm:

Das Beispielprogramm sieht in Ordnung aus und wenn du dein Display genauso angeschlossen hast, wie im Code angegeben, dann sollte es auch etwas anzeigen.

Softwareseitig (sofern die Quarzeinstellung OK ist) würde ich den Fehler nun nicht mehr unbedingt suchen.
Ich denke mal, dass irgendetwas mit dem Anschluss nicht stimmt.
Hast du die ersten vier Datenbits des Displays auch wirklich auf Masse?

Ach so....
In BASCOM kann man unter "Optionen"-->"Umgebung"-->"Compiler"-->"LCD" die Pineinstellungen für das Display vornehmen.
Ich nutze dies zwar persönlich nicht, aber es wurde hier schon davon berichtet, dass nach dem Anpassen der Einträge das Display plötzlich funktioniert hat.
Vielleicht hilft es dir ja auch weiter, wenn du es mal anpasst.
Normalerweise reicht es aber aus, wenn du die Pinangaben im Programmcode vornimmst!.

Gruß,
Cassio
 
Guten Morgen,

Bei mir hängen teilweise 50k-Potis an den Vee/V0-Anschlüssen für den Kontrast.
Das sind ganz kleine Ströme die da gebraucht werden. Der LM317 ist totaler
Overkill dafür
stimmt. Ich habe auch verschiedene Potis ausprobiert. Mit einem 10K- Poti (Bourns, 25-Gang) geht's gut.
Auch bei der event. vorhandenen Hintergrundbeleuchtung einfach ausprobieren. Da habe ich z. Zt den LM317 im Einsatz. Der ziemlich hohe Strombedarf von 260mA wird über einen R mit 3.9Ohm begrenzt und dahinter ein 1K- Poti. Die HB lässt sich so ganz gut regeln. Spannungsversorgung 9V -> Diode = 5.5V am Ausgang des 317 -> Poti = 4.2V am Display. Endlich hat mal was nach Datenblatt funktioniert;).
Doch nicht am DB festbeissen. So empfindlich sind die LCD's nicht, einfach probieren, falls das Ergebnis nicht wie erwartet ausfällt.
Das habe ich - allgemein - schon des Öfteren festsstellen können. Datenblatt/ Rechnen und Praxis gehen doch zuweilen etwas auseinander.


Grüsse,

Michael
 
hallo cassio,

das mit den pin einstellungen habe ich schon in einem anderen beitrag gelesen und habe die pins dort in bascom angegeben...

DB1 bis 4 liegen auf GND..


also sollte sich was tun...

tut sich aber nichts....
 
Hallo andreas_z,

Auch von mir ein herzliches Willkommen.

Die angegeben Kontrastspannungen stimmen bzw. passen nicht immer. Dreh doch einfach mal weiter gegen +5V. Oder - versuch' s in die Gegenrichtung. Hast Du R/W an 0V angelegt? Kannst Du den Hintergrund beleuchtung? Hast Du vielleicht - wie bei mir - einen Kabelbruch?
Nicht aufgeben!:)


Grüsse,

Michael
 
R/W liegt an GND...
den Kontrast bekomme ich jetzt ja hin aber ansonsten tut das Display nichts.
Hintergrundbeleuchtung funktioniert auch nicht, egal wie ich Potis stelle, aber die Hintergrundbeleuchtung interessiert mich erst wenn ich das Display dazu bekomme irgendwas anzuzeigen ....

alle Leitungen komplett durchgeklingelt, sind daher weder Kabelbruch noch falsch angeschlossen...

langsam bekomme ich Lust das Teil an die Wand zu werfen.

(Habe früher Radergeräte repariert.... war einfacher)
 
Hi andreas_z,
langsam bekomme ich Lust das Teil an die Wand zu werfen.

das kann ich nachvollziehen. War ich nauch kurz davor, bis ich den Kabelbruch bemerkte. Genauer: Der Draht war in der Pfostenbuchse gebrochen!
Wie hast Du die Verbindungen vom LCD zum Atmel geschaltet? Bei den Buchen z. Bs. kann man sich mit den Pins schon mal vertun.

Was mir vor dem Verschrotten noch einfällt:
Ist Dein Port auf Ausgang geschaltet? Fehlt in Deinem Code- Beispiel. Soll die Routine zwar erledigen, aber...
Auch wenn es in diversen Programmbeispielen nicht drin steht, ich schalte die Ports immer in die entsprechende Richtung, auch die, die ich nicht verwende.
Funktioniert auch das nicht, stell doch bitte mal die Schaltung ein.

Grüsse,

Michael
 
Hi andreas_z,

Hintergrundbeleuchtung funktioniert auch nicht

Hast Du die an VDD und damit vielleicht sogar über den Atmel angeschlossen? Auch wenn es im Datenblatt steht - abklemmen. Andere haben eine andere Meinung, ich nehme immer eine externe SV über einen LM317 mit Strombegerenzungs- Widerstand. Die Beleuchtungen ziehen bis zu 320mA, je nach Modell.
Hoffentlich hast Du nicht den Atmel geschreddert....
Bringt das alles nichts: Rufe den Herrn der LCD's noch mal :rolleyes:


Grüsse,

Michael
 
so hier ist mal der schaltplan von meinem Versuchsaufbau

habe extra paar mehr klemmleisten genommen um zu spielen....
 

Anhänge

  • Mega8_zint_lcd.pdf
    32,5 KB · Aufrufe: 45
und die hintergrund beleuchtung habe ich gar nicht angeschlossen...

die anzeige sollte eigendlich ja auch so funktionieren...

habe aber gelsen das dieses display einen KS0066 Controller haben soll...
der soll zwar kompatibel sein, aber irgendwie muss der anders initialisiert werden habe ich in einem anderen forum gelsen????

kann das sein??
 
Hi,

dann schreib doch nach der LCD- Konfiguration: INITLCD.

Pause bis heute Abend.


Grüsse,

Michael
 
Hallo Andreas!

Ich habe mir deinen Schaltplan mal angesehen....
Sieht ja ganz ordentlich aus, jedoch habe ich mit dem LCD-Anschluss so meine Proleme.
Irgendwie kann ich nicht wirklich nachvollziehen, wie du das Display nun angeschlossen hast. :hmmmm:

Habe eben auch noch mal nachgesehen....
Es hat tatsächlich einen KS0066 Controller. :eek:

Das Thema hatten wir hier schon einmal...
Schau doch mal HIER. ;)


Gruß,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)