PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Optische Positionierung



Ben G
06.12.2015, 13:33
Ich bin neu hier und bräuchte Bitte Hilfe.
Ich schreibe gerade meine Bachelorarbeit. Ich habe leider wenig Erfahrung mit Sensoren.
Ich würde die Position eines kleinen Autos bestimmen und zwar: durch LEDS .
-Auto fährt vorbei
1-Leuchtdiode sendet Licht(gesteuert von Arduino)
2- Licht wird durch Photodiode empfangen(Photo Diode ist an dem Auto fixiert)
--> Send- Empfang Diode
3- Die Positon von der Led wird durch einen Code im Licht übermittelt (durch Arduino gesteuert).
4- Daten werden von der Photodiode zu Raspbeer Pi gesendet und die Position gespeichert.
Fragen:
1-Glaubt Ihr, Ob das Projekt funktionieren wird?
2-Wie wird der Code durch Licht gesendet?
3- wie kann ich testen,Ob die Photodiode Licht empfangen hat?
4- Bräuchte ich eine Schaltung für die Photodiode?
Danke im Voraus.

ranke
06.12.2015, 17:20
Hallo Ben G,


Ich schreibe gerade meine Bachelorarbeit

Was studierst Du denn? Ich frage, weil ich ein wenig Dein Vorwissen einschätzen will, man weiss ja nie wie ausführlich man bestimmte Sachen erklären soll.


1-Leuchtdiode sendet Licht(gesteuert von Arduino)
2- Licht wird durch Photodiode empfangen(Photo Diode ist an dem Auto fixiert)
--> Send- Empfang Diode
3- Die Positon von der Led wird durch einen Code im Licht übermittelt (durch Arduino gesteuert).
4- Daten werden von der Photodiode zu Raspbeer Pi gesendet und die Position gespeichert.

Sowie ich das verstehe soll im bewegten Objekt ein Lichtsensor das Licht von feststehenden Baken empfangen. Aufgrund des empfangenen Signals soll eine Abschätzung der Position des bewegten Objekts in Bezug auf die Baken getroffen werden. Wo befindet sich der Raspberry, im Auto? Was ist mit "Send-Empfang Diode" gemeint?

