Corvetteforum Deutschland
Entwicklung einer Ladedruckanzeige u.v.m. - Druckversion

+- Corvetteforum Deutschland (https://www.corvetteforum.de)
+-- Forum: Technikforen (https://www.corvetteforum.de/forumdisplay.php?fid=1)
+--- Forum: Allgemeines Technikforum (https://www.corvetteforum.de/forumdisplay.php?fid=7)
+--- Thema: Entwicklung einer Ladedruckanzeige u.v.m. (/showthread.php?tid=110773)

Seiten: 1 2


Entwicklung einer Ladedruckanzeige u.v.m. - Tom V - 20.10.2024

Hallo zusammen,

ich wollte Euch mal zeigen woran ich gerade zuhause arbeite und zwar geht es um die Entwicklung einer Ladedruckanzeige mittels eines 
3,2cm großen, runden(!) TFT Display.
Diese Displays gibt es mittlerweile ab Euro 8,50
Die können Farbe und wenn man Euro 16 ausgibt, bekommt man ein TFT wo direkt der Prozessor inkl. einem 3 Achsen Beschleunigungssensor
und einem Gyroskop verbaut ist. Das TFT kann dann auch Bluetooth und WLAN und bietet 16MB Flash Speicher für Programme.
Programmiert wird in Arduino


Im Internet bin ich auf den Youtuber "upir" aufmerksam geworden:  https://www.youtube.com/@upir_upir
Der macht tolle Sachen mit den Displays und das diente mir als Vorlage für meine Entwicklung.

Für den Anfang habe ich mir beim upir zwei Skalen kopiert um sie für meine Zwecke weiterzuverwenden.

zuerst eine einfache Thermometer Skala mit sagen wir mal 40-120°C

[Bild: 48818963jg.png]

Für den weiteren Einsatz benötige ich einen Zeiger. Der von upir gefiel mir nicht und da das
Instrument hauptsächlich für meinen Audi gedacht war, habe ich mich am Audi Design orientiert
und erst mal einen original Zeiger aus einem Bastel-Cockpit  ausgebaut und fotografiert.

[Bild: 48818969sn.jpg]


Im Photoshop wurde der dann zerlegt und freigestellt, so dass ich den silbernen Knopf in der Mitte habe und den eigentlichen Zeiger...

Da ich es zu Anfang nicht allzu komplex machen wollte, wird der Knopf statisch bleiben und sich zunächst nicht mitdrehen - das kommt dann später.
Die Kunst ist es nämlich die Skala zu erhalten wenn der Zeiger darüber läuft. Das ist ja leider alles nur zweidimensional.... da wo der Zeiger
mal war, muss bei der Weiterbewegung die Skala restauriert werden. Klingt einfacher als es ist.
Man bedient sich da der s.g. Sprite Technik

Das ist vorerst die fertige Skala:
Wird freilich später noch verfeinert...

[Bild: 48818962dx.png]



Das gleiche für den Ladedruck:

[Bild: 48818966up.png]

[Bild: 48818965du.png]


so sieht das dann fertig aus.
Die Displays sind wirklich knuffig und das Image sieht in Natura noch viel besser aus als auf dem Handy-Foto

[Bild: 48818968eh.jpg]

Flach sind die Teile auch....  Im Hintergrund der Drahtverhau: das eigentliche Prozessorboard.
Ein ESP32S3.

[Bild: 48818967ao.jpg]



Dort sollen die TFTs dann zukünftig drin stecken:
Als wenn es 1997 der Designer geahnt hat, dass da mal ein 1,28" TFT reinpassen muss.
Die beiden Displays zeigen noch eine erste Variante des Zeigers nach der Vorlage vom Youtuber upir


[Bild: 48818970gp.jpg]

Falls Interesse an dem Thema besteht, berichte ich gerne weiter und kann Tipps geben für eigene Entwicklungen.
Auch wie man den Ladedruck misst, was dann dank separatem Drucksensor universell möglich ist....
Das Teil ist für Turbo und Kompressor gleichermaßen geeignet....man muss sich nur Gedanken über den Messbereich machen. 
Natürlich kann man am Prozessor einen Drehgeber adaptieren um dann mit Hilfe eines Auswahlmenüs mehr als nur den einen Messwert
auszugeben. Alles eine Frage der Software und der Lust und Laune.

Für die Gestaltung der Skalen und Zeiger benutze ich das (mittlerweile) kostenlose Photoshop CS2 https://www.chip.de/downloads/Photoshop-CS2-kostenlos-Vollversion_59762951.html

sowie das kostenlose Online Tool Photopea https://www.photopea.com/

Für die Umwandlung der Bilder in Dateien die der Prozessor versteht das kostenlose Tool image2cpp  https://javl.github.io/image2cpp/

Softwareentwicklung mittels Arduino https://www.arduino.cc/

Hardware kaufe ich je nach Angebot bei Amazon, Berrybase, Eckstein und eBay...


RE: Entwicklung einer Ladedruckanzeige u.v.m. - Gelber Bengel - 20.10.2024

Man kann auch fachlich brillant sein ohne ein Nerd zu werden, Thomas. Absoluten Respekt für einen solchen Entwicklerdrang und die Ergebnisse!

Gruß

Martin


RE: Entwicklung einer Ladedruckanzeige u.v.m. - Oeli - 20.10.2024

Absolut verrückt was manche so auf dem Kasten haben.
Ich liebe dieses Forum für seine Vielfälltigkeit.  Yeeah!

Thomas, ich habe keine Ahnung von dem was du da machst, aber ich lese trotzdem mit, in der Hoffnung, dass ich auch nur einen Bruchteil davon verstehe und etwas lerne.


RE: Entwicklung einer Ladedruckanzeige u.v.m. - MiSt - 21.10.2024

Mich interessiert das auch sehr.

Ich habe selbst zwei solcher Displays seit langer Zeit liegen. Sie sollten eigentlich die Bargraphen für Leistung und Drehmoment auf dem etwas überfüllten Zusatzdisplay (Leistung, Drehmoment, Momentanverbrauch, Quer-/Längsbeschleuingung sowie diverse Zahlenwerte) in meinem Z4 ersetzen. Wie so oft trat das wegen anderer Aktivitäten in den Hintergrund ...

Hostest du deine SW auf GIThub?


RE: Entwicklung einer Ladedruckanzeige u.v.m. - JR - 21.10.2024

Chapeau - höchsten Respekt!

Gruß

JR


RE: Entwicklung einer Ladedruckanzeige u.v.m. - Tom V - 21.10.2024

Danke Jungs,
das macht mir unheimlich viel Spaß, sowas zu entwerfen und umzusetzen.
Dazu muss man aber schon ein wenig Nerd sein, sonst geht das nicht  sich vor Lachen auf dem Boden wälzen


Hier noch ein Tipp für ein Onlinetool, um Skalen jeglicher Art zu entwerfen:

https://www.blocklayer.com/gauge-templates

mit wenigen Eingaben habe ich mal fix das hier erzeugt:
[Bild: 48821653lb.jpg]




Übrigens sitzen in dem Audi Tacho an der Stelle eigentlich die Tank- und Temperaturanzeigen.
Insider wissen ja, dass die Teile chronisch kaputt sind, also können die Steppermotoren auch gleich wegfallen
und was Elektronisches Einzug halten.
Daher muss ich letztendlich auch ein Ersatz für die Benzinuhr schaffen. 
Wird auf jeden Fall darauf hinauslaufen, die Anzeigen umschaltbar zu machen.

Man bekommt so ein Display auch gleich mit Gehäuse!
Das bietet die Möglichkeit eine Zusatzarmatur am Dashboard zu platzieren ohne bestehende Instrumente
umzubauen.

Interessant ist auch der Kanal vom Volo:
https://www.youtube.com/@VolosProjects/videos

Mir hat es das runde TFT im Gehäuse mit Rotary Encoder angetan... cool!







Michael, klingt höchst interessant!
Meine Software hoste ich allerdings nicht auf Github, habe zwar einen Account, aber noch nie was hochgeladen.


RE: Entwicklung einer Ladedruckanzeige u.v.m. - MiSt - 21.10.2024

Bei BMW ist es relativ einfach, solche Zusatzinfos abzugreifen und darzustellen. Man muss dazu nicht über die OBD gehen, was i.d.R. recht "lahm" ist, sondern die liegen direkt auf dem (K)omfort-CAN, wohl "mundgerecht" für die M-Versionen, die solche Anzeigen auch bieten. Die Datenbasis wird natürlich benötigt, das ist sonst der Wahnsinn bzgl. Reverse-Engineering. 

Wie das bei Audi ist - k.A.  OK!

Ähnlich, allerhöchstwahrscheinlich  huahua

Ich habe das für den Z4 schon 2017 realisiert, auf einem 240x320 Display. Ein Arduino Uno für das Frontend zum CAN, ein zweiter für die Grafik. Sieht für heutige Verhältnisse etwas "altbacken" aus, der Informationsgehalt ist allerdings  Yeeah! . Vor einigen Jahren dann der Kauf der Runddisplays, und dabei blieb es mal wieder, leider. Ich lege mir jetzt mal die ganzen Links aus dem Thread hier ab, vielleicht gehe ich mal wieder bei Prost! .

Habe auch aktuell keine Zeit dazu, daher nicht reingeschaut und somit die kurze Frage: wie ist die Zeigeranimation technisch realisiert? Vektorgrafik/-rendering (mit Arduino?!? wow?!?) oder Bitmap-Kino?

Manches meiner SW liegt auf GIThub, aber die letzten Jahre war ich da schlampig ...  Heulen


RE: Entwicklung einer Ladedruckanzeige u.v.m. - Tom V - 21.10.2024

Hallo Michael,

mein Audi TT hat noch die gute alte K-Line   dumdidum
CAN gab es zwar schon zwischen Motorsteuergerät und ESP/ABS, aber im Innenraum kam das erst nach 2002.


Hier mal ein Video (Achtung, über 20MB!) wo man das Instrument in Bewegung sieht.
Mittlerweile auch mit drehendem Knopf in der Mitte. Es sieht in Natura aber wesentlich besser aus als auf dem Video.

https://www.dropbox.com/scl/fi/ex8jz3ykwakc0gvkj9hgo/20241021_180138.mp4?rlkey=rjlltlsg4wj3zd49pvz9wc12h&st=1pypeoyj&dl=0

Ich bitte die Hintergrundgeräusche zu entschuldigen - irgendwo lief ein Fernseher  haarsträubend



Wie funktioniert das?
Ich nutze die TFT_eSpi Library vom Bodmer und daraus die Sprite Funktion.
https://github.com/Bodmer/TFT_eSPI
Es werden zwei Sprites angelegt, einmal das Hintergrundbild "img1" mit der Skala und einmal den Zeiger mit Knopf "needle".
In einem Loop lade ich beide Sprites und mit pushSprite wird das fertige Bild zum TFT transportiert. In meinem Falle mit 50MHz SPI

Loop:
Code:
   img1.pushImage(0,0,240,240, epd_bitmap_tempTT);
   needle.pushRotated(&img1, angle1, TFT_BLACK);  
   digitalWrite(TFT_1, LOW);
   img1.pushSprite(0,0);
   digitalWrite(TFT_1, HIGH);

der Zeiger wird so erzeugt und mit angle1 um den Pivot Punkt im Loop gedreht ausgegeben:

Code:
void createNeedle(void)
{  
 uint16_t piv_x = needle.width() / 2;   // x pivot of Sprite (middle)
 uint16_t piv_y = needle.height() -35;  // y pivot of Sprite (35 pixels from bottom)
 needle.setPivot(piv_x, piv_y);         // Set pivot point in this Sprite
 needle.pushImage(piv_x-35, 0, 70, piv_y+35, epd_bitmap_ZeigerTT);
}

Die Bilder sind als PNG abgelegt und mit image2cpp in C-Code im Flash hinterlegt.
Die push.image Funktion erledigt den Rest  OK!


RE: Entwicklung einer Ladedruckanzeige u.v.m. - MiSt - 21.10.2024

Sieht überzeugend aus, und ist gemäß Readme der Lib erwartungsgemäß für eine andere Liga Prozessoren als olle Standard-Arduinos auf Atmel-Basis  King .


RE: Entwicklung einer Ladedruckanzeige u.v.m. - Tom V - 21.10.2024

Das stimmt wohl... ein 16MHz AT MEGA1284P wäre dazu nicht in der Lage.
Der Sketch "verbraucht" etwa 600kB an Flash auf Grund der Bilder....und da die Sprites ja im RAM erzeugt werden, bevor das fertige Bild
zum TFT geschickt wird, braucht man schon einiges an RAM

Ich habe das Programm auch mal auf das Waveshare 1.28" TFT mit ESP32S3 aufgespielt was erwartungsgemäß einwandfrei funktioniert.
Überhaupt sind diese TFTs mit ESP drauf ideale Teile um zu entwickeln und für das was sie können sehr preiswert.

Wiki:  https://www.waveshare.com/wiki/ESP32-S3-LCD-1.28

Dank USB on board kann man direkt aus der IDE aufs Display uploaden.

[Bild: 48823143qz.jpg]



[Bild: 48823144qe.jpg]