Erweiterte Motorsteuerung

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
Benutzeravatar
TST
Beiträge: 114
Registriert: 31 Okt 2010, 22:40

Erweiterte Motorsteuerung

Beitrag von TST » 09 Jan 2011, 17:40

Hallo zusammen

Weiß jemand warum im erweiterten Motorsteuerung in Robo Pro die Distanz auf 32767 Impulse gegrenz ist?
Ich habe das gerade mal getestet, das bedeutet das ein Encodermotor maximal ca 83 Sekunden drehen kann, dann sind die Impulse erreicht.

Verstehen tue ich das nicht, das schränkt die Benutzung des schnellen Zähleingangs z.B. für Gabellichtschranken ein.

Hat von Euch einer eine Erklärung?

MFG
Andreas
TST
MFG

T-S-T

Benutzeravatar
fish
Beiträge: 137
Registriert: 01 Nov 2010, 17:19
Wohnort: Wiesbaden
Kontaktdaten:

Re: Erweiterte Motorsteuerung

Beitrag von fish » 09 Jan 2011, 17:52

Hallo TST,

die maximale Anzahl Impulse ist an die maximale Variablengröße gekoppelt.

Hier die Erklärung aus der RoboPro Hilfe für diese krumme Zahl und die Beschränkung:
Der krumme Wertebereich von -32767 bis 32767 kommt übrigens daher, dass Computer im Zweiersystem rechnen, und nicht im Zehnersystem wie wir. Im Zweiersystem ist 32767 eine glatte Zahl, etwa wie 9999 im Zehnersystem. Aber darum brauchen wir uns nicht zu kümmern, da der Computer alle Zahlen vom Zweier- ins Zehnersystem umrechnet. Nur bei den Maximalwerten von Variablen merkt man noch etwas davon und wenn es beim Rechnen einen Überlauf gibt.
Abhilfe:
Um das Motorelemet Distanz wird eine Zählschleife geschaltet.
http://py4ft.weebly.com Programmiere Fischertechnik mit Python

thkais
Beiträge: 381
Registriert: 31 Okt 2010, 21:45

Re: Erweiterte Motorsteuerung

Beitrag von thkais » 09 Jan 2011, 18:19

Hallo,

wenn man nun eine Auflösung von 1/10 mm erreichen möchte, dann kämen dann immer noch 3276,7 mm heraus. Das sind über 3m - das sollte doch für die meisten Modelle genügen?
Insofern sehe ich keine Einschränkung für die Nutzung mit Lichtschranken....
Gruß
Thomas

Benutzeravatar
TST
Beiträge: 114
Registriert: 31 Okt 2010, 22:40

Re: Erweiterte Motorsteuerung

Beitrag von TST » 09 Jan 2011, 18:57

Hallo

O.K. die Erklärung ist logisch.

Das mit der Zählschleife funktioniert nicht.
Zumindest habe ich das nicht hin bekommen.

Das Element Erweiterte Motorsteuerung schaltet ja auch vor erreichen der Position im Programm weiter.

MFG
Andreas
TST
MFG

T-S-T

Benutzeravatar
TST
Beiträge: 114
Registriert: 31 Okt 2010, 22:40

Re: Erweiterte Motorsteuerung

Beitrag von TST » 09 Jan 2011, 20:40

Hallo Thomas

Ich habe gerade mal ein wenig gerechnet.

Der Encodermotor liefert bei einer Umdrehung an der Ausgangswelle 75 Impulse.
Also ist ca. bei insgesammt 436 Umdrehungen Schluß.
Bei einem direktem Antrieb auf eine Schnecke mit 1,5er Modul kann man so eine Strecke von ca 2050mm erreichen ( ordentlich).
Einen Drehkranz mit eingängiger Schnecke angetrieben könnte man 7,5 mal drehen lassen ( für Kirmesmodelle , na ja )

Bei einer Gabellichtschranke ( bei der Ausnutzung der 1Khz Abtastrate ) könnte man also ca 32 Sekunden messen.

Ich war heute etwas entäuscht, da ich dachte das ich mit dem TX meine kleinen Maxonmotoren mit eingebautem Encoder betreiben könnte.
Da die Eingänge aber immer noch zu langsam sind muß ich wieder mit einem Impulsewandler wie beim Robo Interface arbeiten.
Wenn ich mit einer 8er Impulsewandlung arbeite ( von den eingehenden Impulsen wird nur jeder 8te duchgelassen ) bekomme ich etwa 52000 Impulse in der Minute. Das bedeutet nach ca. 38 Sekunden ist Schluß.

Ansonsten sind die schnellen Eingänge schon nicht schlecht.

MFG
Andreas
TST
MFG

T-S-T

Benutzeravatar
peter.poetzi
Beiträge: 87
Registriert: 06 Nov 2010, 10:00

Re: Erweiterte Motorsteuerung

Beitrag von peter.poetzi » 09 Jan 2011, 21:17

Das ist weil bei 16-Bit Prozessoren nur 2^16(65536) verscheidene zahlen möglich sind, es wird allgemein aber-32768 bis +32767 verwendet(das sind genau 65536 zahlen)
Früherer Nick:hman13
int main(){return main();}

Antworten