Switch to full style
Hier kann man auch als Gast schreiben. Anonyme Beiträge sind möglich, aber nicht erwünscht, man sollte wenigstens seinen Namen drunter setzen.
Antwort erstellen

Elektronischer Tacho auf Atmel-Basis für MZ

Fr 25 Jan, 2019 20:07

So, nachdem nun jeder hier seine elektronischen Spielereien vorstellt, tu ich das auch mal. :-D

Evtl. sollten wir die Projekte später in einer Art Bibliothek sammeln, damit man sie leichter wiederfindet. Vielleicht auch ein neues Unterforum? Naja, können die Mods ja entscheiden, falls das zuviel wird.

Zum Tacho:

Zielsetzung war, den Tacho der MZ ES 250/2 durch ein elektronisches Gegenstück zu ersetzen, nachdem der Motor durch einen TS-Motor getauscht wurde und damit der Tachoantrieb wegfiel.
Die erste Idee zum Projekt hatte ich ca. 2007, der erste Prototyp gelang 2009, lief dann ein paar Jahre mit ein paar Änderungen zum testen und seit letztem Jahr ist die finale Version fertig und wird vielleicht noch vor dem Ablauf des 10. Jahres wieder in die ES verbaut. :ugly:

Das Ganze sollte von außen nicht vom Original zu unterscheiden sein und möglichst funktionssicher sein. Außerdem wollte die gesamte Elektronik im Tachogehäuse untergebracht werden.

Verwendet wurde ursprünglich ein AT90S1200, da es dort aber mit dem Speicher brutal knapp wurde, habe ich später auf einen ATMega8 gewechselt.
Die Platinen wurden selber entworfen und anfangs einseitig, später doppelseitig geätzt.
Angesichts der Preise heute (wenn man aus China liefern lässt) würde ich das derzeit sicher nicht mehr machen.
Für die Schrittmotoren wurde anfangs ein auf dem Müll gefundener Audi-Tacho geschlachtet, der gab 4 perfekt geeignete, weil extra für diesen Zweck hergestellte Schrittmotoren her.
Später fand ich dann einen Online-Shop, der genau jene Schrittmotoren verkaufte, zu einem 10er pro Stück. Da habe ich mir erstmal eine Handvoll gesichert, für die nächsten Jahre sollte das reichen. Den Shop gibt es aber nicht mehr.

Für den Kilometerzähler verwendete ich sehr kleine normale Schrittmotoren, die ich mal von einem Kollegen bekam. Leider habe ich keine Quelle dafür ausfindig machen können damals, eventuell sieht das heute schon besser aus.

Als Geber verwendete ich anfangs einen Reed-Kontakt, der aber wegen dem unschönen Prellen bald durch einen Hallgeber ersetzt wurde. Dieser schaltet immer bei einer Umpolung des Magnetfeldes, daher brauchte ich mir ums Entprellen keinerlei Sorgen mehr zu machen, auf dem Ritzel wurden nur zwei Magneten aufgeklebt, einer natürlich rumgedreht zum anderen.

Das Projekt hat ein guter Freund von mir begleitet, der mir dann später auch einen neuen Geber liefern konnte, einen Hallgeber aus dem Automobilbereich. Dieser konnte hardwaretechnisch 1:1 verwendet werden, nur ein paar Softwareänderungen waren vonnöten.

Für die Software hatte ich damals einen Simulator geschrieben, um die Probleme mit den fehlenden Debugmöglichkeiten auf dem ATMEga umgehen zu können. Das hat mir ziemlich geholfen, aber nur bei den Grundlagen. Die richtige Software wurde dann mit viel Schweiß und Zeit immer wieder auf dem kleinen µC geschrieben, alles eingebaut und wieder ein bißchen gefahren. Besonders viele Probleme hatte ich mit EMV-Störungen, die nur sehr schwer in den Griff zu bekommen waren.

Die Software ist relativ einfach, eine kurze Erklärung gibt es dennoch:

