Merkwürdige Poti werte

Gast #6162133
Lesenswert?

Hallo,

ich bin Arduino Neuling und gerade an meinem ersten Projekt:
ein intelligentes Gewächshaus mit automatischer Bewässerung...

Ich bin gerade dabei 3 Potentiometer auszulesen mit denen ich dann quasi 
manuell für jeden der 3 Blumentöpfe eine Schaltschwelle einstellen kann 
bei der dann gegossen wird.

Ich hänge die beiden äußeren Füße des 10k Potis an GND und 5V das 
mittlere an einen Analogen Pin am Arduino.

1. Wenn ich am analogen Pin nichts anschließe und ihn dennoch auslese 
kommen werte um die 300 raus, was ja eigentlich nicht sein kann...

2. Wenn ich einen Poti  wie beschrieben anhänge liefert der Befehl 
analogRead(potiPin); auch keine realistischen Werte.
Die Werte springen und fallen nach jeder Messung im Seriellenmonitor 
sieht dann das ohne am Poti zu drehen so aus:
65
367
369
370
358
247
218
4
211
256
298
320
334
343
348
351
355
359
360
362
363
363
364
365
365
366
367
373
371
371


Könnt ihr mir irgendwie helfen?

Also mein Ziel ist es verlässliche Werte zu bekommen die ich mit dem 
Befehl map() als Schaltschwelle für meine Pumpen nutzen kann.

Ich hoffe ich habe mein Problem verständlich erklärt.
Mfg Jannes
Gast #6162155
Lesenswert?

Jannes schrieb:
> 1. Wenn ich am analogen Pin nichts anschließe und ihn dennoch auslese
> kommen werte um die 300 raus, was ja eigentlich nicht sein kann...

da du die Spannung nicht definiert hast, kann alles mögliche rauskommen. 
Das ist soweit in Ordnung.

Jannes schrieb:
> 2. Wenn ich einen Poti  wie beschrieben anhänge liefert der Befehl
> analogRead(potiPin); auch keine realistischen Werte.

Also das Poti zwischen 5V und GND und den Schleifer zum ADC? Dann 
müssten sinnvolle Werte rauskommen, die auf das Drehen des Potis 
reagieren. Da muss wohl ein Fehler in deinem Aufbau oder in deiner 
Software sein. Vielleicht hast du die Verbindungen anders gemacht als du 
denkst. Oder du liest den falschen ADC-Eingang aus. Oder ...

Joachim B. schrieb:
> achso, verrate nur nicht wo das beschrieben ist UND wie du es angehängt
> hast, man könnte Fehler finden.

Na ja, wahrscheinlich so wie im Eröffnungsbeitrag beschrieben, oder?
Gast #6162175
Lesenswert?

Jannes schrieb:

> 1. Wenn ich am analogen Pin nichts anschließe und
> ihn dennoch auslese kommen werte um die 300 raus,
> was ja eigentlich nicht sein kann...

Warum denn nicht?

Die heute allgemein übliche CMOS-Technik ist so hochohmig,
dass jeder offene Eingang als Antenne wirkt und sich
irgendein "schwimmendes" Potenzial einstellt. Der gemessene
Wert kann vom Exemplar, der Temperatur, der Luftfeuchtigkeit,
dem Sonnenstand, der Mondphase... abhängen.


> 2. Wenn ich einen Poti  wie beschrieben anhänge liefert
> der Befehl analogRead(potiPin); auch keine realistischen
> Werte.

Doch... :)


> Die Werte springen und fallen nach jeder Messung im
> Seriellenmonitor sieht dann das ohne am Poti zu drehen
> so aus: [...]

Guck' mal auf das Diagramm, das ich aus Deinen Werten
erzeugt habe...
Wert 8 ist natürlich eine Störung (Wackelkontakt?); der
Rest sieht normal aus.

Es ist empfehlenswert,
1. für das Poti eine gut entstörte Versorgungsspannung
   zu verwenden,
2. stets mehrere Messpunkte zu nehmen,
3. eventuell Ausreißer zu eliminieren,
4. einen Mittelwert zu berechnen.
Angehängte Dateien:
Gast #6162180
Lesenswert?

Wie viel Ohm hat das Poti?
Wie lang sind die Kabel?
Wie ist der ADC Konfiguriert? Referenzspannung?
Hast du störende Verbraucher (z.B. hohe Lasten, steile Flanken) in der 
Nähe?

