Hallo,
habe hier ein kleines Problem. Habe an PIN D2 über ein Relais eine kleine Dosierpumpe hängen. An PIN D3 hängt, ebenfalls über ein Relais, eine Steckdose. Wenn ich nun PIN 3 über digitalWrite = (3, HIGH); schalte passiert gar nichts. Schalte ich aber mit dem Befehl PIN 2 ziehen beide Relais an. Kann mir das irgendwer erklären? Oder kann ich die PINs nicht frei belegen?
Warix:
Kann mir das irgendwer erklären?
Schaltung?
Sketch?
Gründen wir mal eine Tippgmeinschaft?
Ich tippe mal auf einen Verdrahtungsfehler.
Grüße Uwe
So, habe mal einen Testsketch geschrieben.
Wenn die Taste gedrückt wird soll Relais 3 einschalten und 2 aus.
Wenn keine Taste gedrückt soll Relais 2 einschalten und 3 aus.
Es passiert aber:
Wenn Taste gedrückt Relais 3 und 1 (an PIN 2 angeschlossen) schalten an und Relais 2 aus.
Wenn Taster nicht gedrückt schaltet Relais 2 an. (Relais 3 und 1 sind aus).
Hier der Code:
// set pin numbers:
const int buttonPin = 13; // Taster
const int REL2 = 3; // PIN für Relais 2
const int REL3 = A3; // PIN für Relais 3
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(REL2, OUTPUT);
pinMode(REL3, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// schalte Relais 2 ein und Relais 3 aus: (Relaisplatine schaltet bei HIGH aus)
digitalWrite(REL3, HIGH);
digitalWrite(REL2, LOW);
}
else {
// schalte Relais 2 aus und Relais 3 ein: (Relaisplatine schaltet bei LOW ein)
digitalWrite(REL3, LOW);
digitalWrite(REL2, HIGH);
}
}
Gehe aber auch fast von einem Fehler oder Kurzschluß im System aus. Werde ich mir jetzt nochmal genauer ansehen. Vielleicht habe ich doch eine Lötzinnbrücke eingebaut/übersehen.
Wenn ich das richtig deute sollte man doch an PIN 2 und 3 Verschiedene Sachen anschließen können. Nur PIN 1 und 2 kann man nicht frei verwenden. Oder habe ich das falsch verstanden.
Warix:
Wenn ich das richtig deute sollte man doch an PIN 2 und 3 Verschiedene Sachen anschließen können. Nur PIN 1 und 2 kann man nicht frei verwenden. Oder habe ich das falsch verstanden.
Die digitalen Pin-0 und -1 sind RX/TX für die serielle Schnittstelle. Diese beiden solltest Du möglichst freilassen.
Jeder Pin kann unabhängig von anderen geschaltet werden.
Aber überprüfe trotzdem mal die Pinbelegung, wo Du die Relais tatsächlich angeschlossen hast: Laut Sketch hast Du die Relais an
const int REL2 = 3; // Digital Pin 3
const int REL3 = A3; // Analog-Pin A3
angeschlossen und schaltest diese Pins.
Auf den Arduino-Boards sind die digitalen Pins nur mit Zahlen beschriftet (0,1, 2, ...) und die analogen Pins mit einem A+Ziffer (A0, A1, A2, ...). Das sind unterschiedliche Anschlüsse.
Wenn die Relais nicht tatsächlich an den Pins hängen, die vom Sketch angesteuert werden, schaltet nichts.
Und wenn ein Relais mit einem anderen mitschaltet, obwohl es nicht angesteuert wird, ist vermutlich irgendwo ein Kurzschluss in der Schaltung.
Unbeabsichtigte Kurzschlüsse können zur Zerstörung von Bauteilen innerhalb von Sekundenbruchteilen führen.
Weiterhin fehlt die Schaltung.
Verwendest Du tatsächlich diese auf LOW schaltenden fertigen Relais-Boards?
Und wie ist Dein Button beschaltet? Hat er einen PullDown-Widerstand?
Damit ein Sketch funktioniert, muß
a) die Schaltung an sich korrekt sein und
b) der Sketch zur Schaltung passen
Habe nun die Platine nochmal überprüft. Da hatte sich doch glatt ein Stück Draht zwischen die PINS 2 und 3 geklemmt. Nach dem löten der Platine hatte ich ich extra alle Pins auf Lötbrücken etc. überprüft (mit Lupe und Messgerät). Darum konnte ich mir einen Kurzschluß nicht vorstellen. Muß sich wohl beim Einbau ins Gehäuse und Verdrahtung etwas hin verirrt haben.
Die Relais sind so angeschlossen. Musste bei meinem UNO Board alle verfügbaren Pins nutzen. Da noch 2 Taster mit dazu gekommen sind. Die ich vorher nicht mit eingeplant hatte. Somit sind nur noch PIN 0+1 frei.
HarHarHar...
eben von einem Israeli gehört:
Perfekte Ingenieure findest Du nur im Märchen....
Prima, dass Du den Fehler gefunden und auch gepostet hast...
Greetz, Linpo