Pan-Tilt-Zoom-Webcam

Da echte Outdoor Pan-Tilt-Zoom-Webcams ziemlich teuer (> 2500 Euro) sind, möchte ich mir selbst eine bauen...

Key Features

  • Fernsteuerbar über das Internet (Backend natürlich nur für berechtigte Personen erreichbar...)
  • Upload der Fotos periodisch auf einen Server , da am Standort keine fixe IP vorausgesetzt wird.
  • Rotation um mehr als 360 Grad (ca. 400) (damit der gesamte Bereich erreicht werden kann, aber sich die Kabel nicht endlos verdrehen)
  • Kippen der Kamera nach oben und unten
  • Strom und Netzwerkversorung über nur ein Kabel

der Plan

Eine alte Digitalkamera mit gphoto als Kamera zu verwenden. Damit habe ich schonmal das Zoom. Ein nslu2 mit linux soll die Fotos von der Kamera per FTP hochladen. Als Gehäuse plane ich das Gehäuse eines alten Barebone-PCs zu verwenden. Das sollte halbwegs Outdoor-tauglich werden. Für die tilt- und pan-Funktion (kippen und drehen) sollen Schrittmotoren mit ein paar Zahnrädern das Ganze bewegen. Diese werden mit einem uC (8051 oder Atmega geplant) angesteuert werden und mit EIA232 mit dem nslu2 verbunden werden.

die Umsetzung

Da ich keine libghoto2-fähige Kamera gefunden habe, ist akutell eine normale Webcam (Logitech Quickcam) eingebaut. Die Steuerung macht ein NSLU2 mit Debian 6.0. Ich habe die interne RS232 mit einem Stecker nach außen geführt und damit den 8051 des Motortreiberprints verbunden. Automatischer FTP-Upload der Fotos sowie das Bewegen der Kamera funktionieren. :-)

das Upgrade

Da es inzwischen die Kamera für das raspberry-pi gibt habe ich mich entschlossen die alte Consumer-Webcam und das NSLU auszubauen und durch ein raspberry-pi inklusive raspberry-kamera zu ersetzen. Dazu war es notwendig einen Pegelwandler (bzw. in meinem Fall ein einfacher 4049 als Schutzschaltung) für die serielle Kommunikation zwischen 8051 (5V) und raspberry-pi (3V3) einzubauen.

Projektverlauf

  • 2011-07-26: Zahnräder für Tilt mit Lasercutter ausgeschnitten. Leider offenbar irgendwo eine Skalierung mit ca. 0.8 aktiviert... => unbrauchbar :(
  • 2011-07-27: Zahnräder für Tilt mit Lasercutter ausgeschnitten. Dieses mal mit den richtigen Einstellungen...
  • 2011-07-29: Halterung für Kamera mit Tilt-Funktion und Schrittmotor eingebaut. Schrittmotor getestet.
  • 2011-08-01: Endschalter für Tilt eingebaut. Flansch für Lager zum rotieren gefertigt. Endschalter für Rotation eingebaut.
  • 2011-08-03: Zahnrad fürs Drehen und Frontscheibe Laser-geschnitten.
  • 2011-08-04: Drehungs-Vorrichtung zusammengebaut und Motor eingebaut.
  • 2011-08-24: Linearregler für die Digitalkamera fertig, damit sie mit 12V versorgt werden kann. Standfuß (altes PC-Gehäuse) auf das PTZ-Gehäuse montiert.
  • 2011-09-11: Motortreiberprint in Linz geätzt und zusammengebaut. Test-Programm für Pan- und Tilt-Steuerung über EIA-232 funktioniert. Motortreiberprint eingebaut.
  • 2011-11-00: Festgestellt, dass eine Nikon Coolpix3500 mit libghoto2 nicht auslösen kann ;-( Auf der Suche nach einer anderen Digitalkamera.
  • 2012-07-02: normale Logitech Quickcam Webcam eingebaut, NSLU2 umgebaut, Debian installiert. Alles getestet - funktioniert. :-)
  • 2014-04-20: auf raspberry-pi inklusive raspberry-kamera umgebaut.
  • 2014-06-16: Web-Backend für die Steuerung der Kamera fertiggestellt. Tests abgeschlossen. Sollte somit mal den Status "fertig" haben :-)

Notizen

  • Einstellungen bei 5mm Acryl schneiden: 0.7 oder 0.8 Speed, 100 Power, 1000 PPI
  • Einstellungen bei Acryl gravieren: 26 Speed, 50 Power, 450 PPI (könnte aber noch weniger Leistung / mehr Speed sein)

SourceCode

on request: User:Locutus

Fotos

Downloads

  pan-tilt-zoom-webcam_v1.0.tar.gz (1,9MB)
eagle-Dateien
  motortreiber_ptz-webcam_c.tar.gz (2,4KB)
C51-sourcecode

Links