Hallo zusammen,
ich arbeite derzeit an einem Projekt im Rahmen meiner Weiterbildung zum Maschinenbautechniker. Es handelt sich um ein Prüfgerät, das ich für Vakuumtests entwickle. Das Gerät soll automatisch den Zustand eines Vakuums überwachen und die Ergebnisse auf einem Display anzeigen. Zudem möchte ich die Messdaten in Echtzeit aufzeichnen und als Protokoll speichern können.
Projektziele
Automatisierung eines Vakuumtests:
Ich möchte eine Vakuumpumpe steuern und den Vakuumstatus in Echtzeit überwachen. Hierfür soll das Gerät die Vakuumpumpe automatisch starten und stoppen können.
Messdatenerfassung und -anzeige:
Der wichtigste Teil des Projekts ist die Erfassung von Strom- und Spannungswerten über einen INA219-Sensor. Diese Werte sollen in einem visuellen Interface angezeigt werden, wobei die gemessenen Daten direkt auf einem Display erscheinen. Später soll daraus auch der Druckwert in mbar abgeleitet werden.
Benutzerinteraktion:
Das System soll eine grafische Benutzeroberfläche bieten, die dem Benutzer ermöglicht, sich anzumelden und seine Eingaben zu speichern. Der Name des Benutzers soll im Interface erscheinen, und es soll Optionen zur Anmeldung und Abmeldung geben.
Protokollierung:
Die gesammelten Daten sollen in einer CSV-Datei gespeichert werden. Zusätzlich möchte ich die Möglichkeit haben, diese Datei per E-Mail zu versenden.
Hardware-Setup
Das Projekt basiert auf folgendem Hardware-Setup:
Raspberry Pi 4: Der zentrale Steuerrechner, auf dem die Software läuft und die Vakuumpumpe sowie die Sensoren gesteuert werden.
INA219-Sensor: Dieser Sensor misst die Strom- und Spannungswerte im System, die für die Ableitung des Druckwerts genutzt werden.
Vakuumpumpe: Diese wird über den Raspberry Pi gesteuert und dient zur Erstellung des Vakuums für die Tests.
GPIO-Pins: Diese werden verwendet, um die Vakuumpumpe zu steuern (insbesondere Pin 17) und um die Verbindung zu den Sensoren herzustellen.
Breadboard und Verbindungskabel: Zur Verkabelung der verschiedenen Komponenten und zur schnellen Änderung des Setups.
Herausforderungen
Aktuell stoße ich auf verschiedene Schwierigkeiten:
Die Kommunikation mit dem INA219-Sensor scheint nicht zuverlässig zu funktionieren, obwohl die Verkabelung korrekt zu sein scheint.
Die Echtzeit-Anzeige der Messwerte auf der Oberfläche funktioniert noch nicht wie gewünscht.
Die Implementierung und Integration der verschiedenen Funktionen in einer benutzerfreundlichen und funktionalen GUI gestaltet sich komplexer als erwartet.
Bisherige Unterstützung
Ich habe bereits versucht, dieses Projekt mit Hilfe von ChatGPT zu programmieren. Obwohl ich einige Fortschritte machen konnte, hat es leider nicht geklappt, das Projekt vollständig zum Laufen zu bringen. Daher wende ich mich jetzt an Experten im Forum, um weiterzukommen.
Ich bin leider absoluter Anfänger und habe sehr wenig Erfahrung.
Ziel der Anfrage
Ich suche nach Unterstützung in den folgenden Bereichen:
Fehlerbehebung: Insbesondere bei der Kommunikation mit dem INA219-Sensor und der Echtzeit-Datenanzeige.
Optimierung der Benutzeroberfläche: Vorschläge zur Verbesserung der GUI, besonders hinsichtlich der Darstellung der Messwerte und der Bedienbarkeit.
Allgemeine Beratung: Best Practices für die Softwarearchitektur und Implementierung in einem Projekt wie diesem.
Ich freue mich über jede Hilfe und jeden Rat, den ihr mir geben könnt! Vielen Dank im Voraus für eure Unterstützung.
Kurz gesagt : kann mir jemand Helfen diese Software zu programmieren, denn Sie ist ein wichtiger Bestandteil meines Projektes . Gruß Michael
Projektvorstellung: VAKU CHECK - Automatisierung und Messdatenerfassung für Vakuumtests
Hallo,
Ratschläge dich ich dir schon mal geben kann:
- Vergess das GUI bis die Logik an sich einwandfrei funktioniert.
- Wenn du den Code, den ChatGPT vorschlägst, nicht zu 100% verstehst, dann benutze ihn und ChatGPT nicht.
- Gliedere deine Probleme in ganz viele Teilprobleme auf und löse eins nach dem anderen.
- Wenn du bei einem Problem nicht weiter kommst, wird dir am besten geholfen, wenn du deinen Code, die vollständige Fehlermeldung oder das Ergebnis das von deiner Erwartung abweicht, hier postest.
Grüße
Dennis
Ratschläge dich ich dir schon mal geben kann:
- Vergess das GUI bis die Logik an sich einwandfrei funktioniert.
- Wenn du den Code, den ChatGPT vorschlägst, nicht zu 100% verstehst, dann benutze ihn und ChatGPT nicht.
- Gliedere deine Probleme in ganz viele Teilprobleme auf und löse eins nach dem anderen.
- Wenn du bei einem Problem nicht weiter kommst, wird dir am besten geholfen, wenn du deinen Code, die vollständige Fehlermeldung oder das Ergebnis das von deiner Erwartung abweicht, hier postest.
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
- noisefloor
- User
- Beiträge: 4149
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
um Hilfe zu bekommen, müsstest du auch schon den Code zeigen. Am besten immer (erst mal) nur den relevanten Teil, der nicht das macht, was du gerne hättest.
Und noch zum Thema GUI: wie Dennis89 schon gesagt hat: Programmlogik und GUI unbedingt Trennen. Das macht das Entwickeln und die Fehlersuche viel einfacher. Abgesehen davon: GUI Programmierung kann relativ aufwendig sein, spricht man braucht relativ viel Code. Je nach Trivialität der Programmlogik und der Anforderungen an die GUI kann der Codeteil für die GUI aufwendiger sein als der für die Programmlogik. Wenn man über eine Mega-triviale GUI hinausgehen will (oder muss), sollte man Python Klassen und Objektorientierung grundsätzlich verstanden haben, weil man das quasi zwingend braucht. Welches GUI Framework hast du vor, zu benutzen?
Falls du es noch nicht gemacht hast: unbedingt mal das Python-Tutorial durcharbeiten. Entweder die deutsche Übersetzung auf https://pytude.readthedocs.io/de/latest/ oder das englische Original, von dem die deutsche Übersetzung abgeleitet ist: https://docs.python.org/3/tutorial/index.html
Gruß, noisefloor
um Hilfe zu bekommen, müsstest du auch schon den Code zeigen. Am besten immer (erst mal) nur den relevanten Teil, der nicht das macht, was du gerne hättest.
Und noch zum Thema GUI: wie Dennis89 schon gesagt hat: Programmlogik und GUI unbedingt Trennen. Das macht das Entwickeln und die Fehlersuche viel einfacher. Abgesehen davon: GUI Programmierung kann relativ aufwendig sein, spricht man braucht relativ viel Code. Je nach Trivialität der Programmlogik und der Anforderungen an die GUI kann der Codeteil für die GUI aufwendiger sein als der für die Programmlogik. Wenn man über eine Mega-triviale GUI hinausgehen will (oder muss), sollte man Python Klassen und Objektorientierung grundsätzlich verstanden haben, weil man das quasi zwingend braucht. Welches GUI Framework hast du vor, zu benutzen?
Falls du es noch nicht gemacht hast: unbedingt mal das Python-Tutorial durcharbeiten. Entweder die deutsche Übersetzung auf https://pytude.readthedocs.io/de/latest/ oder das englische Original, von dem die deutsche Übersetzung abgeleitet ist: https://docs.python.org/3/tutorial/index.html
Gruß, noisefloor