| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Stop wasting time looking for files and revisions. Connect your Gmail, DriveDropbox, and Slack accounts and in less than 2 minutes, Dokkio will automatically organize all your file attachments. Learn more and claim your free account.

View
 

GOA

Page history last edited by PBworks 12 years, 6 months ago

 

Gymnasium Oberalster

http://www.gymnasium-oberalster.de/angebote/projekte/spurt.php

Spurt: Projekte und Fragen

Für Webseiten, die nicht mehr existieren, gibt es im Internet auch Archivmaschinen: http://web.archive.org/web/20041012043425/www.hh.shuttle.de/kd1002/spurt/content/index.htm

Übersicht


1. Anfrage:

"Unser Ziel ist es, einen Roboter zu konstruieren, der sich mithilfe von

Entfernungssensoren in einem ebenen Labyrinth zurechtfinden kann.

Da der Algorithmus zur Datenauswertung und Befehlserteilung allerdings

höchstwahrscheinlich die Kapazitäten des Controllers überfordern wird,

haben wir uns überlegt, die Datenauswertung auf einem externen Computer

ausführen zu lassen, der mit dem Roboter per Funk in Verbindung steht.

Der Roboter sendet also lediglich Daten, die er von den Sensoren

erhält, und empfängt Steuerungsbefehle für die Motoren.

Die Frage ist nun: Auf welche Weise und mit welchen Bauteilen lässt

sich dieses Vorhaben am besten realisieren?"

Lösungsvorschlag Nr. 1: Serielle Schnittstelle über Bluetooth

Bluetooth ist eine Funktechnologie, die es ermöglicht, serielle Schnittstellen über Funk miteinander zu verbinden. Für die Steuerung des Roboters über Bluetooth benötigt ihr folgende Komponenten:

  • RS232 Bluetooth Adapter für den Roboter
  • Bluetooth USB Stick für den Rechner

Der RS232 Bluetooth Adapter besitzt auf der einen Seite eine serielle Schnittstelle, die man direkt mit der seriellen Schnittstelle des Controllers verbinden kann und auf der anderen Seite eine Antenne. Zusätzlich muss der Adapter mit Strom versorgt werden.

Das ganze hat den Vorteil, dass man auf dem Controller keinerlei zusätzliche Software installieren muss. Der Controller bekommt von der Bluetooth Verbindung nichts mit. Im Handel gibt bereits einige fertige RS232 Bluetooth Adapter, wie z.B.

Leider sind diese Adapter für Industrieanwendungen gedacht und deswegen sehr teuer. Eine günstige Alternative ist der "Pico Plug" Adapter der Firma Sphinx. Den gibt es z.B. bei Ebay für 10-20€ einzeln oder inklusive Bluetooth PCMCIA Karte. Der Adapter ist zwar schon etwas älter, aber er funktioniert.

Auf der Rechner Seite reicht ein handelsüblicher Bluetooth USB Stick. Mit der zum USB Stick mitgelieferten Software kann man den RS232 Adapter finden und sich mit diesem verbinden. Danach hat man im Rechner eine neue serielle Schnittstelle, über die man mit dem Roboter kommunizieren kann. Die Datenrate beträgt 115000 kBit und die Reichweite 5-10 Meter. Das Ganze funktioniert auch unter Linux.

Installationsanleitung zum Lösungsvorschlag 1

Der Pico Plug Adapter arbeitet völlig autonom. Es braucht kein Treiber oder sonstige Software auf dem Gerät installiert werden, an dem er betrieben wird. Folgende Schritte sind notwendig um eine serielle Verbindung über Bluetooth aufzubauen:

  • Anschluss der Stromversorgung an den Pico Plug über das mitgelieferte Steckernetzteil
  • Am Roboter den Pico Plug an die serielle Schittstelle stecken, an die sonst das serielle Kabel angeschlossen war (gegebenenfalls den mitgelieferten Adapter benutzen). WICHTIG! (kein Nullmodemkabel zwischen Pico Plug und serieller Schnittstelle des Roboters verwenden). Der Pico Plug ist ordnungsgemäß angeschlossen, wenn die Leuchtdiode nicht mehr blinkt.
  • Auf der PC Seite einen USB Bluetooth Stick anstecken und die notwendige Bluetooth Software installieren (ab Windows XP / Service Pack 2 ist das nicht mehr erforderlich)
  • Auf der PC Seite nach Bluetooth Geräten suchen. Ein Gerät namens "Pico Plug" sollte gefunden worden sein. Als Dienste werden Serial Port (LAN) und Serial Port (SPP) angezeigt.
  • Den Dienst Serial Port (SPP) mit einem Doppelklick aktivieren. Dabei wird nach einer PIN Nummer gefragt. Die lautet: "1234". Danach sollte der PC einen neuen serielle Bluetooth-Anschluss z.B. COM6 besitzen, den ihr wie eine normale serielle Schnittstelle verwenden könnt. Die Leutdiode sollte jetzt grün leuchten. Werden Daten übertragen, dann blinkt sie. Die seriellen Parameter lauten 115200 Baud, 8 Bit, keine Parität, 1 Stopbit.

