Radsensor mit Mehrfachimpuls / WHEEL-Messungen (gelöst)
Radsensor mit Mehrfachimpuls / WHEEL-Messungen (gelöst)
Hallo zusammen,
ich bin zu faul einen extra Radsensor zu montieren (vielleicht auch zu doof), deswegen möchte ich den Originalsensor der Africa Twin benutzen, den auch der original TripMaster ausgewertet hat. DIes ist allerdings ein Mehrfachimpuls.
in der Sixo-Anleitung steht:
===========================
Mehrfach-Impulse pro Radumdrehung (wie an manchen Motorrädern vorhanden) sind für denSIxO ungeeignet, da diese dann ab einer bestimmten Raddrehzahl (z.B. bei 4 Impulse/Umdrehung ca. ab 100 km/h) wie das Kontaktprellen eines Gebers interpretiert und herausgefiltert werden. Soll trotzdem ein Mehrfachgeber genutzt werden, so sind in der Hardware zwei Bauteile auszutauschen. Hinweise dazu finden sich im SIxO-Forum.
===========================
Sodele. Ich finde leider keine Beiträge dazu?
Daher:
1. Welche Bauteile müssten da getauscht werden?
Ich muss den Sixo eh für den Drehzahlmesser anpassen, da kann ich das gleich mit erledigen.
Ich meine die Africa Twin erzeugt 3 Impulse/Umdrehung. Bin aber nicht sicher, müsste nochmal im Twinforum nachfragen, falls es hier keiner weiss.
Gruß
Jens
ich bin zu faul einen extra Radsensor zu montieren (vielleicht auch zu doof), deswegen möchte ich den Originalsensor der Africa Twin benutzen, den auch der original TripMaster ausgewertet hat. DIes ist allerdings ein Mehrfachimpuls.
in der Sixo-Anleitung steht:
===========================
Mehrfach-Impulse pro Radumdrehung (wie an manchen Motorrädern vorhanden) sind für denSIxO ungeeignet, da diese dann ab einer bestimmten Raddrehzahl (z.B. bei 4 Impulse/Umdrehung ca. ab 100 km/h) wie das Kontaktprellen eines Gebers interpretiert und herausgefiltert werden. Soll trotzdem ein Mehrfachgeber genutzt werden, so sind in der Hardware zwei Bauteile auszutauschen. Hinweise dazu finden sich im SIxO-Forum.
===========================
Sodele. Ich finde leider keine Beiträge dazu?
Daher:
1. Welche Bauteile müssten da getauscht werden?
Ich muss den Sixo eh für den Drehzahlmesser anpassen, da kann ich das gleich mit erledigen.
Ich meine die Africa Twin erzeugt 3 Impulse/Umdrehung. Bin aber nicht sicher, müsste nochmal im Twinforum nachfragen, falls es hier keiner weiss.
Gruß
Jens
Hallo zusammen,
so weiter geht's mit der Wanderbaustelle:
======================================
Habe den Widerstand R53 auf 3,9kOhm geändert und nutze jetzt den Sensor der Africa Twin.
Rad: 148 (?)mm (12 Impulse/Umdrehung).
======================================
Zwei Probleme:
1. Bis ca 80km/h passt das mit der Anzeige ganz gut.
Vergleich mit GPS: Sixo zeigt ca. 2-5km/h mehr an (weniger als 10% Abweichung)
Über 80km/h sieht das anders aus.
Bei 130 GPS-km/h zeigt der sixo schon mal +20km/h und mehr zuviel an (weit mehr als 10% Abweichung, Tendenz eher gegen 20%). Anzeige springt auch häufig um 10-20km/h.
Bei
200km/h = 54m/s = ca. 26 Radumdrehungen/sek
wären das ca. 312 Impulse /sek.
Ist das zuviel für die Hardware?
Hmmm...ich schau mich mal in
measdrv.c
um, wie die Geschwindigkeit berechnet wird...ggf. kann man ja einen kleinen Filter einbauen
2. Gesamtstrecke
Obwohl der SIXO eigentlich stets zuviel anzeigt was die Geschwindigkeit angeht, ist die Gesamtkilometerzahl zu gering:
Bsp.:
- Originaltacho und GPS messen ca. 550km
- SIXO hat ca 495km gemessen.
Jaaaaa, ich weiss. Ich sollte halt einfach einen Radsensor montieren und gut is...
Gruß
Jens
so weiter geht's mit der Wanderbaustelle:
======================================
Habe den Widerstand R53 auf 3,9kOhm geändert und nutze jetzt den Sensor der Africa Twin.
Rad: 148 (?)mm (12 Impulse/Umdrehung).
======================================
Zwei Probleme:
1. Bis ca 80km/h passt das mit der Anzeige ganz gut.
Vergleich mit GPS: Sixo zeigt ca. 2-5km/h mehr an (weniger als 10% Abweichung)
Über 80km/h sieht das anders aus.
Bei 130 GPS-km/h zeigt der sixo schon mal +20km/h und mehr zuviel an (weit mehr als 10% Abweichung, Tendenz eher gegen 20%). Anzeige springt auch häufig um 10-20km/h.
Bei
200km/h = 54m/s = ca. 26 Radumdrehungen/sek
wären das ca. 312 Impulse /sek.
Ist das zuviel für die Hardware?
Hmmm...ich schau mich mal in
measdrv.c
um, wie die Geschwindigkeit berechnet wird...ggf. kann man ja einen kleinen Filter einbauen
2. Gesamtstrecke
Obwohl der SIXO eigentlich stets zuviel anzeigt was die Geschwindigkeit angeht, ist die Gesamtkilometerzahl zu gering:
Bsp.:
- Originaltacho und GPS messen ca. 550km
- SIXO hat ca 495km gemessen.
Jaaaaa, ich weiss. Ich sollte halt einfach einen Radsensor montieren und gut is...
Gruß
Jens
Naja, HW+SW 'denken' in diesem Fall, dass du bei real 200 km/h mit 2400 km/h unterwegs bist.Jens hat geschrieben:Über 80km/h sieht das anders aus.
Bei 130 GPS-km/h zeigt der sixo schon mal +20km/h und mehr zuviel an (weit mehr als 10% Abweichung, Tendenz eher gegen 20%). Anzeige springt auch häufig um 10-20km/h.
Bei 200km/h = 54m/s = ca. 26 Radumdrehungen/sek
wären das ca. 312 Impulse /sek.
Ist das zuviel für die Hardware?
Hmmm...ich schau mich mal in measdrv.c um, wie die Geschwindigkeit berechnet wird...ggf. kann man ja einen kleinen Filter einbauen
Kleiner Auszug aus dem Quellcode (measdrv.c#373ff):
Code: Alles auswählen
373 #pragma INTERRUPT WheelSensor_ISR
374 void WheelSensor_ISR(void)
375 {
376 static UINT16 wWheelDist = 0; /* to sum wheelsize in mm */
377 UINT32 dwWheelPeriod; /* to ge current value */
378
379 TOGGLE_PAD11; /* toggle port pin (debug only) */
380
381 /* wheel speed stuff ------------------- */
382 fWheelCnt = FALSE; /* stop counter now! */
383 dwWheelPeriod = WHEEL_MAXVALUE - wWheelCnt; /* save elapsed time */
384
385 /* Tachovoreilung */
386 /* Do not touch these values. These tiny magic bits have been thoroughfully */
387 /* evaluated during a night shift. Some beers may have improved the results. */
388 /* (Note that there is also a +1 km/h in maindev.c) */
389 if( dwWheelPeriod > 200 )
390 dwWheelPeriod -= 6; /* for speeds of about < 190 km/H @ 2100mm or < 160 km/h @ 1800mm */
391 else
392 dwWheelPeriod -= 7;
393
394 wWheelCnt = WHEEL_MAXVALUE; /* reload timer */
395 fWheelCnt = TRUE; /* restart timer now! */
396
397 /* save most actual wheel period */
398 wWheelPeriodLast = (UINT16)dwWheelPeriod; /* save last used index */
399
400 /* calculated filtered wheel period (scaled)*/
401 dwWheelPeriod4 = ( 3 * dwWheelPeriod4 + (dwWheelPeriod<<3>> 2;
Die Auflösung wird wg. des immer geringer werdenden Zeitintervalls bei hohen Geschwindigkeiten übrigens immer schlechter.
Jens hat geschrieben:2. Gesamtstrecke
Obwohl der SIXO eigentlich stets zuviel anzeigt was die Geschwindigkeit angeht, ist die Gesamtkilometerzahl zu gering:
Bsp.:
- Originaltacho und GPS messen ca. 550km
- SIXO hat ca 495km gemessen.
Ich vermute auch, die WHEEL-Timerauflösung reicht für Faktor 12 nicht mehr aus, auch wenn du den Radumfang schön mit 1/12 versiehst. Schau mal in die Funktion MeasDrvInitWheel(void), dort musst du vermutlich ansetzen (2 kaskadierte Timer).
Nebenbei: Ist der SIxO der einzige, der am WHEEL-Kontakt mitliest, oder ist evtl. auch hier der Original-Counter noch dran?
Naja, das wäre technisch ja völlig reizlos...Jens hat geschrieben:Jaaaaa, ich weiss. Ich sollte halt einfach einen Radsensor montieren und gut is...
Ralf
Na soviel macht die alte Twin dann doch nicht...Ralf hat geschrieben:Naja, HW+SW 'denken' in diesem Fall, dass du bei real 200 km/h mit 2400 km/h unterwegs bist.Jens hat geschrieben: Bei 200km/h = 54m/s = ca. 26 Radumdrehungen/sek
wären das ca. 312 Impulse /sek.
Ist das zuviel für die Hardware?
Danke für den Tipp. An den Zeilen bin ich auch schon hängen geblieben. Muss ich am WE mal in Ruhe anschauen.Ralf hat geschrieben: Kleiner Auszug aus dem Quellcode (measdrv.c#373ff):
...
Wenn du die Korrekturzeilen #385..#392 auskommentierst, hast den präzisen Tachowert (Zeitintervall einer Radumdrehung), besser kann die SW das dann nicht mehr messen. (Vielleicht sollte man das in Zukunft per 'Einstellungen' abschaltbar machen )
Die Auflösung wird wg. des immer geringer werdenden Zeitintervalls bei hohen Geschwindigkeiten übrigens immer schlechter.
Dumme Frage:
Ist das nun ein SW- oder in HW-Problem?
Wenn die Hardware nicht hinterherkommt, gibts eh nix mehr zu diskutieren.
Wenn es nur an der SW liegt muss ich mal eben euer OS optimieren
Nur Spass. Würde mich aber interessieren, an welcher Ecke es klemmt.
Ralf hat geschrieben:Jens hat geschrieben:2. Gesamtstrecke
...
- Originaltacho und GPS messen ca. 550km
- SIXO hat ca 495km gemessen.
Ich vermute auch, die WHEEL-Timerauflösung reicht für Faktor 12 nicht mehr aus, auch wenn du den Radumfang schön mit 1/12 versiehst. Schau mal in die Funktion MeasDrvInitWheel(void), dort musst du vermutlich ansetzen (2 kaskadierte Timer).
Schau ich mir mal an.
Ralf hat geschrieben: Nebenbei: Ist der SIxO der einzige, der am WHEEL-Kontakt mitliest, oder ist evtl. auch hier der Original-Counter noch dran?
Nein, der original Tripmaster ist durch den SIXO ersetzt worden (Ich muss ja nicht alles falsch machen).
Aber der kann das...
Endlich jemand der mich verstehtRalf hat geschrieben:Naja, das wäre technisch ja völlig reizlos...Jens hat geschrieben:Jaaaaa, ich weiss. Ich sollte halt einfach einen Radsensor montieren und gut is...
Wäre eben schön gewesen, wenn man mit möglichst wenig Umbaumaßnahmen hinkommt. Scheinbar ist die Twin perfekt so wie sie ist und nimmt jede Handgreiflichkeit übel
Gruß
Jens
Beides.Dumme Frage:
Ist das nun ein SW- oder in HW-Problem?
Wenn die Hardware nicht hinterherkommt, gibts eh nix mehr zu diskutieren.
Wenn es nur an der SW liegt muss ich mal eben euer OS optimieren Wink
Nur Spass. Würde mich aber interessieren, an welcher Ecke es klemmt.
In der HW ist Eingangfilter verbaut, der hochfrequente Anteile (z.B. störendes Prellen des Reedkontaktes) ausfiltert. Er ist ausgelegt für 1 Radimpuls/Umdrehung und ca. 350 km/h. Deine Mach-1-Geschwindigkeit (bei 100 km/h ) muss also erst über den Widerstand am Filter eingestellt werden. Man müsste im Datenblatt nachschauen, aber ich bezweifele, dass der mit den 12 Impulsen/Umdrehung ein Problem hat.
In der Mikrocontroller-HW/SW laufen zwei kaskadierte Timer-Interrupts, um die Zeit zwischen zwei Impulsen zu messen. Das Spektrum dieser Messung reicht von bis zu 2 Sekunden hinunter bis in den Millisekungenbereich. Das ist ein sehr weiter Messbereich, der nur mit kaskadierten Timern erreicht werden kann. Auch bei den Timern ist die Auflösung auf 1 Radimpuls/Umdrehung und ca. 350 km/h ausgelegt. Wird eine höhere Radfrequenz (wie bei dir Faktor 12) benutzt, so leidet die Auflösung im hohen Geschwindigkeitsbereich.
Eine mögliche Vorgehensweise wäre, den sog. 'Reload-Value' des ersten Timers (bei uns 'Prescaler' gennant) kürzer einzustellen und damit die Auflösung zu erhöhen. Dann muss aber der nachgeschaltete Timer angepasst werden, sonst stimmt die Zeitmesung nicht mehr. Details zu den Timern findest im HW-Manual des M16C (Link hier im Forum).
Alternativ könnte man bei hohen Geschwindigkeiten auch von 'Zeitmessung zwischen zwei Impulsen' umschalten auf 'Impuls-Zähler pro Zeiteinheit' (wurde schonmal diskutiert). Das würde den Genauigkeitsvorteil beider Methoden kombinieren. Aber die Umschaltung der Methode irgendwo bei 100 km/h wäre sicherlich im Display zu sehen (oder auch nicht?). Könnte man mal zuende denken...
Bye, Ralf
Hi Ralf,
Für mich würde sich die Umstellung von Impulsabstand auf Impulszähler lohnen. Mal ein paar Bilder zur Diskussion:
Annahmen:
- Genauigkeit des SIXO-Timers 200µs (stimmt das?)
- Zeitraum der Impulszählung: 0.4s (hier hatte ich im Hintergrund, dass die Devices ca. alle 0.4 aufgerufen werden. Stimmt dies?)
- Anzahl Impulse / Radumdrehung (Abhängig vom Sensor. Bei der Twin sind dies 12)
- Radumfang : 1756mm
Die Diagramme zeigen folgendes:
Maximal mögliche Abweichung bei der entsprechenden Geschwindigkeit für folgende Fälle:
1. Impulszählung / abgerundet auf nächste ganze Zahl (logisch)
2. Impulszählung / abgerundet auf nächste ganze Zahl + 1 Impuls
3. Impulszählung / abgerundet auf nächste ganze Zahl - 1 Impuls
4. Impulszählung / abgerundet auf nächste ganze Zahl + 2 Impulse
5. Impulszählung / abgerundet auf nächste ganze Zahl - 2 Impulse
6./7. Zeitlicher Impulsabstand unter Berücksichtigung der Genauigkeit des Timers
Es stellt sich natürlich die Frage, ob der Sensor prellt bzw. wieviele Impulse fehlerhaft gemessen werden. Ich habe einmal angenommen, dass der Sensor nicht prellt. Wenn man jetzt noch die aktuelle Zählung mit der vorherigen mittelt, habe ich als Maximum +/-2 angenommen. Zu optimistisch?
Bild 1a:
Annahmen:
- Genauigkeit des SIXO-Timers: 200µs
- Zeitdauer der Impulszählung: 0.4s
- Anzahl Impulse / Radumdrehung: 12
Kommentar:
- Das wäre jetzt genau die Konfiguration für die Twin.
- Dieses Diagramm stimmt in etwa überein mit den Schwankungen der Geschwindigkeit, wie ich sie an der Twin beobachtet habe (-->Impulsdauermessung).
- Mit den o.a. Annahmen würde sich ein Wechsel von Impulsdauer zu Impulsanzahl bei ca. 80-90km/h anbieten.
Hierbei könnte man ein beide Verfahren parallel laufen lassen und linear überblenden (Für eine etwaige Zulassung ist das natürlich Mist... ).
- Man könnte auch probieren, nur die Impulsanzahl auszuwerten. DIe Anzahl der Impulse/Umdrehung macht dies möglich. Käme auf einen Versuch an.
Bild 1b:
Annahmen:
- Genauigkeit des SIXO-Timers: 400µs
- Zeitraum der Impulszählung: 0.4s
- Anzahl Impulse / Radumdrehung: 12
Kommentar:
- Hier habe ich eine niedrigere Genauigkeit des Timers angenommen. Entsprechend würde sich der Wechsel von Impulsdauer zu Impulsanzahl bereits bei einer geringeren Geschwindigkeit anbieten.
Bild 2a:
Annahmen:
- Genauigkeit des SIXO-Timers: 200µs
- Zeitraum der Impulszählung: 0.4s
- Anzahl Impulse / Radumdrehung: 6
Kommentar:
- Hier eine Darstellung für ein einen Sensor mit 6 Impulsen/ Radumdrehung.
Hier würde sich ein wechsel zur Impulszählung erst ab ca. 200km/h lohnen.
Für alle, die einen Sensor mit 1 Impuls/Raddrehung heisst dies: Wechsel von Impulsdauer zu Impulsanzahl lohnt defnitiv nicht.
So, nun die Fragen:
- Sind die Annahmen halbwegs ok?
- Wie zähle ich die Impulse
Gruß
Jens
Sodele, ich hab da mal bischen was gerechnet. Ich stelle es mal zur Diskussion hier rein, vielleicht ist es ja auch falschRalf hat geschrieben: Alternativ könnte man bei hohen Geschwindigkeiten auch von 'Zeitmessung zwischen zwei Impulsen' umschalten auf 'Impuls-Zähler pro Zeiteinheit' (wurde schonmal diskutiert). Das würde den Genauigkeitsvorteil beider Methoden kombinieren. Aber die Umschaltung der Methode irgendwo bei 100 km/h wäre sicherlich im Display zu sehen (oder auch nicht?). Könnte man mal zuende denken...
Für mich würde sich die Umstellung von Impulsabstand auf Impulszähler lohnen. Mal ein paar Bilder zur Diskussion:
Annahmen:
- Genauigkeit des SIXO-Timers 200µs (stimmt das?)
- Zeitraum der Impulszählung: 0.4s (hier hatte ich im Hintergrund, dass die Devices ca. alle 0.4 aufgerufen werden. Stimmt dies?)
- Anzahl Impulse / Radumdrehung (Abhängig vom Sensor. Bei der Twin sind dies 12)
- Radumfang : 1756mm
Die Diagramme zeigen folgendes:
Maximal mögliche Abweichung bei der entsprechenden Geschwindigkeit für folgende Fälle:
1. Impulszählung / abgerundet auf nächste ganze Zahl (logisch)
2. Impulszählung / abgerundet auf nächste ganze Zahl + 1 Impuls
3. Impulszählung / abgerundet auf nächste ganze Zahl - 1 Impuls
4. Impulszählung / abgerundet auf nächste ganze Zahl + 2 Impulse
5. Impulszählung / abgerundet auf nächste ganze Zahl - 2 Impulse
6./7. Zeitlicher Impulsabstand unter Berücksichtigung der Genauigkeit des Timers
Es stellt sich natürlich die Frage, ob der Sensor prellt bzw. wieviele Impulse fehlerhaft gemessen werden. Ich habe einmal angenommen, dass der Sensor nicht prellt. Wenn man jetzt noch die aktuelle Zählung mit der vorherigen mittelt, habe ich als Maximum +/-2 angenommen. Zu optimistisch?
Bild 1a:
Annahmen:
- Genauigkeit des SIXO-Timers: 200µs
- Zeitdauer der Impulszählung: 0.4s
- Anzahl Impulse / Radumdrehung: 12
Kommentar:
- Das wäre jetzt genau die Konfiguration für die Twin.
- Dieses Diagramm stimmt in etwa überein mit den Schwankungen der Geschwindigkeit, wie ich sie an der Twin beobachtet habe (-->Impulsdauermessung).
- Mit den o.a. Annahmen würde sich ein Wechsel von Impulsdauer zu Impulsanzahl bei ca. 80-90km/h anbieten.
Hierbei könnte man ein beide Verfahren parallel laufen lassen und linear überblenden (Für eine etwaige Zulassung ist das natürlich Mist... ).
- Man könnte auch probieren, nur die Impulsanzahl auszuwerten. DIe Anzahl der Impulse/Umdrehung macht dies möglich. Käme auf einen Versuch an.
Bild 1b:
Annahmen:
- Genauigkeit des SIXO-Timers: 400µs
- Zeitraum der Impulszählung: 0.4s
- Anzahl Impulse / Radumdrehung: 12
Kommentar:
- Hier habe ich eine niedrigere Genauigkeit des Timers angenommen. Entsprechend würde sich der Wechsel von Impulsdauer zu Impulsanzahl bereits bei einer geringeren Geschwindigkeit anbieten.
Bild 2a:
Annahmen:
- Genauigkeit des SIXO-Timers: 200µs
- Zeitraum der Impulszählung: 0.4s
- Anzahl Impulse / Radumdrehung: 6
Kommentar:
- Hier eine Darstellung für ein einen Sensor mit 6 Impulsen/ Radumdrehung.
Hier würde sich ein wechsel zur Impulszählung erst ab ca. 200km/h lohnen.
Für alle, die einen Sensor mit 1 Impuls/Raddrehung heisst dies: Wechsel von Impulsdauer zu Impulsanzahl lohnt defnitiv nicht.
So, nun die Fragen:
- Sind die Annahmen halbwegs ok?
- Wie zähle ich die Impulse
Gruß
Jens
Hi Jens,
du kniest dich ja richtig rein. Schön, dass du dich ses Themas annimmst. Evtl. können dann alle an einer universellen Methode profitieren. Ich bin mir allerdings nicht sicher, ob du von den richtigen Voraussetzungen ausgehst.
Deshalb hier etwas Background zur Geschwindigkeitsmessung im SIxO (auch für andere erklärt, deshalb bei NULL angefangen ):
1. Der SIxO misst die Zeit von einem Radimpuls zum nächsten.
2. Der Basiseinheit der Zeitmesung ist 200µs, definiert durch einen Hardware-Timer (TB2, 16bit) des M16C, der frei läuft und alle 200µs einen Interrupt generiert.
3. Wenn dieser TB2 überläuft (Interrupt), zählt ein weiterer HW-Timer (TA2, 16bit, im sog. 'Counter-Mode') diesen Impuls. TA2 ist also der eigentliche 'Zeitmesser'
4. Wenn das Rad stillsteht, wird TA2 irgendwann überlaufen (nach ca. 0,8 sec.) und ebefalls einen Interrupt erzeugen. Dann wird die Geschwindigkeit '0 km/h' erkannt, und die Messung beginnt von vorne.
5. Wenn am WHEEL-Kontakt ein Radimpuls erkannt wurde (HW-Interupt), wird TA2 SOFORT ausgelesen. Der Inhalt von TA2 entspricht dann der Zeit, die seit dem letzten Radimpuls (oder letzten Stillstand) verangenen ist, in Einheiten von 200µs. Dann beginnt die Messung von vorne.
6. Die eigentliche Geschwindigkeit wird durch Umrechnung der Periodendauer des WHEEL-Kontaktes mit Hilfe des Radumfangs ermittelt.
7. Nebenbei wird auch die zurückgelegte Strecke in mm aufsummiert, so dass dieverse km-Zähler hochzählen können.
Dieser Art der Messung hat diese Eigenschaften:
1. Unterhalb einer Mindestgeschwindigkeit (abh. vom Radumfang) dauert die Zeitmessung zu lange, Timer TA2 läuft über und es wird Stillstand erkannt (typ. 3-4 km/h)
2. Bei niedrigen Geschwindigkeiten enthält TA2 sehr hohe Werte (Anzahl von aufsummierten 200µs Einheiten). Dadurch ist die relative Genauigkeit bei niedrigen Geschwindigkeiten hoch!
3. Bei hohen Geschwindigkeiten vergeht nur sehr wenig Zeit von einem Radimpuls zum nächsten, TA2 enthält nur sehr kleine Werte, die Messung gerät an ihre Auflösungsgrenze und die relative Genauigkeit ist entsprechend schlecht gering. Typischerweise haben wir bei ca. 200 km/h ca. 200µs pro angezeigten km/h, dass heißt, wenn auch nur ein Radimpuls nicht erkannt wird, 'flackert' das Ergebnis schon um +/- 1 km/h.
4. Um das 'Flackern' des Messwertes zu verringern, wird bei hohen Geschwindigkeiten über einen Tiefpass gefiltert, bei sehr niedrigen Geschwindigkeiten jedoch nicht (Anzeige wäre sonst zu träge).
5. Die ANZEIGE im Display (alle 400ms) läuft völlig unabhängig vom Ermitteln des Messwertes, sie zeigt nur den letzten Messwert an.
Alternativ könnte man Impulse zählen:
Hier kehrt sich die Genauigkeit um: Bei hohen Geschwindigkeiten zählt man viele Impulse/Zeiteinheit, die relative Genauigkeit ist hoch! Bei niedrigen Geschwindigkeiten zählt man nur wenige Impulse/Zeiteinheit, die relative Genauigkeit ist gering. Optimal wäre eine Kombination beider Methoden.
Betrachtungen dazu findet ihr auch hier:
http://www.thiguten.de/sixo-forum/viewt ... windigkeit
In den Diagrammen zum Vergleich der Methoden sollte am besten die relativen Genauigkeit beider Methoden erscheinen. Relativ heißt, um wieviel das jeweilige Ergebnis 'km/h' bei 'x Impulsen/Sekunden' abweicht, wenn nur 1 Impuls hinzukommt/fehlt. Du bekommst Mail mit ein paar Untersuchungen von Arnold zu dem Thema, die könntest du als Basis nehmen.
Bye, Ralf
du kniest dich ja richtig rein. Schön, dass du dich ses Themas annimmst. Evtl. können dann alle an einer universellen Methode profitieren. Ich bin mir allerdings nicht sicher, ob du von den richtigen Voraussetzungen ausgehst.
Deshalb hier etwas Background zur Geschwindigkeitsmessung im SIxO (auch für andere erklärt, deshalb bei NULL angefangen ):
1. Der SIxO misst die Zeit von einem Radimpuls zum nächsten.
2. Der Basiseinheit der Zeitmesung ist 200µs, definiert durch einen Hardware-Timer (TB2, 16bit) des M16C, der frei läuft und alle 200µs einen Interrupt generiert.
3. Wenn dieser TB2 überläuft (Interrupt), zählt ein weiterer HW-Timer (TA2, 16bit, im sog. 'Counter-Mode') diesen Impuls. TA2 ist also der eigentliche 'Zeitmesser'
4. Wenn das Rad stillsteht, wird TA2 irgendwann überlaufen (nach ca. 0,8 sec.) und ebefalls einen Interrupt erzeugen. Dann wird die Geschwindigkeit '0 km/h' erkannt, und die Messung beginnt von vorne.
5. Wenn am WHEEL-Kontakt ein Radimpuls erkannt wurde (HW-Interupt), wird TA2 SOFORT ausgelesen. Der Inhalt von TA2 entspricht dann der Zeit, die seit dem letzten Radimpuls (oder letzten Stillstand) verangenen ist, in Einheiten von 200µs. Dann beginnt die Messung von vorne.
6. Die eigentliche Geschwindigkeit wird durch Umrechnung der Periodendauer des WHEEL-Kontaktes mit Hilfe des Radumfangs ermittelt.
7. Nebenbei wird auch die zurückgelegte Strecke in mm aufsummiert, so dass dieverse km-Zähler hochzählen können.
Dieser Art der Messung hat diese Eigenschaften:
1. Unterhalb einer Mindestgeschwindigkeit (abh. vom Radumfang) dauert die Zeitmessung zu lange, Timer TA2 läuft über und es wird Stillstand erkannt (typ. 3-4 km/h)
2. Bei niedrigen Geschwindigkeiten enthält TA2 sehr hohe Werte (Anzahl von aufsummierten 200µs Einheiten). Dadurch ist die relative Genauigkeit bei niedrigen Geschwindigkeiten hoch!
3. Bei hohen Geschwindigkeiten vergeht nur sehr wenig Zeit von einem Radimpuls zum nächsten, TA2 enthält nur sehr kleine Werte, die Messung gerät an ihre Auflösungsgrenze und die relative Genauigkeit ist entsprechend schlecht gering. Typischerweise haben wir bei ca. 200 km/h ca. 200µs pro angezeigten km/h, dass heißt, wenn auch nur ein Radimpuls nicht erkannt wird, 'flackert' das Ergebnis schon um +/- 1 km/h.
4. Um das 'Flackern' des Messwertes zu verringern, wird bei hohen Geschwindigkeiten über einen Tiefpass gefiltert, bei sehr niedrigen Geschwindigkeiten jedoch nicht (Anzeige wäre sonst zu träge).
5. Die ANZEIGE im Display (alle 400ms) läuft völlig unabhängig vom Ermitteln des Messwertes, sie zeigt nur den letzten Messwert an.
Alternativ könnte man Impulse zählen:
Hier kehrt sich die Genauigkeit um: Bei hohen Geschwindigkeiten zählt man viele Impulse/Zeiteinheit, die relative Genauigkeit ist hoch! Bei niedrigen Geschwindigkeiten zählt man nur wenige Impulse/Zeiteinheit, die relative Genauigkeit ist gering. Optimal wäre eine Kombination beider Methoden.
Betrachtungen dazu findet ihr auch hier:
http://www.thiguten.de/sixo-forum/viewt ... windigkeit
In den Diagrammen zum Vergleich der Methoden sollte am besten die relativen Genauigkeit beider Methoden erscheinen. Relativ heißt, um wieviel das jeweilige Ergebnis 'km/h' bei 'x Impulsen/Sekunden' abweicht, wenn nur 1 Impuls hinzukommt/fehlt. Du bekommst Mail mit ein paar Untersuchungen von Arnold zu dem Thema, die könntest du als Basis nehmen.
Bye, Ralf
Hi Ralf,
erst einmal danke für die ausführliche Antwort und die email.
Ich sende dir und Arnold noch eine Email mit einem Excelsheet und ein paar Bildern zu.
Fangen wir mal an mit den "Grundlagen" und ob ich das richtig sehe:
Die obigen Bilder sind dann ggf. nicht eindeutig bezeichnet:
Hier das ganze nochmal:
6 Impulse/sek:
6 Impulse/sek (rel. Fehler):
12 Impulse/sek:
12 Impulse/sek (rel. Fehler):
AUf den Bildern zu sehen:
- Die grundsätzliche Genauigkeit der Impulszählungsmethode ohne Fehler
("Impulszähler [abgerundet]").
- Die Genauigkeit der Impulszählungsmethode mit 1 Fehler:
- ("Impulszähler [abgerundet+ 1 fehlerhalfter Impuls]").
- ("Impulszähler [abgerundet - 1 fehlerhalfter Impuls]").
Hierbei muss man sagen, dass dies auf Grund der Timerauflösung nicht unbedingt ein Fehler ist, sondern einfach vorkommen kann, dass ein Impuls zu wenig gezählt wird.
Der Impuls zuviel kann jedoch z.B. durch Prellen entstehen.
- Die Genauigkeit der Impulszählungsmethode mit 2 Fehlern:
- ("Impulszähler [abgerundet+ 2 fehlerhalfter Impuls]").
- ("Impulszähler [abgerundet - 2 fehlerhalfter Impuls]").
Wie oben.
Hier müsste aber zumindest ein "echter" Fehler aufgetreten sein.
- Die grundsätzliche Genauigkeit der Impulsabstandmethode:
- ("Impulsabstand -delta_r)
- ("Impulsabstand +delta_r)
Das ist der maximal mögliche Fehler dieser Methode unter Berücksichtigung der Timerauflösung delta_r.
Anmerkung 1:
Diese Kurve ist eigentlich auch "wellig", hier ist aber das Maximum als Einhüllende gezeigt.
Anmerkung 2:
Dies stellt noch keinen Fehler an sich dar, sondern basiert auf der Timerauflösung (siehe "Grundlagen"-Bilder).
- Die Genauigkeit der Impulsabstandmethode mit einem Fehler:
- ("Impulsabstand +delta_r+1 verpasster Impuls)
In diesem Fall erreicht die Kurve schnelll eine nicht akzeptable Abweichung (egal ob Timerauflösung berücksichtigt wurde oder nicht).
Anmerkung 1:
Einen zu frühen Impuls (Prellen) müsste man bei Worst-Case-betrachtung direkt nach 200µs ansetzen
--> Starke positive Abweichung, im Diagramm nicht gezeigt.
"Impulse pro Zeiteinheit":
Gezählte Impulse pro gewählter Zeiteinheit (z.B. 0.4s).
"Impulse pro Sekunde":
Gezählte Impulse pro Sekunde (nur zum Vergleich).
Dann nochmal zusammenfassend:
Annahme:
Radumfang ca. 1756mm
- Bei nur 1 Impuls/Radumdrehung macht ein Umstieg auf Impulszählermethode keinen Sinn.
- Bei 6 Impulsen/Radumdrehungen könnte man ab ca. 170km/h darüber nachdenken.
- Bei (meinen) 12 Impulsen Impulsen/Radumdrehungen sollte man ab ca. 80-90 km/h umschalten, bzw. könnte man nur die Impulszählung verwenden, da die Abweichung bereits bei niedrigen Geschwindigkeiten <5km/h bleibt.
Vielleicht schaffe ich es ja vor nächstem Mittwoch was in die SW zu stricken und kann dann ja mal berichten.
Gruß
Jens
erst einmal danke für die ausführliche Antwort und die email.
Ich sende dir und Arnold noch eine Email mit einem Excelsheet und ein paar Bildern zu.
Ok, dann muss ich ein bischen ummalenRalf hat geschrieben: In den Diagrammen zum Vergleich der Methoden sollte am besten die relativen Genauigkeit beider Methoden erscheinen. Relativ heißt, um wieviel das jeweilige Ergebnis 'km/h' bei 'x Impulsen/Sekunden' abweicht, wenn nur 1 Impuls hinzukommt/fehlt.
Fangen wir mal an mit den "Grundlagen" und ob ich das richtig sehe:
Die obigen Bilder sind dann ggf. nicht eindeutig bezeichnet:
Hier das ganze nochmal:
6 Impulse/sek:
6 Impulse/sek (rel. Fehler):
12 Impulse/sek:
12 Impulse/sek (rel. Fehler):
AUf den Bildern zu sehen:
- Die grundsätzliche Genauigkeit der Impulszählungsmethode ohne Fehler
("Impulszähler [abgerundet]").
- Die Genauigkeit der Impulszählungsmethode mit 1 Fehler:
- ("Impulszähler [abgerundet+ 1 fehlerhalfter Impuls]").
- ("Impulszähler [abgerundet - 1 fehlerhalfter Impuls]").
Hierbei muss man sagen, dass dies auf Grund der Timerauflösung nicht unbedingt ein Fehler ist, sondern einfach vorkommen kann, dass ein Impuls zu wenig gezählt wird.
Der Impuls zuviel kann jedoch z.B. durch Prellen entstehen.
- Die Genauigkeit der Impulszählungsmethode mit 2 Fehlern:
- ("Impulszähler [abgerundet+ 2 fehlerhalfter Impuls]").
- ("Impulszähler [abgerundet - 2 fehlerhalfter Impuls]").
Wie oben.
Hier müsste aber zumindest ein "echter" Fehler aufgetreten sein.
- Die grundsätzliche Genauigkeit der Impulsabstandmethode:
- ("Impulsabstand -delta_r)
- ("Impulsabstand +delta_r)
Das ist der maximal mögliche Fehler dieser Methode unter Berücksichtigung der Timerauflösung delta_r.
Anmerkung 1:
Diese Kurve ist eigentlich auch "wellig", hier ist aber das Maximum als Einhüllende gezeigt.
Anmerkung 2:
Dies stellt noch keinen Fehler an sich dar, sondern basiert auf der Timerauflösung (siehe "Grundlagen"-Bilder).
- Die Genauigkeit der Impulsabstandmethode mit einem Fehler:
- ("Impulsabstand +delta_r+1 verpasster Impuls)
In diesem Fall erreicht die Kurve schnelll eine nicht akzeptable Abweichung (egal ob Timerauflösung berücksichtigt wurde oder nicht).
Anmerkung 1:
Einen zu frühen Impuls (Prellen) müsste man bei Worst-Case-betrachtung direkt nach 200µs ansetzen
--> Starke positive Abweichung, im Diagramm nicht gezeigt.
"Impulse pro Zeiteinheit":
Gezählte Impulse pro gewählter Zeiteinheit (z.B. 0.4s).
"Impulse pro Sekunde":
Gezählte Impulse pro Sekunde (nur zum Vergleich).
Dann nochmal zusammenfassend:
Annahme:
Radumfang ca. 1756mm
- Bei nur 1 Impuls/Radumdrehung macht ein Umstieg auf Impulszählermethode keinen Sinn.
- Bei 6 Impulsen/Radumdrehungen könnte man ab ca. 170km/h darüber nachdenken.
- Bei (meinen) 12 Impulsen Impulsen/Radumdrehungen sollte man ab ca. 80-90 km/h umschalten, bzw. könnte man nur die Impulszählung verwenden, da die Abweichung bereits bei niedrigen Geschwindigkeiten <5km/h bleibt.
Vielleicht schaffe ich es ja vor nächstem Mittwoch was in die SW zu stricken und kann dann ja mal berichten.
Gruß
Jens
Moin,
also man kann es sich schwer machen...oder einfach schummeln
Falls diese Lösung bereits diskutiert wurde,dann war ich wohl blind...
Die Zeilen ohne Zeilennummer sind von mir hinzugefügt (sorry, ich hab das mit dem Nummerieren nicht raus...):
Kleiner Auszug aus dem Quellcode (measdrv.c#373ff):
Über
wird festgelegt, wie oft überhaupt die Auswertung stattfinden soll. Bei mir mit 12 Impulsen pro Radumdrehen nur jedes 12. mal.
Davor zählt nur
bei jedem Impuls aufwärts bis WHEEL_IMPULSES_PER_TURN erreicht ist.
Der Rest des Codes ist absolut identisch. Daher könnte man diesen einen Faktor (WHEEL_IMPULSES_PER_TURN) ggf. als Konfigurationsfaktor wie den Radumfang angeben. Dann haben auch die BMW-Leute (IMHO 6 Impulse/Radumdrehung) kein Problem mehr.
Ich habe das ganze heute getestet und es funktioniert wunderbar (sowohl Tacho als auch Streckenzähler).
Das Ganze ist mir allerdings erst eingefallen, als ich schon die Hälfte von 12896 FUnktionen für die Impulszählmethode abgeändert habe...
Irgendwann war mir das zu fummelig...und 2 Bier haben nachgeholfen
Sodele, eine Baustelle weniger
Die restlichen Probleme im Wanderbaustellen-Thread...
Gruß
Jens
also man kann es sich schwer machen...oder einfach schummeln
Falls diese Lösung bereits diskutiert wurde,dann war ich wohl blind...
Die Zeilen ohne Zeilennummer sind von mir hinzugefügt (sorry, ich hab das mit dem Nummerieren nicht raus...):
Kleiner Auszug aus dem Quellcode (measdrv.c#373ff):
Code: Alles auswählen
373 #pragma INTERRUPT WheelSensor_ISR
374 void WheelSensor_ISR(void)
375 {
376 static UINT16 wWheelDist = 0; /* to sum wheelsize in mm */
static UINT16 wWheelImpulseCount = 0; /* Count until WHEEL_IMPULSES_PER_TURN,
then calculate wWheelPeriod as usual*/
377 UINT32 dwWheelPeriod; /* to ge current value */
378
379 TOGGLE_PAD11; /* toggle port pin (debug only) */
wWheelImpulseCount++; /* Count Impulses */
if (wWheelImpulseCount >= WHEEL_IMPULSES_PER_TURN) /* Transform multiple Impulses per Turn to 1 per turn */
{
wWheelImpulseCount = 0; /* Reset Impulse-Counter */
380
381 /* wheel speed stuff ------------------- */
382 fWheelCnt = FALSE; /* stop counter now! */
383 dwWheelPeriod = WHEEL_MAXVALUE - wWheelCnt; /* save elapsed time */
384
385 /* Tachovoreilung */
386 /* Do not touch these values. These tiny magic bits have been thoroughfully */
387 /* evaluated during a night shift. Some beers may have improved the results. */
388 /* (Note that there is also a +1 km/h in maindev.c) */
389 if( dwWheelPeriod > 200 )
390 dwWheelPeriod -= 6; /* for speeds of about < 190 km/H @ 2100mm or < 160 km/h @ 1800mm */
391 else
392 dwWheelPeriod -= 7;
393
394 wWheelCnt = WHEEL_MAXVALUE; /* reload timer */
395 fWheelCnt = TRUE; /* restart timer now! */
396
397 /* save most actual wheel period */
398 wWheelPeriodLast = (UINT16)dwWheelPeriod; /* save last used index */
399
400 /* calculated filtered wheel period (scaled)*/
401 dwWheelPeriod4 = ( 3 * dwWheelPeriod4 + (dwWheelPeriod<<3>> 2;
Code: Alles auswählen
#define WHEEL_IMPULSES_PER_TURN 12
Davor zählt nur
Code: Alles auswählen
wWheelImpulseCount
Der Rest des Codes ist absolut identisch. Daher könnte man diesen einen Faktor (WHEEL_IMPULSES_PER_TURN) ggf. als Konfigurationsfaktor wie den Radumfang angeben. Dann haben auch die BMW-Leute (IMHO 6 Impulse/Radumdrehung) kein Problem mehr.
Ich habe das ganze heute getestet und es funktioniert wunderbar (sowohl Tacho als auch Streckenzähler).
Das Ganze ist mir allerdings erst eingefallen, als ich schon die Hälfte von 12896 FUnktionen für die Impulszählmethode abgeändert habe...
Irgendwann war mir das zu fummelig...und 2 Bier haben nachgeholfen
Sodele, eine Baustelle weniger
Die restlichen Probleme im Wanderbaustellen-Thread...
Gruß
Jens
Tacho
Hi Jens,
kannst du mir mal kurz sagen an welche Kabel von der AT du den WHEEL-Impuls abgenommen hast?
Ich habe einen Sixo parallel zu den orginal Instrumenten angeschlossen und den orginal Tripmaster zu erstetzen. Aus dem orginal Tacho sollten doch Impulse raus gehen. Die kann ich aber auf dem Tisch mit einem Dremel an den eine Tachowelle angestecckt ist, nicht messen. An der AT geht die Geschwindigkeitanzeige im Sixo nur wenn ich den orginal Tripmaster auch anschließe. Sieht cool aus mit drei Instrumenten . Also muss irgendein Signal vom Orgnial Trip zum orginal Tacho gehen, damit die Impulse erzegt werden.
Wenn du mir einen Tip geben könnest, wäre toll.
Gruß
Andreas
kannst du mir mal kurz sagen an welche Kabel von der AT du den WHEEL-Impuls abgenommen hast?
Ich habe einen Sixo parallel zu den orginal Instrumenten angeschlossen und den orginal Tripmaster zu erstetzen. Aus dem orginal Tacho sollten doch Impulse raus gehen. Die kann ich aber auf dem Tisch mit einem Dremel an den eine Tachowelle angestecckt ist, nicht messen. An der AT geht die Geschwindigkeitanzeige im Sixo nur wenn ich den orginal Tripmaster auch anschließe. Sieht cool aus mit drei Instrumenten . Also muss irgendein Signal vom Orgnial Trip zum orginal Tacho gehen, damit die Impulse erzegt werden.
Wenn du mir einen Tip geben könnest, wäre toll.
Gruß
Andreas
At und Sixo
Hallo Jens,
kannst du mir testweise mal deine geänderte Bin Datei der Version schicken ?
Folgender Aufbau:
Afrika Twin RD09, orginal Tacho. Sixo erstetzt den Tripmaster.
Es soll der vorhanden Radimpulse benutzt werden.
Sixo mit geändertem Eingangswiderstand R53 -> 3,9kOhm. Radumfang 150mm eingestellt.
Funktioniert bis 80 km/h einwandfrei, danach stimmen die Werte nicht mehr.
Hat sonst noch jemand den Sixo auf einer AT so verbaut ?
Gruß
Andreas
kannst du mir testweise mal deine geänderte Bin Datei der Version schicken ?
Folgender Aufbau:
Afrika Twin RD09, orginal Tacho. Sixo erstetzt den Tripmaster.
Es soll der vorhanden Radimpulse benutzt werden.
Sixo mit geändertem Eingangswiderstand R53 -> 3,9kOhm. Radumfang 150mm eingestellt.
Funktioniert bis 80 km/h einwandfrei, danach stimmen die Werte nicht mehr.
Hat sonst noch jemand den Sixo auf einer AT so verbaut ?
Gruß
Andreas
Re: At und Sixo
Jepp!Andreas hat geschrieben: Hat sonst noch jemand den Sixo auf einer AT so verbaut ?
Auf der einen AT als Alleininstrument, auf der anderen AT als Zusatzinstrument. Beide SIXOs habe ich beim TÜV eintragen lassen.
Beide male habe ich aber eine Reedkontakt einbaut.
Auf der einen AT brauche ich ja keine Tachowelle mehr und auf der Reise AT habe ich den Reedkontakt gleichzeitig mit dem ProOiler verwendet.
Tschau
Gunnar
______________________
Gunnar
______________________
Re: AT
Das war mir klar.Andreas hat geschrieben:...
Aber hier geht es um den Impuls den der orginal Tacho liefert.
...
Aber ich habe hier noch mehrere Tripmaster liegen und kann Dir gerne ein paar Daten mit Oszilloskop aufnehmen. Hierfür habe ich ein kleines Prüffeld mit original Tacho aufgebaut.
Bei Bedarf, einfach melden.
Tschau
Gunnar
______________________
Gunnar
______________________
Impuls AT
Hallo Gunnar,
das wäre super. Ich brauche das Signal vom orginal Tacho bei mehr als 100km/h.
Ist aber ein OpenCollector Signal und braucht einen Widerstand zwischen Eingang und Masse. Wichtig ist mir nur ob das Signal mit steigender Geschwindigkeit kleiner wird und irgend wann nicht mehr genügend Spannung hat um am Eingang des Sixo erkannt zu werden, oder ob zu viele Signal an kommen und der Sixo nicht alle erkennt.
Vielen Dank
Andreas
das wäre super. Ich brauche das Signal vom orginal Tacho bei mehr als 100km/h.
Ist aber ein OpenCollector Signal und braucht einen Widerstand zwischen Eingang und Masse. Wichtig ist mir nur ob das Signal mit steigender Geschwindigkeit kleiner wird und irgend wann nicht mehr genügend Spannung hat um am Eingang des Sixo erkannt zu werden, oder ob zu viele Signal an kommen und der Sixo nicht alle erkennt.
Vielen Dank
Andreas
Geniale Idee, einfach ein Foto von allem zu machen - die Kamera das digitales Interface zum analogen Ossi!
Was auf dem Foto fehlt, ist allerdings der Tastkopf, ich nehme, der hat einen Teiler von 1/10, so dass die max. Amplitude 10 V ist?
Das Signal ist allerdings etwas unregelmäßig (keine Wiederholung des Signalverlaufs). Lohnt es sich, über diesen Screenshot zu sprechen, oder bekommst du einen bessern hin?
Ralf
Was auf dem Foto fehlt, ist allerdings der Tastkopf, ich nehme, der hat einen Teiler von 1/10, so dass die max. Amplitude 10 V ist?
Das Signal ist allerdings etwas unregelmäßig (keine Wiederholung des Signalverlaufs). Lohnt es sich, über diesen Screenshot zu sprechen, oder bekommst du einen bessern hin?
Ralf
1. NööRalf hat geschrieben: Lohnt es sich, über diesen Screenshot zu sprechen, oder bekommst du einen bessern hin?
Ralf
2. Jepp
gemach, gemach ...
Bin dran, Interessant sind auch nur die Verläufe ohne Tripmaster. Hierfür muss ich noch eine Ersatzschaltung basteln.
Tschau
Gunnar
______________________
Gunnar
______________________
Re: Impuls AT
Hi Andreas,
dann nehme ich mal an, dass meine SW-Version bei dir nicht funktioniert?
Gruß
Jens
dann nehme ich mal an, dass meine SW-Version bei dir nicht funktioniert?
Gruß
Jens
Andreas hat geschrieben:Wichtig ist mir nur ob das Signal mit steigender Geschwindigkeit kleiner wird und irgend wann nicht mehr genügend Spannung hat um am Eingang des Sixo erkannt zu werden, oder ob zu viele Signal an kommen und der Sixo nicht alle erkennt.
Vielen Dank Andreas
Re: Impuls AT
So, jetzt habe ich mal ein weinig Zeit gehabt:
Ich habe aber 10, 20 und 40km/h gemessen und hier 10 und 20 km/h skizziert. Alle Signale sind proportional.
Einmal mit 100kOhm und einmal mit 10kOhm.
Mit Tripmaster bleibt die Amplitude bei konstanten 4,6 Volt.
Ohne Trippi dafür mit Widerstand ist die Amplitude (11,6V) nur abhängig von der Eingangsspannung (hier 12V).
D.h. Eingangsspannung 13V; Amplitude 12.6V
Wird der Widerstand zu groß dimensioniert, läuft man bei hohen Frequenzen zwangsläufig in die aufsteigende Flanke (siehe Diagramm 100kOhm Widerstand).
Ich hoffe ich konnte ein klein wenig helfen und habe nicht zu sehr zur Verwirrung beigetragen.
Über 100km/h kann ich leider nicht bieten, da die Tachowelle linksdrehend ist.Andreas hat geschrieben:Ich brauche das Signal vom orginal Tacho bei mehr als 100km/h.
Ich habe aber 10, 20 und 40km/h gemessen und hier 10 und 20 km/h skizziert. Alle Signale sind proportional.
Hierfür habe ich zwei Signale aufgezeichnet.Andreas hat geschrieben:Ist aber ein OpenCollector Signal und braucht einen Widerstand zwischen Eingang und Masse.
Einmal mit 100kOhm und einmal mit 10kOhm.
Alle Messungen habe ich mit konstant 12V vorgenommen.Andreas hat geschrieben:Wichtig ist mir nur ob das Signal mit steigender Geschwindigkeit kleiner wird und irgend wann nicht mehr genügend Spannung hat um am Eingang des Sixo erkannt zu werden, oder ob zu viele Signal an kommen und der Sixo nicht alle erkennt.
Mit Tripmaster bleibt die Amplitude bei konstanten 4,6 Volt.
Ohne Trippi dafür mit Widerstand ist die Amplitude (11,6V) nur abhängig von der Eingangsspannung (hier 12V).
D.h. Eingangsspannung 13V; Amplitude 12.6V
Wird der Widerstand zu groß dimensioniert, läuft man bei hohen Frequenzen zwangsläufig in die aufsteigende Flanke (siehe Diagramm 100kOhm Widerstand).
Ich hoffe ich konnte ein klein wenig helfen und habe nicht zu sehr zur Verwirrung beigetragen.
Tschau
Gunnar
______________________
Gunnar
______________________
Impuls AT
Hallo Gunnar,
super, vielen Dank für deine Mühe.
Hilft etwas weiter.
Hast du an irgend einer AT den orginal Tripmaster durch einen SIxO erstetzt und den orginal Tacho beibehalten ? (Oder vielleicht jemand anderer).
Problem bekomme ich nur bei Geschwindigkeiten über 80 km/h.
Aber es sieht für mich eher so aus, also ob der Sixo da irgendwie die Impulse die über 80km/h kommen, nicht schnell genug verarbeiten kann.
Die Impulse sehen nicht so aus also ob sie sich bei verschiedenen Geschwindigkeiten verändern.
@Jens:
leider geht deine Version nicht komplett, da bei den neuen Hardware Version ein anderes EEPROM verbaut ist und Arnold dafür den Code angepasst hat.
Aber vielleicht kann Ralf ja mal den Compiler anwerfen
Gruß
Andreas
super, vielen Dank für deine Mühe.
Hilft etwas weiter.
Hast du an irgend einer AT den orginal Tripmaster durch einen SIxO erstetzt und den orginal Tacho beibehalten ? (Oder vielleicht jemand anderer).
Problem bekomme ich nur bei Geschwindigkeiten über 80 km/h.
Aber es sieht für mich eher so aus, also ob der Sixo da irgendwie die Impulse die über 80km/h kommen, nicht schnell genug verarbeiten kann.
Die Impulse sehen nicht so aus also ob sie sich bei verschiedenen Geschwindigkeiten verändern.
@Jens:
leider geht deine Version nicht komplett, da bei den neuen Hardware Version ein anderes EEPROM verbaut ist und Arnold dafür den Code angepasst hat.
Aber vielleicht kann Ralf ja mal den Compiler anwerfen
Gruß
Andreas
Halli-Hallo.
ich würde ja gerne helfen, aber die Sache sieht für mich im Moment etwas unübersichtlich aus, deshalb möchte ich das mal zusammenfassen:
Zur AfricaTwin-Ausstattung:
Ganz oben (6.05.2007) hatte ich mal versucht zu erklären, wie die SIxO-interne Mesung über zwei kaskadierte Timer mittels Zeitmessung realisiert ist. Das Problem ist, dass der eine Timer mit einer Auflösung von 200 µs arbeitet. Das ist bereits bei 1 Imp./Umdr. problematisch für die Genauigkeit. Bei 12 Imp./Umdr. wird die Ungenauigkeit bei großen Geschwindigkeiten einfach zu groß.
@Andreas: "Funktioniert bis 80 km/h einwandfrei, danach stimmen die Werte nicht mehr." Was genau wird denn >80 km/h angezeigt? Einfach nur ungenau, zu kleine, zu große oder absolute Mondwerte?
Was ansonsten noch wichtig ist - wie Andreas bereits angemerkt hat: Die Qualität (Höhe, Breite, Verlauf) des Signals bei höheren Geschwindigkeiten! Ich weiß jetzt nicht, warum eine 'linksdrehende Tachowelle' keinen Test von > 40 km/h hergibt. Aber es wäre schön, genau das Signal >100 km/h mit 12 Imp/Umdr. am Ossi zu sehen.
@Gunnar/Andreas: Meinst ihr ihr könnt das mal messen?
Nächste SW-Release:
In der nächsten SIxO-Release (die LEIDER noch in Arbeit ist), ist bei den Einstellungen bereits der von Jens eingerichtete 'Teiler' vorbereitet, so dass jeder selbst für sein Motorrad eingeben kann, wieviele Impulse/Umdrehung sein Radgeber hergibt (einstellbar 1..99). Evtl. hilft das - gemeinsam mit eurer Hardwareänderung weiter? Ich schaue mal, ob ich euch eine Zwischenversion geben kann.
Ralf
ich würde ja gerne helfen, aber die Sache sieht für mich im Moment etwas unübersichtlich aus, deshalb möchte ich das mal zusammenfassen:
Zur AfricaTwin-Ausstattung:
- - Der AT-Originaltacho ('TripMaster'?) prägt 5V auf den Impulsgeber
- der AT-Original-Impulsgeber liefert 12 Impulse/Radumdrehung
- - Der SIxO prägt 12V auf den Impulsgeber
- Der SIxO verarbeitet (im Original) nur 1 Impuls/Radumdrehung
- - Der AT-Originaltacho soll ersetzt(!) werden durch den SIxO.
- beide Tachos (Tripmaster + SIxO) können wg. der unterschiedlichen Spannungen auf keinen Fall parallel am gleiche Impulsgeber betrieben werden.
- - Der SIxO ist in der Hardware bereits so umgebaut, dass er zumindest die 12-fache Impulszahl am Eingangsschaltkreis nicht mehr wegfiltert.
- Die SIxO-Software kann theoretisch über einen um 1/12 verringerten Radumfang den korrekten Weg/Geschwindigkeit berechnen. Das scheitert aber offensichtlich ab ca. 80 km/h (siehe oben, Andreas vom 21.09.2010)
- Die Software, die Jens (siehe oben, So Mai 20, 2007) für sich erstellt hat, lässt den Radumang unverändert, zählt aber dafür aber nur jeden 12ten Radimpuls. Das scheint bei ihm (bei jeder Geschwindigkeit?) einwandfrei zu funktionieren.
Ganz oben (6.05.2007) hatte ich mal versucht zu erklären, wie die SIxO-interne Mesung über zwei kaskadierte Timer mittels Zeitmessung realisiert ist. Das Problem ist, dass der eine Timer mit einer Auflösung von 200 µs arbeitet. Das ist bereits bei 1 Imp./Umdr. problematisch für die Genauigkeit. Bei 12 Imp./Umdr. wird die Ungenauigkeit bei großen Geschwindigkeiten einfach zu groß.
@Andreas: "Funktioniert bis 80 km/h einwandfrei, danach stimmen die Werte nicht mehr." Was genau wird denn >80 km/h angezeigt? Einfach nur ungenau, zu kleine, zu große oder absolute Mondwerte?
Was ansonsten noch wichtig ist - wie Andreas bereits angemerkt hat: Die Qualität (Höhe, Breite, Verlauf) des Signals bei höheren Geschwindigkeiten! Ich weiß jetzt nicht, warum eine 'linksdrehende Tachowelle' keinen Test von > 40 km/h hergibt. Aber es wäre schön, genau das Signal >100 km/h mit 12 Imp/Umdr. am Ossi zu sehen.
@Gunnar/Andreas: Meinst ihr ihr könnt das mal messen?
Nächste SW-Release:
In der nächsten SIxO-Release (die LEIDER noch in Arbeit ist), ist bei den Einstellungen bereits der von Jens eingerichtete 'Teiler' vorbereitet, so dass jeder selbst für sein Motorrad eingeben kann, wieviele Impulse/Umdrehung sein Radgeber hergibt (einstellbar 1..99). Evtl. hilft das - gemeinsam mit eurer Hardwareänderung weiter? Ich schaue mal, ob ich euch eine Zwischenversion geben kann.
Ralf
AT
Hallo Ralf,
Der Impulsformer ist im orginal Tacho enthalten. Dort werden die Umdrehungen der Tachowelle in Impulse umgeformt. Die Impulse werden vom orginal Tripmaster als Eingang genutzt. Ohne orginal Tacho (analogen) kann man die Impulse also auch nicht nutzen. Am orginal Tacho liegen die Impulse an einem Steckverbinder an. Ist ein open collector Ausgang.
Ich hatte hier einen orginal Tacho als Leihgabe zum testen gehabt. Mit einer Welle und einem Dremel habe ich 50 km/h geschaft. Mehr geht leider nicht
Ich habe einen Sixo an die AT von meinem Bruder angebaut. Aber als komplett Ersatz für die orginal Instrumente.
Rüdiger hat einen Sixo als Ersatz für den Tripmaster eingebaut. Das Kabel dafür habe ich ihm angefertigt. Er sagt das ab 120km/h die Geschwindigkeitsanzeige hin und her springt.
Sieht sehr gut aus:
Meine Vermutung entweder es sind ab 120km/h zuviele Impulse, oder der Eingang des Sixo belastet den Ausgang vom orginal Tacho zu sehr.
Ich denke wir brauchen ein Bild der Impulse bei >120km/h mit verbautem Sixo. Ich habe leider kein Oszi das klein ist und mit 12Volt läuft. Sonst wurde ich das mal auf einer AT live testen.
Gruß
Andreas
Der Impulsformer ist im orginal Tacho enthalten. Dort werden die Umdrehungen der Tachowelle in Impulse umgeformt. Die Impulse werden vom orginal Tripmaster als Eingang genutzt. Ohne orginal Tacho (analogen) kann man die Impulse also auch nicht nutzen. Am orginal Tacho liegen die Impulse an einem Steckverbinder an. Ist ein open collector Ausgang.
Ich hatte hier einen orginal Tacho als Leihgabe zum testen gehabt. Mit einer Welle und einem Dremel habe ich 50 km/h geschaft. Mehr geht leider nicht
Ich habe einen Sixo an die AT von meinem Bruder angebaut. Aber als komplett Ersatz für die orginal Instrumente.
Rüdiger hat einen Sixo als Ersatz für den Tripmaster eingebaut. Das Kabel dafür habe ich ihm angefertigt. Er sagt das ab 120km/h die Geschwindigkeitsanzeige hin und her springt.
Sieht sehr gut aus:
Meine Vermutung entweder es sind ab 120km/h zuviele Impulse, oder der Eingang des Sixo belastet den Ausgang vom orginal Tacho zu sehr.
Ich denke wir brauchen ein Bild der Impulse bei >120km/h mit verbautem Sixo. Ich habe leider kein Oszi das klein ist und mit 12Volt läuft. Sonst wurde ich das mal auf einer AT live testen.
Gruß
Andreas
Hi Andreas,
immer noch etwas unübersichtlich die Infos: So verstehe ich das jetzt, ich hoffe, das ist richtig:
Ralf
immer noch etwas unübersichtlich die Infos: So verstehe ich das jetzt, ich hoffe, das ist richtig:
- - Der AT-Tacho hat den Inkrementalgeber (12 x / Umdrehung) integriert, zeigt selbst aber das Geschwindigkeit über die Nadel (wahrscheinlich Magnet-Mitnehmer) an.
- - Der AT-Tripmaster ist die kleine Kiste mit Display oberhalb des Tachos, der die Infos digital auswerten kann (Quasi-SIxO)
- - Der TripMaster ist über einen Steckverbinder mit dem Imkrementalgeber im Tacho verbunden. Das ist der Kontakt, an dem GunGo den 5V Pegel Signalverlauf gemessen hat.
50 km/h sind ca. 14 m/s, bei einem Radumfang von ca. 2 m ergibt das 7 U/s oder 720 U/Min. Das ist ja schon was. Aber evtl. hilft Einspannen in ein Bohrmaschinenfutter weiter?Mit einer Welle und einem Dremel habe ich 50 km/h geschaft.
Na wenn da der Originaltacho fehlt, wird der SIxO mit Standard-Impulsgeber (1x/Umdrehung) betrieben, und alles funktioniert wie gewohnt, oder?Ohne orginal Tacho (analogen) kann man die Impulse also auch nicht nutzen.
...
Ich habe einen Sixo an die AT von meinem Bruder angebaut. Aber als komplett Ersatz für die orginal Instrumente.
Aber das entspricht ja exakt den ersten Erfahrungen von Jens ganz oben vom 2.5.2007 in diesem Thread!Rüdiger hat einen Sixo als Ersatz für den Tripmaster eingebaut. Das Kabel dafür habe ich ihm angefertigt. Er sagt das ab 120km/h die Geschwindigkeitsanzeige hin und her springt.
Das wäre schon sehr wichtig, um sicher zu sein, welche Qualität das Signal dann noch hat. Manche Bohrmaschinen haben ja sogar einen 'Schnellgang', evtl. hilft das ja weiter...Ich denke wir brauchen ein Bild der Impulse bei >120km/h mit verbautem Sixo. Ich habe leider kein Oszi das klein ist und mit 12Volt läuft.
Also ich denke, wenn es bei Jens funktioniert, sollte es auch bei euch funktionieren. Die Hardware-Änderungen habt ihr ja schon gemacht, jetzt fehlt nur noch die Software. Ich baue euch mal eine Zwischenversion zum Testen. Da ist dann der von Jens verwendete Software-Teiler für den Radimpuls-Interrupt schon drin.Meine Vermutung entweder es sind ab 120km/h zuviele Impulse, oder der Eingang des Sixo belastet den Ausgang vom orginal Tacho zu sehr.
Ralf
Richtig .- Der AT-Tacho hat den Inkrementalgeber (12 x / Umdrehung) integriert, zeigt selbst aber das Geschwindigkeit über die Nadel (wahrscheinlich Magnet-Mitnehmer) an.
- Der AT-Tripmaster ist die kleine Kiste mit Display oberhalb des Tachos, der die Infos digital auswerten kann (Quasi-SIxO)
- Der TripMaster ist über einen Steckverbinder mit dem Imkrementalgeber im Tacho verbunden. Das ist der Kontakt, an dem GunGo den 5V Pegel Signalverlauf gemessen hat.
Leider kann ich nichts testen, da ich keine AT Tacho mehr hier habe. Aber vielleicht kann Gunnar was probieren ?50 km/h sind ca. 14 m/s, bei einem Radumfang von ca. 2 m ergibt das 7 U/s oder 720 U/Min. Das ist ja schon was. Aber evtl. hilft Einspannen in ein Bohrmaschinenfutter weiter?
Deswegen wollte ich eine SW mit der Anpassung zum testen.Aber das entspricht ja exakt den ersten Erfahrungen von Jens ganz oben vom 2.5.2007 in diesem Thread!
Das wäre prima.Also ich denke, wenn es bei Jens funktioniert, sollte es auch bei euch funktionieren. Die Hardware-Änderungen habt ihr ja schon gemacht, jetzt fehlt nur noch die Software. Ich baue euch mal eine Zwischenversion zum Testen. Da ist dann der von Jens verwendete Software-Teiler für den Radimpuls-Interrupt schon drin.
Gruß
Andreas
Hi,
eine Zwischenversion (SIxO20_V247_Test.zip) kann hier heruntergeladen werden:
Adresse: https://sixo.online-festplatte.htp.net:443/
Login: firmware(at)sixo.de
Passwort: firmware
Dies ist nur eine Zwischenversion. Bitte nicht über diverse unverständliche Neuerungen wundern, es ist auch nicht alles getestet und in Betrieb genommen. Sobald ich einen voll durchgetesten 'Release-Candidate' (V3.0.0) habe, sage ich bescheid.
Aber der 'Radimpulsteiler' ist funktionsfähig! Zu finden wie immer im 'Settings' Device, unter 'FAHRZEUG' und 'I/U'. Weitere (evtl. vermisste) Einstellungen sind zu finden, wenn nach unten gescrollt wird...
Bin gespannt, ob es damit bei der AT (inkl. HW-Änderungen) funktioniert.
Ralf
eine Zwischenversion (SIxO20_V247_Test.zip) kann hier heruntergeladen werden:
Adresse: https://sixo.online-festplatte.htp.net:443/
Login: firmware(at)sixo.de
Passwort: firmware
Dies ist nur eine Zwischenversion. Bitte nicht über diverse unverständliche Neuerungen wundern, es ist auch nicht alles getestet und in Betrieb genommen. Sobald ich einen voll durchgetesten 'Release-Candidate' (V3.0.0) habe, sage ich bescheid.
Aber der 'Radimpulsteiler' ist funktionsfähig! Zu finden wie immer im 'Settings' Device, unter 'FAHRZEUG' und 'I/U'. Weitere (evtl. vermisste) Einstellungen sind zu finden, wenn nach unten gescrollt wird...
Bin gespannt, ob es damit bei der AT (inkl. HW-Änderungen) funktioniert.
Ralf
Das würde ich gerne tun, aber ich schaffe nur bis 60km/h.Andreas hat geschrieben:Leider kann ich nichts testen, da ich keine AT Tacho mehr hier habe. Aber vielleicht kann Gunnar was probieren ?50 km/h sind ca. 14 m/s, bei einem Radumfang von ca. 2 m ergibt das 7 U/s oder 720 U/Min. Das ist ja schon was. Aber evtl. hilft Einspannen in ein Bohrmaschinenfutter weiter?
Zu den 720 U/min kommt noch Faktor 3. Bei einer Radumdrehung dreht sich die Tachowelle 3 mal.
Das sind dann 2160 U/min.
Wie gesagt, auch noch linksdrehend.
Den Aufbau habe ich eben nochmal kontrolliert und mit 1MOhm betrieben bei 60Km/h.
Wie schon angedeutet kann sich dann die volle Spannung nicht aufbauen.
M.E. müsste mal überprüft werden wie hoch die Belastung am Tacho bzw. Hallgeber ist.
Hier habe ich noch einen schönen Link zum Aufbau des Tripmasters und des Tachosignals gefunden:
http://www.africatwin.com.ar/Digital_tr ... e_2_es.htm
Tschau
Gunnar
______________________
Gunnar
______________________
Nur um sicher zu gehen, damit keine Missverständnisse (insbesondere bei der Beschaltung des HW-Eingangsfilters) auftreten:Zu den 720 U/min kommt noch Faktor 3. Bei einer Radumdrehung dreht sich die Tachowelle 3 mal.
Effektiv ist es also so, dass die Tachowelle 3x schneller dreht als das Rad. Der Inkrementalgeber im AT-Tacho gibt 4 Impulse/Tachowellenumdrehung. Das macht dann also aus Sicht des SIxO 12 Impulse/Radumdrehung. Korrekt?