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
Steuerung von mehreren Programmabläufen
31.10.2015, 12:51 (Dieser Beitrag wurde zuletzt bearbeitet: 31.10.2015 13:28 von TimF.)
Beitrag #1
Steuerung von mehreren Programmabläufen
Hallo,
ich habe vor mir eine Art Kameraslider zu bauen. Dazu verwende ich eine Linearführung und einen Schrittmotor. Die Steuerung des Schrittmotors ist für mich kein Problem. Allerding würde ich es gerne so haben, dass dies mit einer seriellen Schnittstelle oder zu Beginn evtl. auch einfach mit ein paar kleine Schaltern so steuern kann, dass ich mehrere Positionen oder Abläufe steuern kann.
In etwa so:
Signal 1 = 5cm nach rechts->stopp->3cm nach links->stopp->Endposition->stopp
Signal 2 = 3cm nach rechts->stopp->5cm nach rechts->stopp->Endposition->stopp
Signal 3 = .... usw.
Vlt kann mir ja jemand Tipps geben ob das generell möglich ist und wenn ja wie ich das in etwa angehen müsste. Wie gesagt die Wege der Schrittmotoren habe ich mit einer ganz simplen Schrittmotorsteuerung realisiert jetzt möchte ich nur noch die verschiedenen Fahrwege nach belieben abrufen können.
Vielen Dank schon mal im Vorraus Smile

EDIT: Verwendet wird das Arduino Mega 2560 und das Adafruit Motorshield
Code:
#include <AFMotor.h>

AF_Stepper motor (100,1);


void setup() {
motor.setSpeed (10);
}

void loop() {
  motor.step (FORWARD,1000,DOUBLE);//Programm 1
  motor.step (BACKWARD,500,DOUBLE);//Programm 1
  motor.step (FORWARD,600,DOUBLE);//Programm 1
  motor.step (BACKWARD,1100,DOUBLE);//Programm 1
  


  motor.step (FORWARD,500,DOUBLE);//Programm 2
  motor.step (BACKWARD,500,DOUBLE);//Programm 2
  motor.step (FORWARD,600,DOUBLE);//Programm 2
  motor.step (BACKWARD,600,DOUBLE);//Programm 2

}
Wie gesagt es ist eine ganz simple Stepper Steuerung die ich mir irgendwann mal aus einem Tutorial abgeschaut habe. Allerdings läuft hier ja sofort nach dem Ende von Programm 1 das Programm 2 durch. Dies soll aber unabhängig voneinander durch Tastendruck gewählt werden. Eingabe Programm 1 ->Ablauf Programm 1 und dann stopp bis eine neue Eingabe kommt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.10.2015, 13:01
Beitrag #2
RE: Steuerung von mehreren Programmabläufen
(31.10.2015 12:51)TimF schrieb:  Hallo,
ich habe vor mir eine Art Kameraslider zu bauen. Dazu verwende ich eine Linearführung und einen Schrittmotor. Die Steuerung des Schrittmotors ist für mich kein Problem. Allerding würde ich es gerne so haben, dass dies mit einer seriellen Schnittstelle oder zu Beginn evtl. auch einfach mit ein paar kleine Schaltern so steuern kann, dass ich mehrere Positionen oder Abläufe steuern kann.
In etwa so:
Signal 1 = 5cm nach rechts->stopp->3cm nach links->stopp->Endposition->stopp
Signal 2 = 3cm nach rechts->stopp->5cm nach rechts->stopp->Endposition->stopp
Signal 3 = .... usw.
Vlt kann mir ja jemand Tipps geben ob das generell möglich ist und wenn ja wie ich das in etwa angehen müsste. Wie gesagt die Wege der Schrittmotoren habe ich mit einer ganz simplen Schrittmotorsteuerung realisiert jetzt möchte ich nur noch die verschiedenen Fahrwege nach belieben abrufen können.
Vielen Dank schon mal im Vorraus Smile
Wie sollen wir dir helfen, wenn du uns keinerlei Daten von deiner Hardware lieferst.
Sollen wir raten?
Dann brauchen wir deinen Sketch, damit wir sehen, was du bisher gemacht hast.
Ohne irgend eine Information wird das nichts.

