PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erfahrungswerte Infrarotkommuniktion



1093 & 3511
15.12.2006, 00:58
Hallo Rn´ler.

Um mich kurz zu halten : ich kann mich nicht kurz fassen, also bitte nicht wundern...

Ich nehme derzeit an einem studentischen Projekt teil und wir versuchen eine Art Herdenverhalten für eine Roboterschwarm zu implementieren.

Aufgrund eines recht knapp bemessen Budgets sind wir in folge dessen auf den Asuro gestoßen - es ist finanziell sowieso nicht realisierbar ein autonomes System aufzubauen ( siehe flockbots.org o.Ä. ) weswegen wir auf eine rechnergestüzte Fernsteuerung angewiesen sind, die dennoch nicht den finaziellen Rahmen sprengt. Dementsprechend sind wir auf den Asuro gestossen, der immerhin eine Infrarotschnittstelle zur Kommunikation und zur Programmierung mitbringt.

Klar, die Integration eines Bluetooth Moduls wäre denkbar - aber steigert dann die Kosten eines Gerätes gleich auf über 100 €, ein Bluetooth Accesspoint wäre auch von Nöten ... Das würde unsere finanziellen Mittel sprengen. Leider.

Der Informationen aus dem Asurowiki und Ähnlichem konnte ich einige Daten entnehmen. Nun habe ich irgendwas gelesen das die Dioden einen Lichtkegel von ca. 17° hätten ... das ist aber vernachlässigbar, da wir eigentlich eher auf den Reciever angewesen wären.

Dem Datenblatt des verbauten Recievers SFH5110 konnte ich auch einiges entnehmen was die horizontale und vertikale Empfindlichkeit angeht. Hab ich doch richtig verstanden bzgl. horizontal und vertical directivity im Datenblatt des IR Recievers, oder ?

Siehe Seite 8 des Datenblattes http://www.depeca.uah.es/docencia/ITT-SE/lsed2/IR/sfh5110.pdf

Wäre nett wenn mir das jemand erläutern könnte bzgl. der Schwellwerte -

Ebenso ist mir die Modifikation der Reciever / Transmittereinheit zur Hinderniserkennung von Waste bekannt...

Meine Fragen diesbezüglich nun :

Wir wollten mehrere Asuros fernsteuern. Die mitgelieferte IR RS232 Lösung ist ja anscheinend suboptimal. Das Asurowiki gibt bzgl. des Transcievers bzgl. der Schnittstelle etwas von ca. 50cm an.

Wie schaut es mit dem optional erhältlichen USB Transciever aus ?

Mit der Modifikation des Reflektors und der Trennung von Reciever / Transmitter auf der Seite des Asuro sie realisiert hat dürfte sich doch auch die Reichweite zum Transciever verbessert haben, oder ? Er spricht im Thread zum Umbau der IR Schnittstelle von Entfernungswerten von


Eine weisse Wand wird noch in einem Abstand von über einem Meter erkannt. Die Hand in etwa 40 cm. Die AGC im Empfängerbaustein macht keine Probleme. Und das Beste, durch Verringern der Pulsbreite auf der Senderseite kann ich die Empfindlichkeit einstellen. Mit der kleinsten Pulsbreite (125ns) die ich erzeugen kann, wird die Hand anstatt in 40 cm dann in 3 cm erkannt.


Mir ist durchausbewusst das dies darüber realisert ist das der Transmitter ein Signal sendet, welches dann auch noch über eine 1m entfernte Wand an den Reciever reflektiert wird.

Es wurde im Weiteren davon gesprochen das es keine Probleme geben würde mehrere Reciever in Reihe zu schalten, meine Intention wäre ein Rundumblick mittels mehrerer Reciever zu erhalten. Da sich ein einzelner Asuro im freien Raum (ca. 2*2m) bewegen sollte und über Infrarot noch Signale vom Rechner zur Befehlssteuerung empfangen können müsste.

Ich schätze der RS232 Transciever zum Flashen / Kommunikaktion mit dem Asuro ließe sich ja bestimmt auch irgendwie modifizieren, so dass eine größere Entfernung erzielt werden könnte.

