INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Motoren links und rechts herum laufen lassen (PWM)
18.09.2014, 14:30
Beitrag #1
Motoren links und rechts herum laufen lassen (PWM)
Hallo Leute,
Ich habe folgendes Problem:
Ich möchte zwei Motoren ansteuern und einem Roboter befehlen Vorwärts zu fahren, mit einer bestimmten Geschwindigkeit. Dazu habe ich nach PWM folgendes gefunden:

void Loop()
{
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
digitalWrite(E1,100);
digitalWrite(E2,100);
}

Nun würde ich gerne den Roboter auf der Stelle drehen lassen. Also die Motoren in entgegengesetzte Richtung laufen lassen. Wie funktioniert das?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 14:45
Beitrag #2
RE: Motoren links und rechts herum laufen lassen (PWM)
Hi,
da fehlt ein bisschen an Information: Was sind das für Motoren und wie sind sie angeschlossen?

Außerdem: Was hat das mit PWM zu tun? Bei PWM würde ich irgendwo ein analogWrite(...) erwarten. Ich glaube nicht, dass das PWM ist.

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 14:58 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2014 15:01 von BenWolf.)
Beitrag #3
RE: Motoren links und rechts herum laufen lassen (PWM)
Wir haben die Daten für den Motor Shield hier gefunden:
http://www.dfrobot.com/wiki/index.php?ti...U:DRI0009)
und da steht das mit dem PWM Speed Control
Wir benutzen 2 DC Motoren
Wir verstehen nicht ganz genau wie die Drehungen ablaufen.
Ob sich bei einer Linksdrehung ein Rad bewegt und das andere stehen bleibt oder ob wir uns mit beiden Rädern entgegengesetzt drehen um die Linksdrehung zu erreichen?

Sry hab Mist geschrieben,
klar E1 und E2 sind analogWrite und nicht Digital
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 15:14
Beitrag #4
RE: Motoren links und rechts herum laufen lassen (PWM)
(18.09.2014 14:58)BenWolf schrieb:  Wir verstehen nicht ganz genau wie die Drehungen ablaufen.
Ob sich bei einer Linksdrehung ein Rad bewegt und das andere stehen bleibt oder ob wir uns mit beiden Rädern entgegengesetzt drehen um die Linksdrehung zu erreichen?
Das musst Du doch selbst entscheiden. Die Frage ist, wo soll der Mittelpunkt der Drehung sein.
Die von der verlinkte Doku ist ein bisschen widersprüchlich. Da musst Du ausprobieren. Folgendes müsste den Robot irgendwie drehen:
Code:
void Loop()
{
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,100);
analogWrite(E2,0);
}
oder
Code:
void Loop()
{
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
analogWrite(E1,100);
analogWrite(E2,100);
}
...einfach mal ausprobieren, was das macht.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 15:22
Beitrag #5
RE: Motoren links und rechts herum laufen lassen (PWM)
Ja sry, hab mich verschrieben^^ das klappt mich Copy Paste nicht weil ich über nen Simulator arbeite.

Wir haben ja jetzt einen Roboter und wollen uns im Mittelpunkt zwischen den Rädern drehen.
Jetzt haben wir uns gefragt wie wir ein Rad rückwärts steuern und das andere vorwärts.

digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,HIGH);
analogWrite(E2,100);

Das ist jetzt unsere Überlegung. Ausprobieren können wir das leider noch nicht weil die andere Teilgruppe den Roboter noch nicht fertig hat. Ist das den von der Überlegung richtig?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 15:33
Beitrag #6
RE: Motoren links und rechts herum laufen lassen (PWM)
(18.09.2014 15:22)BenWolf schrieb:  digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,HIGH);
analogWrite(E2,100);

Das ist jetzt unsere Überlegung. Ausprobieren können wir das leider noch nicht weil die andere Teilgruppe den Roboter noch nicht fertig hat. Ist das den von der Überlegung richtig?
Wie gesagt, die Doku ist nicht ganz eindeutig. Da bleibt Euch nur ausprobieren. Aber das, was Du geschrieben hast, ist wahrscheinlich nicht richtig. Ich würde erst einmal folgendem eine Chance geben:
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
analogWrite(E1,100);
analogWrite(E2,100);

