Logo of 'fb electronics'

Projekte

Hier ist eine Auswahl meiner Projekte, die im Firmenumfeld und privat umgesetzt wurden.

Datalogger für Test-Fahrzeuge

Fahrzeugtests sind ein wichtiger Bestandteil im Entwicklungszyklus in der Automobilentwicklung.

Durch eine Vielzahl an Steuergeräten und Kommunikationssystemen im Fahrzeug fällt eine sehr große Menge an Daten an, die im Falle eines Fehlers oder eines unerwünschten Verhaltens im Nachhinein analysiert werden müssen.

Daher wird auf Testfahrten ein Datenlogger verbaut, der die gesamte Kommunikation aufzeichnet.

In einem kleinem Team wurde ein Datenlogger designed, welcher mehrere

  • CAN
  • Flexray
  • LIN
  • Ethernet
  • MOST
  • Analogkanäle
aufzeichnen kann.

Dabei wurden drei Infineon TriCores, ein FPGA, ein CPLD, sowie ein Embedded PC verbaut. Die Speicherung der Daten erfolgte wahlweise auf CF-Karte oder SSD.

Pulsonix
Icon für Hardware Entwicklung
Dashboard-Generierung für Confluence

Die Entwicklung von sicherheitskritischen Steuergeräten nach Standards wie der ISO 26262 oder ISO 13849 erfordern eine umfangreiche und lückenlose Dokumentation auf allen Ebenen.

Wird die Firmware dann noch modular geschrieben und verwaltet, z. B. um einen hohen Re-Use Faktor zwischen Steuergeräten zu haben, kann die Anzahl der notwendigen Dokumente in die Hunderte gehen.

Dort einen Überblick zu behalten, welche Dokumente in welchem Zustand sind und welche Versionen zu einem Paket gehören, ist sehr schwierig.

Daher wurde ein Confluence-Dashboard erstellt, welches täglich aktuelle Daten aus dem Requirements-Management-System lädt, aufbereitet und anzeigt.

Darunter sind z. B.

  • Dokumenten-Status
  • Review-Status auf Item/Requirement-Ebene
  • Test-Abdeckung
  • Status der Test-Durchführung auf Item-Ebene
  • Berechnung eines Score-Wertes pro Dokument für eine Ampel-Anzeige

Die Anwendung wurde in Python geschrieben, und mittels Jenkins Jobs täglich ausgeführt. Die Inhalte in Confluence wurden via der REST-API hochgeladen. Die Seite wurde so angelegt, dass nur bestimmte Bereiche automatisch befüllt werden und das Layout des Dashboards über den Confluence Web-Editor erstellt werden kann.

Python, Confluence API, PTC WindChill API
Icon für Software EntwicklungIcon für Projektmanagement
Projektmanagement CAN-Ethernet-Gateway

Gesamtprojektleitung eines Kundenprojektes für die Entwicklung eines CAN-Ethernet-Gateways im Landmaschinen-Sektor.

Begleitung von Lastenhefterstellung bis Serienabnahme.

  • Projektumfang >2 Mio €
  • Teamgröße ca. 15 Personen in Hardware, Software und Test
  • Entwicklung nach ISO 13849
ISO 13849, Infineon Aurix, AUTOSAR
Icon für Projektmanagement
Projektmanagement Überlastabschaltung

Gesamtprojektleitung eines Kundenprojektes für die Entwicklung einer Überlastabschaltung im Baumaschinen-Sektor.

Begleitung von Lastenhefterstellung bis Serienabnahme.

  • Projektumfang >1 Mio €
  • Teamgröße ca. 15 Personen in Hardware, Software und Test
  • Entwicklung und Zertifizierung nach ISO 13849 Pl c und IEC 61508
IEC 61508, ISO 13849, Infineon XC2000
Icon für Projektmanagement
Automatisierter Dokumentenexport

Requirements-Management-Systeme sind sehr gut dazu geeignet, Anforderungen aufzunehmen und für alle Disziplinen herunterzubrechen und mit Tests zu verlinken. Dabei wird auch oft eine Versionierung der Dokumente unterstützt.

Wird eine Zertifizierung angestrebt oder müssen Dokumente mit Kunden und Partnern ausgetauscht werden, wird ein PDF Export benötigt. Dieser muss dabei immer gleich aussehen, egal wer und wann einen Export macht.

Manche Systeme können allerdings nur Word-Dokumente exportieren, was einige manuelle Bearbeitungsschritte notwendig macht.

Daher wurde ein Tool entwickelt um sämtliche manuellen Schritte zu automatisieren und ein reproduzierbares PDF zu erzeugen.

Das Programm wurde in Python geschrieben, mit PySide6 als graphische Bibliothek und kommunizierte mit dem Requirements-Management-System via einer REST-API sowie mit Microsoft Word über die COM Schnittstelle.

Python, PySide6, PTC WindChill API, MS Word COM
Icon für Software EntwicklungIcon für Test Services
Automatisierter Testablauf für Umwelttests

Elektronikprodukte müssen verschiedenste Umwelt-, EMV und elektrische Tests bestehen, bevor sie in den Verkehr gebracht werden können.

