dPlusSimulator Your D+



Was ist dPlus?

Es handelt sich um ein Signal, das man im Idealfall an der Lichtmaschine vom Fahrzeug abgreifen kann. Dieses wird bei Campern dazu genutzt, mit Hilfe eines Trennrelais oder einem Ladebooster, Starterbatterie und Wohnraumbatterie miteinander zu verbinden. So wird bei Fahrt auch die Wohnraumbatterie durch die Lichtmaschine geladen. Leider ist das Abgreifen vom Signal je nach Fahrzeug Typ unterschiedlich schwierig, teilweise gar nicht vorhanden oder es wird aufgrund neuer Normen (Euro 6) nicht mehr stetig ausgegeben. Unterdessen kommen vermehrt Simulatoren zum Einsatz, die ein "künstliches" Signal erzeugen. Da bereits verfügbare Systeme auf dem Markt bei mir nicht richtig funktionieren wollten, habe ich einen eigenen D+ Simulator entwickelt.

Die Idee

D+ Simulatoren, wie es diese bereits auf dem Markt gibt, funktionieren meistens über eine Spannungsmessung an der Starterbatterie. Steigt die Spannung über einen gewissen Wert, geht der Simulator davon aus, dass der Motor läuft und die Lichtmaschine Strom produziert. Leider funktioniert diese Technologie nur bedingt, da bei neueren Fahrzeugen die Lichtmaschine während der Fahrt nicht mehr stetig Strom ausgibt und somit nicht immer ein Anstieg der Spannung garantiert ist. Ausserdem setzt die Spannungsmessung an der Starterbatterie voraus, dass der Simulator in der Nähe dieser verbaut wird, was zusätzliche Leitungen von der Starterbatterie zur Bordbatterie nötig macht. Da ich gerade mit einem Mikrocontroller am Herumspielen war und mir dazu neue Bewegungssensoren gekauft hatte, kam mir irgendwann die Idee anhand der auftretenden Vibrationen im Fahrzeug zu steuern, ob nun ein D+ Signal ausgegeben wird oder nicht.




Die Hardware

Um einen ersten D+ Simulator Prototypen zu bauen, der anhand von gemessen Viberationen agiert, musste ich mich zuerst für die entsprechende Hardware entscheiden. Da ich schon Arduino Erfahrungen hatte, fiel diese Wahl einfach aus.

Was ist überhaupt Arduino? Arduino ist einfach gesagt eine Plattform, die Software und Hardware kombiniert. Damit lassen sich relativ schnell elektronischen Projekte realisieren und via USB Schnittstelle auch programmieren. Die Möglichkeiten sind dabei fast grenzenlos, es lassen sich z.B. problemlos kleine Roboter, Messgeräte oder wie sich herausstellte auch ein D+Simulator bauen.

Der zweite entscheidende Teil der Hardware ist natürlich der Bewegungssensor. Hier musste ich einige Modelle testen, bis ich erste befriedigende Resultate erzielte. Viele der versuchten Sensoren waren einfach zu wenig sensibel, um auch kleinste Erschütterungen wahrzunehmen. Um am Anfang nicht unnötig lange mit der Hardware zu kämpfen, entschied ich mich fürs Erste für eine komplett aufgebaute Sensoreinheit der Marke Iduino.


Und so funktionierts (Die Logik)

Als die Hardware fürs Erste festgelegt war, musste natürlich ein Code geschrieben werden. Der Code wird später auf das Herz der Schaltung, in diesem Fall auf den Chip, ATMEGA 328P-PU gebrannt. Programmiert wurde in der Arduino IDE Programmierumgebung. Die Anforderungen an das Programm waren schnell klar, es soll ein Sensor in bestimmten Intervallen ausgelesen, und die Anzahl Vibrationen hochgezählt werden. Wird ein vordefinierter Wert erreicht, soll ein Ausgang auf HIGH schalten. Ganz so einfach war es dann doch nicht. Es gab verschieden Hürden, die das Schreiben vom Code zusätzlich erschwerten: In Praxisversuchen hat sich gezeigt, dass es nötig ist, auch die Empfindlichkeit vom Sensor digital regulieren zu können. Trotz der zusätzlichen Steuerung der Empfindlichkeit musste auch ein Intervall definiert werden, das regelt, wie oft und lange der Sensor überhaupt abgefragt wird, da eine stetige Abfrage zu weiteren Problemen führte. Um hier ein Beispiel zu machen: Bei stetiger Abfrage vom Sensor wurde bei nur (einer) Erschütterung immer mehrere Signale gezählt, so war es nicht möglich schlaue Mittelwerte für die Steuerparameter zu ermitteln. Um den Stromverbrauch vom Chip auf ein absolutes Minimum zu reduzieren, mussten zusätzliche Schlafmodi programmiert, und die Anzeige-LED mit Hilfe von Pulsweitenmodulation gedimmt werden. Um ziel bringende Versuche durchzuführen, musste des Weiteren ein Display in Betrieb genommen werden, die Messergebnisse mussten ja auch abgelesen werden können. Die entscheidenden Werte wie Empfindlichkeit, Zeit- und Zählintervalle mussten auch ohne umprogrammieren schnell anpassbar sein, weshalb am Prototypen weitere externe Komponenten wie Potentiometer und Taster hinzukamen. Schnell wurde mir klar, dass die finale Version auch eine manuelle Steuerung der Signalausgabe über einen Schalter bieten soll, was weiteren Programmieraufwand mit sich brachte.


