Potentiometer-Parallelschaltung

Gast #4620981
Lesenswert?

Linus C. schrieb:
> Was mache ich nur falsch?

Im Titel sprichst du von der Reihenschaltung von Potis.
Im Text von der Reihenschaltung von Transistoren.
Und Vref und GND zusammen zu löten ist auch keine gute Idee.

Also kann ich mich nur meinem Vorredner anschließen. Zeige einen 
Schaltplan und sag, was du wissen möchtest. :-)
Gast #4621006
Lesenswert?

Linus C. schrieb:
> Sieht nach einem kurzen Blick doch eher nach Parallel-Schaltung
> aus. Was
> ich eigentlich will, ist die Spannung von OUTPUT abzapfen und vom
> Mikrocontroller messen lassen.

Und was klappt nicht? Ich nehme an, OUTPUT ist jeweils der Schleifer der 
4 Potis, also OUTPUT1...OUTPUT4.
Was klappt nicht?
Gast #4621022
Lesenswert?

Linus C. schrieb:
> Ja, das mit OUTPUT1-4 ist richtig. Aber wenn ich von jedem OUTPUT
> lese,
> kommt immer eine bestimmte Spannung eines Potentiometers heraus, egal,
> wie ich ihn einstelle.

Kannst du diese "bestimmte" Spannung näher erläutern?
Wenn du nicht so viel in Rätseln sprechen würdest, hätten wir vermutlich 
schon die Lösung.

Also: Beispiele mit Zahlen bitte

Übrigens: Ich vermute einen Programmfehler, von daher wäre der 
Sourcecode des unbekannten Controllers aus interessant.
OP #4621028
Lesenswert?

Ich habe jeden Potentiometer einzeln getestet, und das hat funktioniert.

Mit dem Arduino lese ich die Spannung:
1
void setup() {
2
  // initialize serial communication at 9600 bits per second:
3
  Serial.begin(9600);
4
}
5

6
// the loop routine runs over and over again forever:
7
void loop() {
8
  // read the input on analog pin 0:
9
  int sensorValue = analogRead(A0);
10
  int sensorValue2 = analogRead(A1);
11
  int sensorValue3 = analogRead(A2);
12
  int sensorValue4 = analogRead(A3);
13
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
14
  // float voltage = sensorValue * (5.0 / 1023.0);
15
  // print out the value you read:
16
  // For example, pin A0
17
  Serial.println(sensorValue);
18
}
Moderator (Firma: Titel) Persönliche Seite #4623964
Lesenswert?

Linus C. schrieb:
> float voltage = sensorValue * (5.0 / 1023.0);
Ich hoffe, dir ist klar, dass diese Formel falsch ist. Auch wenn sie 
schöne 5.0 für den oberen Endwert ergibt.

Ich würde sowieso empfehlen, nicht generell mit float zu rechnen, weil 
der uC auf deinem Board keine float-Einheit hat, und sich mit seinen 8 
bit zu Tode knechtet.
Rechne deine Spannung in mV und mit dem Faktor 1024, dann geht das 
wesentlich schneller:
> short U_mV = ((long)sensorValue * 5000) / 1024;

Linus C. schrieb:
> Es ruckelt nur leider ein wenig, die Werte varieren zwischen +-5.
Bei welcher Poti-Einstellung? Woher kommt diese Zahl?
Ein ADC kann von sich aus keine "-5" ermitteln, wenn er nur einen 
Wertebereich von 0..1203 hat...
Meinst du, du hast ein Rauschen auf den unteren Bits deines 
Ergebnisses? Dann solltest du mal nach dem Schaltungsaufbau und der 
Masseführung sehen. Oder ziemlich am uC einen 100nF Kondensator vom 
AD-Pin nach GND einbauen.
Gast #4625107
Lesenswert?

Linus C. schrieb:
> Warum addieren? Danach kann man diese nicht mehr verwenden.

Du könntest sie ja bspw in einer extra Variablen aufaddieren. Dann gehen 
sie nicht "verloren". Das ganze nennt sich Mittelwertbildung.

So in etwa
1
for(i=0; i<5; i++);
2
{
3
  Messwert = analogRead(A0);
4
  Mittelwert += Messwert;
5
}
6
Ausgabewert = Mittelwert/5;
7
println (Ausgabewert);
Moderator (Firma: Titel) Persönliche Seite #4625211
Lesenswert?

Linus C. schrieb:
> Werde es mit dem Kondensator versuchen. Wo genau soll ich den einbauen?
Lothar M. schrieb:
> am uC einen 100nF Kondensator vom AD-Pin nach GND einbauen.
Oder die lange Variante:
Du nimmst einen Pin des Kondensators und schließt den so dicht wie 
möglich am uC Analogeingangspin an. Den anderen schließt du so dicht wie 
möglich am uC an GND an. Das ganze 4 mal, für jeden einzelnen 
Analogeingang...

jendrik träger schrieb:
> So in etwa
> for(i=0; i<5; i++);
>   ...
>   Ausgabewert = Mittelwert/5;
Und wenn man jetzt beachtet, dass ein uC keine 5 Finger pro Hand hat, 
sondern ein zutiefst binäres Gebilde ist, dann nimmt man da eine 
Zweierpotenz, also hier 4 oder 8. Damit macht man dem Compiler das 
Leben bedeutend einfacher, weil er die (komplizierte) Division durch 
einen (simplen und schnellen) Schiebevorgang ersetzen kann...
Gast #4625455
Lesenswert?

Linus C. schrieb:
> Werde es mit dem Kondensator versuchen. Wo genau soll ich den einbauen?

die!

Am Analogteil von deinem Mikrocontroller.
1. Zur Filterung der Versorgungsspannung vom Analogteil
2. Zur Filterung der Spannung an deinen Potis
3. Zur Filterung Stabilisierung der Referenz
4. Zur Pufferung/Filterung der analogen Eingangssignale

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