hallo,
ich muss durch einen außenspiegelschalter (Joystick) von einen
unbekannten fahzeug einen Außensiegel steueren. das Thema meines
Projektes ist LIN-Datenbus.
das Problem liegt daran dass dieser Joystik komische werte ausgibt, das
lässt sich nicht einfach in der Microcontroller abfragen. was der
Joystick ausgibt habe ich gemessen und in folgende Tabelle
zusammengefast:
-der Joystick ist durch 5v versorgt
Gelb Schwarz/Rot Grün
***********************************************************
Mittel position 0,43 0,67 0,17
***********************************************************
Oben 0 5 5
***********************************************************
Unten 5 0 0,22
***********************************************************
Recht 0,43 0 5
***********************************************************
Links 0,43 5 0
***********************************************************
-problem jetzt in der controller macht kein unterschied zwischen Mittel
position und Links. das wert 0,67 wird als High bewertet, was im normal
fall als Low bewertet muss.
-Unten und Recht funktionieren wunderbar
Frage:
hat jemend nein idee wie kann ich das problem beheben?
danke
Sieht nach Dioden-Sperrspannungen aus. Welchen Kontrollerbenutzt du, der
0.67V als high bewertet? AVR sicher nicht!
ansonsten ist die Wahrheitstabelle doch schlüssig?? Die Spannungen <1V
kannst du als '0' interprätieren, high fängt üblicherweise >2 oder 2.3V
an.
Dann hast du für jede Stellung einen anderen Wert.
>Was sind das für Werte?
sind natürlich in Volt
>Gibt es kein Datenblatt von dem Teil?
Leider nicht für autoteilegibt meistens kein datenblätter
>Welchen Kontrollerbenutzt du?
ich benutze AT90CAN128>Die Spannungen <1V kannst du als '0' interprätieren, high fängt >üblicherweise >2
oder 2.3V
>an.
leider in mein fall nicht dar Controller interprätiert 0,6 schon als
High
>Wie siehts mit einem Schaltbild aus wo der Stick angeschlossen ist?
gleich ! bin dabei
Kann es sein , das du die gemessenen Spannungspegel über die internen
Dioden des AVR holst?
Wie sind die Pegel, wenn du den Schalter ohne die restliche Schaltung
misst?
Zum anderen gibt das Datenblatt des AT90CAN128, daß bis max. 0.2*Vcc als
LOW interpretiert wird, es sollte bei dir eigendlich keine Probleme
geben.
Haben die restlichen Pins des Joystickschalters irgendwelche pull-up
oder pull-down Widerstände, bzw. sind sonst irgendwo angeschlossen?
Ich würde auch sagen, schließ das Ding an den AD Wandler an und dann
kannst du die Werte wenn was passieren soll per Software einstellen.
Ich werd mir am we mal den Schalter vornehmen, ich hab so einen noch in
der Garage rumliegen...(...schöne Grüße an Opel ;-)
und wo sind die PullDown-Widerstände??
sonst floaten deine eingänge wenn nix gedrückt ist, und mann lest nür
noch mist.
Also: 3 Pulldownwiderstände an deine uC pins A0, A2, A3
>Wie sind die Pegel, wenn du den Schalter ohne die restliche Schaltung>misst?
ich habe die pegeln ohne restlische Schaltung gemessen
ich habe jetzt gerade aber mit die Schaltung gemessen das eizige
unterschiede ist das die 0,67 in der oben beschriebene Tabelle mit dem
wert 0,89V geändert. aber trozdem 8,9 ist noch nicht die 0,2*Vcc.
>Haben die restlichen Pins des Joystickschalters irgendwelche pull-up>oder pull-down Widerstände, bzw. sind sonst irgendwo angeschlossen?
ich habe das teil abgebaut und ist ein widerstand drin gelötet, das ist
für der Leuchtdiode gedacht.
>Ich werd mir am we mal den Schalter vornehmen, ich hab so einen noch in>der Garage rumliegen...(...schöne Grüße an Opel ;-)
danke dir mindestens weiße ich jetzt von welschen Fahrzeug ist der
Schalter kommt.
>3 Pulldownwiderstände an deine uC pins A0, A2, A3
ich habe dass schon gemacht sonst funktionieren zwei bewegungs
richtungen nicht
Rechts und Unten laufen sehrgut.
Der Schalter ist in so gut wie jedem Opel zwischen 1993 und 2003
verbaut. Da findest du auch die Innenbeschaltung...auf meinem Astra
Schaltplan steht sogar, welche Kontakte geschlossen sind, wenn man die
einzelnen Richtungen drückt.
Z.B. hier: http://www.skandia-sauna.de/astra/