Che Guevara
10.10.2011, 20:15
Hallo,
ich habe ein altes DVD-Laufwerk zerlegt und bin gerade dabei, die Laser-Motoreinheit anzusteuern. Der Laser ist unbenutzt, da mir das zu gefährlich ist und ich auch keinen Verwendungszweck dafür habe. Allerdings finde ich die Motor-Einheit sehr interresant. Diese besteht aus einem DC-Motor, welcher über eine "Zahnradstange" den Laserschlitten bewegt. Zur Positionserfassung befinden sich zwei Hallsensoren auf einer Platine, welche ich mittels LM339 digitalisiere. Momentan nutze ich allerdings nur eine davon, da ich ja weiß, in welche Richtung sich der Schlitten bewegt. Mit diesem Schlitten möchte ich ein paar Punkte möglichst genau anfahren.
Aber: Wie realisiere ich eine Regelung dafür? Die Sensorsignale gebe ich auf den Int0, das funktioniert. Der Motor wird über einen L293D (aufm RN-Control) gesteuert, d.h. ich gebe mittels 2 Pins die Richtung und mittels PWM (Timer1) die Geschwindigkeit vor. Einen PID-Regler habe ich schonmal für meinen Quadrocopter programmiert, das stellt kein Problem dar. Aber wie werden die PI-Werte verrechnet? Wenn der Fehler größer 0 ist, muss in die eine Richtung gesteuert werden, ansonsten in die andere Richtung. Bei Ist = Soll wird der Motor zum Bremsen kurzgeschlossen und die PWM voll aufgedreht. Soll ich die PWM in Abhängigkeit vom P / I Wert einstellen? Oder wie werte ich die Werte sonst aus? Irgendwie habe ich das Gefühl, ich stehe da etwas auf dem Schlauch. Wäre nett, wenn mir jemand helfen könnte :D
Vielen Dank & Gruß
Chris
ich habe ein altes DVD-Laufwerk zerlegt und bin gerade dabei, die Laser-Motoreinheit anzusteuern. Der Laser ist unbenutzt, da mir das zu gefährlich ist und ich auch keinen Verwendungszweck dafür habe. Allerdings finde ich die Motor-Einheit sehr interresant. Diese besteht aus einem DC-Motor, welcher über eine "Zahnradstange" den Laserschlitten bewegt. Zur Positionserfassung befinden sich zwei Hallsensoren auf einer Platine, welche ich mittels LM339 digitalisiere. Momentan nutze ich allerdings nur eine davon, da ich ja weiß, in welche Richtung sich der Schlitten bewegt. Mit diesem Schlitten möchte ich ein paar Punkte möglichst genau anfahren.
Aber: Wie realisiere ich eine Regelung dafür? Die Sensorsignale gebe ich auf den Int0, das funktioniert. Der Motor wird über einen L293D (aufm RN-Control) gesteuert, d.h. ich gebe mittels 2 Pins die Richtung und mittels PWM (Timer1) die Geschwindigkeit vor. Einen PID-Regler habe ich schonmal für meinen Quadrocopter programmiert, das stellt kein Problem dar. Aber wie werden die PI-Werte verrechnet? Wenn der Fehler größer 0 ist, muss in die eine Richtung gesteuert werden, ansonsten in die andere Richtung. Bei Ist = Soll wird der Motor zum Bremsen kurzgeschlossen und die PWM voll aufgedreht. Soll ich die PWM in Abhängigkeit vom P / I Wert einstellen? Oder wie werte ich die Werte sonst aus? Irgendwie habe ich das Gefühl, ich stehe da etwas auf dem Schlauch. Wäre nett, wenn mir jemand helfen könnte :D
Vielen Dank & Gruß
Chris