Zu Deinen Fragen:
1. hmmpf... Beim gegenwärtigen Kenntnisstand will ich mich da noch nicht festlegen.
2. Durch Ein- und Ausschalten der LED in einem typischen zeitlichen Muster.
3. und 4. Wenn die Frage auf die elektrische Schaltung abzielt, der Wikipedia Artikel (https://de.wikipedia.org/wiki/Photodiode) ist ein ganz guter Einstieg. Falls die Feinheiten der Schaltungstechnik nicht so Dein Ding sind, könntest Du Dir auch integrierte Fotoempfänger ansehen, wie sie für den Empfang der Signale der IR-Fernbedienungen in brauner Ware verbaut sind. Für die Erzeugung eines individuellen Codes gibt es auch entsprechende ICs (eventuell alternativ zum Arduino), ebenso zum Empfang und Dekodierung.

i_make_it
07.12.2015, 05:43
1-Glaubt Ihr, Ob das Projekt funktionieren wird?

So zumindest nicht.
Was ist eine Fotodiode? (retorische Frage)
Ein Auge mit einer einzigen lichtempfindlichen Zelle.
Man kann feststellen ob Licht da ist oder nicht und wie hell das Licht ist.
Man kann nicht die Position der Lichtquelle bestimmen. (selbst von der Rückseite, da wo die Kontkte sind, nimmt eine Fotodiode Licht war)



2-Wie wird der Code durch Licht gesendet?

Ein, Aus.... man hat eine (1 Stück) LED (Sender) also kann man Code (Daten) seriell senden. Man hat also die Wahl zwichen allen existierenden, binären, seriellen Kodierungen.
Sei es Morsecode, RS232, oder was auch immer.



3- wie kann ich testen,Ob die Photodiode Licht empfangen hat?

????
z.B. mit einem Osziloskop.
Oder am Arduino mit "analogRead" und z.B. seriellem Monitor für die Anzeige der Analogwerte am Computer.
http://www.robotiklabor.de
Der Herr bietet den Download aller Quellcodes aus seinem Buch "Roboter bauen mit Arduino" an.
Da gibt es dann: "Spannung_messen1.ino".
Das macht genau das: Analogwert einlesen und per seriellem Monitor ausgeben.
Man muß also nur noch die Photodiode anschließen und hat schon seinen Testaufbau.



4- Bräuchte ich eine Schaltung für die Photodiode?

http://www.marc-schaffer.ch/data/Arduino101.pdf
Seite 29.

Also ich befasse mich jetzt seit 3 Tagen (seit 4.12.) mit Arduino und habe unabhängig von meinem Vorwissen alles was ich brauche per Google gefunden.

Auf Seite 35 des selben Dokuments ist dann auch die Beschaltung einer LED (zum senden) zu sehen.

Peter(TOO)
08.12.2015, 11:21
Hallo,

Du solltest die eigentliche Aufgabe mitteilen und nicht nach Details deines, möglicherweise falschen, Lösungsansatzes.

So eine codiert blinkende LED ist wie ein Leuchtturm. Wenn man mehrere davon hat, weiss man nur welche man gerade sehen kann.

Die Seefahrt hat dann eine Karte in welcher die Leuchttürme eingezeichnet sind. Durch Triangulation von mindestens zwei Leuchttürmen kann man dann seine genaue Position errechnen.

MfG Peter(TOO)

Ben G
14.12.2015, 15:54
Hallo Erst Mal, Vielen Dank für die zahlreichen Antworte!.
Ich habe mich für Infrarote LED die Fest an einem Arduino verbunden ist. Das Licht von LED wird von einem Phototransistor empfangen. Ich studiere immer noch die Schaltungen . Das Projekt habe ich schon im Internet gefunden. Das Problem wäre der Abstand ist zu klein. Ich bräuchte ungefähr 60 cm .
http://www.memol.de/?p=59
Glaubt Ihr, Ich kann das Signal mehr verstärken. Ist die Schaltung sinnvoll !!?
Danke im Voraus
Vielen Dank für die Links .
Ben-G

ranke
14.12.2015, 16:20
Was studierst Du denn?


Ich studiere immer noch die Schaltungen

Darauf wollte ich eigentlich nicht hinaus mit meiner Frage.


Das Problem wäre der Abstand ist zu klein. Ich bräuchte ungefähr 60 cm

Schau Dir die IR-Fernbedienung eines Fernsehers an, dann siehst Du was geht. Allerdings nicht mit der Empfängerschaltung aus dem Link von memol.de weil die auch auf alle anderen Lichtquellen reagiert.
Je nach Umgebungsbedingungen ist aber das Licht von Störquellen wesentlich intensiver als das der LED, es braucht also Kunstschaltungen um das eigentliche Nutzsignal zu erkennen. Wie bereits erwähnt, können Empfänger für LED Fernbedienungen (http://www.vishay.com/docs/82459/tsop48.pdf) da nützlich sein, weil da schon einiges an Elektronik drinsteckt um das unerwünschte Störlicht wegzufiltern.

i_make_it
15.12.2015, 05:56
@ Ben G: unabgängig von Störung durch Fremdlicht, gelten natürlich die Gesetzte der Optik.
Man kann auch mit blosem Auge ein Objekt das so weit entfernt ist wie die Andromeda Galaxie, nicht erkennen.
Lichtschranken die 50 Meter schaffen gibt es durchaus, da sollten 0,6 Meter auch möglich sein.
https://www.conrad.de/de/kemo-ir-lichtschranke-50-m-b213-bausatz-empfaenger-12-vdc-sender-9-vdc-117536.html
Und auch die Fernbedienung meines Fernsehers schafft problemlos die 4 Meter vom Sofa aus.

Jetzt würde mich tatsächlich auch interessieren welches Studienfach Du da belegst.

Peter(TOO)
15.12.2015, 07:04
Hallo Ben-G,

Willst du jetzt die Position bestimmen oder Daten übertragen?????


http://www.memol.de/?p=59
Glaubt Ihr, Ich kann das Signal mehr verstärken. Ist die Schaltung sinnvoll !!?
Nicht wirklich.
IR ist Wärmestrahlung, diese gibt z.B. die Sonne ab, aber auch die Heizung.
Wie du selbst ganz einfach merkst, ist die Leistung einer IR-LED eher gering, bei einer IR-LED kannst du die Wärme nicht spüren, bei der Heizung schon :-)
Allerdings geben Heizung und Sonne die Strahlung recht kontinuierlich ab.

Der Trick ist nun, dass man die IR-LED pulst, praktisch macht man das mit Frequenzen um 40kHz.
Technisch kann man dann diese 40kHz ausfiltern, mehr oder weniger egal, wie gross die dauernde Leistung durch die Heizung gerade ist.

Wie schon geschrieben wurde, macht das die TV-Fernbedienung auch so, weshalb es für den Empfänger fertige ICs gibt, welche die Photodiode, Filter und Verstärker schon enthalten.
Die meisten dieser Empfänger sehen wie ein IR-Photodiode aus, haben aber meistens 3 Anschlüsse.

MfG Peter(TOO)

Ben G
12.01.2016, 14:43
Hallo Leute,
Danke nochmal für die zahlreichen Antworte. Ich studiere Elektrotechnik/Elektromobilität. Ich habe Embedded System abgewählt, deswegen kenne ich mich nicht so gut beim Mikrokontroller aus .
Ich habe das Projekt mit Arduino und die Fernbedienung gemacht, es war sehr einfach erklärt und könnte mit der Fernbdienung den Code in dem Seriellen Monitor ablesen. Nun wollte ich den Code mit einer IRLED senden.
Dafür habe ich den Link hier auf Englisch verwendet. https://learn.sparkfun.com/tutorials/ir-communication
Für den Receiver gibt es fertige Module. Soll ich für den Sender eine Schaltung bauen ? sowie im Bild hier
https://cdn.sparkfun.com/assets/5/1/4/a/3/51153f0dce395f773f000005.gif
Ich habe versucht einen Einfachen Code zu senden. Es hat leider nicht geklappt.

i_make_it
12.01.2016, 15:39
Entweder so
https://cdn.sparkfun.com/assets/5/1/...773f000005.gif (https://cdn.sparkfun.com/assets/5/1/4/a/3/51153f0dce395f773f000005.gif)
oder anstelle von 5V am Strombegrenzungswiederstand, schon einen 38kHz Oszilator (z.B. mit LM555) und den Strombegrenzungswiederstand entsprechend kleiner (bei 50% on time fast halbieren)
Und am Portpin nicht ein 38kHz Signal an und ausschalten sondern nur noch die Hüllkurve schalten (das Selbe was beim Empfänger auch rauskommt)
Vorteil ist, das Du die Sendeleistung durch den kleineren Strombegrenzungswiederstand maximieren kannst, aber kein Risiko läufst bei einem Programmfehler die IR-LED zu zerstören in dem du sie statt mit 38kHz mit einem dauer high Pegel ansteuerst.

Ben G
05.04.2016, 13:54
Die Schaltung mit einem Mosfet hat super geklappt!!! Ich kann den IR Code von der Bibliothek (https://github.com/z3t0/Arduino-IRremote/blob/master/IRremote.h) senden und empfangen.Der Professor will, dass ich meinen eigenen Code schreibe. Ich habe es nicht mal geschafft die Header IRremote.h Datei mit Arduino programm zu lesen. Weiß jemand wie ich das machen könnte?

Rabenauge
05.04.2016, 15:32
Hm, eigentlich müsst es mit der IDE aber auch klappen.
Nimm einfach Notepad, Notepad++ oder _irgendeinen_ anderen Texteditor.

Ben G
05.04.2016, 16:18
Ich werde es herunterladen! Danke

i_make_it
05.04.2016, 19:18
Ich verstehe die Frage, aber wo ist das Problem?

31486
Ein neues Arduino Projekt
mit einem #include "IRremote.h" abgespeichert.
dann eine Textdatei mit Namen "IRremote.h" in dem Ordner erstellt und im Notepad den Quellcode von der Seite einkopiert.
Dann abspeichern. und das Arduino Projekt öffnen.

Ben G
06.04.2016, 13:45
Danke . Es hat sich erledigt. Hab leider wenig Wissen mit Microcontroller :)

Ben G
10.04.2016, 14:20
Hallo Zusammen ,
Für die Bachelorarbeit würde ich ein PWM Signal/ Code durch eine Infraote LED und das durch ein IR Modul Empfänger empfangen. Ich habe es durch die Bibliothek von Herr Sherrif IRremote.h geschafft.
Das Problem war, dass ich immer einen bestimmten Code von Sony oder NTC... gesendet habe. Für meine Bachelorarbeit würde ich nur eigenen 3 oder 4 PWM Signale oder Code senden und empfangen. Kann Jemand mir was empfehlen bzu helfen?