Oder möchtest du, dass wir das Programm für dich schreiben?

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.10.2015, 13:28
Beitrag #3
RE: Steuerung von mehreren Programmabläufen
Hoffe alle Daten sind nun Ergänzt Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.10.2015, 13:37
Beitrag #4
RE: Steuerung von mehreren Programmabläufen
Soweit ist es ok.
Allerdings gibt es auf dem Arduino nur ein Programm (Sketch) zur Zeit. Was du meinst, sind "Funktionen"
Diese must du jeweils in einer "if-Anweisung" abfragen.
Um dann die gefahrenen cm einzubinden, benötigst du einen Sensor, der dir die Strecke misst und dann in der if-Anweisung den entsprechenden Befehl ausführt.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.10.2015, 13:46
Beitrag #5
RE: Steuerung von mehreren Programmabläufen
An "if-Anweisungen" habe ich auch im ersten Moment gedacht. Hab ich mich allerdings noch nicht Großartig mit beschäftigt (werde ich wohl dann mal nachholen müssen). Ist es wirklich nötig dafür einen Sensor einzubauen der die Strecke misst oder kann ich mit der Anweisung nicht einfach sagen: Wenn ein Signal (z.B. durch Taster) auf Eingang 1 und Kamera in Startposition (Sensor) auf Eingang 2 dann lass Programm 1 ablaufen. Sozusagen das Programm wie ich es oben geschrieben habe mit "if Anweisungen" unterteilen und nur ein Sensor am Startpunkt anbringen der die if-Anweisung sozusagen beendet oder Freigibt in Kombination mit einem Taster.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.10.2015, 13:53
Beitrag #6
RE: Steuerung von mehreren Programmabläufen
Das geht natürlich auch über einen Taster. Sensor war nur ein Gedanke, da du von cm schriebst.
Der if-Anweisung ist es egal, wonach diese auswertet.
Die Abfrage kann HIGH oder LOW oder irgend welche Werte in Variablen sein.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.10.2015, 16:42
Beitrag #7
RE: Steuerung von mehreren Programmabläufen
... im einfachsten Fall brauchst du keinen Sensor zur Positionierung!

Beim Einschalten wird in eine Endlage gefahren, gegen Anschlag, das ist der Nullpunkt.
Von da wird jede Position über Schritte berechnet(Schrittmotor)
Besser ist natürlich wenigsten EINEN Sensor zu benutzen, welcher eine Endlage
festlegt.

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2015, 17:14
Beitrag #8
RE: Steuerung von mehreren Programmabläufen
Nachdem ich mich jetzt ein bisschen in if-Anweisungen eingelesen habe bekomme ich nun meinen Motor fast so gesteuert wie ich es möchte. Aber eben nur fast.
Bei diesem Code
Code:
#include <AFMotor.h>

AF_Stepper motor(200,2);
void setup() {
motor.setSpeed (30);
Serial.begin(9600);


}

void loop()
{
  if (Serial.available())
  {
  char data = Serial.read();
  if (data == '1')
  {
  Serial.println("Programm1");  
  motor.step(100,FORWARD,DOUBLE);
  motor.step(200,BACKWARD,DOUBLE);
  }

  if (data == '2')
  {
  Serial.println("Programm2");  
  motor.step(1000,FORWARD,DOUBLE);
  motor.step(200,BACKWARD,DOUBLE);
  }
  }
}
kann ich nun über die Console meine 2 verschiedenen Testprogramme auswählen so wie ich es wollte. Allerdings habe ich nun das kleine Problem wenn ich mehrmals schnell hintereinander die z.b. 1 eingeben und mit ENTER bestätige läuft auch mehrmals das Programm hintereinander ab. Wie kann ich das verhindern, sodass auch bei mehrmaliger Eingabe hintereinander das Programm trotzdem nur einmalig durchläuft und erst ein Signal nach Ende des Programmablaufes wieder Wirkung zeigt?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  MP3 Player mit mehreren Ordner Matthias Wehrli 2 66 06.12.2016 02:07
Letzter Beitrag: Matthias Wehrli
  Infrarot zu RS232 für Steuerung DG0JG 46 692 22.10.2016 11:35
Letzter Beitrag: hotsystems
  Slider Steuerung, Programmierung blueblack 21 622 16.10.2016 22:31
Letzter Beitrag: blueblack
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 123 14.10.2016 21:40
Letzter Beitrag: hotsystems
  Hilfe bei Servo-steuerung Innocence 7 820 23.02.2016 11:00
Letzter Beitrag: hotsystems
  Steuerung eines Remotekopfes mit Joystick, 2Stck DC Motore und Arduino max123 6 609 30.12.2015 14:56
Letzter Beitrag: max123
  Milight Openmili Steuerung gronph 22 3.446 23.12.2015 11:18
Letzter Beitrag: Phil333
  propleme beim programmieren einer steuerung für funksteckdosen purzele06 18 3.676 19.11.2015 11:06
Letzter Beitrag: Phil94
  Komplexer Kamera Timelaeps Steuerung (Gimbal/Slider Kombination) fknobel 6 823 25.10.2015 14:25
Letzter Beitrag: Klaus(i)
  Pendelbahn (Seilbahn) Steuerung K@mi 34 5.035 30.07.2015 08:15
Letzter Beitrag: fraju

Gehe zu:


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