Vorschläge (die je nach Antworten auf die obigen Fragen sinnvoll sind 
oder eben nicht):
- Kabel kürzen, Schirmen etc.
- Filter analog oder digital
- niederohmigeres Poti
Gast #6162190
Lesenswert?

Jannes schrieb:
> Ich bin gerade dabei 3 Potentiometer auszulesen

Welchen Wert hat dein Poti?

Auch solltest du nicht mit Kondensatoren sparen, einen für die 
Potiversorgung und einen für jeden ADC-Eingang, falls dein Signal nicht 
niederohmig genug ist.

Die Versorgung von deinem Poti muss außerdem fest an die Referenz 
angekoppelt sein (Ratiometrische Messung). Sonst misst du nicht nur die 
Stellung des Potis, sondern auch die Schwankungen der Versorgung relativ 
zur Referenz.
#6162321
Lesenswert?

Also ich habe Potis mit widerständen von 10kOhm und die Kabel sind max. 
10 cm lang...

Den Aufbau habe ich mehrfach überprüft und keinen Fehler gefunden...

Mein Script sieht so aus:

int potiPin = 2;
int potiValue  = 0;

void setup() {
 pinMode (potiPin, INPUT);
 Serial.begin (9600);
}

void loop() {
 potiValue = analogRead(potiPin);
 Serial.println (potiValue);
 delay (1000);

}

Also das ist natürlich nur der Script um die Potis zu testen...
Gast #6162369
Lesenswert?

Arduino Fanboy D. schrieb:
>> int potiPin = 2;
> Du sagst 2, meist aber A2
>
> Das ist egal?
> Ok, wenn 2 das gleiche wie 16 ist.....

Hier liegt ein Mißverständnis vor: Ich gucke mir ein funktionsfähiges 
Programm an, da habe ich "analogRead (7);" stehen und es wird 
tatsächlich A7 gelesen.

Im selben Programm steht auch "digitalRead(7)", da wird mein Taster am 
D7 korrekt erkannt.

Die A*-IDE unterscheidet von selbst anhand digitalRead / analogRead, ob 
sie auf D oder A zufasst.

Deine 16 ist der Sonderfall, Analogports Digital zu nutzen.

Ich glaube eher, dass Jannes Fehler im Aufbau hat.
#6162595
Lesenswert?

Jaski J. schrieb:
> Bei einem Poti bekomme ich mittlerweile realistische Werte von 0 bis
> 1023 aber von den anderen beiden nicht...

Vertrau den (billigen) Dupont-Kabel nicht blind und den Lötstellen auf 
keinen Fall.
Potis werden gern mal von Unbedarften gegrillt. Hier einmal falsch 
angesteckt und dran rumgekurbelt und schon ist die Kohleschicht am 
verdampfen.
Es ist also auch nicht grad unwahrscheinlich, das die beiden Potis 
kaputt sind.


PS: Mit Schrumpfschlauch.... Gefällt mir, so soll das sein. :)
Gast #6162629
Lesenswert?

Teo D. schrieb:

> PS: Mit Schrumpfschlauch.... Gefällt mir, so soll das sein. :)

Nix Schrumpfschlauch, das sind normale Breadboard Verbindungskabel mit 
angespritzten Pins.

@Jannes
Hast du die Pins nur um die Potianschlüsse herumgebogen, oder auch 
zusätzlich noch gelötet? Auf dem Bild ist das für mich nicht erkennbar.
Gast #6162635
Lesenswert?

Jaski J. schrieb:
> Hier ein Foto von dem Aufbau.

Wenn man einen Arduino nur an USB betreibt bekommt man an
den 5V-Pins nicht wirklich 5V sondern etwas weniger, und das
kann dann auch noch durch verschiedene äussere Effekte
schwanken.

Das kriegt alles das Poti mit das an +5V angeschlossen ist ....
Gast #6162641
Lesenswert?

Jaski J. schrieb:
> Bei einem Poti bekomme ich mittlerweile realistische Werte von 0 bis
> 1023 aber von den anderen beiden nicht...

dann wäre es freundlich und hilfreich zu sagen, was jetzt bei dem einen 
Poti die Verbesserung bewirkt hat. Hast du es einfach nochmal neu 
angesteckt? Oder hast du einen Fehler gefunden (z.B. falschen Pin 
benutzt)?

Und wie schon oben geschrieben:

Achim S. schrieb:
> miss mit einem Multimeter nach, ob die Spannung am ADC-Eingang dem Poti
> folgt.