Laut Produktspezifikation bei Conrad wären in Verbindung mit einer SFH 4510/4515 bei Betrieb mit I F =500 mA wird eine Reichweite von ca. 30 m erreichbar. ( Damit kann ich aber irgendwie rein gar nichts anfangen. )

Wäre nett wenn mir jemand ein wenig aus dem Nähkästchen berichten könnte, ich bin bisherige eher fit in der BV und CG ... Sensorik und alles Andere um die Thematik Robotik ist noch ziemliches Neuland für mich.

Vielen Dank, alleine fürs lesen ;)

damaltor
15.12.2006, 11:39
sowohl die diode des asuro als auch die diode des transceivers (rs232 und usb) sind mit einem starken vorwiederstand verbunden, deshlab ist die sendeleistung nicht besonders.

bei eimem abstrahlwinkel von 17° und einer maximalen entfernung von ca 1m (geht bei mir gerade so noch) ergibt sich ein SEHR kleines feld in dem der asuro bewegt werden kann (über mehrere asuros wollen wir gar nicht reden =)
es gibt verscheidene möglichkeiten, die sendeleistung erhöhen (jemand hat mal hier ausgerechnet, wie man mehrere dioden anschliessen könnte). aber optimal für die fernbedienung ist das nicht gerade.
es wurde auch eine möglichkeit diskutiert, des asuro mithilfe einer an der decke montierten kamera ferngesteuert wird (dürfte aber auch sehr kompliziert werden).

eine autonome steuerung dürfte schon daran scheitern, dass nur ca 7kb programmspeicher vorhanden sind, besonders komplex kann das programm also nicht werden wenn schon die standartbibliothek (ca 2kb bzw 3kb für die erweiterte) und allgemeine kommunikationsfunktionen mit eingebaut werden sollen.

was allerdings das größte problem sein dürfte, ist die unglaubliche ungenauigkeit des asuro. das ding geradeausfahren zu lassen ist schon sehr schwer, aber dann auch ncoh mehrere und synchron....

wird schwer....

eine reihenschaltung der transceiver kann ich mir kaum vorstellen, maximal evtl mehrere leuchtdioden.

was ich mir spontan denken könnte, währe jedm asuro eine erweiterungsplatine aufzusetzen, mit einem weiteren prozessor, der eine stärkere infrarotkommunikation schafft...

such mal ein bissl, es wurde schon versucht 2 asuros synchron tanzen zu lassen. und sich mal nach dem haus vom nikolaus, da siehst du dann schon was die probleme beim fahren sind...

1093 & 3511
15.12.2006, 17:34
Danke für deine Einschätzung soweit.

Vielleicht habe ich nicht ganz genau ausgedrückt was wir vorhaben.

Das Tracking über eine an die Decke o.Ä. montierte Kamera ist angedacht.
Dementsprechend soll eine Bewegungsplanung nach der Boids Algorithmik von Craig Raynolds erfolgen ( rechnergestützt ) ... wir bräuchten konzeptionell also eigentlich nur einen Rückkanal zur Befehlsübermittlung - es müsste halt keine bidirektionale Kommunikation über die Infrarotschnittstelle stattfinden, eine Richtung wäre ausreichend.

Dementsprechend ist mir bewusst das ich die Schnittstelle auf Transcieverseite des RS232 / USB Adapters in ihrer Leistung steigern müsste - also ggf. durch eine Schaltung in Reihe oder alternativ durch die Erhöhung der Spannungsversorgung der Leuchtdiode ?

hab lediglich auf http://chris.lugr.de/ die entsprechenden Werte gefunden. Öffnungswinkel Diode 17° , Sendeleistung ca. 16mA aufgrund der 220 Ohm Vorwiederstand, obwohl die Diode auf 100mA Dauerstrom ausgelegt wäre.

Angeblich sollte der Reciever in Verbindung einer 500mA Diode ja bis zu 30Meter empfangen können.

Das mit den 17° Öffnungswinkel sehe ich jetzt nicht so problematisch, wenn ich mehrere der gleichen in Reihe schalten würde, was als ein Lösungsvorschlag angegeben wurde, könnte ich ja auch die Anordnung der Dioden so vornehmen das sich der Öffnungswinkel kombiniert vergrößert - oder ich suche mir einfach stärkere Dioden mit größeren Öffnungswinkel - zumindest für den IR Programmieradapter...

Vielmehr interessiert mich der Empfindlichkeitsradius des verwendeten IR Recievers.

Das Asurowiki spricht ja bzgl. Lösungsansätzen von :



- Reichweiten Erhöhung der IR Schnittstelle durch einen Reflektor für die IR-LED.
- Besser noch den Strom durch die IR-LED mit einem Transistor erhöhen. Da das Signal gepulst ist, verträgt die IR-LED auch ein paar hundert mA.
- Eventuell eine oder mehrere IR-LEds parallel schalten.
- Das Standard Poti auf dem RS232 IR Transceiver durch ein Präzisions Poti ersetzen.


Ich frag mich halt immernoch was die Modifikation von Waste an Reichenweitengewinn gebracht hat. Die Reflektorverstärkung / Streulichteindämmung sollte ja auch auf Seiten des RS 232 Transcievers möglich sein ... dementsprechend noch eine Transistorverstärkung ...

Eigentlich ... müsste es doch realisierbar sein ... irgendwie.

Ich hab halt keine große Ahnung, dementsprechend auch naive Fragen.

Könnte man die 220 Ohm Vorwiederstand nicht verkleinern um eine bessere Sende / Empfangsleistung zu erreichen ?

Wäre es denkbar die Infrarotschnittstelle sowohl für die einseitige Fernsteuerung zu nutzen sofern keine Flash bzw. Kommunikationsverbindung hergestellt werden könnte oder wäre dies ausgeschlossen ?

Ach ja ... habe ich das richtig verstanden das eine Kommunikation über einen bereitsvorhanden IR Port am Rechner ausgeschlossen ist ? Also die Infrarotkommunikation lediglich über den mitgelieferten RS 232 IR Transciever mögloich wäre ?

Denke fürs lesen ;)

damaltor
15.12.2006, 17:50
die kommunikation über den eingebauten ir-port ist ausgeschlossen. der rs232 transceiver nutzt ein minimal-protokoll (0-->licht mit 36kHz;1-->licht aus) während der eingebaute anschluss dem irda-protokoll folgt. ausserdem hat er andere pulsweiten.

eine direkte "fernsteuerungs"-verbindung wäre wahrscheinlich aufwändig realisierbar, einfacher wäre den asuro quasi "horchen" zu lassen was so über den ir-port kommt. beispielsweise: 1 empfangen -> vorwärts fahren; 2-> rückwärts fahren usw. dann müsste man nur noch ein programm schreiben (es gab mal was ganz gutes, allerdings in matlab "gemalt") das halt entsprechende bytes an den ir-transceiver sendet.

das hauptproblem wird jedoch die ungenauigkeit des asuro sein, die wirklich stark ins gewicht fällt und mit den odometriesensoren nur teilweise auszuschliessen ist, und die reichweite, welche sich jedoch mit mehreren dioden regeln lassen müsste.

die einzige alternative zum rs232 transceiver ist ein usb-transceiver, der seperat angeboten wird (reichelt ~20€). vorteil: (1)usb-anschluss; (2)kommt fertig aufgebaut; (3)keine ungenaue einstellung mit poti, sondern eigener frequenzgenerator mit NE555 für exakte 36 kHz. sendediode ist die gleiche, dementsprechend ist die sendeleistung ähnlich.

waste
15.12.2006, 21:35
Dem Datenblatt des verbauten Recievers SFH5110 konnte ich auch einiges entnehmen was die horizontale und vertikale Empfindlichkeit angeht. Hab ich doch richtig verstanden bzgl. horizontal und vertical directivity im Datenblatt des IR Recievers, oder ?

Wäre nett wenn mir das jemand erläutern könnte bzgl. der Schwellwerte -

Ja, das hast du schon richtig verstanden. Vertikal ist der Öffnungswinkel des Receivers kleiner als horizontal. Bei +-30 Grad wird vertikal nur noch 50% empfangen während horizontal noch ca. 85% empfangen wird. Der Sichtwinkel bei dem Receiver ist also weiter als der Abstrahlwinkel der Sendediode SFH415 (17° bei 50%).


Mit der Modifikation des Reflektors und der Trennung von Reciever / Transmitter auf der Seite des Asuro sie realisiert hat dürfte sich doch auch die Reichweite zum Transciever verbessert haben, oder ?Mein Umbau war rein mechanisch, elektrisch hat sich nichts verändert. Die Reichweite ist also gleich geblieben.

Die geringe Reichweite des RS232-Transceivers kommt meiner Meinung nach von der unzuverlässigen Spannungsversorgung. Die Versorgungsspannung VCC wird von Steuerleitungen der RS232-Schnittstelle erzeugt und die kann je nach PC unterschiedlichen Strom liefern. Bei manchen PC's geht das gut bei anderen wieder weniger gut und bei Laptops meistens schlecht. Bei meinem PC geht das relativ gut, ich kann meinen Asuro noch über eine Entfernung von 2m flashen.


Ich schätze der RS232 Transciever zum Flashen / Kommunikaktion mit dem Asuro ließe sich ja bestimmt auch irgendwie modifizieren, so dass eine größere Entfernung erzielt werden könnte.Da sehe ich keine Probleme. Mit einem externen Netzteil zur Versorgung und einem höheren Strom durch die Sendediode sollte es möglich sein dein Spielfeld von 2 x 2m mit einem so modifizierten und an der Decke befestigten Transceiver zu versorgen.

Am besten einen zusätzlichen Transistor zwischen NE555 und Sendediode schalten und den Strom auf 100mA erhöhen und eventuell 2 oder 3 Dioden in Serie schalten. Dann bist du auf der sicheren Seite.

Gruß Waste

1093 & 3511
17.12.2006, 20:39
Super. Danke für die Infos. Wir haben uns nun für den Asuro entschieden und ordern erstmal drei Stück. Auch ich werde mir einen ordern und ggf. über Weihnachten zusammenlöten ( Wird spannend. Hab Noch nie nen Lötkolben ernsthaft benutzt. )

Falls wir die Infrarotkommunikation nicht in den Griff bekommen werden wir ggf. auf Funk ausweichen, denn es gibt anscheinend recht günstige Module de wie die Easyradio Module im 433 MHz Frequenzband arbeiten (okay die EasyRadios sind auch im weniger genutzten 860MHz Band erhältlich ).

http://www.sparkfun.com/commerce/product_info.php?products_id=7815

Wäre schon eine Alternative die unser Budget nicht umbedingt sprengen würde.

Werd euch auf dem Laufenden halten.

damaltor
17.12.2006, 20:59
da hast du recht. allerdings sine die rxd und txd ports des asuro schon belegt.

ich würde euch empfehlen, erst mal einen zu bestellen, den zusammenzulöten und ein wenig zu experimentieren, dann könnt ihr sehen ob er das richtige ist. denn 3 oder 4 asuro kosten eben auch schon 150 euro...

das hauptproblem des asuro ist, das alle prozessorports belegt sind. durch entfernung der liniensensoren können einige wenige frei gemacht werden, aber das ganz wahre ist das nicht. vielleicht müsstet ihr einen zweitprozessor oder wenigstens einen I²C-Bus aufsetzen.

dinoAG
21.12.2006, 14:48
sag mal wie weit ist dein budget nun belastet?
habe nämlich so ziehmlich das selbe Projekt vor

1093 & 3511
21.12.2006, 15:19
Naja. Unsere Projektkonzeption geht nun die in die experimentelle Phase. Dafür haben wir erstmal einen Asuro geordert. Im Februar entscheidet sich dann ob es weiter ausgefeilt wird - dann stehen uns ca. 500 € zu Verfügung... und natürlich Rechner und Kamera die eh schon vorhanden sind.... abr so genau weiß ich das nicht. Wird sich zeigen.

dinoAG
21.12.2006, 16:43
können sie schon einschätzen, wieviel es kosten könnte, wenn ichs nicht per Kamera mache, sondern ich die Asuros selbstständig steuern und Kommunizieren lasse?

