Frage:
Arduino falsche Messwerte vom analogen Pin
Adam Dally
2013-05-28 10:43:49 UTC
view on stackexchange narkive permalink

Einer meiner analogen Pins, A0, auf meinem Arduino Uno liefert keine absolut genauen Ergebnisse. Wenn einer der anderen Pins in einem bestimmten Anwendungsfall eine volle 0-1023 ausführt, scheint der Problem-Pin nur etwa 50-730 auszugeben.

Bekommt dieser Pin irgendwie eine Störung oder ist es das? vielleicht defekt?

Haben Sie die beiden Pins so miteinander verbunden, dass beide Pins unbestritten den gleichen Eingang haben? Erhalten Sie immer noch falsche Messwerte auf A0 im Vergleich zum anderen Pin?
Ich habe gerade einen Test eingerichtet, bei dem genau der gleiche Eingang an allen analogen Pins gelesen wurde. Dies sind die Zahlen, die ich ständig erhielt: 731, 1022, 1023, 1023, 1023, 1023. A0 war entweder bei 731 oder 732 und alle anderen Pins waren bei 1022 oder 1023.
Es scheint auch, dass sich der Atmega beim Ablesen der Spannungen von A0 auf eine gewünschte Temperatur erwärmt. Zuerst bestand mein Test darin, zwischen den einzelnen Lesevorgängen eine Verzögerung von 1000 ms zu setzen, aber durch Reduzieren auf 100 ms bleibt die Karte konstant heiß, während A0 angeschlossen ist.
Eine wünschenswerte oder unerwünschte Temperatur? Wirklich immateriell - hört sich so an, als hätten Sie A0 irgendwie gekocht
oh unerwünscht ** und ja, wenn nur der A0-Pin gelesen wird, wird es extrem heiß.
Sechs antworten:
#1
+5
jacobsgriffith
2016-01-04 04:49:16 UTC
view on stackexchange narkive permalink

Ich hatte das gleiche Problem, habe versucht, den Spannungseingang an A0 und A1 zu lesen (nur um zu sehen, ob A0 schlecht war) und habe höhere Werte als erwartet erhalten.

3.6 statt 3.4

also hat die Leitung

  Spannung = sensorValue * (5.0 / 1023.0);  

nicht den richtigen Wert p ausgegeben >

Mein Arduino Mega 2560 wurde von Rasberry Pi über USB mit Strom versorgt.

Lösung:

Versorgen Sie Ihr Arduino-Board mit einem geregelten Gleichstromeingang und verlassen Sie sich nicht auf USB-Strom 5V- oder 3,3V-Karten.

Dies bedeutet, dass die USB-Versorgung laut, wellig oder zu hoch war.Denken Sie daran, dass USB zwischen 4,75 und 5,25 gültig ist, 5V ist nur nominal.
Diese Antwort hat mein Problem perfekt gelöst
Sie sind sicherlich nicht auf das * gleiche Problem * gestoßen.Ihr Problem ist anders.
Ich hatte Probleme mit den Messwerten, als das UNO ohne Verwendung eines UNO-Gleichstromnetzteils an einen Raspberry USB angeschlossen wurde.Problem nach dem Einstecken des geregelten Gleichstroms gelöst.Vielen Dank
#2
+4
Andy aka
2013-05-28 22:48:37 UTC
view on stackexchange narkive permalink

Der Chip ist defekt, würde ich sagen. Alle miteinander verbundenen analogen Eingangspins liefern mit Ausnahme von A0 konsistente Ergebnisse. Die Chips werden warm, wenn Sie sich auf das Lesen von A0 konzentrieren - dies könnte eine Über- / Unterspannung am Eingang sein, dies wurde jedoch durch den vorherigen Test ausgeschlossen. Dies könnte durch eine statische Entladung geschehen sein oder es könnte ein zufälliger Fehler sein - diese Dinge sind meiner Erfahrung nach sehr selten, aber sie werden gelegentlich für jemanden auftreten.

Wenn dieser Stift zuvor als verwendet wurde Ausgabe (ich bin nicht allzu vertraut mit Arduinos) Vielleicht wurde es irgendwie überstrapaziert. Da es A0 (und nicht A1, 2, 3 usw.) ist, das fehlgeschlagen ist, vermute ich eine frühere Inkarnation seiner Verwendung, aber dies ist auch ein langer Weg.

