ich habe ein ganz großes Problem mit dem SerLCD von Sparfun mit 20x4 Zeichen und meinem Arduino.
Grundsätzlich funktioniert alles. Aber ab und zu zeigt es einfach keine Daten an.
Solange das LCD am USB Port hängt klappt alles einwandfrei. Ich würde den Arduino aber gerne festinstallieren und habe dazu ein Netzteil welches 24V und 5V liefert. Benutz ich diese 5V Leitung für den Arduino und das LCD, so kommt es beim Anschluss des Netzsteckers zu keiner Anzeige auf dem LCD. Zieh ich den Stecker heraus und schließe ihn relativ bald wieder an, so werden die Daten korrekt angezeigt.
Manchmal werden sie aber auch von anfang an richtig angezeigt. ICh erkenne einfach kein Muster...
Hat jemand eine Idee woran das liegen kann? Vlt an der Baudrate ??
Gehst du mit den 5V direkt an die Stromversorgungsbuchse des Arduino? Wenn ja: Das ist keine gute Idee, da der verbaute Spannungsregler erst ab 7V Eingangsspannung gut funktioniert. Die 24V dort anzulegen ist aber definitiv zu viel. Abhängig von deinen Aufbauten könnte dort nämlich einiges an verlustleistung anfallen.
ich gehe mit den 5V direkt an den 5V-Pin auf dem Arduino Board. Denke damit umgehe ich den Spannungsregler.
Hab die 5V Spannung auch schon mit nem 100µF Elko und nem 100nF Kondensator gepuffert.
Ich bin echt ratlos, weil der Fehler so gar nicht reproduzierbar ist. Mal so mal so...
Edit: Nachtrag. Kann das mit der Leitungslänge zusammen hängen ??
Wenn ich das LCD mit einer 15cm langen Litze anschließe, klappt es auch mit den 5V vom Netzteil.
Über ein 3m langes Netzwerkkabel, wobei eine Litze für die Datenübertragung genutzt wird, klappt es nur noch manchmal.
bei 3m Leitung kann es schon zu Spannungsabfall auf der Leitung kommen.
Ich kenn jetzt das sparcFun LCD nicht. Wird es seriell an den TTL-serial Pins angeschlossen? Wie ist die SPannungsversorgung zum LCD gelöst? Ebenfalls über das Netzwerkkabel?
Evtl. wird es notwendig sein, die Schnittstelle auf beiden Seiten auf RS485 zu konvertieren..
Was passiert wenn Du nach dem Nichtstarten den RESET-Taster des Arduino betätigst. Startet dann das Display sicher? Wenn es sicher Startet dann hilft eine resetschaltung mit einer Verzögerung von 1 bis 2 Sekunden.
Grüße Uwe
@JuergenR
Die Spannungsversorgung läuft aktuell über ein eigenes Kabel mit AWG24 Litzen.
Die Messung der Spannug am Display ergab 4,94 V. Ist das schon zu wenig ??
@kduin
Hab ich schon versucht. Hab auch mit serial.end(); rumgespielt. Ich meine die Fehler sind seltener geworden, bzw noch unreproduzierbarer
Auch und ich arbeite mit der softserial Lib, um die normale serial Ausgabe am PC weiter nutzen zu können. Zum testen hatte ich aber auch probiert alles über den normalen Serial Pin laufen zu lassen. Ergebnisse waren die Selben.
@uwefed
Interessanter weise ändert das Betätigen des restet-Tasters gar nichts. Ich muss wirklich die Stromzufuhr unterbrechen, 5-10 Sekunden warten und dann wieder anschließen. Dann geht es meistens.
Interessanter weise ging es eben auf Anhieb, obwohl die Stromzufuhr seit gestern Abend unterbrochen war. Oh man....
Sorry für den Doppelpost, aber ich hab neue Erkenntnisse
Nach einigem hin und her habe ich jetzt doch ein Muster erkannt.
Mit dem dealay von einer Sekunde wird es deutlich zuverlässiger. Nun setzt das LCD nur noch in folgender Situation aus:
Der Mikrocontroller steuert einen Schrittmotor, bzw einen Schrittmotortreiber (Pololu A4988).
Ist der Motor anschlossen, zeigt das Display nichts an. Sobald ich den Motor abhänge, funktioniert alles.
Der Motor wird mit 24V aus dem gleichen Netzteil betrieben (Netzteil liefer 5V und 24V).
Ich probier mal, ob sich was ändert wenn ich die 24V über einen Transistor schalte und die verzögert frei gebe.
sonst wer ne bessere Idee ??
Die 5V für Display und Arduino aus einem anderen Netzteil / USB holen,
oder ein separates 7..12 V Steckernetzteil für Arduino, und das Display aus Arduinos 5V versorgen
... ( ob besser, weiss ich nicht, der GND vom Arduino und der Schrittmotortreiber müssen ja verbunden sein ; )