Seite 1 von 2

Elektronischer Tacho auf Atmel-Basis für MZ

BeitragVerfasst: Fr 25 Jan, 2019 20:07
von Richy
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.

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

BeitragVerfasst: Fr 25 Jan, 2019 20:08
von Richy
So, Layout und Sourcecode.

Anmerkungen, Tipps und weitere Ideen sind natürlich willkommen...

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

BeitragVerfasst: Fr 25 Jan, 2019 22:34
von Straßenschrauber
VEB Tachometerwerke Augsburg:
Vorwärts immer!

Gesendet von meinem robotron Rechner

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

BeitragVerfasst: Fr 25 Jan, 2019 22:51
von fleisspelz
Das gefällt mir sehr

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

BeitragVerfasst: Fr 25 Jan, 2019 22:55
von Straßenschrauber
Hat mir auch gut gefallen, der Herstellerbetrieb steht auf der Rückseite der Platine.

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

BeitragVerfasst: Sa 26 Jan, 2019 00:58
von lallemang
Schön versteckt :smt023

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

BeitragVerfasst: Sa 26 Jan, 2019 08:03
von Maybach
Richiy,
ich bin beeindruckt!

Maybach

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

BeitragVerfasst: Sa 26 Jan, 2019 09:13
von Lindi
:respekt: :pray:

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

BeitragVerfasst: Sa 26 Jan, 2019 10:11
von Dreckbratze
:shock:


mzz tacho


:shock:

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

BeitragVerfasst: Sa 26 Jan, 2019 11:02
von keulemaster
Coole Sache!

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

BeitragVerfasst: Sa 26 Jan, 2019 15:59
von Nanno
Nice!

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

BeitragVerfasst: So 27 Jan, 2019 09:43
von Herbert aus Hamburg
Donnerknispel!

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

BeitragVerfasst: So 27 Jan, 2019 10:00
von Wauschi
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

BeitragVerfasst: So 27 Jan, 2019 10:04
von T.
Schöne und saubere Arbeit :smt023

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

BeitragVerfasst: So 27 Jan, 2019 11:03
von Schraubaer 42
Bin völlig geplättet.

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