<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Robotfreak Blog &#187; Asuro</title>
	<atom:link href="http://www.robotfreak.de/blog/category/robotik/asuro/feed" rel="self" type="application/rss+xml" />
	<link>http://www.robotfreak.de/blog</link>
	<description>Robotik, Elektronik, Arduino und mehr</description>
	<lastBuildDate>Mon, 23 Jan 2012 21:13:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Asuro &#8211; DIY USB-IR Transceiver</title>
		<link>http://www.robotfreak.de/blog/robotik/asuro-diy-usb-ir-transceiver/176</link>
		<comments>http://www.robotfreak.de/blog/robotik/asuro-diy-usb-ir-transceiver/176#comments</comments>
		<pubDate>Wed, 02 Sep 2009 20:29:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asuro]]></category>
		<category><![CDATA[Robotik]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/?p=176</guid>
		<description><![CDATA[Ein kleiner Adapter macht aus dem Standard RS232-IR Transceivers zusammen mit einem USB-UART Modul einen USB IR Transceiver. Da neuere Rechner kaum noch mit einer seriellen Schnittstelle ausgestattet sind, gucken Asuro Benutzer erst mal in die R&#246;hre, da dem Bausatz nur ein RS232-IR Transceiver beiliegt. Der Asuro l&#228;sst sich leider nur &#252;ber diese propriet&#228;re Infrarot [...]]]></description>
			<content:encoded><![CDATA[<p>Ein kleiner Adapter macht aus dem Standard RS232-IR Transceivers zusammen mit einem USB-UART Modul einen USB IR Transceiver.<br />
<img src="http://farm3.static.flickr.com/2646/3881569373_a685d1689a.jpg" alt="Asuro DIY USB IR Transceiver" /><br />
<span id="more-176"></span><br />
Da neuere Rechner kaum noch mit einer seriellen Schnittstelle ausgestattet sind, gucken Asuro Benutzer erst mal in die R&#246;hre, da dem Bausatz nur ein RS232-IR Transceiver beiliegt. Der Asuro l&#228;sst sich leider nur &#252;ber diese propriet&#228;re Infrarot Schnittstelle Flashen, bzw. zur seriellen Kommunikation nutzen. Zwar gibt es auch den USB-IR Transceiver. Doch der kosten mit 18€ nicht gerade wenig, und taugt zudem nur f&#252;r den Asuro (bzw. den Yeti).</p>
<p>Es liegt also nahe, eine kosteng&#252;nstige L&#246;sung zu finden, die mit dem zum Bausatz geh&#246;renden RS232-IR Transceiver funktioniert. Und besser noch, eine L&#246;sung die nicht nur f&#252;r den Asuro taugt, sondern auch f&#252;r andere Projekte. Denn auch wenn, die serielle Schnittstelle beim PC quasi verschwinden ist, so findet sie sich noch bei vielen Mikrocontrollern.</p>
<p>USB UART Wandler gibt es sehr viele auf der Welt, aber nicht alle funktionieren auch mit dem Asuro bzw. dem Flash Tool. Doch es gibt Hoffnung. Auf dem USB-IR Transceiver wird ein USB UART Wandler der Firma <a href="http://www.ftdichip.com" class="liexternal">FTDI</a> verwendet. Diese USB UART Wandler findet man auf vielen Boards. So sind z.B. fast alle <a href="http://www.arduino.cc" class="liexternal">Ardui</a> Boards mit einem FTDI-Chip f&#252;r die Kommunikation mit dem PC ausger&#252;stet. Au&#223;erdem gibt es immer aktuelle Treiber f&#252;r alle wichtigen Betriebssysteme und der Support ist auch ok. Zudem gibt es eine Reihe von USB-UART Wandlern mit FTDI Chip als kleine Adapter oder als simple Kabel, die man einfach an sein System anst&#246;pseln kann.<br />
<img src="http://farm3.static.flickr.com/2582/3882367572_bfa919cc41.jpg" alt="Asuro DIY USB IR Transceiver" /></p>
<h2>Schaltung</h2>
<p>Der RS232-IR Transceiver arbeitet eigentlich mit den bei RS232 Schnittstellen &#252;blichen Pegeln von +-12V. Nach einem Blick in den Schaltplan  erkennt man aber schnell, dass die ankommenden Pegel zuerst auf normalen 5V TTL Pegel gebracht werden. Insbesondere der IR Empf&#228;nger Chip ist sehr empfindlich und vertr&#228;gt nur wenig mehr als 5V. Negative Spannungen sind ebenso tabu. Das n&#228;hrt die Vermutung, dass der  Transceiver auch mit normalen 5V funktioniert, wie sie der FTDI UART Wandler liefert. Im Gegensatz zu den USB-RS232 Wandlern, die mit +-12V Pegeln arbeiten.</p>
<p>An der COM Schnittstelle im PC werden diese RS232 Pegel ebenfalls wieder auf 5V Pegel gebracht. Die dabei verwendeten Pegelwandler invertieren zudem die Logik Pegel. Deshalb kann man den USB UART Adapter nicht direkt mit dem RS232-IR Tarnsceiver verbinden. Es werden noch Inverter f&#252;r die Signale ben&#246;tigt.<br />
Nach genauerem Schaltplan Studium werden 2 Inverter ben&#246;tigt. Einen f&#252;r das empfangene und einer f&#252;r das zu sendende Signal. 2 NPN Transistoren eignen sich sehr gut f&#252;r diese Aufgabe.</p>
<p><img src="http://farm4.static.flickr.com/3438/3878676941_051e7628d2.jpg" alt="Asuro DIY USB IR Transceiver" /><br />
<img src="http://farm4.static.flickr.com/3508/3878677229_b60268ef28.jpg" alt="Asuro DIY USB IR Transceiver" /></p>
<p>Entsprechend &#252;bersichtlich sieht der Schaltplan aus. Neben den Transistoren noch 4 Widerst&#228;nde Steckverbinder und ein kleines St&#252;ck Lochrasterplatine, das war es dann schon.</p>
<p><strong>St&#252;ckliste:</strong></p>
<ul>
<li>1 x SUB-D 9polig Stecker gewinkelt,</li>
<li>1 x Stiftleiste 6polig</li>
<li>1 x Lochraster ca. 3x4cm</li>
<li>2 x NPN Transistoren BC547 o.&#228;.</li>
<li>4 x Widerst&#228;nde 1k o. 1k5</li>
</ul>
<p><img src='http://farm4.static.flickr.com/3483/3881571945_18c68482b4.jpg' alt='Asuro DIY USB IR Transceiver'/><br />
<img src='http://farm3.static.flickr.com/2480/3881572889_2b836fc7f0.jpg' alt='Asuro DIY USB IR Transceiver'/></p>
<h2>Video</h2>
<p>Ein kleines Video zeigt den USB IR Transceiver in Aktion.<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/PFV3zh0K4ro&#038;hl=de&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/PFV3zh0K4ro&#038;hl=de&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<h2>Weiterf&#252;hrende Themen</h2>
<p>F&#252;r die FTDI USB UART Chips gibt es auch Entwickler Libs um, den Chip vom PC aus f&#252;r eigene Projekte zu verwenden. So gibt es f&#252;r die g&#228;ngigen PC Sprachen (.NET C#, C++, Visual Basic) auf der <a href="http://www.ftdichip.com/Projects/CodeExamples.htm" class="liexternal">FTDI Homepage</a> entsprechende Libraries und Beispiel Code. F&#252;r die folgenden Beispiele werden Entwickler oder Breakout Boards mit FTDI Chips ben&#246;tigt. Boards, bei denen praktisch alle Anschl&#252;sse des FTDI Chips nach au&#223;en gef&#252;hrt sind. Bei dem oben genannten FTDI Basic Adapter ist das nicht der Fall, wohl aber beim <a href="http://www.watterott.com/de/Breakout-Board-mit-FT232RL-USB-Seriell-Wandler" class="liexternal">Breakout Board</a> mit FTDI232RL Chip.</p>
<h3>ISP Dongle</h3>
<p>Die FTDI USB-UART Wandler sind schon tolle Chips, mit denen man nicht nur USB in seriell UART Signale wandeln kann. So ein Chip kann auch als Low Cost ISP Dongle verwendet werden. Dazu wird der sogenannte Bitbang Modus verwendet. Damit lassen sich &#252;ber USB z.B. alle g&#228;ngigen Atmel Mega und tiny Chips programmieren. Mehr unter: <a href="http://translate.google.com/translate?u=http%3A%2F%2Fwww.geocities.jp%2Farduino_diecimila%2Fbootloader%2Findex.html%23top&amp;hl=de&amp;ie=UTF-8&amp;sl=ja&amp;tl=en" class="liexternal">www.geocities.jp</a></p>
<h3>I2C Master</h3>
<p>Auch als I2C Master l&#228;sst sich so ein FTDI Chip missbrauchen. Man braucht dazu keinen Mikrocontroller. Alles wird einem PC Programm gesteuert. Zwar ist der Bitbang Modus nicht besonders schnell, aber zum Testen von einem I2C Baustein reicht es alle mal. Die neueren FTDI Chips bieten hier schon bessere Performance. Mehr unter: <a href="http://www.mikrocontroller.net/topic/102360#new" class="liexternal">microcontroller.net</a></p>
<h2>Weblinks</h2>
<ul>
<li><a href="http://www.ftdichip.com" class="liexternal">FTDI</a></li>
<li><a href="http://www.flickr.com/photos/hmblgrmpf/sets/72157622084807891/" class="liexternal">Flickr Album</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/robotik/asuro-diy-usb-ir-transceiver/176/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ASURO Library V2.8.0</title>
		<link>http://www.robotfreak.de/blog/robotik/asuro-library-v280/46</link>
		<comments>http://www.robotfreak.de/blog/robotik/asuro-library-v280/46#comments</comments>
		<pubDate>Sat, 29 Mar 2008 19:50:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asuro]]></category>
		<category><![CDATA[Robotik]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/allgemein/asuro-library-v280/46</guid>
		<description><![CDATA[Eine neue Release der ASURO Library steht zum Download auf Sourceforge bereit. Noch ist es keine endg&#252;ltige Version sondern nur ein Release Candidate. Gro&#223;e &#196;nderungen sind aber nicht mehr zu erwarten. Die wichtigsten &#196;nderungen gegen&#252;ber der Vorg&#228;nger Version sind: Unterst&#252;tzung f&#252;r ATmega168 Prozessoren neue Funktion ReadADC zur A/D Wandler Abfrage neue Funktion PrintLCD_p zur Ausgabe [...]]]></description>
			<content:encoded><![CDATA[<p>Eine neue Release der ASURO Library steht zum Download auf <a href="http://sourceforge.net/projects/asuro" class="liexternal">Sourceforge</a> bereit. Noch ist es keine endg&#252;ltige Version sondern nur ein Release Candidate. Gro&#223;e &#196;nderungen sind aber nicht mehr zu erwarten.<br />
<span id="more-46"></span><br />
Die wichtigsten &#196;nderungen gegen&#252;ber der Vorg&#228;nger Version sind:</p>
<ul>
<li>Unterst&#252;tzung f&#252;r ATmega168 Prozessoren</li>
<li>neue Funktion ReadADC zur A/D Wandler Abfrage</li>
<li>neue Funktion PrintLCD_p zur Ausgabe von Strings aus dem Programmspeicher</li>
<li>neue Funktion SetCharLCD zum Setzen von Sonderzeichen</li>
<li>neue Funktion PollSwitchLCD zur Abfrage der Tasten des Arexx LCD</li>
<li>neue Funktion MyMotorSpeed die Korrekturwerte aus der myasuro.h ber&#252;cksichtigt.</li>
<li>neue Funktion SerPrint_p zur Ausgabe von Strings aus dem Programmspeicher</li>
<li>UART Baudrate einstellbar durch Define</li>
<li>Interrupt User Funktionen f&#252;r Timer und A/D Wandler</li>
<li>AVR Studio Projektfiles f&#252;r alle Beispielprojekte</li>
</ul>
<h2>Weblinks</h2>
<ul>
<li><a href="http://sourceforge.net/projects/asuro" class="liexternal">Asuro Library auf Sourceforge</a></li>
<li><a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Bibliothek" class="liexternal">Asuro Library im AsuroWiki</a></li>
<li><a href="http://www.roboternetz.de/phpBB2/viewtopic.php?p=363627#363627" class="liexternal">Thread zum  Thema im Roboternetz Forum</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/robotik/asuro-library-v280/46/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arduino und der Asuro</title>
		<link>http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42</link>
		<comments>http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42#comments</comments>
		<pubDate>Wed, 09 Jan 2008 22:06:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Asuro]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Mikrocontroller]]></category>
		<category><![CDATA[Robotik]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42</guid>
		<description><![CDATA[Mit der Asuro Erweiterung und der damit vorhandenen RS232 Schnittstelle lassen sich auch sehr leicht Arduino Skripte laden und ausf&#252;hren. Allerdings wird dazu auch ein neuer Prozessor mit einem Arduino kompatiblen Bootloader vorausgesetzt. Warum nicht gleich auf den ATmega168 umsteigen. Der bietet neben dem doppelten Speicher f&#252;r Flash, EEPROM und RAM auch eine Debug M&#246;glichkeit [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der Asuro Erweiterung und der damit vorhandenen RS232 Schnittstelle lassen sich auch sehr leicht <a href="http://www.arduino.cc" class="liexternal">Arduino</a> Skripte laden und ausf&#252;hren. Allerdings wird dazu auch ein neuer Prozessor mit einem Arduino kompatiblen Bootloader vorausgesetzt. Warum nicht gleich auf den ATmega168 umsteigen. Der bietet neben dem doppelten Speicher f&#252;r Flash, EEPROM und RAM auch eine Debug M&#246;glichkeit &#252;ber DebugWire.<br />
<span id="more-42"></span><br />
Die Idee dazu stammt aus dem <a href="http://www.arduino.cc/playground/" class="liexternal">Arduino Playground</a> in dem Arduino Nutzer ihre Projekte vorstellen. Unter <a href="http://www.arduino.cc/playground/Learning/Asuro" class="liexternal">Arduino and the Asuro Robot</a> von Jakob Remin findet man neben einer Quick&#8217;n'Dirty Methode zur Modifikation des Asuros auch ein Arduino Sketch zur Ansteuerung des Asuros. Den Umbau kann ich mir durch die  <a href="http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34" class="liinternal">Asuro Erweiterung</a> schon mal sparen.</p>
<h2>Erste Versuche</h2>
<p>Die ersten Versuche mit einem geclonten Arduino Diecimila Bootloader verliefen schon mal vielversprechend. Mit<br />
Ein paar &#196;nderungen in der Board Beschreibungsdatei hat man ein neues Board dazugef&#252;gt und dieses taucht nach dem Start der Arduino Oberfl&#228;che unter Tools | Boards aus.</p>
<pre class="prettyprint" style="padding-left: 30px;">##############################################################
atmega168.name=Arduino Asuro w/ ATmega168
atmega168.upload.protocol=stk500
atmega168.upload.maximum_size=14336
atmega168.upload.speed=9600
atmega168.bootloader.low_fuses=0xff
atmega168.bootloader.high_fuses=0xdd
atmega168.bootloader.extended_fuses=0x00
atmega168.bootloader.path=atmega168asuro
atmega168.bootloader.file=ATmegaBOOT_168_asuro.hex
atmega168.bootloader.unlock_bits=0x3F
atmega168.bootloader.lock_bits=0x0F
atmega168.build.mcu=atmega168
atmega168.build.f_cpu=8000000L
atmega168.build.core=arduino</pre>
<p>Nach einstellen der Schnittstelle wird der Asuro auch gleich erkannt und das Beispiel Sketch kann &#252;bersetzt und geladen werden.<br />
Allerdings zeigte sich dabei der Effekt das beim Flashen bzw. beim Einschalten oder Reset des Asuros der rechte Motor f&#252;r ca. 10sek los l&#228;uft. Das ist nat&#252;rlich unsch&#246;n und liegt am Original Arduino Bootloader. Dort wird PB5 als Port f&#252;r die Status LED verwendet. Beim Asuro ist dieser Port mit dem rechten Motor verbunden. Autsch!!</p>
<h2>Bootloader anpassen</h2>
<p>Da der Quellcode f&#252;r den Bootloader als Open Source zur Verf&#252;gung steht, ist das &#196;ndern der Status LED kein Problem. Allerdings blieb auch nach &#196;nderung die recht lange Wartezeit von 10sek bis das Anwenderprogramm gestartet wird. Nach ein paar Internet Recherchen war auch f&#252;r dieses Problem eine L&#246;sung in Form des ADABOOT Bootloader gefunden. Dieser Bootloader bietet einige Vorteile gegen&#252;ber dem Arduino Bootloader. Damit bin ich erst mal gl&#252;cklich.</p>
<p>Allerdings klappt die &#220;bertragung bisher nur &#252;ber RS232. Bei Bluetooth Anbindung gibt es keine Verbindung zwischen der Arduino IDE und dem Asuro.  Man kann zwar in der Bluetooth Umgebung die Verbindung manuell herstellen, dann klappt immerhin die Verbindung im Terminalmode. Versucht man aber ein Sketch zu laden, bricht die Verbindung wieder ab. Mit Hyper Terminal gibt es keine Probleme unter Bluetooth. Schade, aber man kann wohl nicht alles haben. Allerdings besteht noch Hoffnung. Auf der  <a href="http://www.chip45.com" class="liexternal">Chip45 Homepage</a>, gibt es den Ur-Bootloader f&#252;r die Arduino Boards. Dort gibt es auch ein kleines Tool zum Flashen von Programmen &#252;ber den Bootloader. Dies lie&#223;e sich vielleicht anpassen, damit das Flashen auch unter Bluetooth funktioniert. Ein nettes Feature der Arduino Bootloader ist der automatische Reset des Boards, wenn ein neues Programm geflasht werden soll. Dazu muss lediglich ein 100nF Kondensator  zwischen Reset Leitung und DTR Steuerleitung gel&#246;tet werden. Allerdings F&#252;hrt das auch dazu, dass der Asuro einen Reset ausf&#252;hrt, wenn man die Arduino IDE, bzw. das Terminalprogramm startet.</p>
<p>Theoretisch lie&#223;e sich der Bootloader  auch soweit anpassen, das er auch &#252;ber die Standard Infrarot Schnittstelle des ASUROs funktioniert. Dazu m&#252;sste lediglich noch der 36kHz Timer f&#252;r die Ansteuerung der IR-LED implementiert werden. Praktisch funktioniert das leider nicht. Die IR &#220;bertragung ist leider zu fehlertr&#228;chtig.</p>
<p>Den Asuro Bootloader kann man sich bei <a href="http://sourceforge.net/project/showfiles.php?group_id=155217" class="liexternal">Sourceforge</a> herunterladen</p>
<h2>Asurino &#8211; Eine Arduino Bibliothek f&#252;r den Asuro</h2>
<p>Aus dem bestehenden Sketch von Jakob Remin habe ich angefangen eine Arduino Bibliothek zu schreiben.<br />
Der Name Asurino ist ein Kunstwort zusammengef&#252;gt aus den beiden Worten <strong>Asur</strong>o und Ardu<strong>ino</strong>. Bibliotheken f&#252;r Arduino werden in C++ geschrieben. Das h&#246;rt sich erst mal nach viel Arbeit an, ist aber nicht sonderlich schwer. Es gibt eine sehr gute Anleitung zum Schreiben von Bibliotheken. Man braucht auch nicht bei Null anfangen, da man nat&#252;rlich die vorhandenen Arduino Funktionen alle verwenden kann. Au&#223;erdem kann man sich an bereits existierenden Bibliotheken orientieren.</p>
<p>Bisher ist die Bibliothek noch recht rudiment&#228;r und sicher auch nicht fehlerfrei. Wer m&#246;chte kann sich die derzeitige Arbeitsversion bei <a href="http://sourceforge.net/project/showfiles.php?group_id=155217" class="liexternal">Sourceforge</a> herunterladen.</p>
<h2>Asuro Beispiel Sketche</h2>
<p>Ein Beispiel Sketch f&#252;r den Asuro sieht z.B. so aus. Durch das<br />
<code>#include "Asuro.h"</code><br />
wird die Bibliothek eingebunden. Die Zeile<br />
<code>Asuro asuro = Asuro();</code><br />
ist der Aufruf f&#252;r den Konstruktor der Asuro Klasse. Die Setup Routine wird einmalig beim Start des Sketches ausgef&#252;hrt und initialisiert lediglich die serielle Schnittstelle. Die Asuro spezifische Initialisierung passiert bereits im Konstruktor. Die loop Funktion wird dann zyklisch vom Hauptprogramm aufgerufen und durchlaufen. Das eigentliche Programm fragt die Tastsensoren ab. Falls eine Taste gedr&#252;ckt wurde, wird der Tastenwert bin&#228;r zum Terminalprogramm gesendet und die Status LED f&#252;r eine Sekunde auf Rot gesetzt, dann wieder zur&#252;ck auf Gr&#252;n.</p>
<pre class="prettyprint" style="padding-left: 30px;">#include "Asuro.h"
Asuro asuro = Asuro();
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  int Switches;
  /* front switch check */
  Switches = asuro.readSwitches();
  if (Switches)      /* Key pressed?
  {
    Serial.println("switches pressed");
    Serial.println(Switches, BIN);    /* send key value in binary */
    asuro.setStatusLED(RED);        /* status led red */
    delay(1000);                         /* wait 1sec */
  }
  asuro.setStatusLED(GREEN);      /* status led green */
}</pre>
<p>Einen aktualisierten Artikel zu diesem Thema findet man im <a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Asurino" class="liexternal">AsuroWiki</a>.</p>
<h2>Weblinks</h2>
<ul>
<li><a href="http://www.arduino.cc" class="liexternal">Arduino</a></li>
<li><a href="http://www.arduino.cc/playground/" class="liexternal">Arduino Playground</a></li>
<li><a href="http://www.arduino.cc/playground/Learning/Asuro" class="liexternal">Arduino and the Asuro Robot</a></li>
<li><a href="http://www.arduino.cc/playground/Learning/Asurino" class="liexternal">Asurino, an Arduino Library for the Asuro robot</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=155217" class="liexternal">Sourceforge</a> &#8211; Asurino, AsuroBoot Download</li>
<li><a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Asurino" class="liexternal">Asurino Artikel im AsuroWiki</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/robotik/arduino-und-der-asuro/42/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asuro Erweiterung RS232/Bluetooth und ISP</title>
		<link>http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34</link>
		<comments>http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34#comments</comments>
		<pubDate>Sat, 22 Dec 2007 23:47:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asuro]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Mikrocontroller]]></category>
		<category><![CDATA[Robotik]]></category>
		<category><![CDATA[Bluetooth]]></category>

		<guid isPermaLink="false">http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34</guid>
		<description><![CDATA[Geschafft! Nach langer Zeit hatte ich mal wieder etwas Zeit, mich um meinen kleinen Freund den ASURO zu k&#252;mmern. Rechtzeitig zu Weihnachten erh&#228;lt dieser mal wieder eine Erweiterung. Diese besteht zurzeit aus einem RS232 bzw. Bluetooth Modul und einer ISP Schnittstelle. Der Clou bei der Sache ist, die Erweiterung wird nicht, wie das LCD-Modul oder [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/23913470@N00/2129839498/" title="Asuro mit BT Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2201/2129839498_1121858e85.jpg" alt="Asuro mit BT Modul" /></a></p>
<p>Geschafft! Nach langer Zeit hatte ich mal wieder etwas Zeit, mich um meinen kleinen Freund den ASURO zu k&#252;mmern. Rechtzeitig zu Weihnachten erh&#228;lt dieser mal wieder eine Erweiterung. Diese besteht zurzeit aus einem RS232 bzw. Bluetooth Modul und einer ISP Schnittstelle. Der Clou bei der Sache ist, die Erweiterung wird nicht, wie das LCD-Modul oder die SnakeVision Erweiterung, von oben, sondern von unten aufgesteckt. D.h. man kann oben zus&#228;tzlich z.B. das LCD-Modul stecken. Zudem ist auf der Platine noch jede Menge Platz f&#252;r weitere Features.</p>
<p><span id="more-34"></span></p>
<h2>Durchf&#252;hrung</h2>
<p>Durch die Erfahrungen, die ich mit dem <a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/AsuroEvalBoard" class="liexternal">ASURO Eval Board</a> gemacht habe, war die Umsetzung nicht sehr schwierig. Dort war ja auch schon das RS232 Modul und das Bluetooth Modul sowie die ISP Schnittstelle vorhanden. Nur ist das ganze jetzt wesentlich kompakter, robuster und nicht so verbaut wie beim Eval Board.</p>
<p>Der ASURO mu&#223; allerdings etwas modifiziert werden, damit das ganze auch funktioniert. Wer es nachbauen m&#246;chte, sollte schon wissen, was er tut. Die Umbauten sind allerdings nicht so gravierend, dass man das Ganze nicht wieder zur&#252;ckbauen k&#246;nnte. Auch ist der einwandfreie Betrieb ohne die Erweiterungsplatine m&#246;glich. Es m&#252;ssen lediglich 3 Jumper am Asuro gesetzt werden.</p>
<h3>UART Schnittstelle</h3>
<p>Die UART Schnittstelle am ASURO ist normalerweise &#252;ber eine Infrarot Schnittstelle realisiert. Leider ist die Reichweite dieser L&#246;sung nicht besonders (max. 50cm). Zudem wird auf PC Seite ebenfalls ein Infrarot Transceiver ben&#246;tigt. Um die UART Schnittstelle zur Erweiterungs Platine zu f&#252;hren, m&#252;ssen die beiden Signale RX und TX vom Prozessor zur IR Schnittstelle durchtrennt werden. Zus&#228;tzlich werden die durchtrennten Signale von der IR Schnittstelle ebenfalls zur Erweiterungsplatine gef&#252;hrt. Zweckm&#228;&#223;igerweise werden alle Signal auf einen doppelreihigen Steckerleiste gef&#252;hrt. Die untere Reihe wird an die Prozessor Pins gel&#246;tet. an die obere Reihe kommen die Signale von der IR Schnittstelle. Da gleich neben den UART ins der RESET Pin h&#228;ngt, wird dieser ebenfalls auf die insgesamt 2&#215;3 poligen Steckerleiste gef&#252;hrt (geh&#246;rt aber eigentlich zur ISP Schnittstelle). Da der RESET Pin direkt an der Versorgungsspannung h&#228;ngt, wird diese Verbindung ebenfalls durchtrennt und die Versorgungsspannung  an die obere Reihe gef&#252;hrt. So ist gew&#228;hrleistet, das durch Stecken von 3 Jumpern auf die Steckerleiste, die original Funktion des ASUROs wiederhergestellt ist.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129823200/" title="Asuro UART Verdrahtung" class="liimagelink"><img src="http://farm3.static.flickr.com/2074/2129823200_ddff632457.jpg" alt="Asuro UART Verdrahtung" /></a></p>
<h3>ISP Schnittstelle</h3>
<p>Die ISP Schnittstelle ist beim Original ASURO Prozessor abgeschaltet und kann nur durch einen Chip Erase wieder eingeschaltet werden. Leider ist durch den Chip Erase aber auch der Bootloader weg. Deshalb sollte man Experimente mit der ISP Schnittstelle nur mit einem anderen Prozessor durchgef&#252;hrt werden und der Original Prozessor gut aufgehoben werden. Zur ISP Schnittstelle geh&#246;rt neben RESET, VErsorgungsspannung und Masse die 3 Prozessor Signale MISO, MOSI und SCK. Diese 3 Signale liegen beim Mega8 gl&#252;cklicherweise direkt nebeneinander  auf Pin 17,18 u. 19. So reicht eine 3polige abgewinkelte Steckerleiste aus, die an die entsprechenden Prozessor Pins gel&#246;tet werden. Leiterbahnen m&#252;ssen keine aufgetrennt werden.</p>
<h3>Verdrahtung</h3>
<p>Auf dem ASURO m&#252;ssen ingesamt 4 Leitungen nachverdrahtet werden. Dies sind:</p>
<li> die TX Leitung von der IR Sende Diode,</li>
<li>die RX Leitung vom IR Empf&#228;nger,</li>
<li>die Versorgungspannung zur 3&#215;2 poligen Steckerleiste</li>
<li>eine Versorgungsspannung Leitung zum Widerstand R11, da dieser hinter der RESET Leitung an der Versorgungsspannung hing</li>
<p>Dazu kommt eine 6-polige Leitung zur UART Schnittstelle und die 3polige Leitung zur ISP Schnittstelle. Versorgungsspannung und Masse kommen von den Erweiterungs Steckverbindern, die ebenfalls zur Erweiterungsplatine f&#252;hren.<br />
<a href="http://www.flickr.com/photos/23913470@N00/2129053755/" title="Asuro Erweiterung komplett" class="liimagelink"><img src="http://farm3.static.flickr.com/2009/2129053755_ee7e836835.jpg" alt="Asuro Erweiterung komplett" /></a></p>
<h3>Schaltplan</h3>
<p><a href="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/asuro_erweiterung.png" title="Asuro Erweiterung Schematic" rel="lightbox[34]" class="liimagelink"><img src="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/asuro_erweiterung_s.png" alt="Asuro&lt;br /&gt; Erweiterung Schematic" /></a><br />
F&#252;r eine vergr&#246;&#223;erte Darstellung auf das Bild klicken.</p>
<h2>UART-Modul</h2>
<p>Das RS232 Modul besteht aus einem normalen RS232 Pegelwandler Chip, hier ist das der MAX202. Die Steckerbelegung des 6poligen Steckbverbinders ist diesselbe wie beim Bluetooth Modul.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129824702/" title="RS232 Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2275/2129824702_93e4c68df2.jpg" alt="RS232 Modul" /></a></p>
<p>Der ASURO mit dem RS232 Modul. Mit den beiden gr&#252;nen Jumper rechts neben dem RS232 Modul kann man zwischen RS232 und IR Schnittstellen Betrieb umschalten.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129059453/" title="Asuro mit Erweiterung und RS232 Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2355/2129059453_2875df5fe3.jpg" alt="Asuro mit Erweiterung und RS232 Modul" /></a></p>
<h3>Schaltplan</h3>
<p><a href="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/rs232-adapter.png" title="rs232-adapter.png" rel="lightbox[34]" class="liimagelink"><img src="http://www.robotfreak.de/blog/wp-content/uploads/2007/12/rs232-adapter_s.png" alt="rs232-adapter.png" /></a><br />
F&#252;r eine vergr&#246;&#223;erte Darstellung auf das Bild klicken.</p>
<h2>Bluetooth Modul</h2>
<p>Als Bluetooth Modul kommt das BlueSmiRF von Sparkfun zum Einsatz. Dies ist noch die Version 1.0. Neuere Module verwenden einen Bluegiga Transceiver.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129049719/" title="BlueSmiRF BT Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2390/2129049719_39ca3dd8f6.jpg" alt="BlueSmiRF BT Modul" /></a></p>
<p>Der Asuro mit dem Bluetooth Modul.</p>
<p><a href="http://www.flickr.com/photos/23913470@N00/2129833192/" title="Asuro mit Erweiterung und BT Modul" class="liimagelink"><img src="http://farm3.static.flickr.com/2255/2129833192_06fb5463b6.jpg" alt="Asuro mit Erweiterung und BT Modul" /></a></p>
<h2>ISP Schnittstelle</h2>
<p>Die ISP Schnittstelle ben&#246;tigt keine weiteren Bauteile, lediglich der RESET Pin bekommt den &#252;blichen 10kOhm Pullup Widerstand. Als ISP Steckverbinder wurde ein 10poliger Pfostensteckverbinder mit KANDA/STK200 Steckerbelegung verwendet. Rechts daneben befindet sich noch ein Kurzhubtaster als RESET Knopf.</p>
<h2>Aussichten</h2>
<p>Es fehlen derzeit noch die Liniensensoren. Diese werden dann, wie die Infrarot Schnittstelle, &#252;ber Jumper steckbar sein. Geplant ist weiterhin eine I2C Porterweiterung mit ein paar IS471 als IR Kollisionsdetektoren. Auch ein I2C A/D Wandler w&#228;re eine sinnvolle Erweiterung. Eventuell w&#228;re auch ein Co-Prozessor (als I2C Slave) besser als die I2C Chips mal sehen.</p>
<p>Ansonsten w&#252;nsche ich meinen Lesern ein frohes Weihnachtsfest.</p>
<p>Einen aktualisierten Artikel zu diesem Thema findet man im <a href="http://www.asurowiki.de/pmwiki/pmwiki.php/Main/AsuroErweiterung" class="liexternal">AsuroWiki</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.robotfreak.de/blog/robotik/asuro-erweiterung-rs232bluetooth-und-isp/34/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