Wenn du mit einem unabhängigen Messgerät (Multimeter) nachgeprüft hast, 
ob die erwartete Spannung tatsächlich am Eingang des µC ankommt, dann 
lässt sich der Bereich, in dem man weiter nach Fehlern suchen muss, 
ungefähr halbieren.
Gast #6162644
Lesenswert?

Jaski J. schrieb:
> Bei einem Poti bekomme ich mittlerweile realistische Werte von 0 bis
> 1023 aber von den anderen beiden nicht...

Dann nimm den Mittenanschluss des funktionierenden Potis und schließe 
ihn der Reihe nach an die Eingangspins für die anderen Potis an. Sollte 
das realistische Ergebnis mit wandern, dann sind deine beiden anderen 
Potis wohl defekt, wenn nicht, dann hast du ein Softwareproblem.
#6162668
Lesenswert?

Wilke schrieb:
> Teo D. schrieb:
>
>> PS: Mit Schrumpfschlauch.... Gefällt mir, so soll das sein. :)
>
> Nix Schrumpfschlauch, das sind normale Breadboard Verbindungskabel mit
> angespritzten Pins.
>
> @Jannes
> Hast du die Pins nur um die Potianschlüsse herumgebogen, oder auch
> zusätzlich noch gelötet? Auf dem Bild ist das für mich nicht erkennbar.

Teo D. schrieb:
> Jaski J. schrieb:
>> Den Aufbau habe ich mehrfach überprüft und keinen Fehler gefunden...
>
> Hat hier der Typ, der die Kabel nur in die Löcher des Footprint, für
> eine Stiftleiste getseckt hat, auch behautet.... Bilder statt Prosa, ist
> deshalb Motto und keine Schikane.