PCB Layout

Der Protoyp war nun voll funktionsfähig und der Code fürs Erste fertiggestellt. Jetzt ging es ans Erstellen der Platine. Wieso ist das nötig? Es wäre natürlich viel zu teuer Serienmässig jedes Mal einen Arduino UNO Mikrokontroller mit zu verkaufen, ausserdem gibt es viele Komponenten auf dem Arduino, die für Your D+ nicht benötigt werden und unnötige Stromfresser sind. Einige gute Beispiele dafür sind z.B. die USB Schnittstelle, der Reset-Button usw. Auch der Platzbedarf von fertigen Mikrokontrollern ist zu gross. Um eine Platine zu erstellen, wird entsprechende Software benötigt. Your D+ wurde mit der Software KiCad erstellt, die Open-Source ist und jeder gratis nutzten kann. Basis von jeder Leiterplatinen Software ist das entsprechende Schaltschema, dieses gilt es zuerst zu erstellen und ausgiebig zu testen.

Schaltschema

Hier geht es ans eingemachte. Bauteiltoleranzen, Wiederstände, Kondensatoren, Dioden alles muss richtig gewählt, gerechnet und geplant werden, um am Schluss den Atmega 328 P (Chip mit der aufgespielten Software) und das passende Zubehör (Sensor, Led, Schalter etc.) im Standalone betreiben zu können.


Die Platine(n)

Der 1. Versuch

Noch deutlich zu gross geraten, aber perfekt für die ersten Versuche. Passen alle Footprints? Nicht ganz, einen Fehler gab es bei den Leiterbahnen zur dreifarbigen RGB-LED. Für den Prototypen konnte ich einen Anschlussdraht (Anode) mit einem Schlauch isolieren und kreuzen, um trotzdem erste Versuche zu machen. Mit Serienreife hatte das natürlich noch nichts zu tun.


Ein anderes Topping bitte!

Bisher waren die Platinen mühsam zu löten, weshalb ich mich für eine neue Oberflächenbehandlung beim Hersteller entschied, die sich sehr gut für bleifreies Löten empfiehlt. Das Resultat waren deutlich sauberere Lötstellen und schnellere Lötzeiten.

Darfs auch etwas kleiner sein?

Der Fehler an der LED wurde korrigiert, die Gelegenheit genutzt, um die Bauteile zusammenzurücken, um später wertvollen Platz im Gehäuse zu sparen.


Ein paar Platinen in der Übersicht

Ja, das sind nicht alle Versionen:-) später kamen noch weitere Schutzdioden hinzu. Der Footprint vom Transistor BC 547a wurde gegen eine Wideversion getauscht (grösserer Pinabstand), um bei Einflüssen von Feuchtigkeit besser gegen Kurzschlüsse gewappnet zu sein.

Das Gehäuse

Zu guter Letzt musste noch ein passendes Gehäuse her, dass die Platine von äusseren Einflüssen schützt und die nötigen Öffnungen für das Anschliessen der Leitungen bietet. Auch hier kommt natürlich aufwändige CAD-Software ins Spiel. Hergestellt werden die Gehäuse im 3D-Druckverfahren, dass sich perfekt für Kleinserien eignet.

Nicht immer nur Plastik

Wer es etwas edler mag, setzt auf ein Holzgehäuse. Da ich das ganze Plastik langsam nicht mehr sehen kann, war mir von Anfang an klar, dass ich auch ein Holzgehäuse anbieten wollte. Der Deckel ist aus Buchenholz gefertigt, der Boden aus Sperrholz. Um ein solches Gehäuse zu fertigen werden natürlich entsprechende Schablonen benötigt, die einmalig im 3D-Druckverfahren hergestellt werden. Deckel und Boden werden anschliessend mit der von Hand geführten Oberfräse hergestellt. Sämtliche Hohlräume werden Millimeter für Millimeter ausgefräst, um im Innern den nötigen Platz für die Platine zu schaffen. Die Bohrungen, um später an die Schrauben der Klemmen zu kommen, müssen absolut präzise sein. Die Komponenten werden anschliessend von Hand geschliffen und geölt. Die Fertigung ist sehr aufwendig, weshalb es sich hier um Einzelstücke handelt.