Bevor ich es für mich ganz allein entwickle und später nach und nach die Schwierigkeiten und Details vergesse, möchte ich euch hier daran teilhaben lassen:
Ich baue derzeit an einem 4-Kanal Li-Ionen Zellen Schnelltester mit anschließendem Ausdruck der Ergebnisse auf einem Thermo-Etikettendrucker (aber darum geht es hier nicht primär. Wen es aber interessiert, der Thermodrucker-thread ist hier Thermo-Etikettendrucker seriell ansteuern).
Da ich mich noch nicht mit Grafik-LCD Anzeigen beschäftigt habe, suchte ich zunächst nach möglichst großen LCD-Anzeigen, wobei hier vor allem die 4-zeiligen mit je 20 Zeichen in Frage kommen (gibt es eigentlich auch 4-zeilige mit mehr als 20 Zeichen?). Diese werden z.B. bei 3D-Druckern eingesetzt und haben dort meist auch gleich noch einen Drehgeber (rotary encoder), SD-Karten-Leser inkl. Pegelumsetzer, Piezo-Piepser und ein Adapterboard zum gemeinsamen ANschluß aller dieser Komponenten mit dabei. Beispiel bei Ebay Für rund 8€ kann man da wirklich nicht meckern, finde ich. Zumal sich so eine Einheit später auch gut in der Frontplatte eines Gehäuses verbauen läßt. Also gekauft. Aus den online verfügbaren Schaltplänen und Unterlagen zum Hauptboard des Ramps 1.4 kann man sich mehr schlecht als recht die tatsächlichen Verbindungen zu den Portpins des Atmel zusammenreimen. Mehr genutzt haben mir diese, von anderen Usern zusammengestellten (und von mir zT ergänzten) Anschlußbelegungen:
LCD_2004.png
Pinout_Ramps1.4_controller_adapter.jpg
man verzeihe mir meinen "handaufgenommenen" Schaltplan des Controllerboards:
Aufnahme_LCD_Verbindungen.jpg
Daraus habe ich dann in Eagle eine Platine entworfen, die ein Anstecken eines (Arduino) Mega 2560 boards von unten an die Hauptplatine und den Anschluß des Adapterboards des "Controllers" von oben auf diese Hauptplatine ermöglicht (bzw.dies so in die vorhandene Platine des Li_ion Zelltesters eingefügt). Wer hier noch nach einem Eagle-footprint der Kontakte von Mega 2560 und LCD/SD Controllerboard sucht, schreibt mich bitte an, ich müßte das dann erst noch einmal "aufarbeiten", bevor ich es zB auf einem Format 80x100 (für die freie Eagle Version) weitergeben könnte.
Viel Ärger hatte ich mit dem Drehgeber und der damit verbundenen Erstellung eines Menüs. Die auf den boards vorhandenen Drehgeber erzeugen unter Verwendung des Bascom Befehls
Encoder(pinc.6 , Pinc.4 , Auswahlrunter , Auswahlhoch , 0)
genau vier Sprünge in der Auswahl. (der Befehl ist hier gleich mit dem zum Mega2560 board passenden Portpins dargestellt.)
Außerdem prellen die im Drehgeber vorhandenen Taster (Kontakte) ohne Ende,
IMG_20210110_115449.jpg IMG_20210110_115656.jpg IMG_20210110_115728.jpg
und auch in die andere Richtung (L->H Flanke)
IMG_20210110_115357.jpg
so daß natürlich auch das Menü später ganz wild hin und herspringt.
Daher habe ich zunächst (üppig dimensionierte) 2x 100nF Kondensatoren (vorher auf +-5% ausgemessen) direkt an die Pins des Encoders gelötet:
IMG_20210110_121521.jpg
Damit wurde das Menü-Verhalten bereits etwas besser. (unten im Bild übrigens der Transistortreiber für den Piezo-Buzzer; man sieht leider auch üble Flussmittelrückstände der chinesischen Handlötung. An einigen Lötstellen waren außerdem Brücken untereinander und zur Massefläche vorhanden, so daß ich hier vorsichtshalber erst einmal suspekte Stellen nachlötete)
Im Oszillogramm sieht das nach dem C-Einbau so aus (H->L):
IMG_20210110_121937.jpg (kein Wunder, die 100nF werden ja auch direkt durch den Encoder-Kontakt entladen)
und entsprechend länger dauert L->H, weil sich die 100nF erst am internen Pullup (ca. 70k ?) aufladen müssen:
IMG_20210110_122216.jpg
Hier jetzt auch die Zeitauflösung auf 5ms/div geändert; bei 200us oder 500us/div hätte das nicht auf den Schirm gepasst.
Kurze Pause hier; Geht gleich weiter
Ich baue derzeit an einem 4-Kanal Li-Ionen Zellen Schnelltester mit anschließendem Ausdruck der Ergebnisse auf einem Thermo-Etikettendrucker (aber darum geht es hier nicht primär. Wen es aber interessiert, der Thermodrucker-thread ist hier Thermo-Etikettendrucker seriell ansteuern).
Da ich mich noch nicht mit Grafik-LCD Anzeigen beschäftigt habe, suchte ich zunächst nach möglichst großen LCD-Anzeigen, wobei hier vor allem die 4-zeiligen mit je 20 Zeichen in Frage kommen (gibt es eigentlich auch 4-zeilige mit mehr als 20 Zeichen?). Diese werden z.B. bei 3D-Druckern eingesetzt und haben dort meist auch gleich noch einen Drehgeber (rotary encoder), SD-Karten-Leser inkl. Pegelumsetzer, Piezo-Piepser und ein Adapterboard zum gemeinsamen ANschluß aller dieser Komponenten mit dabei. Beispiel bei Ebay Für rund 8€ kann man da wirklich nicht meckern, finde ich. Zumal sich so eine Einheit später auch gut in der Frontplatte eines Gehäuses verbauen läßt. Also gekauft. Aus den online verfügbaren Schaltplänen und Unterlagen zum Hauptboard des Ramps 1.4 kann man sich mehr schlecht als recht die tatsächlichen Verbindungen zu den Portpins des Atmel zusammenreimen. Mehr genutzt haben mir diese, von anderen Usern zusammengestellten (und von mir zT ergänzten) Anschlußbelegungen:
LCD_2004.png
Pinout_Ramps1.4_controller_adapter.jpg
man verzeihe mir meinen "handaufgenommenen" Schaltplan des Controllerboards:
Aufnahme_LCD_Verbindungen.jpg
Daraus habe ich dann in Eagle eine Platine entworfen, die ein Anstecken eines (Arduino) Mega 2560 boards von unten an die Hauptplatine und den Anschluß des Adapterboards des "Controllers" von oben auf diese Hauptplatine ermöglicht (bzw.dies so in die vorhandene Platine des Li_ion Zelltesters eingefügt). Wer hier noch nach einem Eagle-footprint der Kontakte von Mega 2560 und LCD/SD Controllerboard sucht, schreibt mich bitte an, ich müßte das dann erst noch einmal "aufarbeiten", bevor ich es zB auf einem Format 80x100 (für die freie Eagle Version) weitergeben könnte.
Viel Ärger hatte ich mit dem Drehgeber und der damit verbundenen Erstellung eines Menüs. Die auf den boards vorhandenen Drehgeber erzeugen unter Verwendung des Bascom Befehls
Encoder(pinc.6 , Pinc.4 , Auswahlrunter , Auswahlhoch , 0)
genau vier Sprünge in der Auswahl. (der Befehl ist hier gleich mit dem zum Mega2560 board passenden Portpins dargestellt.)
Außerdem prellen die im Drehgeber vorhandenen Taster (Kontakte) ohne Ende,
IMG_20210110_115449.jpg IMG_20210110_115656.jpg IMG_20210110_115728.jpg
und auch in die andere Richtung (L->H Flanke)
IMG_20210110_115357.jpg
so daß natürlich auch das Menü später ganz wild hin und herspringt.
Daher habe ich zunächst (üppig dimensionierte) 2x 100nF Kondensatoren (vorher auf +-5% ausgemessen) direkt an die Pins des Encoders gelötet:
IMG_20210110_121521.jpg
Damit wurde das Menü-Verhalten bereits etwas besser. (unten im Bild übrigens der Transistortreiber für den Piezo-Buzzer; man sieht leider auch üble Flussmittelrückstände der chinesischen Handlötung. An einigen Lötstellen waren außerdem Brücken untereinander und zur Massefläche vorhanden, so daß ich hier vorsichtshalber erst einmal suspekte Stellen nachlötete)
Im Oszillogramm sieht das nach dem C-Einbau so aus (H->L):
IMG_20210110_121937.jpg (kein Wunder, die 100nF werden ja auch direkt durch den Encoder-Kontakt entladen)
und entsprechend länger dauert L->H, weil sich die 100nF erst am internen Pullup (ca. 70k ?) aufladen müssen:
IMG_20210110_122216.jpg
Hier jetzt auch die Zeitauflösung auf 5ms/div geändert; bei 200us oder 500us/div hätte das nicht auf den Schirm gepasst.
Kurze Pause hier; Geht gleich weiter