Moin, ich bin Christian Köhlke.
Ich stamme aus Ostfriesland und habe dort Maschinenbau studiert.
Was mich ausmacht, ist eine sehr hohe Lernbereitschaft. Ich probiere gerne neue Dinge aus und gehe dabei
nach dem Trial-and-Error-Prinzip sehr pragmatisch vor.
"I ... am rarely happier than when spending an entire day programming my computer to perform automatically a
task that would otherwise take me a good ten seconds to do by hand."
- Douglas Adams
Fachlich interessiere ich mich für Automatisierungstechnik und Messtechnik.
Ein Roboter ist cool. Ein Roboter, der sich bewegt und Dinge tut, ist aber noch cooler. Entsprechend
interessiere ich mich nicht nur für die Mechanik, sondern auch für die Elektronik und Software.
In meiner Freizeit entwickle ich Software. Das Zusammenspiel von Hardware und Software ist für mich von
großem Interesse.
Daher programmiere ich vor allem gerne hardwarenah mit Arduino, WLAN-fähigen Mikrocontrollern von Espressif,
oder auch mit Raspberry Pi.
Ein weiteres Hobby von mir ist 3D-Druck. Ich besitze zwei 3D-Drucker: Einen Anet A6 und einen modifizierten
Geeetech A10M.
Original hat der A10M einen Dual-Mixer-Extruder, diesen habe ich allerdings auf ein Diamond-Hotend mit
Triple-Mixer-Extruder umgebaut.
Das blaue Raumschiff ist mein Logo seit einem Praktikum bei der Firma Orgadata AG in Leer 2016. Dort habe
ich die objektorientierte Programmierung
mit Object Pascal kennengelernt. In dem Zusammenhang habe ich Space Invaders in Object Pascal und später
auch in C++ programmiert.
Die Grafik, welche ich damals für den Spielercharakter erstellt habe, ist nun mein Logo geworden.
Im Maschinenbaustudium-Modul Leichtbau sollte eine Brücke aus Aluminiumprofilen mit Nieten
konstruiert und gebaut werden. In unserer 4er-Gruppe war ich für die Konstruktion zuständig.
Beim Wettbewerb am Ende des Semesters gab es es zwei Kategorien:
- die leichteste Brücke, welche mindestens 600 kg aushält (Limit Load)
- die leichteste Brücke, welche mindestens 1000 kg aushält (Ultimate Load)
Mit einem Gewicht von 1,988 kg hat unsere Brücke stolze 1370 kg Gewicht getragen. Damit hat
unsere Gruppe in beiden Kategorien gewonnen.
Jede Brücke wurde als Fachwerkkonstruktion gebaut. Das besondere an unserer Brücke war, dass die
Knoten der Fachwerkkonstruktion mit nur einer Niete durch 3 Aluminiumprofile verbunden wurden.
Dadurch ergibt sich eine deutliche bessere Krafteinleitung, als bei einer Konstruktion mit
mehreren Nieten nebeneinander, welche von anderen Gruppen gewählt wurde.
Das HyperPodX-Projekt wurde von Physik-Studenten der Universität Oldenburg angestoßen. Diese
nahmen an der 1. Hyperloop Competition von SpaceX teil.
Da es bei der 2. Hyperloop Competition darum ging, die Idee auch umzusetzten, den Hyperpod zu
bauen und in Los Angeles bei SpaceX zu testen, wurde eine Kooperation mit der HS Emden/Leer
gestartet.
Die HS Emden/Leer verfügt über die Kompetenzen und Maschinen, um dies fertigungstechnisch
umzusetzten. Daher wurde der HyperPodX an der Hochschule in Emden gebaut.
Mein Anteil an diesem Projekt war die Radaufhängung und Radbremse. Der Pod war konzipiert auf
Rädern zu beschleunigen bis eine Mindestgeschwindigkeit für die Magnetschwebetechnik erreicht
wird.
Beim Abbremsen wird zunächst auf eine Wirbelstrombremse gesetzt bis die Mindestgeschwindigkeit
für die Magnetschwebetechnik unterschritten wird und der Pod wieder auf die Räder abgesetzt
wird.
Da die Bremswirkung der Wirbelstrombremse mit sinkender Geschwindigkeit abnimmt, wird die
Radbremse zusätzlich für die Restgeschwindigkeit benötigt.
Mit der HyperPodX-Gruppe habe ich dann an der 2. Hyperloop Competition direkt in Los Angeles im
August 2017 teilgenommen. Dort konnte unser Pod die Top 5 erreichen.
Seit nunmehr 2005 existiert das „Solarboot Projekt“ an der Hochschule Emden/Leer. Studierende
verschiedener Fachbereiche haben in interdisziplinärer Arbeit ein solarbetriebenes Boot
aufgebaut und kontinuierlich weiterentwickelt.
Mit diesem Boot treten studentische Teams bei offiziellen Wettbewerben in Monaco, den
Niederlanden und Deutschland gegen andere Teams an. Über die letzten Jahre konnten dabei
zahlreiche Preise errungen werden.
Mein Anteil an diesem Projekt war die Konstruktion und der Bau eines Slipwagens, auf dem das
Boot gelagert werden kann. Dieser ermöglicht das Bewegen des Bootes in der Werkstatt, einen
einfachen Transport zu den Wettbewerben
und das zu Wasser lassen des Bootes bei den Wettbewerben. Mit dem Solarboot-Team habe ich im
Juli 2017 an der "Monaco Solar Boat Challenge" teilgenommen. Bei dieser konnten wir nach den
Ingenieurbüro Clafis den 2. Platz erringen
Für das "Labor für Intelligente Produktionssysteme" sollte ein Demonstrationsaufbau für
Industrie 4.0 Konzepte erstellt werden.
Dies sollte ein mit SPS automatisierter Aufbau mit Aktoren und Sensoren sein, bei dem eine
Kunststoffscheibe nach Farbe sortiert wird.
Ein anderer Student war dabei für den machanischen Aufbau mit 3D-Druckteilen und recycleten
Teilen aus einem alten Aufbau zuständig. Meine Aufgabe war es hierbei die Aktoren und Sensoren
pneumatisch und elektrisch zu verkabeln.
Zudem lag es in meinem Aufgabenbereich die SPS auszuwählen, zu initialisieren und zu
programmieren.
Da in Automatisierungstechnik der HS Emden/Leer die SPS-Programmierung an Beckhoff-SPS gelehrt
wird, wurde auch für das IPS-Labor eine Beckhoff-SPS gewählt. Am Ende wurde es ein C6015-IPC
zusammen mit dem EK1100 EtherCAT-Koppler.
Zudem beinhaltete das Projekte eine detailierte Dokumentation und Präsentation der Einrichtung
und Programmierung des Aufbaus, da dies zu Demonstrationszwecken in der Vorlesung verwendet
werden sollte
und für die Studenten eine Einführung in die SPS-Programmierung werden sollte.
Ein weiterer Teil des Projekts war die Einbindung der SPS in die vorhandenen Laboreinrichtungen
(Universal Robot UR10e, Ulixes Assistenzsystem A600). Dieses wurde mit dem Modul TF6250
ModbusTCP gelöst.
Eine in Python geschriebenen Bibliothek zum Ansteuern eines Schrittmotors mit einem
Trinamic-Schrittmotortreiber (z.B. TMC2209 oder TMC2240) und einem Einplatinencomputer wie einem
Raspberry Pi.
Die Bibliothek hat 2 Hauptaufgaben:
1. Das Bewegen des Motors mit STEP/DIR-Interface mit Geschwindigkeitsrampe
2. Das Auslesen und Beschreiben der TMC-Register via UART/SPI
Da sich beim Raspberry Pi 5 die GPIO-Hardware geändert hat und die bis dato Standard-Bibiothek
RPi.GPIO daher nicht mehr mit dem RPi5 kompatibel ist, muss eine alternative Bibliothek wie z.B.
gpiozero für den RPi5 verwendet werden.
Da jedoch RPi.GPIO eine bessere Performance aufgrund des in C geschriebenen Backends hat, soll
bei dem RPi4 oder älter weiterhin RPi.GPIO verwendet werden. Daher wurde eine GPIOWrapper-Klasse
implementiert,
welche je nach Board eine andere GPIO-Bibliothek nutzt. Mittlerweile werden auch noch weitere
Boards über deren spezifische GPIO-Bibliotheken unterstützt.
Zudem werden auch verschiedene Trinamic-Schrittmotortreiber, wie der TMC2209 und der TMC2240
unterstüzt. Die Architektur der Bibliothek errmöglich es recht einfach neue Schrittmotortreiber
hinzuzufügen.
Ende 2025, Anfang 2026 kann dann zusätzlich die Unterstützung für Micropython und Circuitpython
hinzu.
Über ein pyftdi kompatibles FTDI-Board wie dem FT232H kann die Bibliothek auch auf einem
Desktop-PC mit z.B. Windows verwendet werden.
Über GitHub Actions ist die CI/CD Pipeline eingebunden. Der Code wird automatisch durch Pylint
und das Framework unittest auf Einhaltung der StyleGuide und korrekte Funktionalität getestet.
Diese Unittests laufen primär auf CPython und mit CPython wird auch die Code-Coverage ermittelt.
Weitere Unittests laufen auf dem Micropython-Unix-Port, um die Kompatibilität mit Micropython zu
gewährleisten.
Zudem wird über Python Semantic Release automatisch anhand von SemVer und der Commit Message
Conventions eine neue Version erstellt und diese auf Github und PyPi released.
Bibliotheken:
- pySerial
- spidev
- RPi.GPIO
- gpiozero
- python-periphery
- Jetson.GPIO
- OPi.GPIO
- PyFtdi
Eine in C++ auf Basis von OpenGL geschriebene 3D-Game-Demo.
Es werden 3D-Bilder mit OpenGL gerendert. Die Modelle in der Demo wurden von mir in Blender
erstellt und mittels des im Repo enthaltenen modelconverter in ein Binärformat konvertiert.
Die Maps werden in einem XML-Format gespeichert, sodass eine einfache Editierung möglich ist. In
der Map werden die Positionen von Objecten/Modellen gespeichert, welche dann in OpenGL
dargestellt werden.
In OpenGL gibt es keine Kamera, man bewegt stattdessen die Welt um sich herum.
die Demo beinhaltet:
- Modelle
- Maps
- Kollisionserkennung (AABB, SAT)
- Lua Skripting
- Multiplayer
- 3D-Audio
- NPCs
Aktuell in GLSL implementierte Shader-Effekte:
- Texture Mapping
- Lighting
- Skybox
- Normal Mapping
- Shadow Mapping
- Environment Mapping
Bibliotheken:
- SDL
- OpenGL
- GLM
Im "Labor für Intelligente Produktionssysteme" der Hochschule Emden/Leer ist ein Universal Robot
UR10e vorhanden. Für diesen wurde in einem anderen Studententprojekt ein Greifer konstruiert und
gebaut.
Damit der Greifer am Roboter nutzbar ist, fehlten noch 3 Bestandteile, die in diesem Projekt
abgeschlossen wurden:
- Elektronik für den Greifer auf Arduinobasis
- Software für den Arduino im Greifer
- Software für den Roboter (URCap), um mit dem Arduino zu kommunizieren
Bibliotheken:
- SoftwareSerial
Im Modul Advanced Project Management des Maschinenbaustudium sollte ins Teams ein Roboter gebaut
werden, welcher in der Lage ist, einer Linie zu folgen und einen "Staffelstab" an den Roboter
eines anderen Teams zu übergeben.
Jeweils 2 Teammitglieder waren für folgende Aufgaben zuständig: Mechanik, Elektrik, Software,
Organisation. Das Projekt wurde mit Scrum organisiert.
Während des Projekts konnten Patente beim Professor eingereicht werden.
Das Verfahren zum Folgen der Linie mittels PID-Regelung anhand eines Helligkeitssensor an der
Kante der Linie wurde von uns während des Projekts beim Professor patentiert.
Der Roboter hat folgende Funktionen:
- Erkennung des Staffelstabs mittels Helligkeitssensor
- Folgen der Linie mittels Farbsensor
- Erkennung des Roboter des anderen Teams mit Ultraschallsensor
- Übergabe des Staffelstabs an das zweite Team
Bibliotheken:
- PID_v1
- TB6612MotorShield