-> Hier kostenlos registrieren
Mahlzeit, wir haben Testweise einen Profisafe SSI Drehgeber von TR gekauft (CDV582M-00061 65536 Revolution und 8192 Steps) bei der wir ein Problem mit der Auswertungszeit haben
Der Aufbau ist einfach: An der Welle eines Schrittmotors ist der Drehgeber gekoppelt, der Schrittmotor wird von Arduino ein/ausgeschaltet, den ein/ausschaltimpuls kriegt die Arduino über ein Schütz welches von der Safetykarte der SPS angesteuert wird
Der Schrittmotor hat eine einstellbare Geschwindigkeit aktuell ca. 1sec/umdrehung (praxis nah)
Die Werte kriege ich alle ziemlich präzise von dem Geber (UINT 0-65536) wobei das 8 umdrehungen entsprechen, diesen Wert teile ich noch durch 8 damit der Zähler bei jeder Umdrehung von neu anfängt, ich skalier die Werte auch passend zu Winkel 0-65536 = 0-359.9°
Nun zum Problem: Der Motor Soll bei 310° abschalten (ich schalte Schütz spannungsfrei) leider stoppt er aber erst bei 335 (was erstmal ok ist durch Toleranz und arduino)
Starte ich aber den Motor erneut ( start Winkel 335°) bleibt er bei ~355° stehen, erneuter start bleibt er bei ~10° stehen, erst hiernach bleibt er wieder bei ~335° stehen
Wenn ich dem Geber bei jeder Umdrehung 0° Wert zuweise (justage) dann bleibt die Toleranz konstant bei 25°, der bleibt dann immer bei 333-335° stehen, dies ist leider keine Lösung
Ich vermute dass es an der Zykluszeit liegt
Nun würde ich gerne wissen ob es da möglichkeit besteht das alles zu optimieren?
Wir hatten Parallel einen Drehgeber von Pilz dran mit PSU4000 PLC als auswertung, dort war die Toleranz 12° aber konstant, da gabs keine verschiebung von z.b 324° ->336°->348° etc
anbei habe ich auch das Programm archiviert V17
Der Aufbau ist einfach: An der Welle eines Schrittmotors ist der Drehgeber gekoppelt, der Schrittmotor wird von Arduino ein/ausgeschaltet, den ein/ausschaltimpuls kriegt die Arduino über ein Schütz welches von der Safetykarte der SPS angesteuert wird
Der Schrittmotor hat eine einstellbare Geschwindigkeit aktuell ca. 1sec/umdrehung (praxis nah)
Die Werte kriege ich alle ziemlich präzise von dem Geber (UINT 0-65536) wobei das 8 umdrehungen entsprechen, diesen Wert teile ich noch durch 8 damit der Zähler bei jeder Umdrehung von neu anfängt, ich skalier die Werte auch passend zu Winkel 0-65536 = 0-359.9°
Nun zum Problem: Der Motor Soll bei 310° abschalten (ich schalte Schütz spannungsfrei) leider stoppt er aber erst bei 335 (was erstmal ok ist durch Toleranz und arduino)
Starte ich aber den Motor erneut ( start Winkel 335°) bleibt er bei ~355° stehen, erneuter start bleibt er bei ~10° stehen, erst hiernach bleibt er wieder bei ~335° stehen
Wenn ich dem Geber bei jeder Umdrehung 0° Wert zuweise (justage) dann bleibt die Toleranz konstant bei 25°, der bleibt dann immer bei 333-335° stehen, dies ist leider keine Lösung
Ich vermute dass es an der Zykluszeit liegt
Nun würde ich gerne wissen ob es da möglichkeit besteht das alles zu optimieren?
Wir hatten Parallel einen Drehgeber von Pilz dran mit PSU4000 PLC als auswertung, dort war die Toleranz 12° aber konstant, da gabs keine verschiebung von z.b 324° ->336°->348° etc
anbei habe ich auch das Programm archiviert V17