Hallo
ich versuche gerade ein 2x16 lcd am atmega mit bascom zum laufen zu
bringen
http://www.watterott.com/de/Basic-16x2-Character-LCD-Amber-on-Black-33V
Aus dem datasheet habe ich oben den screenshot angehängt. Sehe ich das
richtig das ich ein Potentiometer von 10-20 Kilo Ohm brauche um die
richtige Kontrast Spannung anzulegen ?
gruß
Jörg Meißer schrieb:> und sonst bekomme ich nichts angezeigt, bzw wenn ich am Vcc lege bekomme> ich auch keine anzeige auf dem LCD ?
NEIN
Du kannst mit Spannungsteilern experimentieren wenn du willst.
Du siehst das richtig. 10k bis 20k sind OK, 25k gehen auch noch.
Leider ist die Kontrastspannung temperaturabhängig, daher
nimm lieber ein Poti. Später tun es evtl. auch Festwiderstände.
Für den Anschluß des Potis bitte immer ins DB schauen,
da gibt es abhängig vom LCD-Controller Unterschiede.
Schönes Wochenende!
Ich glaube so 1-1,5 Volt so in dem Bereich soll die liegen. Aber das
musst du dann nochmal genauer nachgucken. Ein Poti ist definitiv
einfacher weil du da so lange schrauben kannst bist du was siehst.
Jörg Meißer schrieb:> aber 10-20 ist doch ein riesen unterschied, kann ich dann die volle bzw> wenigste Kontrast nur mit dem 20 K Ohm erreichen ?
Das Absolutwert des Poti hat da keinen großen Einfluss drauf. Schau dir
eventuell mal an wie ein Poti bzw. ein Spannungsteiler arbeiten.
so jetzt habe ich es angeschlossen.
Der einzelne pin geht ja an gnd und die anderen zwischen contrasst und
VCC ?
das einzige was passiert ist wenn ich ganz in eine richtung drehe gehts
komplett aus und sonst passiert nicht und ich sehe auch keine buchstaben
auf dem lcd ?
Jörg Meißer schrieb:> kann es sein das das lcd nicht mit bascom kompatibel ist ?
Das glaube ich nicht. Ich denke, es liegt ein Anschlussproblem vor. Als
erstes würde ich, wie angedeutet, die Spannung überprüfen. Es ist eher
selten, dass ein Einsteiger ein 3.3V System besitzt.
Jörg Meißer schrieb:> kann ich denn nicht direkt das programm von halvar übernehmen ? der> hatte auch einen atmega 8 , bzw muss ich crystall auch anpassen ?
Schau, dein Problem ist, du kannst noch nichtmal die Grundlagen. Das
zeigen deine Fragen deutlich. Aber ohne diese Grundlagen ist es nicht
ratsam sich gleich an ein LCD zu machen. Auch Beispiele aus dem Netz
benötigen ein Mindesmaß an Vertändniss. z.B. wegen dem Anschluss der
Hardware und den Fuses. Also tu uns allen doch einen gefallen und
arbeite dich etwas in die Grundlagen ein und versuchs dann nochmal mit
dem LCD.
gruß cyblord
Gut, wenn man in das Datenblatt des LCDs schaut, darf die "H Level Input
Voltage" nicht größer als Vdd sein.
Überprüfe noch einmal alle Anschlüsse. Üblicherweise betreibt man die
LCDs im 4-Bit Modus (D4-7), dazu noch RS + E an den µC anschließen. Wenn
Du ein Schaltplan + BASCOM Code zeigst, kann ich mal nachsehen.
Jörg Meißer schrieb:> bzw muss ich crystall auch anpassen ?
Ich kenne BASCOM und Halvar nicht. Aber in jedem Fall muss die Hardware
und seine Einstellung (Fuses) mit den Angaben in der Software
übereinstimmen, wenn dort Wartezeiten per SW erzeugt werden.
Gruß Dietrich
Jörg Meißer schrieb:> kann ich denn nicht direkt das programm von halvar übernehmen ? der> hatte auch einen atmega 8 , bzw muss ich crystall auch anpassen ?
Wenn dein System genauso aufgebaut ist und dein ATmega8 mit der selben
Frequenz läuft (Quarz, Fuses), sollte das funktionieren. Sonst eher
nicht.
Entspricht der Wert in DEINER $crystal Variable der tatsächlichen
Taktrate DEINES Controllers?
Inklusive CKDIV8 Fuse usw.
Falls deine verwendete lib allerdings Delays direkt aus
Schleifendurchläufen generiert würde dir das auch nichts bringen, falls
deine Taktrate mit der aus der lib nicht übereinstimmt.
gruß cyblord
Ich denke, das stimmt schon, wenn ich mir das Datenblatt so ansehe.
Damit komme ich aber zu meiner ursprünglichen Überlegung, ob die Pegel
stimmen, zurück. Ein ATmega8 läuft nicht mit 3.3V.
ich habe 3,4 am LCD
und 4,3 am Atmega anliegen
Wenn ich am Kontrast poti drehe kommt werden bei einer bestimmten
stellung kurz an paar kästchen schwarz ist das normal ?
möchte vlt mal jemand über meine schaltung schauen ?
hier habe ich ein bild gemacht in hoher auflösung :
http://s14.directupload.net/file/d/2825/6uv6j8bi_jpg.htm
Jörg Meißer schrieb:> ich habe 3,4 am LCD> und 4,3 am Atmega anliegen
Das ist lt. Datenblatt des LCD nicht erlaubt. Die Signalspannungen
dürfen die Versorgunsspannung des LCD nicht überschreiten. Ob das jetzt
zu dem beobachteten Effekt führen kann, ist eine andere Frage. Aber
abstellen solltest Du das schon.
Wie wäre es, den Atmega auch mit 3,3V zu versorgen? Ich weiß allerdings
nicht, welchen Typ Du hast und ob er bei 3,3V die Frequenz zulässt.
Gruß Dietrich
Darauf, dass ein ATmega8 (soweit er bei Deinem Board verbaut ist) nicht
mit 3.3 V läuft. Es sei denn es gäbe einen 3.3 V nach 5 V Wandler. Dann
wären aber die 5 V Signalpegel des µCs zu hoch für das LCD.
Also Deine LCD scheint ein absolut normales LCD Display zu sein, also
mit 5 V .
Ich habe auch mit der Schaltungen und Bsp vom Halvar angefangen, sie
haben ohne Probleme gefunzt. Leider kann man bei Deinem Aufbau nichts
erkennen wo was hingeht.
Zeiche mal einen Schaltplan, wie Du aufgebaut hast und nicht wie es
aussehen sollte !
Hi
>Also Deine LCD scheint ein absolut normales LCD Display zu sein, also>mit 5 V .
Schon gelesen:
Produktbeschreibung
16x2 Zeichen LCD - Orange auf Schwarz 3.3V
?
MfG Spess
Hi
Noch was
>Guck nochmal richtig nach..>http://halvar.at/elektronik/kleiner_bascom_avr_kur...
Die Datenleitungen vom HD44780 und kompatiblen Displaycontroller haben
interne Pull-Up-Widerstände. Also lässt man die entweder frei oder legt
sie per externen Pull-Up an VCC. Der Anschluss an GND ist Müll.
MfG Spess
Jörg Meißer schrieb:> so jetzt habe ich es angeschlossen.>> Der einzelne pin geht ja an gnd und die anderen zwischen contrasst und> VCC ?
Ich hab jetzt die restlichen Beiträge nur überflogen.
Hast du das mitlerweile umgebaut?
Das ist nämlich falsch!
Der einzelne Pin geht zum Kontrastanschluss des LCD.
Kein Wunder, dass bei dir alles ausgeht, wenn du den SChleifer an ein
Ende drehst. Du baust damit einen satten Kurzschluss.
(auf deinem Bild ist das immer noch falsch. Und das nächste mal bitte
nicht 1.6MB für ein Photo. Das kann man auch kleiner machen)
Spess :
Mag sein, auf dem Steckbrett lasse ich auch offen, aber wenn ich die
Displays auf geätze Platine verbauen, lege ich sie schon an..
Ich glaube aber unser Jörg hat das Problem woanders.
> Der einzelne Pin geht zum Kontrastanschluss des LCD.> Kein Wunder, dass bei dir alles ausgeht, wenn du den SChleifer an ein> Ende drehst. Du baust damit einen satten Kurzschluss.
und bei den anderen zwei ist egal welcher vvc oder gnd ?
Jörg Meißer schrieb:>> Der einzelne Pin geht zum Kontrastanschluss des LCD.>> Kein Wunder, dass bei dir alles ausgeht, wenn du den SChleifer an ein>> Ende drehst. Du baust damit einen satten Kurzschluss.>> und bei den anderen zwei ist egal welcher vvc oder gnd ?
Ja.
Ein Widerstand ist kein gerichtetes Bauteil. Und ein Poti ist nichts
anderes als ein Widerstand (mit den Endpunkten an den beiden beieinander
liegenden Pins) und einem Abgriff (der einzelne Pin) mit dem man das
Verhältnis der beiden Widerstände über und unter dem Abgriff verändern
kann.
Hast du denn kein Voltmeter, dass du mal nachmessen kannst, was du da
eigentlich aufbaust?
Jörg Meißer schrieb:> die 4 freien Eingänge weil ich mit 4 bit ansteuere muss ich ja nicht> unbedingt nach gnd schalten oder ?
Nein, dass musst du nicht machen!
Intern hat der HD44780 einen Pull-up. D.h. ein nach GND schalten bewirkt
nur einen minimal erhöhten Stromverbrauch.
mfg
Benny
Jetzt drehst du erst mal am Poti, bis du eine der beiden Zeilen dunkel
sehen kannst. das Poti wird dabei fast an einem der beiden Endstellungen
sein (am GND Ende)
Dort belässt du es erst mal, dann sollte der Kontrast soweit fürs erste
stimmen. Genauer eingestellt wird er, wenn die ersten Zeichen zu sehen
sind.
natürlich hab ich vorher am poti gedreht ;-)
kurz vorm linken anschlag wird das display dunkel und am rechten
Anschlag werden ein paar Kästchen für kurze zeit hell und dann wieder
dunkel
> natürlich hab ich vorher am poti gedreht ;-)
Wer es schafft einen simplen Spannungsteiler, nahezu das Banalste vom
Banalen, falsch rum aufzubauen, dem trau ich alles zu :-)
OK. du hast ein negatives LCD.
Lass das Poti dort wo du die einzelne Zeile erkennen kannst. Bei dir
müsste das sein: hell
Ja das wird schwierig. Aber das Problem hatte ich ja weiter oben bereits
angesprochen.
Welche Spannungen liegen denn so am Kontrasteingang an? Mess das mal.
Und kontrolliere ob das Poti korrekt angeschlossen ist.
Die Spannung am Kontransteingang muss sich durchgehend von 0 - VCC
verändern wenn du am Poti drehst.
Jörg Meißer schrieb:> ja aber ich habe doch zwei verschiedene spannungen ?
Ich schlage vor, Du holst Dir erste einmal ein billiges 5V 16x2 LCD. Da
passt die Spannung des LCDs zu Deinem ATmega. Die Spannungen sollten auf
jeden Fall einheitlich sein oder sagt Dir der Begriff Pegelwandler
etwas? Davon würde ich als Einsteiger die Finger lassen.
Hi
>Ich schlage vor, Du holst Dir erste einmal ein billiges 5V 16x2 LCD. Da>passt die Spannung des LCDs zu Deinem ATmega. Die Spannungen sollten auf>jeden Fall einheitlich sein ...
Genau so wichtig ist eine ordentliche Stromversorgung. Wenn ich das Lese
>ich habe 3,4 am LCD>und 4,3 am Atmega anliegen
dann wird er auch mit einem 5V Display Probleme haben.
MfG Spess
Zum teste habe ich jetzt folgendes Programm geschrieben :
1
$regfile "m8def.dat"
2
$crystal = 3686400
3
Config Portd.1 = Output
4
Config Portd.3 = Output
5
Config Portd.2 = Output
6
Config Pind.6 = Input
7
8
Portd.1 = 0
9
Portd.2 = 0
10
Portd.3 = 0
11
12
Do
13
14
If Pind.6 = 0 Then
15
16
Toggle Portd.1
17
Waitms 100
18
Toggle Portd.2
19
Waitms 100
20
Toggle Portd.3
21
Waitms 100
22
23
End If
24
25
If Pind.6 = 1 Then
26
27
Toggle Portd.1
28
Waitms 100
29
30
End If
31
Loop
32
End
Ich habe noch nicht mal an D6 etwas angeschlossen. Die D1 LED blinkt die
ganze zeit, und ohne das ich irgendwas mache gehen die D2 & D3 in
unregelmäßigen zeitabständen an, bleiben ne zeitlang an und gehen wieder
aus.
Dann ist doch irgendwas mit dem Board nicht in ordnung oder ??
Jörg Meißer schrieb:> Dann ist doch irgendwas mit dem Board nicht in ordnung oder ??
Dann erzähl mal was über das Board bzw. zeigt mal die (komplette)
Schaltung!
Gruß Dietrich
Jörg Meißer schrieb:> Ich habe noch nicht mal an D6 etwas angeschlossen. Die D1 LED blinkt die> ganze zeit, und ohne das ich irgendwas mache gehen die D2 & D3 in> unregelmäßigen zeitabständen an, bleiben ne zeitlang an und gehen wieder> aus.
Ein nicht beschalteter Eingang ist sehr hochohmig. Der Zustand ist
undefiniert und kann sich bei Annähern mit der Hand ändern. Das
Verhalten kann also richtig sein.
Du brauchst einen Pullup- oder Pulldown-Widerstand!
Jörg Meißer schrieb:> Wenn ich an D6 Spannung anlege Blinkt LED1 weiter
Das soll es doch:
If Pind.6 = 1 Then Toggle Portd.1
> und LED2+LED3 brennen durchgehend ??
Das kann ja (zufällig) aus der Vergangenheit so sein, da die Bedingung,
bei der diese LEDs geändert werden, nicht mehr erfüllt ist:
If Pind.6 = 0 Then ...
Gruß Dietrich
Jörg Meißer schrieb:> Ich habe noch nicht mal an D6 etwas angeschlossen.
Ja, Du musst irgendetwas (0 = GND oder 1 = +5V/3.3V) vorgeben. Ich würde
einen Taster (Schalter) nach GND + Pullup (10K) nach +5(3.3) V an D.6
anschließen. Beobachte, was beim gedrückt halten des Tasters (umschalten
des Schalters) passiert.
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
Eine LED genügt auch für den Anfang.
Lieferzeit bis zu 26 tage oO
ich werd mir ein einen frischen atmega holen und ein neues display und
dann schauen ob es funktioniert. Irgendwo muss ja der wurm drin sein .
Thomas der Bastler schrieb:> Super Tipp danke dann hole ich ca 19 Stck auf reserve !!
Mach ich immer so, dass ich die auf Vorrat bestelle. Bei 2-4 Wochen
Lieferzeit kann man halt nicht anders.
Und diese blauen LCD sind qualitativ wirklich gut. Der Rahmen ist aus
Metall, die Anschlüsse sauber beschriftet, alles nach Standard, keine
Extrawürste bei der Pinbelegung oder der Ansteuerung.
2,54mm Stiftleisten passen durch (manchmal haben die Kontakte nur
Dukos).
Einziges Manko der weißt auf blau LCDs allgemein: Ohne Beleuchtung sieht
man nicht viel, also diese Displays sind dafür gedacht immer mit
Beleuchtung betrieben zu werden. Normale LCD kann man ja auch gut ohne
betreiben.
gruß cyblord
Die sind auch meine lieblibgs LCDs, Ich hatte vor einige Zeit bei Zyscom
in Polen, genau die gleichen geholt für glaube 2 Euro oder so, aber das
Angebot gibt es nicht.
Oder ich frage den einen Typ, von dem ich auch was in HongKong bestellen
will, was bei ihm Kostet. Er betreibt auch einen Shop in Shenzen
Wenn man nachfragt, bekommt man teilweise ( ich ) bessere Preise.
Er hat viel Audio Sachen.
http://stores.ebay.de/HiAmplifier-Audio-Store?_trksid=p4340.l2563
Thomas der Bastler schrieb:> Die sind auch meine lieblibgs LCDs, Ich hatte vor einige Zeit bei Zyscom> in Polen, genau die gleichen geholt für glaube 2 Euro oder so, aber das> Angebot gibt es nicht.
Also Zyscom hat lächerliche Preise für LCDs auf eBay. Dazu horrende
Versandkosten. Da kann man ja gleich bei reichelt bestellen und fährt
immernoch nicht teuerer.
Und da sollen die die blauen LCDs für 2 Euro abgeben? Halte ich für
unwahrscheinlich.
gruß cyblord
cyblord ---- schrieb:> Und das ist seriös. Dort kaufe ich immer meine Displays.> Noch billiger gehts, wenn man den 5er Pack vom gleichen Händler holt.
Da wir sowieso schon OT sind. Kann ich bestätigen, der Händler ist
zuverlässig. Allerdings sollt man etwas Geduld haben, die Lieferung
dauert recht lang, liegt aber im Rahmen der Lieferzeiten der günstigen
Anbieter aus China.
@Jörg nochmal:
Erstmal zu Deinem AVR-Board: Dass ich es kenne, ist zuviel gesagt, aber
ein Kollege werkelt damit. Von ihm die Empfehlung, bei Experimenten die
5V/3V-Lötaugen zu ignorieren und die Schaltung immer aus einem
USB-Netzteil zu versorgen. Damit läuft das Board solo auf jeden Fall,
und wenn extern was faul ist, geht nicht gleich so viel kaputt.
Dann zu Deinem LED-Blinker-Code: Wenn Du vor dem "Do" noch ein "Portd.6
= 1" einfügst, aktivierst Du den internen Pullup für Pind6 - und erhälst
dann bei offenem Pin so lange If Pind.6 = 1, bis Du extern explizit
einen Draht nach Ground (Minus) steckst.
Und schließlich zu Deinem Aufbau mit dem LCD: Nach dem Foto würde ich
sagen, dass Du die Pinreihenfolge verdreht hast. Pin 1 ist der neben dem
Befestigungloch.
Beste Grüße