1093 & 3511
21.12.2006, 16:57
Nein, leider nicht. Wir haben gerade mal die Kaufentscheidung zum Experimentieren getroffen - dementsprechend einen geordert. Nun gilt es quasi daran herauszufinden was machbar ist. Da ist eine große Frage (mein Aufgabenbereich) die Infrarotkommunikation. Derzeit besteht das Rumpfteam aus vier Studenten - es gilt auf der Basis unserer Idee einen Projektplan zu entwerfen bis Ende Januar / Februar - erst dann werden wir wissen ob wir das Projekt realisieren können und dann bis August ggf. umsetzen soweit es geht.

Unser Vorhaben wird aber auf jeden Fall davon leben das wir den finanziellen Rahmen drücken, indem wir komplizierte Berechnungen auslagern - es wird keine autarke Implementation der Asuros angestrebt.

Dafür wird die Rechenkapazität des ATMega8 nicht genügen. Der Asuro ist in der Grundimplementation weitesgehend schon an seinen Leistungsgrenzen soweit ich das richtig mitbekommen habe. Vielmehr als die angebotenen Grundfunktionen wäre der Asuro nicht im Stande zu berechnen.

damaltor
21.12.2006, 17:32
na es würde schon einiges gehen, 8mhz sind für den asuro echt in ordnung. das hauptproblem ist glaube ich dass nur ein einziges kilobyte arbeitsspeicher zur verfügung steht.
ein hilfsprozessor sollte allerdings schon helfen. ansonsten müssen komplexe berechnungen halt auf dem pc laufen...

dinoAG
28.12.2006, 12:50
der einfachste weg mehrere asuros gleichzeitig mit pc kommunizieren zu lassen ist?

damaltor
28.12.2006, 22:09
ich sehe du hast die Fragestellung erkannt o0

genau das ist das thema hier. funk wurde besprochen, oder infrarot. ultraschall währe wahrscheinlich rechteinfach zu realisieren, aber würde die haustiere wahnsinnig machen...

dinoAG
29.12.2006, 12:58
oh ich dachte hier gings mal darum, wie sich die asuros untereinander verständigen können!
denn das hatte ichursprünglich vor...
so nun habe ich vorraussichtlich keine haustiere

wie kann man den asuros klar machen, wer von ihnen gemeint ist?
kann man überhaupt mehrere signale gleichzeitig empfangen?

damaltor
29.12.2006, 16:51
mehere signale gleichzeitig empfangen... schwierig. mehrere signale gleichzeitig senden... auch schwierig. also am besten kurz nacheinander.

um den asuros klarzumachen wer gemeint ist, könnte man immer zuerst eine kodierung senden und dann den befehl (sowas wie "asuro1-vorwärts"), jeder asuro bekommt also eine nummer,

dinoAG
29.12.2006, 19:37
und was passiert, wenn 2 asuros mal gleichzeitig senden?

damaltor
30.12.2006, 01:31
das müsste schon verdammt gleichzeitig sein =)

aber wahrscheinlich kommt dann nur mist am pc an. also müsste eine art bestätigung zurückgesendet werden, und wenn diese ausbleibt, muss der asuro eine zufällige zahl millisekunden warten (damit nicht wieder beide gleichzeitig senden) und es dann nochmal versuchen.

dinoAG
04.01.2007, 12:30
ok das müsste ich hinkriegen

Downad
04.01.2007, 13:24
ein beispiel (aus dem holen bauch)

asuro sendet: hier Asuro2+sendenummer+meine daten (wert1, wert2, wert3, ...)
asuro berechnet daraus eine checksumme

pc empfängt daten - berechnet checksumme
pc sendet Asuro2 + checksumme

asuro macht kontrolle -
ist alles ok sendet er asuro2-acknowledge! -->asuro erhöht seine sendenummer um 1

andernfalls wiederholt er seine datensendung.

pc speicher die asuro2 daten anch dem empfang des acknowledge.

---
ich denke das protokoll müsste noch etwas verfeinert werden aber so sollte es in etwa klappen.

dinoAG
04.01.2007, 13:37
ist es nicht so, dass er die datennummer erhöhen muss, wenn der transfer nicht geklappt hat?

wer sagt, dass die checksumme richtig empfangen wird?