Archiv der Kategorie: Allgemein

Tesla Command Button – Beenden und Entriegeln des Steckers

Als kurze Einführung in die Gesamtthematik empfehle ich, zunächst diese Übersicht zu lesen –> hier

Wie es funktioniert

Wie in der Übersicht erwähnt, kommt die Logik zum Ladeende und Entriegeln aus der SAE J1772. Im Wikipedia Artikel dazu steht (https://de.wikipedia.org/wiki/SAE_J1772), dass durch das Betätigen eines Schalter (S3, siehe wikipedia) der Widerstand zwischen dem sogenannten Proximitiy Plug (PP) und Schutzleiter (PE) auf 470 Ohm steigt und damit dem Auto das Ladeende signalisiert wird. Im Netz findet man häufig 440 Ohm als besten Wert. Diesen Wert konnte ich auch an Typ-2-Kabeln mit Tesla Command Button von Dritterstellern nachmessen. Aber was bedeutet diese Widerstandsänderung eigentlich für Typ 2 Stecker, wie wir sie in Europa haben?

Auch hier finden sich Beschreibungen über die Norm IEC 61851-1 unter anderem auf Wikipedia (https://de.wikipedia.org/wiki/IEC_62196_Typ_2). Der Widerstandswert zwischen PP und der Schutzerde (PE) wird für die Kodierung des maximal möglichen Ladestroms des Ladekabels verwendet. Bisher habe ich bisher nur 20A und 32A Kabel gesehen. Dort gelten folgende Widerstandswerte:

20A Kabel: 680 Ohm (Toleranzbereich 330 Ohm bis 1000 Ohm)
32A Kabel: 220 Ohm (Toleranzbereich 150 Ohm bis 330 Ohm)

Wenn wir also den Widerstand zwischen PP und PE auf 440 Ohm umschalten, dann passiert bei einem 20A Kabel nichts Relevantes. Wir bleiben weiter im Toleranzbereich des Widerstandswerts bleiben. Beim 32A Kabel kodieren wir auf 20A um. Eigentlich ist eine Umkodierung während des Ladevorgangs nicht vorgesehen. Wenn wir aber annehmen, dass das Auto das dennoch interpretiert, so würde das im Auto eingebaute AC-Ladegerät den Ladestrom absenken. Es scheint also, dass die temporäre Änderung des PP-PE Widerstands auf 440 Ohm an 20A und 32A Kabeln unproblematisch ist. Die Wallbox bzw das Ladegerät bekommt von der ganzen Widerstandänderung übrigens nichts mit. Der Widerstand zwischen PP und PE ist nicht mit der Wallbox verbunden.

Vorneweg ein Warnhinweis

Hier endet der Theorieteil. Deshalb kommt hier ein deutlicher Warnhinweis und die Erinnerung nur an nicht eingesteckten Ladekabeln zu arbeiten bzw. die Stromversorgung der Wallbox bei fest installierten Ladekabel am Sicherungskasten abzuschalten.
Die Lösung zur Entriegelung des Ladesteckers erfordert das Öffnen des Ladesteckers. Damit kommt man unweigerlich an die Interna und damit an 230/400V. Der Umbau sollte nur von ausreichend Fachkundigen durchgeführt werden. Holt Euch Hilfe, wenn Ihr die nötige Expertise nicht habt. Euer Elektriker vor Ort ist ganz sicher ein guter Ansprechpartner oder kauft die fertigen Drittanbieterlösungen.

Welches Kabel habe ich?

Einfach den Widerstand zwischen PP und PE am Ladekabel mit einem Multimeter nachmessen. Ca 680 Ohm = 20A, ca 220 Ohm = 32A. Das war es auch schon. Die Lage von PP und PE können der folgenden Pinbelegung entnommen werden.

Belegung des Typ2 Steckers.

Der Umbau

Die meisten Typ 2 Ladestecker kann man aufschrauben. Die Konstruktion ist zumeist ähnlich zu dem hier gezeigten Harting Stecker. Dieser sieht im Originalzustand so aus:

PP-PE Widerstand im Typ 2 Stecker wie original montiert

Man erkennt leicht den Widerstand zwischen PP und PE.

20A Kabel: Wir müssen jetzt einfach einen Taster (Schließer) mit einem Widerstand parallel anlöten, so dass sich beim Tastendruck ein Widerstandswert von ca. 440 Ohm ergibt. Wenn der Originalwiderstand wie bei mir fast exakt 680 Ohm beträgt, so klappt das durch Parallelschalten von 1.2 kOhm. Diesen habe ich aus einem 1k und einem 220Ohm Widerstand erzeugt. Hier sieht man den Taster sowie die eingeschrumpften Widerstände.

Taster eingebaut / Widerstände eingeschrumpft

Als Taster habe ich einen IP65 tauglichen Taster gewählt. Eine ausreichende Isolation & Spannungsfestigkeit ist anzuraten, auch wenn im Normalfall nur wenige Volt Spannung an den Widerständen anliegen. Der Taster muss nur wenige Volt und einige 100mA schalten können, sollte aber für den Fehlerfall einen guten Isolationswert haben. Ich habe einen Taster von Conrad mit der Materialnummer 701258 verwendet. Alternativ könnte man auch einen Reed Kontakt verwenden, den man dann von Außen per Magnet betätigt.

Typ 2 Stecker umgebaut

Ich habe noch einen kleinen Stecker aus dem Modellbau verwendet, um den Stecker demontierbar zu halten.

Fertiger Umbau

32A Kabel: Hier läuft der Umbau ähnlich. Man braucht hier einen Öffner (normally connected – NC) als Taster und einen 220 Ohm Widerstand. Der im Stecker verbaute 220 Ohm Widerstand wird mit dem weiteren 220 Ohm Widerstand in Serie geschaltet. Zu ein 220 Ohm Widerstand wird der Taster parallel geschaltet, so dann man einen 220 Ohm Widerstand im Normalzustand mit dem Taster überbrückt. Durch Drücken des Tasters erhöht sich der Gesamtwiderstand dann auf 440 Ohm.

Die richtigen Widerstände und der geeignete Taster sind also schon der gesamte Umbau. Hier nochmal der Hinweis: Die Entriegelung geht nur, wenn das Auto offen bzw. ein gekoppeltes Mobiltelefon in der Nähe ist.

Tesla Command Button – Öffnen der Ladeklappe

Als kurze Einführung in die Gesamtthematik empfehle ich, zunächst diese Übersicht zu lesen –> klick

Das Funksignal für das Öffnen der Ladeklappe ist ein relativ einfaches, für alle Teslas konstantes ASK Signal (Träger an/aus), das auf 433MHz gesendet wird (USA vermutlich 315MHz). Ein solches Signal kann man problemlos mit einem Arduino oder ähnlichen Microcontroller erzeugen und mit entsprechenden Sendemodulen senden. Hier liegt schon ein erster Grund für Fehlschläge. Die aus Arduino Kits weit verbreiteten FS1000A Module funktionieren nicht. Diese Module schaffen die nötige Taktrate nicht und haben keine gute Reichweite und Frequenzstabilität. Gute Erfahrungen habe ich mit STX882 Modulen oder dem Umbau einer Baumarkt Fernbedienung (z.B. Elro). Hinterlasst gerne einen Kommentar über funktionierende und nicht funktionierende Funkmodule.

Der zweite Knackpunkt scheint das Signal selbst zu sein. Es gibt Codes auf github dazu, die aber bei mir nicht wirklich robust funktioniert haben. Oftmals musste ich die Sendetaste wiederholt drücken. Deshalb habe ich das Signal mit einem Logic Analyser mitgeschnitten; einfach ein ASK 433 MHz Empfänger an den Analyzer und mit 2MHz Sampling geloggt. Mit einer deutlich verbesserten Nachahmung des Signals klappt alles prima und wie mit dem Original.

Signalbeschreibung

Das mitgeschnittene Signal sieht so aus:

Vornweg sei angemerkt, dass der UMC2 bei Signalwiederholungen kein komplett identisches Timing erzeugt; +/-10us Abweichungen scheinen ganz normal und sind offenbar kein Problem.

Die Präambel des Signals besteht aus 13 ca. 800us langen An/Aus-Perioden. Der UMC2 erzeugt bei der Präambel allerdings eine Art „Chirp“. Die An-Pulse starten mit ca. 530us Länge, die Aus-Pulse mit ca 270us. Die An-Pulse werden mit jeder Wiederholung ca. 20us kürzer, die Aus-Pulse entsprechend länger. Am Ende der Präambel sind die Pulse dann 400us lang. Ich bin nicht sicher, ob dieser „Chirp“ wirklich nötig ist. Ich habe ihn in den Code mit eingebaut. Weiterhin findet man in dem Signal Manchester kodierte Anteile. Dieser Codeteil wird dreimal wiederholt. Zwischen den Codeteilen gibt es ein Trennsignal. Am Ende folgt ein etwas anderes Abschlusssignal. Danach kommen 25ms Pause. Das Signal wird so lange gesendet, wie der Knopf gedrückt wird.

Der Code:

Diese Signalfolge habe ich als Code für die Arduino Entwicklungsumgebung auf github abgelegt: https://github.com/stefan73/BetterTeslaChargeportOpener

Der Code braucht keine weiteren Libraries und sollte damit sehr portabel sein. Kleinere Abweichungen im Timing im Bereich von +/-10us hat ja auch das Original. Deshalb langen auch die nicht so ganz exakten Delay() Funktionen der Arduino IDE. Es sollte auch mit anderen Boards problemlos klappen. Sowohl mit ATMega 328p als auch mit 168 Boards konnte ich damit problemlos die Ladeklappe öffnen. Nach 10 Wiederholungen des Gesamtsignals (also 10 x 3 = 30 Codepaketen) endet die Übertragung und die Board LED / Pin13 blinkt.

Die Schaltung:

Ich habe ganz trivial einen Taster genommen. Dieser schaltet die Spannungsversorgung zu meinem Arduino Mini Pro Board mit ATMega 168 (und ja, ein 1€ Clone von Aliexpress tut es) sowie dem Sendemodul. Der 433MHz Sender wird mit seiner Datenleitung an Pin11 des Arduino angeschlossen und das war es auch eigentlich schon. Wer will kann den Sender über Pin 10 mit 5V Spannung versorgen, was sich bei meiner Trivialschaltung allerdings erübrigt – ich schalte einfach alles über den Taster.
Falls ihr dazu einen Schaltplan möchtet, hinterlasst bitte einen Kommentar. So sieht die einfachste Form der Schaltung mit einem Mini Pro (ATMega168) und STX882 aus.

EInfache Schaltung mit MiniPro und STX882 – STX882 Spannungsversorgung über den 5V Pin des Arduino

Achtung Bootloader:

Einen Hinweis muss ich noch zum Bootloader geben. Die alten Arduino Bootloader brauchen ca. 1-2 Sekunden, bis unser Code auf dem ATMega los läuft. Das ist an sich kein Problem – man muss die Taste aber dann so lange drücken. Die Lösung heißt Optiboot. Das ist ein neuerer Bootloader. Mit diesem läuft der Code des Nutzers ohne merkbare Verzögerung los. Für unsere Schaltung ist das natürlich schöner, weil man damit kaum eine halbe Sekunde auf den Knopf drücken muss und schon öffnet sich die Klappe. Es gibt eine Menge Anleitungen zum Flashen von Optiboot im Netz. Für Anfänger ist es sicherlich besser einen Arduino aus vertrauenswürdiger Quelle mit aktuellem Bootloader zu kaufen.

Wie ihr im Beitragsbild sehen könnt, habe ich eine Baumarktfernbedienung umgebaut und an der Garagenwand montiert. Man kann natürlich auch versuchen, die Schaltung in den Ladestecker einzubauen. War mir offen gesagt zu aufwändig. Die gezeigte Fernbedienung hängt direkt neben der Wallbox.

P.S. Ich habe Mikrosekunden mit der Einheit us bezeichnet. Das eigentlich korrekte griechische My Zeichen habe ich aus Bequemlichkeit nicht benutzt.

Tesla Command Button – der Knopf am Ladestecker: Funktionsweise, Nachrüstung, Selbstbau

Wer einen Tesla fährt hat sicher schon mal das UMC Ladegerät, eine Tesla Wallbox oder einen Supercharger genutzt. Bei den original Tesla Ladesteckern gibt es einen Knopf, den es bei Lösungen von Drittherstellern nicht gibt. Dieser Knopf erfüllt zwei Funktionen:

  1. Wenn man den Knopf drückt, öffnet sich die Ladeklappe am Auto.
  2. Wenn das Auto lädt, kann man mit dem Knopf den Ladevorgang beenden und den Ladestecker entriegeln.

Beides funktioniert nur, wenn das Auto aufgeschlossen ist bzw. bei Keyless Entry das Mobiltelefon in der Nähe des Autos ist. Beide Funktionen kann man auch im Auto auf dem Touchscreen auslösen oder über die Tesla App ansteuern. Der Knopf ist die bequemere Lösung. Praktisch gesehen ist 2. wichtiger als 1. Die Ladeklappe kann man auch durch einen sanften Druck auf die Klappe öffnen. Das Beenden & Entriegeln per App oder Touchscreen ist unpraktisch.

In den folgenden Posts möchte ich meine Erkenntnisse zur Funktionsweise dieses Knopfes teilen. Dazu kommen Anleitungen zur Nachrüstung der Funktion an beliebigen Ladekabeln und Wallboxen. Die ganze Sache ist nicht nur auf meinem „Mist“ gewachsen. Ich habe viel in Auszügen von Normen, Whitepapers, Foren & Blogs gelesen und gelernt. Dazu kommen eigene Messungen & Erkenntnisse. Ich sehe mich außer Stande alle Quellen zu listen, das tff-forum sei hier explizit erwähnt. Man kann es sich auch einfach machen und fertige Kabel mit Tesla Command Button von Drittherstellern kaufen. Das ist bequem, aber natürlich wesentlich teurer und langweiliger als es selbst zu lösen.

Vorneweg ein Warnhinweis:
Die Lösung zur Entriegelung des Ladesteckers (2.) erfordert das Öffnen des Ladesteckers. Damit kommt man unweigerlich an die Interna und damit an 230/400V. Der Umbau sollte nur von ausreichend Fachkundigen durchgeführt werden. Holt Euch Hilfe, wenn Ihr die nötige Expertise nicht habt. Euer Elektriker vor Ort ist ganz sicher ein guter Ansprechpartner oder kauft die fertigen Drittanbieterlösungen.

Funktionsweise des Tesla Command Buttons – Öffnen der Ladeklappe
Das Öffnen der Ladeklappe funktioniert über ein 433MHz Funksignal (in den USA vermutlich 315MHz – da bin ich nicht sicher). Dieses Funksignal ist ein fixer Code für alle Teslas. Da das Signal nur bei geöffnetem Auto / Mobiltelefon in der Nähe funktioniert, besteht kein Sicherheitsrisiko. Es gibt für diese Funktion bereits publizierte Microcontroller Codes im Netz. Allerdings haben diese bei mir nicht gut funktioniert und sie scheinen alle nicht ganz dem Originalsignal zu entsprechen. Für meine Lösungsvariante geht es hier entlang –> klick.

Funktionsweise des Tesla Command Buttons – Beenden und Entriegeln
Diese zweite Funktion ist komplett anders implementiert als das Öffnen der Ladeklappe. Mir sind zwei Varianten für die Signalisierung für ein Ende des Ladevorgangs und Entriegelung bekannt. Bei den Normen bin ich nicht komplett sicher, da ich keinen Zugriff auf die Dokumente habe.

  1. Beenden & Entriegeln vermutlich gemäß IEC 61851-1. Dieses Verhalten konnte ich auch am Tesla UMC2 (aka 230V Ladegerät) nachmessen. Es ist wohl die für Typ2 Stecker gültige Variante. Kurzfassung für Insider: Dabei wird das PWM Signal zwischen CP und PE am Ladestecker unterbrochen und permanent +12V geschaltet. Diese Implementierung muss im Ladegerät/Wallbox vorgesehen sein. Eine einfache Unterbrechung des CP Signals funktioniert nicht. Des Tesla erkennt dies als abnormales Ende des Ladevorgangs. Das Auto zeigt einen Fehler und entriegelt den Ladestecker nicht.
  2. Die zweite Variante ist tiefer in der SAE J1772 vergraben (siehe auch Wikipedia Artikel dazu) und wohl streng genommen nicht der Typ2 Norm entsprechend. Dennoch funktioniert diese Variante problemlos und sie ist wirklich simpel nachzurüsten. Hier wird der Widerstand zwischen PP und PE im Ladestecker geeignet verändert. Nach der IEC Norm wird durch den Widerstand eigentlich die maximale Belastbarkeit des Ladekabels festgelegt. Eine Umschaltung im Betrieb ist sinnlos. Der Widerstandswert aus der SAE Norm passt interessanterweise genauso bei der IEC Norm, dass nichts Schlimmes passieren kann. Auf diesem Verhalten beruhen auch die Drittherstellerkabel und die hier beschriebenen Nachrüstvariante –> klick.
DJI Analog Mod

DJI FPV Brille mit URUAV Analog Adapter – Streifen weg & 3D Druck Adapter

Die DJI FPV Brille unterstützt kein analoges FPV – wie gut, dass es den URUAV Adapter gibt. Also Adapter kaufen, einstecken und gut? – Nicht ganz, denn das Bild out-of-the-box war bei mir furchtbar.

Elektronik-Mod mit Tantal-Elko

Ich habe den URUAV Adapter Version 1 (also ohne Schalter). Diese Version hat eindeutlig ein technisches Problem und wenn ich mit V2 ansehe, dann dürfte das auch bei dieser Version der Fall sein. Ich habe das so wie von URUAV zusammengesteckt, mein Pro58 eingesteckt und hatte lauter Streifen im Bild. Rapidfire eigesetzt, besser aber auch Streifen.

Mit etwas Erfahrung sieht man, dass die Effekte vom Spannungsregler (Step-Down) auf dem URUAV Modul kommen. Und eigentlich ist der Adapter elektrisch nur ein Step-Down.

Das Problem ist eine mangelnde Stabilität der erzeugten 5V, sobald das Modul etwas ehr Strom zieht. Schaut man sich den Adapter an, sieht man einen klassischen Step-Down Regler. Diese Regler aber auf der Eingangs wie Ausgangsseite Kondensatoren zur Stabilisierung. Aber diese Kondensatoren sind doch arg klein ausgefallen.

Die Lösung ist es, einen dicken Elko nachzurüsten. Damit das auch mechanisch weiterhin passt, empfiehlt sich ein Tantal Elko. Ich habe einen 330Mikrofarad 6,3V Tantal genommen. Und weil die Tantal Elkos eher einen höheren ESR (Ersatzserienwiderstand) haben, habe ich nochmal einen 100nF Keramikkondensator parallel geschaltet.

Der Tantal Kondensator passt prima auf der Vorderseite und kann direkt an die verbauten Kondensatoren angelötet werden. Achtung: Bei Tantals auf die Polung achten. Der Pluspol ist mit einer Linie markiert. Wird der Tantal falsch herum eingebaut, knallt es gegebenfalls wortwörtlich.

< BILD >

Verbaute Stützkondensatoren – eigenen sich gut zum Anlöten des Tantal Elkos
Eingelöteter Tantal Elko 330 Mikrofarad/6.3V

Der 100nF Keramikkondensator ist auch verzichtbar. Dieser kann optional auf der Platinenrückseite an die 5V Pads gelötet werden.

Das war auch schon der elektrische Umbau. Last but not least muss man noch das analoge Kabel am Stecker im Gummi etwas „nachschnitzen“, je nach dem welches Gehäuse man für den Adapter verwenden will. Dazu habe ich einfach den inneren Winkel der Stecker leicht nachgeschnitten, damit er auch wirklich bis zum Anschlag in die Buchse rutschen kann ohne am Gehäuse zu schleifen. Alternativ kann man die Bohrungen im Gehäuse erweitern.  Wer den Adapter ohne Gehäuse verwendet, braucht das nicht.

3D Druck Gehäuse

Für das Gehäuse habe ich zwei Teile von Thingiverse verwendet. Ohne weitere Änderung – deshalb auch ohne viele Worte. Diese Baseplate:
https://www.thingiverse.com/thing:4069666

Diese Topplate passt nicht nur für Rapidfire – passt auch für andere Module; zB mein altes Pro58 als auch mein Rapidfire:
https://www.thingiverse.com/thing:4078541

Faceplate Mod für Fatshark HDO – ohne Auseinanderbauen und reversibel

Es gibt diverse Vorschläge für eine Modifikation der Faceplate der Fatshark HDO (HD3 ähnlich) im Netz. Hier kommt einer weitere, die im Prinzip ein Best-of der bekannten Anleitungen ist. Der Mod beseitigt die Notwendigkeit den Ventilator bei der Fatshark mit dem separaten Balancerkabel anzuschließen. Der Vorteil dieses Vorschlags ist:

  1. Keine Bohrungen nötig. Die Modifikation ist also reversibel.
  2. Modifikation kann vorgenommen werden, ohne die Brille zu öffnen. Man muss nur die Faceplate abnehmen und den Schacht an der Seite des Stromanschlusses öffnen.

Die Modifikation funktioniert ziemlich einfach. Wir klauen die Spannung vor dem Festspannungsregler, der die 5V für die Brille erzeugt. Der Regler liegt hinter einer Diodenschaltung und hat deshalb nicht ganz die Lipo Spannung. Wir versorgen den kleinen Ventilator mit ca. 0.5 V weniger als bei direktem Anschluss an den Brillenakku. Das ist kaum merklich. Der Ventilator braucht ca. 25mA bei 8V; der Verbrauch fällt also kaum ins Gewicht.

Für den Umbau wird zunächst die schwarze Faceplate entfernt. Diese ist zentral mit einer Schraube fixiert. Danach muss man die Faceplate ausklipsen. Es geht – einfach trauen. An einer Seite anfangen und versuchen die Faceplate abwechselnd oben und unten auszuhaken. Der erste Klick ist der „Schlimmste“. Danach den linken Modulschacht (gesehen von vorne auf die Brille) öffnen, der neben dem Stromanschluss liegt. In folgenden Bild wird gezeigt, wo man die Spannung für den Ventilator abgreifen kann. Die Anschlüsse des Festspannungsreglers liegen so, dass man zwei Kabel problemlos von außen anlöten kann.

Die Kabel werden dann nach hinten durch das runde Loch herausgeführt werden.

Dann einen 3 poligen Balancer Stecker anschließen. Dabei auf die Polung achten. Faceplate wieder montieren.

Fertig. Wenn alles richtig geklappt hat, läuft der Ventilator nun wenn der Akku über den Hohlstecker mit Spannung versorgt wird.

Kostenfalle Alditalk in der Schweiz & Europäischen Nicht-EU Ausland

Hier kommt mal etwas nicht Technisches: Eine Warnung vor einer ziemlich fiesen Kostenfalle bei Alditalk in der Schweiz und dem europäischen Nicht-EU Ausland. Man könnte es fast für Absicht oder Abzocke halten, aber das wollen wir nicht unterstellen. Ich gehe eher von Unfähigkeit in der Marketing Kommunikation bei Alditalk aus.
Das Problem in kurz: Die Alditalk Sprach- oder Internet Flatrate gilt NUR in den EU Staaten, auch wenn Aldi in den Kostenmitteilungen per SMS anderes zu versprechen scheint. In Aldis Logik ist eine in der EU gültige Flatrate nämlich keine EU-Flatrate. Hä? – Genau.

Die Langversion:
Ich war in der Schweiz und bekam vor Ort folgende SMS:

Alles OK? – NEIN!

Da denkt der Kunde: Super. Meine Flatrate gilt ja in der EU. Und laut der SMS gilt sie also auch in der Schweiz. Weit gefehlt. Ihr werdet jetzt ohne weitere Warnung viel Geld bezahlen.
Die Alditalk Logik ist letztlich historisch bedingt. Einstmals galten Internet- und Sprachflatrates nur in Deutschland. Damals konnte man ein EU Sprach oder Internet Paket zubuchen, wenn man ins EU Ausland fuhr. Dieses Paket war dann für eine Woche gültig. Inzwischen hat die EU aber die Telekommunikationsanbieter reglementiert und so gelten die für Deutschland gebuchten Flatrates auch in den EU Staaten. Das bis dato existierenden EU Pakete sind damit eigentlich sinnlos. Beispielsweise gilt ja nun meine normale Flatrate auch in Österreich und ich muss nichts mehr zubuchen.
Das gilt allerdings nicht für die europäischen Staaten, die nicht EU Mitglied sind. Für diese Staaten muss man weiterhin etwas zubuchen. Dämlicherweise (sorry) nennt Aldi die für das nicht EU-Ausland zu buchende Pakete weiterhin „EU-Pakete“.

Die Aldi Logik – übersetzt auf Normal-Deutsch:
–> Eine Alditalk Flatrate aus Deutschland gilt auch in der EU.
–> Ein Alditalk EU-Paket ist für die EU nicht nötig.
–> Ein Alditalk EU-Paket muss man aber für das Europäische Nicht-EU Ausland zu buchen. Also beispielsweise für die Schweiz.
Es hat etwas gedauert, bis ich die Aldi Logik entschlüsselt hatte. Ich habe dazu mit der Hotline gemailt. Positiv formuliert: Freundlich waren die Antworten. Über den Rest hüllen wir besser den Mantel des Schweigens.

Liebes Alditalk Marketing, glaubt Ihr echt, das man so Kunden gewinnt oder hält?

Carrera Digital 143 Rundenzähler (42008) – Lauter machen und mit dem PC (X Lap) nutzen

Ich bin günstig an eine Carrera 143 Digitalbahn gekommen. Ein passender Rundenzähler (42008) war dabei. Eigentlich war mir der Rundenzähler nur zu leise und habe ihn deshalb aufgeschraubt. Neben einer Lösung habe ich einen Anschluss für einen versteckten PC Anschluss gefunden. Man kann die Bahn dann mit der Carrera X Lap Software betreiben und einen PC als Rundenzähler nutzen. Eine Alternative zu dem Rundenzähler dazu ist übrigens ein Umbau auf die Blackbox der 132.

Rundenzähler öffnen

Das Öffnen des Rundenzählers ist ohne „Tricks“ möglich. Von der Rückseite her sind 5 kleine Kreuzschrauben zu lösen. Danach kann man die Frontplatte vorsichtig abziehen. Die Knöpfe fallen dabei aus der Frontplatte. Sie lassen sich beim Zusammenbau einfach wieder einsetzen. Beim Auseinanderbauen bitte vorsichtig sein, um die Kabel nicht von der Platine abzureißen.

Rundenzähler lauter machen

Auf der Rückseite der Platine des Rundenzählers ist ein kleiner Lautsprecher angeschlossen. Dieser wird über einen SMD Transistor (T1) angesteuert. In Serie mit dem Lautsprecher ist ein 470 Ohm Widerstand (R11) eingebaut. Wenn man den Rundenzähler lauter machen will, ist der einfachste Weg ein höherer Strom durch den Lautsprecher. Man kann den eingebauten Widerstand ersetzen. Einfacher ist es, einen klassischen Widerstand (THT) parallel anzuschließen.  Der Platz dafür ist vorhanden. Ich habe einen weitern 470 Ohm Widerstand an den beiden eingezeichneten Lötpads angelötet. Damit halbiert sich der Gesamtwiderstand. Den Widerstand kann man mit etwas Heißkleber fixieren. Ansonsten ist nur darauf zu achten, dass die Drähte des Widerstands keine anderen Bauteile bzw Anschlüsse berührt. Das war es auch schon.
Wem es damit noch zu leise ist kann mal 180 Ohm probieren. Damit fällt der Gesamtwiderstand auf grob 1/3 des ursprünglichen Werts (ca 130 Ohm).

Platine Rundenzähler

PC Anschluss

Nach dem Auseinanderbauen des Rundenzählers habe ich mit Erstaunen den verdeckten Anschluss auf der Platine gefunden. Auf der Gehäuse Rückseite ist sogar das entsprechende Loch vorgesehen, um den Anschluss zugänglich zu machen. Man muss nur das runde Plastikscheibchen herausbrechen. Was auch immer Carrera sich dabei gedacht haben mag, die Sache ist erstaunlich. Nach einigen Messungen und Analyse der Platine stellte sich heraus, dass hier ein vollwertiger Anschluss mit der identischen Belegung des Carrera 132/124 Digital Rundenzählers entspricht.

Anschlussbelegung

Man braucht also nur ein passendes PC Kabel und eine Software. Ich habe Carreras X Lap 1.20 auf einem Windows 10 Rechner benutzt. Und jetzt kommt das wirklich Erstaunliche: X Lap erkennt den Rundenzähler als „Digital 143 Lapcounter“. Offenbar hat Carrera sowohl Hardware als auch Software vorbereitet und dann beschlossen, den Anschluss doch lieber zu vernageln. Ich tippe mal auf interne Entscheidungen in der Produktpositionierung.

X Lap erkennt den Rundenzähler der D143

Der Rundenzähler selbst zeigt im PC Betriebt übrigens „PC“ auf seinem Display an.

PC Modus des Rundenzählers

Mit der Lösung klappt das Rundenzählen und auch die Audioausgabe am PC. Da die D143 keinen Knopf zum Starten des Rennens hat, bekommt man keine Startampel am PC. Ein Rennen über x Runden mit Ansagen und Statistik klappt aber problemlos. Einfach die Anzahl der Runden am PC einstellen und losfahren.

PC Interface – kaufen oder mit FTDI oder CH340 Adapter selbst bauen

Für den Anschluss an den PC braucht man ein Interface. Es gibt ein entsprechendes Adapterkabel von Carrera. Ich hatte das nie in den Händen. Ich gehe aber davon aus, dass das Kabel für die D132/D124 auch hier funktioniert. Der Anschluss ist ja identisch. Die entsprechenden Kabel kosten so ca. 30€ für kompatible Kabel und ca. 80€ für das Original (30349). Man kann ein Kabel auch für ein paar Euro selbst bauen.

Für den Selbstbau braucht man:
1. Ein Seriell zu USB Interface. Interfaces mit CH340 und FTDI Chipsatz gehen. Solche Adapter gibt es für deutlich unter 5 Euro (teilweise 1-2€). Mit einem Silabs Adapter hatte ich keinen Erfolg. Bei der Wahl zwischen CH340 und FTDI würde ich eher CH340 empfehlen. Bei FTDI sind Clones im Umlauf und FTDI hat sich mit einer fragwürdigen Treiber-zerstört-Clone-Politik aus meiner Sicht disqualifiziert. Die CH340 Chips laufen problemlos, robust und sind günstiger.

2. Einen PS/2 Stecker und etwas Kabel. Achtung: Man kann auch ein PS/2 Kabel nehmen und „schlachten“. Dabei aber bitte darauf achten, dass alle nötigen Pins auch angeschlossen sind. Der von Carrera verwendeten Pins sind beim PS/2 Standard zum Teil nicht belegt/verwendet. Im Zweifelsfalls also lieber einen PS/2 Stecker und ein dreipoliges Kabel kaufen. Das Kabel selbst ist einfach nur eine triviale Verkabelung zwischen Stecker und Adapter. Dabei bitte drauf achten, dass die RX/TX Leitungen gekreuzt werden (also RX des Rundenzähler an TX des Adapters anschließen und umgekehrt). Dann muss noch die Masse (GND) verbunden werden und das Kabel ist fertig.

Viel Spass beim Fahren 🙂

Eachine Pro58 – Flashen aber wie die Anschlüsse anlöten?

Der Eachine Pro58 Diversity Receiver ist seit einigen Monaten der Preis/Leistungstipp bei den FPV Diversity Empfängern. In Fatsharks passt er nativ. Zuvor hatte ich einen Beitrag für den Einbau dieses Empfängers in eine EV100 Brille gepostet. Und es kommen immer mehr Anleitungen wie z.B. für die EV800D.

Der Empfänger hat einen behebbaren Nachteil. Die Firmware taugt nichts. Es gibt diverse Alternativen. Kostenlos sind PirxthePilot & WPro58. Für 11€ gibt es die kommerzielle Achilles Firmware. Meines Erachtens ist Pirx hervorragend, aber jeder nach seiner Façon. Es gibt auch sehr viele Anleitungen zum Flash Vorgang. Soweit ist die Sache eigentlich trivial.
Aber wie lötet man eigentlich die zum Flashen nötigen Kontakte an? – Ist doch kein Problem, hier wird es gezeigt:

Also schnell vier Kabel an SWDIO, SWDCLK, GND und 3.3V in der obenen Ecke gelötet? – Geht, aber Vorsicht. Die Pins sind sehr eng zusammen. Weiterhin ist die Platinenqualität nicht gut. Wenn man auch nur etwas zu lange herumlötet, lösen sich die Leiterbahnen ab. Und wenn man irgendwann eine neue Version flashen will, dann lötet man wieder an. Die Wahrscheinlichkeit das Modul damit zu killen ist groß. Auch der Vorschlag zwei Pins an SWDIO und SWDCLK anzulöten ist nicht ideal. Das Modul passt so nicht mehr in den Schacht und da die Kontakte nur auf einer Seite der Platine angelötet werden, lösen sich leicht die Leiterbahnen.

Der Vorschlag ist eigentlich trivial. Zwei kurze Breadboard Patchkabel an SWDIO und SWDCLK anlöten. Bitte Kabel mit weiblichen Steckern nehmen. Die Kabel bleiben bei der Montage in der Brille angelötet und sollen keine fehlerhaften Kontakte erzeugen.
Die Lötpunkte haben ein Loch und ein abisoliertes Patchkabel passt durch dieses Loch. Wenn man die Kabel kurz vorverzinnt (nicht zu dick), dann steckt man sie durch die Löcher und hält kurz die Lötspitze von links und rechts jeweils außen ans Kabel. Fertig. Die Lötzeit wird dadurch sehr kurz. Da es nur zwei Kabel sind, hat man von links / rechts Platz. Bei vier Kabeln würde es sehr eng werden. So sieht das Ergebnis aus:

Die Patchkabel kann man dann hier platzieren, wenn man das Modul in den Modulschacht einsetzt.

Zum Flashen nimmt man einen STLink V2 Adapter; diesen gibt es für 2-3 Euro auf ebay, aliexpress etc. Das Modul wird dann über den Modulanschluss mit 5V und Masse versorgt. SWDIO und SWCLK haben wir gerade angelötet.
Beim Flashen ist es wichtig, das SWDIO & SWCLK so kurz wie möglich sind. Es gibt sonst diverse Fehlermeldungen beim Flashen. Man kann die angelöteten Kabel so direkt an den STLink anschließen.

Damit klappt dann das Flashen problemlos und man kann auch problemlos öfters flashen. Für das Flashen das STM32 ST-LINK Utility herunterladen. Der Vorgang wurde sehr oft beschrieben. Kurzversion:
In ST-Link Utility Target –> Option Bytes –> Read Out Protection auf Disabled; dann Apply
Danach Program&Verify, dort die gewünschte Firmware Datei auswählen und Flashen. Der Vorgang dauert grob 10 Sekunden.
Die originale Eachine Firmware geht dabei unwiderruflich verloren. Da die eh nix taugt, ist das aber eigentlich egal.

Eachine EV100 FPV Brille mit Fatshark-kompatiblem Empfängermodul nachrüsten & mit einem Pro58 + Pirx füllen

 

In den letzten Tagen habe ich endlich mal das Receiver Projekt für meine Eachine EV100 FPV Brille angegangen. Der eingebaute Receiver in der EV100 ist ja weder echt diversity noch besonders sensitiv. Ansonsten führt die Brille ja gerne zu Diskussionen. Sie ist natürlich keine Fatshark HDO, aber eine gute Brille mit guter Auflösung und Schärfe.

Mein Ziel:
Die EV100 bekommt einen Fatshark kompatiblen Receiver Slot. Es gibt einige Umbau Anleitungen im Netz. Daran habe ich mich orientiert. Mit einigen Adaptionen habe ich eine gute Lösung gefunden. Als Diverstiy Modul habe ich mich für das Eachine Pro58 Modul entschieden. Das gibt es für unter 25€ und kommt in den Vergleichstests durchaus an Module in der 50-70€ Region heran.

Die Basis-Idee:
Das Fatshark Interface ist eigentlich ziemlich trivial: Spannungsversorgung mit 5V & Masse, Video out, 2x Audio out, 3 Anschlüsse für Knöpfe. Fangen wir hinten an: Die Anschlüsse für die Knöpfe sind eigentlich egal, weil das Modul ein kleines Drehrad (oben/unten/drücken) mitbringt und das letztlich über die Anschlüsse nur auf externe Knöpfe gelegt werden kann. Das Video Out Signal wird in der Brille so anschlossen, dass es an den AV In Eingang geht. Dieser ist damit nicht mehr benutzbar – ich habe diesen Anschluss bisher nie benötigt. Wenn man die Brille startet, muss man den schwarzen Knopf auf der Brille so lange drücken, bis sie 3x gepiept hat. Dann hat man auf AV in umgeschaltet.

Die Schaltung:
Die Schaltung ist sehr simpel. Die Brille wird über eine 2S Lipo Batterie versorgt. Es können also je nach Ladezustand bis zu 8,4V anliegen. Bei ca. 6.8V schaltet der Originalakku ab und ca. bei dieser Spannung beginnt die Brille auch mit der akustischen Akkuwarnung. Das Pro58 Modul braucht wie alle Fatshark kompatiblen Module 5V. Die Spannungsdifferenz langt für einen normalen Step-Down Regler – oder in Modellbauer Sprache ein MiniBEC. Ich habe einen Matek MiniBEC genommen. Es geht aber letztlich jeder Step-Down Regler, der 5V 500mA bei der genannten Eingangsspannung erreichen kann.
Mit der Spannungversorgung fährt das Modul schon mal hoch. Um Streifen im Bild zu vermeiden, habe ich dem Step-Down Regler auf der 5V Seite noch einen 300 Microfarad / 6.3V Tantal Kontensator hinzugefügt. Tantal einfach wegen der kleinen Baugröße und weil sie lowESR sind und damit auch hochfrequente Störungen gut filtern können. Au der Eingangsseite habe ich noch einen 100 Microfarad / 16V eingebaut. Die EV100 ist etwas sensitiv auf Störungen in der Spannungsversorgung.
Für das Videosignal habe ich einen weiteren 330 Microfarad Tantal verbaut. Dieser entfernt den Gleichstrom-Anteil aus dem Video-Signal. Ich habe zwischen Video-Out des Moduls und dem gewählten Video-In Lötpunkt (siehe unten) ca. 1.3V DC Differenz gemessen. Diese Gleichstromkomponente kann zu Problemen führen, also nehme ich sie mit dem Kondensator heraus.
Eigentlich war das auch schon die ganze Schaltung. So habe ich sie aufgebaut und hatte heftige Streifen im Bild. Diese waren ziemlich konstant, aber über mehrere Flüge hinweg änderte sich die Orientierung und die Art des Musters. Vermutung: Da koppelt etwas ein und ich tippe stark auf den Step-Down Regler. Also habe ich mit von einem defekten Router ein Stück dünnes Koax-Kabel ausgebaut. Mit diesem habe ich das Video-Signal geschirmt vom Modul zu Brille geführt (Schirm auf beiden Seiten auf Masse) und siehe da: Das Bild ist ok.
Hier ist der Schaltplan als Zusammenfassung:

Adapterplatine:
Diese Schaltung habe ich auf einem Stück Lochplatine aufgebaut und ein Stück Buchsenleiste als Steck-Adapter für das Modul verbaut. EIn Stückchen Holz als Abstandshalter kam noch mit Heißkleber auf die Adapterplatine, damit das Pro58 Modul auch bei etwas Druck parallel zur Adapterplatine bleibt. Der Aufbau ist optisch sicher nicht ganz perfekt – die Platine ist durch einige Iterationen gegangen.

Anschluss in der Brille:
In der Brille erfolgt der Anschluss der Spannungsversorgung direkt an den Batteriestecker.

Das Videosignal kann man an einem freien Lötpunkt einspeisen, wie auch mehrfach auf rcrgoups und youtube gezeigt. Ganz in der Nähe findet man eine gute Stelle um den Schirm des Koaxkabels auf Masse zu legen.

Gehäuse:
Für den Receiver habe dann noch ein Gehäuse aus ABS gedruckt. ABS warpt zwar, was man auch im Druckbild in Unregelmäigkeiten sieht. Es ist aber sehr stabil und temperaturbeständig. PETG ist eine Alternative. PLA wird aufgrund der Sonneneinstrahlung und der Erhitzung des Pro58 Moduls garantiert nicht gut gehen. Die Rundung der Brille ist im Druck vorgesehen. Das Gehäuse kann damit einfach mit dickem, doppelseitigem Schaum-Klebeband an der Brille fixiert werden. Für die Kabelführung habe ich ein 4mm Loch in das EV100 Gehäuse gebohrt.
Die STL Dateien für den 3D Druck sind hier verfügbar: Ev100 Pro58 STL
Alternativ habe ich sie auch auf Thingiverse gestellt: Klick
Das Gehäuse besteht aus zwei Teilen. Diese habe ich dann mit weißen Klebeband zugeklebt. Wenn man die Teile richtig für den 3D Druck ausrichtet, kommt man nahezu ohne Suppports aus.

Das Gehäuseoberteil um 116,1 Grad drehen, Unterteil um 104,5 Grad. Dann liegen die Teile plan auf und sind gut druckbar.

Firmware für das Modul:
Die mit dem Modul mitgelieferte Firmware kann man eigentlich gleich löschen. Für einen Funktionstest und einen Testflug ist sie ok. Mit anderen Firmwares ist aber mehr möglich. Ich habe die Firmware von Pirx The Pilot geflasht. Wenn man die Spezialfeatures von Achilles nicht braucht, kann man die 11€ sparen und hat eine sehr gute Alternative.
Die kostenfreie Pirx Firmware gibt es hier: http://www.pirxthepilot.com/
Alternativ gibt es auf github noch OpenPro58 und WPro58 als kostenfreie Opensource Alternative.

Stromverbrauch:
Der Stromverbrauch der Brille ist mit dem Pro58 Modul erhöht. Die EV100 schaltet aber den internen Receiver ab, wenn man auf AV in geht. Damit erreicht man mit dem Original Akku immer noch über 1.5h Laufzeit. Den internen Receiver kann man natürlich auch nutzen. Allerdings läuft das Pro58 Modul dann mit, so dass dies als Dauerlösung eigentlich nicht zu empfehlen ist.

Ergebnis:
EV100 mit super Empfang und echter Diversity. Gegenüber dem Originalempfänger ist das ein massiver Upgrade, zu dem ich nur raten kann. Das AV In Signal scheint bei der EV100 über weniger Korrekturen zu laufen. So fallen gewisse automatische Helligkeitskorrekturen weg. Bisher finde ich das eher positiv – jeder EV100 Nutzer kennt das ab und zu plötzlich dunkle Bild. Der Effekt ist weg. Gibt es Nachteile? – Keine offensichtlichen außer dem etwas erhöhten Stromverbrauch. Falls ich noch etwas bemerke, stelle ich es hier ein.

Geeetech I3 X – Neue Marlin Firmware 1.1.5 mit Autobedleveling

Auf dem Geeetech I3 X ist ab Werk die Marlin Version 1.0.2 installiert. Es gab nun für eine lange Zeit eine Weiterentwicklung von Marlin und sehr viele RC (Release Candidates) aber keine stabile Version. Mit der Version 1.1.5 ist vor einigen Wochen eine neue, stabile Version erschienen. Zeit, dass diese Version auf meinen i3 X mit Autobedleveling kommt: klick

Im Paket ist eine Konfiguration (Configuration.h) für den I3 X dabei, diese ist aber sehr mäßig gepflegt. Also habe ich die Configuration.h, die Configuration_adv.h für das Autobed Leveling Setup optimiert und darüber hinaus folgendes konfiguriert:

  • Drehknopfrichtung wieder richtig konfiguriert
  • Motor Richtung so eingestellt, wie der i3 X geliefert wird
  • EEProm eingeschaltet. Damit kann man diverse Einstellungen am Drucker machen und speichern.
  • PID Regelung für den Extruder angepasst.
  • Serielle Schnittstelle auf 115200 Bit/s eingestellt.
  • Extruder Temperatur Fehlerüberwachung.

Der Vorteil der neuen Firmware für den I3 X sind nicht riesig, aber es lohnt sich die Pflege zu betreiben. Die Firmware ebnet auch den Weg zu den neuen TMC2100 Steppern mit 128iger Microstepping. Das wäre auch mal einen Versuch wert.
Weiterhin hat die alte 1.0.2 einige Probleme mit dem Compiler in den aktuellen Arduino Entwicklungsumgebungen. Man kann die alte Firmware nur mit Tricks oder den alten Arduinos IDEs übersetzen und das nervt doch gewaltig.

Ich habe zwei Pakete gepackt – beide sind für das Autobed-Leveling Setup; bitte nur mit Autoleveling verwenden!
Hier das Firmware Archiv, wenn man die normalen Gewindestangen für die z-Achse hat (M8x1.25): Marlin_1.1.5_i3-ProX-AutoBL-z-AxisM8x1.25

Hier das Firmware Archiv, wenn man wie ich Trapezgewindestangen TR8x1.5 eingebaut hat: Marlin_1.1.5_i3-ProX-AutoBL-z-AxisTR8x1.5

Installation der Firmware:
Die Installation ist einfach.

  • Aktuelle Arudino IDE installieren; ich habe die 1.8.1 genommen.
  • Drucker per USB an den Rechner anklemmen
  • Richtigen COM Port auswählen (Werkzeuge->Port)
  • Board auf Mega 2560 stellen (Werkzeuge->Prozessor)
  • Upload

Es dauert einige Minuten. Erst wird der Code übersetzt, dann hochgeladen. Dann kommt der Drucker mit einem neuen Splash-Screen hoch:

Nach der Installation:
Danach bitte erst mal per Drehknopf ins Menü des Druckers und den EEProm zurücksetzen und die Failsafe Einstellungen laden. Jetzt die Einstellgen speichern. Die Einstellungen sind unter Control im Menü:

Jetzt können wir uns das erste Mal über die EEProm Funktion freuen. Wir können nämlich jetzt den Abstand zwischen Autolevel Sensor und Düse im Menü einstellen. Die Einstellung ist unter Motion im Menü:

Nach die Einstellungen speichern.

Neues Starter Script:
Bisher hatte ich dazu geraten, den Abstand zwischen Düse und Sensor im Starter Script einzustellen. Das war sinnvoll, weil man den Abstand im alten Release nur durch das Einspielen einer neuen Firmware ändern konnte. Jetzt geht das im Menü und wir können das Starter Script vereinfachen:
G28 ; home all axes
G29 ; autobed leveling

Wenn sich in Zukunft der Wert änder (z.B. wegen neuer Düse), dann ändert man einfach den Wert im Menü, speichert die Settings und das war es auch schon. Die gCode Dateien müssen nicht mehr angepasst werden.

Unified Bed Leveling?
Ich habe mit dieser Firmware kurz die neue Unified Bed Leveling (UBL) Funktion ausprobiert. Das Ergebnis war nicht so gut, wie das bisherige 9-Punkte Verfahren. UBL ist auch noch in der Entwicklung. Daher habe ich wieder das bisherige Verfahren eingestellt.

Andere Sensor Position & Fehlermeldungen?
Vielleicht habt Ihr den Sensor an einer anderen Stelle als ich es vorgeschlagen habe. Dann müsst Ihr das in der Firmware anpassen und den Abstand zwischen Düse und Sensor anpassen:
#define X_PROBE_OFFSET_FROM_EXTRUDER 19 // ST
#define Y_PROBE_OFFSET_FROM_EXTRUDER -43 // ST
Eventuell bekommt Ihr dann beim Übersetzen Fehler. Die neue Firmware prüft beim Übersetzen, ob Düse und Sensor für das Autoleveling über dem Bett sind. Das ist ein konservativer Ansatz, um Crashes zu vermeiden. Wenn es schief geht, solltet Ihr das korrgieren und die anzufahrenden Postionen beim Bedleveling anpassen. Ihr könnt auch einfach die Checks ausknipsen. Die Ardino Entwicklungsumgebung setzt den Cursor nach der Fehlermeldung in die Zeile bei der der Fehler auftrat. Ihr solltet etwas mit static_assert da stehen haben. Kommentiert die Zeile aus:
//static_assert(…
Wenn es dann „knallt“ und der Drucker in die Begrenzung fährt, seid ihr das aber dann selbst Schuld.

Viel Erfolg!