www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sony LANC Auswertung mit AVR


Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich suche ja seit längerem nach der Möglichkeit, eine Sony Kamera
per AVR zu steuern. Leider bisher ohne grossen Erfolg (Was die
Recherche betrifft).

Nun habe ich aber ein Projekt zur Auswertung des LANC Singnals mittels
PIC gefunden. Da ich in Assembler noch totaler Newbie bin, wollte ich
fragen, ob mir jemand den Code erklären, resp. auf den AVR zb. 2313
übersetzen kann.

Mit dem Code ist es möglich für eine Sony Kamera ein Tally (Rotlicht
bei Record) zu bauen. Das will ich doch unbedingt mal ausprobieren.

Die Anleitung: http://www.exit-exit.de/electron/cameye.html
Das ASM File:  http://www.exit-exit.de/electron/cameye.asm

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...ich hab jetzt auch schon einige Zeit damit zugebracht, hier eine
bereits vorhandene Lösung zu finden.
Bislang ohne Erfolg.

Was ich genau suche, wäre eine einigermassen gut dokumentierte
Assembler-Vorlage.

Problemstellung ist, das ich mit meiner Sony DSC-F828 gerne
Präzisionsaufnahmen bewegter Objekte machen möchte.
Also mit Lichtschranke und einstellbarer Auslöseverzögerung.

Ungelöst ist für mich lediglich der LANC-Teil. Wäre toll, wenn ma da
auf irgendwas zurück greifen könnte, und nicht von vorne anfangen
müsste.

VG
Ralf

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vor diversen Jahren (als HI-8 noch State-of-the-art war;~1990er) gab es
dazu auch mal einen Artikel in der ct'...
@Ralf: Wo ist denn das Problem? Lanc ist eine 1-Wire-Schnittstelle mit
9600baud...

Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rahul

Tja, da ist es schon. Mit AVR programmieren bin ich da eben noch nicht
so weit. Hab bis jetzt eben nur per RS-232 gesteuert. Und weiss nicht
wie das mit 1-Wire funktoiniert, resp. was das geanu bedeutet. Das
Protokoll haetten wir ja oben in meinen Beitrag.

DAnke fuer deine Hilfe Simon

Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier eine deutsche Beschreibung des Lanc Protokolls:

http://www.boehmel.de/protocl.htm

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rahul

Tjy, das problem ist, das ich ncht sicher bin wie ich anfangen soll.
Wie bekomme ich die 8 Byte Kommandos Bitsynchron?

Nehme ich einen Timer und programmier ein stares Zeitgerüst oder werte
ich die Flanken der Signale aus und nehme Interrupts?

Hmm... ich bin leider noch etwas am Anfang. Tut mir leid wenn ich blöd
frage, aber ich hab erst vor 4 Wochen mit nem ATMEGA8 und Assembler
angefangen. Dokumentierter asm quelltext ist für mich einfach die
ideale Basis um was zu lernen.

VG
Ralf

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Saugeil!

Das ist doch quasi genau das, was ich gesucht habe. Jetzt muss ich nur
noch entscheiden, mit welchem Quarz ich den Atmel betreiben möchte, und
Timer/Counter/Prescaler/Interrupt entsprechend anpassen.

Ich seh schon: das kommende Wochenende ist gerettet! :-)

Hab vielen Dank Rahul!

Autor: Simon Schmid (simschmid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann, viel vergnuegen. Bitte berichte uns dann von deinen Wochenend
erlebnissen:)

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das interessiert mich auch...

