PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Odometrie Querempfindlichkeit links-rechts



der_smo
30.01.2011, 13:09
Hallo,

ich habe ein verrücktes Problem mit den Odometrie-Daten.
Die Daten des rechten Sensors scheinen ok, die Daten des linken Sensors hängen vom Zustand beider Sensoren ab.
Testmethode: Ich lasse die Odometrie-Daten über die LEDs anzeigen, also z.B. 256..511: Linke LED, 512..768 rechte LED, darüber beie LEDs etc., analog mit der Statuslampe für den anderen Sensor.
Wenn ich am linken Rad drehe, blinken die zugeordneten LEDs entsprechen.
Wenn ich am rechten Rad drehe, blinken die LEDs für beide Sensoren, so als ob der übergebene Wert für den linken Sensor in Wahrheit die Summe der beiden Sensorwerte ist.
Ist es ein Softwareproblem? Oder habe ich irgendwo eine Brücke auf der Leiterplatine? Wo muss ich nachsehen?

Martin

markusj
30.01.2011, 15:08
Wenn du eine Brücke hättest, würden sich beide Seiten gegenseitig beeinflussten.
Ist ein Programmierfehler deinerseits ausgeschlossen? Sieh dir doch Mal die erfassten Messwerte über die IR-Schnittstelle an!

Wenn du dann immer noch nicht weiter bist, wäre es am sinnvollsten, den kompletten Schaltungsteil zur Odometrie-Auswertung noch einmal genauer unter die Lupe zu nehmen. Das Betrifft die Back-LEDs, die beiden Phototransistoren + IR-LEDs und zugehörigen Widerstände.

mfG
Markus

der_smo
05.02.2011, 19:58
Kann man denn da viel falsch machen im Programm?



unsigned int OdoData[2];
OdometrieData(OdoData);
if (OdoData[1]<256) BackLED(OFF,OFF);
else if (OdoData[1]<512) BackLED(OFF,ON);
else if (OdoData[1]<768) BackLED(ON,OFF);
else BackLED(ON,ON);

if (OdoData[0]<256) StatusLED(OFF);
else if (OdoData[0]<512) StatusLED(RED);
else if (OdoData[0]<768) StatusLED(GREEN);
else StatusLED(YELLOW);


Mit diesem Code verhalten sich die LEDs so als würde die StatusLed die Summe der beiden Signale anzeigen und die BackLEDS richtig funktionieren.

Nach Sichtprüfung sehen alle Lötstellen ok aus..

radbruch
05.02.2011, 20:33
Hallo

Odometrie und BackLEDs sollte bzw. darf man nicht zusammen verwenden!

Sie teilen sich dieselben Kontrollerpins und stören sich deshalb gegenseitig. Verwende testweise mal den Anzeigecode mit der Statusled jeweils für links und drehe rechts, bzw. für rechts und drehe links. Dann wird die Abhängigkeit nicht mehr auftreten. Denn Code mit den BackLEDs musst du bei diesem Test natürlich entfernen.


Wenn ich am rechten Rad drehe, blinken die LEDs für beide Sensoren,...... weil der Wert der rechten Odowerte in OdoData[1] gespeichert ist und mit den BackLEDs angezeigt wird.

Gruß

mic

P.S.: Eigentlich recht pfiffig wie du dir die Werte anzeigen läßt. Kleines Lob dafür von mir ;)

der_smo
05.02.2011, 20:54
Tatsache, genau das war's. Jetzt läuft's. Vielen Dank.