Kaufen Sie eine neue, von der ich denke, dass sie die ist Bester Rat oder leben Sie mit dem defekten Stift, wenn Sie ihn nicht verwenden können. Wenn es auch als digitaler Ausgang fungiert, können Sie vielleicht testen, ob diese Seite der Dinge noch funktioniert?

A0 = D14 auf dem Uno, also ja, ein digitaler Schreibtest kann durchgeführt werden.
Der ATmega wird wahrscheinlich warm, weil die Klemmdioden abgeschossen werden und Strom von Vcc nach gnd leiten.Das erklärt auch die fehlerhaften Werte, da die Dioden einen niederohmigen Widerstandsteiler bilden.Ich hatte ähnliche Symptome bei einem 328P, nachdem ich versehentlich 15 V AC an einen der ADC-Pins (whoops) gespeist hatte.
#3
+1
Anindo Ghosh
2013-05-29 11:03:37 UTC
view on stackexchange narkive permalink

Das Problem liegt möglicherweise bei Ihrer spezifischen Arduino Uno-Karte, nicht beim Mikrocontroller.

Überprüfen Sie bei ausgeschaltetem Gerät den Widerstand zwischen dem A0-Pin und dem GND-Pin sowie dem A0- und Vcc-Pin.

Wenn es sich entweder um einen Kurzschluss oder (wahrscheinlicher) um einen niedrigen Widerstand handelt, untersuchen Sie die A0-Spur mit einer Lupe oder einem Mikroskop auf einen Lötkurzschluss.

Das Aufheizen der Platine und die unerwartet niedrigen Messwerte führen zu einer möglichen Schlussfolgerung eines Kurzschlusses.

Ich sehe nicht ein, wie ein Kurzschluss den Stift auf 50-730 klemmen könnte.
#4
+1
Mike Rabit
2014-07-08 15:21:28 UTC
view on stackexchange narkive permalink

Ich hatte etwas Ähnliches. Ein Analogeingang zeigte im Vergleich zu den anderen drei von mir verwendeten Analogeingängen einen konstant ungeraden Wert. Alle Widerstandsmessungen waren in Ordnung.

Ich habe einen Trimmwiderstand (Schieberegler) verwendet, der die ATmega2560-Referenzspannung an die ADC-Eingänge anlegt. Keine Ahnung warum, aber dies funktionierte nur bei 3 der 4 ADCs.

Ich habe dann die 5-V-Versorgung am Schieberegler verwendet und - überraschenderweise - alle Messwerte wie erwartet. Ich habe keine Ahnung, was dort schief gelaufen ist. Ich werde die Spezifikation des Vref lesen - aber diese Seite danach möglicherweise nicht mehr finden ... nur für den Fall ...

#5
+1
Jim T
2017-03-02 03:03:12 UTC
view on stackexchange narkive permalink

Ich hatte ein Problem mit dem Arduino Uno, bei dem der A / D-Rohwert nur auf 1022 ging. Die Karte wurde über USB mit Strom versorgt.Als ich auf ein externes Netzteil umgestellt habe, das auf 6 V eingestellt ist, wurde das Problem behoben.

Ich sehe keinen Zusammenhang mit dem in der Frage beschriebenen Thema.
@DmitryGrigoryev - Das Problem in der Frage war, dass ein A / D-Wertebereich zu niedrig war.Geht es in dieser Antwort nicht darum?
#6
  0
yazjack
2017-03-24 17:04:46 UTC
view on stackexchange narkive permalink

Der Entkopplungskondensator repariert das Problem für Sie.Legen Sie eine über + und - Schienen auf das Steckbrett, bevor Sie die Stifte verwenden, mit denen Sie den Joystick mit Strom versorgen.Achten Sie auf die Polarität, damit Sie sich keinen Booboo gönnen.100uF machen normalerweise den Trick und der Trick ist, dass es Spannungsspitzen glättet, also spuckt Ihr Joystick Messwerte basierend auf der normalisierten Spannung zurück.

schematic

simulieren diese Schaltung - Schema erstellt mit CircuitLab sup>

Wer hat etwas über einen Joystick gesagt?
Oh, richtig.Ich habe über die Joystick-Probleme gelesen, auf die ich gestoßen bin.Nun, es wird sowieso funktionieren.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...