Autor: Jörn-h. G. (joern_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ralf,

ich muß dich enttäuschen - das wird nichts.
LANC nimmt nur alle 20ms (bei NTSC 16,6ms) Befehle entgegen - das wird
durch die Kamera vorgegeben (getaktet).
Deine Auslösung wäre also bis zu 20ms ungenau.
Rechne mal aus, wieviel da ein Tropfen z.B. fällt.

Zudem ist der Weg bei sowas sowieso ein anderer:
Blend auf und dann den Blitz fernsteuern, das ist sehr viel schneller
und exakter!

Du kannst dir zumindest für dieses Ziel die Arbeit sparen - das
Ergebnis wird dich nicht gerade begeistern.

Wenn du langsamere Dinge erwischen möchtest, kannst du es ja mal
ausprobieren.

Aber wie gesagt, zwischen den einzelnen LANC-Befehlspaketen kannst du
keine Auslösung erwirken - das geht nur, wenn die Kamera dich quasi um
einen Befehl "bittet".

Bei allen anderen Kameras, die nur über einen Kontakt auslösen (Canon
20D, 350D, Nikon, usw) geht es auch per Auslöser, denn hier gibt es
nicht so ein "komisches" Protokoll.

jörn

Autor: Jörn-h. G. (joern_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, Pferde, Elefanten, Löwen usw. sind natürlich kein Problem
(solange du sie nicht von einem Dach wirfst und sie unbedingt
unmittelbar vor dem Aufprall 1cm über dem Boden ablichten willst.

Mit "Blende auf" meinte ich natürlich folgendes:
lange Belichtungszeit wählen, ausreichend vorher auslösen (also lange
genu, bevor der Gegenstand im Bild auftauchen kann) und dann die
Belichtung (im dunklen Zimmer) mittels kurzem Blitz machen.

Damit es nicht noch komplizierter wird, als (wegen der Sony Kamera
ohnehin schon) würde ich an deiner Stelle einen Standardblitz nehmen,
der einfach zu triggern ist (und keinen "intelligenten" von Sony).

jörn

Autor: Dougie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jörn,

DAS ist ja mal ein wirklich extrem guter Einwand... hmmmm...

Da wäre ich wahrscheinlich erst mal eine ganze Weile in die falsche
Richtung gelaufen.
Ich hab mich inzwischen mal mit meinem Scope zwischen meine Sony und
die Fernbedienung am Stativ geklemmt.
Folgende Werte konnte ich so in etwa erkennen:

Länge eines Pakets (8 Bit) so etwa 9ms
Pause zwischen den Paketen so etwa 7,8 ms

Leider kenne ich die Signalform nicht, wie die Bits übertragen werden,
aber generell sollte es doch möglich sein, dies mit nem ATMEGA8
nachzubilden, oder?

Das mit der 20ms Ungenauigkeit ist natürlich ein Punkt.... Schade...
wär ja auch zu einfach gewesen. Aber etwas experimentieren würde ich
dennoch gerne. Eine Fernauslösung mit ein paar Metern Kabel wäre ja
auch erst mal ganz nett zum "spielen".
Du scheinst dich schon ne Weile mit LAN-C beschäftigt zu haben,
könntest du mir das Bit-Timing für eine 1 und eine 0 mal mitteilen?

Vielleicht hast du ja sogar schon ein Assembler Code Schnipsel, was ich
studieren kann?

Jedenfalls schon mal vielen Dank für den Tipp!!

VG
Ralf

Autor: Markus Zintl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab es über den USART gemacht ... Framesync und bitsync über timer
und ext. Interrupt (Startbiterkennung über den IRQ)

leider ist das ganze in nen grösseres projekt hineingewurschtelt und
deshalb net vorzeigbar ;)

Autor: Dougie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...ich würde mich auch über Mail freuen und niemandem was sagen :-)

dougie@gmx.de

Autor: Markus Zintl (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich hab mal die entscheidenden teile extrahiert (versucht) ... is net
gut programmiert aber funzt (aber vielleicht von hinten durch die brust
ins auge geschossen)

ATMEGA 128 mit 16 MHz

Autor: Dougie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super Markus, vielen Dank dafür! .... jetzt muss ich mich nur noch in C
einarbeten ;-) Und dabei hab ich die letzten Monate doch so fleissig
Assembler gelernt...

VG

Ralf

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoch interessantes Projekt unter GPL-Lizenz:

LANC remote controller for stereoscopic camcorders/still cameras
http://www-e2.ijs.si/3dlancmaster/

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

ich möchte auch eine Auswertung des LANC-Protokolls durchführen um 
anzuzeigen ob die Kamera aufnimmt (ggf. Aufnahme verstarten). Hat jemand 
von Euch eine Lösung in Assembler da ich leider kein C kann und auch 
noch ATMega-Anfänger bin.

Gruß,
Thorsten

Autor: L.D. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Tag Forum

Ich habe eine Auswertung Sony/LANC mit C/Attiny84 hinbekommen. Nachdem 
für den Fragesteller das Thema sicherlich nicht mehr aktuell ist, würde 
ich aber interessierten meinen funktionierenden, nicht formatierten und 
nicht kommentierten Code zur Verfügung stellen. Das Programm befindet 
sich noch im Experimentierstadium, und zwar aus folgendem Grund:

LANC braucht 3 Leitungen: Grnd,Vcc (bei mir 5,5V)  und Signal

Mein Camcorder geht vom Stdb-Modus nach einiger Zeit in den Ruhezustand. 
In diesem ist das Lanc-Protokoll ausgesetzt, die Anschlüsse werden aber 
noch überwacht. In diesem Zustand führt das Signalkabel etwa 1,8+V gegen 
Grnd und Vcc, gemessen mit Multimeter. Die Kamera lässt sich wieder 
aufwecken, indem das Signalkabel einige Zeit auf Grnd gehalten wird.

Da ich die Anwendung beim Gleitschirmfliegen benutzen möchte, wird die 
Handhabung mit EINEM Taster und Rückmeldungs-LEDs auskommen müssen.

Wie kann ich mit EINEM Taster im Ruhezustand ohne Versorgungsspannung 
das Signal auf GRND legen, während der Taster ansonsten mit 
Versorgungsspannung bei Betätigung das Signal in Ruhe lässt.

Relais? Transistoren Verarmungstypen?DOCH einen 2. Taster? 3. Hand? 
Tandemfliegen?

Kann mir jemand Helfen?

Gruß von Lutz

Autor: L.D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Morgen Forum

Hier die Lösung, Controller wird im Ruhezustand über Signalkabel 
versorgt:
http://webs.uolsinectis.com.ar/nancy/pic/zoom_de.html

Gruß von Lutz

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.