Analoge Thumb-Stick-Probleme

Umriss:

Ich versuche, mit einem Arduino- und Analog-Daumenstick zu arbeiten, um Werte für einen einfachen Differentialantriebsroboter zu erhalten, an dem ich arbeite. Das Keyes_Sjoys Arduino Joystick-Modul, das ich in meinem Besitz habe, gibt mir jedoch einige seltsame Zahlen.

Folgende Achsendaten habe ich:

  • X-Achsenbereich von 0 bis zu wackeligen 470-520 mit einem Mittelwert von 40.
  • Y-Achsenbereich von einer soliden 4 bis solide 1023 mit einem Mittelwert von 605.

Problem

Ich habe noch nie analoge Sensoren verwendet, aber es scheint ziemlich offensichtlich, dass sich meine X-Achsen-Bereiche der Y-Achse ähnlich anfühlen sollten, aber sie tun es nicht. Darüber hinaus trifft die X-Achse auf Null Weg, bevor sie für ihren Betriebsbereich sogar in die Nähe des Randes kommt.

Ist mein Sensor einfach kaputt (er ist neu) oder kann ich das Potentiometer irgendwie neu kalibrieren?

Update 1: Die Verkabelung ist die gleiche wie in diesem Tutorial, und ich habe den gleichen Code verwendet, nur einen weiteren analogen Eingang hinzugefügt. http://arduino.cc/en/Tutorial/AnalogReadSerial

void setup(){
 Serial.begin(9600); 
}
void loop(){
  int X = analogRead(A0);
  int Y = analogRead(A1);

  Serial.print("X = ");
  Serial.print(X);
  Serial.print(" Y = ");
  Serial.println(Y);
  delay(3);
}
Eine Möglichkeit, dies zu testen, besteht darin, den Widerstand jeder Achse mit einem Multimeter zu messen, um zu isolieren, ob es sich um den Joystick oder ein potenzielles Code- / ADC-Problem handelt. Ich würde erwarten, dass die Achsen relativ ähnlich sein sollten.
Wie genau hast du die beiden miteinander verkabelt?
Aktualisiert mit Code und Verkabelung.
Lesen Sie weiter unter Entkopplungskondensatoren oder lesen Sie diesen Beitrag.

Antworten (1)

  1. Trennen Sie physikalisch alle Verbindungen des Moduls vom Arduino.
  2. Überprüfen Sie dann den Widerstand zwischen dem Vcc-Pin des Moduls und den tatsächlichen Pins an jedem Ende jedes kleinen Potentiometers in der Joystick-Vorrichtung auf dem Modul.
  3. Prüfen Sie auf ähnliche Weise den Widerstand zwischen dem Erdungsstift des Moduls und den physischen Stiften an jedem Ende jedes Potentiometers im Joystick-Gerät.
  4. Überprüfen Sie schließlich den Widerstand zwischen dem VRx-Stift und jedem der Mittelkontakte der kleinen Potentiometer, und ähnlich mit VRy.

In einem funktionierenden Modul sollten Sie in jedem Fall einen Widerstand von Null oder nahezu Null (~10 Ohm) für einen bestimmten Potentiometerstift vom Modulstift sehen.

Mit ziemlicher Sicherheit ist das Löten eines der Gerätestifte auf der Modulplatine nicht perfekt - Höchstwahrscheinlich liefert der Vcc-Stift an einem der Stifte des X-Achsen-Potentiometers nicht den erwarteten niedrigen Widerstandswert.

Löten Sie diese Verbindung auf der kleinen Platine neu.