Update... Pimp my M72-Tacho (Arduino-Umbau)

      Update... Pimp my M72-Tacho (Arduino-Umbau)

      Moin!

      Ich schreib mal zusammen was ich zum Thema Eigenbau/Umbautacho zusammengebastelt habe. Vielleicht mag es je jemand nachbauen, dann würde ich mich an einer detailliertere Bastelanleitung versuchen. Vielleicht lohnt sich sogar eine Kleinserie, dann müsste ich aber noch ein paar "das geht schon so ist ja nur für mich" Stellen verschlimmbessern.

      Motivation dahinter ist hauptsächlich meine Endantriebsübersetzung, ich wollte gerne einen genauen und nicht wie verrückt pendelnden Tacho habe aber mit dem alten "look and feel". Klar kann man sowas auch kaufen. Macht aber nicht soviel Spass.

      Grundidee stammt von hier: emw-r35.de/board/viewtopic.php…d32b870829fbf21e9c765a29f - die Mimik mit der Tachoglocke und der Spiralfeder durch einen Mikrocontroller und einen Schrittmotor ersetzen.


      Gesagt getan, alten defekten Tacho zerlegt:



      Viel ist nicht übrig geblieben... Der Kilometerzähler bleibt wie bei R35-Umbau unverändert, auf LCD hatte ich keine Lust und mechanische per Impuls antreibbare Zähler gibt es nur in teuer oder in China im Großpack. Immerhin dreht er ja in die richtige Richtung... Das Tachoglas ist bei meinem Tacho nur eingelegt, das muss dann noch mit Silikon verklebt werden damit die Elektronik keine feuchten Füße bekommt. GGf. schmiere ich noch etwas "Liquid Tape" drauf.

      Ein kleiner Arduino bietet sich für die Steuerung an, ich habe einen "Digispark"-Clone mit Attiny85 verwendet. Minimalistischer Ansatz, mit den etwas größeren Modellen kann man noch mehr Spielkram (Voltmeter etc) abbilden. Der Digispark hat einen Spannungsregler an Board - kann also direkt ans Bordnetz und lässt sich über USB programmieren, also alles relativ einfach.

      Als Trägerplatte habe ich einen 3D-Druck geplant, mal gucken ob das so bleibt. Geschmackvolle Farbe jedenfalls, aber das Filament musste alle werden.


      Vermutlich hätte der Hallsensor auch einfach freifliegen seine Anschlüsse an die richtige Stelle gebogen werden können aber ich hab trotzdem lieber einen kleinen "Ausleger" an die Trägerplatte gemacht. Der Hallsensor nimmt das Signal am originalen Magneten ab, der sonst die Tachoglocke angetrieben hat.


      Hallsensor an der Einbauposition.


      Hallsensor ist non-latching, er gibt also beim Nord- und beim Südpol des Magneten einen kurzen Impuls. Latching würde beim Nordpol ein und erst beim Südpol wieder ausschalten. Evtl wäre das sogar besser wenn man damit ein richtiges Rechteck-Signal erzeugt. So hat man halt 2 kleine Impulse und dazwischen Ruhe.

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „vgtlndr“ ()

      Schrittmotor ist ein X27, der wird sonst in Autodisplays verbaut und kann direkt vom Arduino ohne extra Shield angetrieben werden. Bringt auch einen Nullanschlag mit, so ein Stepper muss sich nach dem einschalten erstmal auf Nullstellung bringen falls er da nicht ist. Den Hampelkram mit einmal gegen das Maximum fahren habe ich mir gespart. Look and feel und so...



      Für den Schrittmotor gibt es eine Arduino-Library, damit wird die Ansteuerung trivial. Leider passt die Bibliothek zur Frequenzmessung nicht auf den kleinen Digispark, daher habe ich mir dann im Netz was zusammengesucht und angepasst.

      Grundprinzip: Hallsensor gibt pro Umdrehung zwei Impulse raus, die lösen im Digispark einen Interrupt aus. Im Interrupt wird ein Counter hochgezählt. Der Interrupt feuert immer bei einer Pegeländerung, pro Impuls also zweimal, pro Umdrehung 4mal. Durch den non-latching Hallsensor erfolgen diese Interrupts also nicht in regelmäßigen Abständen. Das ist wenn bei Schleichfahrt nur sehr wenige Impulse erzeugt werden irgendwie doof.
      Erreicht der Counter die Zahl vier wird die abgelaufene Zeit des Messintervalls, also die Periode in eine Frequenz (proportional zur Geschwindigkeit) umgerechnet und aus der Frequenz die Stepperposition ( 3steps / grad). Wird innerhalb des maximalen Messintervalls die benötigte Anzahl von Pulsen nicht erreicht ( =Schleichfahrt ) wird aus der Anzahl der Impulse die Frequenz die Stepperposition errechnet. Im Stillstand dann 0 Impulse = 0kmh = Motorposition 0. Das Messintervall wird dadurch mit steigender Geschwindigkeit kürzer und die Nadel zappelt dadurch weniger als z.B. bei Schleichfahrt.

      Als goldene Türklinke habe ich dann noch ein 2x3 SMD-LED Array (aus einer für unbrauchbar befundenen China-LED-Mopedlampe) rangebastelt. Die leuchtet von innen den Chromring an, der reflektiert ziemlich gut auf das Tachoblatt und der Kilometerzähler ist auch ablesbar.

      Alles miteinander fliegend mit Litze verbunden und ein erstmal paar Steckverbinder dazwischen gebastelt. Zur Programmierung dürfen einige Pins des Digispark nicht belegt sein, in diesem Fall muss der Schrittmotor ab. So richtig gefallen tun mir die direkt an die Platine und an den Schrittmotor gelöteten Kabel nicht, keine Zugentlastung etc. Vielleicht ziehe ich noch eine Trägerplatine (Prototyp-Board dürfte locker ausreichen) und befestige den Digispark darauf mit zwei Shield-Headern. Dann kann man den zum Neuprogrammieren einfach runternehmen und in eine USB-Buchse am PC stopfen. Mal gucken.


      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „vgtlndr“ ()

      Jedenfalls tut sich schon was: youtu.be/qVgWbHYo2aA (das Notebook ist in dem Moment nur die Stromversorgung)

      Aufgefallen ist mir das es bei niedriger "Geschwindigkeit" doch ganz schön zappelt und bei Vmax der Zeiger immer noch etwas zittert. Ab das finde ich jetzt nicht so schlimm. Eventuell stimmt die Kalibierung auch noch nicht.

      Als nächstes: Alles mal zusammenkloppen und probe fahren.

      Ich habe übrigens den angeblich ungenauen internen Taktgeber und keinen externen Quarz für die Taktgebung verwendet - weil ich keine Ahnung habe wie ich den anschließen kann. Oscillators müssen zwischen zwei Pins geschaltet werden, ich habe aber nur noch einen. External Clock würde gehen aber ich habe noch nicht rausgefunden was man dafür nehmen kann. Angeblich ist der interne Taktgeber nicht temparaturstabil. Na erstmal gucken.
      Was könnte man noch machen: Oberhalb des Zeigers könnte man dezent doch ein kleines OLED platzieren für Voltmeter, Drehzahlmesser etc. Dann braucht man aber einen etwas besseren Arduino als den Digispark. Schade das man die alten roten Bubbledisplay 7-Segment-LED nur noch schwer bekommt (also die in den alten Taschenrechnern etc drin waren). Die sind retro genug, damit würde ich mir auch ein nicht mechanischer Kilometerzähler gefallen.

      Mit dem externen Taktgeber muss ich mich nochmal schlau machen. Der eine Pin der noch frei ist könnte ggf. ein Resetpin sein. Den kann man aber umswitchen - muss dafür dann aber auch die 5 Konrad-Zuse-Gedenksekunden am Anfang beibehalten. Solange wartet der Digispark ob er nicht vielleicht doch in eine USB-Buchse gestopft wird. Erst danach wird das eigentlich Programm ausgeführt. Reicht im Idealfall zum Ankicken ;)

      Bei ausreichendem Interesse könnte man das ganze sicherlich auch auf die größeren modernen Tachos anpassen.



      Die Trägerplatte aktueller Stand. Ist aber bestimmt noch nicht der letzte Entwurf.



      Und wozu nun das ganze: Eigentlich nur damit ich den k-Wert des Tachos meiner Endantriebsübersetzung anpassen kann. Und weil es Spass macht sowas zu basteln. Und die Kosten halten sich auch sehr im Rahmen.

      Falls jemand mit Ahnung mal das Skript angucken will stelle ich hier das gerne rein. Ist zusammengeschustert, aber dafür das ich nie C++ gelernt habe gut genug. Oder gerne auch andere Verbesserungsvorschläge...

      Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „vgtlndr“ ()

      3D-Drucke kann ich ja... Hab da übrigens ein geiles Teil gesehen, mal gucken ob ich mir den untern Weihnachtsbaum stelle: all3dp.com/1/anycubic-photon-3d-printer-review/
      Kann wesentlich feiner als ein normal Extruderdrucker. Für kleine, sehr detallierte als H0 Eisenbahn ziemlich cool. Aber der Anet ist fürs grobe auch nett.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „vgtlndr“ ()

      ​Und weil es Spass macht sowas zu basteln.


      Respekt !

      Die nächste Stufe ist jetzt eine Vollverkleidung und ein HUD , also ein HeadUpDisplay eingespiegelt wie in einem modernen Kampfflugzeug !!

      Gruss

      Stefan
      @askari: Das ja der Witz: Von außen sieht man nix, ist immer noch ein M72-Tacho.
      Moderne LED-Tachos in bunt gibt es auch günstig in Chinesien. Wollte ich aber nicht.

      @MM: Das lila Filament ist jetzt leider leider alle. Mal gucken was ich noch im Schrank habe. Zransparentes PLA
      wäre mal ein Versuch wert zwecks Tachobeleuchtung

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „vgtlndr“ ()

      Hab beim Lesen einige Fragezeichen überm Kopf, der elektronikkram ist nicht meins...
      Hab die Variante fürs mechanische Gehirn genommen um den K-wert und den langen Endantrieb anzupassen....



      War auch mehr der Spass am Basteln, nen passenden tacho kann ja jeder kaufen.. :thumbup:
      Hab mal wieder ein bisschen weiter gebastelt. PIN-Belegung am Arduino so geändert das er auch mit angeschlossenem Schrittmotor & Hallsensor via USB programmiert werden kann. So kann ich es mir sparen den Arduino im Tacho steckbar zu machen. Fest verlötet wird das ganze sehr kompakt. Der Preis für das Material ist sehr auch kompakt, knappe 20 Euro.

      Hab nochmal die interne Beleuchtung im stockdunkeln ohne Blitz fotografiert, ist doch etwas heller als wenn da von außen das Lämpchen durch die Schlitze funzelt.



      Im Moment feile ich noch an dem Script, der Zeiger ruckelt mir noch zu sehr. Mal gucken...
      Heute zum ersten Mal alles in ein Gehäuse gesperrt und mit Akkuschrauberantrieb an einem 12V-Netzteil getestet:
      Mit der internen Beleuchterei bin ich sehr zufrieden. Die Zeigerbewegung könnten etwas geschmeidiger sein, ggf. noch ein bisschen am low-pass-filter rumdrehen. Die Blechnadel ist auch nicht gerade leicht. Man könnte ja jetzt mit einem Stepperdriver mit Microstepping... ne muss nicht, soll möglichst minimalistisch bleiben. Erstmal ins Moped tackern und gucken ob das Ding dann immer noch geht und die Berechnung der Kalibrierung prüfen. Normalerweise müsste der integrierte Spannungswandler mit der Bordspannung klarkommen wenn sie glatt genug ist. Frag mich gerade ib ich wieder die entstörten Kerzenstecker montiert habe :D
      Letztes Wochenende den Apparat ins Moped getackert, geht gut 8) Anzeige ist supergenau, nix wackelt und die 120er Skala ist mir auch lieber als der 160er Optimistentacho. Die einzelnen Schritte die beim Testen mangels Microstepping sichtbar waren sehe ich beim Fahren nicht, glotze ja nicht dauert auf den Tacho. Ist noch ziemlich wild zusammengelötet, das mache ich noch ein bisschen schöner...
      Aber entstörte Kerzenstecker müssen sein sonst kommt der Mikrocontroller durcheinander.
      Klasse projekt, Hut ab. Bin auch einem Tacho Projekt dran aber mit Hallsensor Abnahme an der Felge. Könntest du hier deinen Code posten, mich würde die Ansteuerung des Schrittmotors sehr interessieren.