Wie überliste ich den Fahrradcomputer? Fast aber noch nicht ganz geschafft.
von
am 21.03.2020 um 17:32 (7439 Hits)
Ich kann jetzt die Datenpakete, die der Speed-Sensor an den Fahrradcomputer sendet, aufzeichnen. Dazu benutze ich einen ATMega88PA. Daran ist über SPI ein AT45DB041B Flashspeicher mit 2048 pages zu je 264 Bytes angeschlossen. Es sind etwa 38,4ms lange Pakete, die, egal wie schnell der Reedkontakt schaltet, alle 1,13 Sekunden geschickt werden. Gemessen wird mit 1µs Auflösung mit der Timer1 Input Capture Unit bis zu 80 Werte (Words a zwei Byte) pro Paket.
Für ein Datenpaket wird vom Speed Sensor eine Frequenz von 110 bis 120kHz aus- und eingeschaltet. Scheint so, als wäre die Schaltdauer, egal ob Ein- oder Ausgeschaltung, ein Vielfaches von 120µs sind. Paßt zwar nicht immer genau, was ich aber haupsächlich auf Meßtoleranzen schiebe.
Ein Paket begint mit 6960µs ein, 960µs aus, 360µs ein, 480µs aus, und es folgen dann wechselnde Zeiten mit einer kürzesten Pause von 240µs. Die Einschaltdauern scheinen außer der ersten immer 360µs lang zu sein. Jedes Paket ist immer 38400µs lang.
Zum Senden der Pakete vom µC in Richtung Fahrradcomputer habe ich mir eine Luftspule gewickelt. Die Frequenz von 120kHz liegt in der Nähe der 125kHz, die auch von RFID genutzt wird. Zu RFID habe ich Angaben zu einer Antenne von 1,62mH Induktivität in Reihe mit 1,2nF Kondensator gefunden. Die eine Seite der Spule an GND und die andere Seite in Reihe mit dem Kondensator an den µC Ausgang. Timer0 erzeugt 120kHz, die über COM0A0 im Takt der vorher aufgezeichneten Werte zur Spule geschaltet werden. Geht! Reichweite bis zu 80cm.
So weit, so gut. Allerdings müssen die Datenpakete wohl in einer bestimmten Reihenfolge gesendet werden. Nach Einschalten des Computers braucht er bis zu 8 Pakete um Geschwindigkeit und gefahrene Strecke zu beginnen anzuzeigen. Wenn nach allen aufgezeichneten Werten aus einer Serie, also Beginn einer "Fahrt" bis zu einer vorgegebenen Anzahl zb. 128 Paketen wieder mit Paket 0 begonnen wird, stockt die Streckenlänge Anzeige und bleibt auf einem Wert stehen. Geschwindigkeit wird weiterhin angzeigt. Irgendwann wird Strecke dann doch weitergezählt aber vorher noch eine Strecke von ein bis zwei Kilometern aufaddiert. Die aufaddierte Strecke steht aber in keinem Verhältnis zur vorherigen Pause. Es wird dann eine viel längere Gesamtstrecke angezeigt als tatsächlich nach Geschwindigkeit und Zeit möglich wäre.
Um den Fahrradcomputer doch noch mit eigenem Sender zum kontinuierlichen Arbeiten zu bewegen, komme ich wahrscheinlich doch nicht drumrum die Datenpakete zu dekodieren
Auf dem Foto links der grüne 9V Block mit Speed Sensor, der über TLC555 und unter der Platine angebrachten Elektromagnet aktiviert wird. Hab da noch ein Poti angebracht um die Geschwindigkeit variieren zu können. Das Gerät dient mir nun als Datenpaketlieferant. Auf dem Speed Sensor neben dem 9V Akku liegt die Spule zur Aufnahme der Datenpakete. Die Anschlüsse gehen zum Steckbrett, auf dem sich Schmitttrigger und Inverter zur Aufbereitung der Signale, µC und aufrecht stehend der Flashspeicher befinden. Rechts dann noch die 4cm durchmessende 1,62mH Sendespule. Die kann man bestimmt auch noch verkleinern. Im Speed Sensor muß ja auch eine drin sein
Gruß
Searcher