Kampfwurst_Hugo
11.01.2012, 23:29
Hallo
Ich hoffe ich bin hier richtig und ihr könnt mir helfen.
Es geht um die Drehzahlregelung und einer Regelschleife von Motoren.
Ich baue gerade einen Rasenmähroboter. Er soll 2 Antriebsmotoren bekommen.
Die Motoren sind mit einem Magnetischer Impulsgeber (http://www.dunkermotoren.de/data/technical_data/servocomponents/pdf/90130_MG-ME_Seite%2061.pdf#page=1)(Hallgeber) ausgestattet.
Ich bekomme 2 Rechteck Signale von dem Sensor mit dem ich die Drehzahl und die Drehrichtung erkennen kann. Alles soweit auch kein Problem.
Jeder Motor hat seine eigene H-Brücke mit einem HIP4081A ( FET Treiber ). Jede H-Brücke wird von einem eigenen Atmega AT90PWM3B angesteuert.
Zur Steuerung gehe ich wie folgt vor. Ich habe 2 Register. ON_TIME0 und ON_TIME1
Wenn ich z.B
ON_TIME0= 2000
ON_TIME1=0
setze dreht sich der Motor nach links mit voller Drehzahl.
Bei
ON_TIME0= 0
ON_TIME1=2000
setze dreht sich der Motor nach rechts mit voller Drehzahl.
bei
ON_TIME0= 2000
ON_TIME1= 2000
setze stoppt der Motor.
Die Werte für die Register bekommt der AT90PWM3B per SPI von einem Atmega 2560.
Nun soll ich laut Lehrer einen PI-Regler für die Anpassung der Motoren in C programmieren. Da die Motoren ja Toleranzen habe laufen sie natürlich nie gleich schnell.
Leider fehlt mir aber der Richtige Ansatz wie ich die Register und die Daten von dem Magnetischer Impulsgeber miteinander in einer Regelschleife verknüpfe.
Im Internet finde ich auch keine Beispiele zu meinem Problem
Freue mich über konstruktive Anregungen.
Christoph
Ich hoffe ich bin hier richtig und ihr könnt mir helfen.
Es geht um die Drehzahlregelung und einer Regelschleife von Motoren.
Ich baue gerade einen Rasenmähroboter. Er soll 2 Antriebsmotoren bekommen.
Die Motoren sind mit einem Magnetischer Impulsgeber (http://www.dunkermotoren.de/data/technical_data/servocomponents/pdf/90130_MG-ME_Seite%2061.pdf#page=1)(Hallgeber) ausgestattet.
Ich bekomme 2 Rechteck Signale von dem Sensor mit dem ich die Drehzahl und die Drehrichtung erkennen kann. Alles soweit auch kein Problem.
Jeder Motor hat seine eigene H-Brücke mit einem HIP4081A ( FET Treiber ). Jede H-Brücke wird von einem eigenen Atmega AT90PWM3B angesteuert.
Zur Steuerung gehe ich wie folgt vor. Ich habe 2 Register. ON_TIME0 und ON_TIME1
Wenn ich z.B
ON_TIME0= 2000
ON_TIME1=0
setze dreht sich der Motor nach links mit voller Drehzahl.
Bei
ON_TIME0= 0
ON_TIME1=2000
setze dreht sich der Motor nach rechts mit voller Drehzahl.
bei
ON_TIME0= 2000
ON_TIME1= 2000
setze stoppt der Motor.
Die Werte für die Register bekommt der AT90PWM3B per SPI von einem Atmega 2560.
Nun soll ich laut Lehrer einen PI-Regler für die Anpassung der Motoren in C programmieren. Da die Motoren ja Toleranzen habe laufen sie natürlich nie gleich schnell.
Leider fehlt mir aber der Richtige Ansatz wie ich die Register und die Daten von dem Magnetischer Impulsgeber miteinander in einer Regelschleife verknüpfe.
Im Internet finde ich auch keine Beispiele zu meinem Problem
Freue mich über konstruktive Anregungen.
Christoph