Robo Pro und Encodermotor richtig ansteuern

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Zwergnase
Beiträge: 160
Registriert: 01 Nov 2010, 19:45
Wohnort: Düsseldorf
Kontaktdaten:

Robo Pro und Encodermotor richtig ansteuern

Beitrag von Zwergnase » 12 Okt 2019, 09:11

Guten Morgen,

Ich steh ein wenig auf dem schlauch und verzweifle langsam. Ich habe ein Modell gebaut mit einen Encodermotor. Dieser soll zu seiner Start Position fahren und dann 2400 Impulse in die andere Richtung. Nach 5sek beginnt dieser Prozess von vorne. Ich habe zwei verschiedene Ansätze versucht, siehe Screenshot:
Encodermotor_Programm.PNG
Encodermotor_Programm.PNG (149.38 KiB) 221 mal betrachtet
Das erste Mal läuft das Programm korrekt durch bei beiden Ansätzen, aber wenn er das zweite Mal das Programm durchläuft so wird Motor 4 nicht nach Links gedreht, obwohl das Programm ganze Zeit draufsteht.

Welchen Fehler mache ich hier, dass sich Motor 4 nicht dreht beim zweiten mahl?
Mit Freundlichen Grüßen:
Manuel Neumann

vleeuwen
Beiträge: 1099
Registriert: 31 Okt 2010, 22:23

Re: Robo Pro und Encodermotor richtig ansteuern

Beitrag von vleeuwen » 12 Okt 2019, 11:36

I did not have time to test it, but see the help chapter 12.6.2
You did not cancel the distance mode.
You can try the next:
Add a "cancel distance" command before the wait 5 sec.
(or an advanced motor control with "stop").

Benutzeravatar
laserman
Beiträge: 171
Registriert: 05 Nov 2010, 16:06
Kontaktdaten:

Re: Robo Pro und Encodermotor richtig ansteuern

Beitrag von laserman » 12 Okt 2019, 12:21

Hallo Zwergnase,

mir sind erst mal 2 Sachen aufgefallen:

1. Im linken Programm hast Du 1 Stunde Wartezeit. Ist das korrekt?

2. Links zwischen M3 und I7 kann man die Pfelie nicht richtig sehen (und somit auch nicht, ob sie richtig angeordnet sind). Am besten löschst Du die 3 Pfeile, verschiebst die unteren Elemente 1 Kästchen nach unten, und ziehst die Pfeile neu. Also mit gedrückter Maustaste die Elemente markieren, Maustaste loslassen, warten bis die Elemente rot sind, und dann mit gedrückter Maustaste die Elemente verschieben. Und dann die 3 Pfeile neu ziehen.

Vielleicht hilft das schon.
Viele Grüße, Laserman

hamlet
Beiträge: 294
Registriert: 12 Jan 2011, 21:41

Re: Robo Pro und Encodermotor richtig ansteuern

Beitrag von hamlet » 12 Okt 2019, 13:42

... as vleeuwen already said (-;
Hi Manuel,
Beim zweiten Durchlauf ist Motor 4 immer noch im Distanzmodus und am Ziel. Deshalb reagiert er nicht mehr. Bevor Du ihn wieder normal verwenden kannst, musst Du erst mit einem Stopp-Befehl oder durch Zuweisung einer "Null"-Distanz den Distanzmodus beenden.
Hilfe Kapitel "12.6 Schnelle Zähleingänge und erweiterte Motorsteuerung"
12.6.1
Mit der Aktion Stopp kannst du die Motoren jederzeit anhalten, die Synchronisation beenden und eine gegebenenfalls noch ausstehende Restdistanz löschen. Wenn du Motoren mit diesem Element startest, musst du sie auch mit diesem Element stoppen, bevor du wieder gewöhnliche Motorsteuerelemente verwenden kannst

12.6.2
Wenn man den Motor anschließend wieder mit normalen Motorbefehlen steuern möchte, muss man zunächst den Distanz- und den Synchronbefehl wieder aufheben, indem man einen Distanz- und einen Synchronbefehl mit Wert 0 schickt. Vorher muss man dem Motor aber einen Stopp Befehl schicken. Der Distanz- und der Synchronbefehl stoppen den Motor nur solange die Befehle aktiv sind. Wenn man die Befehle aufhebt, ohne den Motor vorher zu stoppen, läuft der Motor wieder los.
Gruesse,
Helmut

vleeuwen
Beiträge: 1099
Registriert: 31 Okt 2010, 22:23

Re: Robo Pro und Encodermotor richtig ansteuern

Beitrag von vleeuwen » 12 Okt 2019, 19:14

@Zwergnase
(@hamlet, thanks the explanation in German)

I had a moment left to check your problem in detail and test it in real.
a)

The 1 hour delay is the funny part but it is not the source of your problem.
Probably you need some time to make coffee before going on with testing.
b1)
More serieus is:
The first stop, the advanced motor stop element direct after the branch, needs to be replaced by a normal motor stop element, like you have in your second example.
The advanced motor will work too to stop a motor but it is not right way of using.
b2)
The second more important change is that you will need to add the "cancel distance command" just before the wait 5 sec element.
This can be an "advanced motor stop" element (level 1) or a "set distance to 0" command (cancel distance) (level 4)(see12.6.2).

Note:
The funny thing is, that your problem is very old. During the first test of the "encoder motor" on the TX-C I have already describe this and help was updated. When your are programming this in with the on-line API or directly using the TA, you will meet the same problem.

I hope that this is helpful to you.

Zwergnase
Beiträge: 160
Registriert: 01 Nov 2010, 19:45
Wohnort: Düsseldorf
Kontaktdaten:

Re: Robo Pro und Encodermotor richtig ansteuern

Beitrag von Zwergnase » 12 Okt 2019, 19:56

Hi all,

Thank you so much for the quick help. Adding the stop command brought the desired success.
Now I know a little more again:)
Thanks also for the detailed description.

PS
To the one hour, I only added this so I didn't have two different programs but only one and I could try one or the other. The one hour was only for the reason that this program path is not started.
Mit Freundlichen Grüßen:
Manuel Neumann

vleeuwen
Beiträge: 1099
Registriert: 31 Okt 2010, 22:23

Re: Robo Pro und Encodermotor richtig ansteuern

Beitrag von vleeuwen » 12 Okt 2019, 20:33

I was only joking about the "one hour".

But your explanation brings to next suggestion about programming techniques.
You can also save both your solution in different subroutines.
In the main program you can decide which of the subroutines you want to use.
It is not necessary to use the subroutine that are part of your .rpp program.
1) replace the start process (green) element with a "sub program entry" element.

This can make it easier to preserve your experimental solution for later.

Have fun and success with your RoboPro workflow programming.

Antworten