Der Spannungsteiler

Alle analogen und digitalen Widerstände müssen über den Spannungsteiler angeschlossen werden, damit am Messpin ein klare definierte Spannung anliegt.

Versuche am Arduino: Warum braucht man einen Spannungsteiler?

Zunächst schließen wir am Ardunino einen Button an. Wir verbinden den Button mit einem digitalen Pin und andererseits mit einem 5 V - Pin (mit dem GRN - Pin). 

Es gibt 4 Fälle:

Welche Spannung müsste jeweils am Pin ablesbar sein?

Wir überprüfen dies, indem wir uns über die serielle Schnittstelle den Zustand des Buttonpins anzeigen. Es ist besser, sich nur dann etwas anzeigen zu lassen, wenn sich der Zustand ändert.

Quelltext
const int buttonPin = 7;  
int buttonState = 0; 
int alterbuttonState=0;
int i=0;

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

void loop(){
  i=i+1;
  buttonState = digitalRead(buttonPin);
  if(buttonState !=alterbuttonState){
  Serial.print(alterbuttonState);
  Serial.print(" Anzahl:    ");
  Serial.println(i);
  alterbuttonState = buttonState;
  i=0;
  }
}

Ergebnis

Man stellt fest, dass der Zustand des Pins nur dann genau definiert ist, wenn der Button geschlossen ist. Ist der Schalter offen, so liegt der Buttonpin quasi in der "Luft". Der Zustand ist nicht genau definiert und seine Werte werden zufällig.

Deshalb muss der digitale Eingangspin an einem Spannungsteiler angeschlossen werden. Der Pin liegt also immer zwischen zwei Widerständen. Wobei einer der Widerstände ein Sensor ist. Im Falle des Schalters kann der Widerstand fast Null oder unendlich groß sein. 

Bei anderen Sensoren (Temperatur, Licht, ...) sind aller Zwischenwerte denkbar; diese werden deshalb an einem analogen Port angeschlossen.

Herleitung der Spannungsteilerformel:

files/Roboter/arduino/Theorie/Digitalisierung/SensorSchaltung.pngNach dem Ohmschen Gesetz gilt $U_1= R_1 \cdot I_1$ bzw.  $U_{Ges}= R_{Ges} \cdot I_{Ges}$. Da für die Stromstärke $I_1 = I_{Ges}$ gilt ist ${U_{Ges} \over R_{Ges}} = {U_1 \over R_1}$ bzw. wegen $R_{Ges} = R_1 + R_{LDR}$ ist

$$U_1 = U_{Ges} \cdot{ {R_1} \over {R_1 + R_{LDR}}}.$$

Ist $R_{LDR} \approx 0$ klein, so ist $U_1 = 5 V \cdot{ {R_1} \over {R_1 + R_{LDR}}} \approx 5 V\cdot{ {R_1} \over {R_1 }} \approx 5 V$.

Ist $R_{LDR} >> R_1 $ groß, so ist ${{R_1} \over {R_1 + R_{LDR}}} \approx 0$ und somit $U_1 \approx 0V$.

Es können also je nach Widerstandsgröße $R_{LDR}$ alle Spannungswerte zwischen 0 V und 5 V angenommen werden. Für den Zusammenhang zwischen Widerstand $R$ und gemessener Spannung $U$ gilt: $$U(R) = 5 V \cdot{ {10 k\Omega} \over {10 k\Omega + R}}.$$