An sich läuft alles in einer endlosen Main-Loop ab. Diese sorgt hauptsächlich für das Bewegen der Motoren.
Nebenbei laufen zwei Interrupts, einer wird ausgelöst beim Auslösen des Hallgebers bei jeder Ritzelumdrehung und der Andere wird durch den internen Timer des Atmels ausgelöst.
Da der Timer ziemlich schnell läuft, wird dort nur ein Zähler inkrementiert, dessen Auswertung dem Sensor-Interrupt überlassen wird. Der berechnet dann daraus und aus der bekannten zurückgelegten Strecke schonmal die Geschwindigkeit.
Der Rest wird in der Haupstschleife gemacht:
Aus der Geschwindigkeit wird die notwendige Position des Zeigers mit Hilfe einer Lookup-Tabelle (die ist notwendig, weil die Abstände der Markierungen auf der Tachoscheibe nicht gleichmäßig sind) berechnet und dann mit Hilfe einer "Bremse" der Zeiger über mehrere Takte langsam in die richtige Position bewegt.
Alle 50m wird der Schrittmotor für den Kilometerzähler einen Schritt weiterbewegt, dabei aber nach einer kurzen Zeit wieder abgeschaltet, da er relativ viel Strom zieht. (Anfangs wurde der Tacho mit einem 7805 versorgt und der wird bei Strömen über ca. 0,5A brutal warm, jetzt sitzt dort ein pinkompatibler DC-DC-Wandler).


Heutzutage ist das alles mit Arduino und Co. wesentlich leichter zu realisieren. Die Hardware und den Bootloader nehme ich gerne mit, die restliche Software würde ich jedoch aus Gründen der Programmiererehre selber schreiben, und nicht die teils doch ziemlich auf Anfänger zugeschnittenen Bibliotheken verwenden.

So, jetzt ein paar Bilder, den Sourcecode und das Platinenlayout hänge ich in einem speraten Beitrag ebenfalls mit an.
Dateianhänge
P1090758.JPG
fertige Version der Platine.
P1090756.JPG
Tacho von oben
P1090752.JPG
fertige Version
P1090751.JPG
fertige Version.
IMG_0339.JPG
Nicht sehr viel Platz im Gehäuse, der Motor für den Kilometerzähler stößt am Röhrchen für die Neutrallampe an, dieses wurde dafür etwas eingebeult.
IMG_0338.JPG
Prototyp
IMG_0337.JPG
Prototyp
IMG_0335.JPG
Mein Prototyp, alles noch stark zusammengefrickelt
IMG_0333.JPG
Hallgeber Sensor Selbstbau vor dem Vergießen
DSC_0141.jpg
Automobil-Sensor

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Fr 25 Jan, 2019 20:08

So, Layout und Sourcecode.

Anmerkungen, Tipps und weitere Ideen sind natürlich willkommen...
Dateianhänge
Gesamt-zusammenstellung -1 Blatt.pdf
(548.1 KiB) 100-mal heruntergeladen
15062015_16bit-counter_ok_FINAL.zip
(5.53 KiB) 93-mal heruntergeladen

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Fr 25 Jan, 2019 22:34

VEB Tachometerwerke Augsburg:
Vorwärts immer!

Gesendet von meinem robotron Rechner

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Fr 25 Jan, 2019 22:51

Das gefällt mir sehr

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Fr 25 Jan, 2019 22:55

Hat mir auch gut gefallen, der Herstellerbetrieb steht auf der Rückseite der Platine.

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Sa 26 Jan, 2019 00:58

Schön versteckt :smt023

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Sa 26 Jan, 2019 08:03

Richiy,
ich bin beeindruckt!

Maybach

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Sa 26 Jan, 2019 09:13

:respekt: :pray:

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Sa 26 Jan, 2019 10:11

:shock:


mzz tacho


:shock:

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Sa 26 Jan, 2019 11:02

Coole Sache!

Re: Elektronischer Tacho auf Atmel-Basis für MZ

Sa 26 Jan, 2019 15:59

Nice!

Re: Elektronischer Tacho auf Atmel-Basis für MZ

So 27 Jan, 2019 09:43

Donnerknispel!

Re: Elektronischer Tacho auf Atmel-Basis für MZ

So 27 Jan, 2019 10:00

Super, Lösung, und du hast nach Ideen gefragt.
Man könnte mit einer Taste einfach eine Tageskilometer-Funktion implementieren.
Drücken, und der Zähler dreht sich auf "00000" - drücken und er zählt wieder bei den Gesamtkilometern weiter.

Wauschi

Re: Elektronischer Tacho auf Atmel-Basis für MZ

So 27 Jan, 2019 10:04

Schöne und saubere Arbeit :smt023

Re: Elektronischer Tacho auf Atmel-Basis für MZ

So 27 Jan, 2019 11:03

Bin völlig geplättet.

Elektronikwissen, Programmierkönnen, handwerkliche Ausführung, zusammen ergibt das ein kleines Stück wunderbarer technischer Zauberei.
Antwort erstellen