Zum Testen kann man den Pico Plug auch an eine serielle Schnittstelle des PC stecken. Danach kann man mit zwei Hyperterminal Programmen, eins an COM 1 oder 2 und das zweite am seriellen Bluetooth Anschluß, chatten.

Zur Konfiguration des Pico Plug gibt es das Programm Pico Plug Monitor, dass ihr euch von der CD oder von der Webseite von Sphinx herunterladen könnt. Damit könnt ihr die seriellen Parameter und die Bluetooth PIN ändern.

Lösungsvorschlag Nr. 2: Serielle Schnittstelle über Wireless LAN

Die c't hat im letzten Jahr ein Bastelprojekt mit dem Namen "Brücken bauen und fernkontrollieren" veröffentlicht, dass eine serielle Verbindung über Wireless LAN ermöglicht. Den Bausatz kostet knapp 200€ und ist damit teurer als die Bluetooth Lösung.

Lösungsvorschlag Nr. 3: Serielle Schnittstelle über IrDA

IrDA ist eine Infrarot Schnittstelle über die man ebenfalls serielle Daten senden und empfangen kann. Leider ist die Kommunikation sehr richtungsorientiert und lichtabhängig. Die Funklösungen sind da robuster, obwohl auch diese störanfällig gegenüber anderen Funktechnologien im 2,4 GHz Bereich sind.

Fazit

Meine Empfehlung wäre der Lösungsvorschlag Nr. 1. Ich könnte euch zu Testzwecken meinen eigenen "Pico Plug" zur Verfügung stellen. Bei Interesse könnt ihr mich unter meiner email:marc.haase@uni-rostock.de erreichen.


2. Anfrage

Der in meinem Team entworfene Roboter fährt entlang einer schwarzen Line auf weißem Grund. Das Ende dieser Linie ist mit einem roten Strich gekennzeichnet. Dieses Ende soll erkannt werden.

Wir haben bereits den Rot-Sensor TSL257 bei www.micromaus.de gekauft aber beim Kauf nicht ausreichend beachtet das dieser Sensor nicht die Farbe Rot sondern Licht der Wellenlänge 700-800 nm detektiert, dieses wird aber auch vom weißen Untergrund reflektiert. Deshalb ist es nicht möglich zwischen weißem und roten Untergrund zu differenzieren. Des Weiteren hat der Sensor in unserem Tests eine sehr starke Abstandsabhängigkeit bewiesen. Da der Sensor aber an einem kleinen Ausleger am Roboter befestigt ist, ist das Schwanken unvermeidbar und führte bei unseren Tests zu erheblichen Verfälschungen. Bei unserem Flash M1 Controller der Firma Wickenhäuser ist aber nur noch ein A/DU frei. Das hinzuschalten eines zweiten Sensors ist also nicht möglich. Meine Frage lautet ob Sie uns einen Sensor empfehlen können der es möglich macht die rote Farbe am Ende der Linie zu detektieren. Besonderes Problem dabei ist auch noch, dass es sich ja nicht um genuines Rot handelt das den Farbeindruck rot erzeugt sondern der Farbeindruck wahrscheinlich durch Absorption von Grün zustande kommt. Genauer ist dies aber bei der Farbe aus dem Tuschkasten nicht bekannt.

Lösungsvorschlag Nr.1: Grau statt Rot erkennen

Statt mit der Farberkennung zu experimentieren, versucht doch einfach mal Grau mit dem Schwarz/Weiß Sensor zu erkennen. Voraussetzung ist, dass Euer Sensor eine lineare Kennlinie besitzt. Programmiertechnisch wird es etwas anspruchsvoller, denn bei einem normalen Schwarz/Weiß Übergang wird auch der Graubereich mit abgedeckt. Euer Modell sollte erst anhalten, wenn die Grauphase länger dauert als ein normaler Schwarz/Weiß Übergang. Vorteil dieser Lösung ist, Ihr braucht keinen zusätzlichen Sensor.

Lösungsvorschlag Nr.2: RGB Sensor

Ihr verwendet einen RGB Sensor, der Euch die genauen Farbinformationen liefern kann. Einen möglichen Sensor findet ihr bei www.micromaus.de. Den Programmieraufwand kann ich zur Zeit nicht abschätzen.

 

Comments (0)

You don't have permission to comment on this page.