Bewegungsschranke

Hallo,

nachdem ich 30min. die Suche vergeblich gequält habe, erlaube ich mir mein Ansinnen vorzutragen :blush:

Ich bräuchte eine "Bewegungsschranke" also etwas, daß wenn sich etwas durch die "Schranke" hinndurch beweg ein "Signal" an das Arduiono-Board (UNO) meldet.

Also ich will z.B. etwas fallen lassen und wenn das Objekt durch die "Schranke" fällt wird das "Signal" ans Board gemeldet (so als ob man einen Taster drückt).
Das ganze sollte recht zügig funktionieren, also im ms Bereich.

Mit welchen "Teilen" kann ich das realisieren? Die Breite der Lichschranke sollte max. 100cm betragen.

Es käme z.B. ein Laser mit einer Photodiode/-transistor in Betracht, kommt etwas auf die Genauigkeit an, die Du brauchst. Einfache Setups sollten aber auch mit einer Infrarot-LED und einem Infrarot-Phototransistor möglich sein.

Würde das ganze auch mit einer Photozelle gehen?

http://www.conrad.de/ce/de/product/154029/Sehr-schnelle-PIN-Fotodiode-Osram-Components-SFH-203-P-Gehaeuseart-T-1-34-Abstrahlwinkel-75-400-1100-nm/?ref=no_search_results&rt=no_search_results&rb=1

Ja, das ist eine Photodiode, laut Datenblatt schaltet sie in 5ns, somit mehr als ausreichend.

Reicht die Photozelle "alleine" oder muss ich auf der gegenüberliegenden Seite auch noch irgendetwas "befestigen"?

Natürlich musst Du noch eine Lichtquelle haben, in meiner Erfahrung eignen sich für grössere Abstände Laser sehr gut. Da Du eine Weitbereichs-Photodiode im Auge hast, musst Du evtl. in einem abgedunktelten Raum arbeiten, damit die Diode nicht schon vom Umgebungslicht durchschaltet. Bei der Verwendung von einem Laser kannst Du noch einen Filter vorschalten, damit nur eine Teilmenge des Lichts durchkommt (der Laser ist intensiv genug) und damit den Schaltpunkt relativ genau festlegen.

Ne, also abgedunkelt kann ich da nicht arbeiten...

Ich brauche eine "Schranke" die bei Tageslicht erkennt, ob etwas "durchfällt".

Oder eben eine "Laserschranke" die "auslöst" wenn der Laserstrahl kurz unterprochen wird.
Wobie das "Teil" das dann die "Laserschranke" durchbricht schon ziemlich genau fallen müsste.

Bitte weitere Vorschläge - Danke.

Ein paar Freunde von mir haben das hier http://www.conrad.at/ce/de/product/585418/Quadratische-Lichtschranke-Contrinex-LLK-5050-000-Einweg-Lichtschranke-Sender-Reichweite-15000-mm für einen Fallversuch benutzt, die Entfernung zum Veruschsobjekt durfte da aber leider nicht all zu groß sein.

Oder eben eine "Laserschranke" die "auslöst" wenn der Laserstrahl kurz unterprochen wird.
Wobie das "Teil" das dann die "Laserschranke" durchbricht schon ziemlich genau fallen müsste.

Wieso genau? Es muss nur genügend gross sein, aber je breiter eine Lichtquelle streut, desto schwerer wird die Erkennung von kleinen Objekten.

Es dürfte an der Zeit sein, dass Du etwas mehr über Dein Projekt verrätst. Bis jetzt wissen wir nur, dass Sender und Empfänger der Lichtschranke ca. 1m auseinander sind und dass Du das bei Tageslicht machen willst. Was fällt denn da runter? Wie gross ist es? Wie breit soll der Fallkorridor sein? Gäbe es die Möglichkeit, mehrere Laser und Photodioden aufzustellen, um einen breiteren Bereich abzudecken?

