EV3 Programmierungsproblematik - zurück zur Synchronisation

grafische Programmiersprachen für den EV3/NXT.
NXT-G, Robolab, LabView und was noch so schön bunt ist...

Moderator: Moderatoren

Altezza
Mindstormsfreund
Mindstormsfreund
Beiträge: 5
Registriert: 27. Jun 2016 11:41

EV3 Programmierungsproblematik - zurück zur Synchronisation

Beitragvon Altezza » 30. Okt 2016 09:43

Servus zusammen,

die EV3 Geschichte bringt mich mal wieder zum Wahnsinn. Ich hoffe ihr könnt mir da erneut aus der Klemme helfen ;)
Die Progammierung frisst mir die Zeit vom Kopf welche ich eigentlich fürs bauen benötige :lol:
aber ich komme einfach nciht weiter, dass am Ende der Schleife die beiden Motoren wieder synchron laufen und damit eine immer
gleiche Abfolge abläuft..

Problembeschreibung:
Zeitgleich sollen Motor A und Motor B starten (alles in einer Schleife).
Motor A soll 10 Umdrehungen fahren, Motor B 18 Umdrehungen.
Stellt euch eine höhenverstellbare Plattform vor (ähnlich einer Hebebühne). Angetrieben durch Linearantriebe.
Nach dem die Plattform nun hochgefahren wurde steht sie nun allerdings schräg, da ein Antrieb eben nur die 10 Umdrehungen gemacht hat, der andere die 18 Umdrehungen.
Ist aber so gewollt!

Jetzt soll ein Wartenbaustein eingefügt werden, aber da die Zeiten aufgrund der beiden unterschiedlichen Umdrehungsanzahlen nicht mehr synchron ist geht dies nicht.
Das ist schon das erste Problem.

Anschließend soll sich die Plattform wieder horizontal ausrichten und anschließend wieder ganz runter fahren.

Aber wie bekomme ich das hin, das a) zwischen hoch und runterfahren eine gewisse Zeit vergeht (sagen wir 10 Sekunden) und b) Motor A erst anfängt wenn Motor B schon 8 Umdrehungen hinter sich hat..

Habe mal Bilder gemacht, dann erklärt es sich vielleicht ein bissel besser.

Bild

Bild

Bild

Bild

Angetrieben werden die beiden Linearantriebe durch jeweils einen kleinen EV3-Motor.

Danke, Gruß Michael

Benutzeravatar
HaWe
Administrator
Administrator
Beiträge: 5257
Registriert: 11. Jan 2006 21:01
Wohnort: ein kleiner Planet in der Nähe von Beteigeuze

Re: EV3 Programmierungsproblematik - zurück zur Synchronisation

Beitragvon HaWe » 30. Okt 2016 11:42

hallo,
das wird wschl wenig über die Zeit-Funktion gehen, sondern eher über das Auslesen der Encoder Rotation Counts
Die Wartefunktion muss also warten, bis sowohl als auch der 2. Motor ihr Ziel (nach RotationCounts) erreicht haben.
Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E

Peter28
Schreibt viel
Schreibt viel
Beiträge: 188
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: EV3 Programmierungsproblematik - zurück zur Synchronisation

Beitragvon Peter28 » 30. Okt 2016 23:15

Das geht eigentlich recht einfach. Angenommen, die Bühne steht unten. Egal ob jetzt mit grafischer oder Textprogrammierung gearbeitet wird Motordrehung auf null stellen. Dann beide Motoren ihre entsprechende Anzahl von Drehungen ausführen lassen. Beim zurückdrehen nicht die Anzahl der Umdrehungen nutzen, sondern die Motoren so lange laufen lassen in einer Schleife, bis der Umdrehungszähler auf null steht. Diese Methode arbeitet meiner Meinung nach sauberer als zehn Drehungen rauf und zehn wieder runter. Beim Zurückdrehen nicht Umdrehungen sondern diese Geschichte in Grad abwickeln. Wenn sich die Mechanik beim Zurück um 1-2 Grad irrt, ist das immer noch wenige als vielleicht 0,05 Umdrehungen. Hab das mal mit der wiederholten Mitteeinstellung bei einem Halbkreis gemacht. Bis diese Mittelstellung aus dem Ruder lief brauchte es schon mehr als 100 mal hin und her.


Zurück zu „grafische Programmiersoftware“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss