Drehfunktion
Einmal auf die verrückte Idee gekommen, die Webcam online
drehbar machen zu können, ist mir das nun endlich auch geglückt.
Hauptproblem: Zeit :-)
Der Aufbau:
Mit Hilfe der C-Control
Station von Conrad Elektronik kann ich direkt einen Modellbau-Servo
ansteuern und dessen Winkel gradgenau einstellen. Der Servo hat
eine Stellweite von 120° und kann diesen kompletten Bereich
innerhalb von nur 0,4 sec abfahren.
Bild rechts: C-Control Station, Webcam auf Servo
und Spannungsregler (im Gehäuse) |
|
Generell erhält ein Servo seine Information durch Impulse
mit einer Amplitude von +5V, die als absolute Winkelangaben ausgewertet
werden.
Die gesamte Periodendauer muss immer 20 ms betragen. Die Zeit, in
der die Steuerleitung, in diesen 20 ms, High-Pegel aufweist bestimmt
die Position des Servos.
Die Servopulse müssen auch mehrere Male wiederholt werden,
und zwar mindestens solange bis die Zielposition erreicht ist.
Und genau diese Impulse kann die C-Control Station auf einem ihrer
digitalen Ports ausgeben. Dazu sind noch ein kleines Programm in
Basic bzw. ein Teil davon direkt in Assembler (der zeitrelevante
Teil) nötig und schon kann die C-Control Station den Servo
steuern.
Eine andere Möglichkeit wäre auch gewesen, den Assembler-Teil
in einem IC, z.B. dem Servocontroller-Chip
SD20 zu realisieren, aber das klappte bei mir leider nicht wie
gewünscht.
Tja, und schliesslich der letzte Teil: Wie kann ich den Servo von
einer Weboberfläche aus steuern? Dazu habe ich einfach das
Basic-Programm auf der C-Control so angepasst, dass es den einzustellenden
Winkel von der seriellen Schnittstelle einlesen kann. An meinen
Webserver angeschlossen kann ich so mithilfe eines kleinen Perl-Skripts
vom Webserver aus einen Winkel an die C-Control übertragen.
Dieses Perlskript rufe ich von der Webseite dann einfach mit unterschiedlichen
Parametern auf und kann so in verschieden grossen Schritten nach
links und rechts navigieren. |
|