Arduino mit relais einen linearmotor steuern

Hallo, eine Freundin und ich haben letzte Woche einen Arduino bekommen und wir wollen damit einen Linearmotor zum laufen bekommen. Davor haben wir mit einem Calliope gearbeitet, welcher uns aber eher wenig geholfen hat. Wir sind also total neu mit dem Arduino und haben ehrlich gesagt nicht viel Plan im moment.
Wir haben uns bereits Youtube videos dazu angeguckt und auch schon ein Tutorial ausprobiert, der Linearmotor läuft aber immer noch nicht.

https://www.reichelt.de/de/de/entwicklerboards-grove-relais-2-kanaele-srd-05vdc-sl-c-grv-relay-2ch-p255305.html?r=1
Das ist das verwendete relais
Unser Linearmotor

hätte jemand einen Anschlussplan oder könnte einen für uns Zeichnen? Und wie sähe es mit der progammierung aus?

Die Platine hat ne Beschreibung bei reichelt. Bild 4.
Ich versuch Dir das mal zu beschreiben anhand der Pins.

Wenn Du nur die beiden relais betreiben willst, könnte das mit der Versorgung aus dem Arduino klappen.
Ich empfehle aber für einen stabilen Aufbau ein externes 5V-Netzteil.
Drauf achten: Wenn Du den Arduino auf dem 5V Pin speisst, darfst nicht mit dem USB-Kabel an den Rechner.

4 - GND vom Arduino + GND vom Netzteil
3 - 5V vom Netzteil (zum Testen vom Arduino)
2 - einen DigitalPin vom Arduino
1 - einen anderen Pin vom Arduino

an 5 und 8 kommt +12V
an 7 und 0 kommt Minus
an 6 und 9 der Antrieb

Wenn Du nur Relais 1 schaltest, geht der Antrieb in eine Richtung
Wenn beide Relais geschalten sind, bewegt sich nichts
Wenn Du nur Relais 2 schaltest, geht der Antrieb in die andere Richtung

Ruhestellung:

  +12V -12V
    |    |  7
    |    +--0
    |    |   \6
    |    |    o-----Antrieb
    |    |  5  
    +-------0
    |    |  0
    |    ---0
    |        \9
    |         o-----Antrieb
    |       8
    --------0

Richtung 1:

  +12V -12V
    |    |
    |    +--0
    |    |   
    |    |    o-----Antrieb
    |    |   / 
    +-------0
    |    |
    |    ---0
    |        \
    |         o-----Antrieb
    |
    --------0


Richtung 2:

  +12V -12V
    |    |
    |    +--0
    |    |   \
    |    |    o-----Antrieb
    |    |    
    +-------0
    |    |
    |    ---0
    |        
    |         o-----Antrieb
    |        /
    --------0

Beim Code schau mal in die Beispiele. Basic und digital einmal durch...

Vielen dank für den zeit aufwand ich werde das mal ausprobieren :slight_smile:

Der Motor benötogt 12 V Gleichspannung, also benötigt ihr ein 12 V Gleichspannungsnetzteil. Mittels Step Down Modul kann diese 12 V auf 5 V für Relais und Arduino reduziert werden. Step Down Module gibt es auch ohne Anzeige und für feste Spannungen, die sind günstiger.

Okay, ich habe das jetzt ausprobiert und habe mehrere Fragen.
Zum einen bei dem pin 6 und 9 (also die beiden COM anschlüsse für den Motor) sind 0V wenn ich alles einschalte
Zweitens, vielleicht liegt das auch das Problem, wie schalte ich denn das erste oder 2 relais an? Da bräuchte ich Knöpfe oder? Wo soll ich die anschließen?
Und erstmal die letzte frage, du hast geschrieben an den VCC anschluss kommt der externe 5V anschluss, wir benutzen da ein aufgeschnittenes Handyladekabel, das hat ja nun 2 kabel, plus und minus, und die sollen beide an den selben Anschluss/Kabel? Hab ich da was falsch verstanden?

Sorry für die vielen Fragen die teils vielleicht auch etwas dumm sind, wie gesagt wir sind komplette Anfänger. :slight_smile:

Die 12V extern haben wir mit einberechnet, wir benutzen ein „Netzteil“ (so nennt das zumindest unsere schule), das bringt die 12V auf und dazwischen wollten wir ein relais schalten.

Ohne Programm und Aktion steht der Motor, das finde ich gut. Du nicht?

Ja, Knöpfe wären gut. Welche Funktionen sollen die haben?

Es gibt viele verschiedene Typen, welchen Arduino hast Du?

Das kann nicht sein, denn mit einem Ladekabel kann man kein Programm vom PC auf den Arduino übertragen.

Wenn nur der Motor betrieben werden soll, ohne zeitliche oder sensorgesteuerte Steuerung, ist der Arduino überflüssig. Das würde auch mit Schaltern bzw. Relais´ funktionieren.
@alemie: Wozu soll der Arduino sein?

Wenn einem gar keine andere Antwort einfällt:

Weil's Spaß macht.

Grüße Uwe

Das ist richtig.
Was erwartest Du denn da?
Sowohl 6 als auch 9 liegen auf minus.
Messe zwischen 6 und +12V und zwische 9 und +12V. An Stelle von +12V kannst Du auch 8 oder 5 nehmen.

Hast Du das mit den Beispielen gemacht?

Zum testen geht auch Code ohne Taste.

byte aufPin = 3;
byte zuPin = 4;
byte schritt = 0;

void setup()
{
  Serial.begin(115200);
  Serial.println(F("Start..."));
  pinMode(aufPin, OUTPUT);
  pinMode(zuPin, OUTPUT);
  digitalWrite(aufPin, HIGH);
  digitalWrite(zuPin, HIGH);
}

void loop()
{
  if (millis() % 5000 == 0)
    schritt++;
  if (schritt >= 4) schritt = 0;
  switch (schritt)
  {
    case 0:
      digitalWrite(aufPin, LOW);
      break;
    case 1:
      digitalWrite(aufPin, HIGH);
      break;
    case 2:
      digitalWrite(zuPin, LOW);
      break;
    case 3:
      digitalWrite(zuPin, HIGH);
      break;
  }
}

Der macht alle 5 Sekunden irgendwas - also mindestens 25 Sekunden laufen lassen.

Er soll später als Fernbedienung dienen

Alles klar, Danke

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.