<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Herbertweidner</id>
		<title>RN-Wissen.de - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://rn-wissen.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Herbertweidner"/>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Herbertweidner"/>
		<updated>2026-04-11T20:17:44Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8661</id>
		<title>Navigation</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8661"/>
				<updated>2006-09-13T09:49:10Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* 2. Aktive Markierungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:&lt;br /&gt;
&lt;br /&gt;
* Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden &lt;br /&gt;
* Berechnen des Weges zum Ziel und &lt;br /&gt;
* Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses&lt;br /&gt;
&lt;br /&gt;
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.&lt;br /&gt;
&lt;br /&gt;
==Orientierung und Navigation==&lt;br /&gt;
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung in natürlicher Umgebung== &lt;br /&gt;
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. &lt;br /&gt;
Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. &lt;br /&gt;
Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. &lt;br /&gt;
Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde. &lt;br /&gt;
&lt;br /&gt;
===Ortung durch Berührung===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.&lt;br /&gt;
* Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)&lt;br /&gt;
* Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze&lt;br /&gt;
&lt;br /&gt;
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Bei einfachen Systemen wird meist so vorgegangen: &lt;br /&gt;
:Bumper rechts: etwas nach links drehen&lt;br /&gt;
:Bumper links: etwas nach rechts drehen&lt;br /&gt;
:Beide Bumper: umdrehen&lt;br /&gt;
&lt;br /&gt;
Dass man so ein primitives Verfahren nicht als Orientierung und kaum als Ortung bezeichnen kann, zeigt folgender einfache Vergleich: Stellen Sie sich vor, sie werden mit verbundenen Augen in einen Raum eingesperrt und sollen diesen durch einen Ausgang verlassen oder an einer vorgegebenen Stelle halten. Sie werden recht planlos an den Wänden entlanggehen und wahrscheinlich nicht merken, dass sie an der gleichen Stelle schon sechsmal vorbeikamen. Wenn der Raum um eine dicke Säule gebaut ist und Sie dort entlangehen, werden Sie die Türen an der Aussenwand kaum finden. Trotzdem arbeiten viele Roboter nach diesem Prinzip.&lt;br /&gt;
&lt;br /&gt;
===Berührungslose Ortung===&lt;br /&gt;
&lt;br /&gt;
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. Es ist allerdings nicht ganz einfach, aus den empfangenen Signalen eine &amp;quot;innere&amp;quot; Landkarte zusammenzustellen und sich darin zurechtzufinden. Ohne so eine Landkarte ist die berührungslosen Orientierung nicht besser als ein verlängerter Arm der einfachen Kontaktschalter.&lt;br /&gt;
&lt;br /&gt;
====1. Akustische Abtastung====&lt;br /&gt;
&lt;br /&gt;
1.a. Akustischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei der akustischen Abtastung des Raumes stellt die &amp;quot;Einparkhilfe&amp;quot; die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. &lt;br /&gt;
Beispiel: Einparkhilfe Bild&lt;br /&gt;
&lt;br /&gt;
1.b. Akustische Laufzeitmessung (Echolot)&lt;br /&gt;
[[Bild:srf08.jpeg|right|200px|Beispiel SFR08]]&lt;br /&gt;
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich. Es gibt Systeme mit anderen Verfahren: Kurz nach dem ersten Echo wird der Empfänger wieder empfindlich gemacht und dann werden weitere (maximal sieben) Echos registriert. Auf diese Weise kann man erkennen, ob hinter einem kleinen Hindernis (Ball) noch ein anderes (Wand) vorhanden ist. Bei ungünstiger Montage der Sensoren kann es auch vorkommen, dass der Sendepuls am eigenen Roboter reflektiert wird. Ein &amp;quot;normales&amp;quot; Echolot liefert dann keine brauchbaren Ergebnisse mehr - denkbar wäre das man einfach alle Ergebnisse weg läßt, die kleiner als 10 cm sind.&lt;br /&gt;
&lt;br /&gt;
====2. Optische Abtastung==== &lt;br /&gt;
&lt;br /&gt;
2.a. Optischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. &lt;br /&gt;
Beispiel IRF471 Bild &lt;br /&gt;
&lt;br /&gt;
2.b. Optische Triangulation&lt;br /&gt;
&lt;br /&gt;
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. Leider ist der Zusammenhang Entfernung - Spannung recht nichtlinear. Über entsprechende Formeln ode rTabellen ist eine einfache Umrechnung möglich.&lt;br /&gt;
&lt;br /&gt;
Beispiel Sharp [[Sensorarten|GP2D12]]  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/bilder/gp2d12-nb.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg&lt;br /&gt;
&lt;br /&gt;
2.c. Optische Laufzeitmessung&lt;br /&gt;
&lt;br /&gt;
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.&lt;br /&gt;
&lt;br /&gt;
====3. Bildverarbeitung====&lt;br /&gt;
&lt;br /&gt;
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. &lt;br /&gt;
Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung an künstlichen Markierungen==&lt;br /&gt;
&lt;br /&gt;
===1. Passive Markierungen===&lt;br /&gt;
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen. &lt;br /&gt;
&lt;br /&gt;
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Bei breiten Linien genügt ein einziger Sensor, der an einen ADC angeschlossen ist:&lt;br /&gt;
* Mittlere Helligkeit heisst : Geradeaus fahren.&lt;br /&gt;
* Zu dunkel: nach rechts fahren.&lt;br /&gt;
* Zu hell: nach links fahren. &lt;br /&gt;
Der Roboter fährt dann an einer Kante entlang, die andere intessiert nicht. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie.&lt;br /&gt;
&lt;br /&gt;
===2. Aktive Markierungen===&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake - 1&lt;br /&gt;
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake - 2 &lt;br /&gt;
Deutlich einfacher geht es mit LEDs an unterschiedlichen Ecken des Spielfeldes, die jeweils von einem NE555 getaktet werden. Jede Bake hat eine eigene, feste Frequenz. Es gibt Projekte wo  man unterschiedliche Frequenzfilter einschalten und mit einem IR-Empfänger auf einem Servo suchen kann, aus welcher Richtung welche Bake blinkt. Durch dieses Frequenzfilter ist der Roboter immun gegen andere Lichtquellen. Drei Baken genügen theoretisch.&lt;br /&gt;
&lt;br /&gt;
* Transponder&lt;br /&gt;
Als sehr sicher haben sich - wie im Flugverkehr - aktive Transponder erwiesen. Diese werden durch einen Impuls abgefragt und antworten individuell. Dazu erzeugt der Roboter einen kurzen Ultraschallimpuls. Entweder mit Zielrichtung zum vermuteten Transponder oder ungerichtet. Sobald ein Transponder den Abfrageimpuls registriert, antwortet er mit einem oder mehreren Lichtblitzen, die auch unterschiedliche Farbe besitzen können. Aus der zwischenzeitlich vergangenen Zeit und der Empfangsrichtung lässt sich bei mehreren Transpondern der Standort berechnen. Beim [http://www.roboprogy.de ROBOprogy] lässt sich das eingebaute Programm für das Echolot sehr gut für diesen Zweck verwenden.&lt;br /&gt;
&lt;br /&gt;
* induktive Begrenzungsschleifen&lt;br /&gt;
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.&lt;br /&gt;
&lt;br /&gt;
==Koppelnavigation== &lt;br /&gt;
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet. &lt;br /&gt;
&lt;br /&gt;
Ausgehend von Position &lt;br /&gt;
Richtung, Geschwindigkeit und Dauer festlegen. &lt;br /&gt;
&lt;br /&gt;
Gezielte Vorgaben &lt;br /&gt;
Kontrolle&lt;br /&gt;
&lt;br /&gt;
===Odometrie===&lt;br /&gt;
Erfassung der Richtung und Weg/Geschwindigkeit durch &lt;br /&gt;
*die Einschaltdauer des Antriebs&lt;br /&gt;
*zählen der getätigten Steps von Schrittmotoren&lt;br /&gt;
*sensorisch durch [[Sensorarten#Drehgeber_Sharp_GP1A30_und_GP1A38|spezielle Encoder]], aber auch Kugel-, Rad- und optische Mäuse&lt;br /&gt;
&lt;br /&gt;
==Trägheitsnavigation== &lt;br /&gt;
Beschleunigung &lt;br /&gt;
Winkelbeschleunigung &lt;br /&gt;
&lt;br /&gt;
Die Trägheitsnavigation ist eine Art der Koppelnavigation.&lt;br /&gt;
Die Position wird hierbei durch Messung von Beschleunigungen und Drehungen bestimmt. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung.&lt;br /&gt;
Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse.&lt;br /&gt;
Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.&lt;br /&gt;
&lt;br /&gt;
===Globale Orientierung===&lt;br /&gt;
Globale Felder Erdmagnetfeld Luftdruck &lt;br /&gt;
GPS&lt;br /&gt;
&lt;br /&gt;
===Kompass Höhenmesser===&lt;br /&gt;
natürliche Felder zur globalen Orientierung &lt;br /&gt;
Erdmagnetfeld, barometrischer Luftdruck&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
Ultimativ, aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Sensorarten]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.robotmaker.de/fernbed.html Eine beliebte Schaltung für ein solche IR-Bake] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Kategorie:Robotikeinstieg]]&lt;br /&gt;
 [[Kategorie:Microcontroller]]&lt;br /&gt;
 [[Kategorie:Elektronik]]&lt;br /&gt;
 [[Kategorie:Grundlagen]]&lt;br /&gt;
 [[Kategorie:Praxis]]&lt;br /&gt;
 [[Kategorie:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8660</id>
		<title>Navigation</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8660"/>
				<updated>2006-09-13T09:38:09Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* 1. Passive Markierungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:&lt;br /&gt;
&lt;br /&gt;
* Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden &lt;br /&gt;
* Berechnen des Weges zum Ziel und &lt;br /&gt;
* Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses&lt;br /&gt;
&lt;br /&gt;
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.&lt;br /&gt;
&lt;br /&gt;
==Orientierung und Navigation==&lt;br /&gt;
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung in natürlicher Umgebung== &lt;br /&gt;
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. &lt;br /&gt;
Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. &lt;br /&gt;
Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. &lt;br /&gt;
Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde. &lt;br /&gt;
&lt;br /&gt;
===Ortung durch Berührung===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.&lt;br /&gt;
* Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)&lt;br /&gt;
* Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze&lt;br /&gt;
&lt;br /&gt;
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Bei einfachen Systemen wird meist so vorgegangen: &lt;br /&gt;
:Bumper rechts: etwas nach links drehen&lt;br /&gt;
:Bumper links: etwas nach rechts drehen&lt;br /&gt;
:Beide Bumper: umdrehen&lt;br /&gt;
&lt;br /&gt;
Dass man so ein primitives Verfahren nicht als Orientierung und kaum als Ortung bezeichnen kann, zeigt folgender einfache Vergleich: Stellen Sie sich vor, sie werden mit verbundenen Augen in einen Raum eingesperrt und sollen diesen durch einen Ausgang verlassen oder an einer vorgegebenen Stelle halten. Sie werden recht planlos an den Wänden entlanggehen und wahrscheinlich nicht merken, dass sie an der gleichen Stelle schon sechsmal vorbeikamen. Wenn der Raum um eine dicke Säule gebaut ist und Sie dort entlangehen, werden Sie die Türen an der Aussenwand kaum finden. Trotzdem arbeiten viele Roboter nach diesem Prinzip.&lt;br /&gt;
&lt;br /&gt;
===Berührungslose Ortung===&lt;br /&gt;
&lt;br /&gt;
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. Es ist allerdings nicht ganz einfach, aus den empfangenen Signalen eine &amp;quot;innere&amp;quot; Landkarte zusammenzustellen und sich darin zurechtzufinden. Ohne so eine Landkarte ist die berührungslosen Orientierung nicht besser als ein verlängerter Arm der einfachen Kontaktschalter.&lt;br /&gt;
&lt;br /&gt;
====1. Akustische Abtastung====&lt;br /&gt;
&lt;br /&gt;
1.a. Akustischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei der akustischen Abtastung des Raumes stellt die &amp;quot;Einparkhilfe&amp;quot; die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. &lt;br /&gt;
Beispiel: Einparkhilfe Bild&lt;br /&gt;
&lt;br /&gt;
1.b. Akustische Laufzeitmessung (Echolot)&lt;br /&gt;
[[Bild:srf08.jpeg|right|200px|Beispiel SFR08]]&lt;br /&gt;
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich. Es gibt Systeme mit anderen Verfahren: Kurz nach dem ersten Echo wird der Empfänger wieder empfindlich gemacht und dann werden weitere (maximal sieben) Echos registriert. Auf diese Weise kann man erkennen, ob hinter einem kleinen Hindernis (Ball) noch ein anderes (Wand) vorhanden ist. Bei ungünstiger Montage der Sensoren kann es auch vorkommen, dass der Sendepuls am eigenen Roboter reflektiert wird. Ein &amp;quot;normales&amp;quot; Echolot liefert dann keine brauchbaren Ergebnisse mehr - denkbar wäre das man einfach alle Ergebnisse weg läßt, die kleiner als 10 cm sind.&lt;br /&gt;
&lt;br /&gt;
====2. Optische Abtastung==== &lt;br /&gt;
&lt;br /&gt;
2.a. Optischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. &lt;br /&gt;
Beispiel IRF471 Bild &lt;br /&gt;
&lt;br /&gt;
2.b. Optische Triangulation&lt;br /&gt;
&lt;br /&gt;
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. Leider ist der Zusammenhang Entfernung - Spannung recht nichtlinear. Über entsprechende Formeln ode rTabellen ist eine einfache Umrechnung möglich.&lt;br /&gt;
&lt;br /&gt;
Beispiel Sharp [[Sensorarten|GP2D12]]  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/bilder/gp2d12-nb.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg&lt;br /&gt;
&lt;br /&gt;
2.c. Optische Laufzeitmessung&lt;br /&gt;
&lt;br /&gt;
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.&lt;br /&gt;
&lt;br /&gt;
====3. Bildverarbeitung====&lt;br /&gt;
&lt;br /&gt;
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. &lt;br /&gt;
Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung an künstlichen Markierungen==&lt;br /&gt;
&lt;br /&gt;
===1. Passive Markierungen===&lt;br /&gt;
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen. &lt;br /&gt;
&lt;br /&gt;
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Bei breiten Linien genügt ein einziger Sensor, der an einen ADC angeschlossen ist:&lt;br /&gt;
* Mittlere Helligkeit heisst : Geradeaus fahren.&lt;br /&gt;
* Zu dunkel: nach rechts fahren.&lt;br /&gt;
* Zu hell: nach links fahren. &lt;br /&gt;
Der Roboter fährt dann an einer Kante entlang, die andere intessiert nicht. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie.&lt;br /&gt;
&lt;br /&gt;
===2. Aktive Markierungen===&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake - 1&lt;br /&gt;
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake - 2 &lt;br /&gt;
Deutlich einfacher geht es mit LEDs an unterschiedlichen Ecken des Spielfeldes, die jeweils von einem NE555 getaktet werden. Jede Bake hat eine eigene, feste Frequenz. Es gibt Projekte wo  man unterschiedliche Frequenzfilter einschalten und mit einem IR-Empfänger auf einem Servo suchen kann, aus welcher Richtung welche Bake blinkt. Durch dieses Frequenzfilter ist der Roboter immun gegen andere Lichtquellen. Drei Baken genügen theoretisch.&lt;br /&gt;
&lt;br /&gt;
* induktive Begrenzungsschleifen&lt;br /&gt;
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.&lt;br /&gt;
&lt;br /&gt;
==Koppelnavigation== &lt;br /&gt;
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet. &lt;br /&gt;
&lt;br /&gt;
Ausgehend von Position &lt;br /&gt;
Richtung, Geschwindigkeit und Dauer festlegen. &lt;br /&gt;
&lt;br /&gt;
Gezielte Vorgaben &lt;br /&gt;
Kontrolle&lt;br /&gt;
&lt;br /&gt;
===Odometrie===&lt;br /&gt;
Erfassung der Richtung und Weg/Geschwindigkeit durch &lt;br /&gt;
*die Einschaltdauer des Antriebs&lt;br /&gt;
*zählen der getätigten Steps von Schrittmotoren&lt;br /&gt;
*sensorisch durch [[Sensorarten#Drehgeber_Sharp_GP1A30_und_GP1A38|spezielle Encoder]], aber auch Kugel-, Rad- und optische Mäuse&lt;br /&gt;
&lt;br /&gt;
==Trägheitsnavigation== &lt;br /&gt;
Beschleunigung &lt;br /&gt;
Winkelbeschleunigung &lt;br /&gt;
&lt;br /&gt;
Die Trägheitsnavigation ist eine Art der Koppelnavigation.&lt;br /&gt;
Die Position wird hierbei durch Messung von Beschleunigungen und Drehungen bestimmt. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung.&lt;br /&gt;
Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse.&lt;br /&gt;
Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.&lt;br /&gt;
&lt;br /&gt;
===Globale Orientierung===&lt;br /&gt;
Globale Felder Erdmagnetfeld Luftdruck &lt;br /&gt;
GPS&lt;br /&gt;
&lt;br /&gt;
===Kompass Höhenmesser===&lt;br /&gt;
natürliche Felder zur globalen Orientierung &lt;br /&gt;
Erdmagnetfeld, barometrischer Luftdruck&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
Ultimativ, aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Sensorarten]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
* [http://www.robotmaker.de/fernbed.html Eine beliebte Schaltung für ein solche IR-Bake] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Kategorie:Robotikeinstieg]]&lt;br /&gt;
 [[Kategorie:Microcontroller]]&lt;br /&gt;
 [[Kategorie:Elektronik]]&lt;br /&gt;
 [[Kategorie:Grundlagen]]&lt;br /&gt;
 [[Kategorie:Praxis]]&lt;br /&gt;
 [[Kategorie:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8659</id>
		<title>Sensorarten</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8659"/>
				<updated>2006-09-13T09:32:16Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* Drehgeber Sharp GP1A30 und GP1A38 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welche Sensorarten gibt es==&lt;br /&gt;
Damit sich ein Roboter in seiner Umgebung bewegen kann, ohne an Hindernisse anzustoßen, und damit er ein Ziel finden und ansteuern kann, muß er irgendwie seine Umwelt &amp;quot;wahrnehmen&amp;quot;. &lt;br /&gt;
Hauptanwendung für diese Informationen aus der Umwelt ist die [[Navigation]]&lt;br /&gt;
&lt;br /&gt;
==Bumpers==&lt;br /&gt;
Als Bumpers bezeichnet man eine Art Stoßstange, die einen Mikro-Switch auslöst. &lt;br /&gt;
&lt;br /&gt;
[[Bild:microschalter.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung erfolgt am besten digital an einem Pin mit Pull-up Widerstand. Man kann den Eingang pollen (abfragen), aber auch einen Interrupt auslösen lassen. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Whiskers (Fühler)==&lt;br /&gt;
Das sind flexible Kunststoff-Streifen von ca. 10 cm Länge, eigentlich für Datenhandschuhe vorgesehen. Aber man kann sie auch als Fühler einsetzen, und daher auch für die Kollisions-Sensorik verwenden. Beim Verbiegen steigt der Widerstand an.  &lt;br /&gt;
&lt;br /&gt;
[[Bild:flexs_200.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Um zu messen, wird mit einem zweiten Widerstand ein Spannungsteiler aufgebaut, der dann mit einem Analog-Eingang einen Grad der Verbiegung erkennen läßt. Sie werden häufig auch Flexsensoren genannt. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incremental-Geber==&lt;br /&gt;
Dienen zur Erfassung von Drehzahl bzw. der Messung von Wegstrecken&lt;br /&gt;
===Drehgeber Sharp GP1A30 und GP1A38===&lt;br /&gt;
&lt;br /&gt;
[[Bild:gp1a30.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Beim Sharp GP1A30 und GP1A38 handelt es sich um Gabellichtschranken mit inkrementaler Drehgeberfunktion. Beide sind im Grunde von den Anschlüssen identisch, lediglich kann GP1A38 noch etwas höhere Drehzahlen messen. Im Gegensatz zu herkömmlichen Gabellichtschranken können mit dieser sowohl Drehzahl als auch Drehrichtung ermittelt werden. Notwendig sind dafür nur 2 digitale Ports. Verzichtet man auf die Auswertung der Drehrichtung, reicht nur ein Port.&lt;br /&gt;
Der Sensor hat den Vorteil das die Signale bereits TTL kompatibel sind und direkt an ein Controllerboard angeschlossen werden können. Ein Beispielprogramm zu [[RN-Control]] findet man hier&lt;br /&gt;
&lt;br /&gt;
* [[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP1A30.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung inkrementaler Drehgeber ist recht einfach. Ein Ausgang liefert einen Impuls pro Markierung (Scheibe auf der Welle). Prüft man bei jedem Impuls (Flanke) noch gleichzeitig den aktuellen Pegel des zweiten Ausganges, so kann daraus die Drehrichtung abgeleitet werden. Im [http://www.roboprogy.de ROBOprogy] ist das Programm zum Zählen und Auswerten der Richtung für zwei Radencoder bereits vollständig enthalten. Die aktuellen Zählerstände können jederzeit abgefragt werden. Da es sich um 16-Bit-Zähler handelt, können +-32767 Impulse gezählt werden. Bei üblichen Raddurchmessern und Encoderscheiben entspricht das Weg von etwa 100 cm.&lt;br /&gt;
&lt;br /&gt;
Der Signalverlauf an den Sensorausgängen ist phasenversetzt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:inkremental1.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen.]]&lt;br /&gt;
&lt;br /&gt;
==Optische Sensoren==&lt;br /&gt;
===Helligkeit=== &lt;br /&gt;
Die Hauptanwendung solcher Sensoren ist, den hellsten Fleck im Raum zu finden.&lt;br /&gt;
Dies ist auch Teil vieler Roboterwettbewerbe. (Robo Callenge (2002 sic!), 'Ein Platz an der Sonne')&lt;br /&gt;
&lt;br /&gt;
Solche Sensoren können einfache [[LDR]]s oder [[Photodioden]] bzw. [[Phototransistoren]] sein.&lt;br /&gt;
LDRs haben den Vorteil, dass sie relativ hoch aussteuern, der große Nachteil ist aber, dass diese Sensoren ziemlich Wärmeempfindlich und etwas träge.&lt;br /&gt;
Photodioden und Phototransistoren haben den Vorteil, dass sie sehr genau sind, aber nicht besonders hoch aussteuern. Diese sollte man evtl. über einen OpAmp verstärken.&lt;br /&gt;
&lt;br /&gt;
[[Bild:fotowiderstand.jpg|center|framed|Ein typischer Fotowiderstand]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:SFH300.jpg|center|framed|SFH300, ein typischer Phototransistor]]&lt;br /&gt;
&lt;br /&gt;
Die Suche nach dem Hellsten Fleck im Rraum ist wie ich finde ein gutes Einsteigerthema!&lt;br /&gt;
&lt;br /&gt;
===CNY70===&lt;br /&gt;
&lt;br /&gt;
Der CNY70 ist ein Foto-Reflex Optokoppler. In einem würfelförmigem Gehäuse befindet sich eine Infrarot LED als Sender und ein Infrarot Fototransistor als Empfänger. Damit kann auf kurze Entfernung (wenige Millimeter) das reflektierte Licht der IR-LED durch den IR-Fototransistor gemessen werden.  &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Bild:cny70.jpg|thumb|200px|CNY70]]&lt;br /&gt;
|[[Bild:cny70_pinout.jpg|framed|CNY70 Vishay Pinout]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Achtung:''' Es existiert auch noch ein CNY70 von Temic mit anderer Pinbelegung, dort ist der Fototransistor verdreht eingebaut.&lt;br /&gt;
&lt;br /&gt;
Der CNY70 eignet sich für eine Vielzahl von Sensoren. Z.B. als Liniensensor, Radencoder, Abgrunddetektor und Lichtschranke. Allerdings ist er empfindlich gegen Streulicht, da  das Licht der IR-LED nicht moduliert ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cny70_schem1.gif|thumb|center|600px|CNY70 als Liniensensor]]&lt;br /&gt;
&lt;br /&gt;
Der Liniensensor benötigt 2 A/D Wandler Eingänge des Prozessors. Die CNY70 sollten so nah wie möglich in Bodennähe angebracht sein (1..3mm). Der P-Kanal FET BS250 dient als Schalter für die IR LEDs des CNY70. Damit spart man Strom, wenn der Liniensensor nicht benötigt wird. Allerdings wird dafür ein weiterer Prozessor Ausgang als Enable Signal benötigt. HIGH Pegel schaltet die Sensor LEDs aus, LOW Pegel ein.  Wird keine Enable Funktion gewünscht, läßt man den BS250 einfach weg und hängt die Vorwiderstände der Sensor LEDs direkt an VCC.&lt;br /&gt;
&lt;br /&gt;
[[Bild:cny70_schem2.gif|thumb|center|600px|CNY70 als Radencoder mit Schmitt-Trigger]]&lt;br /&gt;
&lt;br /&gt;
Die Radencoder benötigen zwei digitale Eingangsports des Prozessors. A/D Wandler sind nicht nötig, da die Schmitt-Trigger Gatter für saubere Logik Signale sorgen. Die CNY70 sollten so nah wie möglch an den Rädern sitzen (1..2mm). Die gewählten Widerstandswerte für R17/R19 bzw. R18/R20 sind optimiert für Radencoder die auf Transparentfolie gedruckt und auf Aluminium Räder aufgeklebt werden. Für Radencoder die auf Papier ausgedruckt werden, sind andere Widerstandswerte notwendig.&lt;br /&gt;
Der P-Kanal FET BS250 dient als Schalter für die IR LEDs des CNY70. Damit spart man Strom, wenn der Radencoder nicht benötigt wird. Allerdings wird dafür ein weiterer Prozessor Ausgang als Enable Signal benötigt. HIGH Pegel schaltet die Sensor LEDs aus, LOW Pegel ein. Wird keine Enable Funktion gewünscht, läßt man den BS250 einfach weg und hängt die Vorwiderstände der Sensor LEDs direkt an VCC.&lt;br /&gt;
&lt;br /&gt;
===Distanzsensor IS471F===&lt;br /&gt;
&lt;br /&gt;
IS471F - Hindernisserkennung mit Infrarot Distanzsensor&lt;br /&gt;
&lt;br /&gt;
Das hier vorgestellte IC IS471F erlaubt eine einfach und sogar recht preisgünstige Hinternisserkennung per Infarot. Dazu muß im wesentlichen nur noch eine Infrarot-Diode an das IC angeschlossen werden. Das modulierte Licht wird von einem Gegenstand direkt auf das IC zurückgeworfen und somit das Hinterniss erkannt. Tageslicht/Fremdlicht stört den IS471 überhaupt nicht, da das Licht mit einer bestimmten Frequenz moduliert wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der normale Schaltungsaufbau sieht also wie oben abgebildet aus! In der Praxis kann das dann in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471beispiel.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das englische Datenblatt findet man im Roboternetz-Download-Bereich&lt;br /&gt;
&lt;br /&gt;
Die normale Reichweite ist in gewissen Grenzen abhängig von der Farbe des Hinternisses. In der Regel reicht es jedoch durchaus einige cm so das langsame Roboter durchaus sehr gut damit zurecht kommen. Durch besonders helle Infrarot LED´s und durch zusätzlich LED-Fassungen kann man die Reichweite erhöhen. Wem das noch nicht reicht, der kann über einen zusätzlichen Transistor die Strahlungsleistung der LED noch weiter erhöhen. &lt;br /&gt;
&lt;br /&gt;
[[Bild:is471verstaerkung.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/bilder/mehrereis471.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sharp Infrarotsensoren===&lt;br /&gt;
&lt;br /&gt;
Sharp hat eine ganz interessante Serie von Bausteinen herausgebracht mit denen ein Roboter sogar recht genau Entfernungen messen kann. Das Messergebnis ist nahezu unabhängig von der Farbe und Helligkeit des gemessenen Objektes. Die Ansteuerung ist sehr einfach, der Sensorausgang kann zum Beispiel direkt an einen analogen Eingang eines Mikrocontrollers angeschlossen werden. Die Sensoren sind unter den Roboter-Bastlern weit verbreitet. &lt;br /&gt;
Bei vielen Händlern erhältlich kosten die Sensoren derzeit je nach Typ und Händlerspanne zwischen 13 bis 25 Euro.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sharpentfernungssensor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oft werden selbst in kleinen Roboter-Projekten mehrere dieser Sensoren genutzt da sie nur einen äußerst engen Erfassungsbereich haben. Sie eignen sich daher sehr gut zur Vermessung einer Umgebung, insbesondere dann wenn Sie drehbar auf einem Servo montiert werden. Als Kollisionsschutz sind sie wegen dem engen Winkel nur bedingt geeignet, zu diesem Zweck eignen sich zum Beispiel Ultraschallsensoren besser.&lt;br /&gt;
Das Funktionsprinzip der Sensoren ist einfach. Der Sensor besteht aus Sender und Empfänger. Der Sender sendet einen Infrarot-Strahl aus, der vom Hindernis reflektiert wird. Je nach Entfernung trifft der reflektierte Strahl an einer unterschiedlichen Stelle auf den Empfänger (ein sog. Position Sensitive Device, PSD). Der Empfänger setzt den Auftreffpunkt in einen analogen Spannungswert um. Eine schöne Skizze dazu:  &lt;br /&gt;
&lt;br /&gt;
[[Bild:sharpfunktion.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Einige der beliebtesten Bausteine sind:'''&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D12==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
Dies ist der am häufigsten eingesetzte Sharp Typ bei mobilen Robotern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP2D12anschluss.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2YA21YK==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt &lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D120====&lt;br /&gt;
Distanz 4 - 30 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2Y0A02YK====&lt;br /&gt;
Distanz 20 - 150 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/sensoren/gp2y0a02yk_diagramm.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D02====&lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch 8 Bit Digitalausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D150====&lt;br /&gt;
Distanz 3-30 cm - 1 Bit Schaltausgang  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Datenblätter zu den oberen Sensoren findet man im Download-Bereich des Roboternetz, siehe unter [[#Weblinks]].&lt;br /&gt;
 &lt;br /&gt;
Um die analogen Spannung der Sensoren in eine Entfernung umzurechnen, kann man sich mit Hilfe des Datenblattes oder einfacher Probemessungen Tabellen erstellen, welche dann vom Controller zur Umsetzung genutzt werden.&lt;br /&gt;
Bequemer ist allerdings eine Näherungsformel:&lt;br /&gt;
&lt;br /&gt;
====Formel zur Entfernungsberechnung==== &lt;br /&gt;
 D = A/(X-B) &lt;br /&gt;
&lt;br /&gt;
 D ist die Entfernung &lt;br /&gt;
 X ist der Ausgabewert des Sensors &lt;br /&gt;
 A ist die Steigung der Kurve A/X &lt;br /&gt;
 B ist der Offset der Kurve &lt;br /&gt;
&lt;br /&gt;
Die Konstanten A und B ermittelt man am besten über zwei Probemessungen: &lt;br /&gt;
&lt;br /&gt;
D und X sind die Entfernung und der Ausgabewert der ersten Messung (z.B. bei 20 cm) &lt;br /&gt;
D' und X' sind die Entfernung und der Ausgabewert der zweiten Messung (z.B. bei 60 cm) &lt;br /&gt;
&lt;br /&gt;
 A = ((X' - X) * D' * D) /(D - D' ) &lt;br /&gt;
 B = (D' * X' - D * X) /(D' - D) &lt;br /&gt;
&lt;br /&gt;
====GP2D12 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd12kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====GPD120 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd120kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ultraschall Sensoren== &lt;br /&gt;
===Ultraschallsensoren SRF04===&lt;br /&gt;
Die Firma '''Devantech''' hat eine Serie von sehr günstigen und kleinen Ultraschallsensoren entwickelt, die sich im Bereich &amp;quot;autonome Robotersysteme&amp;quot; durchgesetzt haben. Sie sind sehr verbreitet, da sie auch für &amp;quot;Hobby-Robotiker&amp;quot; erschwinglich sind und es sich nicht lohnen würde vergleichbare Module selber zu bauen, da diese meistens ungenauer und teurer wären.&lt;br /&gt;
&lt;br /&gt;
Bekannt wurde die Serie durch den '''SRF04'''. Mit seinen kleinen Abmessungen, der niedrigen Stromaufnahme und der hohen Genauigkeit ist er für kleine Messaufgaben im Entfernungsbereich von 3cm bis 3m gut geeignet. Der SRF04 kann einen 3cm dicken Besenstiel in 2m Entfernung erkennen und wird durch ein [[PWM]]-Signal ausgewertet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf_04a.jpg]] [[Bild:srf_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ultraschallsensor SRF05===&lt;br /&gt;
Der Nachfolger des SRF04 ist der neuer SRF05. Er besitzt noch eine etwas höhere Reichweite bis 4 Meter. Zudem besitzt er neben dem kompatibel Mode zu SRF04 noch eine Betriebsart bei der er über einen einzigen Port (Pin) gesteuert wird. Das heißt sowohl der Start der Messung und das Ergebnis wird über die gleiche Leitung übertragen. [[Ultraschall SRF05 an RN-MiniControl|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Srf05mode1.jpg|center]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2diagram.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SRF08===&lt;br /&gt;
Die Alternative zu SRF04 und SRF05 ist der beliebte  '''SRF08''' und dessen Nachfolger '''SRF10''', der nun über den [[I2C]]-Bus ausgewertet werden kann und über eine Reichweite von 3cm bis 6m verfügt. Er hat eine noch kleinere Stromaufnahme und zusätzlich befindet sich auf der Platinenfront ein Fotowiderstand(LDR) dessen Lichtmesswerte sich ebenfalls über den [[I2C]]-Bus auswerten lassen. Durch den SRF08 wird es möglich auch bis zu 16 Mehrfachechos, von weiter hinten gelegenen Gegenständen, auszuwerten, die bei dem SRF04 ignoriert wurden. Über den [[I2C]]-Bus kann man die Messwerte in cm, zoll und in der Laufzeit µs auslesen und spart sich somit die externe Auswertung der Laufzeit, wie bei dem SRF04. Weiterhin können insgesamt 16 SRF08-Module an einen [[I2C]]-Bus angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf08_a.jpg]]  [[Bild:srf08_b.jpg]]&lt;br /&gt;
&lt;br /&gt;
===SRF08 Programmbeispiel===&lt;br /&gt;
SFR08 Programm Beispiel mit [[Bascom]]&lt;br /&gt;
Über die grundsätzliche Behandlung des [[I2C]]-Bus mit [[Bascom]] kann man [[I2C|hier]] nachlesen. &lt;br /&gt;
&lt;br /&gt;
 Const Sf08_adr_0 = &amp;amp;HE0             ' I2C Adresse&lt;br /&gt;
 Const Sf08_c_range = 100            ' Reichweite&lt;br /&gt;
 Const Sf08_c_gain = 1               ' Empfindlichkeit&lt;br /&gt;
&lt;br /&gt;
Die Adresse ist der Default-Wert für den Sensor, und kann eingestellt werden. &lt;br /&gt;
Range und Gain sind anzupassen, die angegeben Werte sind aber mal grundsätzlich verwendbar.&lt;br /&gt;
&lt;br /&gt;
'''Setup'''&lt;br /&gt;
Nach dem Reset sind einmal Range und Gain zu setzen.&lt;br /&gt;
&lt;br /&gt;
'''Setzen Range'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' register &amp;quot;range&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_range  &lt;br /&gt;
      I2cstop&lt;br /&gt;
 &lt;br /&gt;
'''Setzen Gain'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 1            ' register &amp;quot;gain&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_gain    &lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
'''Abfrage Trigger'''&lt;br /&gt;
&lt;br /&gt;
Die Abfrage soll laut Beschreibung in zwei Schritten erfolgen, zwischen denen ca 70 mS gewartet werden soll. Diese Zeit braucht das Gerät zum Messen. &lt;br /&gt;
&lt;br /&gt;
'''Trigger'''  &lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 0            ' register &amp;quot;Trigger&amp;quot;&lt;br /&gt;
      I2cwbyte 81           ' Meßwert in Zentimetern&lt;br /&gt;
&lt;br /&gt;
      Waitms 70 &lt;br /&gt;
&lt;br /&gt;
'''Ergebnis abholen'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM Lsb as Byte&lt;br /&gt;
 DIM Msb as Byte&lt;br /&gt;
 DIM IVal as word&lt;br /&gt;
&lt;br /&gt;
      I2cstart              ' Repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' Meßwert US&lt;br /&gt;
&lt;br /&gt;
      I2cstart                 ' repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0 + 1  ' Device I2C Adresse READ!&lt;br /&gt;
      I2crbyte Msb , Ack      ' Bit 8-15&lt;br /&gt;
      I2crbyte Lsb , Nack     ' Bit 0-7&lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
      Ival = Makeint(lsb , Msb) ' umwandeln in Word (16 Bit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SRF10 Ultraschallsensor ===&lt;br /&gt;
SRF10 ist quasi der Nachfolger von SRF08. Er bietet die gleiche Leistung und ist sogar gegenüber Spannungschankungen noch etwas unempfindlicher als der Vorgänger. Der größte Vorteil besteht jedoch darin das er ca. 1/3 kleiner als sein Vorgänger ist.   &lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10foto1.jpg]] [[Bild:srf10foto2.gif]]&lt;br /&gt;
&lt;br /&gt;
Die technischen Daten sind ähnlich:&lt;br /&gt;
* Betriebsspannung: 5V &lt;br /&gt;
* Stromaufnahme: ca. 3mA Standby, ca. 15mA während des Messens Frequenz: 40KHz &lt;br /&gt;
* Maximale Reichweite: 6 m &lt;br /&gt;
* Minimale Reichweite: 4 cm &lt;br /&gt;
* Messwerterfassung: intern, kein externer Controller zur Zeitmessung notwendig &lt;br /&gt;
* Interface: Standard – I2C (passend zu zahlreichen Controllerboards, z.B. RN-Control) &lt;br /&gt;
* Ausgabeformat: µs, cm oder Zoll &lt;br /&gt;
* Feature: Analogverstärkung 40 - 700 (einstellbar, 16 Stufen) &lt;br /&gt;
* Abmessungen: 32mm x 15mm x 10mm &lt;br /&gt;
* Hersteller: Devantech Ltd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Ultraschall_SRF10_an_RN-Control|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10ausbreitung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
=== Vergleichstabelle ===&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|{{Blaueschmaltabelle}}&lt;br /&gt;
 |&lt;br /&gt;
 |'''SRF10'''&lt;br /&gt;
 |'''SRF08'''&lt;br /&gt;
 |'''SRF05'''&lt;br /&gt;
 |'''SRF04'''&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Betr. Spannung'''&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Stromaufnahme'''&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |4mA typ,&amp;lt;br&amp;gt; 30mA max.&lt;br /&gt;
 |30mA typ,&amp;lt;br&amp;gt; 50mA max.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''US Leistung'''&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Frequenz'''&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bereich'''&lt;br /&gt;
 |72&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Reichweite'''&lt;br /&gt;
 |4cm - 6m&lt;br /&gt;
 |3cm - 6m&lt;br /&gt;
 |3cm - 4m&lt;br /&gt;
 |3cm - 3m&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Triggerimpuls'''&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Abmessung in mm'''&lt;br /&gt;
 |32 x 15 x 10&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Interface'''&lt;br /&gt;
 |I2C&lt;br /&gt;
 |I2C&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Feature'''&lt;br /&gt;
 |Minimodul&lt;br /&gt;
 |Lichtsensor&lt;br /&gt;
 |SRF04 Modus&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Preis ca. *'''&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |22,00 €&lt;br /&gt;
 |25,00 €&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''*''' Der Preis dient nur zum vergleich untereinander, nicht als Referenz !&lt;br /&gt;
&lt;br /&gt;
==Kompaß== &lt;br /&gt;
===Kompaß-Modul CMPS03===&lt;br /&gt;
Laut der Doku ist diese Modul speziell für die Bedürnisse von Robotern gestaltet worden. Es mißt seine Lage relativ zum Erdmagnetfeld und liefert diesen Wert&lt;br /&gt;
* Als PWM-Signal &lt;br /&gt;
* Über I2C entweder 0-255 als Byte oder&lt;br /&gt;
* 0-3599 als 16-Bit Wert (MSB first)&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Doku ist eine fixe I2C-Adresse von 0xC0 angegeben. Was leider noch fehlt, sind Angaben, ob und wie diese Adresse geändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Bei waagrechter(!) Montage ist das also ein Kompaß, bei senkrechter Montage dieser Module kann man auch die Neigung in Nord-Süd-Richtung messen. Hierzu sind 2 Module nötig, die zueinander um 90° gedreht angeordnet sein müssen. Die Neigung in Ost-West-Richtung zu messen, ist dagegen leider nicht möglich. Wenn ein CMPS03 als Kompass verwendet werden soll, sind zwei Dinge zu beachten: &lt;br /&gt;
* Mindestens 20 cm Abstand von Eisen(Motore)&lt;br /&gt;
* Exakte horizontale Ausrichtung.&lt;br /&gt;
Eine Montage an einem langen Stab aus Holz oder Kuststoff hoch über dem Roboter ist sinnvoll. &lt;br /&gt;
&lt;br /&gt;
Das Ganze ist eine Anwendung des Philips-KMZ51 Magnet-Feld-Sensors mittels eines PIC16F872&lt;br /&gt;
&lt;br /&gt;
Gelegentlich sollte das Modul kalibriert werden. Das kann über den I2C-Bus, aber auch mittels einen Pins am Modul initiiert werden. Dann muß das Module langsam um 360 Grad gedreht werden. Dabei nimmt das Modul 4 Meßpunkte auf und speichert sie im EEPROM. &lt;br /&gt;
&lt;br /&gt;
Ein Beispielprogramm findet man hier:&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cmps3pin.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Beschleunigung==&lt;br /&gt;
&lt;br /&gt;
Beschleunigungssensoren messen die Beschleunigung, die auf sie wirkt - wenn sie auf dem Tisch liegen, messen sie beispielsweise die Erdbeschleunigung von 1g. In einem Auto können weitere Beschleunigungen hinzukommen: Zur Seite beim Kurvenfahren, nach vorne oder hinten beim Beschleunigen, oder bei zügiger Fahrt über eine Bergkuppe auch mal welche in vertikaler Richtung.&amp;lt;br&amp;gt;&lt;br /&gt;
Beschleunigungssensoren sind meist mehrdimensional ausgelegt, so dass für mehrere Achsen ein Sensor verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
Anwendungen finden sie in ESP-Systemen in Autos, die u.a. über die Querbeschleunigung ausrechnen können, ob das Fahrzeug seitlich driftet oder gar schleudert.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine andere wichtige Aufgabe übernehmen sie zusammen mit Gyroskopen in Trägheitsnavigationssystemen, die dann sowohl die Lage im Raum als auch die Bewegung feststellen können.&lt;br /&gt;
&lt;br /&gt;
Moderne Piezo-Sensoren sind nur noch Chip-gross und können direkt in Schaltungen integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Drehung==&lt;br /&gt;
&lt;br /&gt;
Um Drehungen zu messen, werden sogenannte Gyroskope, kurz &amp;quot;Gyros&amp;quot; verwendet. Typische Vertreter sind hier die ADXRS-Familie von Analog Devices. Diese sind allerdigs, anders als die Beschleunigungssensoren, meistens nur für eine Achse ausgelegt. Die Ausgabe erfolgt meist analog, jede Ausgangsspannung entspricht einer bestimmten Drehrate in °/Sekunde.&lt;br /&gt;
&lt;br /&gt;
Gemessen wird die Auswirkung der Corioleskraft auf zwei gleiche, in Bewegung gehaltene Massen. Diese schwingen radial, d.h. 90° verdreht zu der Achse, auf der die Drehung gemessen werden soll. Wird der Sensor um die Achse gedreht, ändert sich die Geschwindigkeit dieser Massen, da sie auf einer gedachten Scheibe abwechselnd nach innen und außen wandern. Je weiter sie außen sind, desto höher ist ihre Geschwindigkeit, je weiter innen, desto langsamer sind sie. Bei der Bewegung nach außen müssen sie also beschleunigt werden, andersherum genauso. Die dabei auftretenden Beschleunigungen werden mittels einiger Fühler gemessen, die einen Plattenkondensator bilden.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung sind im Flugmodellbau Gyro-&amp;quot;Taillocks&amp;quot;, die in Hubschraubern die Heckstabilität verbessern und ESP-Systeme in Autos, die u.a. durch die Messung der Gierrate, also der Drehung des Fahrzeugs um die Hochachse, feststellen können, ob das Fahrzeug seitlich driftet oder sogar schleudert.&lt;br /&gt;
&lt;br /&gt;
==Temperatur== &lt;br /&gt;
===NTCs===&lt;br /&gt;
===PTCs===&lt;br /&gt;
&lt;br /&gt;
PTCs sind Temperatursensoren, deren Widerstand sich mit steigender Temperatur erhöht. Dazu gehören&lt;br /&gt;
&lt;br /&gt;
*PT100, PT1000 etc.&lt;br /&gt;
*Die KTYxx-xxx Reihe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== KTY: Silizium Temperatursensoren ====&lt;br /&gt;
&lt;br /&gt;
Die KTY-Temperatursensoren sind verglichen mit anderen Temperatursensoren verhältnismäßig günstig, haben dafür aber auch mehr Nachteile.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Genauigkeit ist ziemlich eingeschränkt, weshalb die KTY-Temperatursensoren zuerst kalibriert werden sollten. Dies muss Schaltungstechnisch oder in Software erfolgen, eine eingebaute Kalibrierung gibt es nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Andererseits lassen sich mittels Oversampling sehr hoch aufgelöst Temperaturen messen, was aufgrund mittelmäßiger Linearität (auch nach der Linearisierung) aber nur bei der Messung kleiner Temperaturunterschiede empfehlenswert ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Linearisiert werden die KTY an 5 Volt mit einem Reihenwiderstand von etwa 2,7 kOhm bis 3,3 kOhm.&lt;br /&gt;
&lt;br /&gt;
===Temperatur-Sensor LM75===&lt;br /&gt;
&lt;br /&gt;
[[Bild:lm75.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Dieser Chip von National Semiconductors kann die Umgebungstemperatur mit einer Genauigkeit von 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; Grad Celsius messen. Das angegebene Bereich ist -25&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; bis 100&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; C. Es wird zweierlei geboten:&lt;br /&gt;
* Ein Schaltausgang - Wenn man also z.B. einen Ventilator einschalten möchte&lt;br /&gt;
* I2C - Der obere Teil der Adresse ist fix 0x9n, die Bits 1-3 kann man mit Jumper einstellbar machen oder fest verdrahten. &lt;br /&gt;
&lt;br /&gt;
Durch einen einfachen I2C-Lesebefehl kann man die Temperatur einlesen (16-Bit), das Format ist allerdings etwas tricky. Das erste Byte (8-Bit) ist die Temperatur in ganzen Grad, als normales signed char, vom zweiten Byte gibt das MSB an, ob noch 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; '''dazuzuzählen''' sind (also auch, wenn vorne eine negative Zahl steht)  &lt;br /&gt;
&lt;br /&gt;
Der Grund ist der: die vorzeichenbehaftete 9-Bit Zahl, die da linksbündig in zwei Datenbytes übertragen wird, gibt eigentlich an, wieviel 0.5 Grad - Einheiten gemessen wurden. Rein rechnerisch wäre also Temperatur = Wert * 0.5, das müßte man aber als float durchführen oder erweitern&lt;br /&gt;
&lt;br /&gt;
===Programm-Beispiel für LM75===&lt;br /&gt;
Der LM75 wird über den [[I2C]]-Bus angesprochen&lt;br /&gt;
In BasCom, wo es ja keine signed char gibt, wird das Interpretieren auf sehr unterschiedliche Art empfohlen. &lt;br /&gt;
&lt;br /&gt;
Ich empfehle:&lt;br /&gt;
&lt;br /&gt;
 dim Ival as integer&lt;br /&gt;
 dim Msb as byte&lt;br /&gt;
 dim Lsb as byte&lt;br /&gt;
         I2cstart&lt;br /&gt;
         I2cwbyte &amp;amp;H91   ' Lese-adresse !  &lt;br /&gt;
         If Err = 1 Then&lt;br /&gt;
            I2cstop       ' kein ACK vom LM75 --&amp;gt; irgendein Fehler&lt;br /&gt;
            Ival = 9999   ' Zeichen, daß der Wert ungültig ist !&lt;br /&gt;
         Else&lt;br /&gt;
            I2crbyte Msb , Ack&lt;br /&gt;
            I2crbyte Lsb , Nack&lt;br /&gt;
            I2cstop&lt;br /&gt;
            If Msb.7 = 1 Then&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;HFF)   ' auffüllen mit den Vorzeichen bits&lt;br /&gt;
            Else&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;H00)   ' positiv, also bleibt es so&lt;br /&gt;
            End If&lt;br /&gt;
            Ival = Ival * 10                ' erweitern &lt;br /&gt;
            If Lsb.7 = 1 Then&lt;br /&gt;
              Ival = Ival + 5               ' fünf Zehntel Grad dazu &lt;br /&gt;
            End If&lt;br /&gt;
         End if&lt;br /&gt;
&lt;br /&gt;
das ergibt die Temperatur in Zehntel-Grad (Natürlich nur, wenn's keine Fehler gab).&lt;br /&gt;
&lt;br /&gt;
==Resistive Sensoren==&lt;br /&gt;
...&lt;br /&gt;
==Kapazitive Sensoren==&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel für kapazitive Sensoren sind Luftfeuchtigkeitsmesser, die ihre Kapazität entsprechend der Luftfeuchtigkeit ändern. Das Auslesen der Kapazität kann prinzipiell über das Ausmessen von Ladekurven geschehen. Dies ist jedoch bei kleinen Kapazitäten nicht praktisch durchführbar, weshalb man in diesem Falle meist einen Schwingkreis baut, dessen Frequenz man dann misst und so dann zusammen mit der bekannten Induktivität der Spule die Kapazität des Kondensators ausrechnen kann.&lt;br /&gt;
&lt;br /&gt;
==Induktive Sensoren==&lt;br /&gt;
Induktiver Näherungsschalter&lt;br /&gt;
&lt;br /&gt;
Sensoren die ihre Induktivität entsprechend der Messgröße ändern können auch mit Hilfe eines Schwingkreises mit bekannter Kapazität ausgemessen werden.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Piezoelektrische Sensoren==&lt;br /&gt;
Hier ist ein Experiment dargestellt das die Funktion von Piezowandlern demonstriert.&lt;br /&gt;
&lt;br /&gt;
Drückt man auf eine längliche Glasplatte (Mikroskopträger Länge 76mm), die an den Enden auf je einem Piezo Wandler gelagert ist, dann ergeben sich Signale, die von den Kräften auf die Wandler abhängig sind. &lt;br /&gt;
&lt;br /&gt;
Die Summe der beiden Kräfte entspricht der Gesamtkraft. Das Verhältnis der beiden Kräfte entspricht dem Verhältnis der Abstände des Druckpunktes zum Wandler. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Piezowandler.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Versuch wurde mit der Frequenz von ca. 4Hz (0,5s/div) von einem Ende bis zum anderen auf die Platte gedrückt. (Tonleiter). Die Signale der beiden Wandler sind im Oszillogramm aufgetragen und die Folge der Druck-Positionen ist auf den ersten Blick schon mal nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
==PIR Passiv Infrarot Sensoren==&lt;br /&gt;
Hier handelt es sich um Passiv-Infrarot-Bewegungsmelder. Bewegungsmelder regieren beim Eintritt einer Person (Tier) in das Erfassungsfeld des Sensors. Die Anwendungsmöglichkeiten sind nahezu unbegrenzt, man kennt die Technik ja von vielen Terrassenlampen, welche sich beim vorbeigehen automatisch einschalten.&lt;br /&gt;
Reagiert wird also auf Die Körperwärme einer sich im Erfassungsfeld bewegenden Person.&lt;br /&gt;
[[Bild:pir.jpg|right]]&lt;br /&gt;
Zum Prinzip: &lt;br /&gt;
Wärmestrahlen, die einen Erfassungsvorgang auslösen, liegen im Infrarot-Bereich des Wellenspektrums. In diesem Bereich gibt der menschliche Körper seine Wärmestrahlung ab. Leuchtmittel wie Glüh- , Halogen- und Entladungslampen, die für eine Strahlung im sichtbaren Bereich um 0,555 μm entwickelt wurden, geben jedoch auch einen erheblichen Teil an Wärmestrahlung im Infrarot-Bereich ab.&lt;br /&gt;
Im Spektrum oberhalb des sichtbaren Licht, ab 0,780 μm, beginnt der Infrarot-Bereich. Die Wellenlänge&lt;br /&gt;
dieser IR-Strahlung ist abhängig von der Temperatur eines Körpers. Die Wärmestrahlung&lt;br /&gt;
des Menschen hat ihr Maximum zwischen 9 und 10 μm im Infrarot-Bereich.&lt;br /&gt;
Diese Tatsache nutzt der PIR Sensor mittels sogenannter pyroelektrischer IRDetektoren, welche eine hohe Empfindlichkeit im langwelligen Infrarot-Bereich aufweisen. Die Infrarot-&lt;br /&gt;
Strahlung verhält sich ähnlich wie sichtbares Licht. Sie kann reflektiert und durch Linsen&lt;br /&gt;
gebündelt werden.&lt;br /&gt;
Basis eines solchen IR-Detektors (Sensors) sind Lithium-Tantalatkristalle. Diese Kristalle erzeugen,&lt;br /&gt;
bei Wärmeänderung (positive oder negative Temperaturänderung), eine elektrische Spannung.&lt;br /&gt;
Die von den Kristallen abgegebene Spannung liegt im Bereich von einigen μV (μV = millionstel Volt) und ist von folgenden Bedingungen abhängig: &lt;br /&gt;
* Der Intensität der Wärmequelle (Temperatur und Größe)&lt;br /&gt;
* Dem Umgebungsmedium (Temperatur, unterschiedliche Luftfeuchtigkeit)&lt;br /&gt;
* Der Entfernung zwischen Wärmequelle und IR-Sensor&lt;br /&gt;
* Der Bewegungsgeschwindigkeit und Bewegungsrichtung der Wärmequelle&lt;br /&gt;
* Der Empfindlichkeit des PIR-Elementes (frequenzabhängiges Bandpaßverhalten mit Maximum bei ca. 0,1 Hz)&lt;br /&gt;
&lt;br /&gt;
Zur Unterdrückung von Einflüssen aus der Umgebung (übliche wetterbedingte Temperaturänderungen), sind in jedem Sensor 2 Kristalle antiparallel geschaltet. &lt;br /&gt;
Einer der Kristalle gibt, bei Auftreffen von Wärmestrahlung einen positiven, der andere einen negativen Spannungsimpuls ab. Wärmeänderungen die gleichzeitig und mit gleicher Intensität auf beide Kristalle einwirken lösen so keinen Erfassungsvorgang aus, denn die beiden Impulse heben sich gegenseitig auf. Dadurch ist ein Auslösen bei Wärmeänderungen der Umgebung weitgehend ausgeschlossen.&lt;br /&gt;
Anders verhält es sich bei schnellen Bewegungen. Die Lithiumtantalat-Kristalle geben, entsprechend&lt;br /&gt;
der Bewegung und der dadurch hervorgerufenen Wärmeänderung im Erfassungsfeld, ihre&lt;br /&gt;
Impulse zeitversetzt ab. Die beiden Impulse addieren sich zu einer Wechselgröße mit höherer&lt;br /&gt;
Signalamplitude. Dieses elektrische Ausgangssignalist proportional der Wärmeänderung und führt zur Meldung einer Bewegung.&lt;br /&gt;
&lt;br /&gt;
==Autoren==&lt;br /&gt;
* [[Benutzer:PicNick|PicNick]]&lt;br /&gt;
* [[Benutzer:Frank|Frank]] &lt;br /&gt;
* [[Benutzer:Dennis.strehl|Dennis.strehl]]&lt;br /&gt;
* [[Benutzer:Florian|Florian]]&lt;br /&gt;
* Topic&lt;br /&gt;
* [[Benutzer:Manf|Manf]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Navigation]]&lt;br /&gt;
* [[Sensoren]]&lt;br /&gt;
* [[Graycode]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF05 an RN-MiniControl]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
*[http://www.ikm.uni-karlsruhe.de/forschung/pzt_webseiten/de/grundlagen/pyro.html Piezoelektrische Sensoren]&lt;br /&gt;
*[http://www.roboternetz.de/phpBB2/dload.php?action=category&amp;amp;cat_id=2 Datenblätter im Download-Bereich des Roboternetz]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8658</id>
		<title>Sensorarten</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Sensorarten&amp;diff=8658"/>
				<updated>2006-09-13T09:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* Kompaß-Modul CMPS03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welche Sensorarten gibt es==&lt;br /&gt;
Damit sich ein Roboter in seiner Umgebung bewegen kann, ohne an Hindernisse anzustoßen, und damit er ein Ziel finden und ansteuern kann, muß er irgendwie seine Umwelt &amp;quot;wahrnehmen&amp;quot;. &lt;br /&gt;
Hauptanwendung für diese Informationen aus der Umwelt ist die [[Navigation]]&lt;br /&gt;
&lt;br /&gt;
==Bumpers==&lt;br /&gt;
Als Bumpers bezeichnet man eine Art Stoßstange, die einen Mikro-Switch auslöst. &lt;br /&gt;
&lt;br /&gt;
[[Bild:microschalter.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung erfolgt am besten digital an einem Pin mit Pull-up Widerstand. Man kann den Eingang pollen (abfragen), aber auch einen Interrupt auslösen lassen. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Whiskers (Fühler)==&lt;br /&gt;
Das sind flexible Kunststoff-Streifen von ca. 10 cm Länge, eigentlich für Datenhandschuhe vorgesehen. Aber man kann sie auch als Fühler einsetzen, und daher auch für die Kollisions-Sensorik verwenden. Beim Verbiegen steigt der Widerstand an.  &lt;br /&gt;
&lt;br /&gt;
[[Bild:flexs_200.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Um zu messen, wird mit einem zweiten Widerstand ein Spannungsteiler aufgebaut, der dann mit einem Analog-Eingang einen Grad der Verbiegung erkennen läßt. Sie werden häufig auch Flexsensoren genannt. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incremental-Geber==&lt;br /&gt;
Dienen zur Erfassung von Drehzahl bzw. der Messung von Wegstrecken&lt;br /&gt;
===Drehgeber Sharp GP1A30 und GP1A38===&lt;br /&gt;
&lt;br /&gt;
[[Bild:gp1a30.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
Beim Sharp GP1A30 und GP1A38 handelt es sich um Gabellichtschranken mit inkrementaler Drehgeberfunktion. Beide sind im Grunde von den Anschlüssen identisch, lediglich kann GP1A38 noch etwas höhere Drehzahlen messen. Im Gegensatz zu herkömmlichen Gabellichtschranken können mit dieser sowohl Drehzahl als auch Drehrichtung ermittelt werden. Notwendig sind dafür nur 2 digitale Ports. Verzichtet man auf die Auswertung der Drehrichtung, reicht nur ein Port.&lt;br /&gt;
Der Sensor hat den Vorteil das die Signale bereits TTL kompatibel sind und direkt an ein Controllerboard angeschlossen werden können. Ein Beispielprogramm zu [[RN-Control]] findet man hier&lt;br /&gt;
&lt;br /&gt;
* [[Beispiel Drehzahlmessung mit RN-Control]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP1A30.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Die Auswertung inkrementaler Drehgeber ist recht einfach. Ein Ausgang liefert einen Impuls pro Markierung (Scheibe auf der Welle). Prüft man bei jedem Impuls (Flanke) noch gleichzeitig den aktuellen Pegel des zweiten Ausganges, so kann daraus die Drehrichtung abgeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Der Signalverlauf an den Sensorausgängen ist phasenversetzt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:inkremental1.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:drehgeber_an_rncontrol.gif|center|framed|Beispielschaltung wenn man lediglich die Drehzahl ohne Drehrichtung auswerten möchte. Als Widerstand hat sich 330 Ohm als gut erwiesen.]]&lt;br /&gt;
&lt;br /&gt;
==Optische Sensoren==&lt;br /&gt;
===Helligkeit=== &lt;br /&gt;
Die Hauptanwendung solcher Sensoren ist, den hellsten Fleck im Raum zu finden.&lt;br /&gt;
Dies ist auch Teil vieler Roboterwettbewerbe. (Robo Callenge (2002 sic!), 'Ein Platz an der Sonne')&lt;br /&gt;
&lt;br /&gt;
Solche Sensoren können einfache [[LDR]]s oder [[Photodioden]] bzw. [[Phototransistoren]] sein.&lt;br /&gt;
LDRs haben den Vorteil, dass sie relativ hoch aussteuern, der große Nachteil ist aber, dass diese Sensoren ziemlich Wärmeempfindlich und etwas träge.&lt;br /&gt;
Photodioden und Phototransistoren haben den Vorteil, dass sie sehr genau sind, aber nicht besonders hoch aussteuern. Diese sollte man evtl. über einen OpAmp verstärken.&lt;br /&gt;
&lt;br /&gt;
[[Bild:fotowiderstand.jpg|center|framed|Ein typischer Fotowiderstand]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:SFH300.jpg|center|framed|SFH300, ein typischer Phototransistor]]&lt;br /&gt;
&lt;br /&gt;
Die Suche nach dem Hellsten Fleck im Rraum ist wie ich finde ein gutes Einsteigerthema!&lt;br /&gt;
&lt;br /&gt;
===CNY70===&lt;br /&gt;
&lt;br /&gt;
Der CNY70 ist ein Foto-Reflex Optokoppler. In einem würfelförmigem Gehäuse befindet sich eine Infrarot LED als Sender und ein Infrarot Fototransistor als Empfänger. Damit kann auf kurze Entfernung (wenige Millimeter) das reflektierte Licht der IR-LED durch den IR-Fototransistor gemessen werden.  &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Bild:cny70.jpg|thumb|200px|CNY70]]&lt;br /&gt;
|[[Bild:cny70_pinout.jpg|framed|CNY70 Vishay Pinout]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Achtung:''' Es existiert auch noch ein CNY70 von Temic mit anderer Pinbelegung, dort ist der Fototransistor verdreht eingebaut.&lt;br /&gt;
&lt;br /&gt;
Der CNY70 eignet sich für eine Vielzahl von Sensoren. Z.B. als Liniensensor, Radencoder, Abgrunddetektor und Lichtschranke. Allerdings ist er empfindlich gegen Streulicht, da  das Licht der IR-LED nicht moduliert ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cny70_schem1.gif|thumb|center|600px|CNY70 als Liniensensor]]&lt;br /&gt;
&lt;br /&gt;
Der Liniensensor benötigt 2 A/D Wandler Eingänge des Prozessors. Die CNY70 sollten so nah wie möglich in Bodennähe angebracht sein (1..3mm). Der P-Kanal FET BS250 dient als Schalter für die IR LEDs des CNY70. Damit spart man Strom, wenn der Liniensensor nicht benötigt wird. Allerdings wird dafür ein weiterer Prozessor Ausgang als Enable Signal benötigt. HIGH Pegel schaltet die Sensor LEDs aus, LOW Pegel ein.  Wird keine Enable Funktion gewünscht, läßt man den BS250 einfach weg und hängt die Vorwiderstände der Sensor LEDs direkt an VCC.&lt;br /&gt;
&lt;br /&gt;
[[Bild:cny70_schem2.gif|thumb|center|600px|CNY70 als Radencoder mit Schmitt-Trigger]]&lt;br /&gt;
&lt;br /&gt;
Die Radencoder benötigen zwei digitale Eingangsports des Prozessors. A/D Wandler sind nicht nötig, da die Schmitt-Trigger Gatter für saubere Logik Signale sorgen. Die CNY70 sollten so nah wie möglch an den Rädern sitzen (1..2mm). Die gewählten Widerstandswerte für R17/R19 bzw. R18/R20 sind optimiert für Radencoder die auf Transparentfolie gedruckt und auf Aluminium Räder aufgeklebt werden. Für Radencoder die auf Papier ausgedruckt werden, sind andere Widerstandswerte notwendig.&lt;br /&gt;
Der P-Kanal FET BS250 dient als Schalter für die IR LEDs des CNY70. Damit spart man Strom, wenn der Radencoder nicht benötigt wird. Allerdings wird dafür ein weiterer Prozessor Ausgang als Enable Signal benötigt. HIGH Pegel schaltet die Sensor LEDs aus, LOW Pegel ein. Wird keine Enable Funktion gewünscht, läßt man den BS250 einfach weg und hängt die Vorwiderstände der Sensor LEDs direkt an VCC.&lt;br /&gt;
&lt;br /&gt;
===Distanzsensor IS471F===&lt;br /&gt;
&lt;br /&gt;
IS471F - Hindernisserkennung mit Infrarot Distanzsensor&lt;br /&gt;
&lt;br /&gt;
Das hier vorgestellte IC IS471F erlaubt eine einfach und sogar recht preisgünstige Hinternisserkennung per Infarot. Dazu muß im wesentlichen nur noch eine Infrarot-Diode an das IC angeschlossen werden. Das modulierte Licht wird von einem Gegenstand direkt auf das IC zurückgeworfen und somit das Hinterniss erkannt. Tageslicht/Fremdlicht stört den IS471 überhaupt nicht, da das Licht mit einer bestimmten Frequenz moduliert wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der normale Schaltungsaufbau sieht also wie oben abgebildet aus! In der Praxis kann das dann in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:is471beispiel.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das englische Datenblatt findet man im Roboternetz-Download-Bereich&lt;br /&gt;
&lt;br /&gt;
Die normale Reichweite ist in gewissen Grenzen abhängig von der Farbe des Hinternisses. In der Regel reicht es jedoch durchaus einige cm so das langsame Roboter durchaus sehr gut damit zurecht kommen. Durch besonders helle Infrarot LED´s und durch zusätzlich LED-Fassungen kann man die Reichweite erhöhen. Wem das noch nicht reicht, der kann über einen zusätzlichen Transistor die Strahlungsleistung der LED noch weiter erhöhen. &lt;br /&gt;
&lt;br /&gt;
[[Bild:is471verstaerkung.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.roboternetz.de/bilder/mehrereis471.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sharp Infrarotsensoren===&lt;br /&gt;
&lt;br /&gt;
Sharp hat eine ganz interessante Serie von Bausteinen herausgebracht mit denen ein Roboter sogar recht genau Entfernungen messen kann. Das Messergebnis ist nahezu unabhängig von der Farbe und Helligkeit des gemessenen Objektes. Die Ansteuerung ist sehr einfach, der Sensorausgang kann zum Beispiel direkt an einen analogen Eingang eines Mikrocontrollers angeschlossen werden. Die Sensoren sind unter den Roboter-Bastlern weit verbreitet. &lt;br /&gt;
Bei vielen Händlern erhältlich kosten die Sensoren derzeit je nach Typ und Händlerspanne zwischen 13 bis 25 Euro.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Bild:Sharpentfernungssensor.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oft werden selbst in kleinen Roboter-Projekten mehrere dieser Sensoren genutzt da sie nur einen äußerst engen Erfassungsbereich haben. Sie eignen sich daher sehr gut zur Vermessung einer Umgebung, insbesondere dann wenn Sie drehbar auf einem Servo montiert werden. Als Kollisionsschutz sind sie wegen dem engen Winkel nur bedingt geeignet, zu diesem Zweck eignen sich zum Beispiel Ultraschallsensoren besser.&lt;br /&gt;
Das Funktionsprinzip der Sensoren ist einfach. Der Sensor besteht aus Sender und Empfänger. Der Sender sendet einen Infrarot-Strahl aus, der vom Hindernis reflektiert wird. Je nach Entfernung trifft der reflektierte Strahl an einer unterschiedlichen Stelle auf den Empfänger (ein sog. Position Sensitive Device, PSD). Der Empfänger setzt den Auftreffpunkt in einen analogen Spannungswert um. Eine schöne Skizze dazu:  &lt;br /&gt;
&lt;br /&gt;
[[Bild:sharpfunktion.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Einige der beliebtesten Bausteine sind:'''&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D12==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
Dies ist der am häufigsten eingesetzte Sharp Typ bei mobilen Robotern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:GP2D12anschluss.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2YA21YK==== &lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt &lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D120====&lt;br /&gt;
Distanz 4 - 30 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2Y0A02YK====&lt;br /&gt;
Distanz 20 - 150 cm - Entfernung wird durch analoge Spannung am Ausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
http://www.shop.robotikhardware.de/shop/catalog/images/artikelbilder/sensoren/gp2y0a02yk_diagramm.gif&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D02====&lt;br /&gt;
Distanz 10 - 80 cm - Entfernung wird durch 8 Bit Digitalausgang übermittelt&lt;br /&gt;
&lt;br /&gt;
====Sharp GP2D150====&lt;br /&gt;
Distanz 3-30 cm - 1 Bit Schaltausgang  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Datenblätter zu den oberen Sensoren findet man im Download-Bereich des Roboternetz, siehe unter [[#Weblinks]].&lt;br /&gt;
 &lt;br /&gt;
Um die analogen Spannung der Sensoren in eine Entfernung umzurechnen, kann man sich mit Hilfe des Datenblattes oder einfacher Probemessungen Tabellen erstellen, welche dann vom Controller zur Umsetzung genutzt werden.&lt;br /&gt;
Bequemer ist allerdings eine Näherungsformel:&lt;br /&gt;
&lt;br /&gt;
====Formel zur Entfernungsberechnung==== &lt;br /&gt;
 D = A/(X-B) &lt;br /&gt;
&lt;br /&gt;
 D ist die Entfernung &lt;br /&gt;
 X ist der Ausgabewert des Sensors &lt;br /&gt;
 A ist die Steigung der Kurve A/X &lt;br /&gt;
 B ist der Offset der Kurve &lt;br /&gt;
&lt;br /&gt;
Die Konstanten A und B ermittelt man am besten über zwei Probemessungen: &lt;br /&gt;
&lt;br /&gt;
D und X sind die Entfernung und der Ausgabewert der ersten Messung (z.B. bei 20 cm) &lt;br /&gt;
D' und X' sind die Entfernung und der Ausgabewert der zweiten Messung (z.B. bei 60 cm) &lt;br /&gt;
&lt;br /&gt;
 A = ((X' - X) * D' * D) /(D - D' ) &lt;br /&gt;
 B = (D' * X' - D * X) /(D' - D) &lt;br /&gt;
&lt;br /&gt;
====GP2D12 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd12kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
====GPD120 Messkurve====&lt;br /&gt;
&lt;br /&gt;
[[Bild:gpd120kurve.gif|center]]&lt;br /&gt;
&lt;br /&gt;
==Ultraschall Sensoren== &lt;br /&gt;
===Ultraschallsensoren SRF04===&lt;br /&gt;
Die Firma '''Devantech''' hat eine Serie von sehr günstigen und kleinen Ultraschallsensoren entwickelt, die sich im Bereich &amp;quot;autonome Robotersysteme&amp;quot; durchgesetzt haben. Sie sind sehr verbreitet, da sie auch für &amp;quot;Hobby-Robotiker&amp;quot; erschwinglich sind und es sich nicht lohnen würde vergleichbare Module selber zu bauen, da diese meistens ungenauer und teurer wären.&lt;br /&gt;
&lt;br /&gt;
Bekannt wurde die Serie durch den '''SRF04'''. Mit seinen kleinen Abmessungen, der niedrigen Stromaufnahme und der hohen Genauigkeit ist er für kleine Messaufgaben im Entfernungsbereich von 3cm bis 3m gut geeignet. Der SRF04 kann einen 3cm dicken Besenstiel in 2m Entfernung erkennen und wird durch ein [[PWM]]-Signal ausgewertet.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf_04a.jpg]] [[Bild:srf_04.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ultraschallsensor SRF05===&lt;br /&gt;
Der Nachfolger des SRF04 ist der neuer SRF05. Er besitzt noch eine etwas höhere Reichweite bis 4 Meter. Zudem besitzt er neben dem kompatibel Mode zu SRF04 noch eine Betriebsart bei der er über einen einzigen Port (Pin) gesteuert wird. Das heißt sowohl der Start der Messung und das Ergebnis wird über die gleiche Leitung übertragen. [[Ultraschall SRF05 an RN-MiniControl|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:Srf05mode1.jpg|center]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf05mode2diagram.gif|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SRF08===&lt;br /&gt;
Die Alternative zu SRF04 und SRF05 ist der beliebte  '''SRF08''' und dessen Nachfolger '''SRF10''', der nun über den [[I2C]]-Bus ausgewertet werden kann und über eine Reichweite von 3cm bis 6m verfügt. Er hat eine noch kleinere Stromaufnahme und zusätzlich befindet sich auf der Platinenfront ein Fotowiderstand(LDR) dessen Lichtmesswerte sich ebenfalls über den [[I2C]]-Bus auswerten lassen. Durch den SRF08 wird es möglich auch bis zu 16 Mehrfachechos, von weiter hinten gelegenen Gegenständen, auszuwerten, die bei dem SRF04 ignoriert wurden. Über den [[I2C]]-Bus kann man die Messwerte in cm, zoll und in der Laufzeit µs auslesen und spart sich somit die externe Auswertung der Laufzeit, wie bei dem SRF04. Weiterhin können insgesamt 16 SRF08-Module an einen [[I2C]]-Bus angeschlossen werden.&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf08_a.jpg]]  [[Bild:srf08_b.jpg]]&lt;br /&gt;
&lt;br /&gt;
===SRF08 Programmbeispiel===&lt;br /&gt;
SFR08 Programm Beispiel mit [[Bascom]]&lt;br /&gt;
Über die grundsätzliche Behandlung des [[I2C]]-Bus mit [[Bascom]] kann man [[I2C|hier]] nachlesen. &lt;br /&gt;
&lt;br /&gt;
 Const Sf08_adr_0 = &amp;amp;HE0             ' I2C Adresse&lt;br /&gt;
 Const Sf08_c_range = 100            ' Reichweite&lt;br /&gt;
 Const Sf08_c_gain = 1               ' Empfindlichkeit&lt;br /&gt;
&lt;br /&gt;
Die Adresse ist der Default-Wert für den Sensor, und kann eingestellt werden. &lt;br /&gt;
Range und Gain sind anzupassen, die angegeben Werte sind aber mal grundsätzlich verwendbar.&lt;br /&gt;
&lt;br /&gt;
'''Setup'''&lt;br /&gt;
Nach dem Reset sind einmal Range und Gain zu setzen.&lt;br /&gt;
&lt;br /&gt;
'''Setzen Range'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' register &amp;quot;range&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_range  &lt;br /&gt;
      I2cstop&lt;br /&gt;
 &lt;br /&gt;
'''Setzen Gain'''&lt;br /&gt;
&lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 1            ' register &amp;quot;gain&amp;quot;&lt;br /&gt;
      I2cwbyte Sf08_c_gain    &lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
'''Abfrage Trigger'''&lt;br /&gt;
&lt;br /&gt;
Die Abfrage soll laut Beschreibung in zwei Schritten erfolgen, zwischen denen ca 70 mS gewartet werden soll. Diese Zeit braucht das Gerät zum Messen. &lt;br /&gt;
&lt;br /&gt;
'''Trigger'''  &lt;br /&gt;
      I2cstart&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 0            ' register &amp;quot;Trigger&amp;quot;&lt;br /&gt;
      I2cwbyte 81           ' Meßwert in Zentimetern&lt;br /&gt;
&lt;br /&gt;
      Waitms 70 &lt;br /&gt;
&lt;br /&gt;
'''Ergebnis abholen'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 DIM Lsb as Byte&lt;br /&gt;
 DIM Msb as Byte&lt;br /&gt;
 DIM IVal as word&lt;br /&gt;
&lt;br /&gt;
      I2cstart              ' Repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0   ' Device I2C Adresse&lt;br /&gt;
      I2cwbyte 2            ' Meßwert US&lt;br /&gt;
&lt;br /&gt;
      I2cstart                 ' repeated Start&lt;br /&gt;
      I2cwbyte Sf08_adr_0 + 1  ' Device I2C Adresse READ!&lt;br /&gt;
      I2crbyte Msb , Ack      ' Bit 8-15&lt;br /&gt;
      I2crbyte Lsb , Nack     ' Bit 0-7&lt;br /&gt;
      I2cstop&lt;br /&gt;
&lt;br /&gt;
      Ival = Makeint(lsb , Msb) ' umwandeln in Word (16 Bit)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SRF10 Ultraschallsensor ===&lt;br /&gt;
SRF10 ist quasi der Nachfolger von SRF08. Er bietet die gleiche Leistung und ist sogar gegenüber Spannungschankungen noch etwas unempfindlicher als der Vorgänger. Der größte Vorteil besteht jedoch darin das er ca. 1/3 kleiner als sein Vorgänger ist.   &lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10foto1.jpg]] [[Bild:srf10foto2.gif]]&lt;br /&gt;
&lt;br /&gt;
Die technischen Daten sind ähnlich:&lt;br /&gt;
* Betriebsspannung: 5V &lt;br /&gt;
* Stromaufnahme: ca. 3mA Standby, ca. 15mA während des Messens Frequenz: 40KHz &lt;br /&gt;
* Maximale Reichweite: 6 m &lt;br /&gt;
* Minimale Reichweite: 4 cm &lt;br /&gt;
* Messwerterfassung: intern, kein externer Controller zur Zeitmessung notwendig &lt;br /&gt;
* Interface: Standard – I2C (passend zu zahlreichen Controllerboards, z.B. RN-Control) &lt;br /&gt;
* Ausgabeformat: µs, cm oder Zoll &lt;br /&gt;
* Feature: Analogverstärkung 40 - 700 (einstellbar, 16 Stufen) &lt;br /&gt;
* Abmessungen: 32mm x 15mm x 10mm &lt;br /&gt;
* Hersteller: Devantech Ltd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Ultraschall_SRF10_an_RN-Control|Programmbeispiel in Bascom]]&lt;br /&gt;
&lt;br /&gt;
[[Bild:srf10ausbreitung.gif|center]]&lt;br /&gt;
&lt;br /&gt;
=== Vergleichstabelle ===&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
{|{{Blaueschmaltabelle}}&lt;br /&gt;
 |&lt;br /&gt;
 |'''SRF10'''&lt;br /&gt;
 |'''SRF08'''&lt;br /&gt;
 |'''SRF05'''&lt;br /&gt;
 |'''SRF04'''&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Betr. Spannung'''&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |5V&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Stromaufnahme'''&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |3mA typ,&amp;lt;br&amp;gt; 15mA max.&lt;br /&gt;
 |4mA typ,&amp;lt;br&amp;gt; 30mA max.&lt;br /&gt;
 |30mA typ,&amp;lt;br&amp;gt; 50mA max.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''US Leistung'''&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |100 – 150mW&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Frequenz'''&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |40kHz&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Bereich'''&lt;br /&gt;
 |72&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |55&amp;amp;ordm;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Reichweite'''&lt;br /&gt;
 |4cm - 6m&lt;br /&gt;
 |3cm - 6m&lt;br /&gt;
 |3cm - 4m&lt;br /&gt;
 |3cm - 3m&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Triggerimpuls'''&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |10µs min.&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Abmessung in mm'''&lt;br /&gt;
 |32 x 15 x 10&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |43 x 20 x 17&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Interface'''&lt;br /&gt;
 |I2C&lt;br /&gt;
 |I2C&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |TTL Impuls&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Feature'''&lt;br /&gt;
 |Minimodul&lt;br /&gt;
 |Lichtsensor&lt;br /&gt;
 |SRF04 Modus&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Preis ca. *'''&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |44,00 €&lt;br /&gt;
 |22,00 €&lt;br /&gt;
 |25,00 €&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''*''' Der Preis dient nur zum vergleich untereinander, nicht als Referenz !&lt;br /&gt;
&lt;br /&gt;
==Kompaß== &lt;br /&gt;
===Kompaß-Modul CMPS03===&lt;br /&gt;
Laut der Doku ist diese Modul speziell für die Bedürnisse von Robotern gestaltet worden. Es mißt seine Lage relativ zum Erdmagnetfeld und liefert diesen Wert&lt;br /&gt;
* Als PWM-Signal &lt;br /&gt;
* Über I2C entweder 0-255 als Byte oder&lt;br /&gt;
* 0-3599 als 16-Bit Wert (MSB first)&lt;br /&gt;
&lt;br /&gt;
In der vorliegenden Doku ist eine fixe I2C-Adresse von 0xC0 angegeben. Was leider noch fehlt, sind Angaben, ob und wie diese Adresse geändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Bei waagrechter(!) Montage ist das also ein Kompaß, bei senkrechter Montage dieser Module kann man auch die Neigung in Nord-Süd-Richtung messen. Hierzu sind 2 Module nötig, die zueinander um 90° gedreht angeordnet sein müssen. Die Neigung in Ost-West-Richtung zu messen, ist dagegen leider nicht möglich. Wenn ein CMPS03 als Kompass verwendet werden soll, sind zwei Dinge zu beachten: &lt;br /&gt;
* Mindestens 20 cm Abstand von Eisen(Motore)&lt;br /&gt;
* Exakte horizontale Ausrichtung.&lt;br /&gt;
Eine Montage an einem langen Stab aus Holz oder Kuststoff hoch über dem Roboter ist sinnvoll. &lt;br /&gt;
&lt;br /&gt;
Das Ganze ist eine Anwendung des Philips-KMZ51 Magnet-Feld-Sensors mittels eines PIC16F872&lt;br /&gt;
&lt;br /&gt;
Gelegentlich sollte das Modul kalibriert werden. Das kann über den I2C-Bus, aber auch mittels einen Pins am Modul initiiert werden. Dann muß das Module langsam um 360 Grad gedreht werden. Dabei nimmt das Modul 4 Meßpunkte auf und speichert sie im EEPROM. &lt;br /&gt;
&lt;br /&gt;
Ein Beispielprogramm findet man hier:&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:cmps3pin.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
==Beschleunigung==&lt;br /&gt;
&lt;br /&gt;
Beschleunigungssensoren messen die Beschleunigung, die auf sie wirkt - wenn sie auf dem Tisch liegen, messen sie beispielsweise die Erdbeschleunigung von 1g. In einem Auto können weitere Beschleunigungen hinzukommen: Zur Seite beim Kurvenfahren, nach vorne oder hinten beim Beschleunigen, oder bei zügiger Fahrt über eine Bergkuppe auch mal welche in vertikaler Richtung.&amp;lt;br&amp;gt;&lt;br /&gt;
Beschleunigungssensoren sind meist mehrdimensional ausgelegt, so dass für mehrere Achsen ein Sensor verwendet werden kann.&lt;br /&gt;
&lt;br /&gt;
Anwendungen finden sie in ESP-Systemen in Autos, die u.a. über die Querbeschleunigung ausrechnen können, ob das Fahrzeug seitlich driftet oder gar schleudert.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine andere wichtige Aufgabe übernehmen sie zusammen mit Gyroskopen in Trägheitsnavigationssystemen, die dann sowohl die Lage im Raum als auch die Bewegung feststellen können.&lt;br /&gt;
&lt;br /&gt;
Moderne Piezo-Sensoren sind nur noch Chip-gross und können direkt in Schaltungen integriert werden.&lt;br /&gt;
&lt;br /&gt;
==Drehung==&lt;br /&gt;
&lt;br /&gt;
Um Drehungen zu messen, werden sogenannte Gyroskope, kurz &amp;quot;Gyros&amp;quot; verwendet. Typische Vertreter sind hier die ADXRS-Familie von Analog Devices. Diese sind allerdigs, anders als die Beschleunigungssensoren, meistens nur für eine Achse ausgelegt. Die Ausgabe erfolgt meist analog, jede Ausgangsspannung entspricht einer bestimmten Drehrate in °/Sekunde.&lt;br /&gt;
&lt;br /&gt;
Gemessen wird die Auswirkung der Corioleskraft auf zwei gleiche, in Bewegung gehaltene Massen. Diese schwingen radial, d.h. 90° verdreht zu der Achse, auf der die Drehung gemessen werden soll. Wird der Sensor um die Achse gedreht, ändert sich die Geschwindigkeit dieser Massen, da sie auf einer gedachten Scheibe abwechselnd nach innen und außen wandern. Je weiter sie außen sind, desto höher ist ihre Geschwindigkeit, je weiter innen, desto langsamer sind sie. Bei der Bewegung nach außen müssen sie also beschleunigt werden, andersherum genauso. Die dabei auftretenden Beschleunigungen werden mittels einiger Fühler gemessen, die einen Plattenkondensator bilden.&lt;br /&gt;
&lt;br /&gt;
Eine Anwendung sind im Flugmodellbau Gyro-&amp;quot;Taillocks&amp;quot;, die in Hubschraubern die Heckstabilität verbessern und ESP-Systeme in Autos, die u.a. durch die Messung der Gierrate, also der Drehung des Fahrzeugs um die Hochachse, feststellen können, ob das Fahrzeug seitlich driftet oder sogar schleudert.&lt;br /&gt;
&lt;br /&gt;
==Temperatur== &lt;br /&gt;
===NTCs===&lt;br /&gt;
===PTCs===&lt;br /&gt;
&lt;br /&gt;
PTCs sind Temperatursensoren, deren Widerstand sich mit steigender Temperatur erhöht. Dazu gehören&lt;br /&gt;
&lt;br /&gt;
*PT100, PT1000 etc.&lt;br /&gt;
*Die KTYxx-xxx Reihe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== KTY: Silizium Temperatursensoren ====&lt;br /&gt;
&lt;br /&gt;
Die KTY-Temperatursensoren sind verglichen mit anderen Temperatursensoren verhältnismäßig günstig, haben dafür aber auch mehr Nachteile.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Genauigkeit ist ziemlich eingeschränkt, weshalb die KTY-Temperatursensoren zuerst kalibriert werden sollten. Dies muss Schaltungstechnisch oder in Software erfolgen, eine eingebaute Kalibrierung gibt es nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Andererseits lassen sich mittels Oversampling sehr hoch aufgelöst Temperaturen messen, was aufgrund mittelmäßiger Linearität (auch nach der Linearisierung) aber nur bei der Messung kleiner Temperaturunterschiede empfehlenswert ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Linearisiert werden die KTY an 5 Volt mit einem Reihenwiderstand von etwa 2,7 kOhm bis 3,3 kOhm.&lt;br /&gt;
&lt;br /&gt;
===Temperatur-Sensor LM75===&lt;br /&gt;
&lt;br /&gt;
[[Bild:lm75.gif|center]]&lt;br /&gt;
&lt;br /&gt;
Dieser Chip von National Semiconductors kann die Umgebungstemperatur mit einer Genauigkeit von 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; Grad Celsius messen. Das angegebene Bereich ist -25&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; bis 100&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; C. Es wird zweierlei geboten:&lt;br /&gt;
* Ein Schaltausgang - Wenn man also z.B. einen Ventilator einschalten möchte&lt;br /&gt;
* I2C - Der obere Teil der Adresse ist fix 0x9n, die Bits 1-3 kann man mit Jumper einstellbar machen oder fest verdrahten. &lt;br /&gt;
&lt;br /&gt;
Durch einen einfachen I2C-Lesebefehl kann man die Temperatur einlesen (16-Bit), das Format ist allerdings etwas tricky. Das erste Byte (8-Bit) ist die Temperatur in ganzen Grad, als normales signed char, vom zweiten Byte gibt das MSB an, ob noch 0.5&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt; '''dazuzuzählen''' sind (also auch, wenn vorne eine negative Zahl steht)  &lt;br /&gt;
&lt;br /&gt;
Der Grund ist der: die vorzeichenbehaftete 9-Bit Zahl, die da linksbündig in zwei Datenbytes übertragen wird, gibt eigentlich an, wieviel 0.5 Grad - Einheiten gemessen wurden. Rein rechnerisch wäre also Temperatur = Wert * 0.5, das müßte man aber als float durchführen oder erweitern&lt;br /&gt;
&lt;br /&gt;
===Programm-Beispiel für LM75===&lt;br /&gt;
Der LM75 wird über den [[I2C]]-Bus angesprochen&lt;br /&gt;
In BasCom, wo es ja keine signed char gibt, wird das Interpretieren auf sehr unterschiedliche Art empfohlen. &lt;br /&gt;
&lt;br /&gt;
Ich empfehle:&lt;br /&gt;
&lt;br /&gt;
 dim Ival as integer&lt;br /&gt;
 dim Msb as byte&lt;br /&gt;
 dim Lsb as byte&lt;br /&gt;
         I2cstart&lt;br /&gt;
         I2cwbyte &amp;amp;H91   ' Lese-adresse !  &lt;br /&gt;
         If Err = 1 Then&lt;br /&gt;
            I2cstop       ' kein ACK vom LM75 --&amp;gt; irgendein Fehler&lt;br /&gt;
            Ival = 9999   ' Zeichen, daß der Wert ungültig ist !&lt;br /&gt;
         Else&lt;br /&gt;
            I2crbyte Msb , Ack&lt;br /&gt;
            I2crbyte Lsb , Nack&lt;br /&gt;
            I2cstop&lt;br /&gt;
            If Msb.7 = 1 Then&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;HFF)   ' auffüllen mit den Vorzeichen bits&lt;br /&gt;
            Else&lt;br /&gt;
               Ival = Makeint(msb , &amp;amp;H00)   ' positiv, also bleibt es so&lt;br /&gt;
            End If&lt;br /&gt;
            Ival = Ival * 10                ' erweitern &lt;br /&gt;
            If Lsb.7 = 1 Then&lt;br /&gt;
              Ival = Ival + 5               ' fünf Zehntel Grad dazu &lt;br /&gt;
            End If&lt;br /&gt;
         End if&lt;br /&gt;
&lt;br /&gt;
das ergibt die Temperatur in Zehntel-Grad (Natürlich nur, wenn's keine Fehler gab).&lt;br /&gt;
&lt;br /&gt;
==Resistive Sensoren==&lt;br /&gt;
...&lt;br /&gt;
==Kapazitive Sensoren==&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel für kapazitive Sensoren sind Luftfeuchtigkeitsmesser, die ihre Kapazität entsprechend der Luftfeuchtigkeit ändern. Das Auslesen der Kapazität kann prinzipiell über das Ausmessen von Ladekurven geschehen. Dies ist jedoch bei kleinen Kapazitäten nicht praktisch durchführbar, weshalb man in diesem Falle meist einen Schwingkreis baut, dessen Frequenz man dann misst und so dann zusammen mit der bekannten Induktivität der Spule die Kapazität des Kondensators ausrechnen kann.&lt;br /&gt;
&lt;br /&gt;
==Induktive Sensoren==&lt;br /&gt;
Induktiver Näherungsschalter&lt;br /&gt;
&lt;br /&gt;
Sensoren die ihre Induktivität entsprechend der Messgröße ändern können auch mit Hilfe eines Schwingkreises mit bekannter Kapazität ausgemessen werden.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
==Piezoelektrische Sensoren==&lt;br /&gt;
Hier ist ein Experiment dargestellt das die Funktion von Piezowandlern demonstriert.&lt;br /&gt;
&lt;br /&gt;
Drückt man auf eine längliche Glasplatte (Mikroskopträger Länge 76mm), die an den Enden auf je einem Piezo Wandler gelagert ist, dann ergeben sich Signale, die von den Kräften auf die Wandler abhängig sind. &lt;br /&gt;
&lt;br /&gt;
Die Summe der beiden Kräfte entspricht der Gesamtkraft. Das Verhältnis der beiden Kräfte entspricht dem Verhältnis der Abstände des Druckpunktes zum Wandler. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:Piezowandler.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Versuch wurde mit der Frequenz von ca. 4Hz (0,5s/div) von einem Ende bis zum anderen auf die Platte gedrückt. (Tonleiter). Die Signale der beiden Wandler sind im Oszillogramm aufgetragen und die Folge der Druck-Positionen ist auf den ersten Blick schon mal nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
==PIR Passiv Infrarot Sensoren==&lt;br /&gt;
Hier handelt es sich um Passiv-Infrarot-Bewegungsmelder. Bewegungsmelder regieren beim Eintritt einer Person (Tier) in das Erfassungsfeld des Sensors. Die Anwendungsmöglichkeiten sind nahezu unbegrenzt, man kennt die Technik ja von vielen Terrassenlampen, welche sich beim vorbeigehen automatisch einschalten.&lt;br /&gt;
Reagiert wird also auf Die Körperwärme einer sich im Erfassungsfeld bewegenden Person.&lt;br /&gt;
[[Bild:pir.jpg|right]]&lt;br /&gt;
Zum Prinzip: &lt;br /&gt;
Wärmestrahlen, die einen Erfassungsvorgang auslösen, liegen im Infrarot-Bereich des Wellenspektrums. In diesem Bereich gibt der menschliche Körper seine Wärmestrahlung ab. Leuchtmittel wie Glüh- , Halogen- und Entladungslampen, die für eine Strahlung im sichtbaren Bereich um 0,555 μm entwickelt wurden, geben jedoch auch einen erheblichen Teil an Wärmestrahlung im Infrarot-Bereich ab.&lt;br /&gt;
Im Spektrum oberhalb des sichtbaren Licht, ab 0,780 μm, beginnt der Infrarot-Bereich. Die Wellenlänge&lt;br /&gt;
dieser IR-Strahlung ist abhängig von der Temperatur eines Körpers. Die Wärmestrahlung&lt;br /&gt;
des Menschen hat ihr Maximum zwischen 9 und 10 μm im Infrarot-Bereich.&lt;br /&gt;
Diese Tatsache nutzt der PIR Sensor mittels sogenannter pyroelektrischer IRDetektoren, welche eine hohe Empfindlichkeit im langwelligen Infrarot-Bereich aufweisen. Die Infrarot-&lt;br /&gt;
Strahlung verhält sich ähnlich wie sichtbares Licht. Sie kann reflektiert und durch Linsen&lt;br /&gt;
gebündelt werden.&lt;br /&gt;
Basis eines solchen IR-Detektors (Sensors) sind Lithium-Tantalatkristalle. Diese Kristalle erzeugen,&lt;br /&gt;
bei Wärmeänderung (positive oder negative Temperaturänderung), eine elektrische Spannung.&lt;br /&gt;
Die von den Kristallen abgegebene Spannung liegt im Bereich von einigen μV (μV = millionstel Volt) und ist von folgenden Bedingungen abhängig: &lt;br /&gt;
* Der Intensität der Wärmequelle (Temperatur und Größe)&lt;br /&gt;
* Dem Umgebungsmedium (Temperatur, unterschiedliche Luftfeuchtigkeit)&lt;br /&gt;
* Der Entfernung zwischen Wärmequelle und IR-Sensor&lt;br /&gt;
* Der Bewegungsgeschwindigkeit und Bewegungsrichtung der Wärmequelle&lt;br /&gt;
* Der Empfindlichkeit des PIR-Elementes (frequenzabhängiges Bandpaßverhalten mit Maximum bei ca. 0,1 Hz)&lt;br /&gt;
&lt;br /&gt;
Zur Unterdrückung von Einflüssen aus der Umgebung (übliche wetterbedingte Temperaturänderungen), sind in jedem Sensor 2 Kristalle antiparallel geschaltet. &lt;br /&gt;
Einer der Kristalle gibt, bei Auftreffen von Wärmestrahlung einen positiven, der andere einen negativen Spannungsimpuls ab. Wärmeänderungen die gleichzeitig und mit gleicher Intensität auf beide Kristalle einwirken lösen so keinen Erfassungsvorgang aus, denn die beiden Impulse heben sich gegenseitig auf. Dadurch ist ein Auslösen bei Wärmeänderungen der Umgebung weitgehend ausgeschlossen.&lt;br /&gt;
Anders verhält es sich bei schnellen Bewegungen. Die Lithiumtantalat-Kristalle geben, entsprechend&lt;br /&gt;
der Bewegung und der dadurch hervorgerufenen Wärmeänderung im Erfassungsfeld, ihre&lt;br /&gt;
Impulse zeitversetzt ab. Die beiden Impulse addieren sich zu einer Wechselgröße mit höherer&lt;br /&gt;
Signalamplitude. Dieses elektrische Ausgangssignalist proportional der Wärmeänderung und führt zur Meldung einer Bewegung.&lt;br /&gt;
&lt;br /&gt;
==Autoren==&lt;br /&gt;
* [[Benutzer:PicNick|PicNick]]&lt;br /&gt;
* [[Benutzer:Frank|Frank]] &lt;br /&gt;
* [[Benutzer:Dennis.strehl|Dennis.strehl]]&lt;br /&gt;
* [[Benutzer:Florian|Florian]]&lt;br /&gt;
* Topic&lt;br /&gt;
* [[Benutzer:Manf|Manf]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Navigation]]&lt;br /&gt;
* [[Sensoren]]&lt;br /&gt;
* [[Graycode]]&lt;br /&gt;
* [[Ultraschall SRF10 an RN-Control]]&lt;br /&gt;
* [[Ultraschall SRF05 an RN-MiniControl]]&lt;br /&gt;
* [[Bascom und Kompass CMPS03]]&lt;br /&gt;
&lt;br /&gt;
==Weblinks==&lt;br /&gt;
*[http://www.ikm.uni-karlsruhe.de/forschung/pzt_webseiten/de/grundlagen/pyro.html Piezoelektrische Sensoren]&lt;br /&gt;
*[http://www.roboternetz.de/phpBB2/dload.php?action=category&amp;amp;cat_id=2 Datenblätter im Download-Bereich des Roboternetz]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Robotikeinstieg]]&lt;br /&gt;
[[Category:Grundlagen]]&lt;br /&gt;
[[Category:Elektronik]]&lt;br /&gt;
[[Category:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8641</id>
		<title>Navigation</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8641"/>
				<updated>2006-09-12T09:38:51Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* 2. Aktive Markierungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:&lt;br /&gt;
&lt;br /&gt;
* Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden &lt;br /&gt;
* Berechnen des Weges zum Ziel und &lt;br /&gt;
* Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses&lt;br /&gt;
&lt;br /&gt;
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.&lt;br /&gt;
&lt;br /&gt;
==Orientierung und Navigation==&lt;br /&gt;
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung in natürlicher Umgebung== &lt;br /&gt;
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. &lt;br /&gt;
Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. &lt;br /&gt;
Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. &lt;br /&gt;
Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde. &lt;br /&gt;
&lt;br /&gt;
===Ortung durch Berührung===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.&lt;br /&gt;
* Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)&lt;br /&gt;
* Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze&lt;br /&gt;
&lt;br /&gt;
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Bei einfachen Systemen wird meist so vorgegangen: &lt;br /&gt;
:Bumper rechts: etwas nach links drehen&lt;br /&gt;
:Bumper links: etwas nach rechts drehen&lt;br /&gt;
:Beide Bumper: umdrehen&lt;br /&gt;
&lt;br /&gt;
Dass man so ein primitives Verfahren nicht als Orientierung und kaum als Ortung bezeichnen kann, zeigt folgender einfache Vergleich: Stellen Sie sich vor, sie werden mit verbundenen Augen in einen Raum eingesperrt und sollen diesen durch einen Ausgang verlassen oder an einer vorgegebenen Stelle halten. Sie werden recht planlos an den Wänden entlanggehen und wahrscheinlich nicht merken, dass sie an der gleichen Stelle schon sechsmal vorbeikamen. Wenn der Raum um eine dicke Säule gebaut ist und Sie dort entlangehen, werden Sie die Türen an der Aussenwand kaum finden. Trotzdem arbeiten viele Roboter nach diesem Prinzip.&lt;br /&gt;
&lt;br /&gt;
===Berührungslose Ortung===&lt;br /&gt;
&lt;br /&gt;
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. Es ist allerdings nicht ganz einfach, aus den empfangenen Signalen eine &amp;quot;innere&amp;quot; Landkarte zusammenzustellen und sich darin zurechtzufinden. Ohne so eine Landkarte ist die berührungslosen Orientierung nicht besser als ein verlängerter Arm der einfachen Kontaktschalter.&lt;br /&gt;
&lt;br /&gt;
====1. Akustische Abtastung====&lt;br /&gt;
&lt;br /&gt;
1.a. Akustischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei der akustischen Abtastung des Raumes stellt die &amp;quot;Einparkhilfe&amp;quot; die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. &lt;br /&gt;
Beispiel: Einparkhilfe Bild&lt;br /&gt;
&lt;br /&gt;
1.b. Akustische Laufzeitmessung (Echolot)&lt;br /&gt;
[[Bild:srf08.jpeg|right|200px|Beispiel SFR08]]&lt;br /&gt;
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich. Der [http://www.roboprogy.de ROBOprogy] besitzt ein verfeinertes Verfahren: Kurz nach dem ersten Echo wird der Empfänger wieder empfindlich gemacht und dann werden weitere (maximal sieben) Echos registriert. Auf diese Weise kann man erkennen, ob hinter einem kleinen Hindernis (Ball) noch ein anderes (Wand) vorhanden ist. Bei ungünstiger Montage der Sensoren kann es auch vorkommen, dass der Sendepuls am eigenen Roboter reflektiert wird. Ein &amp;quot;normales&amp;quot; Echolot liefert dann keine brauchbaren Ergebnisse mehr - beim ROBOprogy lässt man einfach alle Ergebnisse weg, die kleiner als 10 cm sind.&lt;br /&gt;
&lt;br /&gt;
====2. Optische Abtastung==== &lt;br /&gt;
&lt;br /&gt;
2.a. Optischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. &lt;br /&gt;
Beispiel IRF471 Bild &lt;br /&gt;
&lt;br /&gt;
2.b. Optische Triangulation&lt;br /&gt;
&lt;br /&gt;
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. Leider ist der Zusammenhang Entfernung - Spannung recht nichtlinear. Im ROBOprogy ist deshalb eine Tabelle eingebaut, die die Entfernung direkt in Stufen von 2 mm liefert.&lt;br /&gt;
Beispiel Sharp [[Sensorarten|GP2D12]]  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/bilder/gp2d12-nb.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg&lt;br /&gt;
&lt;br /&gt;
2.c. Optische Laufzeitmessung&lt;br /&gt;
&lt;br /&gt;
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.&lt;br /&gt;
&lt;br /&gt;
====3. Bildverarbeitung====&lt;br /&gt;
&lt;br /&gt;
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. &lt;br /&gt;
Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung an künstlichen Markierungen==&lt;br /&gt;
&lt;br /&gt;
===1. Passive Markierungen===&lt;br /&gt;
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen. &lt;br /&gt;
&lt;br /&gt;
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie. &lt;br /&gt;
&lt;br /&gt;
===2. Aktive Markierungen===&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake - 1&lt;br /&gt;
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.&lt;br /&gt;
&lt;br /&gt;
[http://www.robotmaker.de/fernbed.html Eine beliebte Schaltung für ein solche IR-Bake] &lt;br /&gt;
&lt;br /&gt;
* Infrarotbake - 2 &lt;br /&gt;
Deutlich einfacher geht es mit LEDs an unterschiedlichen Ecken des Spielfeldes, die jeweils von einem NE555 getaktet werden. Jede Bake hat eine eigene, feste Frequenz. Im [http://www.roboprogy.de ROBOprogy] kann man unterschiedliche Frequenzfilter einschalten und mit einem IR-Empfänger auf einem Servo suchen, aus welcher Richtung welche Bake blinkt. Durch dieses Frequenzfilter ist der Roboter immun gegen andere Lichtquellen. Drei Baken genügen theoretisch.&lt;br /&gt;
&lt;br /&gt;
* induktive Begrenzungsschleifen&lt;br /&gt;
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.&lt;br /&gt;
&lt;br /&gt;
==Koppelnavigation== &lt;br /&gt;
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet. &lt;br /&gt;
&lt;br /&gt;
Ausgehend von Position &lt;br /&gt;
Richtung, Geschwindigkeit und Dauer festlegen. &lt;br /&gt;
&lt;br /&gt;
Gezielte Vorgaben &lt;br /&gt;
Kontrolle&lt;br /&gt;
&lt;br /&gt;
===Odometrie===&lt;br /&gt;
Erfassung der Richtung und Weg/Geschwindigkeit durch &lt;br /&gt;
*die Einschaltdauer des Antriebs&lt;br /&gt;
*zählen der getätigten Steps von Schrittmotoren&lt;br /&gt;
*sensorisch durch [[Sensorarten#Drehgeber_Sharp_GP1A30_und_GP1A38|spezielle Encoder]], aber auch Kugel-, Rad- und optische Mäuse&lt;br /&gt;
&lt;br /&gt;
==Trägheitsnavigation== &lt;br /&gt;
Beschleunigung &lt;br /&gt;
Winkelbeschleunigung &lt;br /&gt;
&lt;br /&gt;
Die Trägheitsnavigation ist eine Art der Koppelnavigation.&lt;br /&gt;
Die Position wird hierbei durch Messung von Beschleunigungen und Drehungen bestimmt. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung.&lt;br /&gt;
Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse.&lt;br /&gt;
Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.&lt;br /&gt;
&lt;br /&gt;
===Globale Orientierung===&lt;br /&gt;
Globale Felder Erdmagnetfeld Luftdruck &lt;br /&gt;
GPS&lt;br /&gt;
&lt;br /&gt;
===Kompass Höhenmesser===&lt;br /&gt;
natürliche Felder zur globalen Orientierung &lt;br /&gt;
Erdmagnetfeld, barometrischer Luftdruck&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
Ultimativ, aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Sensorarten]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Kategorie:Robotikeinstieg]]&lt;br /&gt;
 [[Kategorie:Microcontroller]]&lt;br /&gt;
 [[Kategorie:Elektronik]]&lt;br /&gt;
 [[Kategorie:Grundlagen]]&lt;br /&gt;
 [[Kategorie:Praxis]]&lt;br /&gt;
 [[Kategorie:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8639</id>
		<title>Navigation</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8639"/>
				<updated>2006-09-12T09:23:00Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* Berührungslose Ortung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:&lt;br /&gt;
&lt;br /&gt;
* Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden &lt;br /&gt;
* Berechnen des Weges zum Ziel und &lt;br /&gt;
* Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses&lt;br /&gt;
&lt;br /&gt;
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.&lt;br /&gt;
&lt;br /&gt;
==Orientierung und Navigation==&lt;br /&gt;
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung in natürlicher Umgebung== &lt;br /&gt;
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. &lt;br /&gt;
Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. &lt;br /&gt;
Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. &lt;br /&gt;
Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde. &lt;br /&gt;
&lt;br /&gt;
===Ortung durch Berührung===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.&lt;br /&gt;
* Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)&lt;br /&gt;
* Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze&lt;br /&gt;
&lt;br /&gt;
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Bei einfachen Systemen wird meist so vorgegangen: &lt;br /&gt;
:Bumper rechts: etwas nach links drehen&lt;br /&gt;
:Bumper links: etwas nach rechts drehen&lt;br /&gt;
:Beide Bumper: umdrehen&lt;br /&gt;
&lt;br /&gt;
Dass man so ein primitives Verfahren nicht als Orientierung und kaum als Ortung bezeichnen kann, zeigt folgender einfache Vergleich: Stellen Sie sich vor, sie werden mit verbundenen Augen in einen Raum eingesperrt und sollen diesen durch einen Ausgang verlassen oder an einer vorgegebenen Stelle halten. Sie werden recht planlos an den Wänden entlanggehen und wahrscheinlich nicht merken, dass sie an der gleichen Stelle schon sechsmal vorbeikamen. Wenn der Raum um eine dicke Säule gebaut ist und Sie dort entlangehen, werden Sie die Türen an der Aussenwand kaum finden. Trotzdem arbeiten viele Roboter nach diesem Prinzip.&lt;br /&gt;
&lt;br /&gt;
===Berührungslose Ortung===&lt;br /&gt;
&lt;br /&gt;
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. Es ist allerdings nicht ganz einfach, aus den empfangenen Signalen eine &amp;quot;innere&amp;quot; Landkarte zusammenzustellen und sich darin zurechtzufinden. Ohne so eine Landkarte ist die berührungslosen Orientierung nicht besser als ein verlängerter Arm der einfachen Kontaktschalter.&lt;br /&gt;
&lt;br /&gt;
====1. Akustische Abtastung====&lt;br /&gt;
&lt;br /&gt;
1.a. Akustischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei der akustischen Abtastung des Raumes stellt die &amp;quot;Einparkhilfe&amp;quot; die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. &lt;br /&gt;
Beispiel: Einparkhilfe Bild&lt;br /&gt;
&lt;br /&gt;
1.b. Akustische Laufzeitmessung (Echolot)&lt;br /&gt;
[[Bild:srf08.jpeg|right|200px|Beispiel SFR08]]&lt;br /&gt;
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich. Der [http://www.roboprogy.de ROBOprogy] besitzt ein verfeinertes Verfahren: Kurz nach dem ersten Echo wird der Empfänger wieder empfindlich gemacht und dann werden weitere (maximal sieben) Echos registriert. Auf diese Weise kann man erkennen, ob hinter einem kleinen Hindernis (Ball) noch ein anderes (Wand) vorhanden ist. Bei ungünstiger Montage der Sensoren kann es auch vorkommen, dass der Sendepuls am eigenen Roboter reflektiert wird. Ein &amp;quot;normales&amp;quot; Echolot liefert dann keine brauchbaren Ergebnisse mehr - beim ROBOprogy lässt man einfach alle Ergebnisse weg, die kleiner als 10 cm sind.&lt;br /&gt;
&lt;br /&gt;
====2. Optische Abtastung==== &lt;br /&gt;
&lt;br /&gt;
2.a. Optischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. &lt;br /&gt;
Beispiel IRF471 Bild &lt;br /&gt;
&lt;br /&gt;
2.b. Optische Triangulation&lt;br /&gt;
&lt;br /&gt;
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. Leider ist der Zusammenhang Entfernung - Spannung recht nichtlinear. Im ROBOprogy ist deshalb eine Tabelle eingebaut, die die Entfernung direkt in Stufen von 2 mm liefert.&lt;br /&gt;
Beispiel Sharp [[Sensorarten|GP2D12]]  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/bilder/gp2d12-nb.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg&lt;br /&gt;
&lt;br /&gt;
2.c. Optische Laufzeitmessung&lt;br /&gt;
&lt;br /&gt;
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.&lt;br /&gt;
&lt;br /&gt;
====3. Bildverarbeitung====&lt;br /&gt;
&lt;br /&gt;
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. &lt;br /&gt;
Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung an künstlichen Markierungen==&lt;br /&gt;
&lt;br /&gt;
===1. Passive Markierungen===&lt;br /&gt;
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen. &lt;br /&gt;
&lt;br /&gt;
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie. &lt;br /&gt;
&lt;br /&gt;
===2. Aktive Markierungen===&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake&lt;br /&gt;
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.&lt;br /&gt;
&lt;br /&gt;
[http://www.robotmaker.de/fernbed.html Eine beliebte Schaltung für ein solche IR-Bake] &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
* induktive Begrenzungsschleifen&lt;br /&gt;
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.&lt;br /&gt;
&lt;br /&gt;
==Koppelnavigation== &lt;br /&gt;
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet. &lt;br /&gt;
&lt;br /&gt;
Ausgehend von Position &lt;br /&gt;
Richtung, Geschwindigkeit und Dauer festlegen. &lt;br /&gt;
&lt;br /&gt;
Gezielte Vorgaben &lt;br /&gt;
Kontrolle&lt;br /&gt;
&lt;br /&gt;
===Odometrie===&lt;br /&gt;
Erfassung der Richtung und Weg/Geschwindigkeit durch &lt;br /&gt;
*die Einschaltdauer des Antriebs&lt;br /&gt;
*zählen der getätigten Steps von Schrittmotoren&lt;br /&gt;
*sensorisch durch [[Sensorarten#Drehgeber_Sharp_GP1A30_und_GP1A38|spezielle Encoder]], aber auch Kugel-, Rad- und optische Mäuse&lt;br /&gt;
&lt;br /&gt;
==Trägheitsnavigation== &lt;br /&gt;
Beschleunigung &lt;br /&gt;
Winkelbeschleunigung &lt;br /&gt;
&lt;br /&gt;
Die Trägheitsnavigation ist eine Art der Koppelnavigation.&lt;br /&gt;
Die Position wird hierbei durch Messung von Beschleunigungen und Drehungen bestimmt. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung.&lt;br /&gt;
Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse.&lt;br /&gt;
Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.&lt;br /&gt;
&lt;br /&gt;
===Globale Orientierung===&lt;br /&gt;
Globale Felder Erdmagnetfeld Luftdruck &lt;br /&gt;
GPS&lt;br /&gt;
&lt;br /&gt;
===Kompass Höhenmesser===&lt;br /&gt;
natürliche Felder zur globalen Orientierung &lt;br /&gt;
Erdmagnetfeld, barometrischer Luftdruck&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
Ultimativ, aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Sensorarten]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Kategorie:Robotikeinstieg]]&lt;br /&gt;
 [[Kategorie:Microcontroller]]&lt;br /&gt;
 [[Kategorie:Elektronik]]&lt;br /&gt;
 [[Kategorie:Grundlagen]]&lt;br /&gt;
 [[Kategorie:Praxis]]&lt;br /&gt;
 [[Kategorie:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8638</id>
		<title>Navigation</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Navigation&amp;diff=8638"/>
				<updated>2006-09-12T09:07:51Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* Ortung durch Berührung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Navigation bezeichnet man das Sichzurechtfinden in einem geografischen Raum, um einen bestimmten Ort zu erreichen. Die Tätigkeit des Navigierens besteht aus drei Teilbereichen:&lt;br /&gt;
&lt;br /&gt;
* Bestimmen der geografischen Position durch Ortung nach verschiedensten Methoden &lt;br /&gt;
* Berechnen des Weges zum Ziel und &lt;br /&gt;
* Führung des Fahrzeugs zu diesem Ziel, also vor allem das Halten des optimalen Kurses&lt;br /&gt;
&lt;br /&gt;
Es ist also eine zentrale Aufgabe beim Bau von Robotern. Es ist sogar das Thema, das einen besonders großen Reiz auf die Bastler ausübt.&lt;br /&gt;
&lt;br /&gt;
==Orientierung und Navigation==&lt;br /&gt;
Ein mobiler Roboter, der durch Bewegung mit seiner Umgebung in Kontakt tritt, braucht Sensoren zur Orientierung und er wird auch eine einfache Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung in natürlicher Umgebung== &lt;br /&gt;
Im einfachsten Fall werden es Berührungssensoren sein, mit denen der Roboter feststellt, ob ein Hindernis direkt vor ihm oder in seiner Reichweite ist. &lt;br /&gt;
Auch beim Einsatz von komplexeren Sensoren zum berührungslosen Orten von natürlichen Hindernissen sind einfache Kontaktsensoren zur Unterstützung sinnvoll. &lt;br /&gt;
Mit diesen Sensoren kann eine Orientierung aufgebaut werden, wenn Objekte der natürlichen Umgebung erkannt und in der Position registriert werden. Sie können beispielsweise in eine Karte eingetragen werden. &lt;br /&gt;
Die sogenannte natürliche Umgebung ist dabei in vielen Fällen speziell im Indoor-Bereich kaum von der Natur geschaffen, es sind hier vor allem Wände, Türen, Möbel. Sie wird nur so genannt, weil sie andererseits nicht zur Orientierung geschaffen wurde. &lt;br /&gt;
&lt;br /&gt;
===Ortung durch Berührung===&lt;br /&gt;
&lt;br /&gt;
Üblicherweise sind das Mikro-Schalter, die über eine Stoßstange (BUMPER) den passiven oder aktiven Kontakt mit einem Hindernis erkennen.&lt;br /&gt;
* Aktiver Kontakt - der Robby ist beim Fahren drangestoßen (Tischbein)&lt;br /&gt;
* Passiver Kontakt - Irgendwas hat den Robby berührt, z.B. die Hauskatze&lt;br /&gt;
&lt;br /&gt;
Den Unterschied kann der Roboter nur feststellen, wenn er seine momentane Bewegungsrichtung weiss und berücksichtigt. &lt;br /&gt;
&lt;br /&gt;
Bei einfachen Systemen wird meist so vorgegangen: &lt;br /&gt;
:Bumper rechts: etwas nach links drehen&lt;br /&gt;
:Bumper links: etwas nach rechts drehen&lt;br /&gt;
:Beide Bumper: umdrehen&lt;br /&gt;
&lt;br /&gt;
Dass man so ein primitives Verfahren nicht als Orientierung und kaum als Ortung bezeichnen kann, zeigt folgender einfache Vergleich: Stellen Sie sich vor, sie werden mit verbundenen Augen in einen Raum eingesperrt und sollen diesen durch einen Ausgang verlassen oder an einer vorgegebenen Stelle halten. Sie werden recht planlos an den Wänden entlanggehen und wahrscheinlich nicht merken, dass sie an der gleichen Stelle schon sechsmal vorbeikamen. Wenn der Raum um eine dicke Säule gebaut ist und Sie dort entlangehen, werden Sie die Türen an der Aussenwand kaum finden. Trotzdem arbeiten viele Roboter nach diesem Prinzip.&lt;br /&gt;
&lt;br /&gt;
===Berührungslose Ortung===&lt;br /&gt;
&lt;br /&gt;
Zur berührungslosen Orientierung an Objekten in der Umgebung kann der Roboter selbst ein akustisches oder optisches Testsignal aussenden und damit die Umgebung abtasten oder er kann sich am Bild der Umgebung orientieren. &lt;br /&gt;
&lt;br /&gt;
====1. Akustische Abtastung====&lt;br /&gt;
&lt;br /&gt;
1.a. Akustischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei der akustischen Abtastung des Raumes stellt die &amp;quot;Einparkhilfe&amp;quot; die einfachste Lösung dar. Hier wird eine Sende- und eine Empfangskapsel über einen Verstärker gekoppelt und wenn im Bereich des Sensors ein Hindernis die Kopplung zwischen beiden erhöht, dann kommt es zum Anschwingen und damit zur Anzeige eines Hindernisses. Das Verfahren ist einfach, billig und lässt allenfalls senkrecht vor einer glatten Wand eine Bestimmung des Abstands zu. &lt;br /&gt;
Beispiel: Einparkhilfe Bild&lt;br /&gt;
&lt;br /&gt;
1.b. Akustische Laufzeitmessung&lt;br /&gt;
[[Bild:srf08.jpeg|right|200px|Beispiel SFR08]]&lt;br /&gt;
Etwas aufwendiger und genauer arbeiten die Ultraschallsensoren mit Laufzeitmessung. Hier wird ein Ultraschall-Impuls von 8-16 Perioden Dauer ausgesendet und es wird die Zeit gemessen, bis das Echo eintrifft. Mit diesem Verfahren kann ganz konkret die Zeit bis zum ersten Echo gemessen und über die Schallgeschwindigkeit der Abstand bestimmt werden. Die Genauigkeit liegt dabei im cm-Bereich.&lt;br /&gt;
&lt;br /&gt;
====2. Optische Abtastung==== &lt;br /&gt;
&lt;br /&gt;
2.a. Optischer Reflexkoppler&lt;br /&gt;
&lt;br /&gt;
Bei den optischen Verfahren gibt es auch den einfachen Fall des Reflexsensors. Ein integriertes Sensor-IC gibt Stromimpulse für eine IR-LED aus und detektiert die Echos, die diesem Impulsmuster entsprechen. Man erreicht damit eine gute Unterdrückung der Umgebungshelligkeit, aber - wie auch im akustischen Fall - ist das Verfahren sehr von den Reflexionseigenschaften des Objektes abhängig und lässt kaum eine Bestimmung des Abstandes zu. &lt;br /&gt;
Beispiel IRF471 Bild &lt;br /&gt;
&lt;br /&gt;
2.b. Optische Triangulation&lt;br /&gt;
&lt;br /&gt;
Sehr viel genauer arbeiten die Sensoren, die den Abstand bis zu einem Hindernis trigonometrisch vermessen. Sie bestehen aus einer IR-Diode und einem Empfänger, die zusammen mit einer Steuerung in einem Modul integriert sind. Die Impulse werden wieder nach einem Schema zur Unterdrückung der Umgebungshelligkeit ausgesendet und detektiert. Hier aber handelt es sich um einen gebündelten Lichtstrahl, der auf das Hindernis trifft und der seitlich versetzte Empfänger - eine Position Sensitive Device (PSD) - misst, aus welchem Winkel das Licht reflektiert wird und setzt den Winkel in einen Spannungswert um. &lt;br /&gt;
Beispiel Sharp [[Sensorarten|GP2D12]]  &lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/bilder/gp2d12-nb.jpg&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/gp2d12diagram_a.jpeg&lt;br /&gt;
&lt;br /&gt;
2.c. Optische Laufzeitmessung&lt;br /&gt;
&lt;br /&gt;
Auch bei den optischen Verfahren gibt es Sensoren, die nach dem Laufzeitprinzip arbeiten. Sie sind allerdings bis heute Messgeräte, die noch so groß sind, dass sie kaum als Sensoren in Robotern eingesetzt werden. Ein vielversprechender Ansatz, einen Sensor als Modul zu realisieren, wurde vor ein paar Monaten von einem Fraunhofer Institut vorgestellt.&lt;br /&gt;
&lt;br /&gt;
====3. Bildverarbeitung====&lt;br /&gt;
&lt;br /&gt;
Das Beispiel der optischen Abtastung mit trigonometrischer Messung funktioniert nicht nur mit einem PSD, sondern auch mit einer Kamera, mit der man den Winkel misst, unter dem der Teststrahl auf dem Objekt erscheint. &lt;br /&gt;
Darüber hinaus ist es natürlich auch möglich, das Bild der Umgebung mit zwei Kameras stereoskopisch aufzunehmen und durch Bildverarbeitung die Abstände zu den einzelnen Objekten zu bestimmen.&lt;br /&gt;
&lt;br /&gt;
==Orientierung an künstlichen Markierungen==&lt;br /&gt;
&lt;br /&gt;
===1. Passive Markierungen===&lt;br /&gt;
Künstliche Markierungen sind solche, die speziell zur Markierung geschaffen oder zur Orientierung ausgewählt und beschrieben sind. Ein typisches Beispiel für künstliche Markierungen sind Reflexmarken am Ende eines Gangs, durch den ein Roboter fahren soll. Er kann sich zunächst leicht am Verlauf des Gangs orientieren, zur Bestätigung, dass genau an einer bestimmten Stelle abgebogen werden soll, wird man zusätzlich eine Reflexmarke anbringen. Vorteilhaft ist eine passive Marke, die nicht mit Energie versorgt werden muss, denn die geringe Energie, die Marke zu finden, kann der autonom fahrende Roboter leicht selbst aufbringen. &lt;br /&gt;
&lt;br /&gt;
Viel häufiger als einzelne Reflexmarken sind noch dunkle Linien anzutreffen, denen ein Roboter folgen soll. Viele Einsteiger-Modelle, wie die Modelle von Lego und natürlich auch ASURO, sind dafür ausgerüstet. Am vorderen Ende des Fahrzeugs ist dazu eine Beleuchtung angebracht, die auf den Boden vor dem Fahrzeug gerichtet ist. Es reichen dann zwei lichtempfindliche Sensoren rechts und links von der Linie aus, um die Spurverfolgung zu kontrollieren und Abweichungen zu melden. Der Abstand vom Drehpunkt des Fahrzeugs im Zusammenspiel mit der Fahrtregelung ermöglicht dann unterschiedlich schnelle und sichere Aktionen zum Halten der Spur bei rascher Verfolgung der Linie. &lt;br /&gt;
&lt;br /&gt;
===2. Aktive Markierungen===&lt;br /&gt;
&lt;br /&gt;
* Infrarotbake&lt;br /&gt;
Ein noch recht einfach umzusetzendes Prinzip für eine aktive Bake. Über IR-LEDs wird ein codiertes Signal ausgestrahlt. Der Roboter besitzt einen Infrarotempfänger mit relativ geringem Öffnungswinkel mit nachgeschaltetem Decoder für das Signal. Hiermit kann der Roboter feststellen, ob der Empfänger gerade in Richtung der Bake zeigt. Da durch die Codierung des Signals (und evtl mehrere Trägerfrequenzen) mehr als einen Bake gleichzeitig aktiv sein darf, kann man mit mehreren Baken, die man nacheinader anpeilt und dabei die Winkel misst, auch die absolute Position feststellen.&lt;br /&gt;
&lt;br /&gt;
[http://www.robotmaker.de/fernbed.html Eine beliebte Schaltung für ein solche IR-Bake] &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
* induktive Begrenzungsschleifen&lt;br /&gt;
Dieses Verfahren wird vor allem bei einigen Rasenmäher-Robotern benutzt. Ein Draht wird am Rand der für den Roboter zulässigen Fläche ausgelegt (oder eingegraben). Über den Draht wird ein Signal gesendet, das von einem Empänger im Roboter empfangen wird, falls sich der Roboter dem Draht nähert.&lt;br /&gt;
&lt;br /&gt;
==Koppelnavigation== &lt;br /&gt;
Als Koppelnavigation wird die fortlaufende Ortsbestimmung aus momentanem Kurs und Geschwindigkeit bezeichnet. Die so bestimmte Position wird dann auch als Koppelort bezeichnet. &lt;br /&gt;
&lt;br /&gt;
Ausgehend von Position &lt;br /&gt;
Richtung, Geschwindigkeit und Dauer festlegen. &lt;br /&gt;
&lt;br /&gt;
Gezielte Vorgaben &lt;br /&gt;
Kontrolle&lt;br /&gt;
&lt;br /&gt;
===Odometrie===&lt;br /&gt;
Erfassung der Richtung und Weg/Geschwindigkeit durch &lt;br /&gt;
*die Einschaltdauer des Antriebs&lt;br /&gt;
*zählen der getätigten Steps von Schrittmotoren&lt;br /&gt;
*sensorisch durch [[Sensorarten#Drehgeber_Sharp_GP1A30_und_GP1A38|spezielle Encoder]], aber auch Kugel-, Rad- und optische Mäuse&lt;br /&gt;
&lt;br /&gt;
==Trägheitsnavigation== &lt;br /&gt;
Beschleunigung &lt;br /&gt;
Winkelbeschleunigung &lt;br /&gt;
&lt;br /&gt;
Die Trägheitsnavigation ist eine Art der Koppelnavigation.&lt;br /&gt;
Die Position wird hierbei durch Messung von Beschleunigungen und Drehungen bestimmt. Um zu wissen, welcher Beschleunigungssensor für welche Richtung im Raum zuständig ist, muss aber erstmal bestimmt werden, in welcher Lage sich der Roboter (vornehmlich Flugroboter, bei anderen Arten macht Trägheitsnavigation wenig Sinn) befindet. Ist nämich z.B. die Nase, beispielsweise bei einem Luftschiff, angehoben, misst der Beschleunigungssensor, der in Längsrichtung montiert ist, auch einen Teil der vertikalen Beschleunigung.&lt;br /&gt;
Die Bestimmung der Lage erfolgt meist über Gyrometer. Diese geben die Drehung des Objekts um eine bestimmte Achse aus. Dieser Wert wird aufsummiert (integriert), der integrierte Wert ist dann die Drehung des Objekts um eine bestimmte Achse.&lt;br /&gt;
Der Wert, den die Beschleunigungsensoren ausgeben, wird je nach Lage aufgeteilt und auf verschiedene Achsen aufsummiert, als Ergebnis hat man dann die Geschwindigkeit. Ein weiteres Aufsummieren ergibt den Weg, den das Objekt zurückgelegt hat - fertig.&lt;br /&gt;
&lt;br /&gt;
===Globale Orientierung===&lt;br /&gt;
Globale Felder Erdmagnetfeld Luftdruck &lt;br /&gt;
GPS&lt;br /&gt;
&lt;br /&gt;
===Kompass Höhenmesser===&lt;br /&gt;
natürliche Felder zur globalen Orientierung &lt;br /&gt;
Erdmagnetfeld, barometrischer Luftdruck&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
Ultimativ, aber für kleine Roboter und auch in geschlossenen Räumen nur bedingt zu verwenden&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
* [[Sensorarten]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Kategorie:Robotikeinstieg]]&lt;br /&gt;
 [[Kategorie:Microcontroller]]&lt;br /&gt;
 [[Kategorie:Elektronik]]&lt;br /&gt;
 [[Kategorie:Grundlagen]]&lt;br /&gt;
 [[Kategorie:Praxis]]&lt;br /&gt;
 [[Kategorie:Sensoren]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8636</id>
		<title>Mit welchem Controllerboard fang ich an</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8636"/>
				<updated>2006-09-12T08:41:05Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* ATMega32, ein schöner Einstiegscontroller mit Reserven */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welchen Controller, welches Controllerboard nehme ich?'''&lt;br /&gt;
&lt;br /&gt;
:'''Welches Controllerboard ist das beste?'''&lt;br /&gt;
&lt;br /&gt;
::'''Sollte man alles selbst bauen?'''&lt;br /&gt;
&lt;br /&gt;
Dies sind wohl die am häufigsten gestellten Fragen in der Community. Aus diesem Grund hier ein paar Ausführungen, die die Auswahl und Entscheidung erleichtern sollen. &lt;br /&gt;
&lt;br /&gt;
===Was ist ein Controller?===&lt;br /&gt;
Ein Controller ist ein programmierbarer Schaltkreis. Gewöhnlich benötigt er sehr wenig externe Bauelemente um zu arbeiten, ein Quarz und 2 Kondensatoren reichen im Prinzip z.B. für die Controller der Firma [[Atmel]] (auch [[AVR]]-Controller genannt). Programmiert wird er in der Regel über ein Adapterkabel (z.B. [[AVR-ISP Programmierkabel|ISP-Kabel]]), das an die RS232- oder Druckerschnittstelle am PC angeschlossen wird. Inzwischen gibt es auch einige Adapterkabel, die per USB angeschlossen werden.&lt;br /&gt;
Programmiert werden die meisten Controller gewöhnlich in Assembler. Für viele Controller gibt es zum Teil jedoch Compiler und Entwicklungsumgebungen für Sprachen wie Basic, C, Forth und teils sogar Pascal.&lt;br /&gt;
Über die Programmierung können sogenannte I/O-Leitungen, das sind Ein- und Ausgänge direkt am IC, auf High- oder Low-Pegel geschaltet werden. Zudem gibt es je nach Controller zusätzliche Pins um analoge Spannungen zu messen, Signalwechsel zu zählen, analoge Spannungen (genauer [[PWM]]) auszugeben und ähnliche Dinge.&lt;br /&gt;
&lt;br /&gt;
===Soll ich es selbst aufbauen?===&lt;br /&gt;
Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, das die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der [[Timer]], [[PWM]], Ein- und Ausgänge usw.).&lt;br /&gt;
&lt;br /&gt;
Obwohl der Aufbau einer sogenannten &amp;quot;Grundschaltung&amp;quot; wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einsteigsweg doch mehr ab. Vor allem, da oft nicht bedacht wird, das man ja mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt also mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang) und auch eine Spannungsstabilisierung, um durch ein Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man ja auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig. &lt;br /&gt;
&lt;br /&gt;
Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen. &lt;br /&gt;
Aus diesem Grund rate ich Einsteigern lieber mit einem Bausatz, oder noch besser mit einem fertigen Controllerboard und fertigen Programmieradaptern, zu beginnen. Ein sogenanntes Controllerboard beinhaltet bereits die wichtigsten Grundelemente (mal mehr, mal weniger, je nach Preis) und kann oft sehr schnell in Betrieb genommen werden. Klappt etwas nicht, so kann man sich zumindest bei sehr gängigen Controllerboards in Communities, wie in unserem [http://www.roboternetz.de Roboternetz], sehr schnell Hilfe holen. Je weiter ein Board verbreitet ist, desto besser klappt es gewöhnlich mit Hilfe und auch mit Anregungen, was man alles basteln könnte.&lt;br /&gt;
&lt;br /&gt;
===Welche Controllerboards sind für den Einstieg empfehlenswert?=== &lt;br /&gt;
Es gibt eine Unzahl von verschiedenen Controllerboards, Bauteilesätzen, Einsteigerkits und dergleichen. Viele sind jedoch kaum verbreitet und bei Problemen ist man auf den Support des Anbieters angewiesen. Zudem kommt hinzu, dass Anbieter in der Branche schon oft nach einiger Zeit wieder vom Markt verschwinden.&lt;br /&gt;
Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg&lt;br /&gt;
[[Bild:stk500.jpg|100px]]&lt;br /&gt;
&lt;br /&gt;
Recht beliebt und fast jedem ein Begriff sind daher vor allem folgende Boards:&lt;br /&gt;
&lt;br /&gt;
* C-Control / C-Control Pro-System &lt;br /&gt;
* C-Control II &lt;br /&gt;
* [[RN-Control]] &lt;br /&gt;
* [[http://www.roboprogy.de/ ROBOprogy]] &lt;br /&gt;
* STK500 (Entwicklungsboard von Atmel)&lt;br /&gt;
&lt;br /&gt;
Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board [[RN-Control]], da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist. &lt;br /&gt;
[[Bild:rncontrol1.4diagramm.jpg|thumb|Funktionen des Boards]]&lt;br /&gt;
&lt;br /&gt;
Die abgebildete C-Control wurde lange Zeit oftmals in Robotern eingesetzt; heute ist sie jedoch bereits einige Jahre alt. Inzwischen wird sie für neue Roboter offenbar nur noch selten eingesetzt, vermutlich, weil die Rechenleistung doch sehr begrenzt ist. Bestimmte Dinge, wie Schrittmotoransteuerung, lassen sich mit der Rechenleistung nur schwer umsetzen. Die C-Control II ist zwar leistungsfähiger, aber fand bei den Roboter-Bastlern in den letzten Jahren auch nur wenig Zuspruch. Vor allem dürfte das daran liegen, dass man mit diesen beiden Controllerboards noch keinen Bot steuern kann - es sind immer noch zusätzliche Bauteile notwendig. Zwar gibt es diese in Form von sogenannten Applikations- und Starterboards, auf die das Controllermodul gesteckt wird, jedoch wird das Ganze dadurch natürlich vom Platzbedarf größer und natürlich auch teurer. Das gleiche gilt auch für neuere Nachfolgeserien wie dem C-Control Pro-System. Eigentlich hat die C-Control Pro mit der ursprünglichen C-Control nichts mehr zu tun, zumal hier jetzt auch ein ganz anderer Controller, nämlich ein [[Atmel|Atmel Mega-Controller]], eingesetzt wird. Da die Module gegenüber den reinen Atmel-Controllern deutlich teurer sind, können sie dem Bastler, der alle Resourcen frei nutzen möchte und nicht durch eine eingebaute Firmware eingeschränkt werden möchte, eigentlich weniger empfohlen werden.    &lt;br /&gt;
&lt;br /&gt;
====Günstig für viele Projekte: Atmel Boards====&lt;br /&gt;
Günstiger sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic, Forth oder C-Compiler. Zum Beispiel das Board [[RN-Control]] oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas  Erfahrung in diesem Bereich. &lt;br /&gt;
Dagegen sind [[RN-Control]] und ROBOprogy speziell für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da  Kürzel &amp;quot;RN&amp;quot;. Es ist nicht das erste &amp;quot;RN&amp;quot; Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das [[RNBFRA-Board]], das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des [[RNBFRA-Board]] von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.&lt;br /&gt;
&lt;br /&gt;
Da [[RN-Control]] mit unter 50 Euro wesentlich preiswerter ist, hat sich dieses Board zu einer echten Beliebtheit entwickelt. Obwohl es das Board noch nicht lange gibt findet man bei den meisten neuen Projekten, die im Roboternetz vorgestellt werden, ein RN-Control - Board irgendwo drauf.&lt;br /&gt;
Die Beliebtheit liegt vornehmlich daran, das [[RN-Control]] und ROBOprogy bereits alle wichtigen Elemente auf direkt dem Board besitzen. Auch ohne zusätzliches Applikationsboard können bereits Sensoren, Schalter und sogar Motoren angeschlossen werden. Auch eine Spannungsstabilisierung, Piepser, Steckklemmen, fünf Taster, LED´s sind bereits auf dem Board zu finden. Der ROBOprogy verfügt über Frequenzzähler, Echolot, I2C-Port und zwei Inkrementalgeber. Als Besonderheit besitzt er eine fest eingebaute Geschwindigkeitsregelung für die beiden Antriebsmotore. Bei anderen Boards ist das nur auf einem Zusatzboard vorhanden.&lt;br /&gt;
&lt;br /&gt;
 Dies alles macht beide Boards zu kompakten Controllerboards,  &lt;br /&gt;
 die ohne Zusatzkomponenten (außer Sensoren) einen kleinen &lt;br /&gt;
 Roboter steuern können. Aber ebenso eignen sie sich auch &lt;br /&gt;
 als optimales Experimentierboard.&lt;br /&gt;
&lt;br /&gt;
====ATMega32, ein schöner Einstiegscontroller mit Reserven====&lt;br /&gt;
&lt;br /&gt;
Sowohl [[RN-Control]] als auch der ROBOprogy setzen einen schon erwähnten Atmel Controller ein, den [[ATMega32]] von Atmel. Dieser Mikrocontroller besitzt bereits 32K Speicher, 2K Ram, 1K EEPROM sowie 32 programmierbare I/O Pins, 8 AnalogDigital Ports, 3 Timer u.v.m. &lt;br /&gt;
Im Gegensatz zu vielen anderen kleinen Experimentierboard die oft nur einen [[ATMega8]] einsetzen, hat man also bei RN-Control viel mehr Ports- und Speicher für größere Anwendungen. Ein Vorteil der von Anfängern oft unterschätzt werden, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher wie der des Mega8 wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATMega8 Boards recht mager, so das man oft bei Verwendung von LCD und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten besitzt. Daher empfehle ich mit einem [[ATMega32]] zu beginnen, das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards weil man doch viels mehr anschließen kann.&lt;br /&gt;
&lt;br /&gt;
====Auch an die Zukunft denken====&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Vorteil von [[RN-Control]] besteht darin das alle Stecker und Anschlüsse ja sogar die Platinenmaße einheitlich nach den [[RN-Definitionen]] vorhanden sind. Somit lassen sich Ergänzungen und Zusatzboards, wenn man es will, relativ einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Board´s.&lt;br /&gt;
Machen Bastler mal einen Fehler und [[RN-Control]] wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch ein neues ersetzt werden. &lt;br /&gt;
Und da man rn-Control wahlweise in C, Assembler oder Basic ([[Bascom]]) programmieren kann, kann man je nach Wissensstand seine Lieblingssprache wählen. Je nach Wissensstand kann man RN-Control auch fertig aufgebaut, als Bausatz oder nur als Platine erwerben.&lt;br /&gt;
Durch die weite Verbreitung von [[RN-Control]] findet man im Roboternetz auch schnell erhebliche Unterstützung, ein Umstand der für Einsteiger sehr wichtig sein sollte.&lt;br /&gt;
&lt;br /&gt;
==Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen==&lt;br /&gt;
&lt;br /&gt;
RN-Control ist sicherlich ein empfehlenswertes Board für viele Aufgaben sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheident ist letzlich auch wie gut paßt das Board zu meiner Aufgabenstellung. Dazu habe ich mal einige wichtige Kriterien als Fragen aufgeworfen. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optmale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein, dort findet man zahlreiche Bezugsquellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|&lt;br /&gt;
# Reicht die Rechenleistung dieses Board´s?&lt;br /&gt;
# Hat das Board genügend Speicher?&lt;br /&gt;
# Hat das Board genügend Ports (I/O) Leitungen?&lt;br /&gt;
# Welche Zusatzbauelemente brauche ich für mein Vorhaben und was kostet es insgesamt?&lt;br /&gt;
# Lassen sich einzelne Teile des Boards selbst reparieren (bei Board`s mit [[SMD]] oder ungesockelten IC´s ist das kaum machbar)?&lt;br /&gt;
# Sind Klemmen für Sensoren und Aktoren vorhanden oder brauche ich weitere Adapter?&lt;br /&gt;
# In welchen Sprachen kann und will ich das Board programmieren?&lt;br /&gt;
# Sind die Entwicklungsumgebungen / Compiler kostenlos?&lt;br /&gt;
# Kann/Will ich das Board nur zum experimentieren oder auch für Anwendungen nutzen? &lt;br /&gt;
# Sind die Anschlüsse kompatibel zu Erweiterungen?&lt;br /&gt;
# Sind Schaltpläne und Bestückungspläne erhältlich?&lt;br /&gt;
# Gibt es für mein Projekt Akkus in der richtigen Größe welche zur Betriebsspannung passen? &lt;br /&gt;
# Findet man in gängigen Foren genügend Unterstützung?&lt;br /&gt;
# Gibt es Literatur die sich mit Board oder den Entwicklungssystemen befassen?&lt;br /&gt;
# Eignen sich die Maße des Boards für mein Projekt?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autor Frank&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Atmel]]&lt;br /&gt;
*[[AVR-ISP Programmierkabel]]&lt;br /&gt;
*[[RN-Control]]&lt;br /&gt;
*[[AVR-Einstieg leicht gemacht]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8635</id>
		<title>Mit welchem Controllerboard fang ich an</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8635"/>
				<updated>2006-09-12T08:39:13Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* Günstig für viele Projekte: Atmel Boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welchen Controller, welches Controllerboard nehme ich?'''&lt;br /&gt;
&lt;br /&gt;
:'''Welches Controllerboard ist das beste?'''&lt;br /&gt;
&lt;br /&gt;
::'''Sollte man alles selbst bauen?'''&lt;br /&gt;
&lt;br /&gt;
Dies sind wohl die am häufigsten gestellten Fragen in der Community. Aus diesem Grund hier ein paar Ausführungen, die die Auswahl und Entscheidung erleichtern sollen. &lt;br /&gt;
&lt;br /&gt;
===Was ist ein Controller?===&lt;br /&gt;
Ein Controller ist ein programmierbarer Schaltkreis. Gewöhnlich benötigt er sehr wenig externe Bauelemente um zu arbeiten, ein Quarz und 2 Kondensatoren reichen im Prinzip z.B. für die Controller der Firma [[Atmel]] (auch [[AVR]]-Controller genannt). Programmiert wird er in der Regel über ein Adapterkabel (z.B. [[AVR-ISP Programmierkabel|ISP-Kabel]]), das an die RS232- oder Druckerschnittstelle am PC angeschlossen wird. Inzwischen gibt es auch einige Adapterkabel, die per USB angeschlossen werden.&lt;br /&gt;
Programmiert werden die meisten Controller gewöhnlich in Assembler. Für viele Controller gibt es zum Teil jedoch Compiler und Entwicklungsumgebungen für Sprachen wie Basic, C, Forth und teils sogar Pascal.&lt;br /&gt;
Über die Programmierung können sogenannte I/O-Leitungen, das sind Ein- und Ausgänge direkt am IC, auf High- oder Low-Pegel geschaltet werden. Zudem gibt es je nach Controller zusätzliche Pins um analoge Spannungen zu messen, Signalwechsel zu zählen, analoge Spannungen (genauer [[PWM]]) auszugeben und ähnliche Dinge.&lt;br /&gt;
&lt;br /&gt;
===Soll ich es selbst aufbauen?===&lt;br /&gt;
Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, das die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der [[Timer]], [[PWM]], Ein- und Ausgänge usw.).&lt;br /&gt;
&lt;br /&gt;
Obwohl der Aufbau einer sogenannten &amp;quot;Grundschaltung&amp;quot; wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einsteigsweg doch mehr ab. Vor allem, da oft nicht bedacht wird, das man ja mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt also mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang) und auch eine Spannungsstabilisierung, um durch ein Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man ja auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig. &lt;br /&gt;
&lt;br /&gt;
Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen. &lt;br /&gt;
Aus diesem Grund rate ich Einsteigern lieber mit einem Bausatz, oder noch besser mit einem fertigen Controllerboard und fertigen Programmieradaptern, zu beginnen. Ein sogenanntes Controllerboard beinhaltet bereits die wichtigsten Grundelemente (mal mehr, mal weniger, je nach Preis) und kann oft sehr schnell in Betrieb genommen werden. Klappt etwas nicht, so kann man sich zumindest bei sehr gängigen Controllerboards in Communities, wie in unserem [http://www.roboternetz.de Roboternetz], sehr schnell Hilfe holen. Je weiter ein Board verbreitet ist, desto besser klappt es gewöhnlich mit Hilfe und auch mit Anregungen, was man alles basteln könnte.&lt;br /&gt;
&lt;br /&gt;
===Welche Controllerboards sind für den Einstieg empfehlenswert?=== &lt;br /&gt;
Es gibt eine Unzahl von verschiedenen Controllerboards, Bauteilesätzen, Einsteigerkits und dergleichen. Viele sind jedoch kaum verbreitet und bei Problemen ist man auf den Support des Anbieters angewiesen. Zudem kommt hinzu, dass Anbieter in der Branche schon oft nach einiger Zeit wieder vom Markt verschwinden.&lt;br /&gt;
Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg&lt;br /&gt;
[[Bild:stk500.jpg|100px]]&lt;br /&gt;
&lt;br /&gt;
Recht beliebt und fast jedem ein Begriff sind daher vor allem folgende Boards:&lt;br /&gt;
&lt;br /&gt;
* C-Control / C-Control Pro-System &lt;br /&gt;
* C-Control II &lt;br /&gt;
* [[RN-Control]] &lt;br /&gt;
* [[http://www.roboprogy.de/ ROBOprogy]] &lt;br /&gt;
* STK500 (Entwicklungsboard von Atmel)&lt;br /&gt;
&lt;br /&gt;
Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board [[RN-Control]], da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist. &lt;br /&gt;
[[Bild:rncontrol1.4diagramm.jpg|thumb|Funktionen des Boards]]&lt;br /&gt;
&lt;br /&gt;
Die abgebildete C-Control wurde lange Zeit oftmals in Robotern eingesetzt; heute ist sie jedoch bereits einige Jahre alt. Inzwischen wird sie für neue Roboter offenbar nur noch selten eingesetzt, vermutlich, weil die Rechenleistung doch sehr begrenzt ist. Bestimmte Dinge, wie Schrittmotoransteuerung, lassen sich mit der Rechenleistung nur schwer umsetzen. Die C-Control II ist zwar leistungsfähiger, aber fand bei den Roboter-Bastlern in den letzten Jahren auch nur wenig Zuspruch. Vor allem dürfte das daran liegen, dass man mit diesen beiden Controllerboards noch keinen Bot steuern kann - es sind immer noch zusätzliche Bauteile notwendig. Zwar gibt es diese in Form von sogenannten Applikations- und Starterboards, auf die das Controllermodul gesteckt wird, jedoch wird das Ganze dadurch natürlich vom Platzbedarf größer und natürlich auch teurer. Das gleiche gilt auch für neuere Nachfolgeserien wie dem C-Control Pro-System. Eigentlich hat die C-Control Pro mit der ursprünglichen C-Control nichts mehr zu tun, zumal hier jetzt auch ein ganz anderer Controller, nämlich ein [[Atmel|Atmel Mega-Controller]], eingesetzt wird. Da die Module gegenüber den reinen Atmel-Controllern deutlich teurer sind, können sie dem Bastler, der alle Resourcen frei nutzen möchte und nicht durch eine eingebaute Firmware eingeschränkt werden möchte, eigentlich weniger empfohlen werden.    &lt;br /&gt;
&lt;br /&gt;
====Günstig für viele Projekte: Atmel Boards====&lt;br /&gt;
Günstiger sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic, Forth oder C-Compiler. Zum Beispiel das Board [[RN-Control]] oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas  Erfahrung in diesem Bereich. &lt;br /&gt;
Dagegen sind [[RN-Control]] und ROBOprogy speziell für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da  Kürzel &amp;quot;RN&amp;quot;. Es ist nicht das erste &amp;quot;RN&amp;quot; Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das [[RNBFRA-Board]], das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des [[RNBFRA-Board]] von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.&lt;br /&gt;
&lt;br /&gt;
Da [[RN-Control]] mit unter 50 Euro wesentlich preiswerter ist, hat sich dieses Board zu einer echten Beliebtheit entwickelt. Obwohl es das Board noch nicht lange gibt findet man bei den meisten neuen Projekten, die im Roboternetz vorgestellt werden, ein RN-Control - Board irgendwo drauf.&lt;br /&gt;
Die Beliebtheit liegt vornehmlich daran, das [[RN-Control]] und ROBOprogy bereits alle wichtigen Elemente auf direkt dem Board besitzen. Auch ohne zusätzliches Applikationsboard können bereits Sensoren, Schalter und sogar Motoren angeschlossen werden. Auch eine Spannungsstabilisierung, Piepser, Steckklemmen, fünf Taster, LED´s sind bereits auf dem Board zu finden. Der ROBOprogy verfügt über Frequenzzähler, Echolot, I2C-Port und zwei Inkrementalgeber. Als Besonderheit besitzt er eine fest eingebaute Geschwindigkeitsregelung für die beiden Antriebsmotore. Bei anderen Boards ist das nur auf einem Zusatzboard vorhanden.&lt;br /&gt;
&lt;br /&gt;
 Dies alles macht beide Boards zu kompakten Controllerboards,  &lt;br /&gt;
 die ohne Zusatzkomponenten (außer Sensoren) einen kleinen &lt;br /&gt;
 Roboter steuern können. Aber ebenso eignen sie sich auch &lt;br /&gt;
 als optimales Experimentierboard.&lt;br /&gt;
&lt;br /&gt;
====ATMega32, ein schöner Einstiegscontroller mit Reserven====&lt;br /&gt;
&lt;br /&gt;
Dabei setzt [[RN-Control]] einen schon erwähnten Atmel Controller ein, den [[ATMega32]] von Atmel. Dieser Mikrocontroller besitzt bereits 32K Speicher, 2K Ram, 1K EEPROM sowie 32 programmierbare I/O Pins, 8 AnalogDigital Ports, 3 Timer u.v.m. &lt;br /&gt;
Im Gegensatz zu vielen anderen kleinen Experimentierboard die oft nur einen [[ATMega8]] einsetzen, hat man also bei RN-Control viel mehr Ports- und Speicher für größere Anwendungen. Ein Vorteil der von Anfängern oft unterschätzt werden, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher wie der des Mega8 wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATMega8 Boards recht mager, so das man oft bei Verwendung von LCD und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten besitzt. Daher empfehle ich mit einem [[ATMega32]] zu beginnen, das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards weil man doch viels mehr anschließen kann.&lt;br /&gt;
&lt;br /&gt;
====Auch an die Zukunft denken====&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Vorteil von [[RN-Control]] besteht darin das alle Stecker und Anschlüsse ja sogar die Platinenmaße einheitlich nach den [[RN-Definitionen]] vorhanden sind. Somit lassen sich Ergänzungen und Zusatzboards, wenn man es will, relativ einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Board´s.&lt;br /&gt;
Machen Bastler mal einen Fehler und [[RN-Control]] wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch ein neues ersetzt werden. &lt;br /&gt;
Und da man rn-Control wahlweise in C, Assembler oder Basic ([[Bascom]]) programmieren kann, kann man je nach Wissensstand seine Lieblingssprache wählen. Je nach Wissensstand kann man RN-Control auch fertig aufgebaut, als Bausatz oder nur als Platine erwerben.&lt;br /&gt;
Durch die weite Verbreitung von [[RN-Control]] findet man im Roboternetz auch schnell erhebliche Unterstützung, ein Umstand der für Einsteiger sehr wichtig sein sollte.&lt;br /&gt;
&lt;br /&gt;
==Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen==&lt;br /&gt;
&lt;br /&gt;
RN-Control ist sicherlich ein empfehlenswertes Board für viele Aufgaben sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheident ist letzlich auch wie gut paßt das Board zu meiner Aufgabenstellung. Dazu habe ich mal einige wichtige Kriterien als Fragen aufgeworfen. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optmale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein, dort findet man zahlreiche Bezugsquellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|&lt;br /&gt;
# Reicht die Rechenleistung dieses Board´s?&lt;br /&gt;
# Hat das Board genügend Speicher?&lt;br /&gt;
# Hat das Board genügend Ports (I/O) Leitungen?&lt;br /&gt;
# Welche Zusatzbauelemente brauche ich für mein Vorhaben und was kostet es insgesamt?&lt;br /&gt;
# Lassen sich einzelne Teile des Boards selbst reparieren (bei Board`s mit [[SMD]] oder ungesockelten IC´s ist das kaum machbar)?&lt;br /&gt;
# Sind Klemmen für Sensoren und Aktoren vorhanden oder brauche ich weitere Adapter?&lt;br /&gt;
# In welchen Sprachen kann und will ich das Board programmieren?&lt;br /&gt;
# Sind die Entwicklungsumgebungen / Compiler kostenlos?&lt;br /&gt;
# Kann/Will ich das Board nur zum experimentieren oder auch für Anwendungen nutzen? &lt;br /&gt;
# Sind die Anschlüsse kompatibel zu Erweiterungen?&lt;br /&gt;
# Sind Schaltpläne und Bestückungspläne erhältlich?&lt;br /&gt;
# Gibt es für mein Projekt Akkus in der richtigen Größe welche zur Betriebsspannung passen? &lt;br /&gt;
# Findet man in gängigen Foren genügend Unterstützung?&lt;br /&gt;
# Gibt es Literatur die sich mit Board oder den Entwicklungssystemen befassen?&lt;br /&gt;
# Eignen sich die Maße des Boards für mein Projekt?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autor Frank&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Atmel]]&lt;br /&gt;
*[[AVR-ISP Programmierkabel]]&lt;br /&gt;
*[[RN-Control]]&lt;br /&gt;
*[[AVR-Einstieg leicht gemacht]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8629</id>
		<title>Mit welchem Controllerboard fang ich an</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8629"/>
				<updated>2006-09-11T17:52:44Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* Welche Controllerboards sind für den Einstieg empfehlenswert? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welchen Controller, welches Controllerboard nehme ich?'''&lt;br /&gt;
&lt;br /&gt;
:'''Welches Controllerboard ist das beste?'''&lt;br /&gt;
&lt;br /&gt;
::'''Sollte man alles selbst bauen?'''&lt;br /&gt;
&lt;br /&gt;
Dies sind wohl die am häufigsten gestellten Fragen in der Community. Aus diesem Grund hier ein paar Ausführungen, die die Auswahl und Entscheidung erleichtern sollen. &lt;br /&gt;
&lt;br /&gt;
===Was ist ein Controller?===&lt;br /&gt;
Ein Controller ist ein programmierbarer Schaltkreis. Gewöhnlich benötigt er sehr wenig externe Bauelemente um zu arbeiten, ein Quarz und 2 Kondensatoren reichen im Prinzip z.B. für die Controller der Firma [[Atmel]] (auch [[AVR]]-Controller genannt). Programmiert wird er in der Regel über ein Adapterkabel (z.B. [[AVR-ISP Programmierkabel|ISP-Kabel]]), das an die RS232- oder Druckerschnittstelle am PC angeschlossen wird. Inzwischen gibt es auch einige Adapterkabel, die per USB angeschlossen werden.&lt;br /&gt;
Programmiert werden die meisten Controller gewöhnlich in Assembler. Für viele Controller gibt es zum Teil jedoch Compiler und Entwicklungsumgebungen für Sprachen wie Basic, C, Forth und teils sogar Pascal.&lt;br /&gt;
Über die Programmierung können sogenannte I/O-Leitungen, das sind Ein- und Ausgänge direkt am IC, auf High- oder Low-Pegel geschaltet werden. Zudem gibt es je nach Controller zusätzliche Pins um analoge Spannungen zu messen, Signalwechsel zu zählen, analoge Spannungen (genauer [[PWM]]) auszugeben und ähnliche Dinge.&lt;br /&gt;
&lt;br /&gt;
===Soll ich es selbst aufbauen?===&lt;br /&gt;
Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, das die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der [[Timer]], [[PWM]], Ein- und Ausgänge usw.).&lt;br /&gt;
&lt;br /&gt;
Obwohl der Aufbau einer sogenannten &amp;quot;Grundschaltung&amp;quot; wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einsteigsweg doch mehr ab. Vor allem, da oft nicht bedacht wird, das man ja mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt also mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang) und auch eine Spannungsstabilisierung, um durch ein Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man ja auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig. &lt;br /&gt;
&lt;br /&gt;
Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen. &lt;br /&gt;
Aus diesem Grund rate ich Einsteigern lieber mit einem Bausatz, oder noch besser mit einem fertigen Controllerboard und fertigen Programmieradaptern, zu beginnen. Ein sogenanntes Controllerboard beinhaltet bereits die wichtigsten Grundelemente (mal mehr, mal weniger, je nach Preis) und kann oft sehr schnell in Betrieb genommen werden. Klappt etwas nicht, so kann man sich zumindest bei sehr gängigen Controllerboards in Communities, wie in unserem [http://www.roboternetz.de Roboternetz], sehr schnell Hilfe holen. Je weiter ein Board verbreitet ist, desto besser klappt es gewöhnlich mit Hilfe und auch mit Anregungen, was man alles basteln könnte.&lt;br /&gt;
&lt;br /&gt;
===Welche Controllerboards sind für den Einstieg empfehlenswert?=== &lt;br /&gt;
Es gibt eine Unzahl von verschiedenen Controllerboards, Bauteilesätzen, Einsteigerkits und dergleichen. Viele sind jedoch kaum verbreitet und bei Problemen ist man auf den Support des Anbieters angewiesen. Zudem kommt hinzu, dass Anbieter in der Branche schon oft nach einiger Zeit wieder vom Markt verschwinden.&lt;br /&gt;
Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg&lt;br /&gt;
[[Bild:stk500.jpg|100px]]&lt;br /&gt;
&lt;br /&gt;
Recht beliebt und fast jedem ein Begriff sind daher vor allem folgende Boards:&lt;br /&gt;
&lt;br /&gt;
* C-Control / C-Control Pro-System &lt;br /&gt;
* C-Control II &lt;br /&gt;
* [[RN-Control]] &lt;br /&gt;
* [[http://www.roboprogy.de/ ROBOprogy]] &lt;br /&gt;
* STK500 (Entwicklungsboard von Atmel)&lt;br /&gt;
&lt;br /&gt;
Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board [[RN-Control]], da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist. &lt;br /&gt;
[[Bild:rncontrol1.4diagramm.jpg|thumb|Funktionen des Boards]]&lt;br /&gt;
&lt;br /&gt;
Die abgebildete C-Control wurde lange Zeit oftmals in Robotern eingesetzt; heute ist sie jedoch bereits einige Jahre alt. Inzwischen wird sie für neue Roboter offenbar nur noch selten eingesetzt, vermutlich, weil die Rechenleistung doch sehr begrenzt ist. Bestimmte Dinge, wie Schrittmotoransteuerung, lassen sich mit der Rechenleistung nur schwer umsetzen. Die C-Control II ist zwar leistungsfähiger, aber fand bei den Roboter-Bastlern in den letzten Jahren auch nur wenig Zuspruch. Vor allem dürfte das daran liegen, dass man mit diesen beiden Controllerboards noch keinen Bot steuern kann - es sind immer noch zusätzliche Bauteile notwendig. Zwar gibt es diese in Form von sogenannten Applikations- und Starterboards, auf die das Controllermodul gesteckt wird, jedoch wird das Ganze dadurch natürlich vom Platzbedarf größer und natürlich auch teurer. Das gleiche gilt auch für neuere Nachfolgeserien wie dem C-Control Pro-System. Eigentlich hat die C-Control Pro mit der ursprünglichen C-Control nichts mehr zu tun, zumal hier jetzt auch ein ganz anderer Controller, nämlich ein [[Atmel|Atmel Mega-Controller]], eingesetzt wird. Da die Module gegenüber den reinen Atmel-Controllern deutlich teurer sind, können sie dem Bastler, der alle Resourcen frei nutzen möchte und nicht durch eine eingebaute Firmware eingeschränkt werden möchte, eigentlich weniger empfohlen werden.    &lt;br /&gt;
&lt;br /&gt;
====Günstig für viele Projekte: Atmel Boards====&lt;br /&gt;
Günstiger sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic oder C-Compiler. Zum Beispiel das Board [[RN-Control]] oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas  Erfahrung in diesem Bereich. &lt;br /&gt;
Dagegen ist [[RN-Control]] speziel für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da  Kürzel &amp;quot;RN&amp;quot;. Es ist nicht das erste &amp;quot;RN&amp;quot; Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das [[RNBFRA-Board]], das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des [[RNBFRA-Board]] von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.&lt;br /&gt;
&lt;br /&gt;
Da [[RN-Control]] mit unter 50 Euro wesentlich preiswerter ist, hat sich dieses Board zu einer echten Beliebtheit entwickelt. Obwohl es das Board noch nicht lange gibt findet man bei den meisten neuen Projekten, die im Roboternetz vorgestellt werden, ein RN-Control - Board irgendwo drauf.&lt;br /&gt;
Die Beliebtheit liegt vornehmlich daran, das [[RN-Control]] bereits alle wichtigen Elemente auf direkt dem Board besitzt. Auch ohne zusätzliches Applikationsboard können bereits Sensoren, Schalter und sogar Motoren angeschlossen werden. Auch eine Spannungsstabilisierung, Piepser, Steckklemmen, fünf Taster, LED´s sind bereits auf dem Board zu finden. Bei anderen Boards ist das oft erst auf einem Zusatzboard vorhanden.&lt;br /&gt;
&lt;br /&gt;
 Dies alles macht das Board zu einem kompakten Controllerboard &lt;br /&gt;
 das ohne Zusatzkomponenten (außer Sensoren) einen kleinen &lt;br /&gt;
 Roboter steuern kann. Aber ebenso eignet sich das Board auch &lt;br /&gt;
 als optimales Experimentierboard. &lt;br /&gt;
&lt;br /&gt;
====ATMega32, ein schöner Einstiegscontroller mit Reserven====&lt;br /&gt;
&lt;br /&gt;
Dabei setzt [[RN-Control]] einen schon erwähnten Atmel Controller ein, den [[ATMega32]] von Atmel. Dieser Mikrocontroller besitzt bereits 32K Speicher, 2K Ram, 1K EEPROM sowie 32 programmierbare I/O Pins, 8 AnalogDigital Ports, 3 Timer u.v.m. &lt;br /&gt;
Im Gegensatz zu vielen anderen kleinen Experimentierboard die oft nur einen [[ATMega8]] einsetzen, hat man also bei RN-Control viel mehr Ports- und Speicher für größere Anwendungen. Ein Vorteil der von Anfängern oft unterschätzt werden, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher wie der des Mega8 wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATMega8 Boards recht mager, so das man oft bei Verwendung von LCD und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten besitzt. Daher empfehle ich mit einem [[ATMega32]] zu beginnen, das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards weil man doch viels mehr anschließen kann.&lt;br /&gt;
&lt;br /&gt;
====Auch an die Zukunft denken====&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Vorteil von [[RN-Control]] besteht darin das alle Stecker und Anschlüsse ja sogar die Platinenmaße einheitlich nach den [[RN-Definitionen]] vorhanden sind. Somit lassen sich Ergänzungen und Zusatzboards, wenn man es will, relativ einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Board´s.&lt;br /&gt;
Machen Bastler mal einen Fehler und [[RN-Control]] wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch ein neues ersetzt werden. &lt;br /&gt;
Und da man rn-Control wahlweise in C, Assembler oder Basic ([[Bascom]]) programmieren kann, kann man je nach Wissensstand seine Lieblingssprache wählen. Je nach Wissensstand kann man RN-Control auch fertig aufgebaut, als Bausatz oder nur als Platine erwerben.&lt;br /&gt;
Durch die weite Verbreitung von [[RN-Control]] findet man im Roboternetz auch schnell erhebliche Unterstützung, ein Umstand der für Einsteiger sehr wichtig sein sollte.&lt;br /&gt;
&lt;br /&gt;
==Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen==&lt;br /&gt;
&lt;br /&gt;
RN-Control ist sicherlich ein empfehlenswertes Board für viele Aufgaben sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheident ist letzlich auch wie gut paßt das Board zu meiner Aufgabenstellung. Dazu habe ich mal einige wichtige Kriterien als Fragen aufgeworfen. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optmale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein, dort findet man zahlreiche Bezugsquellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|&lt;br /&gt;
# Reicht die Rechenleistung dieses Board´s?&lt;br /&gt;
# Hat das Board genügend Speicher?&lt;br /&gt;
# Hat das Board genügend Ports (I/O) Leitungen?&lt;br /&gt;
# Welche Zusatzbauelemente brauche ich für mein Vorhaben und was kostet es insgesamt?&lt;br /&gt;
# Lassen sich einzelne Teile des Boards selbst reparieren (bei Board`s mit [[SMD]] oder ungesockelten IC´s ist das kaum machbar)?&lt;br /&gt;
# Sind Klemmen für Sensoren und Aktoren vorhanden oder brauche ich weitere Adapter?&lt;br /&gt;
# In welchen Sprachen kann und will ich das Board programmieren?&lt;br /&gt;
# Sind die Entwicklungsumgebungen / Compiler kostenlos?&lt;br /&gt;
# Kann/Will ich das Board nur zum experimentieren oder auch für Anwendungen nutzen? &lt;br /&gt;
# Sind die Anschlüsse kompatibel zu Erweiterungen?&lt;br /&gt;
# Sind Schaltpläne und Bestückungspläne erhältlich?&lt;br /&gt;
# Gibt es für mein Projekt Akkus in der richtigen Größe welche zur Betriebsspannung passen? &lt;br /&gt;
# Findet man in gängigen Foren genügend Unterstützung?&lt;br /&gt;
# Gibt es Literatur die sich mit Board oder den Entwicklungssystemen befassen?&lt;br /&gt;
# Eignen sich die Maße des Boards für mein Projekt?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autor Frank&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Atmel]]&lt;br /&gt;
*[[AVR-ISP Programmierkabel]]&lt;br /&gt;
*[[RN-Control]]&lt;br /&gt;
*[[AVR-Einstieg leicht gemacht]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	<entry>
		<id>https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8628</id>
		<title>Mit welchem Controllerboard fang ich an</title>
		<link rel="alternate" type="text/html" href="https://rn-wissen.de/wiki/index.php?title=Mit_welchem_Controllerboard_fang_ich_an&amp;diff=8628"/>
				<updated>2006-09-11T17:47:53Z</updated>
		
		<summary type="html">&lt;p&gt;Herbertweidner: /* Was ist ein Controller? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Welchen Controller, welches Controllerboard nehme ich?'''&lt;br /&gt;
&lt;br /&gt;
:'''Welches Controllerboard ist das beste?'''&lt;br /&gt;
&lt;br /&gt;
::'''Sollte man alles selbst bauen?'''&lt;br /&gt;
&lt;br /&gt;
Dies sind wohl die am häufigsten gestellten Fragen in der Community. Aus diesem Grund hier ein paar Ausführungen, die die Auswahl und Entscheidung erleichtern sollen. &lt;br /&gt;
&lt;br /&gt;
===Was ist ein Controller?===&lt;br /&gt;
Ein Controller ist ein programmierbarer Schaltkreis. Gewöhnlich benötigt er sehr wenig externe Bauelemente um zu arbeiten, ein Quarz und 2 Kondensatoren reichen im Prinzip z.B. für die Controller der Firma [[Atmel]] (auch [[AVR]]-Controller genannt). Programmiert wird er in der Regel über ein Adapterkabel (z.B. [[AVR-ISP Programmierkabel|ISP-Kabel]]), das an die RS232- oder Druckerschnittstelle am PC angeschlossen wird. Inzwischen gibt es auch einige Adapterkabel, die per USB angeschlossen werden.&lt;br /&gt;
Programmiert werden die meisten Controller gewöhnlich in Assembler. Für viele Controller gibt es zum Teil jedoch Compiler und Entwicklungsumgebungen für Sprachen wie Basic, C, Forth und teils sogar Pascal.&lt;br /&gt;
Über die Programmierung können sogenannte I/O-Leitungen, das sind Ein- und Ausgänge direkt am IC, auf High- oder Low-Pegel geschaltet werden. Zudem gibt es je nach Controller zusätzliche Pins um analoge Spannungen zu messen, Signalwechsel zu zählen, analoge Spannungen (genauer [[PWM]]) auszugeben und ähnliche Dinge.&lt;br /&gt;
&lt;br /&gt;
===Soll ich es selbst aufbauen?===&lt;br /&gt;
Bastler mit etwas mehr Erfahrung in diesem Bereich kaufen sich oft diese Controller-ICs einzeln und bauen sich über eine Experimentierplatine eine eigene Schaltung auf. Besonders einfach ist dies mit der schon genannten Controllerserie von Atmel. Zum einen, weil diese Firma sehr viele Controllertypen anbietet, die auch im anwenderfreundlichen DIP-Gehäuse (IC, das man in eine handelsübliche Fassung stecken kann) geliefert werden; zum anderen benötigt man nur wenig externe Bauelemente für eine Grundschaltung. Ein weiterer Vorteil der AVR-Serie ist, das die meisten Controllertypen fast identisch programmiert werden. Sie unterscheiden sich lediglich in Bauform, Anzahl der I/O-Pins und einigen bestimmten Features (Anzahl der [[Timer]], [[PWM]], Ein- und Ausgänge usw.).&lt;br /&gt;
&lt;br /&gt;
Obwohl der Aufbau einer sogenannten &amp;quot;Grundschaltung&amp;quot; wegen der wenigen externen Teile sehr einfach ist und zum Teil sogar billige Bauteilesets für den Einstieg existieren, rate ich Einsteigern von diesem Einsteigsweg doch mehr ab. Vor allem, da oft nicht bedacht wird, das man ja mit der Grundschaltung alleine noch nichts machen kann. Man würde noch nicht mal feststellen, ob ein Programm überhaupt ausgeführt oder nicht ausgeführt wird. Man benötigt also mindestens eine LED (besser mehrere) an einem Port (I/O-Ausgang) und auch eine Spannungsstabilisierung, um durch ein Blinken zu sehen, ob die Befehle überhaupt wie gewünscht ausgeführt werden. Zudem braucht man ja auch Stecker und Buchsen, um Programmierkabel und/oder RS232-Kabel, Stromquelle etc. anzuschließen. Auch ein paar Taster sind fast immer notwendig. &lt;br /&gt;
&lt;br /&gt;
Wenn man dann noch Motoren, Relais etc. schalten will, dann sind noch weitere Bauelemente notwendig. Wenn man das alles bedenkt, dann kommt doch schon einiges an Bauteilen zusammen. Mit der Anzahl der Bauteile erhöhen sich auch drastisch die Fehlerquellen. Funktioniert etwas nicht, weiß der Einsteiger oft noch nicht mal, ob er in der Programmierung einen Fehler gemacht hat, die Entwicklungsumgebung nicht richtig installiert hat oder aber beim Aufbau was falsch gemacht hat. Die Motivation wird durch einen solchen Fehlschlag schnell genommen. &lt;br /&gt;
Aus diesem Grund rate ich Einsteigern lieber mit einem Bausatz, oder noch besser mit einem fertigen Controllerboard und fertigen Programmieradaptern, zu beginnen. Ein sogenanntes Controllerboard beinhaltet bereits die wichtigsten Grundelemente (mal mehr, mal weniger, je nach Preis) und kann oft sehr schnell in Betrieb genommen werden. Klappt etwas nicht, so kann man sich zumindest bei sehr gängigen Controllerboards in Communities, wie in unserem [http://www.roboternetz.de Roboternetz], sehr schnell Hilfe holen. Je weiter ein Board verbreitet ist, desto besser klappt es gewöhnlich mit Hilfe und auch mit Anregungen, was man alles basteln könnte.&lt;br /&gt;
&lt;br /&gt;
===Welche Controllerboards sind für den Einstieg empfehlenswert?=== &lt;br /&gt;
Es gibt eine Unzahl von verschiedenen Controllerboards, Bauteilesätzen, Einsteigerkits und dergleichen. Viele sind jedoch kaum verbreitet und bei Problemen ist man auf den Support des Anbieters angewiesen. Zudem kommt hinzu, dass Anbieter in der Branche schon oft nach einiger Zeit wieder vom Markt verschwinden.&lt;br /&gt;
Es ist daher wirklich empfehlenswert, ein recht beliebtes und weit verbreitetes Controllerboard zu nehmen, um nicht irgendwann mit Problemen allein dazustehen.&lt;br /&gt;
&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/ccontrol.gif&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/cc2.jpeg&lt;br /&gt;
http://www.roboternetz.de/wiki/uploads/Main/rncontrolmini.jpg&lt;br /&gt;
[[Bild:stk500.jpg|100px]]&lt;br /&gt;
&lt;br /&gt;
Recht beliebt und fast jedem ein Begriff sind daher vor allem folgende Boards:&lt;br /&gt;
&lt;br /&gt;
* C-Control / C-Control Pro-System &lt;br /&gt;
* C-Control II &lt;br /&gt;
* [[RN-Control]] &lt;br /&gt;
* STK500 (Entwicklungsboard von Atmel)&lt;br /&gt;
&lt;br /&gt;
Zu den oberen drei Boards findet man im Roboternetz reichlich Unterstützung, insbesondere auch zu dem Board [[RN-Control]], da dieses auf einem Atmel-Controller beruht und sogar im Roboternetz entstanden ist. &lt;br /&gt;
[[Bild:rncontrol1.4diagramm.jpg|thumb|Funktionen des Boards]]&lt;br /&gt;
&lt;br /&gt;
Die abgebildete C-Control wurde lange Zeit oftmals in Robotern eingesetzt; heute ist sie jedoch bereits einige Jahre alt. Inzwischen wird sie für neue Roboter offenbar nur noch selten eingesetzt, vermutlich, weil die Rechenleistung doch sehr begrenzt ist. Bestimmte Dinge, wie Schrittmotoransteuerung, lassen sich mit der Rechenleistung nur schwer umsetzen. Die C-Control II ist zwar leistungsfähiger, aber fand bei den Roboter-Bastlern in den letzten Jahren auch nur wenig Zuspruch. Vor allem dürfte das daran liegen, dass man mit diesen beiden Controllerboards noch keinen Bot steuern kann - es sind immer noch zusätzliche Bauteile notwendig. Zwar gibt es diese in Form von sogenannten Applikations- und Starterboards, auf die das Controllermodul gesteckt wird, jedoch wird das Ganze dadurch natürlich vom Platzbedarf größer und natürlich auch teurer. Das gleiche gilt auch für neuere Nachfolgeserien wie dem C-Control Pro-System. Eigentlich hat die C-Control Pro mit der ursprünglichen C-Control nichts mehr zu tun, zumal hier jetzt auch ein ganz anderer Controller, nämlich ein [[Atmel|Atmel Mega-Controller]], eingesetzt wird. Da die Module gegenüber den reinen Atmel-Controllern deutlich teurer sind, können sie dem Bastler, der alle Resourcen frei nutzen möchte und nicht durch eine eingebaute Firmware eingeschränkt werden möchte, eigentlich weniger empfohlen werden.    &lt;br /&gt;
&lt;br /&gt;
====Günstig für viele Projekte: Atmel Boards====&lt;br /&gt;
Günstiger sind für viele Projekte daher reine Atmel Boards in Verbindung mit einem guten Basic oder C-Compiler. Zum Beispiel das Board [[RN-Control]] oder das STK500 von Atmel. Da das STK500 jedoch vornehmlich zum Experimentieren mit verschiedenen Controllern entwickelt wurde, eignet es sich als Roboterboard oder als Board in einem späteren Projekt weniger gut. Das STK500 hat seine Stärke beim ausprobieren verschiedener Controller. Auch die englische Dokumentation des STK500 wendet sich daher nicht unbedingt an den Hobbybastler sondern vornehmlich an Entwickler mit etwas  Erfahrung in diesem Bereich. &lt;br /&gt;
Dagegen ist [[RN-Control]] speziel für Hobbybastler im Roboternetz konzipiert worden. Bei der Entwicklung sind viele Anregungen der Roboternetz-User berücksichtigt worden, das Board ist quasi im Roboternetz geboren worden – daher auch da  Kürzel &amp;quot;RN&amp;quot;. Es ist nicht das erste &amp;quot;RN&amp;quot; Board welches die Wünsche eines Roboterbastlers erfüllen sollte. Zuvor gab es das [[RNBFRA-Board]], das neben Controller auch noch CoController, Porterweiterungen, Schrittmotortreiber und vieles mehr beinhaltete. Obwohl auch die Features des [[RNBFRA-Board]] von den Usern zusammengestellt wurden, wird dieses Board vorwiegend von den erfahreneren Usern genutzt. Dies liegt wohl vornehmlich am Preis. Das Preis- Leistungsverhältnis ist zwar sicherlich sehr gut, aber für den ersten Einstieg ist ein Preis über 100 Euro doch auf den ersten Blick etwas abschreckend.&lt;br /&gt;
&lt;br /&gt;
Da [[RN-Control]] mit unter 50 Euro wesentlich preiswerter ist, hat sich dieses Board zu einer echten Beliebtheit entwickelt. Obwohl es das Board noch nicht lange gibt findet man bei den meisten neuen Projekten, die im Roboternetz vorgestellt werden, ein RN-Control - Board irgendwo drauf.&lt;br /&gt;
Die Beliebtheit liegt vornehmlich daran, das [[RN-Control]] bereits alle wichtigen Elemente auf direkt dem Board besitzt. Auch ohne zusätzliches Applikationsboard können bereits Sensoren, Schalter und sogar Motoren angeschlossen werden. Auch eine Spannungsstabilisierung, Piepser, Steckklemmen, fünf Taster, LED´s sind bereits auf dem Board zu finden. Bei anderen Boards ist das oft erst auf einem Zusatzboard vorhanden.&lt;br /&gt;
&lt;br /&gt;
 Dies alles macht das Board zu einem kompakten Controllerboard &lt;br /&gt;
 das ohne Zusatzkomponenten (außer Sensoren) einen kleinen &lt;br /&gt;
 Roboter steuern kann. Aber ebenso eignet sich das Board auch &lt;br /&gt;
 als optimales Experimentierboard. &lt;br /&gt;
&lt;br /&gt;
====ATMega32, ein schöner Einstiegscontroller mit Reserven====&lt;br /&gt;
&lt;br /&gt;
Dabei setzt [[RN-Control]] einen schon erwähnten Atmel Controller ein, den [[ATMega32]] von Atmel. Dieser Mikrocontroller besitzt bereits 32K Speicher, 2K Ram, 1K EEPROM sowie 32 programmierbare I/O Pins, 8 AnalogDigital Ports, 3 Timer u.v.m. &lt;br /&gt;
Im Gegensatz zu vielen anderen kleinen Experimentierboard die oft nur einen [[ATMega8]] einsetzen, hat man also bei RN-Control viel mehr Ports- und Speicher für größere Anwendungen. Ein Vorteil der von Anfängern oft unterschätzt werden, denn gerade Einsteiger schreiben nicht unbedingt besonders kompakten Code. Ein kleiner Speicher wie der des Mega8 wäre da schneller am Ende, als man denkt. Auch die Portanzahl ist bei ATMega8 Boards recht mager, so das man oft bei Verwendung von LCD und wenigen Sensoren schon keine weiteren Anschlussmöglichkeiten besitzt. Daher empfehle ich mit einem [[ATMega32]] zu beginnen, das ist vielleicht ein paar Euro teurer, aber dafür erspart man sich oft den Kauf eines weiteren Boards weil man doch viels mehr anschließen kann.&lt;br /&gt;
&lt;br /&gt;
====Auch an die Zukunft denken====&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Vorteil von [[RN-Control]] besteht darin das alle Stecker und Anschlüsse ja sogar die Platinenmaße einheitlich nach den [[RN-Definitionen]] vorhanden sind. Somit lassen sich Ergänzungen und Zusatzboards, wenn man es will, relativ einfach ohne zusätzliche Adapter kombinieren. Inzwischen gibt es zahlreiche RN-Board´s.&lt;br /&gt;
Machen Bastler mal einen Fehler und [[RN-Control]] wird beschädigt, so können defekte Teile einfach aus der Fassung gezogen und durch ein neues ersetzt werden. &lt;br /&gt;
Und da man rn-Control wahlweise in C, Assembler oder Basic ([[Bascom]]) programmieren kann, kann man je nach Wissensstand seine Lieblingssprache wählen. Je nach Wissensstand kann man RN-Control auch fertig aufgebaut, als Bausatz oder nur als Platine erwerben.&lt;br /&gt;
Durch die weite Verbreitung von [[RN-Control]] findet man im Roboternetz auch schnell erhebliche Unterstützung, ein Umstand der für Einsteiger sehr wichtig sein sollte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Wenn man sich für ein Board entscheiden will, sollte man also folgende Fragen stellen==&lt;br /&gt;
&lt;br /&gt;
RN-Control ist sicherlich ein empfehlenswertes Board für viele Aufgaben sonst würde es nicht so oft eingesetzt. Aber natürlich gibt es auf dem Markt noch zahlreiche andere gute Boards. Entscheident ist letzlich auch wie gut paßt das Board zu meiner Aufgabenstellung. Dazu habe ich mal einige wichtige Kriterien als Fragen aufgeworfen. Wenn man sich diese Fragen zu jedem Board stellt, das man im Auge hat, wird man sicherlich das optmale finden. Je nach Situation können die Fragen durchaus zu ganz verschiedenen Lösungen führen. Hilfreich kann dazu auch das Linkverzeichis im Roboternetz sein, dort findet man zahlreiche Bezugsquellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| {{Blauetabelle}}&lt;br /&gt;
|&lt;br /&gt;
# Reicht die Rechenleistung dieses Board´s?&lt;br /&gt;
# Hat das Board genügend Speicher?&lt;br /&gt;
# Hat das Board genügend Ports (I/O) Leitungen?&lt;br /&gt;
# Welche Zusatzbauelemente brauche ich für mein Vorhaben und was kostet es insgesamt?&lt;br /&gt;
# Lassen sich einzelne Teile des Boards selbst reparieren (bei Board`s mit [[SMD]] oder ungesockelten IC´s ist das kaum machbar)?&lt;br /&gt;
# Sind Klemmen für Sensoren und Aktoren vorhanden oder brauche ich weitere Adapter?&lt;br /&gt;
# In welchen Sprachen kann und will ich das Board programmieren?&lt;br /&gt;
# Sind die Entwicklungsumgebungen / Compiler kostenlos?&lt;br /&gt;
# Kann/Will ich das Board nur zum experimentieren oder auch für Anwendungen nutzen? &lt;br /&gt;
# Sind die Anschlüsse kompatibel zu Erweiterungen?&lt;br /&gt;
# Sind Schaltpläne und Bestückungspläne erhältlich?&lt;br /&gt;
# Gibt es für mein Projekt Akkus in der richtigen Größe welche zur Betriebsspannung passen? &lt;br /&gt;
# Findet man in gängigen Foren genügend Unterstützung?&lt;br /&gt;
# Gibt es Literatur die sich mit Board oder den Entwicklungssystemen befassen?&lt;br /&gt;
# Eignen sich die Maße des Boards für mein Projekt?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Autor Frank&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Microcontroller]]&lt;br /&gt;
[[Kategorie:Robotikeinstieg]]&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Atmel]]&lt;br /&gt;
*[[AVR-ISP Programmierkabel]]&lt;br /&gt;
*[[RN-Control]]&lt;br /&gt;
*[[AVR-Einstieg leicht gemacht]]&lt;/div&gt;</summary>
		<author><name>Herbertweidner</name></author>	</entry>

	</feed>