Wir sollen in der Uni ein Projekt machen, wo etwas dosiert werden soll. Der Poti soll zum einstellen des Zielgewichtes benutzt werden.
Der Poti hängt an GND und V 5V sowie mit dem Mittleren Pin an A5. Die Kabel sind am Poti festgelötet. Zusätzlich zu dem Poti hängen noch ein Button (an A0) und an den Digitalen Pins noch LCD Display, Wägemesszellen Driver und Schrittmotor Driver. Alle GND und V sind auf einer Platine verlötet die dann mit dem Arduino verbunden ist. Der Arduino wird aktuell noch über USB versorgt.
Wie dem Titel zu entnehmen bringt das von mir verwendete Potentiometer (4,7kOhm, linear) meinen Arduino Uno unter dem Wert von 532 (gemessen: 2,4V) zum "Absturz", d.h. es geht nix mehr. Wenn ich ihn wieder hoch drehe, geht alles ganz normal weiter.
Ich habe schon mehrere Foreneinträge dazu gelesen und auch schon die Probleme der Personen eliminiert. Der Widerstand zwischen linken und rechten Pin beträgt ~4,2 kOhm, der Mittlere Pin verläuft linear von 0 Ohm bis ~4,1 kOhm und die Spannung verläuft auch konstant.
Mein Code für das einlesen ist:
while (KnopfStatus==0)
{
int sensorValue = analogRead(A5); //Poti wird eingelesen
delay(2); //hatte mal was davon gelesen, dass das dem Kondensator helfen soll
zielGewicht = (sensorValue* (250 / 1023.0)); //Umrechnung auch eine Skala von 250 (g)
Serial.println(sensorValue); //einfach zur Überprüfung
Serial.println(zielGewicht);
lcd.setCursor(0,0);
lcd.print("Zielgewicht:");
lcd.setCursor(0,1);
lcd.print(zielGewicht);
delay(10); //um Display flackern zu verhindern
if(digitalRead(A0)==HIGH) //Abfrage des Button Status um die Schleife zu verlassen
{
KnopfStatus=1;
delay(500);
}
}
Ich bin mittlerweile relativ ratlos... könnte es an zu vielen Abnehmern liegen? Aber die Stromstärke sollte weiter unten ja geringer werden...
Also zu 90% hängt es sich einfach nur auf (Dann geht aber auch meistens nix mehr und es ist ein Neustart erforderlich) und zu 10% geht es einfach aus, wie als wäre ein kurzer drinne.
Wie bereits gesagt, das habe ich schon gemacht... Der Widerstand zwischen Masse und der Mitte ist linear von 0 bis ~4 kOhm und der Widerstand zwischen den beiden äußeren Pins ist immer konstant, unabhängig von der Drehposition.
Poti falsch angechlossen? Evtl. drehst du die 5V damit gegen GND. Ab einer bestimmten Spannung will er dann nicht mehr.
Bitte genauere Angaben machen und, wenn du Bilder hochladen kannst, bitte mach davon ausführlich Gebrauch.
Das könnte natürlich sein... Ich werde das morgen gleich mal umlöten... Macht das was, wenn ich das falschrum anlöte? natürlich außer, dass die Drehrichtung verändert ist?
Meines (beschränkten) Wissens nach, ist das doch einfach nur eine Spule mit beweglichen Kontakt, der durch die Drehbewegung verschoben wird oder?
Bilder von der Schaltung helfen da nicht weiter... Wir haben als Vorgabe eine echt kleine Box bekommen und da sehe ich selbst durch den Kabelsalat auf den ersten Blick nicht mehr durch.
Bis zu einem gewissen Bereich (ca. 1,5k) arbeitet das Poti als Pullup Widerstand und den braucht I2C auch. Darunter wird es kritisch und kommt zum Problem....wie du siehst.
Und auf GND gezogen, mag der Bus überhaupt nicht.
Besserer Eklährungsversuch:
Du hast das Potentiometer zusammen mit den Pullupwiderstand des I2C Busses eine Spannungsteiler der die HIGH Spannung des Busses auf enen niedrigeren Potential setzt. Also der HIGH Pegel wird nicht mehr die Versorgungsspannung 5V sein sondern Weniger. Ab ca 3V in, Deinem Fall wahrscheinlich näher bei 2,6V) erkennt der ATmega328 den High Spannungspegel nicht mehr als HIGH und darum funktioniert der I2C BUs nicht mehr und blockiert den Controller.
Grüße Uwe