..... :´(´´
Gast #6162673
Lesenswert?

Wolfgang schrieb:
> Welchen Wert hat dein Poti?

Jaski J. schrieb:
> Bei einem Poti bekomme ich mittlerweile realistische Werte von 0 bis
> 1023 aber von den anderen beiden nicht...
>
> Hier ein Foto von dem Aufbau.

Kann es sein das Du die Kabel an den Nieten für die Kontaktfahnen 
angelötet hast?
Auf dem Foto sieht das so aus. Das sollte man eher nicht tun, weil dabei 
meist die Kontaktsicherheit zur Widerstandsschicht leitet. Was meinst Du 
wozu die Kontaktfahnen da sind? - man darf (soll) sie benutzen.
Beitrag #6162695 wurde von einem Moderator gelöscht.
Gast #6162716
Lesenswert?

Beo Bachta schrieb:
> Jaski J. schrieb:
>> Hier ein Foto von dem Aufbau.
>
> Wenn man einen Arduino nur an USB betreibt bekommt man an
> den 5V-Pins nicht wirklich 5V sondern etwas weniger, und das
> kann dann auch noch durch verschiedene äussere Effekte
> schwanken.
>
> Das kriegt alles das Poti mit das an +5V angeschlossen ist ....

Bei einer ratiometrischen Messung völlig irrelevant.
Die 5V können ruhig "wandern".
Die ADC Werte kratzt das nicht.
#6162718
Lesenswert?

Ok Danke schonmal für die Tipps...
ich werde jetzt diie Kabel an diese Beinchen löten und nicht an die 
Öse... mal schauen was dabei rausspringt.

Wenn das dann noch nicht funktioniert mess ich mal den 5V ausgang am 
Arduino aus...

Und ja die Kabel sind verlötet... (halt an dieser Öse...)

Und wenn ich da immer noch keinen Fehler findet sind die wahrscheinlich 
kaputt...
Gast #6162729
Lesenswert?

Jaski J. schrieb:
> Und wenn ich da immer noch keinen Fehler findet sind die wahrscheinlich
> kaputt...

Das kannst du doch mit dem Ohmmeter rausfinden.

Oder, wie es schon geschrieben wurde, die Spannung am Schleifer messen, 
wenn die Enden an GND und +5V liegen. Dann mußt du am Schleifer eine 
Spannung, die dem Drehwinkel entspricht, messen.
Gast #6162751
Lesenswert?

Arduino Fanboy D. schrieb:
> Bei einer ratiometrischen Messung völlig irrelevant.
> Die 5V können ruhig "wandern".
> Die ADC Werte kratzt das nicht.

Wandern ja, aber verseucht dürfen die 5V nicht sein. Wenn als Referenz 
AVCC verwendet wird, muss das Poti auch aus AVCC versorgt werden und für 
optimale Performance muss die AVCC vernünftig von der (verseuchten) VCC 
entkoppelt sein.
Zumindest beim Arduino(TM) UNO Rev3 ist das nicht wirklich der Fall.
https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf
Gast #6162767
Lesenswert?

Wolfgang schrieb:
> Zumindest beim Arduino(TM) UNO Rev3 ist das nicht wirklich der Fall.

Wolfgang schrieb:
> und für
> optimale Performance muss die AVCC vernünftig von der (verseuchten) VCC
> entkoppelt sein.

Is klar...

Vermutlich meinst die die Auswirkungen bei absoluten Messungen mit der 
internen 1,1V Referenz.
Ja... da hat das schon Auswirkungen.

Bei einer ratiometrischen Messung von 3 Potis wirst du das nicht 
nachweisen können.
Gast #6163378
Lesenswert?

Arduino Fanboy D. schrieb:
> Warum sollte man D2 auf Input setzen,
> wenn man doch A2 Analog auslesen möchte?

Weil man irgendetwas nicht verstanden hat. Der Befehl ist überflüssig, 
in dem beschriebenen Aufbau richtet er aber keinerlei Schaden an. Ich 
glaube noch immer, dass wir beide aneinander vorbei geredet haben.

Wolfgang schrieb:
> Wenn als Referenz AVCC verwendet wird,
> muss das Poti auch aus AVCC versorgt werden

Hast Du schon einmal reale Schaltungen aufgebaut oder studierst Du noch? 
Du plapperst hier blanke Theorie, die in dem konkret gegebenen Fall 
vollkommen uninteressant ist.

Mein erster Testaufbau, um mir mal einen UNO anzugucken (Mikroprozessor 
und Controller kannte ich schon Jahre zuvor) sah ziemlich genauso aus, 
allerdings ohne Wackelkontakte ordentlich auf Lochraster gelötet und 
liefert stabile Werte vom Poti.

Jaski J. schrieb:
> ich werde jetzt diie Kabel an diese Beinchen löten
> und nicht an die Öse... mal schauen was dabei rausspringt.

Jetzt komme ich nicht an der Frage vorbei, ob Du Dir schon alleine die 
Schuhe zubinden kannst?

Mit dem Drehpoti willst Du eine Spannung zwischen 0 und 5 Volt 
einstellen. Ist es nicht möglich, ein Multimeter zu nehmen und das zu 
messen? Das ist Arduino zweite Stunde, in der ersten fragt man Taster 
ab.

Ich habe vor ein paar Wochen im Lidl Digitalvoltmeter für 9,95 Euro 
gesehen, die für diesen Zweck mehr als ausreichend wären. Wenn das zu 
teuer ist, bei Aliexpress nach DT-832 suchen, die Dinger kommen um 3,50 
Euro frei Haus und sind erschreckend genau.
Moderator (Firma: Titel) Persönliche Seite #6163487
Lesenswert?

Jaski J. schrieb:
> habe die Potis alle der Reihe nach in ein Breadboard gesteckt und habe
> die dann quasie von den Füßen aus verkabelt und habe so gute Messwerte
> bekommen...
Bei dieser Gelegenheit hast du dann auch gleich die Kontakte deines 
Steckbretts so weit auseinander gebogen, dass sie beim nächsten 
"normalen" Draht einen Wackelkontakt produzieren (viel Spaß bei der 
Fehlersuche ;-)

Deshalb löte ich an die drei Potianschlüsse immer ein kurzes Drahtstück 
mit passendem Druchmesser und stecke das dann ins Steckbrett.

Floh schrieb:
> die Spannung am Schleifer messen
Das ist generell eine gute Idee.
Gast #6163537
Lesenswert?

Teo D. schrieb:
> Jaski J. schrieb:
>> Bei einem Poti bekomme ich mittlerweile realistische Werte von 0 bis
>> 1023 aber von den anderen beiden nicht...
>
> Vertrau den (billigen) Dupont-Kabel nicht blind und den Lötstellen auf
> keinen Fall.
> Potis werden gern mal von Unbedarften gegrillt. Hier einmal falsch
> angesteckt und dran rumgekurbelt und schon ist die Kohleschicht am
> verdampfen.
> Es ist also auch nicht grad unwahrscheinlich, das die beiden Potis
> kaputt sind.
>
> PS: Mit Schrumpfschlauch.... Gefällt mir, so soll das sein. :)

Das ist aber so völlig verkehrt, der Schlumpfschlauch muss das Potti 
komplett umschließen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren