Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

1

Freitag, 21. November 2008, 20:29

Steuerbare Webcam mit Servocontroller und Objektiv

Hallo!
Nun wollten wir auch endlich mal zeigen was wir hier mit Hilfe aus dem Forum nun als letztes mit der NSLU2 angestellt haben, nicht zuletzt um auch einmal etwas zurückgeben zu können.



Unsere Kameras wurde ja vor über 1 1/2 Jahren mit Hilfe vor allem von Trapperjohn und dem Forum hier eingerichtet und funktionieren einwandfrei. Bei mir ist sie seit 1 1/2 Jahren pausenlos auf dem Dach wasserdicht verpackt in Funktion und läuft bestens.
Da mein Bruder nun umgezogen ist - mit Blick auf einen großen deutschen Flughafen - haben wir überlegt wie man die Kamera an der NSLU drehen könnte. Das Ergebnis war dann die Verwendung eines Servos.. Das ganze endetet hinterher allerdings mit 3 Servos :-) .
Das ganze wird über einen Microcontroller gesteuert, den wir allerdings bereits fertig programmiert gekauft haben (MIC800) (Danke noch einmal an Stone). Lediglich die Platine und die Mechanik mussten wir noch selber aufbauen. Mit diesem Microcontroller lassen sich 8 Servos ansteuern und das ganze wird von der NSLU seriell angesteuert. Hierfür haben wir wieder wie auch für den Temperatursensor einen USB-seriell-Adapter (Digitus) verwendet und das ganze lässt sich nun über eine ssh-Verbindung steuern.

Die Mechanik:
Ich habe mir eine ganze Weile Gedanken über eine mögliche Lösung gemacht, bis ich zufällig eine defekte Festplatte im Abstellraum in die Finger bekomme habe. Wichtig war mir, daß das ganze möglichst spielfrei aufgebaut wird, damit nichts wackelt. Ich habe also die gute Lagerung der Festplatte benutzt und wie auf den Bildern zu sehen ist, einfach die Kamera mit Sockel montiert. Es fand sich ausreichend Platz für alle Teile. Nachdem das Schwenken der Kamera erledigt war, wollten wir noch die Höhe verstellen können und so bauten wir einen Sockel unter die Alu-Platte, in den wir dann einen Exzenter mit Servoantrieb eingebaut haben. Es stellte sich allerdings heraus, daß auf Dauer die Hebemechanik entlastet werden sollte und deshalb haben wir hinter der Drehachse eine Zugfeder befestigt, die durch den Sockel hindurchgeführt ist und kaum sichtbar ist.
Da der Flughafen für die verwendetet Kamera immer noch recht weit weg ist, haben wir eine Fernglas geopfert und eine Hälfte davon direkt an der Kameralinse montiert. Da wir die Möglichkeit hatten die Schärfe mit der vorderen Linse verstellen zu können, haben wir an dieser auch noch einen Servo montiert, so daß nun bei unterschiedlichen Entfernungen das Bild immer in der Schärfe reguliert werden kann. Die komplette ontroller-Platine ist ebenfalls im Sockel integriert.

Ein Problem gab es jedoch mit den Servos:

Der Servo für das Schwenken der Kamera war zu schnell. Bei dieser Geschwindigkeit hätte es nicht lange gedauert bis etwas ausgeschlagen oder abgebrochen wäre. Daher haben wir einfach einen Widerstand (27Ohm) vor den Motor gesetzt, wodurch die Leistung mekrlich reduziert werden konnte. Hierfür musste der Servo jedoch geöffnet werden. Eine andere Möglichkeit wäre ein Getrieb gewesen, allerdings hätte sich dadurch das Spiel wieder erhöht und da der Servo aureichend Drehmoment entwickeln kann, war diese Lösung sehr passend. Bei noch kleineren Servos würde das Drehmoment sicherlich zu gering werden.

Außerdem musste das USB-Kabel von der Kamera gegen ein flexibleres ersetzt werden, denn das original-Kabel ist zu starr.

Das letzte Problem ist die Ansteuerung über SSH:
Momentan können wir nur per "picocom" die Befehle zur Verstellung an die serielle Schnittstelle übertragen. Die einfachste Möglichkeit in der Form:

echo "sb10" > /dev/TTYUSB1

ist derzeit noch nicht möglich, da hierfür die Port-Einstellungen noch nicht korrekt sind.
Später soll dann über eine Weboberfläche die Steuerung über Buttons möglich sein.

Zur Steuerung:
Die Steuerbefehle für den MIC800 sind im Prinzip sehr einfach. Für unseren Fall haben wir folgende Wertebereiche zur Verfügung:

vertikal: 35 Grad in 145 Schritten
horizontal: 45 Grad in 110 Schritten
Linse: 10mm in 80 Schritten

Die Übermittlung erfolgt in folgender Form:
Zuerst ein 'S', dann der Kennbuchstabe für den Kanal (A, B, C) und danach ein Wert für die anzufahrende Position.
Also 'SA10' -> Kamera fährt nach links oder 'SB145' -> Kamera kippt nach ganz oben.

Das System ist nun seit einem Monat im Betrieb ohne Fehler :)

Bilder:

Kamera ohne Objektiv. Der Ausschnitt ist jetzt mit Objektiv voll zu sehen.


Mit Objektiv








Der Exzenter:








Hier der Servo-Umbau:




Und zum Schluß noch ein Video:

http://www.youtube.com/watch?v=X7V3aREBScU&fmt=18


P.S.: Wie kann ich denn das Video direkt einbinden?
[IMG]http://www.youtube.com/watch?v=X7V3aREBScU[/IMG]

Anzeigen

Frieseba

Anfänger

Beiträge: 41

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

2

Freitag, 21. November 2008, 22:33

AW: Webcam mit Servocontroller und Objektiv

Vielen Dank noch für deine Arbeit, ohne die das schöne Teil nun nicht bei mir stünde :D

Anzeigen

ToMa

Fortgeschrittener

Beiträge: 253

Verwendetes NAS-Device: NSLU2

Firmwareversion / your current Firmware: Debian

Wohnort: Ostwestfalen

Beruf: FISI

  • Nachricht senden

3

Montag, 24. November 2008, 09:01

AW: Steuerbare Webcam mit Servocontroller und Objektiv

Hallo!

Zwei Fragen habe ich dazu:
Wie steuerst Du die Servos an, wieviel Kraft haben die Servos?
Deine Kamera auf dem Dach... wie verhinderst Du das Beschlagen der Scheibe?
Oder hast du ein professionelles Kameragehäuse verwendet?

ToMa

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

4

Montag, 24. November 2008, 19:48

AW: Steuerbare Webcam mit Servocontroller und Objektiv

Hallo!
Also der rote Servo zum Drehen liefert in der Urspungsausführung max ca. 28Ncm bei 5V. Ich habe allerdings einen Widerstand zur Leistungsbegrenzung eingebaut. Daher wird das maximale Drehmoment nun wohl weniger als die Hälfte sein. Ich kann das nur empfehlen mit Widerstand, den kann man ja auch selber wählen (ich habe 27Ohm genommen) und so die Geschwindigkeit anpassen.

Der Servo zum Heben ist eher schwächer und hat ca. 10Ncm. Ein kräftigerer wäre aber besser gewesen weil er jetzt nicht mehr viel Reserve hat. Man kann aber auch mit Gegengewicht den Servo entlasten.

Zur Ansteuerung:
Die Spannungsversorgung der Servos erfolgt direkt über die Spannungsversorgung für den Controller mit Pufferkondensator. Die Signalleitungen werden direkt an bis zu 8 Ausgängen des Microcontrollers angeschlossen. Die Ansteuerung erfolgt über PWM-Signal (Pulsweitenmodulation). Das ganze wird über eine serielle Schnittstelle angesprochen mit recht einfachen Befehlen. Der Microcontroller (MIC800 ist nur der Produktname der Firma, die die Software aufgespielt hat) ist ein PIC16F627, der unprogrammiert wesentlich preisgünstiger ist.
Wenn Du noch mehr über den MIC800 wissen möchtest, ich habe hier ein Datenblatt auf französisch bzw. noch mein Platinenlayout (s.o.).

Die Kamera auf dem Dach habe ich in ein selbstgebautes Gehäuse gesetzt aus einer Acrylröhre mit Kunststoffdeckel und -boden. Das ganze ist jetzt optisch kein Wunderwerk, sondern rein funktional, passt aber sehr schön zur Sat-Schüssel :-). Abgedichtet habe ich es mit Scheibenkleber aus dem Kfz-Bereich (ein Höllenzeug! - sehr zäh und reißfest, aber flexibel). Die starken Temperaturschwankungen in den letzten 18Monaten haben dem Gehäuse erstaunlicherweise nichts anhaben können. Das Problem mit dem Beschlagen habe ich einfach mit einem kleinen Beutel "Silikagel" behoben, der eigentlich immer in Verpackungen von technischen Geräten enthalten ist. So sollte nun keine Luftfeuchtigkeit mehr im Gehäuse sein. Ich habe das Gehäuse schwarz lackiert, damit es nicht so auffällig auf dem Dach ist, damit sich niemand gestört fühlt.


