Hallo! seit ein paar Monaten verwende ich einen Hyperpixel 4.0 Touchscreen mit meinem Raspberry 3B+ ohne Probleme. Seit ein paar Wochen verwende ich meinen Touchscreen mit dem Raspberry Pi 4 Compute Modul und habe beides auf meine selbst entworfene Platine montiert. Leider habe ich einige Schwierigkeiten mit der Touch-Funktion meines Hyperpixel 4.0. Ich habe keine Ahnung, wie ich diese Probleme lösen kann, da die Umstände, die den Fehler verursachen, für mich keinen Sinn ergeben. Welches System verwende ich? Hyperpixel 4.0 in Kombination mit einem Raspberry ComputeModule 4 mit 2 GB RAM und 8 GB onBoard eMMC. Beides ist auf meiner benutzerdefinierten Platine montiert, die mit 24V versorgt wird, heruntergestuft durch einen "APP63300WU-7" Abwärtswandler, der 3A @ 5.1V Dauerleistung liefert. Die gemessene Spannung über 2 Tage liegt bei maximal 5,2V und minimal 5,05V. Die Software ist das neueste Raspbian. Welcher Fehler wird verursacht? Ich habe eine GUI auf meinem Raspberry Pi laufen lassen. Ich habe eine Seite, auf der ich drei Schieberegler für die Helligkeit meiner Raumbeleuchtung, die Farbtemperatur und einen Schieberegler zur Regulierung der Geschwindigkeit einiger Lüfter habe. Im Dunkelmodus funktioniert alles gut, aber wenn ich in den Lichtmodus wechsle und den Bildschirm für ca. 1,5 Sekunden berühre, hängt sich die Touch-Funktion auf. Meine GUI bewegt sich nicht mehr und ich habe ein Standbild. Ich weiß, dass es nur an der Touchfunktion liegt, denn wenn ich eine Tastatur und eine Maus anschließe, kann ich z.B. Chromium oder andere Sachen ohne Probleme öffnen. Mit dem "i2cdetect"-Befehl kann ich den Goodix GT911 Treiber auf Adresse 0x14 erkennen. Auch wenn der Touch sich aufgehängt hat, kann ich den Goodix GT911 erkennen. Ich weiß, dass die Adresse wahrscheinlich 0x5D sein sollte, aber ich dachte, es ist nicht notwendig, sich um dieses Problem zu kümmern, solange es funktioniert. Nach einem Neustart funktioniert der Touchscreen wieder einwandfrei, bis ich den Lichtmodus meiner GUI benutze. Interessant zu erwähnen ist, dass ich tausendmal für etwa 0,25 Sekunden klicken kann und keine Probleme auftreten. Berühre ich den Bildschirm jedoch permanent für ca. 1,5 Sekunden, bekomme ich sofort die oben beschriebenen Probleme. Generell erscheint mir dieses Problem sehr seltsam und es verhält sich nicht wie irgendein physikalisches Gesetz, das ich kenne... Auf den ersten Blick scheint der Fehler ein Softwareproblem zu sein ? Hört euch das an! Wenn ich das offizielle "Compute Module 4 IO-Board" verwende, um mein Compute Module und den Touchscreen zu montieren, habe ich das Problem nicht... Mein aktuelles PCB ist die zweite Version. Auf der 1. Version funktionierte es auch ohne Probleme. Der einzige Unterschied zwischen der 1. und 2. Version ist die Verdrahtung, die ich bei der 2. Version versucht habe zu verbessern und die Viewer-Teile, die ich bei der 1. Version nur eingebaut habe, um einige Funktionen wie Ethernet oder den zweiten I2C-Bus zu testen, die ich bei der 2. Die Verdrahtung hat sich zwischen den beiden Versionen nicht geändert, ich habe nur versucht, den Abstand zwischen den GPIO-Leitungen zu vergrößern, um die Signalintegrität zu verbessern. Es scheint also ein Hardwareproblem zu sein? Aber warum funktioniert die GUI im Darkmode einwandfrei? Dafür habe ich keine Erklärung. Was habe ich getan, um den Fehler einzugrenzen? Ich habe ein neues Image auf mein Compute Module geflasht und auch ein anderes Compute Module, ein Custom PCB und einen Touchscreen verwendet, aber ohne Erfolg. Soweit ich erfahren habe, tritt das Problem nur auf meiner GUI auf und nicht auf anderen Websites oder Bildern usw. Interessant war die Interrupt-Leitung, die typischerweise nur auf 0Volt gezogen wird, wenn der Touchscreen berührt wird. Nach dem Aufhängen des Touchscreens habe ich 0,084V auf dieser Leitung gemessen, und solange ich den Bildschirm berührte, stieg diese Spannung auf etwa 0,2V an, was mir ebenfalls ein seltsames Verhalten zu sein scheint. Ich habe auch die "dmseg"-Datei überprüft und einige Einträge für fehlgeschlagene i2c-Tests des GoodixGT911 erhalten. Ich habe auch den Github-Fix für die vertauschte i2c-Adresse ausprobiert, aber ohne Erfolg. Ich habe dazu den Befehl "git clone GitHub - pimoroni/hyperpixel4: Driver for the Pimoroni HyperPixel 4.0" Touchscreen Display -b pi4-i2c-fix " verwendet. Was soll ich als nächstes versuchen? Ich habe keinen Schimmer, was ich als nächstes tun soll. Die einzige Lösung, die mir vorschwebt, ist, die "verbesserte" Verdrahtung meiner zweiten Platine rückgängig zu machen, um meiner ersten Platinenversion so nahe wie möglich zu kommen. Fazit : Ich brauche wirklich Hilfe und hoffe, dass mir jemand diesen Gefallen tun kann. Mein beschriebenes Fehlerverhalten habe ich noch in keinem Forum gefunden. Gibt es noch andere brauchbare Foren für Probleme mit dem Hyperpixel 4.0? Lassen Sie es mich bitte wissen. Update: Ich habe versucht, die Fehler zu reproduzieren und die Fehlerquelle zu spezifizieren. Wie oben erwähnt, hängt sich der Touchdriver im Lightmode auf (fast alle Pixel auf rgb(255,255,255)). Wenn ich die Farbe im Lightmode auf etwa rgb(245,245,245) ändere, tritt der Fehler nicht auf. Mir ist auch aufgefallen, dass der Hyperpixel 4.0 über zwei Flachbandkabel verfügt: Eines für die Anzeige des Bildes und ein anderes für die gesamte I2C-Kommunikation mit dem Touch-Treiber. Ich habe das Kabel für die Bilddarstellung eingesteckt und hatte keinerlei Probleme. Auch wenn er theoretisch im Lichtmodus war (wenn das Display an gewesen wäre). Der Touchscreen funktionierte einwandfrei und übertrug alles einwandfrei: Fazit zu meinem Update: Es scheint so, als ob die rgb(666) Datenleitungen für die Darstellung des Bildes auf dem Bildschirm Probleme auf dem I2C Bus verursachen. Ich habe auch den Bus und die Stromversorgung mit einem Oszilloskop überprüft, aber ich habe in keinem Fall ein ungewöhnliches Verhalten feststellen können. Die Spannungswelligkeit lag bei etwa 200mV Peak to Peak und die I2C-Datalines stiegen und fielen sehr stark. Ich brauche noch Hilfe von euch! Danke, Tom
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.