Hellmut
24.10.2005, 19:19
Hallo Freunde
Nachdem ich jetzt langsam in die konkrete Phase komme die Steuerung meiner Dunkermotoren für meinen "Schwimmenden Roboter", ein Langkielsegelbootmodell, komme habe ich einige Fragen die mich beim "Verstehen" der Applöikation beschäftigen.
System:
Ich verwende einen GR40x24 Dunkermotor mit dem Inkrementalwertgeber RE30-3, sowie eine elektromechanische Bremse E38R. Details können unter der Adresse www.dunkermotoren.de eingesehen werden. Hier relevant, die Motoren und Bremse sind für 24V ausgelegt, und haben einen Anlaufstrom von 5,6A. Ich verwende eine mega8 zur Ansteuerung einer H-Brücke und plane für die Entwicklung einen 2. mega8 für die Auswertung der Impulstripel vom Inkrementalwertgeber zu nutzen, gleichzeitig soll dieser überwachende Funktionen übernehmen.
Implementieren werde ich damit den Antrieb für eine Verstellmechanik die zwischen 2 Endstellungen bewegt wird und statt RC-Modellbau-Winden zum Steuern des Hauptsegels, des Genuas und des Spinnakers.
Abweichend von der üblichen Implementierung, die einen Impuls vm RC-Empfänger auswertet und dem Servo/Windenmotor der einen Spindelpoti bewegt, wird bei mir die Funktion wie folgt implementiert:
Die Steuerelektronik kalibiert sich regelmäßig und kennt die Position in der sich die Winde befindet, eine neue Position bestimmt sich über die Anzahl der von der Bezugsposition erfolgten Impulszahl des Inkrementalwertgebers. Die Befehle des Benutzers an der RC-Fernsteuerung, ausgewertet durch einen mega8 und über I2C-Bus an die Steuerelektronik des Servos übertragen, dienen der Steuerelektronik dazu die gewünschten Positionen anzufahren, bzw. Bewegungen auszuführen. Wann immer diese "Winde" dreht, wird die spannnungslos-aktive Bremse gelöst durch Anlegen einer 24V Spannung, bei Erreichen einer neuen Position wird die Spannung wieder entfernt und die Bremse greift.
Jetzt meine Fragen:
1. Was tuhe ich zuerst wenn ich die Position beim Anfahren nicht verlieren will? Erst Bremse lösen, dann Motor anfahren? Oder erst Motor anfahren, dann Bremse lösen?
Wenn die Bremse noch aktiv ist, ist der Motor also blockiert, also würde der Kurzschlussstrom fliessen!
Da die Befehle, "Bremse lösen" + "Motor Anfahren" als Reaktion auf ein über I2C erhaltenen Befehl des mega8, der auch das pwm der Motorsteuerung erzeugt, erfolgen, sind das 2 Subroutinen im Kode und erfolgen im uSekunden Abstand. Genauso umgekehrt, wenn eine neue Position angefahren wurde.
Was meint ihr?
2. Die Betätigung der Steuerung des Hauptsegels, wo üblicher Weise eine Winde eingesetzt wird, findet auf "Fahrt" laufend statt. Damit also auch laufend der oben beschriebene Ablauf (Bremsenspannung über Relai oder Transistor geschaltet). Welche Auswirkung hat das auf die Lebensdauer des Motors, wird der stark gestresst?
Bin auf Euer Feedback gespannt.
Nachdem ich jetzt langsam in die konkrete Phase komme die Steuerung meiner Dunkermotoren für meinen "Schwimmenden Roboter", ein Langkielsegelbootmodell, komme habe ich einige Fragen die mich beim "Verstehen" der Applöikation beschäftigen.
System:
Ich verwende einen GR40x24 Dunkermotor mit dem Inkrementalwertgeber RE30-3, sowie eine elektromechanische Bremse E38R. Details können unter der Adresse www.dunkermotoren.de eingesehen werden. Hier relevant, die Motoren und Bremse sind für 24V ausgelegt, und haben einen Anlaufstrom von 5,6A. Ich verwende eine mega8 zur Ansteuerung einer H-Brücke und plane für die Entwicklung einen 2. mega8 für die Auswertung der Impulstripel vom Inkrementalwertgeber zu nutzen, gleichzeitig soll dieser überwachende Funktionen übernehmen.
Implementieren werde ich damit den Antrieb für eine Verstellmechanik die zwischen 2 Endstellungen bewegt wird und statt RC-Modellbau-Winden zum Steuern des Hauptsegels, des Genuas und des Spinnakers.
Abweichend von der üblichen Implementierung, die einen Impuls vm RC-Empfänger auswertet und dem Servo/Windenmotor der einen Spindelpoti bewegt, wird bei mir die Funktion wie folgt implementiert:
Die Steuerelektronik kalibiert sich regelmäßig und kennt die Position in der sich die Winde befindet, eine neue Position bestimmt sich über die Anzahl der von der Bezugsposition erfolgten Impulszahl des Inkrementalwertgebers. Die Befehle des Benutzers an der RC-Fernsteuerung, ausgewertet durch einen mega8 und über I2C-Bus an die Steuerelektronik des Servos übertragen, dienen der Steuerelektronik dazu die gewünschten Positionen anzufahren, bzw. Bewegungen auszuführen. Wann immer diese "Winde" dreht, wird die spannnungslos-aktive Bremse gelöst durch Anlegen einer 24V Spannung, bei Erreichen einer neuen Position wird die Spannung wieder entfernt und die Bremse greift.
Jetzt meine Fragen:
1. Was tuhe ich zuerst wenn ich die Position beim Anfahren nicht verlieren will? Erst Bremse lösen, dann Motor anfahren? Oder erst Motor anfahren, dann Bremse lösen?
Wenn die Bremse noch aktiv ist, ist der Motor also blockiert, also würde der Kurzschlussstrom fliessen!
Da die Befehle, "Bremse lösen" + "Motor Anfahren" als Reaktion auf ein über I2C erhaltenen Befehl des mega8, der auch das pwm der Motorsteuerung erzeugt, erfolgen, sind das 2 Subroutinen im Kode und erfolgen im uSekunden Abstand. Genauso umgekehrt, wenn eine neue Position angefahren wurde.
Was meint ihr?
2. Die Betätigung der Steuerung des Hauptsegels, wo üblicher Weise eine Winde eingesetzt wird, findet auf "Fahrt" laufend statt. Damit also auch laufend der oben beschriebene Ablauf (Bremsenspannung über Relai oder Transistor geschaltet). Welche Auswirkung hat das auf die Lebensdauer des Motors, wird der stark gestresst?
Bin auf Euer Feedback gespannt.