Home
Diplomschrift_Legonator - HTL-Perg
Contents
1. 04444400000nnnnnnnnnnnnnnnnnnn nn nnnnnnnnnnnnnnnnnnnnnnnnnnnnennnn Ennn 39 ADD 34 Microsoft Word LO 50 nee 40 Abb 35 Microsoft Powerpoint LogO 2222mnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnna 40 ADD 30 MIET 950 EX EIG a ee een E een 40 Abb 37 Ganttplan ab Februar uuuusssssnnnsssnnnnneeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnenn 41 ADD 38 Googla Drive LOJO nee en ee 41 Abb 39 GIMP LOQO 222222222224420nnnneneeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrnnnnnnnnnnnnnnenee en 41 SEITE 114 DIPLOMARBEIT LEGONATOR ANHANG Abb 40 Gesamtkosten Diagramm 44444444402nnnnnnnnnnnnnnnnenennnnnnnnnnnnnnnnnnnnnnnenenneneee en 45 Abb 41 Beispiel Dokumentation der mikroC Pro vor AVR Libraries ussssnsessseeeeeeeenne 48 Abb 42 Code Auszug lnitialize 0004444RRRenennnnnnnnnnnnnnnneenennnnnnnnnnnnnnnnnnnnnnnnnnnene ennnen 56 Abb 43 Code Auszug TFT Display Verbindungen seeeseeeeeeeseeneeeeeeessnensesnennnnsseeesee 56 Abb 44 Code Auszug Touch Panel Modulverbindungen ssssssssssssssssssnrrrrrrrrrrrrrreenessrrsrrrnnn 57 Abb 45 Code Auszug Calibrate 24444444440044400Rnn nennen nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnen nenn 58 ADD 46 Touch Panel Kalibrier Und ana 58 Abb 47 Bereiche des Bildschirms 2 22200022222000020nnnnennnnnnnnennnnnnnnnnnnnnnnnnnnnnne nennen 59 Abb 48 nderung des dynamische
2. siehe Kapitel 5 2 1 2 nicht zur Verf gung steht stellt uns mikroC eine Mikrocontroller Variante dieser Funktion zur Verf gung Die Ansicht kann entweder ber das Info Symbol in der Statusleiste oder ber den Detail Button in der Buttonleiste erreicht werden Abb 72 Info Symbol Abb 73 Detailbildschirm DIPLOMARBEIT LEGONATOR SEITE 73 PROGRAMMIERUNG 6 3 9 Fehlermeldungen F r den Umgang mit auftretenden Fehlern wurde die Struktur error_t definiert Sie umfasst eine Zeichenkette err_msg die eine Fehlermeldung von bis zu 30 Zeichen speichern kann und einen Integer priority der die Priorit t des Fehlers speichert Diese gibt an wie schwerwiegend der Fehler ist Der Meldungstext ist auf 30 Zeichen beschr nkt weil dies die ungef hre Anzahl der Zeichen ist die in einer Reihe am dynamischen Teil des TFT Displays ausgegeben werden k nnen ohne dass sie vom Rand verschluckt werden Au erdem spart dies Speicherplatz was in der Mikrocontroller Programmierung eine nicht irrelevante Rolle spielt Alle Fehlermeldungen werden in dem Array errors gespeichert welches insgesamt 10 Status oder Fehlermeldungen zur selben Zeit beinhalten kann E Datentyp f r Fehler oder Statusmeldungen err msg Meldungstext der ausgegeben vird max 30 Zeichen 3 priority Priorit t Wichti igkeit des Fehlers F typedef struct error s char err mag 30 unsigned int priority 0 error t ff Liste der
3. Erkennt ob das Touch Panel ber hrt wurde Abfrage ob gedr ckt wurde Polling TP_Get_Coordinates Parameter unsigned int x_coordinate Farbe von zu zeichnenden Linien unsigned int y_coordinate Breite von zu zeichnenden Linien Return Wert o falls die gelesenen Koordinaten innerhalb der Reichweite des Displays liegen 1 falls nicht Beschreibung Liest die Koordinaten einer Touch Panel Ber hrung und legt diese in bergebenen Variablen ab Koordinaten in daf r vorhergesehene Variablen Tabelle 11 Funktionen der Touch Panel Bibliothek DIPLOMARBEIT LEGONATOR SEITE 55 PROGRAMMIERUNG 6 3Funktionalit ten 6 3 1 Komponenten vorbereiten Bevor die eigentliche Anwendung starten kann m ssen noch einige Vorbereitungen getroffen werden Um das TFT Display und das Touch Panel verwenden zu k nnen m ssen diese zu allererst initialisiert werden wof r die Funktion Initialize definiert wurde 530 void Initialize gt i TFI Init ILI9341 Bbir 320 240 TFI Fill Screen CL_WHITE ME aoc Initio TE TP Initi128 64 0 1 TP Set ADC Threshold 900 E Init Errorsi 540 Abb 42 Code Auszug Initialize TFT LCD intialiseren Die Initialisierung des Displays l uft ber den auf dem Easy TFT siehe 5 1 6 vorhandenen Display Controller in diesem Fall ein ILIg341 Bit Dementsprechend muss auch die richtige Initialisierungs Funktion aus der TFT Library benutzt werden also TFT_Init_ILIg341_8
4. Source Service Access Point LE Datenl nge mitsamt DA SA FC DSAP SSAP LEr Wiederholung der Datenl nge ED End Delimiter DIPLOMARBEIT LEGONATOR Codierung SD1 0X10 SD2 0x68 SD3 oxA2 SD4 oxDC SC oxEs SEITE 91 PROFIBUS Der Telegrammtyp Daten feste L nge kommt in der Praxis selten vor da meist eine dynamische L nge wie man sie unter Daten variable L nge hat bevorzugt wird Die FCS wird durch das Summieren der Bytes innerhalb der L nge berechnet Dabei sichert man jedes Byte mit einer geraden Parit t und sendet es asynchron durch Start und Stop Bits Alle Bytes des Telegramms m ssen ohne einer Unterbrechung bzw Pause zwischen Stop und dem n chsten Start Bit bertragen werden Der neue Beginn eines Telegramms wird durch den Master mittels einer SYN Pause Busruhe von 33 Bit bekanntgegeben Weiters k nnen die Ein und Ausg nge durch Steuerkommandos synchronisiert werden Eine andere M glichkeit ist dass der Sync bzw Freeze Mode aktiv ist Dadurch werden beim Sync Mode die Ausg nge und beim Freeze Mode die Eing nge synchronisiert Schicht Auf der Schicht der Bit bertragung im OSI Referenzmodell sind drei m gliche Verfahren definiert e RS455 RS485 ist eine der drei M glichkeiten die man auf Schicht 1 bei Profibus hat Dieses Verfahren wird genauer unter dem Kapitel 7 2 2 bertragungstechniken erkl rt e Optisch Profibus bietet auf der Schicht 1 weiters die M
5. 10 2 Literaturverzeichnis Benutzerhandb cher ATmega1284P Datasheet http www atmel com images doc2503 pdf ATmega32 Datasheet http www atmel com images doc8059 pdf EasyAVR v7 Benutzerhandbuch http www mikroe com downloads get 1969 easyavr_v7_manual_v101 pdf EasyTFT Benutzerhandbuch http www mikroe com downloads get 1928 easytft_manual_v101 pdf UNI DS6 Benutzerhandbuch http www mikroe com downloads get 1631 unids6_manual_v1o00 pdf BIGdsPIC6 Benutzerhandbuch http www mikroe com downloads get 1091 bigdspic6_manual_v100 pdf Yaskawa Motoman Benutzerhandbuch zur Verf gung gestellt von RK Automatisierungstechnik GmbH Profibushandbuch http profibus felser ch Profibus Wikipedia http en wikipedia org wiki Profibus http upload wikimedia org wikipedia commons o oe Automatisierungspyra mide2 svg http de wikipedia org wiki EIA 485 http de wikipedia org wiki Universal_Asynchronous_Receiver_Transmitter http de wikipedia org wiki Simatic Academic ru http de academic ru dic nsf dewiki 1150547 x technik IT amp Medien GmbH http cdn x technik com upload images 81405 jpg PROFIBUS amp PROFINET International PI http www profibus com technology profibus overview DIPLOMARBEIT LEGONATOR SEITE 109 ANHANG Siemens https cache industry siemens com dl files 555 26098555 img_53881 v1 net_f dl_protokoll_o1 gif http www conrad at ce de product 198180 Siemens SIMATIC S7 300 Einsteigerbox
6. 5 1 2 EasyAVR v7 Das EasyAVR v7 ist ein Entwicklungsboard des Herstellers MikroElektronika Es wurde vor allem wegen seiner hohen Konnektivit t gew hlt da es als Herzst ck der Konstruktion dient und somit Schnittstellen f r alle verwendeten Komponenten aufweisen soll um diese miteinander zu verbinden Geliefert wird es mit einem ATmega 32 Mikrocontroller Ein grofl er Vorteil dieses Boards ist auch dass Komponenten jederzeit ausgetauscht werden k nnen So beherbergt es zum Beispiel mehrere Slots f r verschiedenste Mikrocontroller Im Folgenden werden alle Komponenten des Boards mit denen wir uns besch ftigt haben genauer erl utert EFFE 5e WT SITRER Pren TEATRA pea T u un rs E 4 Bi mar 1 A EE A O er Zr KURZE DEZ WET EAN uw Pou name ERBEN poe TT uP 44 7 V reo M peaa ze uam bai von er eu ur s0 Z ba D ab a nm JU L AFLE 3 3 A T 2g 3 E 03 SESE RAAARE 4247177 7 zuer IrIZEFITTIIITI IT sannin asm a SLEJAS tetd ga up UO Pi sd b ner bezp ONL gas raa gu d m pa ea Abb 12 EasyAvr Komponenten DIPLOMARBEIT LEGONATOR SEITE 23 RESSOURCENPLANUNG Stromversorgung USB Verbindung ber diese Schnittstelle kann das Board mithilfe eines USB Kabels an einen Rechner oder an eine andere Stromquelle angeschlossen werden Sie bietet eine von zwei M glichkeiten wie das Entwicklungsboard mit Strom versorgt werden kann Gleichzeitig dient die
7. RESSOURCENPLANUNG 5 Lieferumfang In diesem Kapitel wird beschrieben was der Auftraggeber vom Diplomandenteam geliefert bekommt 5 5 1 Dokumente Im Lieferumfang sind zwei Dokumente enthalten Eines davon ist diese Diplomschrift Das andere ist eine Abhandlung ber das Profibus Protokoll welches allgemeine Fakten ber das Protokoll und au erdem konkrete L sungsans tze f r gegebene Ausgangslage liefert 5 5 2 Software Der Auftraggeber erh lt vom Diplomandenteam ein C Programm f r einen Mikrocontroller das eine Benutzeroberfl che f r den Industrieroboter auf einem TFT Display realisiert und aufserdem die Interaktion mit der Oberfl che ber ein Touch Panel erm glicht SEITE 46 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG 6 Programmierung Eine der zwei Hauptbesch ftigungen bei unserer Diplomarbeit war die Programmierung eines Mikrocontrollers Dieser ist dann dazu in der Lage eine graphische Benutzeroberfl che auf einem TFT Display darzustellen und Benutzereingaben ber ein Touch Panel zu verwalten Diese Benutzeroberfl che soll sp ter die Bedienung des Industrieroboters vereinfachen In diesem Kapitel wird das daf r geschriebene Programm genau erkl rt 6 1Programmspezifikationen Das Programm wurde in mikroC Pro for AVR siehe 5 2 1 f r den Mikrocontroller ATmega1284P geschrieben wobei dieser dank der Entwicklungsumgebung jederzeit ausgetauscht werden kann ohne viel am Programm ndern zu m ssen Er l
8. r das Senden und Empfangen der Telegramme gehandhabt Ver ndert werden die Telegrammdaten allerdings von ihm nicht Dies geschieht auf dem Raspberry Pi welcher die Funktion des DP Masters innehat Der Quellcode f r den AtMega883 befindet sich im Projektordner unter firmware Die Kosten f r die Hardwarekomponenten belaufen sich in etwa auf 60 Euro um einen Master f r dieses Projekt zu realisieren 7 4 2 Single Chip Profibusschnittstelle Der Anybus IC f r Profibus welcher von HSM Industrial Networks GmbH entwickelt wurde ist eine Single Chip Schnittstelle Es ist eine vollst ndige Profibus DP Schnittstelle welche nur 8cm grof 3 ist Darauf vorhanden ist Abb 93 Anybus IC ein Profibus Protokollchip sowie ein Flash und RAM Speicher Weiters sind auf dem Board analoge Schnittstellen vorhanden wie zum Beispiel Optokoppler DC DC Wandler und Bustreiber Der vorhandene Mikroprozessor regelt automatisch den Profibus Busverkehr Auf erdem kann der Anybus IC entweder alleine oder in Kombination mit einem externen Mikroprozessor betrieben werden Wenn das Ger t einen eigenen Mikroprozessor hat kann Anybus IC den Ger teprozessor entlasten als Profibus UART arbeiten und die gesamte Profibus Protokollverarbeitung bernehmen DIPLOMARBEIT LEGONATOR SEITE 97 PROFIBUS Die maximale Profibus Datenbreite von 128 Byte Input und 128 Byte Output sowie 926 kbit s 12 Mbit s Baudraten werden unterst tzt Der Any
9. 30 d Info Symbol rurde gedr ckt if x_coord 2 5 gt 230 amp amp X_coord 2 5 lt 260 Draw Details Window ff Modus 5Symbol rurde gedr ckt ifl x_coord 2 5 gt 260 gs _coord 2 5 lt 230 Abb 80 Code Auszug Benutzereingabe Statusleiste Dementsprechend werden wieder die verschiedenen Ansichten gezeichnet z B das Details Window bei Druck des Info Symbols SEITE 78 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG Befindet sich die Ber hrung seitens des Benutzers weder in der Button noch in der Statusleiste so kann sie nur mehr im dynamischen Teil des Displays erfolgt sein In diesem Fall wird es ein wenig komplizierter denn da sich der dynamische Teil stets ndert muss zuerst einmal herausgefunden werden in welchem Fenster man sich gerade befindet da jedes Fenster andere interaktive Elemente z B Buttons darstellt und daher andere Fl chen aufweist die auf Ber hrungen reagieren sollen Zur Bestimmung der aktuellen Ansicht sind Konstanten f r alle m glichen Ansichten definiert worden Die Variable current_window gibt dabei das aktuelle Fenster an aktuelles Fenster 0 Startfenster 1 5Setzplatte 40 2 Betriehbsmodus 3 Status u 4 Details G Fehler r gdi F define MAINFINDOW 0 E definse FLATERINDOR 1 7 define MODEFINDOW 2 7 defins STATUSWINDOR 3 s defins DETAI Ch 50 defins ERRORFINDOR 5 char current window 0 Abb 81 Code Auszug Fenste
10. 320 240 CL WHITE CL WHITE Be ADC i current window DETAILSWINDOW x x T Button 870 E cansp i Auflistung Details amp F Compact_Flash TFI_Set_Font TFT_defaultFont dark teal FO HORIZONTAL F Compact_Flash_FAT16 TFI_Write_ Text Details 90 35 E F Conversions f TFT Write Text verwendete Bauteile 100 70 F C Math 875 sprintf buffer c SE C Stdib TFT Write Text buffer 280 70 z E F C_S tring ll E E C_Type Messages E Quick Converter H E EEPROM J Errors Z Warnings J Hints EL SL E FLASH Line Message No Message Text Unit E Glcd 0 1144 Static RAM bytes 888 Dynamic RAM bytes 15496 Static RAM bytes 888 Dynamic RAM byb FI eicd_Fonts 0 1144 Used ROM bytes 66485 54 Free ROM bytes 56395 46 Used ROM bytes 66485 54 Free ROM U Keypad4x4 Project Linked Successfully MotomanGUI_TFT mcpav 2 inked in 109 m Abb 28 MikroC Pro for AVR Ansicht Im Folgenden werden einige n tzliche Zusatzfunktionalit ten von mikroC Pro for AVR genauer erl utert SEITE 36 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG 5 2 1 2 Library Manager Mithilfe des Library Managers lassen sich die mitgelieferten Bibliotheken von MikroElektronika jederzeit mit einem Klick hinzuf gen Dazu hakt man einfach jene Bibliotheken an die man ins Projekt einbinden will Library Manager Library Manager Er aE uns wh aal Bus E m
11. 6ES7312 5BEo3 4YBo 24 VDC https support industry siemens com cs document 26098555 Ic de WW Michael B sch www bues ch cms hacking profibus html HSM Industrial Network GmbH http www anybus de products abic_profibus shtml http www feldbusse de Profibus Profibus DP shtml Profibushandbuch http profibus felser ch http www profibus felser ch einfuehrung profidp pdf Texas Instruments http www ti com cn cn lit wp spry ss5b spry ssb pdf http www ti com tool tmdssk3358 2 HTW Dresden http wwwa2 htw dresden de huhle micros MC Docs profibus pdf Fritz K bler GmbH https www kuebler com PDFs Feldbus_Multiturn specification_DP pdf https manuel mausz at Google Books https books google at books id N8huAnJjJ bwC amp pg PAssg amp dq funktionen dpm2 amp hl de amp sa X amp ei pyUMVaTzIMGqywP vIiCYDg amp ved 0CB4O6AEWAA v onepage amp q funktionen 20odpm2 amp f false PBMaster Tran Duy Khanh http www pbmaster org de index pl action patents DKE Deutsche Kommission Elektrotechnik Elektronik Informationstechnik in DIN und VDE https www dke de de Service Nachrichten documents typz3profibus pdf SEITE 110 DIPLOMARBEIT LEGONATOR ANHANG Sonstiges Wikipedia http de wikipedia org http en wikipedia org genutzt f r 5 3 7 und 10 1 Dokumentation der mikroC Pro vor AVR Libraries TechTerms com http techterms com definition bitmap Newhaven Display International Inc http www newhavendispla
12. RESSOURCENPLANUNG 5 3 2 GanttProject GanttProject ist eine freie Anwendung zur Erstellung von Gantt Diagrammen und zur Ressourcenverwaltung f r Projekte Verwendet wurde es f r die Erstellung eines Gantt Plans der alle Meilensteine beinhaltet A GanttProject Zeitplan vagarl T a C enga Projekt Bearbeiten Ansicht Vorg nge Ressourcen Hilfe Schlie en 7 e s uche lt Ctri F gt Gantt Ressourcendiagramm Vergr ern Verkleinern Heu v R ckw rts Vorw rts Kritischen Pfad anzeigen Basispl ne lt lt GANTT eS Feb 2015 M r 2015 Apr 2015 project zz 9 Woche 10 Woche 11 Woche 12 Woche 13 Woche 14 Woche 15 Vorgang Anfang Ende 5 02 03 15 09 03 15 16 03 15 rnes 23 03 15 30 03 15 06 04 15 Doku_Christina 26 02 15 26 02 15 Doku_lIrene 26 02 15 26 02 15 Programmierung GUI TFT 27 02 15 27 02 15 Doku_Auftraggeber 27 02 15 27 02 15 m Doku_Kurzbeschreibung 27 02 15 27 02 15 A Doku_Abstract 28 02 15 28 02 15 Doku_Projektumfeld 05 03 15 05 03 15 I Doku_Anforderungen 09 03 15 09 03 15 I Programmierung GUI GLCD 13 03 15 13 03 15 Abhandlung Profibus 13 03 15 13 03 15 u Doku_Profibus 14 03 15 14 03 15 Versuchsaufbau Profibus 20 03 15 20 03 15 O Doku_Projektauftrag 20 03 15 20 03 15 Doku_Ausgangslage und Zielsetz 20 03 15 20 03
13. Roboters selbst Automatisiert werden meistens nur einzelne T tigkeiten wie etwa ein einzelner Verarbeitungsschritt eines Produktes am Fliel band Ein Industrieroboter alleine ist im Normalfall nicht f r die Verarbeitung eines ganzen Produktes zust ndig Stattdessen werden mehrere Roboter hintereinander geschaltet die alle einen einzigen Arbeitsschritt erledigen Folglich ist es schwer eine Funktion f r den Roboter zu finden die auf einem Messestand das Interesse von Besuchern weckt und nebenbei auch noch einen bleibenden Eindruck hinterl sst Wieder ein anderes Problem ist die Bedienung des Roboters da die Steuerung eines einzelnen Industrieroboters meistens manuell erfolgt und Laien meist nicht gut damit umgehen k nnen DIPLOMARBEIT LEGONATOR SEITE 11 EINLEITUNG 3 5 1 2 L sung Die L sung des Problems stellt eine transportable Zelle dar in der ein Yaskawa Motoman und alle f r seine Funktion ben tigten Komponenten bereits fertig verbaut und verkabelt sind So dauert der Aufbau einer derartigen Installation an einem Veranstaltungsort nur mehr wenige Minuten da die Zelle als Ganzes von einem Ort zum anderen gebracht werden kann Durch die Mobilit t werden aulSerdem weniger Personen f r den Aufbau des Messestands ben tigt Um nun das Publikum f r sich zu gewinnen soll der Roboter live das Firmenlogo mittels Lego steinen auf eine Lego setzplatte aufbauen Die fertig best ckten Setzplatten k nnen dann von Veranstaltung
14. als Antwort Die Bedarfsdaten bertragung kann sowohl mit einem Klasse 1 Master als auch mit einem Klasse 2 Master zu dem Slave funktionieren Wird einer der Klasse 2 verwendet muss vor dem ersten Read Write Dienstes noch eine C2 Verbindung durch den Initiate Dienst erfolgen e DP V2 Bei DP V2 wird der isochrone Austausch der Daten der Slave Querverkehr Kommunikation zwischen Slaves sowie die Taktsynchronisation erm glicht Dies ist vor allem in der Fertigungstechnik und der Robotersteuerung zu finden Schicht 2 Auf der Sicherungsschicht des OSI Referenzmodells ist das wie bereits weiter oben erw hnte FDL zu finden Dies arbeitet mittels einem hybriden Zugriffsverfahren Zusammengesetzt ist dies aus dem Token Passing und dem Master Slave Verfahren SEITE QO DIPLOMARBEIT LEGONATOR PROFIBUS Master Slaves Token Ring Logik Abb 90 Hybrid Zugriffsverfahren Weiters k nnen verschiedene Telegrammarten verwendet werden welche durch verschiedene Startdelimiter unterschieden werden k nnen Telegrammart Telegrammaufbau Keine Daten SD DA SA FC FC5 ED Daten variable SD2 LE LEr SD2 DA SA FC Lange PDU FCS ED Daten feste SD3 DA SA FC PDU FCS ED L nge Token SD4 DA SA Kurzquittung SC Tabelle 16 Telegrammtypen Legende SD _ Startdelimiter DA _ Destination Address SA _ Source Address FC Function Code FCS Frame Check Sequence DSAP Destination Service Access Point SSAP
15. angegeben und in den Projekteigenschaften definiert Frequency 20 000000 MHz Abb 31 Project Settings Aufgrund der Projekteigenschaften k nnen dann die Header Dateien der Bibliotheken von MikroElektronika an den entsprechenden Mikrocontroller angepasst werden Auf erdem werden beim Kompilieren Berechnungen zum Speicher des Mikrocontrollers durchgef hrt So erh lt man einen guten berblick wie viel Speicher derzeit vom Programm belegt wird und wie viel noch zur Verf gung steht Reicht der Speicher des Mikrocontrollers nicht aus wird dies ebenfalls von der Entwicklungsumgebung durch einen Kompilierfehler mitgeteilt Messages v Errors Warnings v Hints Line Message No Message Text 0 1144 Static RAM bytes 888 Dynamic RAM bytes 15495 0 1144 Used ROM bytes 66485 54 Free ROM bytes 56395 46 0 125 Project Linked Successfully n 17A linked in 109 me Abb 32 Speicherberrechnung mikroC SEITE 38 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG 5 2 2 AVRFlash Der AVRFlash Programmer nutzt den mikroProg on board Programmer siehe Kapitel 5 1 2 EasyAVR v7 um Schreibe und Lesezugriffe auf den Speicher des Mikrocontrollers durchzuf hren Damit wird das Programm auf den Mikrocontroller geladen ET mikroElektronika AVRFLASH v2 14 File Device Buffer Windows USB About History LOCK Bits Mode 1 sieomode fEs mode Device frequency MHz 20 0 Read Write No memo
16. die Hardwarekonfiguration jederzeit durch Bet tigen eines Schalters ver ndert werden In unserem Fall sind die notwendigen Schalter f r Hintergrundlicht f r das TFT Display sowie f r das Einlesen von Koordinaten vom Touchpanel aktiv wie die folgende Abbildung zeigt Da n Abb 13 Dip Switch Einstellungen 5 Mikrocontroller Sockets Wie der Abb 12 EasyAvr Komponenten zu entnehmen ist befinden sich hier verschiedenste Schnittstellen f r verschiedenste Mikrocontroller F r den ATmega 1284P steht uns beispielsweise der Socket DIP4oB zur Verf gung der die richtige Anzahl an Pins f r diese Art von Mikrocontroller bereitstellt Dank der mikroProg Technologie lassen sich die Mikrocontroller jederzeit austauschen ohne grof sartig etwas an der aktuellen Konfiguration ndern zu m ssen 6 GLCD Socket Dieser Socket bietet alle notwendigen Konnektoren f r ein GLCD Display und kann auch f r ein TFT Display verwendet werden Um das Display zu betreiben m ssen die entsprechenden Dip Schalter richtig eingestellt werden siehe oben Links neben dem GLCD Socket befindet sich auf erdem ein Anschluss f r ein Touchpanel DIPLOMARBEIT LEGONATOR SEITE 25 RESSOURCENPLANUNG 5 1 2 1 Alternativen zu EasyAVR v7 Eine Aufgabe dieser Diplomarbeit war die Recherche geeigneter Hardware Komponenten Bei der Wahl der Steuerplatine haben wir uns gemeinsam mit dem Auftraggeber letztendlich f r das EasyAVR entschieden Neben diesem standen noc
17. ergibt sich aus der bergebenen L nge bzw H he die durch die Anzahl an platzierbaren Bausteinen Breite in Bausteinen L nge in Bausteinen dividiert wird void Draw Flate int x int y int width int height int plate width int plate height M int i j int tile width width plate width int tile height height plate height for i 0 i lt plate_height i Ci sel M for j 0 j lt plate width j Abb 58 Code Auszug Draw _Plate Gr en Anschlief end wird das Setzplattenarray dessen Gr e durch die Parameter plate_width amp plate_height bestimmt wird in zwei Schleifen durchlaufen SEITE 68 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG In den Schleifen wird der Wert an der jeweiligen Position im Array ermittelt Anhand dieses Wertes werden dann die verschiedenen Rechtecke gezeichnet Ein Farbverlauf Rechteck im Falle einer 1 ein sehr helles Rechteck im Falle einer 1 und ein einfarbiges umrahmtes Rechteck im Falle einer o switch plate j i plate width M Feld muss nicht besetzt rerden E a case 1 u Fill Rectangle x j tile width y i tile_height u x j tile width tile width I y i tile height tile height ae ae light_teal lighter_tealj sso n break l M case 0 Fill Rectangle x j tile width y i tile height az x j tile width tile width rn y i tile height tile height TE oo o o CL TEAL light teal were Fill
18. gespeicherten Nummer entspricht Danach werden die Informationen bez glich der projektierten Module an den Slave bertragen und gepr ft Zur Kommunikation kommt es dann nur wenn die physikalisch verf gbaren Module auch mit den eingestellten Modulen bereinstimmen Die Verifikation eines erfolgreichen Kommunikationsaufbaus erfolgt durch das Senden der angeforderten Diagnosedaten Fehlerhafte Parameter bzw Konfigurationsdateien werden durch passende Errors in der Profibus Standarddiagnose dem Master vom Slave angezeigt 7 2 4 2 Azyklische Kommunikation Im Zentrum der azyklischen Kommunikation steht der Master welcher den Wunsch hat Ger teparameter der Slaves zu lesen oder zu schreiben Durch diese Ger teparameter kann ein Ger t von einem zentralen Bedienungswerkzeug eingestellt und an spezielle Aufgaben angepasst werden In Bezug auf die azyklische Kommunikation gibt es zwei Kommunikationskan le welche die Bezeichnung MS und MS2 Kanal besitzen MS Kommunikation ist nur dann m glich wenn zwischen Master und Slave ein zyklischer Austausch der Daten erfolgt Da ein Slave zu einem Zeitpunkt nur mit einem Master zyklisch kommunizieren kann folgt dass er auch nur eine MS1 Verbindung haben kann Diese Verbindung wird bereits implizit mit der zyklischen Kommunikation durch entsprechende Parameterdaten aufgebaut berwacht wird die MS Verbindung durch die Watchdog Zeit Bei der MS2 Verbindung ist es f r den Slave nicht
19. glichkeit zur optischen bertragung Dies erfolgt mittels Lichtwellenleiter wo dann Stern Bus oder Ring Topologien zum Einsatz kommen Die Ring Topologie kann sogar redundant verwendet werden Das heift dass das Netzwerk bis zu einem gewissen Grad Ausfall sicherer gemacht werden kann da notfalls die Ersatzleitung einspringt Durch die optische Variante der bertragung k nnen sehr lange Distanzen realisiert werden welche bis zu 15km weit reichen k nnen e MBP MBP steht f r Manchester Bus Powered Dabei werden Daten und die Speisung der Feldger te ber dasselbe Kabel abgewickelt Durch Begrenzung der Leistung kann die Verwendung auch in SEITE 92 DIPLOMARBEIT LEGONATOR PROFIBUS explosionsgef hrdeten Umgebungen erm glicht werden Ist dies der Fall spricht man von einem eigensicheren Bereich In solchen Bereichen haben die Buskabel mit einer anderen Spezifikation als Kabeltyp A RS485 einen blauen Mantel Bei MBP kann die Bustopologie eine L nge von bis zu 1 9 km besitzen und die Verzweigungen zu den Ger ten 120m lang sein Die Bitrate ist bei MBP auf 31 25 kbit s festgelegt Haupts chlich verwendet man diese bertragungstechnik bei der Prozessautomation mit PROFIBUS PA 7 2 4 Kommunikation bei PROFIBUS Die PROFIBUS Ger te kommunizieren mittels PROFIBUS DP das f r alle Anwendungen ein einheitliches Kommunikationsprotokoll zur Verf gung stellt Es erlaubt sowohl zyklische als auch azyklische Kommunikation und
20. notwendig sich in einer zyklischen Kommunikation zu befinden Weiters kann sie auch mit mehr als nur einem Master eingegangen werden Der Aufbau erfolgt explizit durch den SEITE 94 DIPLOMARBEIT LEGONATOR PROFIBUS Master Dieser baucht in der Regel nur die betroffene Ger teadresse wissen und nicht wie bei der zyklischen Kommunikation die Ger testammdaten Die Verbindung verf gt aulserdem ber eine separate Zeit berwachung Die MS2 Verbindung wird geschlossen wenn sie ber einer festgelegten Zeit nicht verwendet wird Dienste f r den azyklischen Datenverkehr zwischen DPM und den Slaves lesen eines Datenblocks des Slaves durch den Master Write schreiben eines Datenblocks des Slaves durch den Master Alarm Der Slave sendet einen Alarm zum Master welcher dann best tigt wird Solange die Best tigung nicht erhalten wurde kann der Slave keine weiteren Alarmmeldungen senden Alarm_Ack Best tigung der Alarmmeldung Status senden einer Statusmeldung an den Master keine Best tigung Tabelle 17 Dienste azyklischer Datenverkehr 7 3Problematik 7 3 1 Keine Bibliotheken Profibus ist f r die Kommunikation zwischen dem Roboter und dem Mikrocontroller notwendig da der Roboter nur ber Profibus nach aufsen hin kommunizieren kann Der Plan war den Mikrocontroller als Master und den Roboter als Slave zu konfigurieren Zu diesem Zeitpunkt war noch nicht klar welche Ausma e dies annehmen w rde denn zu Beginn d
21. uft auf einer Frequenz von 20 MHZ 6 2Bibliotheken F r die Programmierung wurden die speziell f r Mikrocontroller optimierten Bibliotheken von MikroElektronika verwendet die bereits im Lieferumfang von mikroC Pro for AVR enthalten sind Diese sind zwar halbwegs bersichtlich wenn auch wenig genau dokumentiert doch leider steht kein Source Code zur Verf gung mit dessen Hilfe die Funktionsf higkeit der Library Funktionen kontrolliert werden k nnte Wenn die erwarteten Werte herauskommen kann die Funktion verwendet werden und wenn nicht muss nach einem alternativen L sungsansatz gesucht werden Dies hat dazu gef hrt dass w hrend der Programmentwicklung zwangsweise nach einem Try and Error Ansatz vorgegangen wurde da bei der erstmaligen Verwendung einer Funktion nicht immer bekannt war ob sie berhaupt mit den gegebenen Input Parametern funktioniert bzw ob sie berhaupt die richtigen Ausgabewerte liefert DIPLOMARBEIT LEGONATOR SEITE 47 PROGRAMMIERUNG IF TFT Display Library mikro PRO for AWR Libraries gt Hardware Libraries gt TFT_Dot Prototype void TFT Dot int x int y unsigned int color Returns Nothing Description Draws a dot on the TFT at coordinates x y Farameters a x dot position on x axis a y dot position on y axis color color parameter Valid values Value Description CL AQUA Aqua color CL BLACK Black color CL BLUE Blue color zi CL FUCHSIA Fuchsia color Abb 41 Bei
22. 0nnnnnennnnnennnnnnnnnnnnn nennen nennen nnnnnn nennen 71 Abb 68 Modus Fenster Tipp Betrieb 2244444444400000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nenne 71 Abb 70 Code Auszug Greifer Konstanten uunnnssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 72 Abb 69 Status Bildschirm 200002222200snsssnnennsnnneennnnnnnnnnnnnnnnennnnnnnennnnnnnnnnnnnnnnennennenn 72 Abb 71 Code Auszug Details Variablen 22222444444404044HHnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennee nen 73 Abb 72 Info Symbol 2 2000000000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnenn 73 A057 3 DELAllB Asch in en a ee een ihren 73 Abb 74 Code Auszug Struktur f r Fehlermeldungen 444444nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 74 Abb 75 Code Auszug lnit_Errors 000004444nnnnennnnnnnnnnnnnnnnnenennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nn 74 ABD 79 Foner sYMDO ee 76 Abb 77 Fehlermeldungs Bildschin een 76 Abb 78 Schleife f r Benutzereingaben 2224444444nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 77 Abb 79 Code Auszug Benutzereingabe Buttonleiste ssssssesssssssrrrrnttttrrrrrrrreeeessnrnnrnn nn 78 Abb 80 Code Auszug Benutzereingabe Statusleiste uu4nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 78 Abb 81 Code Auszug Fensterkonstanten 444444444nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 79 Abb 82 Code Auszug Benutzereinga
23. 1 1 1 2 2 2 2 2 2 2 2 11 0 s E E E 9 2 2 2 0 1 10 L l mL L Lau 0 1 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 ern 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Abb 49 Bitmap f r Warndreieck Das Bild hat eine Aufl sung von 29x29 weshalb das Bitmap Array 841 29x29 Stellen ben tigt Die Nullen repr sentieren einen transparenten Hintergrund w hrend die Werte 1 amp 2 jeweils verschiedene Farben darstellen DIPLOMARBEIT LEGONATOR SEITE 63 PROGRAMMIERUNG Damit diese Bitmaps nun auf dem TFT Display als Bilder dargestellt werden gibt es die Funktion Draw_Bicolor_lmage die in folgender Tabelle grob und sp ter noch genauer beschrieben wird Draw_Bicolor_lmage Parameter intx_upper_left X Koordinate der linken oberen Ecke von der aus das Bild gezeichnet werden soll int y_upper_left Y Koordinate der linken oberen Ecke von der aus das Bild gezeichnet werden soll unsigned int color erste Farbe im Bild unsigned int color2 zweite Farbe im Bild intimg_height H he des Bildes intimg_width L nge des Bildes unsigned int to_draw Bildkonstante die das zu zeichnende Bild repr sentiert Return Wert Nichts Beschreibung Zeichnet ein zweifarbiges Bild anhand einer bergebenen Bildkonstante von einer Position aus die durch die bergebenen Koordinaten gekennzeichnet wird Tabelle 12 Funktionsbeschreibung von Draw_Bicolor_lmage Damit die Methode
24. 15 zz Bilder Roboteransicht 25 03 15 25 03 15 Doku_C 25 03 15 25 03 15 L Doku_Benutzerhandbuch 25 03 15 25 03 15 O Signale Weiterleiten Betriebsmodi 30 03 15 30 03 15 E Doku_Kostenplanung 01 04 15 01 04 15 E Doku_Res mee 01 04 15 01 04 15 es Doku_Lieferumfang 03 04 15 03 04 15 E Doku_Hardware 06 04 15 06 04 15 Doku_Sofiware 06 04 15 06 04 15 1 Doku_Projektablauf 08 04 15 08 04 15 EI Doku_Danksagung 20 04 15 20 04 15 E Korrektur lesen 20 04 15 20 04 15 v Abgabe 22 04 15 22 04 15 RSS Abb 37 Ganttplan ab Februar 5 3 3 Google Drive Google Drive ist ein Web Dienst von Google zur Speicherung und Synchronisierung von Dateien Benutzer k nnen Dateien in der Cloud speichern und f r andere freigeben Verwendet wurde der Dienst f r eine gemeinsame Dateiablage auf die alle am Projekt beteiligten Personen Zugriff haben Abb 38 Google Drive Logo 5 3 4 GIMP GIMP GNU Image Manipulation Program ist ein kostenloses und freies Bildbearbeitungsprogramm unter der GNU Lizenz Es enth lt viele n tzliche Tools und Funktionen zur Bildbearbeitung und wurde f r das Modifizieren von Grafiken f r diverse Projektpr sentationen Dokumente und diese Diplomschrift verwendet Ein h ufiger Verwendungszweck war etwa das Transparent machen von Hintergr nden Abb 39 GIMP Logo DIPLOMARBEIT LEGONATOR SEITE 41 RESSOURCENPLANUNG 5 4Kostenplanung 5 4 1 Budget Die Diplomarbeit
25. 4 1 5 Zielsetzung Erstens kommt es anders und zweitens als man denkt WILHELM BUSCH Zu Projektbeginn wurde eine Reihe von Aufgaben definiert die das Diplomarbeitsteam zu erf llen hatte Im Laufe der Diplomarbeit hat sich jedoch herausgestellt dass ein gewisses Ziel namlich die Ansteuerung des Roboters ber das Profibus Protokoll in gegebener Zeit und mit gegebenen Ressourcen nicht zu erf llen war Dieses Problem wurde erst bekannt als sich die beiden Diplomanden im Zuge von Recherchen mit dem Protokoll besch ftigten Die Hauptproblematik im Umgang mit Profibus besteht darin dass das Profibus Protokoll bis vor kurzem von drei Patenten von Siemens und Endress Hauser gesch tzt war Dementsprechend war eine offene Implementierung des Protokolls aus rechtlicher Sicht nicht m glich Folglich gibt es keine ausgereiften freien Implementierungen des Busses die das Diplomarbeitsteam f r die Roboteransteuerung verwenden kann Mehr Informationen zur Profibus Problematik k nnen im Kapitel 7 1 Problematik gefunden werden Alternativ dazu k nnten zwar bereits fertige L sungen z B Siemens S7 in Einsatz gebracht werden allerdings w rden dadurch sehr hohe Kosten entstehen Deshalb haben sich die beiden Diplomanden gemeinsam mit dem Auftraggeber dar ber geeinigt die urspr ngliche Zielsetzung der Diplomarbeit im Sinne des Auftraggebers abzu ndern 4 1 5 1 Urspr ngliche Zielsetzung Zu Projektbeginn wurden folgend
26. 4P besitzt eine Taktfrequenz von 20 MHZ 5 1 5 GLCD Display Das GLCD Display wurde von Wolfgang Schinnerl zur Verf gung gestellt Es hat eine Aufl sung von 128x64 Pixeln Grol3e Nachteile sind allerdings die geringe Aufl sung und die M glichkeit nur zwei Farben abzubilden weshalb die Benutzeroberfl che f r das TFT Display programmiert wurde F r die ben tigten grafischen Elemente besonders f r Schriftz ge wie etwa die Beschriftung der Buttons oder Fehlermeldungen w re hier einfach nicht genug Platz gewesen Abb 23 GLCD DIPLOMARBEIT LEGONATOR SEITE 33 RESSOURCENPLANUNG 5 1 6 EasyTFT Board Dieses Board des Herstellers MIKIOEIEREIONIKE beherbergt ein TFT Display mit einer Aufl sung von 320x240 Pixeln das von einem ILIg3z1 Display Controller betrieben wird Au erdem enth lt es GLCD kompatible Konnektoren weshalb es auch in den GLCD Socket unseres Entwicklungsboards siehe Kapitel 5 1 2 EasyAVR v7 passt Das Display kann 262 verschiedene Farben darstellen Somit ist es was die Aufl sung und Farbdarstellung betrifft dem GLCD _ f casyTFT ac _ i Display weit berlegen Es wurde W ebenfalls vom Auftraggeber bezahlt Abb 24 EasyTFT Das EasyTFT h tte zwar einen Touch Screen integriert dessen Benutzung w rde aber im Zusammenhang mit dem EasyAVR v7 zus tzliche L teing nge erfordern weshalb ein Touchpanel ben tigt wird 5 1 7 Touch Panel Das Touch Panel wurde von Wolfga
27. Echtzeit PROFIBUS Nachrichten bertragung sowie eine Rahmen berpr fung und die Kommunikation mit dem ARM Prozessor Eine der PRUs steuert den on chip UART was eine bertragungsrate von 12Mbaud erm glicht DIPLOMARBEIT LEGONATOR SEITE 99 PROFIBUS Das Starter Kit bietet die M glichkeit schnell mit dem Sitara ARM Cortex A8 AM335x Processor zu starten Es beschleunigt die Entwicklung von intelligenten Ger ten sowie Industrie und Netzwerkanwendungen Die Kosten f r dieses Starter Kit liegen in etwa bei 200 USD SEITE 100 DIPLOMARBEIT LEGONATOR RES MEE 8 Resumee 8 1Zukunftsaussichten Auf die Frage wie es nun mit diesem Projekt weitergeht ob der Roboter eines Tages tats chlich auf Messest nden mit seinen Bauk nsten begeistern wird l sst sich keine eindeutige Antwort geben denn es gibt einige Faktoren die dagegen sprechen Der wohl bedeutendste ist die Profibus Problematik Wie dem Kapitel 7 4 zu entnehmen gibt es durchaus Mittel mit denen sich eine Kommunikation zum Roboter hin aufbauen l sst Nur stellt sich hier die Frage ob sich der Aufwand und die Kosten die man in solche L sungen investiert auch tats chlich auszahlen Fertige L sungen wie die von Siemens oder Texas Instruments bringen einen nicht irrelevanten Kostenfaktor mit sich Die Implementierung des Open Source Projektes von Michael B sch ist zwar halbwegs kosteng nstig allerdings besteht hier keine Gewissheit ob es damit auch ta
28. Gradient Rectangle x j tile width y i tile height zz x j tile width tile width 700 ne y i tile height tile height M dark teal CL TEAL 4 1 Abb 60 Code Auszug Draw _Plate Unterscheidung Um nun das Ergebnis aus Abb 57 Setzplattenbildschirm zu erhalten wird daher folgender Funktionsaufruf ben tigt F ff Platte zeichnen 100x100 900 Fill Rectangle i 102 47 202 147 darkE teal lighter teal F Draw Plate 102 47 100 100 4 4 Abb 61 Code Auszug Draw _Plate Aufruf DIPLOMARBEIT LEGONATOR SEITE 69 PROGRAMMIERUNG 6 3 6 Auswahl des Betriebsmodus Der Industrieroboter soll auf 3 verschiedene Arten betrieben werden k nnen Automatischer Betrieb In diesem Betriebsmodus muss sich der Benutzer nicht darum k mmern wie die Bausteine auf die Setzplatte kommen Der Roboter produziert die Setzplatten automatisch bis ihm die Steine ausgehen er ausgeschaltet wird oder der Betriebsmodus gewechselt wird Manueller Betrieb Wird der Roboter manuell betrieben so wird er nicht durch das Roboterprogramm gesteuert das ihm sagt wie er die Achsen bewegen soll um die Bausteine aufzubauen Stattdessen kann ihn der Benutzer manuell ber das urspr ngliche wuchtige Interface Panel siehe Kapitel 215 1 1 Yaskawa Motoman Industrieroboter bedienen und die Achsen nach Lust und Laune bewegen Tipp Betrieb Befindet sich der Roboter im Tipp betrieb so lassen sich die Bewegungen Schritt f r Schritt ausf hre
29. H here Lehranstalt f r Informatik Machlandstrafse 48 N i A 4320 Perg Iperg Diplomarbeit Legonator Programmierungeinerinteraktiven Benutzeroberfl che f r einen Roboter der mit LEGO baut Eingereicht von Christina Franziska Astleithner Irene St ger Betreut durch DI Gerhard Zweim ller In Kooperation mit j robotic Wo fg an e S C h inn e rl INCREASE YOUR DEGREE OF AUTOMATION RK Automatisierungstechnik GmbH eingereicht an der HTL Perg f r Informatik am 13 Mai 2015 1 Inhaltsverzeichnis Inhalt i Halt Verzeichnis e ee ee ee O 2 Eidesst stlicheiErkl rUNG een 3 Ce EEUN PRRRNERSBERBEERSRERENERURFENEEROEFEENERURFENFEREECRENCEURFENSERENFERNCEURFENEERERFERNCENRFENEEREEFERECENEFENEEEERERESER 4 31 KOZDESCWEIDUN essnee r E O E ENE 4 a AD a E T SENENEERERSERRS 5 a TTo e E E E E E E E E EE 6 3 3 1 Christina Franziska Astleithner 20u0s2222uusesnssnnnennsnnnennnnnnnnennnnnneennennn 6 3 3 2 Vene SEO El a ee nee ee 7 3 Projektno ee ee 8 Sa Se ee ee nee 9 3 22 Ben uono lene ee A 9 SOSE AUR JEDET SE FERRUHEERENERUREPBEREEREEEREEEELEHERTUENEERTEEREFEEERSEHEENEEEBECHEREERFTERTEEEENERLEBENEENEBERER 10 35 PIOLCKLSUTE dg ee se eis 11 3 5 1 Diele e ee ee ee ee 11 3 5 2 Zusammenfassung Aufgaben eeeeeneennnnennennnnnnnnnnnennnnnnnnnnnnnnnnn 13 4 Entstehung u444400sssennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnensnnnnnnnnnnnnnnnnn 14 4 1 Ausgangslage und Zielset
30. I Unit Watchdog mer Insiruckion Decoder Analog Control Lines Comparator Direct Addressing Indirect Addressing VO Module WO Module ri EEPROM Abb 19 Blockdiagramm der AVR CPU Architektur Die AVR CPU ist nach der Harvard Architektur aufgebaut Somit sind Programmspeicher und Datenspeicher logisch und physisch voneinander getrennt und es kann auf beide Speicher gleichzeitig zugegriffen werden Die ALU Arithemtic Logic Unit bildet das Herzst ck des Prozessors Sie f hrt die eigentlichen Rechenoperationen aus und braucht daher direkten Zugriff auf die 32 Arbeitsregister Die Operationen im Programmspeicher werden via Single Level Pipelining betrieben Dadurch kann w hrend der Ausf hrung einer Operation bereits die n chste aus dem Programmspeicher geladen werden Selbige CPU befindet sich brigens auch im ATmega32 SEITE 30 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG Flash Programmspeicher In diesem Speicher wird der fertig kompilierte Programmcode abgelegt Auf ihn kann sowohl schreibend als auch lesend von aufsen zugegriffen werden Der ATmega1284P bietet einen Programmspeicher von 128 KB welcher ber ein SPl serielles Interface wiederprogrammiert werden kann Selbstverst ndlich ist dieser Speicher nicht fl chtig Somit bleibt das darin gespeicherte Programm auch nach Abschaltung der Versorgungsspannung enthalten Der Speicher ist in zwei Bereiche unterteilt Einers
31. IBUS 7 Profibus 7 1 Profibus Allgemein Profibus ist die Abk rzung f r Process Field Bus und ist ein Standard in der Automatisierungstechnik Die Entwicklung geht auf ein Projekt des Verbunds in Deutschland 1987 zur ck wo 21 Unternehmen bzw Institutionen an einem Rahmenplan namens Feldbus arbeiteten Der Zweck dieses Projekts sollte die Verwirklichung und Ausbreitung des bitseriellen Feldbusses sein Es gibt drei Varianten des Profibus e PROFIBUS DP Dezentrale Peripherie e PROFIBUS PA Prozess Automation e PROFIBUS FMS Fieldbus Message Specification Da f r die Diplomarbeit nur der PROFIBUS DP relevant ist wird hier auch nur dieser genauer erl utert 7 2 Profibus DP Der Profibus DP arbeitet auf der Feldebene das hei t in der Automatisierungspyramide auf Level 1 Unternehmensebene MES Betriebsebene HMI SCADA Prozess Leitebene SPS Steuerungsebene Aktoren Sensoren Feldebene Fertigung Produktionsprozess Abb 83 Automatisierungspyramide DIPLOMARBEIT LEGONATOR SEITE 81 PROFIBUS Auf dieser Schicht kommunizieren die zentralen Automatisierungsger te Bsp ATmega1284P Mikrocontroller mithilfe einer seriellen Verbindung mit den dezentralen Feldger ten Bsp Roboterarm Bei den DP Grundfunktionen sind die notwendigen Funktionen f r die Kommunikation festgelegt Dar ber hinaus sind auch azyklische Kommunikationsdienste m glich diese werden auch DPV1 Funk
32. ONATOR SEITE 65 PROGRAMMIERUNG 6 3 4 Startbildschirm Der Startbildschirm wird bei Start der Anwendung gleich nach der Kalibrierung des Touch Panels angezeigt Von dort aus l sst sich auf alle anderen Ansichten navigieren Aul erdem zeigt dieser Bildschirm ein simples Bild vom Roboter Abb 53 Startbildschirm 6 3 5 Setzplattenansicht Auf diese Ansicht kann man nur ber den Startbildschirm gelangen Sie dient zur Darstellung der Setzplatte an der der Roboter gerade baut Diese wird durch ein Array repr sentiert das vorerst statisch im Code hinterlegt ist E Setzplatten Array frei 1 belegt 1i soll frei bleiben ei 70 char plate l amp 1 1 1 1 so u 1 0 0 1 1 1 0 0 Abb 54 Code Auszug Setzplattenarray Die Elemente des Arrays k nnen jeweils die Werte o 1 oder 1 belegen 1 steht dabei f r ein freibleibendes Feld o f r ein Feld das noch mit einem Legostein besetzt werden soll und 1 steht f r ein bereits belegtes Feld Ziel ist es alle oer sp ter in 1er zu verwandeln sprich der Roboter sollte alle unbelegten Felder belegen Ein Feld soll jeweils einen 2x2 Noppen Legostein repr sentieren SEITE 66 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG Im linken Bild wird die Setzplatte dargestellt wie sie momentan durch das Setzplattenarray aus dem Code Auszug repr sentiert wird und rechts wird gezeigt wie die fertige Setzplatte aussehen soll wobei die hellblauen St
33. Schicht 7 nur das allernotwendigste Minimum vorhanden sein Im Zuge der Diplomarbeit wurde auch mit Herrn B sch Kontakt aufgenommen und ihm unser Projekt erkl rt Seiner Einsch tzung zufolge m sste dies mit kleinen nderungen f r unser Projekt reichen aber es sei schwer einzusch tzen Aufserdem m sste die GSD Datei des Roboters manuell interpretiert werden da kein GSD Interpreter im Projekt vorhanden ist 7 4 1 1 Voraussetzungen Bevor das Projekt auf dem Raspberry Pi laufen kann wird das py spidev Package ben tigt py spidev ist ein Python Modul zur Verbindung von SPI Ger ten mittels dem spidev Linux Kernel Treiber Weiters muss device_tree auf disable gesetzt werden Es k nnte auch auf enable bleiben allerdings muss dann der AtMega88 Salve statisch in den Raspberry Pi Device Tree eingetragen werden SEITE 96 DIPLOMARBEIT LEGONATOR PROFIBUS Zur Realisierung des DP Masters ist folgende Hardware notwendig e Raspberry Pi PROFIBUS RS 485 converter e Atmel ATmega88 e MAX 3232 RS 232 Tranceiver e RS 232 zu RS 485 Konverter 1 Il In e Punktlochrasterplatine III RS 232 transceiver AtMega 88 Abb 92 Profibus on RaspberryPi Aufbau Raspberry Pi F r die konkrete Konfiguration ist der Schaltplan notwendig Dieser ist im Projektordner unter schematics cp phy pdf zu finden Der AtMega883 fungiert als Teil der OSI Schicht Durch ihn werden die echtzeitrelevanten Funktionen f
34. Unternehmen RK Automatisierungstechnik GmbH wo uns Herr Wolfgang Schinnerl als Ansprechpartner zur Verf gung steht Da die Diplomarbeit im Rahmen der Matura an der HTL Perg abgewickelt wird steht uns seitens der Schule Herr Prof Dipl Ing Gerhard Zweim ller mit Rat und Tat als Betreuungslehrer zur Seite Die beiden Diplomanden die das Projekt durchf hren sind Christina Astleithner und Irene St ger Sie sind auch Verfasser dieser Ausarbeitung SEITE 8 DIPLOMARBEIT LEGONATOR EINLEITUNG 3 4 1 Schule Kontakt HTBLA Perg Machlandstra e 48 4320 Perg T 43 0 7262 539 26 43 0 7262 539 26 6 5 www htl perg ac at HTL PERG Abb 4 HTL Perg von au en Der Ausbildungsschwerpunkt der HTL Perg liegt im Bereich der Informatik Das hei t man besch ftigt sich intensiv mit der Softwareentwicklung wobei in dieser Schule auch wirtschaftliche Aspekte ber cksichtigt werden Ebenfalls wird eine umfassende Allgemeinbildung geboten Durch das 8 w chige Praktikum sowie den zahlreichen Professoren aus der echten Welt wird eine praxisnahe Ausbildung gew hrleistet 3 4 2 Betreuungslehrer Kontakt Gerhard Zweim ller gt lt g zweimueller amp htl perg ac at Herr Prof Zweim ller begleitet uns schon seit der zweiten Klasse im Gegenstand Netzwerksysteme und Verteilte Systeme Da auch unsere Diplomarbeit sehr stark in die Richtung der Kommunikation zwischen verschiedenen Komponenten geht f llt sie dies
35. alb der Button Leiste erfolgt ist Als n chstes muss herausgefunden werden welcher Button bzw ob berhaupt ein Button betroffen ist da sich in der Buttonleiste schlie lich auch Leerr ume befinden DIPLOMARBEIT LEGONATOR SEITE 77 PROGRAMMIERUNG f sin Button aus der Buttonleiste wurde gedr ckt ifliix coard 2 _5 gt 0 amp amp ix cooard 2_5 lt 55 amp amp y coard 3_75 gt 30 TFT Set Font TFI_defaultFont CL WHITE FO HORIZONTAL ff Modus Button wurde gedr ckt if y_coord 3 75 B j Fill Gradient Bectangle 0 30 85 50 light_teal dark teal TFT Write Text MODUS 15 45 Draw Mode Window i ff Status Button rurde gedr ckt ifiiy coord 3 75 gt 100 55 iv coord 3 75 15031 Abb 79 Code Auszug Benutzereingabe Buttonleiste Dann k nnen je nach gedr cktem Button entsprechende Malsnahmen getroffen werden Wird z B der Modus Button gedr ckt wird im dynamischen Teil der Anzeige auf dem TFT Display die Betriebsmodus Ansicht siehe Kapitel 6 3 6 aufgebaut Draw_Mode_Window Neben der Buttonleiste gibt es nat rlich auch noch die Statusleiste Hier kann der Benutzer eines der Symbole dr cken Nach dem gleichen Schema wie bei der Buttonleiste wird zu allererst abgefragt ob sich die Ber hrung in der Statusleiste befindet Dann wird anhand der gedr ckten Symbole unterschieden ein Symbol aus der Statuslei ste rurde gedr ckt else if y_coord 3 75 gt 0 ss y_coord 3 75 lt
36. ar triangle bmp 841 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 30 10 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 i0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 mj F m kJ F e H 1 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0 0 0 1 2 2 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 BE 0 0 0 0 0 0 0 0 0 0 1 1 2 2 1 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 1 2 2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 2 2 1 1 1 2 2 1 1 0 0 0 0 0 0 0 0 0 F D 0 0 0 0 0 0 0 0 1 2 2 2 1 1 1 2 2 2 0 0 0 0 0 0 0 0 0 5 D 0 0 0 0 0 0 0 1 1 2 2 2 1 1 1 2 2 2 1 1 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 1 2 2 2 2 1 1 1 2 2 2 2 1 0 0 0 0 0 0 0 0 TAR i0 0 0 0 0 0 0 1 1 2 2 2 2 1 1 1 2 2 2 2 1 1 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 0 0 0 0 0 0 0 7 0 0 0 0 0 0 1 1 2 2 2 2 2 1 1 1 2 2 2 2 2 1 1 0 0 0 0 0 0 7 E E E e E e s 0 0 0 0 0 1 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 1 0 0 0 0 0 7 ttt ya Da ee ae re re a E t Lye Lie 1 Aal Le ae a IE re FE er a a a a Le nal ua LiAl lie 7 lol al ee aa a era a ir lie Lie 7 IB 2 2 202 2 2 272 2 8 1 1 2 2 2 2 2 2 2 2 2 1 0 0208 F L ua u A u an a a E E a T llir TER 0 0 1 2 2 2 2 2 2 2 2 1 1 1 1
37. aufgetretenen Fehler oder Statusmeldungen error t errors 10 Abb 74 Code Auszug Struktur f r Fehlermeldungen Um mit diesem Array arbeiten zu k nnen muss es zuallererst einmal initialisiert werden Daf r gibt es die Funktion Init_Errors die zu Beginn des Programmes aufgerufen wird void Init Errors 500 I int i error t std error std error priority 255 for i 0 i lt sizeofl errors sizeof errors 0 i TE i errors i std error WE Abb 75 Code Auszug Init_Errors SEITE 74 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG Dabei werden alle Elemente des Arrays mit einem sogenannten Standard Error belegt std_error Dieser hat eine Priorit t von 255 und repr sentiert ein leeres Error Element In Programmiersprachen die auf h heren Ebenen arbeiten wie etwa Java oder C k nnte man sich diesen Vorgang ersparen da hier alle Variablen nicht elementarer Datentypen ab dem Zeitpunkt ihrer Definition mit dem Wert null versehen werden In C hingegen weils man nicht was in einer Variable steht die noch nicht definiert worden ist Darum braucht man einen Wert der ein noch nicht initialisiertes Element beschreibt Ansonsten w rde man beim sp teren Arbeiten mit diesem Array nicht wissen ob sich an den jeweiligen Positionen tats chlich g ltige Werte befinden Der Standard Error ist mit dem Wert O vergleichbar der in C bei Zeichenketten das Ende eines Strings bzw das Ende eines Char Array
38. ay und ist eine Art von LCD Display das die TFT Technologie nutzt um die Bildqualit t gegen ber gew hnlichen LCD Displays zu verbessern TFT Displays werden zum Beispiel bei Computerbildschirmen Handys Spielekonsolen und Navigationssystemen verwendet Try and Error Try and Error Versuch und Irrtum ist eine Methode der Probleml sung bei der so lange verschiedene L sungsm glichkeiten probiert werden bis die gew nschte L sung gefunden wird USART UART USART oder UART steht f r Universal Serial Asynchronous Receiver Transmitter ist eine Hardware Komponente die Daten zwischen parallelen und seriellen Formaten bersetzen kann UART wird blicherweise in integrierten Schaltkreisen eingesetzt und wird f r die serielle Kommunikation ber den seriellen Port eines Computers oder Peripherieger ts verwendet Heutzutage sind UARTs blicherweise auch in Mikrocontrollern inkludiert Hamming Distanz Als Hamming Distanz wird die Anzahl der unterschiedlichen Stellen zwischen zwei Bl cken Codew rter mit fester L nge genannt Sie wird zur Fehlererkennung und korrektur verwendet Das wird realisiert indem Dateneinheiten die ber eine bertragungsstecke empfangen wurden mit g ltigen Zeichen verglichen werden Eine m gliche Korrektur erfolgt mit dem Wahrscheinlichkeitsprinzip Ob tats chlich eine Erkennung bzw Korrektur stattfinden kann wird durch die Hamming Distanz bestimmt SEITE 108 DIPLOMARBEIT LEGONATOR ANHANG
39. ben im dynamischen Teil des Layouts 80 Abb 83 Automatisierungspyramide uuuunnnsssesssnsnnnnnnnnnnnnenennnnnnnnnnnnnnnnnnnnnnnnnnnnnennee nn 81 ADD 84 Profibus Technologien nee un 85 DIPLOMARBEIT LEGONATOR SEITE 115 ANHANG Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb 85 RS485 Transmitter uesssenssenesenennnennnennnennnennnennnennnennnennnennnenenenenennnenenenenenenenen nme 86 BO R9495 RECENT ssrin reenn Nenen Enri ee 86 87 UART Frame usuuessusssensenenennunenennnnenennnnnnennnnnnennnnnnennnennennnnnnennnennensnennenenennenenennenn 87 88 Profibus IM DENICHLENMOdE N ee arena 88 89 DP Y I REIS DIENST ee ee ee nee sehe 90 90 Hybrid Zugriffsverfahren 000444444444444neenennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 91 91 M ster Slave TeleganMaesn nenenamean 93 92 Profibus on RaspberryPi Aufbau uuuuu040su4sseeeneeenennennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 97 GEAR YDOS IC een ee ee ee 97 94 Typische PROFIBUS Implementation 444444444444400000nnn ne nnnnnnnnnnnnnnnnnnnnnnn 99 95 Profibus L sung von Texas Instruments uussssssseneneenennnnnennnnnnnnnnnnnnnnnnnnnnnn 99 GO EL LAPEIG LOGO ee a ee rear 103 SZ AUT ISGEDEr LOGO ee een nes 103 SEITE 116 DIPLOMARBEIT LEGONATOR ANHANG 10 4 Tabellenverzeichnis Die in dieser Arbeit enthaltenen Tabellen stammen ausschlie lich von den beiden Diploman
40. bit Die beiden Parameter stehen f r die Bildschirmaufl sung 320x240 Au erdem funktioniert die TFT Bibliothek nur wenn einige Konstanten vordefiniert werden Diese beschreiben die Portverbindungen f r die Signale zwischen TFT Display und Mikrocontroller E f TFT display connections F char TFT DataPort at PORTC 7 abit TFT_WR at PORTE1_ bit 3860 abit TFT_RED at PORTEHO bit sbit TFI_C5 at PORTD amp _ bit F abit TFI_BS at PORTAZ bit z abit TFT_RST at PORTID7_ bit 3 char TFT DataPort Direction at DDRC 2 sbit TFI_ WR Direction at DDEB1 bit abit TFT_RD Direction at DDEO bit 5 abit TFT CS5 Direction at DDD6 bit z sbit TFI_B5_ Direction at DDAZ_ bit 330 abit TFI_BST_Direction at DDD7_ bit Abb 43 Code Auszug TFT Display Verbindungen SEITE 56 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG ADC initialisieren Um die Eingabe Signale aus dem Touch Panel verarbeiten zu k nnen m ssen sie erst von einem A D Konverter in digitale Signale umgewandelt werden weshalb auch der A D Konverter der sich im Mikrocontroller befindet initialisiertt werden muss Dies erfolgt durch die ADC_Init Methode aus der ADC Library Touch Panel initialisieren Auch das Touch Panel muss mithilfe der Funktion TP_Init aus der Touch Panel Library initialisiert werden Wieder wird hier die Aufl sung des Panels bergeben Au erdem kann noch bestimmt werden aus welchem ADC Channel die X bzw Y Koordinate gelesen wird Da der ADC bei dies
41. bus IC erkennt die Baudrate automatisch 7 4 3 Siemens Produkte PROFIBUS DP Master Produkte von Siemens haben im Generellen den Vorteil dass Siemens lange Zeit das Patent auf PROFIBUS hatte und somit ber ein gigantisches Knowhow verf gt Auch werden von Siemens Kurse angeboten und die Produkte verf gen ber einen technischen Support Im Folgenden ist nur das am meisten verwendete Produkt angef hrt da Siemens eine sehr umfangreiche Palette an Simatic Ger ten bietet und nicht jedes angef hrt werden kann 7 4 3 1 SIMATIC S7 Mittels der STEP 7 Programmiersoftware oder auch mit welcher von Fremdherstellern wird die Simatic programmiert Abgesehen von der CPU kann das Automatisierungssystem auch noch mit diversen digitalen und analogen Peripheriebaugruppen sowie vorverarbeitenden intelligenten Baugruppen best ckt werden In der Industrie werden Simatic Steuerungen f r sowohl kleine Kompaktger te als auch f r Hochleistungs SPS verwendet Speziell die Simatic S7 Steuerungen haben den Vorteil sehr robust gegen ber elektromagnetischen St rungen und klimatischen Beanspruchungen zu sein Auch sind sie leicht ausbauf hig Von den Simatic S7 gibt es verschiedene Typen die sich aber im Grofen und Ganzen sehr hneln Die meist verkaufte Siemens SPS Variante ist die Simatic S7 300 Sie besitzt integrierte PROFIBUS und RS485 Schnittstellen welche die Kommunikation zu anderen Ger ten wie z B dem Industrieroboter erm glicht A
42. bverlaufs unsigned int gradient_color_to Endfarbe des Farbverlaufs Nichts Return Wert SEITE 52 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG Beschreibung Legt die Farbe bzw den Farbverlauf fest mit dem Kreise und Rechtecke gef llt werden Definiert F llfarben bzw verschiedene Farbverl ufe mit denen zu zeichnende Rechtecke oder Kreise gef llt werden sollen TFT_Rectangle Parameter int x_upper_left X Koordinate der linken oberen Ecke int y_upper_left Y Koordinate der linken oberen Ecke int x_bottom_right X Koordinate der rechten unteren Ecke int y_bottom_right Y Koordinate der rechten unteren Ecke Nichts Beschreibung Zeichnet ein Rechteck von einem linken oberen Eckpunkt aus der durch bergebene Koordinaten definiert wird bis zu einem rechten unteren Eckpunkt der durch bergebene Koordinaten definiert wird Zeichnen von rechteckigen Formen wie etwa Buttons Verwendung Leisten etc TFT_RGBToColor 6bit Parameter char rgb_red Rotanteil der zu erzeugenden Farbe char rgb_green Gr nanteil der zu erzeugenden Farbe char rgb_blue Blauanteil der zu erzeugenden Farbe unsigned int Integer Wert der die erzeugte Farbe repr sentiert Konvertiert ein 5 6 5 RGB Format in ein echtes Farbformat das durch einen Integer Wert repr sentiert wird und gibt diesen Wert zur ck Beschreibung Verwendung Definieren von eigenen Farben neben den vordefinierten Farbkonstan
43. ckplatine mit einem Mikrocontroller Leider werden bei diesem Board nur Mikrocontroller der dsPIC Familie von Microchip unterst tzt Wie die beiden anderen Entwicklungsboards hat auch diesen ein EEPROM Modul ein A D Konverter Modul und einen GLCD Socket Programmiert wird der Mikrocontroller hier mithilfe eines dsPICFlash Programmers Selbstverst ndlich steht hierf r eine USB Schnittstelle zur Verf gung DIPLOMARBEIT LEGONATOR SEITE 27 RESSOURCENPLANUNG 5 1 3 Atmel ATmega32 Der ATmega32 ist ein 8 bit Mikrocontroller des Herstellers Atmel und geh rt der AVR Familie an Er ist bereits im Lieferumfang des EasyAVR enthalten und wurde anfangs als zentrale Steuereinheit eingesetzt ehe er gegen den Atmel ATmega 1284P ausgetauscht wurde Er wies f r gegebene Anforderungen zu wenig Arbeits und Programmspeicher auf Abb 16 Atmega32 9 1 3 1 Funktionalit ten Der ATmega32 verf gt ber folgende Funktionalit ten e 32 KB Flash Programmspeicher e 1024 Bytes EEPROM e 2KBSRAM e 32 Arbeitsregister f r generelle Zwecke e 32 O Leitungen f r generelle Zwecke e ein JTAG Interface e On Chip Debugging Support und Programmierung e 3flexible Timer e Interne und externe Interrupts e seriellprogrammierbares USART e ein SPI serielles Interface e ein10 bit ADC e ein programmierbarer Timer mit internem Oszillator SEITE 28 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG e ein SPI serieller Port e 6 verschiedene Energiesparm
44. d Programmierung einer graphischen Benutzeroberfl che Entwurf und Programmierung der Bedienerf hrung im Touchpanel Dokumentation zur entwickelten Software SEITE 20 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG 5 Ressourcenplanung 5 1Hardware 5 1 1 Yaskawa Motoman Industrieroboter Dieser blaue Industrieroboter befindet sich im Besitz des Auftraggebers und wurde bisher f r Schulungszwecke eingesetzt 1 A AA Abb 8 Diplomandin mit Roboter Die Stromversorgung erfolgt ber ein Netzteil das in dem grauen Kasten verbaut ist der auf Abbildung Abb 9 Elektronik Roboter zu sehen ist Dieser beherbergt auch s mtliche Schnittstellen zum Roboter sowie alle elektronischen Abb 9 Elektronik Komponenten die zu dessen Betrieb notwendig sind Demnach ist hier auch ein Profibusmodul f r die Kommunikation nach aufsen hin verbaut Manuell kann der Roboter ber ein Interface Panel bedient werden siehe Abbildung Abb 10 Interface Panel Roboter Damit kann man zum Beispiel die Roboterachsen bewegen F r Laien ist die Benutzeroberfl che dieses Panels leider nicht einfach zu bedienen Abb 10 Interface Panel Roboter DIPLOMARBEIT LEGONATOR SEITE 21 RESSOURCENPLANUNG Der Industrieroboter verf gt ber 7 verschiedene Achsen die sich unabh ngig voneinander bewegen lassen wie es mit der folgenden Abbildung dargestellt wird Abb 11 Roboter Achsen SEITE 22 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG
45. d die Ansicht um einen Start und Stop Button erweitert mit dem der Benutzer sp ter die Bewegungsabl ufe des Roboters starten bzw stoppen k nnen soll Abb 68 Modus Fenster Tipp DIPLOMARBEIT LEGONATOR SEITE 71 PROGRAMMIERUNG 6 3 7 Statusanzeige des Greifers Um die Bausteine in die Hand zu nehmen ben tigt der Roboter einen Greifer Mit diesem kann er die Bausteine hochheben auf die Setzplatte setzen und dort wieder auslassen Besagter Greifer kann vier verschiedene Zust nde Status annehmen e Offen e Geschlossen e Einen Baustein haltend e Undefiniert Der undefinierte Status beschreibt einen unbekannten Greiferzustand Auftreten kann dies wenn zum Beispiel der Greifer kaputt oder gar nicht am Roboter befestigt ist Der aktuelle Status wird durch die Variable gripper_state repr sentiert F r die m glichen Zust nde sind Konstanten vordefiniert f sktusller Greiferstatus 1 Greifer ist offen E 2 Greifer ist geschlossen 3 Greifer h lt sinen Bauteil undefinierter Status 30 2 geschlossen C 7 defins GRIPFER OFEN 1 F define GRIPPER CLOSED 2 7 defins GRIPFER HOLDING 3 7 define GRIFPER UNDEFINED Q hebtBauteil U Er E char gripper_state 0 Abb 70 Code Auszug Greifer Konstanten Abb 69 Status Bildschirm Die Ansicht f r den Greifer Status kann ber einen Button in der Buttonleiste betreten werden Darin werden alle m glichen Zust nde d
46. den wie aus der vorhergehenden Grafik ersichtlich ist verschiedene elektronische Komponenten ben tigt Diese sind hier kurz aufgelistet Die konkreten Hardwarekomponenten werden in einem sp teren Kapitel 5 1 Hardware noch einmal genauer erl utert 4 1 3 1 Roboter Ein Industrieroboter der Marke Yaskawa Motoman soll sp ter mithilfe eines Greifers Lego bauen k nnen Besagter Roboter befindet sich schon seit einiger Zeit im Besitz des Auftraggebers und ist bisher f r Schulungszwecke verwendet worden 4 1 3 2 _ Steuerplatine Als zentrale Steuereinheit wird eine Platine verwendet die einen Mikrocontroller beherbergt Sie dient als Herzst ck des Systems und verbindet samtliche Komponenten miteinander Daf r ben tigt sie dementsprechende Schnittstellen damit alle Komponenten angeschlossen werden k nnen 4 1 3 3 Display Auf diesem Display wird die graphische Benutzeroberfl che ausgegeben Hier k nnen Benutzer Befehle an den Roboter absetzen und sich Status und Fehlermeldungen seitens des Roboters ansehen 4 1 3 4 Touchpanel ber das Display wird ein Touchpanel gelegt damit Benutzereingaben bequem und einfach durch Touch Technologie erfolgen k nnen Dies tr gt vor allem dazu bei dass die Steuerung so intuitiv wie m glich bleibt 4 1 3 5 physikalische Verbinder Um alle Komponenten miteinander zu verbinden also sie einerseits physikalisch an denselben Stromkreis anzuschlief en und andererseits eine logische Kommu
47. den selbst Tabelle 1 Zust ndigkeiten ee uree 18 Tabelle3 Kosten Arbeitsleistung u a ma aa EEEren 42 Tapelles Kosten AWAN a ae 43 Tabelle 4 Kosten Software an ee 44 T pele 5 sonstige KOSTEN rn ee nein 44 Tabelle 6 Gesamikosten arei E E N 45 Tabelle 7 Funktionen der ADC Bibliothek u0022222000202nnneennnnnnnnnnnnnnnennnnnneennennnnn 49 Tabelle 8 Funktionen der C_String Bibliothek unnnnnnnnnnnnnnnnnnnnn nennen 49 Tabelle 9 Funktionen der Sprint Library 222424444444440000snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nen 50 Tabelle 10 Funktionen der TFT Bibliothek a nnnnnnnnnnnnnnnsennnnnnnsnnrnnenssnnrnrnssnnrrnnnsrnnrnresennnne 53 Tabelle 11 Funktionen der Touch Panel Bibliothek n snannnnnnnnnnnnnnnnnsnnnnnsenrnessnrnrnsnrrrnnnnn 55 Tabelle 12 Funktionsbeschreibung von Draw_Bicolor_lmage uunnnnnnnnnnnnnnnnnnnnn 64 Tabelle 13 Funktionsbeschreibung Draw_Platef uu4nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 68 Tabelle 14 Funktionsbeschreibung Add_Errorf 44nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 75 Tabelle 15 Profibus Adressbereiche nannten arme n 84 Tabelle 16 Telegrammtypen een nenn nasser nee 91 Tabelle 17 Dienste azyklischer Datenverkehr 22444444444BBRnn0en nennen nee nnnnnennnnnnne ann 95 DIPLOMARBEIT LEGONATOR SEITE 117
48. e Aufgaben definiert die im Rahmen der Diplomarbeit zu erledigen w ren e Recherche und Auswahl einer geeigneten Steuerplatine die als zentrale Steuereinheit f r den Roboter die Sensorik und die Benutzeroberfl che dient e Recherche und Auswahl eines geeigneten Displays zur Realisierung der Benutzeroberfl che e Anbindung der Zusatzmodule an den Mikrocontroller Touchpanel Display Profibusschnittstelle DIPLOMARBEIT LEGONATOR SEITE 19 ENTSTEHUNG Programmierung der Datenkommunikation zwischen Mikrocontroller und Roboter RS485 Profibus Entwurf der Mikrocontroller Programmstruktur Programmierung des Steuerablaufs Entwurf und Programmierung der Bedienerf hrung im Touchpanel Test und Inbetriebnahme der entwickelten Mikrocontroller Software Dokumentation zur entwickelten Software 4 1 5 2 Tats chliche Zielsetzung Im Laufe der Diplomarbeit wurden die zu erledigenden Aufgaben dahingehend abge ndert Recherche und Auswahl einer geeigneten Steuerplatine die als zentrale Steuereinheit f r den Roboter die Sensorik und die Benutzeroberfl che dient Recherche und Auswahl eines geeigneten Displays zur Realisierung der Benutzeroberfl che Anbindung der Zusatzmodule an den Mikrocontroller Touchpanel Display Herausarbeiten von m glichen L sungsans tzen f r die Kommunikation zwischen Mikrocontroller und Roboter via Profibus Recherche ber Profibus allgemein und Erstellen einer Abhandlung dar ber Entwurf un
49. egende Diplomarbeit selbst ndig angefertigt habe Die aus fremden Quellen direkt oder indirekt bernommenen Gedanken sind als solche kenntlich gemacht Die Arbeit wurde bisher weder in gleicher noch in hnlicher Form einer andern Pr fungsbeh rde vorgelegt und auch noch nicht ver ffentlicht Sie wurde eigens im Rahmen der Diplomarbeit der HTL Perg w hrend des Schuljahres 2014 2015 erstellt Ich bin mir bewusst dass eine falsche Erkl rung rechtliche Folgen haben wird Astleithner Christina St ger Irene Ort Datum DIPLOMARBEIT LEGONATOR SEITE 3 EINLEITUNG 3 Einleitung 3 1Kurzbeschreibung Das Projekt Legonator entstand aus dem Wunsch eine Diplomarbeit im Rahmen der Matura an der HTL Perg f r Informatik abzuwickeln Dabei stellte sich das Unternehmen RK Automatisierungstechnik GmbH als Auftraggeber an unsere Seite und kam mit dem Auftrag eines Messestandes um diesen dann zu repr sentativen Zwecken verwenden zu k nnen Der Roboterarm der f r Messen mitgenommen werden soll sollte dann in der Lage sein den Schriftzug der Firma aus Legosteinen zu legen Da ergibt sich aber das Problem dass Roboter in der Regel unhandlich sind da sie meist viel Gewicht und Sperrigkeit mit sich bringen Aufserdem ben tigen sie viele zus tzliche Komponenten um sie betriebsbereit zu machen Nun kann es aber auch vorkommen dass nur ein Repr sentant auf eine Messe f hrt und somit nicht in der Lage ist einen riesigen Roboter mitzunehme
50. eine f r die Teile stehen die noch nicht gebaut sind Abb 55 unfertige Setzplatte laut Array Abb 56 fertige Setzplatte laut Array Am TFT Display wird die Setzplatte auf der Setzplattenansicht nun folgenderma en dargestellt Abb 57 Setzplattenbildschirm Die mit dem Farbverlauf gef llten K stchen stehen f r die bereits gesetzten Steine die dunkleren einfarbigen f r die noch zu setzenden und der hellere Hintergrund repr sentiert jene Felder die leer bleiben sollen Um die im Bild dargestellte Setzplatte zu zeichnen wurde eine Methode Draw_Plate definiert DIPLOMARBEIT LEGONATOR SEITE 67 PROGRAMMIERUNG Parameter int x X Koordinate der linken oberen Ecke von der aus die Platte gezeichnet werden soll int y Y Koordinate der linken oberen Ecke von der aus die Platte gezeichnet werden soll int width L nge der zu zeichnenden Setzplatte in Pixel int height H he der zu zeichnenden Setzplatte in Pixel intimg_height Breite der Setzplatte in 2x2 Noppen Bausteinen int plate_width L nge der Setzplatte in 2x2 Noppen Bausteinen Nichts Beschreibung Zeichnet eine Setzplatte die verbaute noch nicht verbaute und leerbleibende Felder veranschaulicht anhand des Setzplattenarrays Tabelle 13 Funktionsbeschreibung Draw _Plate Die Gr fse des Feldes in das die Setzplatte gezeichnet werden soll ist variabel L nge bzw H he eines einzelnen Feldes tile_width tile_width
51. eits gibt es eine Sektion f r das eigentliche Programm Application Flash Section und andererseits einen Bootloader Bereich welcher daf r zust ndig ist neue Programme richtig in den Speicher zu laden Application Flash Section Boot Flash Section OxFFFF Abb 20 Programmspeicherunterteilung SRAM Datenspeicher Der SRAM ist ein fl chtiger statischer Arbeitsspeicher Lese und Schreibzugriffe k nnen beliebig oft erfolgen weshalb hier neben dem Programm Stack auch die in einem Programm verwendeten Variablen abgelegt werden Der Datenspeicher unterteilt sich folgendermafsen Data Memory ___32Registers 0000 S001F 64 VO Registers 0020 005F 160 Ext I O Reg 0060 00FF 50100 Internal SRAM 16K x 8 40FF Abb 21 SRAM Datenspeicher Die ersten 32 Adressen sind f r die Speicherregister reserviert und die n chsten 64 f r die I O Register Darauf folgen 160 Adressen f r erweiternde I O Register und letztendlich die 16 KB interner SRAM der f r die Speicherung von Variablen genutzt werden kann DIPLOMARBEIT LEGONATOR SEITE 31 RESSOURCENPLANUNG EEPROM Datenspeicher Dieser Datenspeicher ist nicht fl chtig und bleibt somit auch nach der Trennung von der Versorgungsspannung erhalten Der EEPROM im ATmega1284P bel uft sich auf eine Gr lde von aKB und bersteht in etwa um die 100 000 Schreib bzw Lesezyklen Die darin gespeicherten Informationen k nnen elektrisch gel scht werden General Purpose Workin
52. em Fach zu Er steht uns auch regelm fsig am Freitag nach der Schule zur Verf gung Zum einen hilft er uns weiter wenn wir auf scheinbar unl sbare Probleme sto en und zum anderen geht er seiner Aufgabe als Betreuungslehrer nach n mlich sich ber unsere laufenden Fortschritte zu informieren Wir m chten uns gerne bei Prof Zweim ller f r sein Engagement und seine Hilfe ber die Dauer unserer Diplomarbeit bedanken DIPLOMARBEIT LEGONATOR SEITEQ EINLEITUNG 3 4 3 Auftraggeber 3 4 3 1 RK Automatisierungstechnik Gmbh Kontakt RK Automatisierungstechnik GmbH Buchenstra e 4 4230 Pregarten T 43 0 7236 314 16 AK b ti 43 0 7262 630 48 INCREASE YOUR ro OF OUC www rkrobotic at Abb 5 RK Automatisierungstechnik GmbH Logo Das Unternehmen RK Automatisierungstechnik GmbH bietet speziell auf den Kunden abgestimmte individuelle Automatisierungsl sungen welche in enger Zusammenarbeit mit den Projektteams des Kunden entstehen Die wichtigsten Schwerpunkte sind die Inbetriebnahme Roboterintegration und optimierung 3 4 3 2 Wolfgang Schinnerl Kontakt Wolfgang Schinnerl Plesching 13 4040 Steyregg gt lt wolfgangschinnerl gmx at Wolfgang Schinnerl stellte die Schnittstelle zum Auftraggeber dar An ihn konnten wir uns wenden sobald wir Informationen ben tigten Er war w hrend der gesamten Dauer unserer Arbeit f r uns beinahe pausenlos erreichbar und hat sich sehr f r unser Projekt engagiert Daf r m chten wi
53. em Projekt ohnehin nur f r das Touch Panel verwendet wird werden die Kan le o und daf r hergenommen Wie die TFT Bibliothek ben tigt auch die Touch Panel Bibliothek Konstanten die die Portverbindungen angeben f Touch FPansl module connections sbit DriveA at FORTAZ_ bit sbit DriveB at PORTA3_ bit F sbit Drive Direction at DDAZ bit sbit DriveB Direction at DDA3 bit Abb 44 Code Auszug Touch Panel Modulverbindungen DIPLOMARBEIT LEGONATOR SEITE 57 PROGRAMMIERUNG Touch Panel kalibrieren Dies allein reicht noch nicht f r die Inbetriebnahme des Panels Es muss auch noch kalibriert werden weshalb die Funktion Calibrate definiert wurde welche auf zwei Funktionen aus der Touch Panel Bibliothek zugreift TP_Calibrate_Bottom_Left amp TP_Calibrate_Upper_Right Mithilfe dieser Kalibrierung werden dem Touch Panel die minimalen bzw maximalen Werte vorgegeben void Calibrate 5 TFT_Dot 0 239 CL_FUCHSIA TFI _Set_Font TFI_defaultFont CL_TEAL FO HORIZONTAL TFI Write Text TOUCH BOTTOM LEFT 100 115 IP Celibrete Bottom Left Delay_ms 1000 550 TFI Dot 0 239 CL_TEAL TFI Dot 319 0 CL_TEAL Fill Rectangle 100 115 250 130 CL_WHITE CL WHITE TFI Set_Font TFI_defaultFont CL_TEAL FO HORIZONTAL TFI Write Text TOUCH UPPER RIGHT 100 115 F TP Calibrate Upper Right Delay ms 1000 Abb 45 Code Auszug Calibrate Der Benutzer muss nun be
54. en Bei der Festlegung zur Konfiguration des Systems werden Informationen wie die Anzahl der Stationen Datenkonsistenz der I O Daten oder auch die verwendeten Busparameter erfasst In allen DP Systemen sind verschiedene Ger te mit unterschiedlichen Rollen vorzufinden Dabei gibt es drei Typen 1 Profibus DP Slave Als Slave werden Peripherieger te verwendet Das sind in erster Linie ausf hrende Ger te wie zum Beispiel Ventile Messumformer oder wie in unserem Fall der Roboterarm Die Aufgabe des Slaves ist es Eingangsinformationen einzulesen und Ausgangsinformationen an die Peripherie weiter zu geben Wie grol3 diese Informationen sein k nnen h ngt vom Ger t ab Es sind aber maximal 246 Byte Eingangsdaten sowie 246 Byte Ausgangsdaten m glich 2 DP Master Klasse 1 DPM Der DP Master Klasse bildet die zentrale Einheit welche durch einen festgelegten Nachrichtenzyklus Informationen mit den Slaves austauscht In jedem Profibus DP System ist mindestens ein Master der Klasse 1 notwendig blicherweise werden Ger te wie SPS oder PC verwendet um diese Aufgabe zu bernehmen Es werden folgende Master Slave Funktionen unterst tzt e Erfassen von Diagnoseinformationen der DP Slaves e zyklischer Nutzdatenbetrieb e Parametrierung und Konfigurierung der DP Slaves e Steuerung von DP Slaves mit Steuerkommandos Das User Interface kann diese Anwendungsfunktionen eigenst ndig erledigen 3 DB Master Klasse 2 DPM2 Beim Mas
55. er Diplomarbeit gab es die Annahme sich nur auf eine Profibus Bibliothek st tzen zu m ssen um eine Basiskommunikation aufzubauen Dem warleider nicht so weil Profibus zwar mittlerweile ein offener Standard ist da die Lizenzen der Firmen Siemens AG und Endress Hauser AG schon abgelaufen sind allerdings gibt es noch immer keinerlei offene Implementierungen DIPLOMARBEIT LEGONATOR SEITE 95 PROFIBUS 7 4 m gliche L sungsans tze Im Folgenden sind verschiedene L sungsans tze herausgearbeitet welche unter Umst nden zu einer funktionierenden Kommunikation zwischen dem Roboter und dem Mikrocontroller f hren k nnen 7 4 1 PROFIBUS on Raspberry Pi Das Projekt PROFIBUS on Raspberry Pi wurde von dem Schweizer Michael B sch in Angriff genommen Dabei wird versucht einen Raspberry Pi als DP Master Klasse f r einen Siemens ET 200S Slave zu verwenden Sein Programm ist auch frei erh ltlich und unter der GNU General Public License version 2 lizensiert Laut den Angaben auf seiner Website www bues ch cms hacking profibus html ist es m glich mit dem Slave zu kommunizieren Das heil t das Programm m sste von den Konfigurationen f r den Siemens ET 2005 Slave auf die Konfiguration des Motoman Roboters ge ndert werden Weiters solle die Hardware Schicht OSI Schicht wie erwartet arbeiten Die Bereiche der OSI Schicht 2 und 7 sind in Arbeit dabei solle der Grof Steil der Schicht 2 bereits implementiert sein und von
56. er und bitweiser logischer Operationen zust ndig Sie bildet das Herzst ck einer CPU Sie nimmt Daten entgegen an denen eine Operation durchgef hrt werden soll Operanden und gibt das Ergebnis der durchgef hrten Operationen aus ANSIC ANSI C ist einer von mehreren m glichen Standards f r die Programmiersprache C Diese Standards existieren um Portabilit t und Kompatibilit t zwischen C Compilern zu gew hren Baud Baud ist eine Einheit Sie gibt die Schrittgeschwindigkeit Symbolrate in der Nachrichtentechnik an So bedeutet eine Geschwindigkeit von Baud dass 1 Symbol pro Sekunde bertragen wird SEITE 104 DIPLOMARBEIT LEGONATOR ANHANG Bitmap Eine Bitmap stellt ein digitales Bild dar Sie besteht aus einer Matrix aus Bits bei denen jedes Bit ein Pixel auf dem Display repr sentiert Die Werte der einzelnen Bits stehen normalerweise f r die Farbe des jeweiligen Bildpunktes Broadcast Ein Broadcast Rundfunk ist eine Nachricht die von einem Punkt im Netzwerk an alle Teilnehmer gesendet wird CPU Eine CPU Central Processing Unit ist ein elektronischer Schaltkreis in einem Computer der die Operationen eines Programmes durchf hrt indem er arithmetische logische Kontroll sowie I O Operationen ausf hrt EEPROM EEPROM steht f r Electrically Erasable Programmable Read Only Memory und ist ein nichtfl chtiger Speicher Das heift darin gespeicherte Daten bleiben auch nach Abschalten der anliegenden Versorg
57. es Greifers angezeigt und der aktuelle Zustand umrahmt Bestimmt soll dieser sp ter ber den Roboter werden indem er ein Signal ausgibt das den Greiferzustand repr sentiert Derzeit ist der Status undefiniert da kein Roboter und somit auch kein Greifer angeschlossen sind SEITE 72 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG 6 3 8 Details Anzeige In der Detail Ansicht werden verschiedene statistische Details angezeigt die rein der Information dienen Angezeigt werden e die Anzahl der beim aktuellen Durchlauf bereits verbauten Bauteile e die Anzahl der beim aktuellen Durchlauf fertiggestellten Setzplatten e die Anzahl der Bausteine die noch verbaut werden m ssen um die aktuelle Setzplatte fertigzustellen F r die Speicherung der eben genannten Werte werden folgende Variablen verwendet Statistische Zahlen ff Anzahl verrendeter Bauteile bei der aktuellen Platte unsigned int bricks_count 3 ff Anzahl fertiger Setzplatten 80 unsigned int finished plates 4 f Anzahl Bauteile dis f r dis aktuelles Setzplatte noch verbaut werden m ssen m unsigned int bricks to _ next plate 5 Abb 71 Code Auszug Details Variablen Diese Daten werden dann sp ter ber den Roboter ermittelt Um f r die Details Ansicht die drei Variablen auf das TFT Display zu schreiben wurde die Methode sprintf verwendet welche normalerweise in der C Standardbibliothek zu finden ist Da uns diese je doch in mikroC Pro for AVR
58. f der GUI angezeigt werden Er bestimmt welche Elemente zu welcher Zeit dargestellt werden 2 Benutzereingaben ber ein Touchpanel kann der Benutzer die GUI bedienen Bei einer Ber hrung des Panels werden die Koordinaten der Ber hrung an den Mikrocontroller gesendet der diese je nachdem welche Ansicht momentan auf der GUI aktiv ist auswertet 3 Befehle zur Steuerung Der Mikrocontroller startet und beendet das Roboterprogramm das die Roboterachsen mechanisch bewegt und dadurch Lego baut Der Ablauf des Programms kann durch Benutzereingaben auf der GUI die vom Mikrocontroller ausgewertet werden beeinflusst werden 4 Status und Fehlermeldungen Der Roboter ist in der Lage Status und Fehlermeldungen abzusetzen Diese werden an den Mikrocontroller gesendet und davon verarbeitet 5 Ausgabe von Status und Fehlermeldungen Die vom Roboter gesendeten Status und Fehlermeldungen werden auf der GUI ausgegeben 6 Status der Legozufuhr F r den Fall dass die Bausteine ausgehen oder die Legozufuhr auf eine andere Weise ins Stocken ger t setzt der Sensor ein Signal an den Mikrocontroller ab 7 Befehle aufgrund von Sensorsignalen Der Mikrocontroller verarbeitet und interpretiert die Sensor Signale Aufgrund der Ergebnisse teilt er dem Roboter mit wie dieser dann auf die Ver nderungen in seiner Umwelt reagieren soll SEITE 16 DIPLOMARBEIT LEGONATOR ENTSTEHUNG 4 1 3 Komponenten bersicht F r die Realisierung des Systems wer
59. g Register Der ATmega1284P weist 32 solcher Register zu jeweils 8 Bit auf Die ALU hat direkten Zugriff auf diese Register welche f r die Bearbeitung von Operanden bei Operationen die von der ALU durchgef hrt werden n tzlich sind T Addr x 0x0 01x02 0x0D General ODE Purpose Ox F Working Ox10 Registers 0 11 0x1A register Low Byte 0x1B register High Byte Ix1C Y register Low Byte 0x1D Y register High Byte OxiE register Low Byte OxiF Z register High Byte Abb 22 AVR CPU General Purpose Working Registers SPI Interface ber diese Schnittstelle k nnen Programme in den Programmspeicher des Mikrocontrollers geladen werden USART USART ist eine Hardware Komponente die Daten zwischen parallelen und seriellen Formaten bersetzen kann Sie ist f r die serielle Kommunikation verschiedener Peripherie Komponenten zust ndig A D Konverter Der Analog zu Digital Konverter kann analoge Signale analoge Spannungswerte in digitale konvertieren damit diese vom Mikrocontroller weiterverarbeitet werden k nnen SEITE 32 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG Oszillator Ein Mikrocontroller ben tigt eine Taktversorgung um die internen Abl ufe im Prozessor in einer zeitlich geordneten Reihenfolge ausf hren zu k nnen Diese Taktversorgung wird von einem sogenannten Oszillator bernommen Die Taktfrequenz ist ausschlaggebend f r die Rechengeschwindigkeit des Mikrocontroller Prozessors Der ATmega128
60. h im Falle der Nicht Weiterf hrung f r uns gelohnt hat denn wir konnten daraus wertvolle Erfahrungen gewinnen SEITE 102 DIPLOMARBEIT LEGONATOR IMPRESSUM 9 Impressum Diplomarbeit Schule HTL Perg f r Informatik Machlandstra e 48 4320 Perg Schuljahr 2014 2015 Klasse sAHIF Projektteam Astleithner Christina St ger Irene Auftraggeber RK Automatisierungstechnik GmbH Buchenstra e 4 4230 Pregarten Ansprechpartner seitens des Auftraggebers Wolfgang Schinnerl Betreuungslehrer DI Gerhard Zweim ller DIPLOMARBEIT LEGONATOR hl Abb 96 HTL Perg Logo roObotic INCREASE YOUR DEGREE OF AUTOMATION Abb 97 Auftraggeber Logo SEITE 103 ANHANG 10 Anhang 10 1 Glossar 5 6 5 RGB 5 6 5 RGB ist ein Format zur Speicherung von Farbinformationen im Speicher von Computern Es wird auch mit dem Begriff 16 bit high color in Verbindung gebracht da es die Farbe durch 16 Bits repr sentiert Damit sind 65 536 verschiedene Farben m glich 5 6 5 bedeutet dass jeweils 5 Bits f r die Rot und Blaukan le zust ndig sind w hrend 6 Bits den Gr nanteil repr sentieren ADC ADC ist eine Abk rzung f r Analog to Digital Converter Analog Digital Umsetzer Dieses elektrische Ger t wandelt analoge Eingangssignale z B vom Touch Panel in einen digitalen Datenstrom um der dann wiederum weiterverarbeitet werden kann ALU Die ALU Arithmetic Logic Unit ist f r die Ausf hrung arithmetisch
61. h zwei weitere Platinen zur Auswahl UNI DS6 Das UNI DS6 ist ein Entwicklungsboard von MikroElektronika das Mikrocontroller von verschiedenen Herstellen unterst tzt aan ITLLUIN irrr1111 LEI LET EEE EINER am nam nun i ler a gt m Ba a u a u u Abb 14 UNI DS6 Im Vergleich zum EasyAVR befinden sich die Mikrocontroller Sockets f r die Unterst tzung verschiedener Mikrocontroller nicht direkt am Board sondern werden durch den mikroBoard Socket realisiert Auf diesem wird ein Mikroboard platziert welches unter anderem den Mikrocontroller und einen Built in Programmer enth lt Dies ist einerseits ein Vorteil da eine hohe Konnektivit t gew hrt wird und andererseits ein Nachteil da f r jeden Mikrocontroller ein mikroBoard gekauft werden muss Das Board beherbergt au erdem drei USB UART Module ein A D Konverter Modul ein EEPROM Modul einen GLCD Socket und vieles mehr SEITE 26 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG BIGdsPIC6 Das BlGdsPIC6 ist ebenfalls ein Entwicklungsboard von MikroElektronika 0 o 2 a2 gt s LaTi afi aaa a lt e Rs ue 1 E E GOLD PLATED EDGE CONTACT MOU CARD ur t ttes ar 2 m s AnA Tad a 4 2 27 _ 71 7 s wT sereeren Perepe Pasop a f i BiGdsPIC6 Sie u Ks u 11 he i id Abb 15 BIGdsPIC6 Auf dem Board befindet sich ein Konnektor f r eine MCU Card also eine Ste
62. i Start der Anwendung die linke untere Ecke bzw die rechte obere Ecke ber hren um die Kalibrierung vorzunehmen Anschliefsend wird der Startbildschirm gezeichnet und die eigentliche Anwendung beginnt Abb 46 Touch Panel Kalibrierung SEITE 58 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG 6 3 2 Allgemeiner Bildschirmaufbau Das Layout f r die Benutzeroberfl che l sst sich in zwei Bereiche untergliedern Einerseits gibt es einen statischen Teil der w hrend der gesamten Laufzeit ber gro teils gleich bleibt und einen dynamischen Teil der aufgrund von Benutzereingaben etc immer wieder mit ver nderten Inhalten neu gezeichnet werden muss Der statische Bereich besteht aus zwei Bereichen Erstens gibt es eine Buttonleiste ber die man bequem andere Ansichten aufrufen kann Zweitens gibt es die Statusleiste bei der man ber Symbole ebenfalls in andere Fenster navigieren kann Abb 47 Bereiche des Bildschirms Wie die folgende Abbildung zeigt ndert sich bei einem Wechsel der Ansicht nur der dynamische Bereich Demnach wird auch nur dieser neu gezeichnet Im Falle der Abbildung unten geschieht die nderung wenn der Benutzer auf den Status Button dr ckt Abb 48 nderung des dynamischen Bildschirm Bereichs DIPLOMARBEIT LEGONATOR SEITE 59 PROGRAMMIERUNG Bei jeder nderung des dynamischen Bereichs wird das alte Fenster gel scht indem eine weile Fl che dar ber gezeichnet wird Auf dieser Basis k nnen dan
63. ichen der Software Entwicklung werden diese bereits als selbstverst ndlich angesehen Zu nahezu jeder Problemstellung steht heutzutage schon eine freie Software L sung bereit Das Produkt aus dem Ehrgeiz eines einzelnen oder mehrerer Hobby Entwickler die die Ergebnisse ihres Arbeitsaufwands gerne mit der Weltteilen Der Umgang mit Profibus hat uns gelehrt diese Dinge mehr zu sch tzen Zweitens erfuhren wir die Vorz ge vom Programmieren auf h heren Ebenen In der Zeit wo wir uns mit Mikrocontrollerprogrammierung in C herumschlagen mussten lernten wir h here Programmiersprachen wie Java oder C die haupts chlich bei uns an der HTL unterrichtet werden wieder zu lieben In C und vor allem in der Mikrocontrollerprogrammierung tauchten uns bisher unbekannte Probleme auf Probleme um die sich beim Programmieren wie wir es gewohnt sind bereits der Compiler gek mmert hat Drittens haben wir die Erfahrung gemacht dass ein Projekt nicht immer so abl uft wie es geplant ist Man kann von einer anfangs gegebenen Aufstellung nicht immer 100 ig sagen dass diese auch mit gegebenen Mitteln l sbar ist sofern man sich noch nicht intensiv damit besch ftigt hat Obwohl die Probleme die wir mit propriet ren Systemen hatten eine Zeit lang an unserer Moral nagten mussten wir uns gen Zukunft wenden und mit abge nderter Aufgabenstellung das Bestm gliche aus unserem Projekt machen Zusammenfassend l sst sich also sagen dass sich das Projekt auc
64. ichnet ein Rechteck an die durch bergebene Koordinaten bestimmte Position und f llt es mit einem vertikalen Farbverlauf DIPLOMARBEIT LEGONATOR SEITE 61 PROGRAMMIERUNG 6 3 3 Bilder zeichnen Die Benutzeroberfl che enth lt einige Bilder die in Form von Bitmaps statisch im Programmcode gespeichert sind Bitmaps brauchen in diesem Fall sehr wenig Speicherplatz und sind deswegen f r die Mikrocontrollerprogrammierung bestens geeignet da hier nur geringe Speicherkapazit ten zur Verf gung stehen Um den ben tigten Speicher noch geringer zu halten wird die Bitmap durch ein Char Array repr sentiert Damit kann zwar nicht mehr jede m gliche Farbe repr sentiert werden aber speicherintensivere Datentypen wie z B Integer w rden bei diesen Mengen an Array Elementen zu viel Platz verbrauchen Derzeit werden nur zweifarbige Bilder unterst tzt inkl Transparenz Um die ben tigten Bilder die mit GIMP erstellt und anschliel3end als png oder jpg abgespeichert worden sind in C Code zu konvertieren wurde folgendes Tool von Digole Solutions einem Hersteller von verschiedenen Hardwarekomponenten verwendet http www digole com tools PicturetoC_Hex_converter php SEITE 62 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG Die folgende Abbildung zeigt eines dieser Char Arrays das ein Warndreieck darstellt welches sp ter am TFT Display gezeichnet wird Bitmaps f r auszugebends Bilder 5 Barn Dreieck const ch
65. ikroE R amp E SPI_Ethernet a i F ADC 7 F SPI Ethernet _24j600 H E Button H E SPI_Gicd H E CAN_sPI a E SPI_Lcd H E Compact Flash 4 mi E SPI Leda m E Compact_Flash_FAT16 7 E SPI_TS363C amp Conversions E Sprintf H E cC_Math m E Sprinti E E C_Stdlib E ng E Sprint E 9 C_string E T6963C I e W c Tye EB L Am H E EEPROM M BMS ooo 1 E EPSON_51013700 TFT_Set_55D1963 7 H E FLASH pe TFT_Set_Active E Gled TFT Set Pen E E Gled Fonts je TFT Set Font m E Keypadax4 pe TFT Set Brush m E Led gt TFT_RGBToColor 16bit L I ied Constants be TFT Color 16bitToRGE Abb 29 Library Manager Bibliotheken bersicht Abb 30 Library Manager Methoden bersicht mikroC PRO enth lt aufserdem eine bersichtliche Dokumentation zu den mitgelieferten Bibliotheken Leider wird f r deren Funktionen kein Source Code bereitgestellt Alle f r das Projekt verwendeten Bibliotheken werden im Kapitel 6 2 1 Verwendete mikroC Bibliotheken aufgelistet und beschrieben mikroC bietet sogar eine auf Mikrocontroller abgestimmte C Standardbibliothek an DIPLOMARBEIT LEGONATOR SEITE 37 RESSOURCENPLANUNG 5 2 1 3 Spezialisierung auf Mikrocontroller AS Project Settings 3 e mikroC PRO for AVR unterscheidet zwischen DEU verschiedenen Arten von Mikrocontrollern So Name ATMEGAT SAP werden beispielsweise beim Anlegen eines neuen Projektes die Art des Mikrocontrollers und dessen S MCU Clock Taktfrequenz
66. ildschirm SEITE 76 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG 6 4Benutzereingabenverwaltung Damit der Benutzer auch mit der Benutzeroberfl che auf dem Display interagieren kann werden die Eingaben welche er ber das Touch Panel t tigt im Programmcode verwaltet Dabei fragt das Programm zyklisch nach ob eine Benutzereingabe erfolgt ist sprich ob das Touch Panel ber hrt worden ist Die Methode nennt man Polling Die Abfrage erfolgt in einer Endlosschleife in der main Methode des Programmes p while 1 l if TP_Press Detect if IP Get Coordinates amp _ coord amp 7_coord 0 som o i Abb 78 Schleife f r Benutzereingaben Sobald eine Ber hrung erkannt wurde werden die Koordinaten in die beiden Integer Variablen x_coord und y_coord gespeichert Da die Aufl sung des Touch Panels 128x64 jedoch nicht mit der Aufl sung des TFT Displays 320x240 bereinstimmt m ssen diese noch umgerechnet werden Das Touch Panel besitzt 128 Pixel in der Breite das Display 320 F r die Umrechnung der X Koordinate aus dem Touchpanel wird somit ein Faktor von 320 128 2 5 ben tigt In der L nge hat das Touch Panel 64 Bildpunkte w hrend es vom Display mit 240 in den Schatten gestellt wird Zur Umrechnung der Y Koordinate besteht also ein Faktor von 240 64 3 75 Somit k nnen die Koordinaten die aus der Benutzereingabe gewonnen werden verarbeitet werden Zuallererst wird abgefragt ob die Ber hrung innerh
67. in mit Roboter 44444400000000000nnnnnnn nn nnnnnnnnnnnnnennnnnnnnnnnnnnnnnnn nenn 21 ADD SEIEKLLONIK RODGlEr anne eek ea 21 ADb AO lntetice Panel RODOTET nee 21 ADD 11 RODOLEr ACSC ee ee een 22 ADD 12 EasyAvr KOMPONENTEN sssrinin rn AEA 23 ADD 13 Dip Switeh E inste LUNGEN ee ensure bene 25 ADDA ONED nee 26 ADD Ir BIGOT amp gt ceea a S 27 AOD AIC AIEO a nn er 28 Abb 17 Atmega32 Architektur nn een 28 Abb 18 Blockdiagramm der Komponenten des Atmega1284P unnnsesessssnnnnnnnnneeeeeennn 29 Abb 19 Blockdiagramm der AVR CPU Architektur uuussnnnnnnnnennnnnnnnnnnnnneee nen 30 Abb 20 Programmspeicherunterteilung 44nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nn 31 Abb 21 SRAM Datenspeicher sinne neun anne e an 31 Abb 22 AVR CPU General Purpose Working Registers 2224444444nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 32 DD DSG Den ee een ee nee ee een ee 33 ADDED E VIF T ee ee 34 ADD 25 TOUCH PANEI seen ae ee ee ee 34 ADD DO RZ BE Eli KBO NO teens ren ee ee ee a oe a ee 35 ADD 27 ODIO CICK BO essen see ee ne 35 Abb 28 MikroC Pro for AVR Ansicht anne 36 Abb 29 Library Manager Bibliotheken bersicht sn ssssssseeenssssennnnnnrttrnnrrrererensssrrrrrnnrrnnn 37 Abb 30 Library Manager Methoden bersicht nnnsnnnssssseesenssssennnnrnrrtrtrtrtteeesssrrnnrrnnrrnnn 37 ADD BE PFOJE ES ELLI ee a ee ae er 38 Abb 32 Speicherberrechnung mikroC nn 38 Abb 33 AVRFlash Programmer
68. ine Shop Abb 13 Grafik zusammengestellt aus Word Formen und einer Abb 14 Abb 15 AN E m H H N DIPLOMARBEIT LEGONATOR ANHANG Abb 16 Foto von Christina Astleithner Abb 17 22 entnommen aus dem Datenblatt des a Abb 23 Abb 23 Foto von Foto von Christina Astleithiner oo Astleithner MikroElektronika Online Ship Abb 26 27 entnommen aus den jeweiligen Produktbeschreibungen im ADAN Mioto onnesta EST Screenshot von Christina Astleithner Abb 47 49 Grafik besteht aus Word Formen und Textfeldern sowie Fotografien bzw Ausz ge aus dem Programmcode von Christina Astleithner Abb 92 Foto von Michael B sch Abb 93 Foto von HSM Industrial Networks GmbH DIPLOMARBEIT LEGONATOR SEITE 113 ANHANG Grafik von Texas Instruments Abb 95 Grafik von Texas Instruments Abb 96 HTL Perg Abb 97 RK Automatisierungstechnik GmbH ADB 4 AStleithner CHRISTI ne ee ne er 6 ADD akene OE nee 7 Abb 3 Projektumfeld Hierarchie ussssssnnnnnnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nenn 8 Abb 4 HTL Perg von SUR EN ee een 9 Abb 5 RK Automatisierungstechnik GmbH Logo 244nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 10 Abb 6 Aufbau des Logos mit Legosteinen uu444444444nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 14 Abb 7 bersicht ber Kommunikation uussesnnassnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnn 15 Abb 8 Diplomand
69. it die Ger te austauschbar bleiben gibt es bei PROFIBUS DP ein standardisiertes Systemverhalten Dieses wird im Grof3en und Ganzen durch den DP Master Klasse 1 festgelegt von dem der Betriebszustand entweder lokal oder mittels dem Bus vom Projektierungsger t aus gesteuert werden kann W hrend den Hauptzust nden ist der Kontakt zwischen Master und Diagnosetools m glich Die Betriebszust nde sind folgenderma en definiert e Stop Es wird kein Datenaustausch zwischen Master und Slave vorgenommen e Clear Die Ausg nge der Slaves werden vom Master in sicherem Zustand gehalten w hrend dieser die Eingangsinformationen der Slaves liest SEITE 84 DIPLOMARBEIT LEGONATOR PROFIBUS e Operate Dieser Zustand ist aktiv wenn gerade ein Datenaustausch stattfindet Beim wiederholt auftretenden Zyklus werden die Eing nge der Slaves gelesen und die Ausgangsdaten zu ihnen bermittelt 7 2 1 4 berblick der Technologien c Specific e kg 2 Application j Profiles z e i 5 a O S E oO 0 ps i 2 SE S 23 x E 9 eF O Common S Application PROFIsafe I amp M iPar Server eO Profiles Time Stamp Redundancy Di ee nz gu 89 Communication VA AA E Technology PROFIBUS DP DP V0 V1 V2 50 Transmission Wired Optical Wireless Technologies RS485 RS485 I15 Glass PCF MBP MBP IS Plastic Abb 84 Profibus Technologien In der oben stehenden Grafik sind die Zusammenh nge zwischen den einze
70. ithner Landwirtin 3 Geschwister Schulische Ausbildung 2002 2006 Volksschule St Georgen am Walde 2006 2010 Hauptschule St Georgen am Walde 2010 2015 HTL f r Informatik in Perg Berufspraxis Juli 2013 Praktikum bei Atos IT Solutions und Services GmbH Linz August 2013 Praktikum bei MIC Datenverarbeitung GmbH Linz Interessen Musizieren Querfl te Gitarre Lesen Geschichten schreiben Zeichnen digitale Grafiken SEITE 6 DIPLOMARBEIT LEGONATOR EINLEITUNG 3 3 2 Irene St ger Kontakt Neum hlstraf e 27 4284 Tragwein 2 0681 107 513 16 gt lt stoeger irene gmx at Pers nliche Angaben Geburtsdatum 03 02 1996 in Linz Religionsbekenntnis r m kath Familie Johann St ger Layouter Doris St ger Einzelhandelskauffrau 1 Geschwister Abb 2 Irene St ger Schulische Ausbildung 2002 2006 Volksschule Tragwein 2006 2010 Hauptschule Tragwein 2010 2015 HTL f r Informatik in Perg Berufspraxis Sommer 2012 Praktikum bei Engel Austria GmbH Schwertberg Sommer 2014 Praktikum bei technosert electronic GmbH Wartberg Aist Interessen Tae Kwon Do Musik h ren Computer und Internet Freunde treffen DIPLOMARBEIT LEGONATOR SEITE 7 EINLEITUNG 3 4Projektumfeld Wolfgang robotic Schinnerl INCREASE YOUR DEGREE OF AUTOMATION l DIRECTA Zweim ller Christina Astleithner Abb 3 Projektumfeld Hierarchie Der Auftraggeber unserer Diplomarbeit ist das
71. legt die Regeln fest Im Innersten des Ablaufs f r die Kommunikation steht das Master Slave Verfahren Wo ein aktiver Teilnehmer Master den angeschlossenen passiven Teilnehmern Slaves zyklisch zum Datenaustausch auffordert Im Anfrage Telegramm des Masters stehen die Ausgangsdaten also zum Beispiel Sollwerte Der Slave antwortet mit einem Antwort Telegramm das die Eingangsdaten beinhaltet Das sind zum Beispiel aktuelle Messwerte Aufruftelegramm Schlu info Ausgangsdaten Kopf into DP Master DP Slave unmittelbare Antwort Antworttelegramm Abb 91 Master Slave Telegramm Weiters gibt es noch die Bedarfsdaten bertragung wo beispielsweise Ger teeinstellungen ber PROFIBUS gesendet werden Dabei greift der Master azyklisch auf die Daten eines Slaves zu DIPLOMARBEIT LEGONATOR SEITE 93 PROFIBUS 7 2 4 1 Zyklische Kommunikation Nachdem die Projektierung mittels Projektierungswerkzeug in den Master Klasse geladen ist wird von diesem die zyklische Kommunikation zu den Slaves aufgebaut MSo Kanal Bei dieser Phase berpr ft der Slave die erhaltenen Daten vom Master in zwei Stufen Zu Beginn werden die eingestellten Parameter welche an den Slave gesendet wurden berpr ft Dazu z hlen Parameter wie Masteradresse Watchdog Zeit und ID Die Ident Nummer muss f r jeden Ger tetyp eindeutig sein Eine weitere zyklische Kommunikation ist nur m glich wenn die erhaltene Ident Nummer der vom Slave
72. lle ben tigten Komponenten miteinander zu verbinden soll ein Mikrocontroller als zentrale Steuereinheit fungieren Dieser ist f r folgende Aufgaben zust ndig e Verarbeitung und Weitergabe von Signalen der Sensoren an den Roboter e Darstellung der Benutzeroberfl che auf einem Display e Verarbeitung von Benutzereingaben SEITE 14 DIPLOMARBEIT LEGONATOR ENTSTEHUNG e Weiterleitung von Befehlen an den Roboter e Weitergabe von Fehler und Statusmeldungen an den Roboter F r die Kommunikation zwischen Mikrocontroller und Roboter soll das Profibus Protokoll verwendet werden Der Industrieroboter steht bereits zur Verf gung Es ist ein Yaskawa Motoman und ist bisher vom Auftraggeber zu Schulungszwecken verwendet worden F r die anderen Komponenten soll noch eine passende Hardware ausgesucht werden 4 1 2 System bersicht Die folgende Darstellung gibt einen berblick ber das Zusammenspiel der Komponenten Roboter Mikrocontroller 1 grafische Ausgabe Bildschirmaufbau 2 Benutzereingaben 3 Befehle zur Steuerung 4 Status und Fehlermeldungen 5 Ausgabe von Status und Fehlermeldungen 6 Status der Legozufuhr 7 Befehle aufgrund von Sensorsignalen Abb 7 bersicht ber Kommunikation DIPLOMARBEIT LEGONATOR SEITE 15 ENTSTEHUNG grafische Ausgabe Bildschirmaufbau Der Mikrocontroller ist f r den Aufbau und das Layout aller grafischen Elemente Buttons Bilder Textfelder zust ndig die au
73. ller bereits auf entsprechenden Ports des Mikrocontrollers definiert sind verwendete Funktionen TFT_Init_ILlI9341_8bit unsigned int display_width L nge des TFT Displays unsigned char display_height H he des TFT Displays Nichts Initialisiert einen ILIg341 Display Controller im 8 bit Betriebsmodus Initialisiert einen ILIg341 Display Controller im 8 bit Betriebsmodus f r die Ansteuerung des TFT Displays Parameter _ Return Wert Beschreibung SEITE 50 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG TFT_Fill_Screen Parameter unsigned int color Farbe mit der Bildschirm gef llt werden soll Beschreibung F llt den Bildschirm des TFT Displays mit der bergebenen Farbe L scht die bisherige Bildschirmdarstellung mit einer entsprechenden Farbe um Platz f r neue grafische TFT_Dot Elemente zu machen Parameter int x X Koordinate des zu zeichnenden Punktes int y Y Koordinate des zu zeichnenden Punktes unsigned int color Farbe des zu zeichnenden Punktes Beschreibung Malt einen Bildpunkt der durch die bergebenen Koordinaten beschrieben wird mit einer bergebenen Farbe aus Verwendung Zeichnet Eckpunkte f r die Kalibrierungs Funktion des Du Touch Panels wird beim Zeichnen von Bildern ben tigt um diese Bildpunkt f r Bildpunkt zu zeichnen TFT_Set_Font Parameter const char far activeFont Font momentan wird hier nur der Wert TFT_defau
74. lnen Technologien die zur Verwendung von PROFIBUS notwendig sind sch n ersichtlich 7 2 2 _ bertragungstechniken Als bertragungstechnik nutzt Profibus DP das RS485 Dies ist heutzutage sehr verbreitet Es arbeitet mit einer verdrillten Zweidrahtleitung und es sind bertragungsraten von bis zu 12 MBaud m glich Typischerweise werden die Feldger te in einer Busstruktur angeschlossen RS485 wird auch vereinzelt EIA 485 genannt und ist ein Schnittstellen Standard bei der digitalen leitungsgebundenen und differentiell seriellen Daten bertragung Wegen der symmetrischen Signal bertragung ist es kaum anf llig f r elektromagnetische St rungen Das Leitungspaar ist notwendig da sowohl der invertierte als auch der nichtinvertierte Pegel eines 1 Bit Datensignals bertragen wird Der Empf nger bildet dann die Differenz der Spannungen und erstellt wieder das urspr ngliche Datensignal DIPLOMARBEIT LEGONATOR SEITE 85 PROFIBUS Durch den integrierten Widerstand beim Sender ist dieser kurzschlussfest und wird durch das Gegensenden eines zweiten Senders nicht defekt Der RS485 unterscheidet sich von anderen Bussen dahingehend dass nur die elektrischen Schnittstellenbedingungen definiert sind Da das Protokoll anwendungsspezifisch gew hlt werden kann verstehen sich RS485 Ger te unterschiedlicher Hersteller meistens nicht Sollen dennoch Daten bertragen werden wird h ufig auf UART gesetzt DI Data input RO Receiver
75. ltFont also Tahoma 14x16 unterst tzt unsigned int font color Textfarbe char font_orientation Textrichtung vertikal oder horizontal Beschreibung ndert das aktuelle Textformat in dem alle auf den Display geschriebenen Texte dargestellt werden ndern der Schriftfarbe DIPLOMARBEIT LEGONATOR SEITE 51 PROGRAMMIERUNG TFT_Write_Text Parameter unsigned char text zu schreibende Zeichenkette unsigned int x X Koordinate unsigned int y Y Koordinate Nichts Beschreibung Schreibt eine bergebene Zeichenkette von einem De linken oberen Eckpunkt aus der durch die bergebenen Koordinaten beschrieben wird auf das Display Ausgabe von jeglichem Text f r die Benutzeroberfl che auf das TFT Display TFT_Set_Pen Parameter unsigned int pen_color Farbe von zu zeichnenden Linien char pen_width Breite von zu zeichnenden Linien Beschreibung Legt die Farbe und Breite f r das Zeichnen von Linien Kreisen und Rechtecken fest Verwendung ndern der Farbe und Breite von Linien Kreisen und Rechtecken TFT_Set_Brush Parameter char brush_enabled aktiviert deaktiviert die Ausf llung von Rechtecken oder Kreisen mit einer Farbe bzw einem Farbverlauf unsigned int brush_color F llfarbe bei einfarbiger F llung char gradient_enabled gibt an ob ein Farbverlauf verwendet werden soll char gradient_orientation Richtung des Farbverlaufs unsigned int gradient_color_from Startfarbe des Far
76. mmunikation von Mikrocontroller und Roboter via Profibus e Recherche ber Profibus allgemein und Erstellen einer Abhandlung dar ber e Entwurf und Programmierung einer graphischen Benutzeroberfl che e Entwurf und Programmierung der Bedienerf hrung im Touchpanel e Dokumentation zur entwickelten Software DIPLOMARBEIT LEGONATOR SEITE 13 ENTSTEHUNG 4 Entstehung 4 1Ausgangslage und Zielsetzung 4 1 1 Ausgangslage Die RK Automatisierungstechnik GmbH will sich in Zukunft auf Messest nden besser pr sentieren k nnen Um dies zu erreichen wird ein Industrieroboter gemeinsam mit allen f r seine Funktion ben tigten Komponenten in eine mobile Zelle verbaut Der Roboter soll dann dazu in der Lage sein mit Legosteinen das Firmenlogo auf eine Legosetzplatte zu bauen AK robotic INCREASE YOUR DEGREE OF AUTOMATION a OOA PAS Oi Abb 6 Aufbau des Logos mit Legosteinen Die Zufuhr neuer Legosteine und Setzplatten soll ber eine Art Schublade erfolgen Durch Sensoren soll der Roboter au erdem erkennen k nnen ob noch Bausteine oder Setzplatten vorhanden sind oder ob neue zugef hrt werden m ssen In diesem Fall setzen die Sensoren ein Signal ab Die Bedienung des Roboters erfolgt ber eine graphische Benutzeroberfl che mit einem Touchpanel ber das Benutzereingaben get tigt werden k nnen ber die GUI werden Befehle auf den Roboter abgesetzt und Fehlermeldungen seitens des Roboters ausgegeben Um a
77. n 222244444440000neneennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnrenn 74 6 4 Benutzereingabenverwaltung 2222244444440000nnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnn nn 77 L PONDU een nenn seele een ee 81 Ja Profibus Allgemein nee 81 72 Profibus DP een rest a nee een 81 722 FONGO ON ner nee E rer ehe 82 7 2 2 bertragungstechniken nern seen en 85 7 2 3 POCO KOI Oen E een 87 724 Kommunikation bei PROFIBUS uusnsneseesssssnnennsnnnnennennnnnennnnnnnennennnn 93 13 POENA ee ne a ee een 95 7 3 1 eNe BIiDIIOL MERKE ee ee ee ee ee ee 95 7 4 m gliche L sungsans tze nun 96 7 4 12 PROFIBUS on Raspberry Pi euuasuunnasenananenannsenannnenannnenannnennnnnennnnnnnnnnnnnennn 96 7 4 2 Single Chip Profibusschnittstelle uuuussssssssssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nen 97 7 4 3 SENN Produkte san ee ee 98 7 4 4 Sitara AM335X STIL EEK een 99 G RO UT een ea ana 101 31 ZUKUNESAUSSICHIEN a E E T S 101 8 2 Gewonnene Erfahrungen 44444444440nnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 102 O APO O a ee E E 103 10 AO ee ee EHE 104 iod 1012 GARTEN EINER INNERER RENTEN E EEE E E E 104 192 Literat rverzeichhis unse ae E E 109 1923 AbDIAUNasSVerzeIi DN ee neuere 112 1097 Tabellen VaTz eich nee 117 SEITE 2 DIPLOMARBEIT LEGONATOR EIDESSTAATLICHE ERKL RUNG 2 Eidesstaatliche Erkl rung Ich erkl re hiermit an Eides Statt dass ich die vorli
78. n Daher soll anhand eines kleineren Roboterarms der in einer Zelle verbaut wird das ganze Konstrukt berschaubarer gestaltet werden Hier kommt unsere Diplomarbeit ins Spiel Unsere Aufgabe war es sowohl den Mikrocontroller als auch das Display zu programmieren und somit den Roboter von einer kleineren Bedienoberfl che aus steuern zu k nnen Weiters sollte der Display in der Lage sein auf Signale der Sensoren zu achten wenn beispielsweise die Legosteine zur Neige gehen Der Mikrocontroller soll dann in weiterer Folge Signale an den Roboter senden um seine T tigkeit zu unterbrechen Also kurz gesagt unsere Diplomarbeit befasst sich mit der Programmierung eines Mikrocontrollers und dieser Vorgang wird auf den folgenden Seiten noch detaillierter ausgef hrt SEITE 4 DIPLOMARBEIT LEGONATOR EINLEITUNG 3 2 Abstract The Legonator project emerged from our wish to do a diploma thesis in order to graduate from the HTL for computer science in Perg Austria To achieve this goal the company RK Automatisierungstechnik GmbH supported us as the client They charged us with contributing to the creation of a fair stand which should be used to represent their company The robotic arm that the company plans to use on company fairs should later be able to reproduce the company s logo with Lego bricks Unfortunately such robots are usually unwieldy because of their weight and bulkiness Aside from that they need additional components to
79. n Es wird wie beim automatischen Betrieb das Roboterprogramm f r die Achsenbewegungen verwendet allerdings kann der Benutzer beim Tipp Betrieb bestimmen wann der Roboter weiterbauen soll und wann er aufh ren soll Daf r werden ihm ein Start und ein Stop Button zur Verf gung gestellt f Betriehsmadus F r die Auswahl einer dieser ee er Betriebsmodi steht auf dem a Ser TFT Display eine eigene T Ansicht zur Verf gung 20 define AUTO MODE i welche durch einen Button P e in der Buttonleiste oder define TIPP MODE 3 ber ein Symbol auf der Symbolleiste aufgerufen werden kann Der gew nschte Betriebsmodus wird durch Druck auf einen Button aktiviert F r jeden Betriebsmodus gibt es eine Konstante Der aktuelle Betriebsmodus wird ber die Variable selected_mode bestimmt char selected mode 1 Abb 62 Code Auszug Modus Konstanten SEITE 70 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG Die Betriebsmodus Ansicht enth lt drei Buttons f r die Auswahl des Betriebsmodus wobei der Button f r den aktuellen Modus mit einer Umrahmung gekennzeichnet wird In der Symbolleiste gibt es aul erdem ein Symbol das den aktuellen Betriebsmodus repr sentiert wie in den folgenden Abbildungen beschrieben wird mE E a a zu z unserer N Abb 65 Symbol Automatik Abb 64 Symbol Tipp Abb 67 Modus Ansicht Automatik Abb 66 Modus Ansicht Manuell Bei Aktivierung des Tipp Betriebsmodus wir
80. n Bildschirm Bereichs sssnssnsennsennsrnnsrnnsrinsrinsrrnsrnnn 59 Abb 49 Bitmap f r W rndreieck a 63 ADD EO POKORN TONTON oorr e E ee een 64 Abb 51 Code Auszug Draw_Bicolor_Image nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 65 Abb 52 Bilddarstellung auf TFT Display en ae aaa 65 ADD EFSTA DIAS CNIT secie E E ee ee ee res 66 Abb 54 Code Auszug Setzplattenarray 200002222000000000nnnnnnnnnn ons nn nnnnnnnnnnnnnnnnnnnnnnnnnnneneennnnn 66 Abb 55 unfertige Setzplatte laut Array unnnenssssnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 67 Abb 56 fertige Setzplatte laut At av nenen nner nnnn nn nnnnnnnnnnnnnnnnnnnnnnnn nenne 67 Abb 57 Setzplattenbildschirm sssenssennnnnnsennssrrnrrrereesssrrrrrrrrensrrrrrrrrtensrrnrtrrreensrrnrrreeeen gt 67 Abb 58 Code Auszug Draw_Plate Gr en snnssssssnsnsssssensesennnenesennnnrernrnennennnnneenenene nenene 68 AbD 59 Code A szug Draw Plate ea 68 Abb 60 Code Auszug Draw_Plate Unterscheidung 444444444444RRn nennen 69 Abb 61 Code Auszug Draw_Plate Aufruf nnnnnnnssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnna 69 Abb 62 Code Auszug Modus Konstanten 2224444nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 70 ADD 63 SyMDOL Manlell auuann ea 71 ADD OA YO ID Dee ee 71 ADD 65 SyMDOIAUVTOMA TIK ae area 71 ADD 66 MOAUS Ansicht Manuell kssin Aa 71 Abb 67 Modus Ansicht Automatik u 22220002220
81. n die neuen Ansichten aufgebaut werden SEITE 60 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG Um das Zeichnen der Bildschirmelemente zu erleichtern wurden zwei eigene Hilfsfunktionen definiert Fill_Rectangle und Fill_Gradient_Rectangle Diese greifen jeweils auf die Methoden der TFT Library siehe Kapitel 6 2 1 TFT_Set_Pen TFT_Set_Brush und TFT_Rectangle zu Somit ben tigt der Benutzer dieser Funktionen nur mehr einen Funktionsaufruf anstelle von drei Fill_Rectangle Parameter intx_upper_left X Koordinate der linken oberen Ecke int y_upper_left Y Koordinate der linken oberen Ecke int x_bottom_right X Koordinate der rechten unteren Ecke int y_bottom_right Y Koordinate der rechten unteren Ecke unsigned int border_color Farbe des Rahmens unsigned int fill_color Farbe der F llung Return Wert Nichts Beschreibung Zeichnet ein umrahmtes einfarbig gef lltes Rechteck an die Position die durch die bergebenen Koordinaten bestimmt wird Fill_Rectangle Parameter intx_upper_left X Koordinate der linken oberen Ecke int y_upper_left Y Koordinate der linken oberen Ecke int x_bottom_right X Koordinate der rechten unteren Ecke int y_bottom_right Y Koordinate der rechten unteren Ecke unsigned int color obere Farbe des Farbverlaufs unsigned int color2 untere Farbe des Farbverlaufs Return Wert Nichts Beschreibung Ze
82. ng Schinnerl zur Verf gung gestellt und hat eine Aufl sung von 128x64 also ideal f r das GLCD Display Wird das Touch Panel gemeinsam mit dem EasyTFT benutzt muss man daher die Koordinaten einer Ber hrung umrechnen da die jeweiligen Aufl sungen verschieden sind Abb 25 Touch Panel SEITE 34 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG 5 1 8 RS485 click 5V mpe ingt Mas ei EHAHLE F iHgHHnt Abb 26 RS485 Click Board Dieses Click Board wird durch die mikroBUS Technologie siehe 5 1 2 EasyAVR v7 angesteuert Es beherbergt eine RS485 Schnittstelle die als physikalische Verbindung f r die Profibus Kommunikation zum Roboter hin dienen soll 5 1 9 OPTO click ai Fr Abb 27 Opto Click Board An diesem Click Board soll sp ter die Sensorik angeschlossen werden welche f r die berwachung der Lego Zufuhr zust ndig ist Es beinhaltet Optokoppler die die Sensoren galvanisch vom Hauptboard EasyAVR trennen k nnen DIPLOMARBEIT LEGONATOR SEITE 35 RESSOURCENPLANUNG 5 2Software Im Folgenden wird die verwendete Software genauer erl utert und begr ndet warum wir uns f r diese entschieden haben 5 2 1 mikroC PRO for AVR 5 2 1 1 Allgemein Diese Entwicklungsumgebung f r die Programmiersprache C wurde f r die Programmierung des Mikrocontrollers verwendet Sie ist perfekt auf die Hardwarekomponenten von MikroElektronika und Mikrocontroller von AVR abgestimmt MikroC PRO for AVR ben
83. nikationsm glichkeit f r die elektronischen Komponenten herzustellen werden nat rlich viele verschiedene Kabel und Schnittstellen ben tigt DIPLOMARBEIT LEGONATOR SEITE 17 ENTSTEHUNG 4 1 4 Aufgaben und Zust ndigkeiten In diesem Kapital werden alle im Rahmen des Projektes zu erledigenden Aufgaben aufgef hrt Weiters wird hier erl utert bei welchen Personen bzw Organisationen die Zust ndigkeiten liegen Kurz Wer ist wof r verantwortlich Als Ressourcen stehen einerseits die zwei Personen des Diplomanden Teams und andererseits der Auftraggeber also die Organisation RK Automatisierungstechnik GmbH zur Verf gung RK Auftraggeber CA Christina Astleithner IS Irene St ger RK Entwurf und Aufbau der mobilen Roboterzelle Schreiben des Roboterprogramms zum Bauen mit RK Lego steinen Installieren der Sensorik Physikalische Verbindung zwischen allen Komponenten RK herstellen Recherche und Auswahl einer geeigneten Steuerplatine CA Bildschirm f r die Benutzeroberfl che Anbindung Display amp Zusatzmodule an den Mikrocontroller Heraussuchen von L sungsans tzen f r die Kommunikation zwischen Mikrocontroller amp Roboter ber Profibus Programmierung der Benutzeroberfl che Dokumentation der entwickelten Software Touch Bedienung programmieren Schreiben einer Ausarbeitung ber das Profibus Protokoll IS Tabelle 1 Zust ndigkeiten SEITE 18 DIPLOMARBEIT LEGONATOR ENTSTEHUNG
84. nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 40 5 3 2 GOHLLr LO EEE ee ee er Eee 41 5 3 3 GOOJIEDrIVe een N 41 5 3 4 E E E E 41 54 Kost nplaNUNg erneuern ee 42 Gi BUE e ee Re 42 523 ADe E N E E E E EE 42 5 4 3 AANE KO TON r ee ee 43 Bl EnO E a N a need TAA 5 4 5 SONSLIGEK OSTEN ee ee 44 Peo GEKOST E a ee ee eine ee ie eier 45 eE KELTON A eee E E E E A E E E E E 46 5 5 1 DOKU ee ae a ee ee ee ee 46 BE Ne ae ee 46 e PONE 17 lt MERPEERENERERERUFERFERBERERERE DENEDERLBEREEEREPEERPEUEEEERERE EEERENCEEERUERLEIERULDEREEEEERERERELLEERBENR 47 6 1 Programmspezifikationen aaa a EERE E NRE EENEN NRE E 47 62 BiBlIoWekKen nee E E EE E E E E EAN 47 6 2 1 Verwendete mikroC Bibliotheken sessnsosnnnesnnneerrnesrrrssrrnssrrresrrrsrrrrerrreserrrne 48 6 3 PONTON E a E E E eeeeee 56 6 3 1 Komponenten vorbereite Ma sieaa a a i aE 56 6 3 2 Allgemeiner Bildschirmaufbau uu4444444444RRRRRRnnnnnnnnnnnnnnnnnnnnnnnnnnnne 59 6 3 3 Bilder zeichnen ss2222uusssnsseneesnnnnnnnennnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnennnnnnenn 62 03 2 StartDlldschiiiii ceeenseee ee een ee nes 66 635 SElZplattenansicht une 66 6 3 6 Auswahl des Betriebsmodus 00222220002022nneennnnnnnennnnnnnennnnnnnn nennen 70 6 3 7 Statusanzeige des Greifers nnnnnnssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 72 BI DIS ARZT een E 73 DIPLOMARBEIT LEGONATOR SEITE 1 INHALTSVERZEICHNIS 6 3 9 Fehlermeldunge
85. nte Ansprech berwachung beim DP Slave Diese erkennt von selbst ob der Master ausgefallen ist Auch werden die Ausg nge der Slaves mittels Zugriffsschutz besch tzt DP V Durch DP V ist der azyklische Austausch von Daten und Alarmbehandlungen gegeben Besonders Ger te aus der Verfahrenstechnik unterst tzen diese Erweiterung Weiters wurde mit dieser Version der Online Zugriff auf Busteilnehmer ber Engineering Tools erm glich Im Folgenden ist ein Beispiel anhand eines Read Dienstes veranschaulicht DIPLOMARBEIT LEGONATOR SEITE 89 PROFIBUS g DPVI Dienstaufuf Header 6 Bere 5 C2 Read _ Request pi Be p n Master Karzqumiung Klasse 2 T3 u U er Poll uest Er Pollzyklen bis der Slave die Daten bereitstellt an Kurzqulttung O ze DP PollRequest He Header Poll Reqguest T ZHSH KRHR ESS S if Header Daten _ C2 Read Response Abb 89 DP V1 Read Dienst Weil der Slave f r die Aufbereitung der ben tigten Daten oft einige Millisekunden ben tigt wird meist nur der Empfang der Anfrage best tigt noch bevor Daten gesendet werden Dadurch kann der Master seine zyklische Datenverarbeitung fortsetzen und wird nicht lange aufgehalten Bei den weiteren Zyklen fragt der Master mittels Poll Telegrammen den Slave immer wieder ob die Daten nun endlich fertig sind Ist dieser noch nicht fertig sendet der Slave eine Kurzquittung Falls die Daten bereit sind bertr gt er diese
86. odi Die hier vorkommenden Begriffe und die Bedeutung der genannten Funktionalit ten werden im Glossar 10 1 bzw im n chsten Kapitel 5 1 4 erkl rt 5 1 4 Atmel ATmega1284P Der ATmega1284P ist ebenfalls ein 8 bit Mikrocontroller des Herstellers Atmel und geh rt der AVR Familie an Er ersetzt den Atmel ATmega32 als zentrale Steuereinheit da er ber weit mehr Speicherkapazit ten verf gt 5 1 4 1 Komponenten PA7 O PB7 0 Paiet Supervision 2 RESET POR i BOD PORT A 8 PORT B 8 END Timer RESET er C_i Oscillator Converter Comparator Eu Oscilator Internal Circuits EEFROM Bandgap reference Clock Generation bit T C 0 i TAGIOCD y Sbit T C 2 al FLASH SRAM 16bitica ET EF EFT PORT C 8 PORT D 8 Watchdog e 16bit T C 1 USART 1 TOSCAPC TOSC1PCE PC5 0 FDr O Abb 18 Blockdiagramm der Komponenten des Atmega1284P DIPLOMARBEIT LEGONATOR SEITE 29 RESSOURCENPLANUNG AVR CPU Die AVR CPU dient als zentrale Steuereinheit Ihre Hauptaufgabe ist die korrekte Ausf hrung des Mikrocontroller Programms Um dem nachzugehen muss die CPU auf Speicherregister zugreifen Rechenoperationen ausf hren die Peripherie steuern und mit Interrupts umgehen Data Bus 8 bif u Frograri Status Flash Counter i and Control Program Memory i qA KB Insiruction General Register Purpose i Hag strers Interrupt Unit SP
87. output DE RE Data enable Receiver enable Abb 86 RS485 Receiver Abb 85 RS485 Transmitter 7 2 2 1 RS485 Installation Zur Verbindung der Netzwerk Elemente wird bei der RS485 die Verwendung des Kabeltyps A dringend empfohlen Beim Anschluss ist besonders darauf zu achten dass die Datenleitungen nicht vertauscht werden Auch sollten die Datenleitungen m glichst separat von eventuell vorhandenen Starkstrom f hrenden Kabeln sein Ein Grund f r die Wahl dieses Kabeltyps ist dass Typ A geschirmt ist Somit ist es gewappnet gegen elektromagnetische St rstrahlungen Dar ber hinaus wird ein Potentialausgleich empfohlen Die RS485 geeigneten Steckverbinder die am Markt erh ltlich sind unterscheiden sich in ihrer Schutzart Aus der Praxis wei man dass Schwierigkeiten mit der bertragungstechnik bei PROFIBUS Systemen meist durch falsche Verkabelung und Installation hervorgerufen werden 7 2 2 2 UART UART Universal Asynchronous Receiver Transmitter ist eine elektronische Schaltung welche sehr g ngig f r die Realisierung digitaler serieller Schnittstellen an PCs bzw Mikrocontrollern ist Es kann entweder in Form eines SEITE 86 DIPLOMARBEIT LEGONATOR PROFIBUS eigenen Bauteils oder auch als Funktionsblock in einem intelligenteren Bauteil wie etwa einem Mikrocontroller vorkommen Die bertragung funktioniert ber einen seriellen digitalen Datenstrom der einen fixen Rahmen bietet Dieser Frame sieht wie folgt au
88. r ihm an dieser Stelle noch einmal f r alles was er f r uns getan hat danken SEITE 10 DIPLOMARBEIT LEGONATOR EINLEITUNG 3 5Projektauftrag 3 5 1 Die Idee 3 5 1 1 Problemstellung Das Unternehmen RK Automatisierungstechnik GmbH hat nach einem einfachen Weg gesucht bei ffentlichen Veranstaltungen wie etwa Berufs oder Firmenmessen einen bleibenden Eindruck auf die Veranstaltungsbesucher zu hinterlassen Durch Beobachtung von anderen Unternehmen kommt man schnell auf die Idee den Messebesuchern eine Art Kostprobe der Unternehmenst tigkeit zur Verf gung zu stellen So dekorieren etwa Floristen ihren Messestand mit den sch nsten Blumengestecken w hrend B ckereien kleine Leckereien an die Besucher verteilen Auf diese Weise erh lt das Publikum einen schnellen praktischen Einblick ins Firmengeschehen Leider stellt sich diese L sung bei einem Unternehmen das in der Automatisierungstechnik t tig ist als nur schwer umsetzbar heraus Das eine Problem ist dass die Industrieroboter mit denen die RK Automatisierungstechnik GmbH arbeitet meist sehr unhandlich und schwer zu transportieren sind Au erdem sind sie in der Praxis Teil eines gr eren Systems und k nnen in den meisten F llen nur durch die Zusammenarbeit mit zus tzlichen Komponenten ihre volle Funktion erf llen Der Anschluss und Transport all dieser Komponenten stellt nat rlich wieder zus tzlichen Aufwand dar Ein anderes Problem ist die Funktion des
89. register Input Output Schnittstellen auf diesem einen Chip Mikrocontroller alleine sind nutzlos Man ben tigt eine Schaltung in die der Controller eingesetzt wird Mikrocontroller werden dort verwendet wo sie einen begrenzten speziellen Aufgabenbereich abdecken k nnen Optokoppler Ein Optokoppler ist ein elektronisches Bauteil das f r die bertragung eines Signals zwischen zwei galvanisch getrennten Stromkreisen zust ndig ist Oszillator Ein Mikrocontroller ben tigt eine Taktversorgung um die internen Abl ufe im Prozessor in einer zeitlich geordneten Reihenfolge ausf hren zu k nnen Diese Taktversorgung wird von einem sogenannten Oszillator bernommen Die Taktfrequenz ist ausschlaggebend f r die Rechengeschwindigkeit des Mikrocontrollers Der ATmega1284P besitzt eine Taktfrequenz von 20 MHz SEITE 106 DIPLOMARBEIT LEGONATOR ANHANG Peripherieger t Ein Peripherieger t ist eine Komponente die sich nicht innerhalb einer Zentraleinheit befindet Sozusagen ist ein Peripherieger t vergleichbar mit einem Zubeh r Es erbringt Leistungen die ihm befohlen werden zum Beispiel das Setzen von Bausteinen auf eine Platte Polling Polling ist eine Methode die den Status eines Ger ts oder eine Wert nderung durch zyklisches Abfragen ermittelt PROFIBUS Profibus ist die Abk rzung f r Process Field Bus und ist ein Standard in der Automatisierungstechnik Er wird zur Kommunikation zwischen sowohl einem Master e
90. rkonstanten Sobald die Ansicht gewechselt wird wird auch der Wert von current_window ge ndert Somit kann problemlos abgefragt werden welches Fenster aktiv ist Je nach aktiver Ansicht k nnen so verschiedene Aktionen ausgef hrt werden Beispielsweise reagieren die Buttons f r die Auswahl des Betriebsmodus auch wirklich nur im Betriebsmodus Fenster auf Ber hrungen DIPLOMARBEIT LEGONATOR SEITE 79 PROGRAMMIERUNG ff der dynamische Teil des Bildschirms wurde ber hrt else ff welches Fenster ist aktiv switch current window d case MAINWINDOW if y_coord 3 75 gt 180 amp amp y_coord 3 75 lt 2430 i Meldungen Button wurde gedr ckt LF ix_coord 2_5 gt 35 amp amp x coord 2 5 135 1 Draw Error Windowi A Setzplatte Button rurde gedr ckt ifii ix coord 2_5 gt 210 amp amp ix coord 2_5 310 d Draw Plate Window l break case PLATEWINDOW Zur sk Button gedr ckt Lfliy_ coord 3 75 gt Z00 amp amp y coord 3_75 230 EE fr zrnrA 7 G FFAA EEE lv mrnnard 7 G e In 1 Abb 82 Code Auszug Benutzereingaben im dynamischen Teil des Layouts In diesem Beispiel wird etwa die Reaktivit t des Startbildschirms implementiert Die beiden Buttons Meldungen und Setzplatte gibt es nur im Startbildschirm Und deshalb sollten sie auch nur dann auf Benutzereingaben reagieren wenn dieser gerade auf dem Display dargestellt wird SEITE 80 DIPLOMARBEIT LEGONATOR PROF
91. rschiedenen Protokolle ist Der besonders relevante Teil f r die Diplomarbeit ist der violett eingef rbte Teil der Grafik F r eine gro e bertragungssicherheit bei einer FDL Kommunikation sorgen die Telegrammformate des PROFIBUS Layer 2 Tritt ein Fehler bei den Telegrammen auf wird der bertragungsvorgang automatisch wiederholt 7 2 3 1 Osi Referenzmodell DP Vo PD V DP V2 6 Darstellungsschicht 5 Sitzungsschicht Nicht verwendet 4 Transportschicht 3 Vermittlungsschicht Sicherungsschicht Fieldbus Data Link FDL Master Slave Verfahren Token Passing Verfahren 1 Physikalische Schicht bertragungstechnik RS485 Optisch MBP SEITE 88 DIPLOMARBEIT LEGONATOR PROFIBUS Schicht 7 Wenn man Profibus anhand des OSI Referenzmodells betrachtet befinden sich auf der Anwendungsschicht drei DP Protokolle Sie wurden Schrittweise entwickelt und werden als DP Vo DP V und DP V2 bezeichnet Ihre Definition sieht folgendermalfsen aus DP Vo DP Vo bietet den zyklischen Austausch von Daten und Diagnosen Vor allem in der allgemeinen Automatisierungstechnik sowie in der Maschinensteuerung sind Ger te die diese zyklische Funktion unterst tzen zu finden Schutzfunktionen Die Nachrichten bertragung hat eine Hamming Distanz von 4 Somit werden alle 1 Bit Fehler erkannt und korrigiert Die 2 Bit Fehler werden bei der HD 4 nur erkannt und nicht korrigiert Eine weite Schutzfunktion ist die sogenan
92. rteilt Befehle und einem Slave erledigt Befehle verwendet als auch zwischen zwei oder mehr Mastern Profibus dient damit also dem schnellen Austausch zwischen der Steuerung und den ausf hrenden Ger ten RAM RAM Random Access Memory Speicher mit wahlfreiem Zugriff ist ein Datenspeicher der oft bei Computern als Arbeitsspeicher verwendet wird Dabei kann eine Speicherzelle direkt ber ihre Speicheradresse angesprochen werden Soc SoC bedeutet System on a Chip auch Ein Chip System und bezeichnet die Integration von Funktionen eines Systems auf einem einzigen Chip also einem integrierten Schaltkreis SPI SPI Serial Peripheral Interface ist ein Bussystem f r einen synchronen seriellen Datenbus Es wird blicherweise auf kurze Distanzen verwendet Die Kommunikation erfolgt im Full Duplex Modus und basiert auf einer Master Slave Architektur wobei es nur einen Master gibt SPS SPS Speicherprogrammierbare Steuerung ist ein Ger t welches eine steuernde bzw regulierende Aufgabe erf llt Es erteilt also in den meisten F llen Befehle DIPLOMARBEIT LEGONATOR SEITE 107 ANHANG SRAM SRAM bezeichnet eine statische Art von RAM Die darin gespeicherten Informationen sind fl chtig weshalb sie bei Abschaltung der Betriebsspannung verloren gehen Solange diese jedoch anliegt k nnen die Dateninhalte im statischen RAM beliebig lange gespeichert werden TFT LCD TFT LCD steht f r Thin Film Transistor Liquid Crystal Displ
93. ry lock features enabled Verify Erase CODE DATA FUSE Bits Load _ OCDEN RSTDISEL oo Disabled JTAGEN CKDIVS Reload Reload 7 SPI Enable CKOUT 8 Startup 6 CK 14K WOTON p 14 CK EESAWE BOOTRST Boot block 2048 Words Save Dave CODE DATA External Clock EEE EEE Options CODE Size 128 K Type Unknown Progress DATA Size 4096 Bytes Device Status Idle CODE HEX File CHUSERS CHRBETINA ASTLEITHNE DOCUMENTS MIKROELEKTRONIKA MOTOM DATA HEX File Abb 33 AVRFlash Programmer DIPLOMARBEIT LEGONATOR SEITE 39 RESSOURCENPLANUNG 5 3Sonstige Software Tools 5 3 1 Microsoft Office 2013 Microsoft Office 2013 ist ein umfassendes Paket aus verschiedenen Programmen welche man im B roalltag brauchen kann Wir verwenden unterschiedliche Programme aus dem Office Paket Microsoft Word e laufende Recherchen e Erstellung diverser Dokumente e Erstellung dieser schriftlichen Ausarbeitung Abb 34 Microsoft Word Logo Microsoft PowerPoint e Erstellung des Layouts f r die verschiedenen Ansichten der Bildschirme welche f r das TFT Display entwickelt worden sind e Erstellen von Projektpr sentationen Abb 35 Microsoft Powerpoint Logo Microsoft Excel e Kostenplanung aufstellen Diagramme zeichnen siehe Kapitel 5 4 Kostenplanung e Abbildungsverzeichnis f hren X Abb 36 Microsoft Excel Logo SEITE 40 DIPLOMARBEIT LEGONATOR
94. s Seren pe Pe Pe EZ Bit Abb 87 UART Frame Meist werden aber nur Rahmen im Umfang von acht oder neun Bits gesendet Das Besondere an UART ist dass es asynchron arbeitet In Folge dessen ben tigt die bertragungsleitung kein eigenes Taktsignal Allerdings muss nach dem Senden eines Datenframes eine Busruhe von mindestens 33 Bit Zeiten gegeben sein damit der Empf nger den Sendeabschluss erkennen kann F r die Kommunikation zwischen UART Baugruppen m ssen ein Sender und ein Empf nger der anderen Baugruppe am Stecker gegen berstehen 7 2 3 Protokolle F r die bertragung wird das FDL Protokoll Fieldbus Data Link verwendet welches als Basisprotokoll f r alle anderen Profibus Protokolle gilt Oft wird es auch Buszugriffsprotokoll genannt Es sorgt f r eine einheitliche Daten bertragung bei PROFIBUS Dabei sind die Funktionen f r alle Profile identisch Einer der Vorteile dieses Protokolls ist die Geschwindigkeit da durch die hohe Hardwaren he ein dementsprechender Telegrammdurchsatz m glich ist Ein Nachteil ist dass es nicht f r die bertragung von kleinen Datenmengen also jenen unter 240 Byte geeignet ist DIPLOMARBEIT LEGONATOR SEITE 87 PROFIBUS Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical La yer Abb 88 Profibus im Schichtenmodell Anhand dieser Grafik von Siemens ist zu erkennen wie komplex der Zusammenhang der ve
95. s angibt F r das Aufnehmen einer neuen Fehlermeldung in die Liste aller Fehler wurde die Funktion Add_Error definiert Add_Error Parameter char msg Meldungstext des Fehlers unsigned char priority Priorit t des Fehlers Return Wert Nichts Beschreibung Erzeugt einen neuen Fehler mit den gegebenen Parametern und nimmt ihn in die Liste aller Fehlermeldungen error Array auf indem der Fehler auf die n chste freie Position gelegt wird Tabelle 14 Funktionsbeschreibung Add _Error Um die n chste freie Position zu ermitteln wird das Array durchlaufen und nach Standard Errors durchsucht mit welchen das Array in der Funktion Init_Errors bef llt wurde Standard Errors werden dadurch erkannt dass sie eine Priorit t von 255 besitzen Sobald das Programm also auf besagten Standard Error st t kann an dieser Position ein neu erzeugter Fehler der sich aus den bergebenen Parametern zusammensetzt eingef gt werden Auf dem Display werden alle Fehler die sich momentan in der Fehlerliste befinden durch die Fehleransicht ausgegeben ber das Warndreieck in der Symbolleiste oder durch einen entsprechenden Button am Startbildschirm l sst sich diese aufrufen DIPLOMARBEIT LEGONATOR SEITE 75 PROGRAMMIERUNG Zu Testzwecken wurden hier bereits drei Fehlermeldungen angelegt Die Anzeige sieht folgendermafsen aus Abb 76 Fehler Symbol Abb 77 Fehlermeldungs B
96. sbesuchern mit nach Hause genommen werden damit diese sich auch sp ter noch an die Firma erinnern k nnen Die intuitive Bedienung des Roboters soll ber eine graphische Benutzeroberfl che erfolgen 3 5 1 3 Abgrenzung Diplomarbeit Was wir dazu beitragen Es soll eine graphische Benutzeroberfl che zur Verf gung gestellt werden ber die der Motoman sowohl von den Vortragenden als auch von den Messebesuchern bedient werden kann Auch diese wird sp ter in der Zelle verbaut Kontrolliert wird die Oberfl che ber einen Mikrocontroller der die zentrale Steuereinheit des Systems repr sentiert und sp ter auch die Kommunikation zwischen GUI Sensorik und Motoman bernehmen soll Aufgabe der Diplomarbeit ist nun einerseits die Programmierung dieser Benutzeroberfl che auf dem Mikrocontroller und andererseits das Auffinden von L sungen f r die Kommunikation zwischen Industrieroboter und dem Mikrocontroller selbst ber das Profibus Protokoll SEITE 12 DIPLOMARBEIT LEGONATOR EINLEITUNG 3 5 2 Zusammenfassung Aufgaben Im Folgenden sind alle Arbeiten die im Rahmen der Diplomarbeit zu erledigen waren noch einmal grob zusammengefasst e Recherche und Auswahl einer geeigneten Steuerplatine die als zentrale Steuereinheit f r den Roboter die Sensorik und die Benutzeroberfl che dient e Anbindung der Komponenten welche die Benutzeroberfl che darstellen an den Mikrocontroller e Herausarbeiten von L sungsans tzen f r die Ko
97. se Schnittstelle dazu sich mit einem Rechner zu verbinden der daraufhin ein Programm auf den Mikrocontroller schreiben bzw vom Mikrocontroller lesen kann 2 mikroProg on board Programmer Dieser dient zur Programmierung des Mikrocontrollerss auf dem Entwicklerboard mikroProg ist eine Technologie die unter anderem die Programmierung von ungef hr 65 verschiedenen AVR Mikrocontrollern von Atmel ber USB 2 0 erlaubt Somit kann der Mikrocontroller der sich auf dem Board befindet jederzeit ausgetauscht werden ohne dass am Entwicklungsrechner etwas an der Software Konfiguration ge ndert werden muss Aufserdem erleichtert dieser on board Programmer die Verbindungsherstellung mit dem Rechner ungemein Dieser ben tigt nur mehr entsprechende USB Treiber und die AVRFlash Software siehe Kapitel 5 2 2 AVRFlash zur Benutzung von mikroProg 3 mikroBUS Sockets Der mikroBUS ist ein relativ neuer Standard von MikroElektronika Diese Technologie erm glicht es zus tzliche Boards sogenannte Click Boards via Plug and Play anzustecken bzw auszustecken ohne etwas an der Hardware Konfiguration ndern zu m ssen Diese Sockets werden f r die beiden Click Boards OPTO click und RS485 click verwendet siehe Kapitel 5 1 8 RS485 und 5 1 9 OPTO click SEITE 24 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG 4 Dip Schalter Diese Schalter erm glichen es verschiedene Hardwarekomponenten des Boards hinzu bzw wegzuschalten Damit kann
98. spiel Dokumentation der mikroC Pro vor AVR Libraries Ein Vorteil der Bibliotheken von MikroElektronika ist allerdings dass die Funktionsaufrufe f r verschiedene Mikrocontroller gleich sind So kann jederzeit der Mikrocontroller ausgetauscht werden ohne viel am Programmcode ndern zu m ssen Daf r wird in den Projektspezifikationen eines mikroC Projektes festgelegt auf welchen Mikrocontroller es laufen soll Dementsprechend werden dann die passenden Bibliotheken hinzugef gt Um die Bibliotheken ins Projekt einzubinden wird der Library Manager von mikroC siehe 5 2 1 2 verwendet 6 2 1 Verwendete mikroC Bibliotheken Es folgt eine Liste aller f r das Programm verwendeten Bibliotheken deren Funktionen und deren Verwendungszweck SEITE 48 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG ADC Library Diese Bibliothek bietet Routinen f r die Verwendung eines Analog zu Digital Konverter Moduls Ein solches Modul ist in vielen Mikrocontrollern wie im ATmega1284P bereits verbaut verwendete Funktionen ADC _Init Parameter Return Wert Beschreibung Initialisiert ein ADC Modul Verwendung Initialisiert das ADC Modul um die analogen Signale die vom Touch Panel bei einer Ber hrung abgesetzt werden in digitale umzuwandeln Tabelle 7 Funktionen der ADC Bibliothek ANSIC C String Library C_String Diese Bibliothek stellt eine Reihe von Standard ANSI C Bibliotheksfunktionen zur Verf gung die f r die Manipulation von Zeichenke
99. ten der TFT Library Tabelle 10 Funktionen der TFT Bibliothek Verwendung Retu rn Wert Return Wert DIPLOMARBEIT LEGONATOR SEITE 53 Diese Bibliothek bietet Funktionen an die das Arbeiten mit dem Touch Panel erleichtern Sie setzt allerdings voraus dass die Touch Panel Connections zum Mikrocontroller bereits auf entsprechenden Ports des Mikrocontrollers definiert sind verwendete Funktionen TP_Init unsigned int display_width L nge des Touch Panels unsigned int display_height H he des Touch Panels char readX_ChNo ADC Channel von dem die X Koordinate einer Ber hrung gelesen wird char readY_ChNo ADC Channel von dem die Y Koordinate einer Ber hrung gelesen wird Return Wert Beschreibung Initialisiert ein Touch Panel Verwendung Initialisiert das Touch Panel TFT_Set_ADC_Threshold Parameter unsigned int color Farbe mit der der Bildschirm gef llt werden soll Return Wert Beschreibung Legt den Ansprechwert f r ein Touch Panel fest also Verwendung Parameter Return Wert Beschreibung Verwendung Parameter Return Wert Beschreibung Kalibriert die rechte obere Ecke des Touch Panels Verwendung Kalibriert die rechte obere Ecke des Touch Panels Parameter SEITE 54 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG TP_Press_Detect Return Wert 1 falls das Touch Panel ber hrt wurde o falls nicht
100. ter der Klasse 2 handelt es sich um Engineering bzw Bedienger te Sie dienen dem Festlegen der Konfigurationen und Parametereinstellungen des DP Systems und m ssen nicht permanent am Bus angeschlossen sein Im Gegensatz zum DP Master Klasse agiert jener auf Klasse 2 nur zur Bedarfsdaten bertragung DIPLOMARBEIT LEGONATOR SEITE 83 PROFIBUS 7 2 1 1 Adressierung Die Adressen der Teilnehmer k nnen relativ frei zwischen o und 126 vergeben werden Dabei ist von Bedeutung dass jeder Teilnehmer eine eindeutige Adresse besitzt Adresse Zweck O reserviert f r Diagnosewerkzeuge Teoh Die Master sollten die niedrigsten Adressen haben Ein einzelner Master hat damit die Adresse 1 n 1 25 Slave Adressen 126 reserviert als Auslieferungsadresse default f r Stationen deren Adresse ber den Bus eingestellt wird 127 Broadcast Adresse Tabelle 15 Profibus Adressbereiche 7 2 1 2 GSD Dateien GSD Dateien Ger te spezifische Daten sind jene Dateien die Eigenschaften eines Profibus Teilnehmers beschreiben Beispiele hierf r w ren die Baudrate Ein Ausg nge Statusmeldungen etc Dabei ist die Struktur dieser Dateien fix vorgeschrieben Dies bedeutet dass beim Anbinden eines Ger tes von einem anderen Hersteller die GSD Datei in das Parametrierwerkzeug des Masters importiert werden muss Die PNO PROFIBUS Nutzer Organisation verwaltet die GSD Dateien aller Hersteller 7 2 1 3 Zust nde Dam
101. tionen genannt Bei der zyklischen Nutzdaten bertragung liest der Master zyklisch die Eingangsinformationen von den Slaves aus und schreibt die Ausgangsinformation an jene Slaves zur ck Beim PROFIBUS DP sind bertragungsraten von bis zu 12 Mbit s erreichbar Somit entsteht die M glichkeit 1024 Bit Ein Ausgangsdaten auf 32 Teilnehmer in weniger als 2 ms zu verteilen Weiters gibt es auch leistungsf hige Funktionen zur Diagnose und der Inbetriebnahme so wird der Datenverkehr sowohl von Seiten des Masters als auch von Seiten der des Slaves berwacht Auch gibt es Funktionen f r eine m glichst rasche Fehlerlokalisierung Dabei werden die Diagnosemeldungen beim Master zusammengefasst Unterscheiden kann man dann diese in drei Stufen e Stationsbezogene Diagnose Meldungen bzgl Betriebsbereitschaft z B bertemperatur e Modulbezogene Diagnose Meldungen bzgl Fehler innerhalb eines I O Segments z B 8 Bit Ausgangsmodul e Kanalbezogene Diagnose Meldungen bzgl Fehler eines einzelnen Ein Ausgangs z B Kurzschluss von Ausgang 2 7 2 1 Konfiguration Beim PROFIBUS DP sind sowohl Mono als auch Multi Master Systeme m glich Das heift die Slaves k nnen entweder von einem einzelnen Master wie bei unserer Diplomarbeit oder auch von mehreren Mastern Befehle SEITE 82 DIPLOMARBEIT LEGONATOR PROFIBUS erhalten Als Maximum in einem DP System k nnen 126 Ger te Slaves und Master gemeinsam an den Bus angeschlossen werd
102. ts chlich funktionieren w rde da das Projekt selbst noch in den Kinderschuhen steckt und besonders f r die Kommunikation auf h heren Schichten noch keine ausgereiften L sungsans tze vorhanden sind Weiters m sste noch ein gewisser Arbeitsaufwand in das Projekt investiert werden Zum einen m sste das Roboterprogramm f r den Bauprozess geschrieben werden was sich angesichts dessen dass noch nicht sicher ist ob die Kommunikation zum Roboter hin berhaupt funktioniert als verlorene Liebesm h entpuppen k nnte Sollte das Projekt trotz allem weiterhin fortgesetzt werden so m sste man wahrscheinlich die Kommunikation mit dem Roboter und die Verarbeitung der Sensor Signale auf eine andere Komponente auslegen und sie nicht auf dem Mikrocontroller der die grafische Benutzeroberfl che betreibt laufen lassen Der Grund Das Aufbauen des Layouts und die Verwaltung der Benutzereingaben sind speicherintensiver als anfangs angenommen Mit dem Programm der Diplomanden wird bereits etwa die H lfte des verf gbaren Speichers belegt Um trotzdem einen fl ssigen Programmablauf zu gew hren m ssten also die anderen Aufgaben ausgelagert werden DIPLOMARBEIT LEGONATOR SEITE 101 RES MEE 8 2Gewonnene Erfahrungen Im Laufe dieser Diplomarbeit haben wir einige sehr wertvolle Erfahrungen gemacht die ich an dieser Stelle gerne noch einmal zusammenfasse Erstens lernten wir wie wertvoll freie Software und offene Standards sind In vielen Bere
103. tten und Arbeitsspeicher Operationen zust ndig sind verwendete Funktionen strcpy Parameter char to Zeichenkette in die kopiert werden soll char from Zeichenkette die kopiert werden soll Return Wert char kopierte Zeichenkette Beschreibung Kopiert eine bergebene Zeichenkette in eine andere bergebene Zeichenkette und berschreibt deren Inhalt dabei vorhergesehene Strukturvariable Tabelle 8 Funktionen der C_String Bibliothek DIPLOMARBEIT LEGONATOR SEITE 49 PROGRAMMIERUNG Sprint Library Sprintf Diese Bibliothek enth lt quivalente zu den ANSI C Standard Funktionen sprintf sprintl und sprintif verwendete Funktionen Parameter char wh Zeichenkette in die kopiert werden soll const code char f Format String Variablen oder Literale die im Format String vorkommen Nichts Schreibt den Format String in eine bergebene Zeichenkette und wandelt dabei alle Literale die im Format String vorkommen nach Angabe um Wird zur Ausgabe von Integer Werten als Text auf dem Easy TFT Board verwendet Tabelle 9 Funktionen der Sprint Library Return Wert Beschreibung Verwendung TFT Library TFT TFT_Defs Diese Bibliothek bietet eine Reihe von Funktionen f r die Initialisierung und die grafische Ausgabe am TFT Display Die Verwendung dieser Bibliothek setzt voraus dass die Display Connections f r das TFT Display zum Mikrocontro
104. uch ist sie mit einer Abmessung von nur 125x130 mm HxT relativ klein und kompakt Preislich liegt das Einsteigerpaket bei ca 850 SEITE 98 DIPLOMARBEIT LEGONATOR PROFIBUS 7 4 4 Sitara AM335x Starter Kit In den meisten heutzutage verwendeten L sungen wird eine Architektur wie in folgender Grafik verwendet EEE PROFIBUS RS 485 RLRIOLFLI Processor ASIC FPGA Transceiver Abb 94 Typische PROFIBUS Implementation Bei solchen L sungen l uft am Mikroprozessor der PROFIBUS den die Anwendungsschicht ben tigt und die industrielle Applikation Ein eigener ASIC oder FPGA welcher sich dann um die Implementierung des PROFIBUS Protokolls k mmert und ein RS485 Transceiver stellt die Verbindung zur Physikalischen Schicht her Ein ASIC application specific integrated circuit ist ein integrierter Schaltkreis der f r eine bestimmte Aufgabe hergestellt wurde Der FPGA Field Programmable Gate Array ist ebenfalls ein integrierter Schaltkreis dieser kann aber ber eine logische Schaltung programmiert werden I BEO1176T RS 485 Transceiver _ Isolation _ Abb 95 Profibus L sung von Texas Instruments Texas Instruments hat nun die Funktionen des PROFIBUS in den Sitara AM335x ARM Cortex A8 Prozessor integriert Dadurch verbindet sich das Ger t direkt mit dem RS485 Tranceiver und ben tigt nicht l nger einen PROFIBUS ASIC oder FPGA Die PRU programmable real time unit implementiert eine
105. ungsspannung erhalten Die darin gespeicherten Informationen k nnen elektrisch gel scht werden EEPROMs werden h ufig bei Mikrocontrollern eingesetzt um Informationen ber die Laufzeit des Mikrocontroller Programms hinaus zu speichern GLCD GLCD steht f r Graphic Liquid Crystal Display und ist eine Art von LCD Display die zwei verschiedene Farben darstellen kann Dabei wird eine Farbe durch die LCD Hintergrundbeleuchtung bestimmt w hrend die andere eine Kontrastfarbe dazu darstellt ILIg341 ILIg341 ist ein SoC Treiber f r ein TFT LCD Display mit einer Aufl sung von 240x320 Pixeln und 172 800 Bytes grafischen RAM f r die Darstellungsdaten der 240x320 Pixeln DIPLOMARBEIT LEGONATOR SEITE 105 ANHANG JTAG LCD JTAG steht f r Joint Test Action Group und bezeichnet einen Standard der eine Methodik f r das Testen und Debuggen integrierter Schaltungen z B Mikrocontroller beschreibt LCD steht f r Liquid Cristal Display und bezeichnet einen Bildschirm der mithilfe von Fl ssigkeitskristallen Bilder anzeigen kann Diese Fl ssigkeitskristalle beeinflussen je nach der anliegenden Spannung die Polarisationsrichtung von Licht und k nnen somit verschiedene Farben darstellen Mikrocontroller u Controller Mikrocontroller sind programmierbare Systeme die aus nur einem Chip bestehen Ein Chip Systeme Dabei befindet sich im Gegensatz zu herk mmlichen Prozessoren die gesamte Peripherie Prozessor MCU Timer Speicher
106. uro com DIPLOMARBEIT LEGONATOR SEITE 43 RESSOURCENPLANUNG 5 4 4 Lizenzkosten F r die Entwicklung sowie Dokumentation wurden verschiedene Software Produkte ben tigt In der nachstehenden Tabelle wird veranschaulicht wie viel eine Neuanschaffung unserer Programme kosten w rde Kostentr ger Anzahl St ckkosten Betrag Microsoft Windows 7 Home i 17 90 17 90 Premium u n2 Microsoft Windows 7 Ultimate 79 90 Microsoft Office 2013 gt u ZZ Professional 539 79 mikroC PRO for AVR 498 00 Gesamt 1619 02 Tabelle 4 Kosten Software 5 4 5 Sonstige Kosten Die sonstigen Kosten sind Annahmen welche Kosten w hrend dem Ablauf der Diplomarbeit zus tzlich entstanden w ren Kostentr ger Betrag Internetgeb hren 17 00 Telefongeb hren 10 00 B romaterial 5 00 Gesamt 32 00 Tabelle 5 sonstige Kosten SEITE 44 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG 5 4 6 Gesamtkosten In der nachstehenden Tabelle sind die Gesamtbetr ge noch einmal zusammengefasst Dabei wird deutlich dass in der realen Arbeitswelt der Grof teil der Kosten durch die Arbeitsleistung entstanden w re Kostentr ger Betrag Arbeitsleistung 14 000 00 Lizenzen 1 619 02 Hardware 245 90 Sonstige 32 00 Gesamt 15 896 92 Tabelle 6 Gesamtkosten Gesamtkosten u Arbeitsleistung u Lizenzen u Hardware u Sonstige Abb 40 Gesamtkosten Diagramm DIPLOMARBEIT LEGONATOR SEITE 45
107. utzt AVRFlash siehe unten um Schreib und Lesezugriffe auf den Mikrocontroller abzusetzen Der geschriebene Code wird mit einem ANSI C Compiler kompiliert der speziell auf Mikrocontroller Programmierung angepasst ist Auf erdem bietet mikroC eine Vielzahl an Software bzw Hardwarebibliotheken und praktische Tools G LTFT mpav DEE 5 GCIR nikroC PRO for A 5 0 0 C Users Christin Eile Edit View Project Build Run Tools Help EA E DEAD EATNBE ide BAB bd m h02 TE Code Explorer 3 MotomanGUI_TFT c z EZ Project Manager 1 1 MotomanGUI_T 3 2 amp 2 PA j Doak ae H Add_E ror 2 j ei naegee E ES MotomanGUI_TFT mcpav Calibrate TFT Rectangle 95 110 185 145 Sources Draw_Bicolor_Image Fill Rectangle 185 122 195 132 CL TEAL CL TEAL 3 MotomanGUI_TFT c H O Draw Details _Window 1 break Header Files Draw Eror Window 1 case GRIPPER_ROLDING Binaries Ka Nrau Main winda er TFI_Rectangle 95 155 185 190 Project Level Defines el t Fill Rectangle 185 167 195 177 CL_TEAL CL_TEAL Image Files Ei Project Settings 3 8 860 break EEPROM Files Eg Device gt Active Comments Files Output Files Name ATMEGA1284P mi Other Fies 3 void Draw Details Window rer 2 Library Manager B Project Explorer 4 amp MCU Clock char buffer 10 2 990 lt LibStock Fl altes Bild l schen Frequency 20 000000 MHz Fill Rectangle 86 31
108. weils an welcher Bitmap sie sich zu orientieren hat sprich welches Bild gezeichnet werden soll wird jedes Bild ber eine Bildkonstante repr sentiert F ff Bildkonstanten I define TRIANGLE 1 s dafine AUTOMATIC 2 F def nse INFO 3 10 def ne HAND F def ne ARROW 5 E define MOTOMAN amp Abb 50 Bildkonstanten In der Funktion wird das zu zeichnende Bild Pixel f r Pixel anhand einer bergebenen Bildh he und l nge in einer Schleife durchlaufen SEITE 64 DIPLOMARBEIT LEGONATOR PROGRAMMIERUNG In erw hnter Schleife wird mit einem Switch die Bildkonstante angesehen und je nach dieser wird das n chste zu zeichnende Pixel aus der entsprechenden Bitmap gelesen Anhand des Wertes der jeweiligen Position im Bitmap Array wird dann mit der Methode TFT_Dot ein Pixel auf dem Display mit einer entsprechenden Farbe ausgemalt switch ito_draw case 1 if triangle bm p j tii img width 0 if triangle bmp jt i img_width 1 TFT Dot x upper lefttj y upper leftti colorl if triangle bmp j t i img_width 2 TFT Dot ix upper left j y upper leftti color break case i if automatic bmp jt i img wideh 0 fF_ i ontomati hrr 3 4 i 1 3 meor rri dthi l 11 Abb 51 Code Auszug Draw_Bicolor_lmage Das Dreieck aus Abb 49 Bitmap f r Warndreieck wird nun folgendermafsen auf dem TFT Display gezeichnet Abb 52 Bilddarstellung auf TFT Display DIPLOMARBEIT LEG
109. wird im Rahmen der Matura der HTL Perg angefertigt daher entstehen auch keine Kosten f r die beiden Diplomanden Diese Kostenaufstellung dient lediglich der Darstellung wie viel ein Projekt in diesem Umfang in der Wirtschaft kosten w rde Selbstverst ndlich wurde f r die Arbeitsleistung oder andere Kosten nichts in Rechnung gestellt Einige Kosten sind allerdings tats chlich aufgetreten wie zum Beispiel f r die Entwicklungsumgebung oder auch f r unser Entwicklungsboard Diese wurden aber von dem Unternehmen RK Automatisierungstechnik GmbH bernommen Sie werden in der folgenden Aufstellung ber cksichtigt 5 4 2 Arbeitsleistung In der folgenden Tabelle wird berechnet wie viel unsere Arbeitsleistung in der Wirtschaft wert w re Der Stundensatz ist nur ein Richtwert und kann in der Realit t variieren Kostentr ger Stunden Stundensatz Betrag Christina Astleithner 200 35 00 7 000 00 Irene St ger 200 35000000008 7 000 00 Gesamt 14 000 00 Tabelle 2 Kosten Arbeitsleistung SEITE 42 DIPLOMARBEIT LEGONATOR RESSOURCENPLANUNG 5 4 3 Hardwarekosten Die Hardwarekosten wurden sowohl von der Firma RK Automatisierungstechnik GmbH als auch von der Schule bernommen S Schule RK Auftraggeber Kostentr ger Anzahl St ckkosten Betrag Bezahlt von Transceiver 1 2 00 2 00 S Gesamt 245 91 Tabelle 3 Kosten Hardware Wechselkurs 0 89 It http www waehrungsrechner e
110. work properly And sometimes only one company agent takes part in the fair and one person alone does not easily take such a big unwieldy robot plus a lots of additional components with him The solution to this problem is building a mobile cell containing both the robot and all the components needed We contribute to this goal with our diploma project Our task was to program a user interface on a small touch display to interact with the robot Therefore we use a microcontroller Additionally the display should be able to react to signals it gets from external sensors These sensors measure the state of the robot s environment For example there s a sensor which counts the amount of on hand Lego bricks The microcontroller should also be able to send such signals to the robot and to adapt its behaviour due to the gotten signals To sum it our diploma thesis deals with programming the microcontroller to provide a user interface forthe robot This process is explained in detail on the following pages DIPLOMARBEIT LEGONATOR SEITE 5 EINLEITUNG 3 3Team 3 3 1 Christina Franziska Astleithner Kontakt u Ober St Georgen 22 4372 St Georgen am Walde G 0680 32 530 32 gt lt christina astleithner gmail com Pers nliche Angaben Geburtsdatum 13 08 1996 in Amstetten Religionsbekenntnis r m kath i Abb 1 Astleithner Christina Familie Josef Astleithner Unternehmer Holzschl gerung und r ckung Monika Astle
111. y com gFoCE163 CE06 4D94 Ag7A 0o56AB146BgF7 FinalDownload Downloadld 1E5506BB8B 883C5B95BEC39B1A7F193 9FoCE163 CE06 4D94 Ag7A 0o56AB146BgF7 app_notes ILlg341 pdf DIPLOMARBEIT LEGONATOR SEITE 111 ANHANG 10 3 Abbildungsverzeichnis Die in dieser Arbeit enthaltenen Abbildungen stammen aus verschiedenen Quellen die in folgender Tabelle angef hrt sind Abb o halbtransparenter Legostein auf dem Deckblatt erstellt von Christina Astleithner mit GIMP Abb 1 Astleithner Christina Foto Hartlauer Abb 2 Irene St ger Foto Albin SmartArt zusammengestellt von Irene St ger beinhaltet e Abb Abb 3 Abb 2 Abb 96 e Abb 97 Abb 4 HTL Perg Abb 5 RK Automatisierungstechnik GmbH Abb 6 zusammengestellt aus Abb 97 und einem anderen Bild das von Christina Astleithner mit dem LEGO Digital Designer erstellt wurde Abb 7 Grafik zusammengestellt aus verschiedenen Word Formen Textfeldern und Bildern beinhaltet Abb o Legostein auf Deckblatt eine Pixelgrafik des Industrieroboters erstellt von Irene St ger eine Fotografie eines Mikrocontrollers entnommen vom Conrad Online Shop eine Fotografie des TFT Displays mit Touchpanel von Christina Astleithner Abb 8 10 Abb 11 entnommen aus dem Benutzerhandbuch des Yaskawa Motoman Grafik zusammengestellt aus Word Formen Textfeldern und einer Fotografie des Entwicklungsboards entnommen aus Abb 12 dessen Produktbeschreibung im MikroElektronika Onl
112. zung 44444444444440000000RRRRRRRnnnnRnnn nn nn nn nn nn nn nn nn nn 14 aa AU Janod E e E 14 4 1 2 System bersicht 2sssusuenneneennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 15 4 1 3 KOMPONeRtenVDerI een 17 4 1 4 Aufgaben und Zust ndigkeiten 422444444444000nnnnnnnnnnnnnnnnnnnnnnennnnnnnnn 18 4 1 5 Zielsetzung uusnnnsssesssessnnnnnnnnnnnnnnennnnnnnnnnnnnennnnnnnnnnnnnnnnennnnsnnnnnnnnnnnnnnnnnnnnn 19 E ROSO enp PIOWERTSERSWERTPENERERESERENESTPENERENFEETENERFIENEBENFLENENERTUENERTNELERENESTIENERTSTLETENERSEENRTRN 21 e E e i E E ee ee en ee een en een een 21 5 1 1 Yaskawa Motoman Industrieroboter ueeeennssseeenesnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 21 5 1 2 ESYA VR AN re edle 23 5 1 3 Atmel ATmega22 usesseesnssensnnnensnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnennnn 28 5 1 4 Atmel AlmegasssiP een 29 DAL CECD DIDI ee ie 33 5 6 Eyi BOI nee ee ee en 34 INHALTSVERZEICHNIS 5 1 7 Touch Panel u uuuueesssssneesnsnnnnennnnnnnennnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnennnnnnenn 34 5 1 8 ROLO UK EV een ee 35 519 OPTOG ven E E E E E E 35 B TORVE E E E E E 36 5 2 1 MikroC PRO for AVR naeeesenessnnssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 36 532 ANRO N ee E ren ee E E 39 53 Soncige Solare 100 essers rinni res EAEn EATE ES EENES ENTRES ETENE EATE ETEN 40 5 3 1 Microsoft Office 2013 eeeeennnneneennnnnnnnennnn
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 - 山田照明 Graco 333013B User's Manual Untitled - Support Sagemcom Acer AL2021ms 20'' ChRoMicro - Cheap Robotic Microhelicopter HOWTO (EN) Kidde 0916 Smoke Alarm User Manual DUALphone 4088 User Manual v13.indd Sybase SQL Anywhere Studio Base Server 9.0 for Mac, Unix, PC Návod k použití digitálního regulátoru Copyright © All rights reserved.