Viele dieser Tests haben eine Durchlaufzeit von mehreren Stunden bis Tagen.

Um sicherzustellen, dass die Prüflinge keine Fehler oder Aussetzer haben, wurden die Testabläufe mittles LabView abgebildet und die Geräte permanent mittels XCP überwacht.

Nach Abschluss des Tests werden für jeden Prüfling Testberichte erzeugt und mit einem PASS oder FAIL markiert.

LabView, XCP, MS Word COM
Icon für Hardware EntwicklungIcon für Software EntwicklungIcon für Test Services
Build-Prozess-Automatisierung

Wartung von bestehenden Produkten ist ein entscheidender Punkt für die Kundenzufriedenheit. Je älter ein Produkte ist, desto wahrscheinlicher ist es, dass die verwendeten Tools schon längst überholt und bei den Entwicklern nicht mehr verfügbar sind. Auch die Sicherstellung, dass alle notwendigen Artefakte für ein Kunden-Release erzeugt und verpackt werden, ist ein wichtiger Punkt für die Lieferungsqualität.

Daher ist es hilfreich, eine virtuelle Umgebung zu schaffen, in der die für Debugging und Erstellen von Firmware notwendige Software zur Verfügung steht.

Um automatisiertes Erstellen und Testen von einem älteren Produkt zu ermöglichen, wurde die Build-Umgebung in einer virtuellen Maschine abgebildet. Alle Prozesse zur Erstellung der Firmware, Dokumentation, Tests und deren Ausführung wurden in Jenkins Pipelines implementiert.

Entwickler müssen lediglich neuen Code einchecken, um ein release-fertiges Paket zu bekommen.

Jenkins, VM
Icon für Software EntwicklungIcon für Test ServicesIcon für Produktions-Services
Oldtimer Radio

Viele Oldtimerbesitzer legen Wert auf ein originales Erscheinungsbild. Allerdings möchte man auch nicht auf moderne Annehmlichkeiten, wie ein Radio mit Bluetooth, sowie einen modernen Verstärker verzichten. Bei US-Fahrzeugen kommt noch hinzu, dass die meisten Radios oftmals nur AM-Empfang bieten, wodurch sie in Europa nutzlos sind.

Als Lösung wird dann oftmals ein Radio in das Handschuhfach oder anderswo versteckt eingebaut.

Mit dem Oldtimer-Radio ist dies nicht mehr notwendig. Das Innenleben des Radios wird durch moderne Elektronik ersetzt, die originale Bedienung bleibt erhalten.

Die Umschaltung zwischen Radio und Bluetooth erfolgt mittels Frequenzwahl, das heißt, dass z. B. anstatt der Frequenz 87,50 MHz der Bluetooth Modus aktiv ist. Das Frequenzband wird dabei entsprechend verschoben, sodass keine Frequenzen verloren gehen.

Das Radio bietet einen modernen Verstärker mit 2x30Wrms Ausgangsleistung und kann Stereo oder Mono betrieben werden.

Ein Display ist nicht zwingend notwendig, aber es kann ein LCD/OLED/ePaper Display verbaut werden, um RDS Daten und den aktuellen Interpreten und Titel anzuzeigen.

Qt GUI Applikation zum Testen der Software und der Radiofunktion
Render vom Hardware Design
KiCad, ESP32, C, FreeRTOS, Bluetooth, Audio, Qt/C++
Icon für Hardware EntwicklungIcon für Software EntwicklungIcon für Produktions-Services
Oldtimer Tankanzeige

Die Tankanzeige in meinem Oldtimer hat nie den richtigen Wert angezeigt. Der Hauptgrund dafür war, dass der Tankgeber und die Anzeige nicht zusammengepasst haben.

Die Tankanzeige funktioniert elektro-mechanisch mit einem umwickelten Bi-Metall-Streifen, durch den ein Strom, begrenzt durch den Tankgeber, fließt und den Steifen somit erwärmt. Durch die Erwärmung verbiegt sich der Streifen und bewegt die Tanknadel.

Um das System vernünftig abzugleichen wurde eine kleine Elektronik zwischengeschaltet, die den Widerstandswert des Tankgebers liest und einen Strom durch den Draht um den Bi-Metall-Streifen fließen lässt.

Der eingesetzte ATtiny402 hat dabei Kennlinien für die Umrechnung von Widerstandswert in Tank-Füllstand und Füllstand in Ausgangsstrom im EEPROM hinterlegt.

Die Bedatung der Kennlinien kann im Fahrzeug gemacht werden. Mit dem ATTiny kann über UART kommuniziert werden und es können die Kennlinien gelesen/geschrieben und die Live-Daten ausgelesen werden.

Mittels einer in Qt/C++ geschriebenen PC Applikation können die Kennlinien berechnet und mit der Elektronik kommuniziert werden.

Qt GUI Applikation, um die Kennlinien zu bedaten
Render vom Hardware Design
KiCad, Atmel, ATtiny, C, Qt/C++
Icon für Hardware EntwicklungIcon für Software EntwicklungIcon für Produktions-Services