Wie an dieser Stelle diskutirt wurde Steuerung von Ventilen und Kamera für TaT-Aufnahmen - Deutsch - Arduino Forum will ich das ganze für das Fotografieren von "runterfallenden" Objekten verwenden.

Die eine Möglichkeit ist, das ganze per Taster zu starten.
Eine andere Möglichkeit ist, das ganze per "Lichtschranke" zu starten.

Wobei das ganze später nicht nur für Wassertropfen, sondern für alles was "runterfällt" verwendet werden soll.

So möchte ich z.B. ein runterfallendes Ei fotografieren, wenn es auf dem Boden aufprallt. Die Steuerung, wann die Kamera auslösen soll, erfolgt dann dabei durch die Lichtschranke:
Aktivierung der Lichtschrkanke durch "durchfallen" des Eis + x ms (die natürlich noch zu ermitteln währen) = Aufprallzeitpunkt = Aufnahme

Genau für solche Sachen eignet sich die Laser-Schranke sehr gut. Auch das "genaue" Fallenlassen sollte eigentlich kein Problem darstellen. Oder übesehe ich etwas?

pylon:
Genau für solche Sachen eignet sich die Laser-Schranke sehr gut.

Darum möchte ich sie ja in mein Projekt mit einbinden. Aber wie bzw. mit welchen Teilen genau "bastele" ich mir jetzt diese Schranke?

Laser-Lichtschranken sind halt sehr genau, du musst auch sehen, dass dein "Ei" direkt durch den Strahlengang fliegt :wink:

Für den Anfang:

Laserpointer, Fotodiode,Rohrstück, Kabel, Befestigungsmaterial.

Entweder du arbeitest mit einem sehr variablen Aufbau, z.b. zwei einstellbare Dreibeine oder du machst nen relativ starren Aufbau, z.B. wie ein "|____|" wobei oben auf den Ecken dein Laserpointer und gegenüber deine Diode sitzt.

Mit dem Rohr kannst du das Umgebungslicht ganz gut abschirmen denke ich.

Erweitern:
Wenn alles funzt, kannst du deinen Laserpointer z.b. mit dem Arduino verbinden, anstatt dem Rohr einen Filter verwenden.
Cool wäre sicherlich auch, wenn man in die Fallstrecke mehrere Sensoren einbaut und so die Beschleunigungsänderung misst.
=> Auch cool für Burst-Aufnahmen!

Oder horizontal ne größere Fläche auf Auslöser beobachten.

Ganz allgemein denke ich, dass hier weniger der Laser/Fotodiode/Elektronik ins Gewicht fallen wird, als die Stative, Optik usw.

Gibt es da irgend etwas "fertiges" was ich an den Arduino "dirket" anchließen kann?
Was ist z.B. hiermit:? http://www.amazon.de/Busch-5962-IR-Lichtschranke/dp/B0002OH8T0/ref=sr_1_1?ie=UTF8&qid=1369723222&sr=8-1&keywords=ir+lichtschranke

Du sagtest doch selber das es über eine größere Entfernung funktionieren soll, daher haben wir hier IR (ungenau und nicht weitreichend) ausgeschlossen. Es gibt bestimmt fertige Empfänger. Hier wäre mal ein Schaltplan, wobei man das Relais nicht benötigt. Wenn man die Widerstände anders auslegt sollte man auch mit 5V klar kommen.

http://mic.hit-karlsruhe.de/projekte/WS07_FT_Lap_Control/data/Datenblatt_lichtschranke.pdf

Jomelo:
Du sagtest doch selber das es über eine größere Entfernung funktionieren soll

Naja, da muß ich mich wohl korrigieren :blush:

100cm = 1m - da hab ich wohl eine 0 zuviel angegeben :blush:

10cm dürften wohl ausreichend sein.

Dann geht das sogar alles noch einfacher und sogar gegen Fremdlicht geschützt.
Ich habe so eine Lichtschranke mit dem Arduino schon einmal gebaut um die Geschwindigkeit eines Kickerball zu messen.

