Hallo, habe mir ein Lcd Display bei Amazon gekauft(http://www.amazon.de/HD44780-Module-Display-Anzeigen-Zeichen/dp/B009GEPZRE/ref=cm_cr_pr_product_top?ie=UTF8&colid=3111L7ZK065AX&coliid=I2N9JBUN7ODL00). Ich habe dann LCD Libary von LCD Peter Fleury geladen und das alles in ein Projekt eingefügt. In der lcd.h habe ich folgendes gesetzt: #define XTAL 16000000 #define LCD_IO_MODE 1 #define LCD_PORT PORTD Avr und Display sind wie folgt verbunden: PD0 -> Pin11 PD1 -> Pin12 PD2 -> Pin13 PD3 -> Pin14 PD4 -> Pin4 PD5 -> Pin5 PD6 -> Pin6 Versorgungsspannung ist am Display angeschlossen und auch der Kontrast ist eigenstellt. Das Projekt wird ohne Probleme kompiliert und auf den AVR geladen. solange der AVR nocht nicht läuft, zeigt das Display die obere Zeile an(16Kästen). Schaltet man jetzt den AVR an, dann erscheint auch die 2. Zeile, allerdings wird der Kontrast dann total schelcht, so dass man die beiden nur schwer erkennen kann. In beiden steht aber kein Text, sondern nur 16 Kästchen eben. Woran liegt das denn? Wie kann mein AVR den Kontrast verändern? der Wird doch über ein Poti an Pin3 eingestellt oder liege ich da falsch? Habe ich hier irgend etwas Falsch verkabelt? oder in lcd.h falsch eingestellt? Ich verwende Eclipse mit dem AVR Plugin und das STK500. Die Verbindungen für die Pins wurden über die EXPAND1 Buchse des STK500 angeschlossen. Der verwendete AVR ist ein ATMEGA515 (derjenige, der beim kauf im STK500 bereits drinne steckt) Wäre schön, wenn mir hier jemand weiterhelfen könnte, da ich meinen Fehler bei der Sache seit Stunden nicht finden kann.... Schöne Grüße Florian
Hi >Wie kann mein AVR den Kontrast verändern? der Wird doch über ein Poti an >Pin3 eingestellt oder liege ich da falsch? Ja. Aber wie hast du das Poti angeschlossen? MfG Spess
Florian schrieb: > und auch der Kontrast > ist eigenstellt. > Wie kann mein AVR den Kontrast verändern? der Wird doch über ein Poti an > Pin3 eingestellt oder liege ich da falsch? Wie jetzt? Hast du da ein Poti dran o. nicht? Richtig einstellen macht erst nach der Initialisierung Sinn.
Hi
Das Ja bezog sich auf
>der Wird doch über ein Poti an Pin3 eingestellt
MfG Spess
Spess53 schrieb: > Hi > >>Wie kann mein AVR den Kontrast verändern? der Wird doch über ein Poti an >>Pin3 eingestellt oder liege ich da falsch? > > Ja. Aber wie hast du das Poti angeschlossen? > > MfG Spess +5V-----| |---Pin 3 GND-----| Habe ḿal versucht es auf zu zeichnen, hoffe das hilft. Bei dem Poti handelt es sich allerdings um ein 22kOhm, man sollte ja 10k verweden, habe ich aber leider nicht da. Gruß Florian
Hi
>Habe ḿal versucht es auf zu zeichnen, hoffe das hilft.
Wenn es so verschaltet ist passt das so. Ändert sich etwas, wenn du an
dem Poti drehst?
MfG Spess
Ja, es ändert sich. Allerdings nur zum schlechteren :D Das poti ist am maximalausschlag. damit ist der Kontrast ohne avr gut, sobald der dran ist, wird der Kontrast wie beschrieben sehr schlecht. Was kann ich denn da machen? Glaubst du es liegt nur am Kontrast? Sprich der AVR und das Display tun was sie sollen, nur ich kann es nicht sehen?
Florian schrieb: > Avr und Display sind wie folgt verbunden: > > PD0 -> Pin11 > PD1 -> Pin12 > PD2 -> Pin13 > PD3 -> Pin14 > PD4 -> Pin4 > PD5 -> Pin5 > PD6 -> Pin6 Das nützt nix, wenn man weder die Belegung der Display-Pins kennt noch die Konfiguration der Software. Eine echte Null-Information. > Habe ich hier irgend etwas Falsch verkabelt? oder in lcd.h falsch > eingestellt? Ganz offensichtlich. > Wäre schön, wenn mir hier jemand weiterhelfen könnte, da ich meinen > Fehler bei der Sache seit Stunden nicht finden kann.... Poste die Konfuguration der Ausgänge für die Lib, das Datenblatt des Displays und einen Schaltplan des Gesamtwerks einschließlich der Stromversorgung. Dann kann man eventuell weiterhelfen.
Hi >Ja, es ändert sich. >Allerdings nur zum schlechteren :D >Das poti ist am maximalausschlag. damit ist der Kontrast ohne avr gut, >sobald der dran ist, wird der Kontrast wie beschrieben sehr schlecht. Definiere mal 'schlecht'? >Das poti ist am maximalausschlag. Fragt sich nur an welchem. Ein nicht initialisiertes Displsy zeigt in der oberen Zeile einen Balken. Nach einer erfolgreichen Initialisierung verschwindet, bei korrekt eingestelltem Kontrest, dieser Balken. Mess mal die Spannung am Kontrasteingang. Die sollte nur ein paar 100mV, gegen GND gemessen, betragen. MfG Spess
Florian schrieb: > Das poti ist am maximalausschlag. An welchem der beiden? Es gibt Displays, die brauchen eine negative Spannung am Vee Pin (insbesondere die mit ertweitertem Temperaturbereich). Die Vee wird meist mit Bezug auf Vcc angegeben und ist negativ. Wenn dein display eine Vee von z.B. -6V will, dann brauchst du bei 5V Vcc bezogen auf Masse eine Spannung voc -1V am Vee Pin. Wie ist das bei deinem Display? Hast du da ein Datenblatt dazu?
spess53 schrieb: > Hi > >>Ja, es ändert sich. >>Allerdings nur zum schlechteren :D >>Das poti ist am maximalausschlag. damit ist der Kontrast ohne avr gut, >>sobald der dran ist, wird der Kontrast wie beschrieben sehr schlecht. > > Definiere mal 'schlecht'? > Solange kein AVR angeschlossen ist, sieht man den Balken gan eindeutig, sobald der AVR dann an ist, kann man die beiden Balken gerade so noch erkennen. >>Das poti ist am maximalausschlag. > > Fragt sich nur an welchem. > > Ein nicht initialisiertes Displsy zeigt in der oberen Zeile einen > Balken. Nach einer erfolgreichen Initialisierung verschwindet, bei > korrekt eingestelltem Kontrest, dieser Balken. > > Mess mal die Spannung am Kontrasteingang. Die sollte nur ein paar 100mV, > gegen GND gemessen, betragen. Werde ich machen, sobald ich wieder Zuahuse bin :) Ich lade dann auch mal Bilder vom Display hoch, damit man sehen kann, was ich mit "schlechtem" Kontrast meine. > > MfG Spess Danke schonmal für die hilfe :)
Lothar Miller schrieb: > Florian schrieb: >> Das poti ist am maximalausschlag. > An welchem der beiden? > Es gibt Displays, die brauchen eine negative Spannung am Vee Pin > (insbesondere die mit ertweitertem Temperaturbereich). Die Vee wird > meist mit Bezug auf Vcc angegeben und ist negativ. Wenn dein display > eine Vee von z.B. -6V will, dann brauchst du bei 5V Vcc bezogen auf > Masse eine Spannung voc -1V am Vee Pin. Wo soll man denn -1V her bekommen? > > Wie ist das bei deinem Display? Hast du da ein Datenblatt dazu? Ja, habe ich. Werde es im Laufe des Tages mal hochladen.
Florian schrieb: > Wo soll man denn -1V her bekommen? Man könnte eine Batterie einbauen... In der Praxis nimmt man aber einen Oszillator, zwei Dioden, zwei Kondensatoren: Beitrag "ICL 7660 Spannungsinverterschaltung"
Lothar Miller schrieb: > Florian schrieb: >> Wo soll man denn -1V her bekommen? > Man könnte eine Batterie einbauen... > In der Praxis nimmt man aber einen Oszillator, zwei Dioden, zwei > Kondensatoren: > Beitrag "ICL 7660 Spannungsinverterschaltung" Puh, das mit dem LCD habe ich mir dann wohl etwas einfacher vorgestellt als es ist :D Aber ohne diese Beschaltung werde ich das Teil wohl kaum vernünftig zum laufen bekommen oder?
Hi Die Kommentare in deinem Link http://www.amazon.de/HD44780-Module-Display-Anzeigen-Zeichen/dp/B009GEPZRE/ref=cm_cr_pr_product_top?ie=UTF8&colid=3111L7ZK065AX&coliid=I2N9JBUN7ODL00 deuten nicht auf eine negative Kontrastspannung hin. MfG Spess
spess53 schrieb: > Hi > > Die Kommentare in deinem Link > > http://www.amazon.de/HD44780-Module-Display-Anzeig... > > deuten nicht auf eine negative Kontrastspannung hin. > > MfG Spess dann werde ich es später mal mit einer Batterie Probieren und hoffen, dass das hiflt....
spess53 schrieb: > Die Kommentare ... > deuten nicht auf eine negative Kontrastspannung hin. Aber auf einen recht knappen Bereich um 0V:
1 | Wenn man grade kein 10k Poti zur Hand hat, kann man auch V0 an GND anschließen. |
Florian schrieb: > dann werde ich es später mal mit einer Batterie Probieren und hoffen, > dass das hiflt.... Du könntest auch einfach mal Vcc für das Display auf 5,5V hochdrehen...
Lothar Miller schrieb: > spess53 schrieb: >> Die Kommentare ... >> deuten nicht auf eine negative Kontrastspannung hin. > Aber auf einen recht knappen Bereich um 0V:Wenn man grade kein 10k Poti > zur Hand hat, kann man auch V0 an GND anschließen. Das habe ich auch versucht, damit ist der Kontrast so wie wenn ich das Poti auf Anschlag drehe. > Florian schrieb: >> dann werde ich es später mal mit einer Batterie Probieren und hoffen, >> dass das hiflt.... > Du könntest auch einfach mal Vcc für das Display auf 5,5V hochdrehen... Warum 5,5V ? steht dass da irgendwo ? :/ Bruacht das Display 5,5 und nicht 5V?
Florian schrieb: > Das habe ich auch versucht, damit ist der Kontrast so wie wenn ich das > Poti auf Anschlag drehe. Irgendwei logisch, wenn du den masseseitigen Angschlag meinst... >> Du könntest auch einfach mal Vcc für das Display auf 5,5V hochdrehen... > Warum 5,5V ? steht dass da irgendwo ? :/ Nein, man braucht dafür die Grundrechenarten + und -: > Bruacht das Display 5,5 und nicht 5V? Weil sich Vee auf Vcc bezieht, und bei Vee=-5V noch nicht ausreichend Kontrast das ist, könnte der Kontrast bei Vee=-5,5V ausreichen. Und eine Vee von -5,5V erreicht man am einfachsten, wenn man Vcc auf +5,5V erhöht...
Lothar Miller schrieb: > Florian schrieb: >> Das habe ich auch versucht, damit ist der Kontrast so wie wenn ich das >> Poti auf Anschlag drehe. > Irgendwei logisch, wenn du den masseseitigen Angschlag meinst... > Ja, und dass ist auch die Potistellung, bei der der Kontrast am besten ist. >>> Du könntest auch einfach mal Vcc für das Display auf 5,5V hochdrehen... >> Warum 5,5V ? steht dass da irgendwo ? :/ > Nein, man braucht dafür die Grundrechenarten + und -: >> Bruacht das Display 5,5 und nicht 5V? > Weil sich Vee auf Vcc bezieht, und bei Vee=-5V noch nicht ausreichend > Kontrast das ist, könnte der Kontrast bei Vee=-5,5V ausreichen. Und eine > Vee von -5,5V erreicht man am einfachsten, wenn man Vcc auf +5,5V > erhöht... Okay, das werde ich auch mal testen.... Ich habe außerdem auch schon Versucht das Display mit den Vorgaben von hier: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung zum laufen zu bekommen. Hier war der Kotrast gut, man konnte auch Zeichen lesen. Das Problem dabei war aber, dass keine Buchstaben sondern Kreise etc angezeigt wurden. Allerdings trat hier das Kontrastproblem nicht auf.....
Hi
>Allerdings trat hier das Kontrastproblem nicht auf.....
Dann hast du auch kein Problem mit dem Kontrast. Da würde ich eher auf
ein Timingproblem tippen. Mach mal die Delayzeiten größer.
MfG Spess
>>Allerdings trat hier das Kontrastproblem nicht auf..... > > Dann hast du auch kein Problem mit dem Kontrast. Da würde ich eher auf > ein Timingproblem tippen. Mach mal die Delayzeiten größer. Welche Dateien soll ich denn jetzt benutzen, die lcd.c und.h von Peter Fleury oder die aus der Anleitung hier im Forum? um wie viel soll ich die zeiten verlängern?
Florian schrieb: > um wie viel soll ich die zeiten verlängern? So, dass sie zum Datenblatt deines Displays passen... > Welche Dateien soll ich denn jetzt benutzen, die lcd.c und.h von Peter > Fleury oder die aus der Anleitung hier im Forum? Nimm die, die schon funktioniert hat, und suche den Fehler. Und zwar systematisch. Software entwickelt man nicht, indem man irgendwas irgendwo herkopiert und hofft, dass es dann geht... > Das Problem dabei war aber, dass keine Buchstaben sondern Kreise > etc angezeigt wurden. Was hast du gesendet, und was wurde angezeigt? Wurde jedesmal, wenn du ein 'a' anzeigen wolltest der selbe "Kreis" angezeigt? Findest du diesen Kreis in der Zeichentabelle des Displays? Wie passt der Wert dieses Zeichens zum Wert des Zeichens 'a'? Was passiert bei einem 'b'?
Hi >Welche Dateien soll ich denn jetzt benutzen, die lcd.c und.h von Peter >Fleury >oder die aus der Anleitung hier im Forum? Da das mit der Lib hier aus dem Forum schon fast geklappt hat, würde ich die nehmen. >um wie viel soll ich die zeiten verlängern? Kannst du ruhig mal verdoppeln. MfG Spess
>> um wie viel soll ich die zeiten verlängern? > So, dass sie zum Datenblatt deines Displays passen... >>um wie viel soll ich die zeiten verlängern? > Kannst du ruhig mal verdoppeln. Müssen die Zeiten jetzt genau auf die im Datenbaltt angegebenen abgestimmt sein oder nur mindestens so lange und danach ist es egal ob ich 2 oder 5 mal so lange warte?
Für mich hört sich das an, als ob das Display in einer Schleife ständig upgedated wird, statt statt nur einmalig bei einer Änderung.
mikel schrieb: > Für mich hört sich das an, als ob das Display in einer Schleife ständig > upgedated wird Das wäre ja ok, so mache ich das auch. Im Timertick wird jede ms 1 Zeichen rausgeschrieben. Das klappt tadellos, und es gibt keine "Zeichenleichen", für die sich keiner zuständig fühlt, die aber nie überschrieben werden... Nur darfst du das Display nicht jedesmal löschen, denn das dauert "ewig" und flackert wie die Hölle...
Hi >Müssen die Zeiten jetzt genau auf die im Datenbaltt angegebenen >abgestimmt sein Nein. Das sind die Ausführungszeiten der Befehle. Die Wartezeiten müssen größer wie die Asusführungszeiten sein. > oder nur mindestens so lange und danach ist es egal ob >ich 2 oder 5 mal so lange warte? Ja, aber du must zwischen den einzelnen Zeiten unterscheiden #define LCD_BOOTUP_MS 15 Wartezeit nach Reset. Kann beliebig groß gemacht werden #define LCD_ENABLE_US 20 Länge Enable-Impuls. Da sind 450ns Minimum. 20µs sind also mehr als genug #define LCD_WRITEDATA_US 46 #define LCD_COMMAND_US 42 Das sind die Befehle zum Schreiben der Daten und der meisten Befehle. #define LCD_CLEAR_DISPLAY_MS 2 #define LCD_CURSOR_HOME_MS 2 #define LCD_SET_4BITMODE_MS 5 Das sind Befehle die länger dauern. An deiner Stelle würde ich erst mal LCD_BOOTUP_MS, LCD_WRITEDATA_US und LCD_COMMAND_US verlängern. MfG Spess Das ist die Zeit, die der Displaycontroller zur Ausführung eines Befehls braucht.
für mich hört sich dein Problem danach an, dass die Initialisierung falsch ist. Die kommt nur bis zum 2 zeilen Befehl und danach kommt der display off und display clear befehl, der braucht aber anders als die anderen 1.53ms wartezeit, nicht 37us! Den Fehler hatte ich auch schon. Ausserdem nusst du das Display nach der initialisierung auch wieder anschalten!
Hi >für mich hört sich dein Problem danach an, dass die Initialisierung >falsch ist. Das ist aber bei der anscheinend häufig benutzten LCD Libary von P. Fleury aufgetreten. Dort sollte die Initialisierung prinzipiell stimmen. MfG Spess
klaus schrieb: > display clear befehl, der braucht aber anders als die > anderen 1.53ms wartezeit den return home meine ich, den hab ich jedenfalls bei mir nach der eigentlichen initialisierung drin drin. klaus schrieb: > nach der initialisierung auch wieder > anschalten! das ist dass was ich jedenfalls am Anfang vergessen hab und dann hatte ich auch einfach nur schwarze balken und sonst nichts
Danke für die vielen Antworten! Ich werde mal versuchen die Wartezeiten an zu passen und die anderen Sachen, die genannt wurden überprüfen. Ich hoffe, dass es an einer der Sachen hier liegt. Melde mich auf jeden Fall heute Abend ob es klappt oder nicht, vlt. hat dann jemand noch mehr Ideen woran es liegen kann....
Falsche Busbreite Initialisiert, 4 statt 8bit o. umgekehrt, wär noch ne Möglichkeit.
> Falsche Busbreite Initialisiert, 4 statt 8bit o. umgekehrt, wär noch ne > Möglichkeit. #define LCD_IO_MODE 1 sollte doch 4bit sein oder?
Hallo Habe alles Ausporbiert, was oben geschrieben wurde. Die Wartezeiten verlängert( verdopllet). etc. Aber irgendwie Klappt das alles nicht..... Auf der Rückseite des Lcdś steht C1602-A-V1.2 gibt man das bei google ein, dann bekommt man das Datenblatt im Anhnag. Habe da mal die Pin belegung Kontrolliert und auch die Zeiten. Die Pins sind die Selben wie im Lcd Tutorial angegeben, und die Angegebenen Zeiten liegen auch weit unter den Eingestellten.
1 | // Die Zeiten die kommentiert sind, waren die Standardeinstellungen von lcd-routines.h
|
2 | #define LCD_BOOTUP_MS 30//15
|
3 | #define LCD_ENABLE_US 40 //20
|
4 | #define LCD_WRITEDATA_US 90 //46
|
5 | #define LCD_COMMAND_US 90 //42
|
6 | |
7 | #define LCD_SOFT_RESET_MS1 10 //5
|
8 | #define LCD_SOFT_RESET_MS2 2 //1
|
9 | #define LCD_SOFT_RESET_MS3 2 //1
|
10 | #define LCD_SET_4BITMODE_MS 10 //5
|
11 | |
12 | #define LCD_CLEAR_DISPLAY_MS 4 //2
|
13 | #define LCD_CURSOR_HOME_MS 4 //2
|
Was auf dem Display passiert scheint reiner Zufall zu sein. Manchmal Passiert nichts, dann sieht man auf einmal die 2. Zeile, dann erscheinen Buchstaben. Einmal sprang auch der cursor bei jedem Reset des Avr um ein Zeichen weiter....... Was mache ich Falsch?
>Was mache ich Falsch?
Das kann dir niemand sagen ohne deinen kompletten Code
und ein Foto von deinem Aufbau gesehen zu haben.
So hier ein Bild vom Aufbau und der Komplette Code. Auf dem Display wird So etwas "ähnliches" Angezeigt, wie es sein sollte. Man kann ein Test und ein Hel erkennen, wenn man den Avr mehrmals resetet... Habe am code nur die Ausführungszeiten geändert. Hoffe damit kann mir jemand weiter helfen. SChöne Grüße
Florian schrieb: > So hier ein Bild vom Aufbau und der Komplette Code. > > Auf dem Display wird So etwas "ähnliches" Angezeigt, wie es sein sollte. > Man kann ein Test und ein Hel erkennen, wenn man den Avr mehrmals > resetet... Das ist allerdings nicht reproduzierbar, habe gerade 40 mal resetet und Kein "Test" mehr finden können... Es sieht so aus als würden die Zeichen jedes mal ein Stück weiter geschoben werden.
Florian schrieb: > So hier ein Bild vom Aufbau Ein Bild von der Größe lade ich gar nicht erst runter.
Dein Bild ist sehr groß (7,2MB), besser währe ein kleineres. Versuche einmal, deine Zeiten soweit zu verlängern, dass Du mittels LEDs die Initialisierung verfolgen kannst (wird u.a. gemacht, wenn es noch zu Timing-Problemen kommt, was teilweise sein kann, da manche Zeichen nicht richtig übermittelt werden)
Aus der von Dir geposteten lcd-routines.h:
1 | #define F_CPU 1600000
|
Läuft Dein AVR wirklich mit 1,6MHz? Das widerspricht Deiner Angabe im 1. Post.
Florian schrieb: > Bei dem Poti handelt es sich allerdings um ein 22kOhm, man sollte ja 10k > verweden, habe ich aber leider nicht da. Warum soll es 10k sein, wenn im Datenblatt 20k steht? Und ob 20 oder 22 ist nun wirklich egal ...
>Versuche einmal, deine Zeiten soweit zu verlängern, dass Du mittels LEDs >die Initialisierung verfolgen kannst (wird u.a. gemacht, wenn es noch zu >Timing-Problemen kommt, was teilweise sein kann, da manche Zeichen nicht >richtig übermittelt werden) Alle zeiten auf eine halbe sekunde oder sowas stellen und dann an die pins die das LCD Steuern Leds anschließen? Wie kann ich daraus dann den Fehler erkennen ? J.-u. G. schrieb: > Aus der von Dir geposteten lcd-routines.h:#define F_CPU 1600000 > Läuft Dein AVR wirklich mit 1,6MHz? > Das widerspricht Deiner Angabe im 1. Post. Nein, der Läuft mit 16MHZ, aber das war nicht der Fehler, habe es gerade geändert. Aber danke für den Tipp. Hat noch jemand eine Idee? Eigentlich kann es doch gar nicht so schwer sein ein LCD display anzustuern?? Im Anhang nochmal ein Komprimiertes Bild. Sorry! hatte ich vergessen.
0,5s sind OK, denn Du kannst erkennen, ob deine Zeichen richtig gesendet wurden und es gibt dem Displaycontroller Zeit, diese zu verarbeiten und darzustellen.
Hi >Aus der von Dir geposteten lcd-routines.h: <#define F_CPU 1600000 >Läuft Dein AVR wirklich mit 1,6MHz? >Das widerspricht Deiner Angabe im 1. Post. Die falsche Frequenzangabe dürfte wohl die Ursache des Dilemmas sein. 16MHz können es nicht sein, da kein Quarz gesteckt ist. Der Controller, ich tippe auf einen ATMega8515, kann nur 1, 2, 4 und 8 MHz. Der Jumper OSCSEL steht zwar auf 'On Board Oszillator selected', aber damit kann man weder 1,6MHz und schon gar nicht 16 MHz einstellen. MfG Spess
Das kommt selten vor, aber eben doch: Hast Du nicht noch ein anderes Display zum Ausprobieren? Ich hatte 4 gleiche Displays gekauft -Eines davon war defekt. Jetzt rate mal, welches ich als Erstes eingelötet hatte... ;-) MfG Paul
Mach doch mal bitte eine (scharfes) Bild von der angelöteten Stiftleiste.
Spess53 schrieb: > ich tippe auf einen ATMega8515, kann nur 1, 2, 4 und 8 MHz Ach du Scheiße! Das jab ich total Verpeilt..... aber deswegen Klappt es trozdem nicht :/ Habe es mit #ifndef F_CPU #define F_CPU 1000000 Bzw 2,4 und 8Mhz #endif Immerhin habe ich so schonmal ein ello orld! auf die Anzeige gebracht.... aber immer noch ist alles jedes mal anders wenn man den Avr neu Startet... Teo Derix schrieb: > Mach doch mal bitte eine (scharfes) Bild von der angelöteten > Stiftleiste. Bild ist im Anhang.
Hi >Immerhin habe ich so schonmal ein ello orld! auf die Anzeige >gebracht.... aber immer noch ist alles jedes mal anders wenn man den Avr <neu Startet... Dann lies endlich mal die Fuses aus und sag, mit welcher Frequenz dein AVR wirklich läuft. MfG Spess
Spess53 schrieb: > Dann lies endlich mal die Fuses aus und sag, mit welcher Frequenz dein > AVR wirklich läuft. Hier die Ausgabe:
1 | avrdude: Version 5.11.1, compiled on Oct 18 2011 at 21:17:35 |
2 | Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ |
3 | Copyright (c) 2007-2009 Joerg Wunsch |
4 | |
5 | System wide configuration file is "/etc/avrdude.conf" |
6 | User configuration file is "/home/florian/.avrduderc" |
7 | User configuration file does not exist or is not a regular file, skipping |
8 | |
9 | Using Port : /dev/ttyS0 |
10 | Using Programmer : stk500 |
11 | AVR Part : ATMEGA8515 |
12 | Chip Erase delay : 9000 us |
13 | PAGEL : P00 |
14 | BS2 : P00 |
15 | RESET disposition : dedicated |
16 | RETRY pulse : SCK |
17 | serial program mode : yes |
18 | parallel program mode : yes |
19 | Timeout : 200 |
20 | StabDelay : 100 |
21 | CmdexeDelay : 25 |
22 | SyncLoops : 32 |
23 | ByteDelay : 0 |
24 | PollIndex : 3 |
25 | PollValue : 0x53 |
26 | Memory Detail : |
27 | |
28 | Block Poll Page Polled |
29 | Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack |
30 | ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- |
31 | eeprom 4 20 128 0 no 512 0 0 9000 9000 0xff 0xff |
32 | flash 33 6 64 0 yes 8192 64 128 4500 4500 0xff 0xff |
33 | lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 |
34 | hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 |
35 | lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 |
36 | calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00 |
37 | signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 |
38 | |
39 | Programmer Type : STK500V2 |
40 | Description : Atmel STK500 |
41 | Programmer Model: STK500 |
42 | Hardware Version: 2 |
43 | Firmware Version Master : 2.01 |
44 | Topcard : Unknown |
45 | Vtarget : 5.1 V |
46 | SCK period : 10.9 us |
47 | Varef : 5.0 V |
48 | Oscillator : 3.686 MHz |
49 | |
50 | avrdude: AVR device initialized and ready to accept instructions |
51 | |
52 | Reading | ################################################## | 100% 0.01s |
53 | |
54 | avrdude: Device signature = 0x1e9306 |
55 | avrdude: safemode: lfuse reads as E0 |
56 | avrdude: safemode: hfuse reads as D9 |
57 | |
58 | avrdude: safemode: lfuse reads as E0 |
59 | avrdude: safemode: hfuse reads as D9 |
60 | avrdude: safemode: Fuses OK |
61 | |
62 | avrdude done. Thank you. |
Wo kann ich denn hier die Frequenz auslesen?
Hi > Wo kann ich denn hier die Frequenz auslesen? Dann drösel das mal mit dem Datenblatt auseinander: >avrdude: safemode: lfuse reads as E0 >avrdude: safemode: hfuse reads as D9 Warum benutzt du kein AVR-Studio? MfG Spess
Spess53 schrieb: > Hi >> > > Wo kann ich denn hier die Frequenz auslesen? > > Dann drösel das mal mit dem Datenblatt auseinander: > >>avrdude: safemode: lfuse reads as E0 >>avrdude: safemode: hfuse reads as D9 > habe mal E0 D9 hier eingegeben: http://www.engbedded.com/fusecalc/ d.h. mein Avr steht auf externe Clock... oder? > Warum benutzt du kein AVR-Studio? > Habe Linux als Betriebssystem
Hi >habe mal E0 D9 hier eingegeben: >http://www.engbedded.com/fusecalc/ Für mich zählt das Datenblatt, nicht solche Pseudotools. >d.h. mein Avr steht auf externe Clock... oder? Siehe Datenblatt. MfG Spess
Spess53 schrieb: > Hi > >>habe mal E0 D9 hier eingegeben: >>http://www.engbedded.com/fusecalc/ > > Für mich zählt das Datenblatt, nicht solche Pseudotools. Sorry, im Datenblatt steige ich bei den Fusebits nicht durch. Habe gerade Auch bei Eclipse die Fusebits auslesen lasse, dort wird auch E0 D9 angegeben und dass es sich dabei um einen externen Oszillator handelt. >>d.h. mein Avr steht auf externe Clock... oder? > > Siehe Datenblatt. > Kann ich jetzt "einfach" die Fusebits Umschreiben , so dass er auf 8Mhz läuft?
RW auf Masse gelegt? eventuell RS und E vertausch? Wenn du ein Quarz hast probiere einfach mit einem Ext. Quarz
Martin e. C. schrieb: > RW auf Masse gelegt? > eventuell RS und E vertausch? Werde ich nochmal Kontrollieren, glaube aber dass die Verkabelung richtig ist. > Wenn du ein Quarz hast probiere einfach mit einem Ext. Quarz Habe ich leider nicht... Habe aber noch andere Avr´s rum liegen(ATMEGA32A-PU und ATMEGA168A-PU) Soll ich es mal mit einem von diesen Testen? Warum sind die Fusebits eigentlich auf einen externen Osizlator gesetzt? Das ist doch eigentlich nicht der Standard oder?
Hallo, habe heute nocheinmal veruscht das Display zum laufen zu bekommen, es funktioniert einfach nicht.... habe es sowohl mit der Anleitung hier aus dem Forum Versucht, als auch mit der für die Bilbliothek von Peter Fleury. Ergebniss: keines :/ Habe mittlerweile noch ein weiteres 2x16 Zeichen LCD hier liegen, um einen Defekt auszuschließen, aber auch damit funktioniert es nicht. Außerdem habe ich einen neuen Mikrokontroller eingesetz (ATMEGA32) und das ganze nocheinmal neu Zusammengestöspelt. Leider alles ohne Erfolg.... Hat noch irgendjemand eine Idee oder kann mir weiter helfen? Ich weiß wirklich nicht was ich noch Ausprobieren soll..... Danke!
Vielleicht mal das Steckbrett weglassen? Kann ja sein, dass das Probleme verursacht, auch wenn ich es mir nur schlecht vorstellen kann.
Fabian V. schrieb: > Vielleicht mal das Steckbrett weglassen? > Kann ja sein, dass das Probleme verursacht, auch wenn ich es mir nur > schlecht vorstellen kann. Lcd auf eine Platine löten und dann mit einem mit einem Prot stecker des Stk500 verbinden? oder Auch den Controler auf die Platine Löten? Hatte eigentlich schon jemand anders solche extremen Probleme mit einem LCD Modul? So ein Display anzusteuern ist ja eigentlich nicht wirklic schwer.... oder?
Oder mit den richtigen Kabeln ("Jumperwire" F-F) direkt von Stecker zu Display verbinden. Die LCD-Module halten, zumindest bei mir, ordentlich was aus. Ohne Abschirmung 20 cm 8 Kabel zusammengeklebt zum Anschließen benutzt. Klappt wunderbar. Nie auch nur ein einziger Bitfehler.
@Florian Auf dem Bild ist schwer zu sehen, wie die Versorgung von LCD und Board miteinander "verheiratet" sind. VCC und GND sind direkt (und nicht über lange Umwege) miteinander verbunden? Und ich würde mal einen Stützkondensator zwischen VCC und GND hängen, direkt am Display. Gruß Dietrich
Fabian V. schrieb: > Oder mit den richtigen Kabeln ("Jumperwire" F-F) direkt von > Stecker zu > Display verbinden. Danke, werde ich heute Abend mal testen. Dietrich L. schrieb: > @Florian > Auf dem Bild ist schwer zu sehen, wie die Versorgung von LCD und Board > miteinander "verheiratet" sind. VCC und GND sind direkt (und nicht über > lange Umwege) miteinander verbunden? > VCC und GND von Controler und Display sind getrennt voneinander. Der Atmega steckt im Stk500 und das Display bekommt seine 5V über ein Labornetzteil. Darf man das so nicht machen? > Und ich würde mal einen Stützkondensator zwischen VCC und GND hängen, > direkt am Display. Wird gemacht :) Ich tue alles damit das Display endlich das tut was ich will :D Danke für die Hilfe! > Gruß Dietrich Gruß Florian
Hi >VCC und GND von Controler und Display sind getrennt voneinander. >Der Atmega steckt im Stk500 und das Display bekommt seine 5V über ein >Labornetzteil. Darf man das so nicht machen? Kann man schon, aber nur wenn man die Massen verbindet. MfG Spess
Ja, sonst liegt an den Eingängen des Displays nur der Zufall an, der ein bisschen von dem ATMega abhing. Würde erklären warum es manchmal so ein bisschen funktionierte.
So... habe es jetzt zum gefühlt 100sten mal aufgebaut und.... es funktioniert!! Danke an alle die mir geholfen haben :) Es muss wohl irgendetwas nicht richtig verbunden gewesen sein... außerdem hat die GND Verbindung zwischen DEm Controller und dem LCD gefehlt. Danke nochmal :)
Florian schrub: >außerdem hat die GND Verbindung zwischen DEm Controller und dem LCD >gefehlt. Na, das wird wohl bald die ganze Ursache gewesen sein. MfG Paul
Hi >außerdem hat die GND Verbindung zwischen DEm Controller und dem LCD >gefehlt. Das nennt man im Volksmund 'Missing Link'. MfG Spess
Das pasiert mir mit sicherheit so schnell nicht wieder :D Bin gerade dabei mir eine Platine zurecht zu löten, mit der ich das Display direkt an einen Port anschließen kann. Dann muss ich mir in Zukunft keine Sorgen mehr um die Verbindungen machen.
Florian schrieb: > außerdem hat die GND Verbindung zwischen DEm Controller und dem LCD > gefehlt. Da sieht man mal wieder, wie man in 60 Beiträgen nach vielen "intelligenten" Fehlern suchen kann, und das Problem liegt bei den "Basics". Also was lernt man daraus für die Fehlersuche? Zweifle an allem und bleibe offen für alle Fehlermöglichkeiten, auch wenn sie sich noch so trivial anhören. Aussagen wie "Das kann nicht sein!" oder "Ich bin doch nicht blöd!" sind in der fortgeschrittenen Phase der Fehlersuche verboten!! Alles kann sein und/oder ich bin blöd (sonst hätte ich den Fehler ja schon gefunden) ;-)) Gruß Dietrich
Dietrich schrob:
>..und das Problem liegt bei den "Basics".
Gut, daß nicht noch Transistoren daran beteiligt waren, sonst hätte es
auch
nach an den Emmitrics oder Kollektrics liegen können...
;-)
MfG Paul
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.