Home
ASURO ROBOTERBAUSATZ
Contents
1. Abbildung 3 3 Bauteile mit passend gebogenen Beinchen Abbildung 3 4 Herstellen einer sauberen Lotstelle L 3 3 Einl ten der Bauteile Sind die Bauteile vorbereitet werden sie durch die durchkontaktierten Bohrungen in der Leiterplatte gesteckt und bei Teilen mit nur zwei oder drei Beinchen diese auf der Unterseite der Platine direkt an der Bohrung etwas auseinandergebogen ca 30 bis 40 sind ausreichend so dass sie nicht mehr herausfallen k nnen Bei Bauteilen mit mehr Beinchen wie den Sockeln f r die ICs reicht es zwei diagonal gegen berliegende Beinchen nach au en zu biegen Weiter als 45 weit biegen ist eher unpraktisch da man ein Teil so man es doch einmal verkehrt eingebaut haben sollte sonst kaum mehr aus der Platine bekommt ASURO 11 Elektronik Sitzt das Bauteil fest so erhitzt man mit der L tkolbenspitze das Beinchen und das L tauge gleichzeitig und gibt an diese Stelle etwas L tzinn zu Dieses schmilzt nun und l uft in die Bohrung Es wird solange Zinn zugegeben bis die Bohrung vollst ndig ausgef llt ist siehe Abb 3 4 Danach nimmt man erst das Zinn und anschlie end den L tkolben weg und l sst die L tstelle erkalten Keinesfalls darf das Bauteil w hrend des Erkaltens bewegt werden das w rde zu kalten L tstellen und damit zu Wackelkontakten f hren Bei L taugen die an der Kupferfl che an Ober und Unterse
2. j i ASURO 27 6 Fehlersuche 6 1 RS232 IR Transceiver geht nicht 6 1 1 Tastendruck und Zeichenausgabe stimmen nicht berein Solange am Trimmer TR1 drehen bis Tastendruck und Zeichenausgabe bereinstimmen 6 1 2 Das Terminal Programm gibt keine Zeichen aus Ist das Timer IC 1 montiert bzw richtig herum Kerbe zeigt in Richtung der drei Dioden eingesteckt Eine Infrarot Fernbedienung eines beliebigen Ger tes Videorecorder Fernseher Tuner nehmen diese in Richtung des IR Transceivers halten und einige Tasten dr cken Passiert gar nichts nochmal die COM Port Einstellungen kontrollieren Gibt das Terminal Programm wirre Zeichen aus funktioniert der Empfangsteil IC2 R3 C4 D4 T1 Alle anderen Teile sind zu berpr fen 6 1 3 Es geht immer noch nicht Alle Bauteile auf richtige Einbaulage Polung und korrekten Wert pr fen siehe Abb 4 1 L tstellen auf Kurzschl sse bzw kalte L tstellen nachsehen Hat sich irgendwo ein L tauge gel st Sind diese Kontrollen durchgef hrt ohne einen Fehler zu finden muss mit Hilfe des Schaltplanes siehe Abschnitt B und einem geeigneten Messger t Multimeter bzw Oszilloskop das defekte Bauteil gesucht werden 1 1 1 2 Q1 D4 sind die wahrscheinlichsten Kandidaten f r einen Defekt 6 2 USB Infrarot Transceiver funktioniert nicht 6 2 1 Windows Ist der Treiber ordungsgem installiert Teilweise werden andere COM Port Nummern z
3. Folgendes Fenster erscheint 27 WinAYR 20030913 Install Installation Options amp Select Installation Options Select components to install Add Directories to PATH Space required 60 8MB Cancel Klick auf Next ASURO 36 8 Informatik Folgendes Fenster erscheint WinAYR 20030913 Install Installation Folder EN amp Select the directory to install WinAWR in Select the folder to install in CiWinavp Browse Space required 60 8MB Space available 44 005 Cancel Klick auf Install Folgendes Fenster erscheint E WinAYR 20030913 Install Installing Files x Extract gcc exe Care Warten ASURO 37 8 Informatik bis der Programmers Notepad 2 PN2 Editor mit der Datei README txt erscheint 4 Programmers Notepad 2 iol Fie Edit Tools Window Help D B README txt README txt winAVR pronounced whenever is a suite of executable open source software development tools for the Atmel AVR series of RISC microprocessors hosted on the windows platform It includes the GNU GCC compiler for and C I m always interested in how you are using the software If you have a chance send an email to me and let me know how you use winAVR Thanks Eric B weddington lt eric ecentral com gt contents 1 0 what s New 2 0 winAVR Installation 2 1 Manifest 2 2 PATH environment
4. ASURO 29 6 Fehlersuche 6 4 3 Linke Back LED D15 geht nicht Polung D15 pr fen Widerst nde R19 R18 berpr fen 1 br sw or gld 4 7 ge vio ro gld Ein einfacher Test besteht darin den Prozessor 1 1 zu entfernen und eine Verbindung zwischen Pin VCC und Pin24 herzustellen die linke Back LED leuchtet rot Ist dieser Test erfolgreich liegt ein Defekt im Prozessor oder Schwinger vor bzw ist eine Leiterbahn unterbrochen 6 4 4 Rechte Back LED D16 geht nicht Polung D16 pr fen Widerst nde R21 20 berpr fen 1 br sw ro gld 4 7 ge vio ro gld Ein einfacher Test besteht darin den Prozessor 1 vorsichtig zu entfernen und eine Verbindung zwischen VCC und Pin23 herzustellen rechte Back LED leuchtet dann rot Ist dieser Test erfolgreich liegt ein Defekt im Prozessor oder Schwinger vor bzw ist eine Leiterbahn unterbrochen 6 5 Linienfolgesensor T9 T10 reagiert nicht Polung T9 T10 berpr fen Widerstand R14 20 ro sw or gld R15 20 ro sw or gld berpr fen Auch darauf achten dass R15 nicht mit R23 oder R28 zusammen verdreht eingebaut wurden Mit einem Multimeter kann an Pin 25 bzw Pin 26 das Sensorsignal bei ausgebautem Prozessor nachgemessen werden dunkel OV hell VCC 6 6 Ein Schalter funktioniert nicht richtig 6 6 1 Angeblich ist eine Kombination aus Schaltern gedr ckt worden R12 12 br ro sw ro br und R13 10 br sw sw ro br b
5. senden ber die IR Schnittstelle Hier steht ein Text ASURO 64 9 C f r ASURO Will man Zeichen empfangen ist f r ASURO die Funktion SerRead definiert Der erste Parameter enth lt die Zeichenkettenvariable in welcher empfangen Zeichen abgespeichert werden der zweite Parameter gibt an wieviele Zeichen empfangen werden sollen der dritte stellt ein Timeout dar Werden innerhalb der eingestellten Zeit Prozessortakte keine Daten empfangen bricht die Funktion ab Wird hier 0 eingestellt wartete die Funktion bis alle Zeichen empfangen wurden Auch hierzu ein kleines Beispiel ASURO soll Hallo hier bin ich ber die IR Schnittstelle empfangen char message 0123456 890123456789 Platz f r den zu empfangenden Text ist geschaffen worden Die eben bereitgestellte Zeichenkette muss gro genug sein den zu empfangenden Text aufzunehmen SerRead message 18 0 Lies 18 Zeichen ein und warte dabei solange bis alle 18 Zeichen eingetroffen sind Wir gehen jetzt mal davon aus dass die Zeichenkette Hallo hier bin ich gesendet wird Die zuvor definierte Zeichenkette message sieht jetzt wie folgt aus Hallo hier bin ich89 Die ersten 18 Zeichen von message wurden mit den empfangenen Zeichen uberschrieben 9 2 Beschreibung der ASURO Funktionen Um die Programmierung von ASURO m glichst einfach zu gestalten gibt es einige vorgefertigte Funktionen Diese stellen nicht zwingend das Optimum dar f r einig
6. Beispiel 0 003s Der Prozessor soll f r 3ms warten gt __1__ 216 Die Funktion Sleep wird f r 3ms langes Warten wie folgt aufgerufen 72KHz Sleep 216 9 2 6 void MotorDir unsigned char left_dir unsigned char right_dir Mit dieser Funktion wird die Drehrichtung der beiden Motoren festgelegt Sie sollte vor der Geschwindigkeitseinstellung aufgerufen werden M gliche Parameter sind FWD Vorw rtsrichtung RWD R ckw rtsrichtung BREAK Bremsen bzw Stehenbleiben hierbei werden die Motoren ber die Transistorbr cken kurzgeschlossen und FREE Freilauf Beispiel Der linke Motor soll sich vorw rts drehen w hrend der rechte Motor stillstehen soll MotorDir FWD BREAK s Das ist b swille Absicht der Autoren und soll zum Nachdenken zwingen ASURO 67 9 C f r ASURO 9 2 7 void MotorSpeed unsigned char left_speed unsigned char right_speed Hier wird die Geschwindigkeit der Antriebsmotoren vorgegeben Der maximal m gliche Geschwindigkeitswert ist 255 unsigned char Der Motor f ngt sich erst ab einem Wert von ca 60 zu drehen an H ngt stark vom mechanischen Zusammenbau ab Der eingestellte Wert gibt eigentlich nur an welche elektrische Leistung die Motoren erhalten sollen Welche tats chliche Drehzahl resultiert h ngt auch noch von anderen Faktoren wie der Reibung oder der Steigung ab Sobald diese Funktion benutzt wird kann ASURO losfahren Manchmal ist das Ergebnis der Programmierung nicht da
7. T10 SFH300 Fototransistor 5mm auf richtige Polung achten Diese stehen leicht von der Platine ab e D11 LED 5mm rot rotes Geh use auf richtige Polung achten kurzes Bein an markierte Seite Abbildung 4 8 zeigt die soweit best ckte Platine von oben und unten Das war s Mehr elektronische Bauteile werden nicht ben tigt Als n chstes werden die elektromechanischen und mechanischen Komponenten montiert Abbildung 4 7 Best ckung der ASURO Platine auf 1 der Unterseite D LP a a 2 D D SU I Abbildung 4 8 ASURO best ckt von oben und unten ASURO 19 Elektronik 4 4 Motormontage Wenn die Best ckung der ASURO Platine abgeschlossen ist m ssen nur noch die Motoren mit Kabeln versehen und provisorisch befestigt werden Zum Anschluss der Motoren wird je ein schwarzes und rotes ca 0mm langes Kabel mit abisolierten und verzinnten Enden ben tigt Sind die beiliegenden Kabel noch nicht passend vorbereitet so isoliert man die Enden ca 4mm lang ab sie und verzinnt sie anschlie end indem man sie zusammen mit etwas Lotzinn an die L tkolbenspitze h lt Falls st rende L tzinnreste am Kabelende brigbleiben k nnen diese mit einem Seitenschneider abgeschnitten werden Das rote Kabel wird nun an den mit einem roten Punkt oder Pluszeichen markierten Motoranschluss gel tet das schwarze an den andere
8. VOC x UC tte emp UCC UEC 4 HR i Bee Zei lb HEE Cs 18ByF EE GMO VCC m GND GNDGND Its ALBEE SUSQUT 0 1 4 2 1 TE 1 LL USBOP HL LL wate _RSTOUT _RESET X TIN KTOLIT COML Tal EEES EESK GND C5 DU TL TEST PHREN Laan AGND SLEEP FETZSZBIT GNE GNC GND GND LL LESE HH Bu SNCI Ek 18BnF GND CRESE Ti PES CA PRA CATALIAPES CSCKIPBS UCE CMISOSPBL BNO MOST 11 ER zx ZZUR SP Hala LBanr GAO IE eere ASURO 76 IV Anh nge E BLOCKSCHALTBILD ASURO 3 wire IN OUT F BLOCKSCHALTBILD AVR PROCESSOR ASURO 77 IV Anh nge G LIEFERUMFANG ASURO x ad 4 al E 4 26 DIR ON NS d as 45 gt 2 EN e 2 e 553 Ch A BARRE D gt 2 1 2 E oe 8 2 et ap A b ON TRERRRRERERRRRERE ed 22502 97 J928 E ASURO 78
9. er den Bausatzteilen folgendes Werkzeug und Verbrauchsmaterial ben tigt kleiner Schraubstock oder Dritte Hand nicht immer sind zwei H nde ausreichend Teppichmesser oder S ge feine Zange Seitenschneider ein kleiner f r Elektronik evtl Abisolierzange Lotkolben Hier sollte ein Elektronik Lotkolben 20W bis 40W oder gleich eine Lotstation mind 50W verwendet werden Lotzinn 1 mm dickes Elektroniklot ggf auch bleifrei Entlotlitze ca 2 3mm breit falls mal was nicht da landet wo es hingehort Schleifpapier mit feiner K rnung Sekunden Zweikomponenten oder Hei kleber Evt kleiner Hammer Evtl Multimeter Computer Laptop oder PC mit Windows oder Linux Abbildung 1 1 Erforderliches Werkzeug ASURO 6 Mechanik 2 Mechanische Vorarbeiten Bevor die ersten Basteleien beginnen k nnen sollte unbedingt berpr ft werden ob alle erforderlichen Teile vorhanden sind Das kann am einfachsten anhand der St ckliste in Anhang A geschehen Bevor es an die Elektronik gehen kann m ssen noch ein paar mechanische T tigkeiten durchgef hrt werden 2 1 Motorritzel Damit die Motoren ihre Kraft auf das Getriebe bertragen k nnen m ssen die Motorritzel das sind die kleinen Zahnr der mit der 1 9mm Bohrung und den 10 Z hnen auf der Motorachse montiert sein Falls die gelieferten Motoren diese Ritzel noch nicht auf ihrer Achse haben muss man sie aufpressen Dazu steckt man ohne viel Kraft aufzubringen au
10. 1 1 Version 1 1 Author Jan Grewe Author Jan Grewe COM Copyright c 2003 DLA COM 2 Copyright c 2003 DLR home grewe FirstT ry test hex 1 mud Abbildung 8 3 Flash Tools f r Se g Windows und LINUX readyto start 0000 ASURO ready to start 100 EES Sending Page 017 of 021 gt flashed Sending Page 017 of 021 gt flashed Sending Page 018 of 021 gt flashed Sending Page 019 of 021 gt flashed Sending Page 020 of 021 gt flashed Sending Page 018 of 021 gt flashed Sending Page 019 of 021 gt flashed Sending Page 020 of 021 gt flashed Sending Page 021 of 021 gt flashed Sending Page 021 of 021 gt flashed All Pages flashed All Pages flashed ASURO ready to start J ASURO ready to start Damit das Flashen auch richtig gut klappt muss nat rlich der RS232 oder USB IR Transceiver angeschlossen werden Danach das Programm starten und die Schnittstelle ausw hlen welche auch bei der Inbetriebnahme funktioniert hat Die Datei Test hex aus dem Verzeichnis CAASURO _src FirstTry bzw ASURO ausw hlen Den fertig zusammengebauten und getesteten ASURO bereit halten und beim Flash Tool den Knopf Programm anklicken ASURO muss Sichtkontakt ca 50cm Abstand zwischen IR Transceiver und ASURO beide Best ckungsseiten zeigen zueinander und nichts ist im Lichtweg zum IR Transceiver haben und wird jetzt einge
11. 58 9 C f r ASURO 9 1 3 Compilerdirektiven Sicher hat das include asuro h schon f r Verwirrung gesorgt Die include Direktive hei t nichts anderes als dass Text welcher in der angegebenen Datei steht in das Programm eingebunden und beim Compilieren mit bersetzt wird Im vorliegenden Fall werden einige Routinen welche f r den Betrieb des Roboters erforderlich sind verf gbar gemacht Eine weitere wichtige Direktive und es gibt noch einige andere welche den Rahmen dieses Werkes sprengen w rden ist der so genannte Textersatz Dieser hat die Form define NAME ersatztext und wird vorwiegend zur Definition von Konstanten verwendet Tritt das Symbol NAME im Code auf wird dies automatisch durch ersatztext ersetzt Der NAME bei define hat dabei die gleiche Form wie Variablennamen Es hat sich bei C Programmieren durchgesetzt dass bei define f r NAME nur Grofsbuchstaben verwendet werden Beispiel include asuro h define STARTWERT 33 int main void int i I STARTWERT i ist jetzt 33 return 0 Hinter Compiler Direktiven steht brigens kein Strichpunkt 9 1 4 Bedingungen Oftmals ist es erforderlich Anweisungen nur dann ausf hren zu lassen wenn bestimmte Vorraussetzungen erf llt sind Hierf r ben tigt man Kontrollstrukturen Die einfachste mit der Entscheidungen formuliert werden k nnen ist die if else Anweisung Formal gilt folgende Syntax if Bedingung Anweisungsblock 1 else Anw
12. 6x Detektor Taster 1x Schalter 1x Batteriehalter 1x Jumper 1x Stiftleiste 2pol RM 2 5 2x Getriebezahnr der 10 50 Z hne 3 1mm Bohrung Modul 0 5 2x Getriebezahnr der 12 50 Z hne 3 1mm Bohrung Modul 0 5 2x Motorritzel 10 Z hne 2x Stellring f r 3mm Achse ASURO 72 IV Anh nge A Stuckliste 4x Kabelbinder 1x Kabelbinder losbar 2x Gummireifen 38mm 2x Messingstab 42mm lang 3mm Durchmesser 2x Messingstab 24 5mm lang 3mm Durchmesser ca 15cm Schaltlitze rot 0 14mm ca 15cm Schaltlitze schwarz 0 14mm 2x Encoderscheiben siehe 2 4 F r den zugehorigen RS 232 IR Transceiver braucht man folgende Bauteile 1x Platine IR RS232 Transceiver 3x Dioden 1N4148 1x Zenerdiode ZPD5 1 1x Transistor BC547 A B oder C oder BC548 A B oder C 1x Integrierter Schaltkreis NE555N 1x IR Empf nger SFH 5110 36 1x IR LED SFH415 U 1x Elko 100F mind 16V RM 2 5 6 2x keramische Kondensatoren 100nF RM 5 08 1x keramischer Kondensator 680pF RM 2 54 1x 220 1 4 W 5 oder besser 1x 470 1 4 W 5 oder besser 1x 4 7k1 4 W 5 oder besser 1x 10k 1 4 W 196 2x 20k 1 4 W 5 oder besser 1x Trimmer 10k stehend RM 2 5 5 1x Sockel 8 pol 1x 9 pol SUB D Buchse Alternativ kann man den USB Tranceiver benutzen Der USB IR Transceiver wird als fertiggerat geliefert ASURO 73 IV Anh nge ONS 8 Al AT 5 LC 7 5 Bd od 5 al ai NTSEH Jeol Bcal AT AT I I
13. 9 1 Grundlagen der C Programmierung 9 1 1 Allgemeines Prinzipiell wird ein C Programm Anweisung nach Anweisung von oben nach unten vom Prozessor abgearbeitet Gleichzeitige Ausf hrung von zwei Befehlen gibt es nicht zumindest nicht bei ASUROS Prozessor Dementsprechend muss man denken Ein Arbeitsauftrag nach dem anderen Die Leerzeichen am Anfang der Zeilen in den Beispielen sind nicht unbedingt erforderlich Die Methode des Einr ckens ist aber sehr hilfreich wenn es darum geht auch l ngere Programme berschaubar zu halten Jede Anweisung wird in C mit einem abgeschlossen Damit kann der Compiler die einzelnen Anweisungen voneinander unterscheiden oollen mehrere Anweisungen zusammengefasst werden wie es f r Funktionen Schleifen oder Bedingungen dazu sp ter erforderlich ist so wird dieser Anweisungsblock mit geschweiften Klammern 47 V eingeklammert Beispiel include asuro h int main void Alles was hier steht geh rt in einen Block Beispielsweise Brian W Kerninghan Dennis M Ritchie Programmieren Hanser Verlag ISBN 3 446 15497 3 2 Methoden welche in den sequentiellen Ablauf von Befehlen eingreifen werden als Flusssteuerung bezeichnet und sp ter im Kapitel erkl rt ASURO 56 9 C f r ASURO Will man einige Zeilen aus seinem Code auskommentieren so beginnt der Kommentarblock mit und endet mit Um nur eine Zeile auzukommentieren gen gt ein v
14. ASURO besteht kann man den Selbsttest am E Bildschirm mitverfolgen 5 3 1 Anzeigenelemente Die Status LED D12 leuchtet kurz orange auf und die Back LEDs 015 D16 glimmen ebenfalls allerdings nicht besonders hell Falls nicht den Schalter sofort auf OFF stellen und Fehler beheben siehe Abschnitt 6 3 3 Dies war die Boot Phase von ASURO Nun werden nacheinander alle Anzeigenelemente f r ca 3 Sekunden in folgender Reihenfolge einzeln gepr ft e Status LED D12 gr n e Status LED D12 rot e Front LED D11 auf der Unterseite von ASURO e Back LED 015 links e Back LED D16 rechts Alle Anzeigenelemente auf einmal Sollte wider Erwarten ein Fehler aufgetreten sein muss ASURO sofort ausgeschaltet und der Fehler behoben werden siehe Abschnitt 6 4 da alle eben getesteten Anzeigenelemente f r die weiteren Tests unbedingt notwendig sind Fototransistoren T9 T10 Nach dem Anzeigentest sollte die Status LED D12 gr n aufleuchten Dies ist eine deutliches Zeichen dass nun die Fototransistoren auf der Unterseite von ASURO welche f r die Linienverfolgung notwendig sind gepr ft werden ca 10 Sekunden Werden die Fototransistoren T9 T10 beleuchtet sollte die dazugeh rige Back LED D15 D16 aufleuchten und beim Abdunkeln wieder ausgehen rechter Fototransistor T10 gt rechte Back LED D16 linker Fototransistor T9 linke Back LED D15 Es ist m glich dass die entsprechende Back LED im abgeschal
15. Abbruch niemals falsch also 0 wird Als weiteres Schleifekonstrukt gibt es die do Schleife do Anweisungsblock while Bedingung Im Gegensatz zur while Schleife wird hier die Bedingung am Ende des Anweisungsblockes auf Ihren Wahrheitgehalt hin untersucht Diese Schleife wird auf alle F lle wenigstens einmal durchlaufen 9 1 6 Funktionen Funktionsdefinitionen haben immer die folgende Form Funktionstyp FunktionsName ParameterTyp 1 ParameterName 1 ParameterTyp 2 ParameterName 2 Toll Funktionsdefinitionen Und wozu das Ganze Ist sehr praktisch aber etwas komplizierter und kann man auch ein wenig sp ter lesen H ufig kommt es vor dass Programmteile an verschiedenen Stellen im Programm immer wieder ben tigt werden Dann kann man sie entweder jedes Mal wieder schreiben super l stig und total un bersichtlich oder einmal eine Funktion deklarieren Oft m chte man einer Fuktion auch einen oder mehrere Werte bergeben Beispielsweise macht eine selbstgeschriebene FahreEinStueckVorwaerts Funktion einfach mehr Spa wenn man ihr die Geschwindigkeit die Dauer oder die Strecke sagen k nnte Das wird mit den Parametern gemacht Gelegentlich kommt es auch vor dass eine Funktion einen Wert zur ckliefert Leicht nachzuvollziehen an einer Wieviele TasterSindGedrueckt Funktion Das geschieht ber den R ckgabewert der Funktion welcher irgendwie und irgendwo innerhalb der Funktion erzeugt und mit der return A
16. Haut in Ber hrung kommen Vinylhandschuhe k nnen hierbei sehr hilfreich sein Falls doch was passiert sofort und gr ndlich mit Seife abwaschen Sekundenkleber wurde urspr nglich f r die Chirurgie entwickelt Man merkt das dann wenn er innerhalb von Sekunden Hautteile zusammenklebt Sofern das mit Fingern passiert kann man mit warmen Wasser Seife und etwas Geduld die Verbindung wieder l sen Keinesfalls darf das mit Lippen oder Augenliedern passieren Irgendwelche Gesichtskratz oder Augenwischreflexe sind beim Arbeiten mit Sekundenkleber in Jedem Fall zu unterdr cken ASURO 33 7 Letzte Einstellarbeiten 7 Letzte Einstellarbeiten Die Achsen werden leicht eingefettet das Getriebezahnrad mit dem sch nen Schwarz Wei Muster wird auf die kurze Achse gesteckt Der Reifen wird auf das Getrieberad mit den 50 und 12 Z hnen gesteckt dann zusammen auf die hintere Achse gesteckt und mit einem Stellring fixiert sodass es sich noch leicht drehen kann Der provisorisch befestigte Motor wird vorsichtig solange verschoben bis er gerade ausgerichtet ist das Motorritzel auf der gesamten Breite des ersten Getriebezahnrades eingreift und sich Motorritzel und Getrieberad leicht drehen lassen Evtl nochmals den kompletten Selbsttest durchlaufen lassen um zu sehen ob sich beim Motortest alles dreht Ist die Position f r gut befunden werden Motor und Platine krampfhaft festgehalten und mit einem Tropfen Sekundenkleber welcher seitlich auf de
17. Sch den zu vermeiden Alternativ kann man den Transceiver auch in ein f r Infrarotlich durchsichtiges Geh use einbauen 5 2 1 Windows Der USB Transceiver wird mit dem USB Kabel an einer freien USB Buchse angeschlossen Es erscheint die Meldung Neue Hardware gefunden AREXX ASURO USB IR Transceiver Danach den USB Treiber von der ASURO CD installieren Sollte der Treiber nicht automatisch gefunden werden das Verzeichnis D steht hier f r das CD ROM Laufwerk D Windows USB Driver ausw hlen Eventuell sind hierzu Administratorrechte erforderlich Dann abmelden und als Administrator erneu anmelden Es wird nun ein Treiber installiert damit man unter Windows den USB Transceiver wie eine normale serielle Schnittstelle ansprechen kann Hat dies Fehlerfrei geklappt so startet man zum Ausprobieren auch hier das Terminalprogramm Hyperterminal gibt ASUROUSB f r den Verbindungsnamen an und w hlt ein beliebiges Symbol aus Beim n chsten Fenster Verbinden ber w hlt man die letzte verf gbare COM Schnittstelle aus Nach Drucken auf OK w hlt man Bits pro Sekunde 2400 e Datenbits 8 Paritat keine e Stoppbits 1 e Flusssteuerung kein Danach wieder best tigen mit OK Nun man den Transceiver mit der Seite der Leuchtdiode nach unten ca 10cm ber ein wei es Blatt Papier Falls der Transceiver ohne Geh use betrieben wird darf die Platine nur am Stecker oder am Platinenrand gehalten werden um
18. auch die bertragung laut Statusfenster einwandfrei geklappt ASURO ausschalten ASURO einschalten eine Sekunde Spannung und Tusch die Statusleuchtdiode leuchtet rot Um zu vermeiden dass weiterhin Programmzeilen ohne Programmierkenntnisse geschrieben werden m ssen sei vor weiteren Experimenten das folgende Kapitel empfohlen ASURO 55 9 C fur ASURO Dieser Abschnitt besch ftigt sich mit der Programmiersprache C Der Leser wird hierbei nur die f r die Programmierung von ASURO notwendigen Bestandteile von C erkl rt bekommen Dies stellt also keinesfalls eine komplette Einf hrung in C dar Hierf r gibt es bessere B cher C wurde als Sprache gew hlt da dieser Standard weit verbreitet ist und f r fast jeden Prozessor zumindest ein C Compiler existiert Bei ASURO findet der Gnu C Compiler Verwendung da er ein frei erh ltliches Freeware Programm ist und trotzdem gut optimierten Code f r den ATmega ASUROS Prozessor erzeugt Wer schon C Programmieren kann der lese einfach bei Abschnitt 9 2 weiter Der Rest ist f r diese Lesergruppe absolut uninterssant Es werden wirklich nur die allernotwendigsten Sprachelemente erkl rt um auf m glichst einfache Weise das Wissen zu vermitteln welches f r den Betrieb von ASURO unbedingt notwendig ist Und keine Sorge wenn man brav an seine Klammern und Strichpunkte denkt ist C gar nicht so schwer und schlie lich ist das auch kein Spielzeugroboter f r den Kindergarten
19. ceu aH 22229 225g l Sl ON 74 LI 2401 Si EI EH Ke Schaltplane ASURO ONG jJuz r ang m ai 22 7 Os E UN UN NE 5 UNO ONS UNS UND 2052024 20085624 n el jan 52062624 005 020132 115 820132 45 4 2900 TBH aN Le WLS 28d Sad CIE Ad OS IW Fad Ced0 TSOW fad 81202553244 01202184 42013084 EINIG 320 Fld 4 183950 11350 CB L ZWOX ME lt ILNDEO COXA 80 RAT e IN II and u ZHLS Am 3l alm alm sue 9 BT 21 91 ra co ST am ET E 21 x H 2 T ETIT T 7 ON ZNDO 3 ONS 1010 Ari oz TEE FMT 1n em ei Td Jan 144 950114 221 ASURO 74 IV Anh nge C RS232 IR TRANSCEIVER n2 ON ONS LINZ jJ ONE 40989 c EN Es Big ZA AR Re ZUR Ak 144149 03 ULT 1 4148 MR TRI 1Ak LUC T Ci 3i 2D is x PDS 1 pI LUC 2 4 2 P 21 a qa 2 sno liek er 91 10 36 24 C3 88nF p
20. kurze Unterbrechungen in der Sichtverbindung oder hnliches passieren t Timeout Die Sichtverbindung zu ASURO ist abgerissen v Verify Error ASURO hat falsche Daten in seinen Flashspeicher geschrieben Das sollte normalerweise nicht passieren und ist ein Zeichen daf r dass der nichtfl chtige Programmspeicher Flash EPROM das Ende seiner Lebenszeit erreicht hat was typischerweise erst nach 10 000 Programmierungen passiert Es wird bis zu zehnmal versucht den Fehler zu beheben Gelingt dies nicht wird der Flashvorgang abgebrochen 4 ie Treten beim Flashen geh uft Checksum Errors auf hilft es oftmals das Raumlicht abzuschalten bzw etwas abzuschatten besonders wenn es sich um Leuchtstofflampen handelt Immer erst den Programm Knopf dr cken dann ASURO einschalten sonst ist kein Softwaredownload moglich 8 5 Erstes eigenes Programm Bevor wir zu einer Kurzfassung der C Programmierung kommen erstmal ein kleines eigenes Programm Dazu laden wir wieder mit dem Programmers Notepad Linux oder einem anderen Editor die Datei test c aus dem Verzeichnis C Eigene Dateien ASURO_sre FirstTry include asuro h int main void Init while 1 return 0 F r die ersten Versuche ist es erforderlich dass das Programm immer den Dateinamen test c tr gt weil das mitgelieferte Beispiel makefile eine Datei die beschreibt wie ein Programm zu bersetzen ist darauf ausgelegt ist Auch ist es wohl am
21. nur der Sockel hier werden entweder ein 28poliger wenn vorhanden oder zwei 14polige hintereinander eingebaut auf richtige Polung achten Kerbe zeigt in Richtung der Kerbe vom Best ckungsdruck auf der Platine 1C3 auch nur der Sockel 14polig auf richtige Polung achten Kerbe zeigt in Richtung der Kerbe vom Best ckungsdruck auf der Platine e K1 K2 K3 K4 K5 K6 Sensortaster m ssen m glichst gerade auf der Platine aufliegen e Q1 Schwinger 8MHz e D1 D2 D3 D4 D5 D6 D7 08 1N4148 auf richtige Polung achten D9 1 4001 auf richtige Polung achten e JP1 zweipoliger Pfostenstecker die kurzen Pins werden eingelotet der zugeh rige Jumper wird noch nicht aufgesteckt D12 zweifarbige LED 3mm Durchmesser drei Anschlussbeinchen auf Polung achten Markierung kann unterschiedlich sein in jedem Fall k rzestes Beinchen muss in quadratisches Pad e C2 C5 100nF keramisch Aufdruck 104 e C7 4 7nF keramisch Aufdruck 472 ASURO 17 Elektronik T1 T3 T5 T7 BC327 40 oder BC328 40 T2 T4 T6 BC337 40 oder BC338 40 R1 R2 R3 R4 R5 R6 R7 R8 R19 R21 R24 1k Ohm 5 braun schwarz rot gold e R9 R16 220 Ohm 5 rot rot braun gold R10 R17 R22 R31 470 Ohm 5 gelb violett braun gold e R11 100 Ohm 5 braun schwarz schwarz gold e R12 12k Ohm 1 braun rot schwarz rot braun e R13 10k Ohm 1 braun schwarz schwarz rot b
22. um elektrostatisch gef hrdete Bauteile Das bedeutet dass sie bereits durch blo es Anfassen zerst rt werden k nnen sofern man vorher elektrisch geladen war was beispielsweise durch Laufen ber Teppiche passieren kann Vor dem Handhaben dieser Bauteile ist es ratsam sich mit einem Erdungsband zu erden oder zumindest das Metallgeh use eines Ger tes oder die Heizung anzufassen gt ke h 1 4 gt is e 3 LJ 1 s 22 te a geg e 2 Y Ads gt eT 4 A 4 hi 4 E e ur arn a we e DEENEN E OE mm mw e L a 1 9 L P L TAL P 2 fa Abbildung 5 1 ASURO nach Einbau der ICs ASURO 24 Elektronik Nur bei Akku Betrieb Jumper J1 stecken Die Kerben der ICs m ssen mit der Kerbe der hoffentlich richtig eingesetzten Sockel bereinstimmen Der Prozessor ist bereits werksseitig mit einem Selbsttest vorprogrammiert und wird nach dem Einschalten alle Komponenten berpr fen Damit es hierbei gleich keine Schwierigkeiten gibt sollte man den folgenden Abschnitt einmal komplett lesen bevor man einschaltet und anschlie end wieder hierher zur ckkehren Jetzt geht es los Schalter auf ON stellen und ASURO nicht mehr aus dem Auge lassen Wenn Hyperterminal Windows oder minicom Linux l uft der IR Transceiver eingesteckt ist und Sichtkontakt zu
23. unendlich lange auf Daten wartet Wird nach einer gewissen Zeitspanne kein Zeichen mehr empfangen wird diese Funktion einfach abgebrochen Das allererste Zeichen in den empfangen Daten wird dabei mit Timeout berschrieben Tragt man als dritten Parameter 0 ein wartet die Funktion solange bis die Anzahl der im zweiten Parameter eingestellten Bytes empfangen wurde ASURO 68 9 C f r ASURO Beispiel Die Zeichenkette Fahr los soll empfangen werden Dabei soll sichergestellt sein dass alle Zeichen bei ASURO eingetroffen sind bevor weitergemacht werden kann Anmerkung Es werden nur acht Zeichen empfangen Eine berpr fung ob auch wirklich Fahr los angekommen ist findet nicht statt include asuro h int main void char daten 8 Speicher bereitstellen Init SerRead daten 8 0 Daten einlesen MotorDir FWD FWD MotorSpeed 120 120 while 1 Endlosschleife return 0 9 2 10 void LineData unsigned int data Hiermit die Fototransistoren auf der Unterseite von ASURO ausgelesen werden Die Adresse auf einen Speicherbereich der zwei Integerwerte aufnehmen kann muss bergeben werden Diese Funktion f llt dann den Inhalt der Adresse mit den A D Wandler Werten der beiden Fototransistoren Der erste Integerwert enth lt den Wandler Wert des linken T9 der zweite Integerwert den des rechten Fototransistors T10 Maximale Helligkeit entspricht einem Wert von 1023 dunkel entspricht einem
24. AREXX AREXX Engineering 2 Licence by DLR ASURO ROBOTERBAUSATZ DLR amp AREXX BAU UND BEDIENUNGSANLEITUNG Modell ARX 03 Hersteller Zwolle NIEDERLANDE Taichung TAIWAN AREXX Engineering WWW drexx com Einleitung ASURO ist ein kleiner frei in C programmierbarer mobiler Roboter welcher am Deutschen Zentrum f r Luft und Raumfahrt DLR im Institut f r Robotik und Mechatronik f r die Lehre entwickelt wurde Der Aufbau ist f r den erfahrenen Elektroniker ein Kinderspiel und f r den Elektronikeinsteiger ohne weiteres durchzuf hren Es werden bis auf die Platinen nur handels bliche mit normaler Feinmotorik handhabbare und leicht zu beschaffende Bauteile verwendet Ebenso erfolgt die Programmierung ausschlie lich mit Freeware Tools ASURO eignet sich daher ausgezeichnet f r Hobbybastler welche den Einstieg in prozessorgesteuerte Schaltungen wagen wollen f r Sch ler und Studentenprojekte Fortbildungen oder Volkshochschulkurse Aufgrund der Tatsache dass auch die gesamte Entwicklung der Elektronik mit f r den privaten Bereich Freeware Werkzeugen m glich ist tritt ASURO nebenbei auch noch den Beweis an dass man es auch ohne aufw ndige und teure Software Technik und Werkzeugmaschinen in der Lage ist funktionsf hige Roboter zu konstruieren ASURO besitzt neben seinem RISC Prozessor zwei Motoren die unabh ngig voneinander angesteuert werden k
25. B Infrarot Transceivers Fig D D st Dr R3 R7 Abbildung 4 4 Unterseite des USB Infrarot Transceivers Elektronik 4 3 Best ckung der ASURO Platine Die zwei l ngeren Achsen die f r die zweite Getriebestufe erforderlich sind werden auf der Unterseite angel tet oder geklebt L ten ist praktischer denn Korrekturen sind einfacher m glich und abk hlen lassen geht schneller als warten bis der Kleber fest ist Die beiden k rzeren liegen auf der Oberseite und weiter Richtung Platinenmitte Vor dem Einbau kann man die Achsen an der zu l tenden oder zu klebenden Stelle nicht auf der Lauffl che noch mit einem sehr feinen Schleifpapier 240er K rnung oder mehr s ubern dann nehmen diese das Zinn oder den Kleber besser an Entscheidet man sich f r s L ten empfiehlt sich folgendes Vorgehen Zuerst werden die l ngeren Achsen befestigt Dazu legt man die Platine auf die Oberseite legt die entsprechende Achse bis zum Anschlag in den ausgefr sten Schlitz Dabei muss die Achse auf der ganzen L nge aufliegen Dann verzinnt man die L tkolbenspitze und dr ckt damit die Achse auf die Platine Sobald die Achse hei ist gibt man L tzinn an den Auflagestellen dazu und verbindet so Achse und Platine Ist die Achse rundum angel tet dr ckt man die Achse mit einem Schraubendreher weiter auf die Platine und nimmt den L tkolben weg Das Einl ten der Achsen klappt am besten wenn man die L ttemperatur erh ht ca 420 C u
26. Compiler mindestens die folgenden Pakete in der angegebenen Reihenfolge installieren 1 avr binutils rpm 2 avr gcc rpm 3 avr libc rpm Die Installation ist denkbar einfach Einfach in der Konsole mit root Rechten den Befehl rpm i lt paket gt rpm eingeben Fertig Als Editoren eignen sich zum Beispiel Exmacs Kate oder Kedit Zum Ausprobieren kopiert man sich als normaler User die Beispieldateien von der CD aus dem Verzeichnis ASURO src FirstIry ins home Verzeichnis beispielsweise unter ASURO Danach ffnet man eine Shell wechselt in obiges Verzeichnis und gibt make ein Ist alles richtig installiert ergibt sich etwa folgendes Bild siehe Abb 8 2 Et Befehlsfenster Konsole Sitzung Bearbeiten Ansicht Einstellungen Hilfe ereweldlinux z Firgtlru make all set Gi avr gcc mmcu atmegzaB g 03 funsigned char funsigned bitfield fpack struct Fshort enums Hall Hatrict protoatupes Ha ahlmz asuro lst asu Tove ed Soto es vol 2 Wb 51 823 ce Fred s asuro d 11 rm f asuro d set ei avr gcc MM mmco satmesad g 03 funsigned char funsigned bitfield fpack struct Fshort enums Hall Hztrict protatupes Ha ahlmz tezt lst test SEAN sed ehe tsaro Midi tesis 4 test d rm f test d erg begin vwersion avr gcc GLC 3 3 20030512 prerelease Copyright 2005 Free Software Foundation Inc This 15 free softw
27. SBO oder 1 2 oder chmod g rw dev ttyUSBO auch mit root Rechten erfolgen Nun man den Transceiver mit der Seite der Leuchtdiode nach unten ca 10cm ber ein wei es Blatt Papier Falls der Transceiver ohne Geh use betrieben wird darf die Platine nur am Stecker oder am Platinenrand gehalten werden um die Schaltung nicht zu st ren Nun dr ckt man am Terminalprogramm einige Tasten Dabei muss die gelbe Leuchtdiode auf der Platine blinken und die Tastendr cke auf dem Bildschirm erscheinen Funktioniert das nicht bei 6 2 weiterlesen Hat alles geklappt kann man mit der Inbetriebnahme der ASURO Platine weitermachen ASURO 23 Elektronik 5 3 Inbetriebnahme der ASURO Platine Der Prozessor IC1 ist zu diesem Zeitpunkt noch nicht eingebaut Jetzt die Nackenhaare strauben und den Schalter auf ON stellen Die beiden Back LEDs D15 D16 sollten nun beide leicht glimmen Ist dies nicht der Fall den Hauptschalter sofort auf OFF stellen und in Abschnitt 6 3 weiterlesen Klappt s Dann Schalter auf OFF stellen und IC1 Prozessor sowie IC3 AND Gatter einsetzen siehe Abb 5 1 Evtl m ssen die Beinchen der ICs noch vorsichtig gebogen werden damit alle Beinchen die vorgesehene angestammte Position im Sockel einnehmen k nnen Das klappt am besten wenn man das IC seitlich nimmt und die Beinchen leicht gegen eine Tischkante dr ckt Beim Prozessor und dem Gatterbaustein IC3 CD4081 handelt es sich
28. Wert von 0 Die beiden Extremwerte werden normalerweise nicht erreicht der Messwert bewegt sich irgendwo dazwischen Beispiel Auslesen der Fototransistoren T9 T10 unsigned int data 2 Speicher bereitstellen LineData data data 0 enth lt den Wert des linken Fototransistors T9 data 1 enth lt den Wert des rechten Fototransistors 10 ASURO 69 9 C f r ASURO Jaja diesmal wieder im ganzen Programm include asuro h Linienverfolgung auf die einfachste Art int main void unsigned int data 2 Speicher bereitstellen Init FrontLED ON Linienbeleuchtung einschalten MotorDir FWD FWD Beide Motoren auf vorw rts while 1 Endlosschleife ASURO soll beliebig lang einer Linie nachfahren LineData data aktuelle Helligkeitswerte der Fototransistoren einlesen if data 0 gt data 1 links heller als rechts MotorSpeed 200 150 dann links mehr Gas geben else MotorSpeed 150 200 sonst rechts mehr Gas geben return 0 9 2 11 void OdometrieData unsigned int data Die Reflexlichtschranke wird ausgewertet Die Leuchtdioden D13 D14 werden aktiviert und die A D Wandler Werte der Fototransistoren T11 T12 zur ckgegeben Wie in der Funktion LineData muss ein Speicherbereich mit zwei Integerwerten bergeben werden der dann von der Funktion gef llt wird Der erste Integerwert enth lt den Wandler Wert des linken T11 der zweite Integerwer
29. ammengebaut und der Fahrspa kann beginnen Zun chst m ssen aber noch die zuvor eingebauten Fehler gesucht gefunden und beseitigt werden ohne dabei allzu gro en Schaden anzurichten 5 1 RS232 Infrarot Transceiver Diese Inbetriebnahme gilt nur f r den RS232 IR Transceiver Als erstes sollte der RS232 IR Transceiver auf seine volle Funktionsf higkeit berpr ft werden da dieser sp ter f r den Selbsttest des Fahrzeugs ben tigt wird Dazu wird der RS232 IR Transceiver ber das mitgelieferte serielle Verl ngerungskabel an eine freie serielle Schnittstelle angeschlossen Danach startet man das Terminal Programm von Windows Hyperterminal unter Linux beispielsweise Minicom Normalerweise findet man es unter Start gt Programme gt Zubeh r gt Kommunikation gt Hyperterminal Falls es nicht vorhanden ist muss man es von der Windows CD nachinstallieren Terminalprogramme stammen eigentlich noch aus der Zeit des Modems und davor als man h ufiger ber die serielle Schnittstelle mit anderen Rechnern kommunizierte Heutzutage werden sie vorwiegend dann benutzt wenn man sich ber das Internet rein textbasiert auf einem anderen Rechner einloggen will Nach dem Start von Hyperterminal fragt das Programm nach einem Namen f r die neue Verbindung Hier kann man ASURO eingeben und ein beliebiges Symbol ausw hlen Im n chsten Fenster w hlt man bei Verbinden ber die COM Schnittstelle aus der der Transceiv
30. are see the source for copying conditions There is warranty nat even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE E avr gcc c g 03 funsigned char funsigned bitfields fpack struct fFshort enums Hall Hztrict protetupes Ha ahlmz tezszt lst tezt c o tes t0 avr gcc c mmcu atmegzaB g 03 funaignegd char funsigned bitfields fpack struct Fshort enums Mell Netrict prototgpes Ha ahlms asura lst asura c o a SUrO O avr gzcc mmcu atmegad I g 03 Funsiened char funsigned bitfields fpack str uct Fshort enums Wall Hetrict prototypes Ha ahlms test o test o asuro o output test elf Hl ap test map cref lm avr ob joopy 0 ihex F eeprom test elf test avr ob jcopy 1 eeprom set section f lags eeprom alloc load 5 change section lma eeprom 0 0 ihex test elf test avr ab jdump h 5 test elf gt test lss test elf section size text 1422 LU data 8358704 DAD O nainit DAD O sepron 2454144 stab Band stabstr 21211 Total 12097 a cm Meri m e erewellinuxi FirstIru Abbildung 8 2 Make all ASURO 52 8 Informatik 8 3 Flash das ASURO Programmier Tool 101101 Hierzu wird das Programm Flash siehe Abb 8 3 ben tigt ef Flash ASURO Flash le ASURO Flash ASURO Flash Tool ASURO Flash Tool C COM1 Version
31. at Dadurch wird der Eintrag im makefile namens clean ausgef hrt und die ganzen inzwischen berfl ssigen Dateien wieder gel scht ASURO 50 8 Informatik 8 2 LINUX F r die Installation der Software sind root Rechte erforderlich Entweder ausloggen und als root einloggen oder eine shell ffnen und mit su root Rechte erlangen 8 2 1 Flash Tool Die ASURO CDROM einlegen ggf mounten und die beiden Flash Tools asuroflash und aus dem Verzeichnis Linux Tools in das Verzeichnis usr local bin kopieren Danach noch das Ausf hren mit chmod usr local bin asurocon asuroflash erlauben Wird ein in einer Shell eingetipptes asuroflash nicht gefunden muss der Pfad usr local bin noch der PATH Variable hinzugef gt oder das Programm mit vollem Pfad aufgerufen werden ASURO Flash Tool amp mm ASURO Flash Tool KON Version 1 2 Author Jan Grewe DLR 2003 2004 RO Cd ASURO src SelfTest SelfTest hex Programm ASURO ready to start 10056 sending Page 082 of 085 gt tt flashed Sending Page 083 of 085 gt flashed Sending Page 084 of 085 gt flashed Sending Page 085 of 085 gt flashed All Pages flashed ASURO ready to start Abbildung 8 1 Flash tool ASURO 51 8 Informatik 8 2 2 Compiler Zur Installation des Gnu Compilers f r AVR Prozessoren die ASURO CDROM einlegen und aus dem Verzeichnis Linux
32. ck ausgef hrt und die Bedingung erneut gepr ft bis diese falsch wird Dannach wird das Programm hinter dem Anweisungsblock fortgesetzt while Bedingung Anweisungsblock Beispiel include asuro h int main void Init MotorDir FWD FWD Beide Motoren auf vorw rts MotorSpeed 120 120 Beide Motoren etwa halbe Kraft voraus StatusLED GREEN Status Leuchtdiode auf grun schalten while PollSwitch 0 Solange keine Kollision erfolgte serWrite Alles 10 Euphorie verbreiten MotorSpeed 0 0 Kollision Sofort anhalten StatusLED RED Statusleuchtdiode rot schalten while 1 SerWrite Aual n 5 und weinen Die for expr1 epr2 expr3 Anweisung ist aquivalent zu expr while expr2 Anweisungsblock expr3 Die for Schleife wird normalerweise als Z hlschleife verwendet for i 0 i lt n i Beispiel include asuro h int main void Init int zaehler Variable f r s Z hlen deklarieren for zaehler 0 zaehler 10 zaehler zehnmal wiederholen SerWrite Los geht s n 12 Los gehts schicken MotorDir FWD FWD Beide Motoren auf vorw rts MotorSpeed 120 120 Beide Motoren etwa halbe Kraft voraus while 1 Danach nichts mehr machen j ASURO 61 9 C f r ASURO while 1 aquivalent zu for ist eine Endlosschleife die niemals verlassen wird die Bedingung f r den
33. compilers 8 1 3 Beispielprogramme 8 2 Linux 8 2 1 Flash Tool 8 2 2 Compiler 8 3 Flash das ASURO Programmier Tool 8 3 1 Wie funktioniert das Flashen 8 4 Flash Fehler 8 5 Erstes eigenes Programm 9 C f r ASURO 9 1 Grundlagen der C Programmierung 9 1 1 Allgemeines 9 1 2 Variablen und Datentypen 9 1 3 Compilerdirektiven 9 1 4 Bedingungen 9 1 5 Schleifen 9 1 6 Funktionen 9 1 7 Zeiger und Vektoren 9 2 Beschreibung der ASURO Funktionen 9 2 1 void Init void 9 2 2 void StatusLED unsigned char color 9 2 3 void FrontLED unsigned char status 9 2 4 void BackLED unsigned char left unsigned char right 9 2 5 void Sleep unsigned char time72kHz 9 2 6 void MotorDir unsigned char left_dir unsigned char right_dir 9 2 7 void MotorSpeed unsigned char left_speed unsigned char right_speed 9 2 8 void SerWrite unsigned char data unsigned char length 9 2 9 void SerRead unsigned char data unsigned char length unsigned int timeout 9 2 10 void LineData unsigned int data 9 2 11 void OdometrieData unsigned int data 9 2 12 unsigned char PollSwitch void IV Anhange A Stuckliste B Schaltplane ASURO C RS 232 IR Transceiver D USB IR Transceiver E Blockschaldbild ASURO F Blockschaltbild PIC Processor G Lieferumfang ASURO ASURO 5 72 74 75 76 77 77 78 Teill Mechanik 1 Erforderliches Werkzeug Um ASURO vern nftig zusammenbauen zu k nnen wird au
34. den Dioden und Widerst nden muss das erst noch erzeugt werden Alle Widerst nde bei ASURO werden aus Platzgr nden stehend eingel tet Das hei t ein Beinchen bleibt wie es ist das andere wird um 180 gebogen Die Biegung sollte einen Durchmesser von 2 5mm haben und erst in ein paar Millimeter Abstand vom Widerstandsk rper liegen damit dieser nicht mechanisch belastet wird was eine einwandfreie Funktion beeintr chtigen k nnte Beim sp teren Einl ten gibt ein Kreis im Best ckungsdruck an ber welchem Loch der Widerstandk rper zu liegen kommt und ein kleiner Stich in welches Loch der umgebogene Draht gesteckt werden muss Die Dioden werden liegend eingebaut d h beide Beinchen m ssen am besten mit einer feinen Zange um 90 abgewinkelt werden und das in einem Abstand damit sie leicht in die entsprechenden Bohrungen in der Leiterplatte passen Beim Prozessor ATmega dem Gatterbaustein IC3 CD4081 und dem IR Empf nger 2 SFH5110 36 handelt es sich um elektrostatisch gef hrdete Bauteile Das bedeutet dass sie bereits durch blo es Anfassen zerst rt werden k nnen sofern man vorher elektrisch geladen war was beispielsweise durch Laufen ber Teppiche passieren kann Vor dem Handhaben dieser Bauteile ist es ratsam sich mit einem Erdungsband zu erden oder zumindest ein Metallgeh use eines Ger tes oder die Heizung anzufassen ASURO 10 Elektronik
35. die Schaltung nicht zu st ren Nun dr ckt man am Terminalprogramm einige Tasten Dabei muss die gelbe Leuchtdiode auf der Platine blinken und die Tastendr cke auf dem Bildschirm erscheinen Funktioniert das nicht bei 6 2 weiterlesen Hat alles geklappt kann man mit der Inbetriebnahme der ASURO Platine weitermachen ASURO 22 Elektronik 5 2 2 Linux Der USB Transceiver wird mit dem USB Kabel an einer freien USB Buchse angeschlossen Ein kurzes ert nt wenn Linux den Transceiver erkannt hat Um zu berpr fen ob das Ger t korrekt erkannt wurde kann man sich den entsprechenden Eintrag im proc Verzeichnis anschauen foo bar gt cat proc tty driver usb serial Was eine Ausgabe produzieren muss die mindestens folgende Eintr ge aufweist statt der 0 kann auch 1 7 2 usw stehen usbserinfo 1 0 driver v1 4 0 module ftdi_sio name FTDI 8U232AM Compatible vendor 0403 product 6001 num ports 1 port 1 path usb 00 11 2 1 Zum Ausprobieren konfiguriert man Minicom auf die Schnittstelle dev ttyUSBO oder 1 2 usw und folgede Parameter Bits pro Sekunde 2400 e Datenbits 8 Paritat keine e Stoppbits 1 e Flusssteuerung kein Danach wieder best tigen mit OK Dazu sind eventuell root Rechte erforderlich Eventuell muss man dem gewunschten User oder der gewunschten Gruppe noch Lese und Schreibrechte auf dem Device dev ttyUSB einr umen Das kann mit einem chmod u rw dev tty U
36. e Anwendungen ist es sicher besser eigene Funktionen zu schreiben Die Funktionen sind klassisch im Stil ihrer Deklaration dargestellt Wer damit nichts anfangen kann schaut sich am besten jeweils die Beispiele an Um Missverst ndnissen vorzubeugen Funktionen die etwas steuern wie die Antriebs Funktionen oder die Funktionen f r die Anzeigenelemente legen Einstellungen fest die solange g ltig sind bis sie wieder ge ndert werden Also eine gr ne Status Leuchtdiode bleibt solange gr n bis sie eine andere Farbe gesetzt oder ausgeschaltet wird ASURO 65 9 C f r ASURO 9 2 1 void Init void Der Mikrocontroller wird in seinen Grundzustand gebracht Diese Funktion muss immer am Anfang eines Programms aufgerufen werden Ohne den Aufruf dieser Funktion am Anfang wei der Prozessor nicht mal was er mit seinen Beinchen machen soll Ein Programm f r ASURO muss mindestens so ausschauen include asuro h int main void hier werden die benotigten Variablen deklariert Init hier stehen dann die eigenen Programmideen while 1 Endlosschleife return 0 wird nicht mehr ausgef hrt Warum die Endlosschleife am Ende der main Funktion Normalerweise bedeutet ein Beenden der main Funktion mit return 0 ein Ende des Programms Bei ASURO kann aber passieren dass dann Teile fr her geflashter Programme ausgef hrt werden oder das Programm neu startet was zu seltsamen Effekten f hrt Um das zu vermeide
37. e gehalten T11 gt Status LED D12 leuchtet gr n auf der rechten Lichtschranke T12 sollte die Status LED D12 rot aufleuchten Papier weg und die entsprechende Farbe der Status LED erlischt Ein Hell Dunkel bergang kann also detektiert werden Die Odometrie funktioniert Bei einem Fehler kann mit dem Selbsttest fortgefahren werden Die Fehlerbehebung kann sp ter stattfinden Antriebe Beide Back LEDs D15 D16 leuchten hell auf Der vorletzte Test steht an ca 15sec Die Antriebe werden auf Herz und Nieren gepr ft Der linke Motor wird in Vorw rtsrichtung von Stillstand auf maximale Drehzahl und wieder zur ck zum Stillstand gebracht Die Drehrichtung wird ge ndert und wieder von Stillstand auf Maximum zu Stillstand durchgefahren Die selbe Prozedur muss der rechte Motor ber sich ergehen lassen Danach werden beide Motoren gleichzeitig betrieben Zum letzten Mal die altbekannte Bemerkung Bei einem Fehler kann mit dem Selbsttest fortgefahren werden Die Fehlerbehebung kann sp ter stattfinden IR Transceiver Wenn die Status LED geblich flackert ist der letzte Test in vollem Gang ca 15sec Die IR Transceiver schickt bzw empf ngt Daten Um diese empfangen zu k nnen ist der fertig zusammengebaute IR Tranceiver an den PC anzuschlie en und ein Terminalprogramm wie das Windows Terminalprogramm Hyperterminal zu verwenden Die Konfiguration ist die gleiche wie beim Test des IR Tranceivers Auf empfangenen Zeic
38. ein Zeichen aus dem re aufnehmen 0 255 Leer in 5 683896 awe Byte Wet a entach genauer Gietpuniivet 3 IP ist ein Kommentarzeichen nach C Standard Da der hier verwendete Compiler eigentlich ein C Compiler ist funktioniert dies kann aber bei anderen Compilern zu Fehlermeldungen f hren ASURO 57 9 C f r ASURO Die Deklaration erfolgt entweder au erhalb der main Funktion als globale Variable das hei t die Variable ist f r das gesamte Programm verf gbar innerhalb der main Funktion dann gilt sie nur f r Programmcode der in der main Funktion steht oder innerhalb einer eigenen Funktion dann ist sie nur hier g ltig Was n tzt die sch nste Variable wenn man nicht wei wie man Daten rein oder raus kriegt Daten rein klappt mit einer Zuweisung 17 a hat jetzt den Wert 17 oder auch als Rechnung a 17 23 a ist jetzt 40 b at3 b ist jetzt 43 b b 2 b ist jetzt 86 Und jetzt im ganzen Programm include asuro h int main void int i i kann Zahlen zwischen 32768 und 32767 aufnehmen char zeichen zeichen kann ASCII Zeichen oder Zahlen zwischen 128 und 127 aufnehmen 153 zeichen 17 i zeichen ist jetzt 20 i i 2 Division durch 2 es wird immer abgerundet i ist demnach 1 return 0 Ein paar praktische Abk rzungen gibt s noch Fur i i 1 kann man auch schreiben als Und i i 1 entspricht ASURO
39. einfachsten von einem vorgegebenen Beispiel aus weiterzuschreiben Sp ter k nnen dann eigene Programme erstellt und auch eigene makefiles geschrieben werden ASURO 54 8 Informatik Das geladene Programm wird wie folgt abge ndert Achtung auf exakte Schreibweise auch Grof3 Kleinschreibung achten include asuro h int main void Init StatusLED RED while 1 return 0 Danach wieder im Men Tools gt make ausw hlen unter Linux in einer Shell im Verzeichnis 5 make eintippen oder den Editor passend konfigurieren und die Compilierung abwarten bis keine neuen Meldungen mehr im Statusfenster erscheinen berpr fen ob Process Exit Code 0 unten im Statusfenster steht damit ist das Programm vom Compiler verstanden und bersetzt worden Steht ein anderer Code da muss anhand der Fehlermeldungen der Fehler gesucht werden Meistens hilft es in der Zeile zu suchen anzufangen wo laut Statusfenster der erste Fehler gefunden wurde Im Editor steht die Zeilennummer in der der Cursor gerade positioniert ist ganz links unten Hat das Compilieren fehlerfrei funktioniert kann das neue Programm geflasht werden Dazu wird wieder der IR Transceiver angeschlossen das Flash Tool gestartet die Datei test hex und die korrekte COM Schnittstelle ausgew hlt ASURO in Sichtkontakt zum IR Transceiver gebracht Programm angeklickt ASURO eingeschaltet und die bertragung des Programms abgewartet Hat
40. eisungsblock 2 Die Bedingung wird auf ihren Warheitsgehalt hin berpr ft Ist diese wahr also ungleich 0 so wird der Anweisungsblock 1 ausgef hrt ansonsten der optionale Anweisungsblock 2 ASURO 59 9 C f r ASURO Will man eine Entscheidung unter mehreren Alternativen treffen so kann man mehrere else if Anweisungen verwenden if Bedingung 1 Anweisungsblock 1 else if Bedingung 2 Anweisungsblock 2 else if Bedingung 3 Anweisungsblock 3 else if Bedingung 4 Anweisungsblock 4 else Anweisungsblock 5 Folgende Bedingungen sind m glich Vergleich auf gleich logischer Vergleich nicht gleich logischer Vergleich auf gr er lt logischer Vergleich auf kleiner gleich logischer Vergleich auf gr er gleich Beispiel include asuro h int main void Init while 1 if PollSwitch gt 0 StatusLED RED else StatusLED GREEN Wenn einer der Kollisionstaster gedruckt wird leuchtet die Statusleuchtdiode rot ansonsten grun Die restlichen verwendeten Elemente werden sp ter erkl rt In C steht 1 f r wahr und 0 f r falsch Die Bedingung if 0 StatusLED RED f hrt also dazu dass StatusLED RED nie ausgef hrt wird ASURO 60 9 C f r ASURO 9 1 5 Schleifen Schleifen dienen dazu Anweisungen mehrmals auszuf hren In der while Schleife wird eine Bedingung ausgewertet Ist die Bedingung wahr so wird der Anweisungsblo
41. en Zeiger und Vektoren werden hier nur soweit behandelt wie diese zum Betreiben von ASURO notwendig sind Werden die Linienfolgesensoren bzw die Sensoren der Odometrie ausgelesen ben tigt man Vektoren Deren Deklaration ist denkbar einfach int IData 2 int oData 2 Wie man erkennt werden f r die Liniensensoren bzw f r die Odometrie zwei Vektoren Data o Data mit 2 Elemeneten angelegt In Element 0 steht nach dem Aufruf der passenden ASURO Funktion LineData OdometrieData der Wert des linken Sensors in Element 1 der Wert des rechten Sensors Hierzu ein kleines Beispiel Ist von den beiden Liniensensoren der rechte heller als der linke beleuchtet soll Anweisung 1 ausgef hrt werden ansonsten Anweisung 2 int IData 2 Speicher fur die Messwerte zur Verf gung stellen LineData IData Einlesen der Messwerte if IData 1 IData 0 Anweisung else Anweisung2 Um die seriellen Schnittstellenfunktionen SerWrite SerRead benutzen zu k nnen werden Zeichenketten ben tigt Diese werden wie folgt deklariert char message Hier steht ein Text Um eine Zeichenkette zu senden ist bei ASURO nur die Funktion SerWrite mit den entsprechenden Parametern aufzurufen Der erste Parameter gibt den Text bzw die Zeichenkettenvariable an der zweite Parameter gibt an wieviele Zeichen der Zeichenkette bertragen werden sollen SerWrite message 20 bzw serWrite Hier steht ein Text 20
42. er angeschlossen worden ist Nach Dr cken auf OK w hlt man Bits pro Sekunde 2400 e Datenbits 8 Parit t keine e Stoppbits 1 e Flusssteuerung kein Danach wieder best tigen mit OK Nun den IR Transceiver 10 cm ber ein wei es Blatt Papier halten Die Bauteile zeigen zum Papier Nun munter ein paar Tasten auf der PC Tastatur gedr ckt und das Terminal Programm sollte diese Tasten anzeigen Der IR Transceiver sendet dabei den Tastendruck ber die IR Diode D5 das am Papier reflektierte Signal trifft auf das Empf nger IC IC2 und wird zum PC bertragen Kommen gar keine oder falsche Zeichen an so kann man mit einem kleinen Schraubenzieher vorsichtig den Trimmer zwischen seinem linken und rechten Anschlag verdrehen und wieder ein paar Tasten dr cken bis korrekte Zeichen erscheinen Das Ganze funktioniert nicht so wie beschrieben Schade hier muss wohl ein Fehler vorliegen der behoben werden sollte siehe Abschnitt 6 1 Zur Sicherheit kann man abschlie end den IR Transceiver wieder abstecken und nochmal ein paar Tasten dr cken Nun d rfen keine Zeichen mehr erscheinen ASURO 21 Elektronik 5 2 USB Infrarot Tranceiver Diese Inbetriebnahme gilt nur f r den USB Infrarot Transceiver Achtung Der ungeh uste USB Infrarot Transceiver ist empfindlich gegen elektrostatische Entladungen Vor der Benutzung muss man sich an einem metallischen K rper Heizung Computergeh use entladen um
43. eramisch Aufdruck 104 e 680pF keramisch Aufdruck 681 e Q1 BC547 A B oder C oder BC548 A B oder C e R1 R5 20k Ohm 5 rot schwarz orange gold e R2 4 7k Ohm 5 gelb violett rot gold e R3 470 Ohm 5 gelb violett braun gold R6 10k Ohm 596 braun schwarz orange gold e R7 220 Ohm rot rot braun gold e C1 100uF mindestens 16V auf richtige Polung achten e TR1 10k Ohm Trimmer e D5 SFH 415 U IR LED schwarzes Geh use auf richtige Polung achten Geh use sollte auf der Platine aufliegen 162 SFH5110 36 Infrarot Empf nger IC Beinchen mit Zange abwinkeln Auf richtige Polung achten Seite W lbung muss nach oben weisen Achtung elektrostatisch gef hrdet und Hinweis f r die Hobbyschwei er hitzeempfindlich e X1 9pol SUB D Buchse Geh use muss auf der Platine aufliegen auch die Befestigungslaschen m ssen angel tet werden e C1 NE555P einstecken Richtungsmarkierung Nase oder Kreis beachten ASURO 13 Elektronik Abbildung 4 1 Best ckung des RS232 Infrarot Transceivers Nun nochmal mit kritischem Blick die L tstellen auf gute Verbindung oder Kurzschl sse berpr fen und ggf nachbessern Fertig Elektronik 4 2 Fertigger t USB Infrarot Transceiver Optional ist ein USB IR Transceiver als Fertigger t lieferbar Abbildung 4 2 USB Infrarot Transceivers H Ro Hen IC3 C6 el Abbildung 4 3 Oberseite des US
44. erpr fen Zu kontrollieren sind R25 R26 R27 R28 R29 R30 R32 R24 1KO br sw sw br br 25 2 ro sw sw br br R26 2 ro sw sw br br R27 8 2KO gra ro sw br br R28 16 br bl sw ro br R29 33KQO or or sw ro br R30 bl gr sw ro br R32 2 ro sw sw br br In seltenen F llen kann es vorkommen dass durch Bauteiletoleranzen ein falsches Muster erkannt wird Das kann aber sp ter softwareseitig behoben werden ASURO 30 6 Fehlersuche 6 6 2 Die Anzeige verh lt sich so als seien Schalter vertauscht worden Die Widerst nde der jeweiligen Schalter sind vertauscht Zu kontrollieren sind R24 1 br Sw Sw br br R25 2 ro sw sw br br R26 2 ro sw sw br br R27 8 2KO gra ro sw br br R28 16 br bl sw ro br R29 33KO or or sw ro br R30 bl gr sw ro br R32 2 ro sw sw br br 6 6 3 Irgendwie funktioniert es immer noch nicht so richtig Widerst nde R23 1MQ br sw gr gld R24 1KO br sw ro gld nachsehen R12 12 br ro sw ro br R13 10 br sw sw ro gld kontrollieren und C7 220F 10V berpr fen 6 7 Eine Reflexlichtschranke funktioniert nicht 6 7 1 Keine der Reflexlichtschranken funktioniert Widerstand R22 pr fen 470 ge vio br gld Einbaulage von D13 und D14 nachsehen D13 und D14 sind die rosa zweipoligen Gebilde mit dem kleinen Pickel auf einer Seite Dieser Pickel muss zur Au enseite der Platine zeigen 6 7 2 Die li
45. f die Achse jedes Motors ein Ritzel Es muss erstmal nur steckenbleiben Den Motor h lt man dann Ritzel nach unten auf eine nicht zu harte Unterlage Plastik Karton o und klopft zart mit einem kleinen Hammer auf die aus der R ckseite des Motors etwas herausragende Achse bis die Motorachse vollst ndig im Ritzel steckt siehe Abb 2 1 Alternativ kann man das von Hand aufgesteckte Ritzel mit einem Schraubstock auf die Motorachse dr cken Dabei darf aber nur Kraft auf die durchgehende Motorwelle keinesfalls auf das Geh use oder die Lager ausge bt werden Abbildung 2 1 Motorritzelmontage 2 2 Tischtennisball ASURO soll sp ter auf einem halben Tischtennisball gleiten Dieser ist herzustellen Am besten nimmt man einen ganzen Tischtennisball und s gt oder schneidet diesen mit einem Teppichmesser den Ball nicht die Finger auseinander Die Schnittkanten dann noch mit einer Feile oder Schleifpapier entgraten Abbildung 2 2 Zers gter Tischtennisball Elektrowerkzeug darf wegen der Brandgefahr nicht verwendet werden ASURO 7 Mechanik 2 3 Radsensoren Die Leuchtdiode und der Fototransistor Reflexlichtschranke fur die Odometrie welche sich so vertrauensvoll Richtung erstem Getriebezahnrad wenden werden wollen sp ter nicht entt uscht werden Daher bringt man auf das jeweils erste Getriebezahnrad das mit mit den 50 und 10 Z hnen auf der Seite ohne Abtriebsritzel noch die selbstklebenden Musterscheiben an
46. hen antwortet ASURO mit dem im Alfabet folgenden Zeichen Kommen in einem fest eingestellten Zeitrahmen keine Daten an sendet ASURO Bei jedem gesendeten Zeichen wird zur gr nen Status LED die rote Status LED dazugeschaltet daher das gelbliche Flackern ASURO 26 Elektronik Besteht zwischen ASURO und dem Infrarot Transceiver Sichtkontakt ca 50cm Abstand sollte im Terminal Programm regelm ig ein erscheinen bzw die am PC gedr ckte Taste erscheint einmal vom Transceiver gesendetes und reflektiertes Signal gefolgt von dem im Alfabet folgenden von ASURO gesendeten Zeichen z B Taste e wird gedr ckt gt Terminal Programm zeigt ef Taste 4 wird gedr ckt gt Terminal Programm zeigt jk Taste 3 wird gedr ckt gt Terminal Programm zeigt 34 Im Fehlerfall unter Abschnitt 6 9 nachsehen 5 3 3 Fertig Ist ein Fehler aufgetreten so muss die Batterie abgeklemmt und der Fehler mit Hilfe des Kapitels 6 behoben und sofern keines der Bauteile Schaden genommen hat anschlie end der Selbsttest wiederholt werden Erst dann ist ASURO voll einsatzf hig und es ist sichergestellt dass in Zukunft die Fehler in der Software zu suchen sind und nicht in der Hardware Soll sp ter einmal ein Selbsttest durchgef hrt werden nachdem schon eigene Programme auf ASURO gelaufen sind so ist ASURO mit der Datei SelfTest hex von der CD zu programmieren 0338 ATMEGABL 8PT MEL
47. ie Bauteile alle an der richtigen Stelle eingebaut Bei den Widerst nden auf den Platinenaufdruck achten 6 3 3 Status LED D12 leuchtet nach dem Start nicht zweifarbig auf Status LED leuchtet gar nicht gt siehe 6 4 Status LED flackert gt Batteriespannung zu niedrig gt Batterien tauschen Sind die Batterien frisch sollten die Widerst nde R12 und R13 berpr ft werden 12 br ro sw ro br 10 br sw sw ro br 6 4 Ein Anzeigenelement geht nicht Prozessor richtig eingebaut Polung 6 4 1 Status LED D12 geht nicht Polung der LED D12 berpr fen Widerstand R10 R31 pr fen 4700 ge vio br gld Ein einfacher Test besteht darin den Prozessor 1 1 zu entfernen und eine Verbindung zwischen Pin7 VCC und Pin14 Status LED leuchtet gr n bzw Pin4 Status LED leuchtet rot herzustellen Ist dieser Test erfolgreich liegt ein Defekt im Prozessor oder Schwinger vor bzw ist eine Leiterbahn unterbrochen Pin1 ist links oben dann wird links runter und rechts hoch gez hlt 6 4 2 Front LED D11 geht nicht Polung D11 pr fen Widerstand R9 pr fen 2200 ro ro br gld Ein einfacher Test besteht darin den Prozessor IC 1 zu entfernen und eine Verbindung zwischen Pin7 VCC und Pin12 Front LED leuchtet rot herzustellen Ist dieser Test erfolgreich liegt ein Defekt im Prozessor oder Schwinger vor bzw ist eine Leiterbahn unterbrochen Pin1 ist links oben dann wird links runter und rechts hoch gez hlt
48. iefern Evtl muss diese Funktion mehrfach hintereinander aufgerufen werden um das richtige Ergebnis zu erhalten Der geladene Kondensator C7 muss sich erst entladen Dies kann ein wenig dauern Wenn der A D Wandler zu fr h abtastet k nnen verschiedenste Spannungswerte gemessen werden Beispiel unsigned char taste taste PollSwitch if taste gt 0 MotorSpeed 0 0 So das war s Jetzt darf man etwas eigene Kreativitat walten lassen ASURO 71 Teil IV Anh nge A Stuckliste Zus tzlich zu einem Tischtennisball werden zum Aufbau eines ASUROs noch folgende Teile ben tigt 1x Platine ASURO 2x Motoren Typ Igarashi 2025 02 1x Diode 1 4001 8x Dioden 1 4148 4x Transistoren BC 327 40 oder BC 328 40 4x Transistoren BC 337 40 oder BC 338 40 1x Integrierter Schaltkreis CD 4081BE 1x Prozessor Almega 8L 8PC vorprogrammiert 1x IR Empf nger SFH 5110 36 1x IR LED SFH415 U 2x Fototransistoren SFH300 3x LEDs 5mm rot hell diffus 1x Duo LED 3mm rot gr n 2x Side Fototransistoren LPT80A 2x Side LEDs IRL80A 1x Schwinger 8 2 2x Elko 220F mind 10V RM 3 5 10 4x keramische Kondensatoren 100nF RM 5 08 2x keramische Kondensatoren 4 7nF RM 2 54 1x 100 1 4 W 5 2x 220 1 4 W 5 4x 470 1 4 W 5 11x 1k 1 4 W 5 3x 2k 1 4 W 1 2x 4 7 1 4 W 5 1x 8 2k 1 4 W 1 1x 10k 1 4 W 1 1x 12k 1 4 W 1 1x 16k 1 4 W 196 1x 20k 1 4 W 5 1x 33k 1 4 W 1 1x 68k 1 4 W 1 1x 1M 1 4 W 5 3x Sockel 14 pol
49. ite angeschlossen sind kann etwas hartn ckigere W rmezufuhr erforderlich sein bis das Zinn in die Bohrung gelaufen ist Schlechte L tstellen zeichnen sich durch kugelf rmige L tzinnansammlungen am L tauge oder eine matte bei bleifreiem Lotzinn sehr matte Oberfl che aus Hier muss nachgebessert werden Um die Sockel oder andere Teile welche flach auf der Platine aufliegen sollen zu montieren kann folgender Trick verwendet werden Das Bauteil wird zun chst an einem Beinchen angel tet Danach dr ckt man mit den Fingern von oben leicht auf das Teil und erw rmt nochmal die L tstelle Achtung Das Bauteil kann dabei sehr hei werden sodass das Teil auf der Platine aufsetzten kann Anschlie end werden die anderen Beine verl tet und die erste L tstelle nochmal zusammen mit etwas Zinn verfl ssigt Ist ein Teil festgel tet werden die berstehenden Drahtenden mit einem Seitenschneider knapp ber der Platine abgezwickt ohne dabei am Beinchen zu ziehen Beim Abzwicken muss darauf geachtet werden dass die eventuell wegfliegenden Drahtst cke niemanden gef hrden k nnen Die auf der Oberseite der Platine stehenden Teile d rfen sich nat rlich keinesfalls mit den Anschl ssen ber hren Eventuell m ssen diese geradegebogen werden 3 4 Ausl ten falsch eingebauter Teile Sollte es doch mal vorkommen dass ein Bauteil nicht da gelandet ist wo es hingeh rt dann muss es wieder raus Da ASURO wie schon erw hnt eine doppel
50. l kann entweder ein Verzeichnis auf der Festplatte kopiert z B C Programme Flash oder sp ter direkt von CD ausgef hrt werden In jedem Fall ist es hilfreich wenn man sich einen Link auf den Desktop einrichtet um das Flash Tool einfach starten zu k nnen 101101 ef Klick auf Save Flash 8 1 2 Installation des Programmeditors und des Compilers F r die Installation des Compilers sind Administratorrechte erforderlich weil bei der Installation die Registry ge ndert wird Sollte der aktuelle Benutzer diese nicht besitzen abmelden und als Administrator wieder anmelden Klick auf Install E COMPILER WinAVR 20030913 WINDOWS is the trade mark of Microsoft Corporation ASURO 35 8 Informatik Folgendes Fenster erscheint 5 WinAVR 20030913 Install License Agreement amp You must agree to these licenses before installing WinAWR Licensing Information GAL Binutils is distributed under the GPL License GCC is distributed under the GPL License avr libc is distributed under a modified BSD License avrdude is distributed under the GPL License uisp is distributed under the GPL License GNU Debugger GDB is distributed under the GPL License Insight is distributed under the GPL License SimulAVR is distributed under the GPL License is distributed under Ehe the GPL License Pranrammers MaoFenad is under Fhe irense gt Cancel Klick auf Agree
51. ll modify Ehe current File Pattern Symbols Special Symbols File Name EAR File Line Number zn File Mame na ext zc Column Current Line Number Ask for parameters Folgende Einstellungen eintippen oder mit der Browse Taste ausw hlen Name clean Command C ASURO_src FirstTry Test clean bat Folder C ASURO_sre FirstTry Auf OK klicken Ein neues PN Tool mit Namen clean ist ab sofort im Tools Hauptmen verf gbar Wird das tool aktiviert so wird eine Batch Datei mit Namen Test clean bat ausgefuhrt welche tempor re Dateien im Ordner C ASURO_src FirstTry l scht ASURO 43 8 Informatik Im Options Fenster m ssen jetzt die beiden Eintr ge fur die Tools make und clean sichtbar sein General Se Lem In many cases it may be useful Ea set up external tools such as compilers or Style syntax checkers You can set these tools up here Schemes Mew Files ne Tools ee 2 Params make CAASURO srelFirstTryA Test clean CHASURO_src FirstTry Test Add Edit Remove note The first item in any list will be the default tool Cancel Wieder OK klicken Programmers Notepad 2 File View Tools Help 2 en Recent Files Exit Open an existing document ASURO 44 8 Informatik Recent Documents m e Deskto ii My Documents e Mu Computer Mu Net
52. n Die Motoranschlusskabel jedes Motors werden noch verflochten muss nicht sein bringt aber Vorteile bei der elektromagnetischen Vertr glichkeit und schaut auch erheblich besser aus Das rote Anschlusskabel des linken Motors wird in ML und das schwarze in das rote des rechten Motors in MR und das schwarze in MR eingel tet Jetzt m ssen noch die Motoren provisorisch auf der Platine befestigt werden Dazu zieht man die Kabelbinder durch die L cher in der Platine neben den Motoren sodass die K pfe der Kabelbinder auf der Platinenunterseite bleiben und umschlingt die Motoren 4 5 Stromversorgung Wenn ASURO mit Batterien versorgt werden soll ist der Jumper JPT unbedingt zu ffnen Werden Akkus verwendet so ist er zu schlie en Eine Falschpolung der Akkus bei geschlossenem Jumper f hrt zur Zerst rung der Elektronik Der Batteriehalter wird ohne die Batterien mit seinem roten Kabel in BAT und seinem schwarzen in festgel tet Danach wird sichergestellt dass der Schalter auf OFF steht und die vier Batterien bzw Akkus polungsrichtig in den Batteriehalter eingelegt Der Batteriehalter wird jetzt gleich oder nach der Inbetriebnahme mit dem gr eren wieder l sbaren Kabelbinder durch das Loch in der Platine befestigt ASURO 20 Elektronik 5 Inbetriebnahme und Test Endlich ist alles zus
53. n wird das Programm nachdem es seine Aufgaben abgearbeitet hat in einer Endlosschleife gefangen was ein definiertes Ende des Programms darstellt 9 2 2 void StatusLED unsigned char color Die Status LED D12 kann zum Aufleuchten gebracht werden M gliche bergabeparameter sind OFF GREEN RED oder YELLOW Beispiel Die Status LED soll rot leuchten StatusLED RED Okay okay nochmal im ganzen Programm include asuro h int main void Init StatusLED YELLOW while 1 Endlosschleife return 0 ASURO 66 9 C f r ASURO 9 2 3 void FrontLED unsigned char status Die Front LED D11 kann ein bzw ausgeschaltet werden M gliche bergabeparameter sind ON bzw OFF Beispiel Die Front LED soll leuchten FrontLED ON 9 2 4 void BackLED unsigned char left unsigned char right Die Back LEDs D15 und D16 konnen ein bzw ausgeschaltet werden Der erste Parameter beschreibt den Zustand der linken Back LED D15 der zweite Parameter den der rechten Back LED D16 Mogliche Zustande sind ON bzw OFF Beispiel Die rechte BackLED D16 soll ein und die linke 015 ausgeschaltet werden BackLED OFF ON 9 2 5 void Sleep unsigned char time72kHz Diese Funktion lasst den Prozessor fur eine einstellbare Zeit warten Damit kann man prima Verz gerungen programmieren Diese Funktion basiert auf einem 72kHz Timer und kann als Parameter maximal den Wert 255 bergeben bekommen unsigned char
54. n Spalt zwischen Motor und Platine getropft wird fixiert Hier ist zu beachten dass Sekundenkleber auch mal ein paar Minuten brauchen kann bis er fest wird Der halbe Tischtennisball wird nun noch mit zwei gegen berliegenden Tropfen Sekundenkleber auf die Unterseite der Platine direkt hinter die Linienfolge Bauteile siehe Abb 7 1 geklebt und trocknen gelassen Abbildung 7 1 ASURO fertig aufgebaut ASURO 34 Teil Ill Informatik 8 Installation der Software und erste Schritte Die ASURO CD ins CDROM Laufwerk einlegen sie ist autostartf hig Falls Autostart deaktiviert ist kann man die CD auch mit dem Windows Explorer ffnen Nach der Auswahl der Sprache findet sich im Abschnitt Software alles was f r den Betrieb von ASURO erforderlich ist Diese Programme m ssen zunachst installiert werden F r die Installation des Compilers sind Administrator Rechte erforderlich Falls der aktuelle Benutzer diese Rechte nicht besitzt abmelden und als Administrator wieder anmelden W hrend der Softwareinstallation werden folgende Schritte durchgef hrt 1 Das Flash Tool zum bertragen der eigenen Programme auf ASURO wird installiert 2 Ein Programmeditor Programmers Notepad 2 PN2 und ein Compilierer WinAVR wird installiert 3 Ein Beispielprogramm wird von CDROM auf Festplatte kopiert 4 m Programmditor PN2 wird je ein Men eintrag f r MAKE und f r CLEAN eingerichtet 8 1 Windows 8 1 1 Flash Tool 9i Das Flash Too
55. nd eine breite 3mm Spitze nimmt F r die Elektronikkomponenten muss man die Temperatur nat rlich wieder auf ca 360 C senken Ist das Ganze erkaltet l tet man die zweite lange Achse auf der Platinenunterseite fest danach kommen nach gleichem Prinzip die Achsen auf der Oberseite dran Abbildung 4 5 zeigt die Platine mit montierten Achsen Sind die Achsen abgek nhlt werden die Getrieber der aufgesteckt Die Z hne der Getrieber der m ssen gut ineinandergreifen und die R der m ssen sich leicht drehen lassen 151 dies nicht der Fall sind entweder die Achsen schief eingel tet und m ssen neu ausgerichtet werden nicht zur Strafe nur zur bung oder auf den Achsen befindet sich im Bereich au erhalb der Platine L tzinnreste welche entfernt werden m ssen Dies geschieht am besten mit einer feinen Feile oder Schmirgelpapier Passt alles werden die Getrieber der erst mal wieder beiseite gelegt und die restlichen Bauteile bekommen auf der Platine ihren zuk nftigen Arbeitsplatz zugewiesen Abbildung 4 5 ASURO Platine mit montierten Achsen ASURO 16 Elektronik o d S qn deo OUT 007 1 no 11 5128 53 E HIC 4 mi 28 E 5 R13 MOTOR L RC 2 Qe GO d 3 18 MJ EI LE o D Abbildung 4 6 Best ckung ASURO Hauptplatine auf der Oberseite In folgender Reihenfolge wird best ckt C1 erstmal
56. nke Reflexlichtschranke funktioniert nicht Widerstand R18 pr fen 4 7 ge vio ro gld Einbaulage von T11 pr fen T11 ist das klare zweipolige Gebilde mit einem kleinen Pickel der zur Au enseite der Platine zeigen muss 6 7 3 Die rechte Reflexlichtschranken funktioniert nicht Widerstand 20 pr fen 4 7 KO ge vio ro gld Einbaulage von T12 pr fen T12 ist das klare oder schwarze zweipolige Gebilde mit einem kleinen Pickel der zur Au enseite der Platine zeigen sollte Mit einem Multimeter kann an Pin24 bzw Pin23 das Sensorsignal bei ausgebautem Prozessor nachgemessen werden dunkel VCC hell OV ASURO 31 6 Fehlersuche 6 8 Ein Antrieb geht nicht 6 8 1 Kein Antrieb bewegt sich Polung und Einbaulage IC3 berpr fen 6 8 2 Der linke Motor bewegt sich nicht bzw nur in eine Richtung Hier ist die komplette Motorbr cke bestehend aus Transistoren T1 T2 T3 T4 sind die richtigen Transistoren an der richtigen Stelle eingebaut den Dioden D1 D2 D3 D4 Polung und den Widerst nden R1 R2 R3 R4 zu kontrollieren T1 BC327 40 oder BC328 40 T2 T4 BC337 40 oder BC338 40 R1 R2 R4 1 br sw ro gld 6 8 3 Der rechte Motor bewegt sich nicht bzw nur in eine Richtung Hier ist die komplette Motorbr cke bestehend aus Transistoren T5 T6 T7 T8 sind die richtigen Transistoren an der richtigen Stelle eingebaut den Dioden D5 D6 D7 D8 Polung und den Widerst nden R5 R6 R7 R8
57. nn der Roboter mehr als eine Woche ruht ASURO 2 Inhaltsverzeichnis I Mechanik 1 Erforderliches Werkzeug 2 Mechanische Vorarbeiten 2 1 Motorritzel 2 2 Tischtennisball 2 3 Radsensoren Il Elektronik 3 Kleine Lotfibel 3 1 Spitze Zinn und Temperatur 3 2 Vorbereiten der Bauteile 3 3 Einl ten der Bauteile 3 4 Ausl ten falsch eingebauter Teile 4 Best ckung 4 1 Best ckung des RS232 Infrarot Transceivers 4 2 info USB Infrarot Transceivers 4 3 Best ckung der ASURO Platine 4 4 Motormontage 4 5 Stromversorgung 5 Inbetriebnahme und Test 5 1 RS232 Infrarot Transceiver 5 2 USB Infrarot Tranceiver 5 2 1 Windows 5 2 2 Linux 5 3 ASURO 5 3 1 Anzeigenelemente 5 3 2 Fototransistoren T9 T10 5 3 3 Schalter 5 3 4 Reflexlichtschranke Odometrie 5 3 9 Antriebe 5 3 6 IR Schnittstelle 5 3 7 Alle Anzeigenelementen auf einmal 5 3 8 Fertig ASURO 3 10 11 12 13 13 19 20 20 21 21 22 22 24 25 26 26 26 21 21 6 Fehlersuche 6 1 6 1 1 6 1 2 6 1 3 6 2 6 3 6 3 1 6 3 2 6 3 3 6 4 6 4 1 6 4 2 6 4 3 6 4 4 6 5 6 6 6 6 1 6 6 2 6 6 3 6 7 6 7 1 6 7 2 D 6 8 6 8 1 6 8 2 6 8 3 6 8 4 6 9 6 9 1 6 9 2 6 9 3 RS232 IR Transceiver geht nicht Tastendruck und Zeichenausgabe stimmen nicht berein Das Terminal Programm gibt keine Zeichen aus Es geht immer noch nicht USB Infrarot Tranceive
58. nnen eine optische Linienfolgeeinheit sechs Kollisionstaster zwei Drehzahlsensoren f r die R der drei optische Anzeigen und eine Infrarot Kommunikationseinheit welche die Programmierung und auch eine Fernsteuerung ber einen PC erm glicht siehe Abb 0 1 Das Achtung Symbol A weist auf Abschnitte hin die sehr sorgf ltig beachtet werden m ssen da Fehler zu zerst rter Hardware oder Gesundheit f hren k nnen Es sei auch noch darauf hingewiesen dass ASURO nat rlich kein Spielzeug und f r Kinder unter drei Jahren nicht geeignet ist da hier dutzende Kleinteile verschluckt werden k nnen Jetzt nur noch Batterien oder Akkus bereitlegen und los geht s Ach ja ASURO steht brigens f r Another Small and Unique Robot from Oberpfaffenhofen Abb 0 1 Blockschaldbild DLR amp AREXX Sehe auch Anhang E Oberpfaffenhofen 2004 Jan Grewe Robin Gruber WWW DLR DE WARNUNG Mit dem ffnen der Plastikbeutel mit Komponenten und Bauteilen erlischt das R ckgaberecht Lies vor dem Bauen zuerst die Bedienungsanleitung aufmerksam durch Sei vorsichtig beim Handhaben der Werkzeuge Baue nicht im Beisein kleiner Kinder Die Kinder k nnen sich an den Werkzeugen verletzen oder kleine Komponenten und Teile in den Mund stecken Achte auf die Polung der Batterien Sorge daf r dass die Batterien und die Batteriehalter trocken bleiben Falls ASURO nass wird entferne die Batterien Entferne die Batterien we
59. nweisung zur ckgegeben wird Daher endet jede Funktion auch mit return oder return ZAHL Eine besondere Funktion stellt die main Funktion dar Diese ist der Einsprungpunkt in ein Programm Bei ASURO wird diese Funktion nach dem Einschalten ausgef hrt Die main Funktion muss in jedem Programm vorhanden sein ASURO 62 9 C f r ASURO Nachdem die Datentypen bekannt sind und ein klein wenig ber Funktionen geredet wurde versuchen wir uns an einer kleinen Beispielfunktion welche zwei 8 Bit Zahlen multiplizieren und das Ergebnis zur ckgeben soll int Mult char a char b Funktion liefert einen int Wert zur ck hat den Namen Mult und bekommt zwei char als Parameter bergeben Beginn der Funktion int C Variable c wird als int deklariert c a b berechne c return c gib c zur ck Ende der Funktion Nun noch eine kleine Routine welche die eben definierte Funktion ausf hrt int main void Funktion main liefert immer einen int zur ck und bekommt keine Parameter bergeben Begin der Funktion char mult1 mult2 Definiton zweier char Variablen int erg Definition einer int Variable die das Ergebnis aus der Multiplikation der Variablen mult1 und mult2 enthalten soll mult1 2 Zuweisung mult2 10 Zuweisung erg Mult mult1 mult2 Aufruf der vorher definierten Funktion Mult return O Ende ASURO 63 9 C f r ASURO 9 1 7 Zeiger und Vektor
60. nzu Rate ziehen Die Grundlagen der ASURO Programmierung werden in Kapitel 9 erkl rt Beim Compilieren eines Programms werden einige Nebendateien erzeugt die nur w hrend der bersetzung ben tigt werden und sp ter berfl ssig sind Diese k nnen mit dem neu eingerichteten clean Tool gel scht werden ASURO 48 8 Informatik Beim ffnen Open Revert save Chris acura h Save Os e 1 maa All kann man jetzt die generierten Dateien sehen Test all bat Mu Flasent ll asura d 2 Test clean bat Documents asura h asura lst asuro o Desktop makefile best 2 fl test d test eep Mu Documents test Ist Computer 33 Fest Mu Network File name Places Files of type All Files Cancel E Klick auf Cancel und nach dem Ausf hren von clean ne ed Line Endings Pr Use Tabs nea Stop Tools ASURO 49 8 Informatik Kann man sehen Programmers Notepad 2 mN asura h Cac Al dass die generierten Dateien wieder gel scht worden sind sind mm Look in My Recent Documents Deskto Mu Network Places Wie hat s funktioniert Der Menueintrag clean hat die Batch Datei Test clean bat aufgerufen welche make mit dem Parameter clean gestartet h
61. ols Help E E Options Im Menu Tools Options auswahlen Das Options Fenster erscheint General In many cases it may be useful to set up external tools such as compilers or style checkers You car set these tools up here Schemes Mew Files Scheme Mane Global Tools Add Edit Remove note The first item in list will be the default tool Jetzt Tools auswahlen ASURO 39 8 Informatik Auf der rechten Seite C C Scheme ausw hlen j x General In many cases it may be useful to set up external tools such as compilers or style syntax checkers You can set these tools up here Schemes Mew Files D Tools Mone Global Tools In many cases it may be useful to set up external tools such as compilers or syntax checkers You can set these tools up here Mew Files See Tools C M Command Edit Remove note The first item in list will be the default tool OK Cancel Auf Add klicken um ein neues hinzuzuf gen ASURO 40 8 Informatik Das Fenster New Tool erscheint Tool Output Mame make Capture output Command CHASURO srcyFirstTryTest all bat use an individual output window Folder CUASLIRO sre FirsETEV M Clear output before running Parameters Use the built in error parser zl Shor
62. ommandozeilenbefehlen die der Reihe nach ausgef hrt werden In Test all bat wird der Befehl make all ausgef hrt make f hrt immer ein makefile aus das sich bei der ASURO Programmierung im gleichen Ordner befinden muss wie Test all bat Ein makefile ist eine Textdatei die festlegt wie ein oder mehrere Programm compiliert werden m ssen Bei Programmen die nur aus einer Datei bersetzt werden ist das noch recht bersichtlich Nachdem aber ganze Betriebssysteme in C geschrieben werden und der Code auf mehrere Dateien aufgeteilt ist die alle in einer bestimmten Reihenfolge bersetzt und zusammengebunden gelinkt werden m ssen kann auch ein makefile sehr aufw ndig werden Das all ruft den Eintrag im makefile namens all auf was bedeutet dass ein komplettes Projekt und nicht nur einzelne Teile bersetzt werden sollen ASURO 47 8 Informatik Das zu unserem Beispielprogramm geh rige makefile ist so geschrieben dass es eine Datei mit Namen test c zusammen mit asuro c das einige vordefinierte Funktionen enth lt compiliert und eine hex Datei erzeugt die so auf ASURO geladen werden kann Achtung Das hei t auch dass solange das makefile nicht ge ndert sondern nur kopiert wird das das eigene Programm immer test c hei en muss Wer makefiles komplett verstehen will was aber f r erste Schritte nicht erforerlich ist kann beispielsweise unter http www gnu org directory make html die Dokumentatio
63. or der betreffenden Zeile Das Auskommentieren dient dazu dass Textst cke vom Compiler nicht beachtet werden Damit kann man Kommentare in das Programm einf gen ohne dass beim bersetzten des Programms dadurch Probleme entstehen 9 1 2 Variablen und Datentypen Variablen sind Beh lter f r Daten Im Laufe eines Programms k nnen diese beschrieben ausgelesen oder ge ndert werden Um eine Variable nutzen zu k nnen muss sie zun chst deklariert werden Hierbei wird festgelegt welchen Typ diese Variable besitzen und evtl auch welchen Anfangswert sie erhalten soll Der Typ legt fest welche Art von Zahlen man in der Variable speichern kann ganze Zahlen positive ganze Zahlen Dezimalbr che Der Name einer Variablen muss dabei mit einem Buchstaben beginnen z hlt ebenfalls als Buchstabe und darf auch Zahlen aber keine Sonderzeichen enthalten Gro und Kleinschreibung werden unterschieden somit sind x und X verschiedene Variablen Traditionellerweise werden Kleinbuchstaben f r Variablennamen verwendet Folgende Bezeichnungen sind bereits reserviert und k nnen nicht als Variablennamen verwendet werden auto default float long sizeof union break do for register static unsigned case double goto return struct void char else if short switch volatile const enum int signed typedef while continue extern Folgende Datentypen sind f r das Programmieren von ASURO von Interesse ee char 128 127 ein Byte Wert kann
64. r funktioniert nicht Back LEDs D15 D16 glimmen nach dem Einschalten nicht Keine der beiden Back LEDs glimmt auf Nur eine der beiden LED s glimmt auf Status LED D12 leuchtet nach dem Start nicht zweifarbig auf Ein Anzeigenelement geht nicht Status LED D12 geht nicht Front LED D11 geht nicht Linke Back LED D15 geht nicht Rechte Back LED D16 geht nicht Linienfolgesensor T9 T10 reagiert nicht Ein Schalter funktioniert nicht richtig Angeblich ist eine Kombination aus Schaltern gedr ckt worden Die Anzeige verh lt sich so als seien Schalter vertauscht worden Irgendwie funktioniert es immer noch nicht so richtig Eine Reflexlichtschranke funktioniert nicht Keine der Reflexlichtschranken funktioniert Die linke Reflexlichtschranke funktioniert nicht Die rechte Reflexlichtschranken funktioniert nicht Ein Antrieb geht nicht Kein Antrieb bewegt sich Der linke Motor bewegt sich nicht bzw nur in eine Richtung Der rechte Motor bewegt sich nicht bzw nur in eine Richtung Ein Motor dreht in die falsche Richtung IR Schnittstelle ASURO sendet keine Zeichen ASURO empf ngt keine Zeichen Es geht immer noch nicht so richtig 7 Letzte Einstellarbeiten ASURO 4 28 28 28 28 28 28 29 29 29 30 30 30 31 31 31 31 32 32 32 32 32 32 33 34 Ill Informatik 8 Installation der Software und erste Schritte 8 1 Windows 8 1 1 Flash Tool 8 1 2 Installation des programmeditors und des
65. raun R14 R15 20k Ohm 5 rot schwarz orange gold R18 R20 4 7k Ohm 5 gelb violett rot gold e R23 1M Ohm 5 braun schwarz gr n gold e R25 R26 R32 2k Ohm 1 rot schwarz schwarz braun braun e R27 8 2k Ohm 1 grau rot schwarz braun braun e R28 16k Ohm 1 braun blau schwarz rot braun e R29 33kO Ohm 1 orange orange schwarz rot braun e R30 68 Ohm 1 blau grau schwarz rot braun C1 C8 Elko 220F 10V oder mehr auf richtige Polung achten e C2 SFH5110 36 Infrarot Empf nger IC Beinchen mit Zange abwinkeln Auf richtige Polung achten Seite mit W lbung muss nach oben weisen Achtung elektrostatisch gef hrdet und wieder der Hinweis f r die Hobbyschweifser hitzeempfindlich e D10 SFH 415 U IR LED 5mm schwarzes Geh use auf richtige Polung achten Geh use sollte auf der Platine aufliegen e 111 T12 LPT80A Fototransistor farbloses Geh use muss auf Platine aufliegen auf richtige Polung achten e D13 014 IRL80A IR LED rosafarbenes Geh use muss auf Platine aufliegen auf richtige Polung achten e D15 D16 LED 5mm rot rotes Geh use auf richtige Polung achten kurzes Bein an markierte Seite e S1 Ein Aus Schalter ASURO 18 Elektronik Drei weitere Bauteile werden noch ben tigt sie erm glichen das Folgen einer Linie allerdings werden sie auf der Unterseite der Platine angebracht und von oben her eingel tet siehe Abb 4 7 19
66. s beabsichtigte sodass daf r gesorgt werden muss das ASURO durch pl tzliche Fahrman ver weder sich noch andere in Gefahr bringen kann Beispiel Der linke Motor soll sich mit maximaler Geschwindigkeit drehen der rechte Motor gar nicht Die Drehrichtung ist mit der Funktion MotorDir schon vorgegeben MotorSpeed 255 0 9 2 8 void SerWrite unsigned char data unsigned char length Mit dieser Funktion werden Daten von ASURO ber die serielle IR Schnittstelle mit 2400Bit s No Parity 1 StopBit NoFlowControl ausgegeben Das ist die gleiche Einstellung wie sie auch beim Testen des IR Transceivers benutzt wird wer h tte das gedacht Im ersten Parameter wird die Adresse auf die zu sendenden Daten bergeben Der zweite Parameter gibt an wieviele Bytes bertragen werden sollen Beispiel Die Zeichenkette Hallo Du Da soll uber die serielle IR Schnittstelle gesendet werden serWrite Hallo Du Da 12 9 2 9 void SerRead unsigned char data unsigned char length unsigned int timeout Wenn man schon Daten ber die serielle IR Schnittstelle senden kann so m chte man vielleicht auch mal welche empfangen Dazu gibt es diese Funktion Der erste Parameter ist der Zeiger auf die Speicherstelle in der die empfangenen Daten abgelegt werden sollen Der zweite Parameter gibt an wieviele Datenbytes erwartet werden Der dritte und letzte Parameter stellt ein Timeout dar Hiermit kann daf r gesorgt werden dass die Funktion nicht
67. schaltet S1 auf ON bevor der Statusbalken ganz rechts angekommen ist Sollte man mal nicht schnell genug gewesen sein oder sollte die Kontaktaufnahme nicht geklappt haben einfach ASURO ausschalten erneut Programm dr cken und ASURO einschalten Hat der Verbindungsaufbau geklappt sieht man an der Statusanzeige und dem Protokollfenster dass nun die Datei Test hex zu ASURO bertragen wird Dort wird das Programm im Flash Speicher des Prozessors abgelegt sodass das Programm auch nach einem Abschalten der Versorgungsspannung immer wieder zur Verf gung steht War der Vorgang erfolgreich muss ASURO aus und erneut eingeschaltet werden um das Programm zu starten Das vor kurzem geschriebene Programm wird ausgef hrt und die gr ne LED erstrahlt in hellem Glanz 8 3 1 Wie funktioniert das Flashen Sobald das Programm Flash ausgef hrt wird versucht der Rechner 10 Sekunden lang eine Verbindung mit ASURO herzustellen Schaltet man ASURO ein leuchtet die Status LED f r ca 1 Sekunde zweifarbig auf Dies ist die Boot Phase ASURO schaut nach ob der PC neue Software f r ihn bereitstellt Diese wird gegebenenfalls geladen Nach Aus und Wiedereinschalten wird diese dann gestartet ASURO 53 8 Informatik 8 4 Flash Fehler Folgende Fehler k nnen w hrend des Flashens auftreten e Checksum Error Es sind andere als die vom PC geschickten Daten bei ASURO angekommen Das kann durch St rlicht wie Leuchtstofflampen
68. seitige Platine mit durchkontaktierten L chern hat wird das meist etwas kniffelig Folgendes Vorgehen hat sich bew hrt Zun chst verfl ssigt man alle L tstellen des betreffenden Bauteile gegebenenfalls mit Zugabe von etwas weiterem L tzinn gleichzeitig und zieht das Bauteil mit einer Zange aus der Platine Anschlie end befreit man die L cher mit Hilfe von Entl tlitze vom brigen Zinn Dazu legt man die Entl tlitze auf die L tstelle und erhitzt beides gleichzeitig bis die Litze das L tzinn aufgesaugt hat Anschlie end nimmt man L tkolben und L tzinn wieder weg Eventuell kann es hilfreich sein auch nochmal von der Oberseite aus das L tzinn abzusaugen gt professionelle Entl tsauglitze 2 Die 20 auf die L tverbindung Den L tkolben und die Litze wenehmen legen Danach Litze und L tverbindung sobald die Litze das L tzinn aufgesaugt gleichzeitig erhitzen hat ASURO 12 Elektronik 4 Best ckung L tfibel gelesen Wirklich Na gut los geht s 4 1 Best ckung des RS232 Infrarot Transceivers C1 Hier wird zun chst nur der 8 polige Sockel eingel tet Dieser besitzt eine Richtungsmarkierung welche mit der Markierung auf der Platine bereinstimmen muss e D1 D2 D3 1N4148 auf richtige Polung achten Nicht verwechseln mit ZPD5 1 oder BZX55 C5V1 Aufdruck 204 ZPD5 1 oder BZX55 C5V1 auf richtige Polung achten Nicht verwechseln mit 1N4148 Aufdruck e C2 100nF k
69. siehe Abb 2 3 Abbildung 2 3 Montage der Radsensormuster Je mehr Segmente das Muster besitzt umso genauer l sst sich die Drehzahl des Zahnrades und damit ASUROs Geschwindigkeit aufl sen allerdings wird dann auch der gemessene Unterschied zwischen hell und dunkel geringer Abbildung 2 4 Beispiel f r Radsensoren Damit ist der erste Teil geschafft Die mechanischen Komponenten sind soweit alle fertig vorbereitet Kurze Pause Jetzt geht es weiter mit der Elektronik ASURO 8 Teil Il Elektronik 3 Kleine Lotfibel Obwohl ASURO vollst ndig mit bedrahteten Bauteilen aufgebaut ist und damit im Gegensatz zu oberfl chenmontierten SMD Bauteilen Abb 3 1 zeigt den Vergleich zwischen dem kleinsten und unserem Geh use in dem ASUROS Prozessor erh ltlich ist Der eigentliche Siliziumchip ist in beiden Geh usen der gleiche geradezu hervorragen von Hand zu best cken ist sollten vor allem vom untrainierten L ter einige Hinweise beachtet werden N Selbstverst ndlich ist auch dass die zu best ckende Platine in jedem Fall stromlos sein muss Ausschalten l uft nicht unter stromlos Batterien herausnehmen 3 1 Spitze Zinn und Temperatur Abbildung 3 2 zeigt die f r s L ten wichtigste Grundlage Das gef hrliche Ende sollte zum L ten eine Temperatur von ca 360 C bei bleihaltigem ca 390 C bei bleifreiem L tzinn haben zum Einl ten der Achsen kann sie etwas erh ht werden 420 C F r Elektronikbe
70. st ckung wie diese sollte eine bleistiftspitze Spitze verwendet werden f r die Achsen kann man ggf eine breitere Spitze nehmen Auch ist Lotschwammchen noch anzufeuchten es darf nicht triefen und die Spitze des L tkolbens mit etwas L tzinn zu benetzen Kurz bevor man den L tkolben nach einer Pause oder am Beginn des L tens an die L tstelle h lt oder wenn verschlackte Zinnr ckst nde am L tkolben st ren wischt man diese einfach am L tschw mmchen ab Als L tzinn sollte Elektroniklot mit 0 8 oder 1mm Durchmesser benutzt werden ATMEL 0304 ATMEGABL 8PI Abbildung 3 1 Vergleich der gr ten und kleinsten Bauform in der der ATmega8L erh ltlich ist ASURO 9 Elektronik gef hrliches Ende Abbildung 3 2 Grundlage des L tens D mpfe welche w hrend des L tprozesses entstehen sind langfristig eher ungesund und sollten nach M glichkeit nicht eingeatmet besser noch abgesaugt werden Anderes L tzinn als Elektroniklot oder s urehaltiges Flussmittel k nnen die Schaltung zerst ren 3 2 Vorbereiten der Bauteile Jeder der schon mal Elektronik gel tet hat kennt das Problem man hat eigentlich immer eine Hand zuwenig Daher gibt s ein paar Tricks wie man die verschiedenen Bauteile b ndigt bis man mit L tkolben und Lotzinn gut hinkommt ASUROS Transistoren Leuchtdioden Fototransistoren ICs Taster Schalter Kondensatoren und Jumper haben bereits die Anschlussenden in eine Richtung Bei
71. t den des rechten Fototransistors T12 Maximale Helligkeit entspricht einem Wert von O dunkel entspricht einem Wert von 1023 Die beiden Extremwerte werden normalerweise nicht erreicht der Messwert bewegt sich irgendwo dazwischen Beispiel Auslesen der Reflexlichtschranke unsigned int data 2 Speicher bereitstellen OdometrieData data data 0 enth lt den Wert vom linken Fototransistor 1711 data 1 enth lt den Wert vom rechten Fototransistor T12 Um Missverstandnissen vorzubeugen OdomertieData liest nicht die Drehzahl direkt aus sondern nur die aktuelle Helligkeit der Geberscheibe an der Lichtschranke Eine Auswertung der Helligkeitswerte ein Zahlen der Hell Dunkel Ubergange und die Bestimmung der Drehzahl des Rades daraus bleibt dem Programmierer berlassen Dass die Wertigkeiten genau andersrum sind wie bei den Fototransistoren der Linienverfolgung ist schaltungstechnisch bedingt und ein Zugestandnis an die Einfachheit der Schaltung ASURO 70 9 C f r ASURO 9 2 12 unsigned char PollSwitch void Die Taster K1 K6 werden ausgewertet Diese Funktion liefert ein Byte In diesem Byte ist die Information enthalten welche Taster gedr ckt wurden Dabei setzt Taster 1 das 5 Bit Taster 6 das 0 Bit 1 K6 Bit1 2 gt K5 Bit2 4 K4 Bit3 8 gt Bit4 16 gt K2 Bit5 32 gt K1 Waren also die Tasten 1 3 und 5 gedr ckt so w rde die Funktion 32 8 2 42 zur ckl
72. tcut Look for a custom pattern Save None example al This tool will modify the current File Pattern Symbols Special Symbols File Name eet File Mame 9 Path of File Line Number 28 File Name ext ZC Column Column Current Line Number Percent Symbol Ask for parameters Folgende Einstellungen eintippen oder mit der Browse Taste ausw hlen Name make Command C ASURO_src FirstTry Test all bat Folder C ASURO_sre FirstTry Klick auf OK Ein neues PN Tool mit Namen make ist ab sofort im Tools Hauptmen verf gbar Wird das Tool aktiviert so wird eine Batch Datei mit Namen Test clean bat ausgef hrt welche das Programm test c zusammen mit asuro c compiliert und eine datei text hex erzeugt ASURO 41 8 Informatik Im Programmeditor einen Menueintrag zum Aufr umen einrichten Im Hauptmen Tools wieder Options und dort wieder C C Scheme ausw hlen Auf Add klicken um ein weiteres Tool hinzuzuf gen ASURO 42 8 Informatik Das Fenster New Tool erscheint Name deen v Capture output Command CHASURO_src FirstTry Test clean bat E use an individual output window Folder CHASURG_src FirstTry m Iw Clear output before running Parameters eg Use the built in error parser zl Shortcut Look for a custom pattern Save None example al This tool wi
73. teten Zustand nicht vollst ndig erlischt sondern noch ein wenig glimmt das ist normal Bei einem Fehler kann mit dem Selbsttest fortgefahren und Fehlerbehebung sp ter durchgef hrt werden ASURO 25 Elektronik Schalter ASURO steht still alle Anzeigenelemente sind aus Ein gutes Zeichen Die Schalter werden nun berpr ft ca 15sec Einfach mal ein bisschen rumdr cken irgendetwas wird hoffentlich passieren Die Zuordnung sollte wie folgt aussehen K1 gt Status LED D12 leuchtet gr n K2 gt Status LED D12 leuchtet rot K3 gt Front LED auf der Unterseite leuchtet auf D11 K4 gt Back LED links 015 K5 gt Back LED rechts D16 K6 gt Motor links dreht sich Sollte sich der Motor nicht drehen kann im Selbsttest fortgefahren werden Die Antriebe werden separat getestet hier kann dann ein evtl vorliegender Fehler in der Motoransteuerung siehe Abschnitt 6 3 behoben werden Das Dr cken von mehreren Tastern f hrt zur entsprechenden Kombination der Signale Bei einem Fehler kann mit dem Selbsttest fortgefahren werden Die Fehlerbehebung kann sp ter stattfinden Reflexlichtschranke Odometrie Die Linienfolge LED D11 auf der Unterseite von ASURO leuchtet auf Der n chste Test steht an ca 15sec Die Reflexlichtschranken f r die Odometrie werden berpr ft Ein wei es St ck Papier vor die Lichtschranke gehalten sorgt f r ein Aufleuchten der Status LED Papier wird vor die linke Lichtschrank
74. ugewiesen als die letzte Hier hilft im Hyperterminal auch mal andere Ports einzustellen und den Test zu wiederholen Gof kann man auch in der Systemsteuerung nachsehen welcher Port zugewiesen wurde 6 2 2 Linux Hier kann es helfen den USB Transceiver abzustecken und nach etwas Warten wieder zu kontaktieren Taucht dann der Eintrag im proc Verzeichnis immer noch nicht auf kann es n tzen einen neueren Kernel 6 3 Back LEDs D15 D16 glimmen nach dem Einschalten nicht 6 3 1 Keine der beiden Back LEDs glimmt auf Ganz genau hinsehen und den Raum evtl etwas abdunkeln Ist immer noch nichts zu sehen so sind folgende Dinge zu berpr fen Sind alle 4 Batterien eingelegt und voll oder Akkus geladen Ist das Batteriekabel polungsrichtig eingelotet rot Bat schwarz Bat Ist Diode D9 1 4001 polungsrichtig eingebaut Hat R22 den richtigen Wert 4700 ge vio br gld Eventuell auch R18 4 7KO ge vio ro gld R19 1KQ br sw ro gld R20 4 7KO ge vio ro gld R21 1KQ br sw ro gld berpr fen ASURO 28 6 Fehlersuche 6 3 2 Nur eine der beiden LED s glimmt auf Sind die Dioden rosafarbenes Geh use D13 links D14 rechts sowie die Fototransistoren klares Geh use T11 links T12 rechts an der richtigen Stelle siehe Abb 4 3 und Polungsrichtig eingebaut Haben folgende Widerst nde den richtigen Wert R18 R19 links und R20 R21 rechts 4 7 ge vio ro gld 1 br sw ro gld Sind d
75. variable 2 3 Layout Toolset Background 1 The Toolset and open source compiler 3 Assembler Linker Librarian and More 4 C Library 5 Making Your Software 6 Programming 7 Debugging tting Up a Project 1 where s the GUI IDE 2 Programmers Notepad 3 Make Makefiles and the sample Makefile 4 Building from AvR studio 3 x 3 Debugging Simulating and Emulating 6 AVR Studio Debugging Requirements COFF Files 7 Operating systems inding Help 1 Documentation 5 2 Online Sources Toolset Bugs 6 1 AVR COFF Bugs winAVR Project 7 1 winAVR FAQ 3 3 Fi 3 3 3 3 5 4 4 4 4 4 4 4 5 Nun das Fenster Programmers Notepad 2 schlie en Auf dem Desktop erscheint das Programmers Notepad 2 Symbol fn rrogrammer SEERA Der Programmeditor und der Compiler sind jetzt installiert ASURO 38 8 Informatik 8 1 3 Beispielprogramme von CDROM auf die Festplatte kopieren Von der CD den Ordner ASURO src in einen beliebigen Ordner Z B C ASURO_ src auf der Festplatte kopieren Durch Markieren der kopierten Dateien im Zielverzeichnis Klicken mit der rechten Maustaste und Auswahl von Eigenschaften sicherstellen dass der Schreibschutz deaktiviert ist Im Programmeditor einen Men eintrag zum Compilieren einrichten Programmers Notepad 2 durch Doppellklick auf das Symbol auf dem Desktop Programmers Notepad ffnen Programmers Notepad 2 x File To
76. work Auf Open klicken Nun zum Ausprobieren die Datei Datei 5 src FirstTry test c ffnen ASURO 45 8 Informatik Datei test c wird ge ffnet Bl xl zinclude asura h int 11 010 1 whi 1 12 return 0 10 1 7 Wenn man Tools auswahlt 45 Programmers Notepad 2 ial xl File Tools Window Help m ed Ups Endings Use Tabs dbx clean Stop Tools hile l return 0 sieht man die neuen Tools make und clean als Men eintrag Nun make anklicken ASURO 46 8 Informatik Die Dateien test c Zusammen mit asuro c wird nun compiliert include asura h int maintvoid TESI Errors nane 10 1 1 2 und wenn das Programm keine Fehler enth lt was zu erwaren ist da gerade das Beispielprogramm geladen ist erscheint unten die Meldung Errors none Was ist passiert Aus der Datei test c und asuro c ist eine Datei test hex generiert worden Diese Datei stellt das in Maschinencode bersetzte Programm dar welches nun in ASUROs Speicher geladen geflasht werden kann Das Programm selbst macht noch gar nichts wir werden es sp ter aber zum Ausprobieren des Flash Tools ben tigen Wie hat s funktioniert Der Men eintrag make ruft die Batch Datei Test all bat auf eine Batch Datei enth lt eine Liste mit K
77. zu kontrollieren T5 T7 BC327 40 oder BC328 40 T6 T8 BC337 40 oder BC338 40 R5 R6 R7 RB 1 br sw ro gld 6 8 4 Ein Motor dreht in die falsche Richtung Die beiden Anschlusskabel am Motor der in die verkehrte Richtung dreht m ssen vertauscht werden 6 9 IR Schnittstelle 6 9 1 ASURO sendet keine Zeichen Polung der IR Diode D10 pr fen Widerstand R16 richtig 220 ro ro br gld 6 9 2 ASURO empf ngt keine Zeichen Zwischen IR Transceiver und ASURO muss Sichtverbindung bestehen Abstand ca 50cm und der IR Transceiver muss voll funktionsf hig sein siehe Abschnitt 6 1 IC2 richtig eingebaut Widerstand R17 und C2 berpr fen 100 br sw br gld 100nF Aufdruck104 Wer den Fehler bisher noch nicht gefunden hat der m ge sich berlegen ob er das IC2 eingel tet oder eingeschwei t hat IC2 ist ein wenig hitzeempfindlich und ist evtl beim Einbauen kaputt gegangen dann neues IC SFH 5110 36 besorgen und einbauen ASURO 32 6 Fehlersuche 6 9 3 Es geht immer noch nicht so richtig C8 polungsrichtig eingebaut 220F mindestens 10V Kommt es bei der bertragung von Daten vom PC zu ASURO immer wieder zu Schwierigkeiten so muss ein wenig am Trimmer TR1 des Transceivers gedreht werden of Universatklebs 4 n Zweikomponentenkleber steht im Verdacht sensibilisierend zu wirken was soviel hei t wie man wird gegen immer mehr Zeug allergisch er darf also keinesfalls mit der
Download Pdf Manuals
Related Search
Related Contents
Hannspree K223-10A1 User's Manual NuTone Hampton Series User's Manual AEG SE 3.6 Emerson (K875A-MV) Diagrams and Drawings Manual 取扱説明書 View Manual - BestSellingWriter.com Kensington K60721US Scene Calibration tool Electronic Parachute Deployment System Copyright © All rights reserved.
Failed to retrieve file