Aber wenn man so etwas in zwei Gruppen entwickelt, dann ist die Wahrscheinlichkeit, dass das dann auf Anhieb funktioniert praktisch Null. Ihr werdet also um das Ausprobieren nicht herumkommen.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.09.2014, 17:02 (Dieser Beitrag wurde zuletzt bearbeitet: 18.09.2014 17:11 von tito-t.)
Beitrag #7
RE: Motoren links und rechts herum laufen lassen (PWM)
gerade entdeckt - du hast ja den L298.
hier musst du enable (pwm) für beide Motoren (A,B)
PLUS
in1/2 (A)
PLUS
in3/4 (B)

getrennt schalten.
dabei ist immer der eine von beiden IN-pins HIGH, der andere entsprechend LOW.

ENA - dreht motorA mit pwm
IN1: HIGH / IN2: LOW motorA rechts
IN1: LOW / IN2: HIGH motorA links

ENB - dreht motorB mit pwm
IN3: HIGH / IN4: LOW motorB rechts
IN3: LOW / IN4: HIGH motorB links

edit:
Der L293 funktioniert übrigens exakt genau so.
Es scheint aber tatsächlich so, als ob bei deiner Platine die Beschriftung/Beschaltung nicht ganz dem L298-Standard entspricht:
http://forum.arduino.cc/index.php/topic,84439.0.html
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.09.2014, 12:37
Beitrag #8
RE: Motoren links und rechts herum laufen lassen (PWM)
Wir haben nun folgendes Programm geschrieben und konnten es auch ausprobieren. Soweit funktioniert die Logik hinter dem Programm, nur haben wir noch Schwierigkeiten mit den Motoren und müssen noch die Encoder verstehen können.

int E1=6;
int M1=7;
int E2=5;
int M2=4;

void setup()
{
pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);
pinMode(E1,OUTPUT);
pinMode(E2,OUTPUT);
}

void loop()
{
//Vor
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,100);
analogWrite(E2,100);
delay(5000);

//Linksdrehung
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,100);
analogWrite(E2,0);
delay(2000);

//Vor
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,100);
analogWrite(E2,100);
delay(5000);

//Rechtsdrehung
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,0);
analogWrite(E2,100);
delay(2000);

//Vor
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,100);
analogWrite(E2,100);
delay(5000);

// 360° Drehung
digitalWrite(M1,HIGH);
digitalWrite(M2,HIGH);
analogWrite(E1,HIGH);
analogWrite(E2,100);
delay(8000);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  tip für Qellcode nur 1mal ablaufen lassen himbeersirup 4 351 19.05.2016 11:51
Letzter Beitrag: himbeersirup
  Programme lassen sich nicht auf das Gemma Board downloaden! Jack Sparrow 13 564 08.04.2016 10:01
Letzter Beitrag: hotsystems
  Lampe mit Key leuchten lassen FCraftLP 1 474 05.03.2016 11:44
Letzter Beitrag: hotsystems
  Wie steuere ich 2 DC Motoren über ein Motorshield mit einem Joystick? Vittelboy 12 5.585 29.12.2015 09:51
Letzter Beitrag: max123
  Leds blinken lassen mit if-Abfrage und millis ferdi 11 1.521 24.10.2015 08:54
Letzter Beitrag: Bitklopfer
  Counter rückwärts laufen lassen???? Haustechno 6 916 10.08.2015 18:26
Letzter Beitrag: Haustechno
  Motoren anhand von Wii Nunchuck bedienen? Cyberxgirl 1 420 10.06.2015 08:20
Letzter Beitrag: Thorsten Pferdekämper
  mehrere funksteckdosen über arduino laufen lassen. purzele06 12 1.970 28.03.2015 02:03
Letzter Beitrag: Homer
  Arduino mit der Außenwelt kommunizieren lassen raspido 0 746 22.03.2015 19:50
Letzter Beitrag: raspido
  RC-Empfänger auslesen und Motoren steuern Pat12-6 0 972 14.03.2015 10:29
Letzter Beitrag: Pat12-6

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste