Hallo,
ich habe mir diesen (hoffentlich) Motortreiber
gekauft und wollte nun mal etwas damit rumspielen. Ich verwende einen 12 V Linearmotor und einen Arduino Uno.
Ich weiß nicht, inwiefern alle Bezeichnungen auf der Platine einem Standard folgen, am besten ruft ihr ggf. den Link auf, wenn etwas unklar ist. Ich habe das ein 12 V Netzteil an DC- und DC+ verschraubt, den Motor an MT- und MT+ angeschlossen.
Vom Arduino habe ich GND an COM angeschlossen. Außerdem verwende ich vom Arduino Pin 7 und Pin 8, die ich aber nicht angeschlossen habe, sodern einzeln an die jeweiligen K1, K2, SW1 oder SW2 halte.
Dazu verwende ich folgendes Programm:
// Engine
int engineUp = 7;
int engineDown = 8;
void setup() {
// Engine initialization
pinMode(engineUp, OUTPUT);
pinMode(engineDown, OUTPUT);
digitalWrite(engineUp, LOW);
digitalWrite(engineDown, LOW);
}
void loop() {
digitalWrite(engineDown, HIGH);
}
Ich setze also Pin8 auf HIGH, Pin7 bleibt immer LOW. Das passt auch, wenn ich per Multimeter GND und das Kabel an Pin8 messe bekomme ich 5V. Messe ich Pin7, dann sehe ich dort 0V auf dem Multimeter. Ob ich beim Adrunio an die richtigen GPIOs angeschlossen habe, habe ich auch mehrfach nachgezählt.
Jetzt würde ich erwarten, dass der Motor ein- oder ausfährt, wenn ich Pin8 an K1 oder K2 halte. Dem ist aber nicht so. Wenn ich dagegen Pin7 (ist über das Setup immer noch auf LOW) an K1 oder K2 halte, dann höre ich den Treiber bzw. dessen Relais klacken und der Motor fährt.
Ich kapiere es einfach nicht. Ich habe auch mehrfach das obige Programm auf den Arduino gespielt. Immer mit dem gleichen Resultat. Das würde doch bedeuten, dass ich nie einen der Pins auf 0 schalten dürfte, wenn der Motor stehen soll, sondern immer auf 5V bleiben müssten, was aus meiner Sicht keinen Sinn macht. Ich habe leider auch nur einen dieser Treiber, weshalb ich das Verhalten an keinem zweiten testen kann.
Habt ihr eine Idee, was ich falsch mache? Gerne liefere ich auch Infos nach, falls noch welche fehlen.
Vielen Dank und viele Grüße!