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:
  • 2 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
wie gleichstrommotor beidseitig laufen lassen?
27.05.2013, 13:13
Beitrag #17
RE: wie gleichstrommotor beidseitig laufen lassen?
Das ist der Drehzahlregler: http://www.conrad.at/ce/de/product/19646...view1&rb=2

Das ist der Motor: http://www.conrad.de/ce/de/product/22193...RB-35-1600

Das ist das Motorshield: http://www.conrad.de/ce/de/product/32347...ggest=true

Das ist der Joystick: http://www.conrad.de/ce/de/product/70062...er-50-mA12
Ich glaube ich habe das nicht richtig erklärt, ich bin nicht vom arduino auf einen regler gefahren, sondern direkt von einem regler selbst auf den motor. der regler wurde mit 12 volt versorgt und war nicht mit dem ard. verbunden. Da läuft dann alles super an. jedoch direkt vom ardu. ohne regler aber mit joystick geht es immer nur mit einem ruck los.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.05.2013, 18:17 (Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2013 18:20 von Bitklopfer.)
Beitrag #18
RE: wie gleichstrommotor beidseitig laufen lassen?
(27.05.2013 13:13)Martin Steger schrieb:  Das ist der Drehzahlregler: http://www.conrad.at/ce/de/product/19646...view1&rb=2

Das ist der Motor: http://www.conrad.de/ce/de/product/22193...RB-35-1600

Das ist das Motorshield: http://www.conrad.de/ce/de/product/32347...ggest=true

Das ist der Joystick: http://www.conrad.de/ce/de/product/70062...er-50-mA12
Ich glaube ich habe das nicht richtig erklärt, ich bin nicht vom arduino auf einen regler gefahren, sondern direkt von einem regler selbst auf den motor. der regler wurde mit 12 volt versorgt und war nicht mit dem ard. verbunden. Da läuft dann alles super an. jedoch direkt vom ardu. ohne regler aber mit joystick geht es immer nur mit einem ruck los.

okay, die Teile sind soweit in Ordnung und der Motor ist im Modellbau kein Fremder...
Der Conrad Steller arbeitet mit einer Taktfrequenz ume 3KHz.
Das kannst du hier leicht nachprüfen:
NE555 Berechnung
Der Joystick sollte auch eine gute Wahl sein... ALPS ist da ein Markennamen und wird auch in der Industrie verwendet.

Deinen Code habe ich mal etwas modifiziert und auf nem ard.ethernet laufen lassen und den PWM Ausgang mit dem Oszi untersucht. Ergebenis wenn der Analogwert 1 ist dann wird ein Impuls mit 8uS erzeugt bei einer Wiederholfrequenz von ca. 485Hz und ist somit 6 mal langsamer als der Conrad Steller. Ich bin nun nicht gerade der "Motortechniker" um sagen zu können ob sich diese niedere Frequenz derartig aufs Anlaufverhalten auswirkt..... aber rein Subjektiv erscheint mir die Frequenz recht niedrig zu sein. Versuch doch mal meinen Code laufen zu lassen und berichte dann wieder wie sich da nun das Anlaufverhalten darstellt. In dem Code habe ich Motor B komplett stillgelegt und der Joystick wird durch einen Schleifenzähler simuliert. Also Motor gut festmachen....läuft aber eh nur bis ungefähr 50% hoch....

Meine Kommentare/Änderungen beginnen meistens mit //###

#######

int inputhorizontal = 512; //#### hier auf Mittelstellung geaendert
int inputvertikal= 0;
int motorspeedA = 0;
int motorspeedB = 0;


void setup()
{
pinMode(3, OUTPUT); //Motor Channel A
pinMode(9, OUTPUT); //Brake Channel A
pinMode(12, OUTPUT); // für die Drehrichtung
//
//pinMode(11, OUTPUT); //Motor Channel B
//pinMode(8, OUTPUT); //Brake Channel B
//pinMode(13, OUTPUT); // für die Drehrichtung

Serial.begin(9600); // Erzeugt eine Verbindung mit dem PC
digitalWrite(9, LOW);// Bremse Motor A
//digitalWrite(8, LOW); // Bremse Motor B

Serial.println("start");
}

void loop()
{
//inputhorizontal = analogRead(A4); //### Joystickwert wird simuliert

//### simuliere Joystick
if(inputhorizontal == 768){ //### max Speed auf ca.50% begrenzt reicht fuern Anlauftest
inputhorizontal = 512; //### Vorfuehrung endet bei mittelstellung plus XXX Digits vom Joystick
delay(1000); //### Motor 1 Sekunde auf gleicher Drehzahl lassen
analogWrite(3, 0); //### Motor sofort stoppen
delay(3000); //### 3 Sec warten bis es von vorne wieder losgeht
}


Serial.print("Horizontal = ");
Serial.print(inputhorizontal); // überträgt die Daten an den PC

// Bereich für den Motor A
if(inputhorizontal >= 540)
{
motorspeedA = map(inputhorizontal, 539, 1023, 0, 255);
digitalWrite(12, HIGH);
}
else if(inputhorizontal <= 490)
{
//motorspeedA = map(inputhorizontal, 0, 489, 0, 255);
//motorspeedA = 255 - motorspeedA;
motorspeedA = map(inputhorizontal, 489, 0, 0, 255); //### hier habe ich die map Routine angepasst

digitalWrite(12, LOW);
}
else
{
motorspeedA = 0;
}
Serial.print(" , motorspeedA = ");
Serial.println(motorspeedA); // überträgt die Daten an den PC

//inputhorizontal ++;
//if (motorspeedA >0)delay(2000); //### nur Delay wenn Motor auch laufen soll...


//// Bereich für den Motor B
//inputhorizontal = analogRead(A3);
//if(inputvertikal >= 540)
//{
//motorspeedB = map(inputvertikal, 539, 1023, 0, 255);
//digitalWrite(12, HIGH);
//}
//else if(inputvertikal <= 490)
//{
//motorspeedB = map(inputvertikal, 0, 489, 0, 255);
//motorspeedB = 255 - motorspeedB;
//digitalWrite(12, LOW);
//}
//else
//{
//motorspeedB = 0;
//}
//Serial.println(inputvertikal);

analogWrite(3, motorspeedA);
//analogWrite(11, motorspeedB);

inputhorizontal ++; //### Joysticksimulationswert +1
if (motorspeedA >0)delay(100); //### nur Delay wenn Motor auch laufen soll...
if (motorspeedA <= 10)delay(600); //### beim Anlaufen groessere Verzoegerung

}

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Mehrere RGB LEDs einzeln Blinken lassen mavericklp 2 520 04.02.2016 19:07
Letzter Beitrag: mavericklp

Gehe zu:


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