Schau dir mal das Projekt an, im rar Archive im Anhang findest du die Schaltpläne und den Source Code:
Die Theorie steht im PDF Dokument. Das Unnütze kannst du einfach überspringen.

Projektvorstellung: Geschwindigkeitsanzeige am Kicker / Tischfussball

Ist doch ganz arg komplex, dein Projekt... etwas "einfacher" währe mir lieber :blush:

Sender|...Lichtbrücke...|Empfänger ---> Arduino erhält kurzes "Signal" wenn die Lichtbrücke durchbrochen wird (welches die Kamera auslöst)

Sender = Teil x
Empfänger = Teil y
Verdrahtung = ???

Und möglichst mit 5v, damit ich noch noch ein ext. Netzteil benötige.

Also ein bisschen musst du auch selbst machen.

PDF Dokument Seite 17ff

  • Ein Takt Signal für die Infrarot Diode Vorwiderstand 90 Ohm, Signal wird vom Arduino generiert
  • Empfänger: TSOP 31238 mit 5V Versorgen dazu noch eine Diode, ein Kondensator für die Spannungsstabilisierung und zwei Widerstände
  • Ausgangs Signal direkt am Arduino anschließen

Quellcode:

/* Eine Klasse die den Timer 1 des Atmega 328P kontrolliert
 * Die Prescaler Werte sowie andere Register müssen nicht mehr direkt beschrieben werden
 * Quelle: http://www.arduino.cc/playground/Code/Timer1
 */
  #include <TimerOne.h>

// Frequenz Status für die IR Dioden
  unsigned char Frequenz_38kHz_state;  
  unsigned char Light_Mode_State;

 void generateFrequenz_38kHz()
  {
    /* PIN 9 togglen
     * Hier wird mit absicht auf die vereinfachten Arduino Funktionen verzichtet, da diese Funktion 
     * sehr schnell ablaufen muss. (Interrupt)
     * Die orginal Arduino funktion (digitalWrite(9, state)) braucht die doppelte Ausführzeit.
     */
    /* Toggle State */    
    Frequenz_38kHz_state = !Frequenz_38kHz_state;
    /* Set Port */
    PORTB |= (Frequenz_38kHz_state<<PORTB1);        
  }

void Lichtschranke_active(void)
{
  //Verarbeitung des Signals

}

 void setup()
  {
 /* TIMER1 wird zur Frequenzgenerierung für die Lichtschranken verwendet 
  * Generiert 38 kHz Signal für die Lichtschrank
  * Timer 1 initialisieren mit:
  * 1 / 38kHz = 26.32 µs
  * 26.32µs = 38,76 kHz)
  */ 
    Timer1.initialize(26);

 /* Ausgangs Pin Festlegen (PIN 9) und Duty Cycle Wert einstellen
  * Duty Cycle = 50%  (10bit = 1023 => 100%,   512 => 50%) 
  */
 Timer1.pwm(9, 512, 26);
 /* Beim Timer Überlauf wird ein Interrupt ausgelöst.
  * Hier wird die Funktion festgelegt, die aufgerufen wird, wenn der Interrupt ausgelöst wird
  */
    Timer1.attachInterrupt(generateFrequenz_38kHz, 26); 

   Frequenz_38kHz_state = 0;

    /* Interrupts Definieren */
    // du musst das signal vom empfänger direkt hier anschließen:  an interrupt pin 0  siehe datenblatt deines kontrollers
    // sobald das signal den status wechselt, wird die funktion Lichtschranke_active aufgerufen, den rest der Verarbeitung musst du selbst machen
    // nicht jede Lösung ist Umsonst im Internet ... ein bisschen Aufwand musst du selbst leisten. 
    attachInterrupt(0, Lichtschranke_active, CHANGE);
}

void loop() 
{
   /

}