Hardflip

Anfänger

Beiträge: 16

Firmwareversion / your current Firmware: Unslung 6.8

  • Nachricht senden

5

Dienstag, 2. Dezember 2008, 23:42

AW: Steuerbare Webcam mit Servocontroller und Objektiv

Bekomm ich den Microcontroller ihrgend woher als Bausatz?

Kann ich damit auch motoren ansprechen oder ehr nicht?

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

6

Mittwoch, 3. Dezember 2008, 23:28

AW: Steuerbare Webcam mit Servocontroller und Objektiv

Hallo!
Also der MIC800 ist nur ein Microcontroller, also nur ein Bauteil. MAn benötigt allerdings noch ein paar Bauteile drumherum, ist aber nichts wildes (ein paar Kondensatoren und Transistoren und Dioden.. Mein Platinenlayout (s.o.) könnte ich Dir aber schicken mit Stückliste).
Der MIC800 kostet allerdings ca. 20€ und ich habe ihn nur in Frankreich gesehen. Ich konnte aber einen gebrauchten aus Deutschland bekommen.
Guck doch sonst mal im Internet nach PIC Servocontroller. Da gibt es einige Seiten, wo Leute solche Microcontroller zum Servocontroller programmiert haben. Evtl. kann man da einen bekommen, oder eben aus Frankreich mit Porto für 30€.. Das ist das ärgerliche!!

Benutzen kann man den nur für Servomotoren, da die mit einem PWM-Signal angesteuert werden (vereinfacht gesagt, ein Rechtecksignal mit verschiedenen Längen für high/low je nach Stellung).
Was für einen Motor meinst Du denn? Einen normalen Gleichstrommotor? oder einen Schrittmotor? Einen Gleichstrommotor könnte man evtl. dann doch mit einem MIC800 steuern wenn man einen Regler aus dem Modellbaubereich nimmt, der wird auch mit PWM-Signal gesteuert, aber zum Anfahren einer Position wird das sicher unpraktisch sein. Ansonsten müsste man sich einen Microcontroller selber programieren für so etwas.

Kannst ja mal bei http://www.mikrocontroller.net gucken und nach Servocontroller suchen. Da wirst Du evtl. was passendes finden.. Also ich habe mit den Microcontrollern noch nicht so viel Erfahrung und bisher nur kleine PICs programmiert. Für Servocontroller programmieren reicht es leider noch nicht aus :o...

gznw

Fortgeschrittener

  • »gznw« ist der Autor dieses Themas

Beiträge: 158

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

7

Sonntag, 11. Oktober 2009, 12:51

AW: Steuerbare Webcam mit Servocontroller und Objektiv

So, kleines Update:
Gestern habe ich es herausbekommen, wie man mit echo zuverlässig über den Digitus USB-Seriell-Adapter die Steuerbefehle senden kann. Es war vorher so, daß es immer nur das erste Mal ging und danach nicht mehr. Lange Zeichenketten konnten ab und zu übermittelt werden - alles sehr unzuverlässig..
Mit Picocom hingegen war es problemlos machbar, allerdings kann man picocom ja nur für die direkte Eingabe benutzen - für automatisierte Abläufe also ungeeignet.
Dann habe ich es mit |socat umgesetzt.. Hier wurden aber auch nur lange Zeichenketten übertragen, so daß ich nach dem entscheidenden Steuerzeichen noch ca. 30 weitere Zeichen übertragen musste, damit hinter dem USB2seriell-Adapter etwas ausgeben wird.
Nun bin ich zur Zeit damit beschäftigt ein Dot-Matrix-Display an der NSLU anzuschließen und dabei sollten natürlich definierte Zeichenketten übermittelt werden und nicht zufällige. Also musste eine andere Lösung her.. Sie ist eigentlich zu einfach dafür daß ich schon so lange danach gesucht habe:

- Im Hintergrund (z.B. mit screen) das programm picocom mit den entsprechenden Parametern laufen lassen...

Das ist alles! Ab nun kann ich hier auch einfach
echo "1" > /dev/ttyUSB0
durchführen und es erscheint auf dem Display!
Ich wollte dies nur mal schnell schreiben, falls noch einer nach einer Lösung sucht.. Es geht super.. auch wenn es irgendwie nicht so der saubere Stil ist :o

Social Bookmarks