17
BIOE Bau- und Startanleitung V1.3 (DIL-Public) Dipl.-Ing. Klaus Weichinger / [email protected] / www.bioe.at.tt 2. Oktober 2010 Kurzfassung Diese Anleitung soll jedem als Starthilfe dienen, der sich mit dem BIOE-System (Basic Input Out- put Elements) und dem BIOE-Starter-Paket befas- sen will. Der zweite Abschnitt befasst sich mit dem Zusammenbau des Starter-Paketes, das es erm¨ogli- chen soll, erste Experimente mit dem BIOE-System durchf¨ uhren zu k¨onnen. In den weiteren Abschnit- ten wird auf das BIOE-Konzept und die Einbin- dung in Scilab/ Scicos unter Windows und dem Echtzeitbetriebssystem RTAI-Linux eingegangen. Es steht bereits eine Vielfalt an Funktionsm¨oglichkeiten (z.B. AD-Wandler, PWM-Generatoren, Inkremental- decoder) zur Verf¨ ugung, von denen die Wichtigsten n¨aher beschrieben werden. Einige n¨ utzliche Hinweise und Anwendungsbeispiele runden diese Startanleitung am Schluss ab. Lizenz und Informationen Alle Texte, Abbildungen, Schaltpl¨ane und Layouts des BIOE-Projekts unterliegen der Creative Commons Namensnennung-Weitergabe unter gleichen Bedingun- gen 3.0 Unported Lizenz. Der gesamte Quellcode des BIOE-Projekts unterliegt der Creative Commons GNU General Public License 2.0. Im Gegenzug sei jeder Nutzer animiert durch Anwendungsbeispiele, Projek- tideen, Schlatpl¨ane und L¨osungsvorschl¨age zur Wei- terentwicklung des BIOE-Systems beizutragen. Ge- nauere Informationen dazu finden sie in der Datei licence.txt im BIOE-Projektordner. Reproduzierung und Verwendung des BIOE-Systems und aller zugeh¨origen Komponenten (Hard- und Soft- ware) auf eigenes Risiko. Haftungsausschluss f¨ ur jeg- licheSch¨adenundVollst¨andigkeit. 1 Einf¨ uhrung Das BIOE-System (entwickelt in [1] ur Echt- zeitanwendungen, weitergef¨ uhrt unter [2]) soll eine kosteng¨ unstige, einfache und dennoch leistungsf¨ ahige oglichkeit bieten mit einem PC mit einer paralle- len Druckerschnittstelle und einem Echtzeitbetriebs- system ein Automatisierungssystem f¨ ur Regelungsauf- gaben zu erstellen. Wesentlich am BIOE-Konzept ist, dass das System aus einzelnen Elementen besteht, die ¨ uber einen ge- meinsamen Bus am PC angeschlossen sind und kom- plexere Aufgaben (z.B. Auslesen eines Sensors, Tor- zeitmessung) direkt am Element ausgef¨ uhrt werden. Die Daten¨ ubertragung beschr¨ ankt sich auf die ferti- gen Zahlenwerte, wobei die aktuelle Version auf 16bit ausgelegt ist. Die Initialisierung der Hardware und die Umsetzung der Zahlenwerte auf die Ein- und Ausg¨ ange geschieht selstst¨ andig am BIO-Element. Dies hat zur Folge, dass die Ansteuerung neuer Senso- ren und Aktoren direkt am BIO-Element selbst imple- mentiert wird, wodurch die Entwicklung von Treibern am PC wegf¨ allt. Diese Eigenschaft bringt wesentliche Vorteile f¨ ur die Wartung des Automatisierungssystems mit sich. Diese Anleitung soll nun einen leichten Einstieg in das BIOE-System erm¨ oglichen, indem der Bau eines eigenen BIOE-Systems beschrieben und anschließend die Anbindung an Scilab/Scicos (siehe [7, 8]) gezeigt wird. Mit dem Startpaket, das aus einer LPT-Interface Platine und einem BIO-Element besteht, k¨ onnen be- reits einfache Regelungsaufgaben realisiert werden. Das Startpaket kann dabei jederzeit durch weitere BIO-Elemente erweitert werden. Die LPT-Interface Platine besitzt zus¨ atzlich eine Programmierschnitt- stelle, mit der die Firmware auf das BIO-Element ¨ ubertragen werden kann (siehe 2.6), und eine 5 V Spannungsquelle, welche mit 8 - 12 V versorgt werden kann. 1

Dipl.-Ing. Klaus Weichinger / [email protected] / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

BIOE Bau- und Startanleitung V1.3 (DIL-Public)

Dipl.-Ing. Klaus Weichinger / [email protected] / www.bioe.at.tt

2. Oktober 2010

KurzfassungDiese Anleitung soll jedem als Starthilfe dienen,

der sich mit dem BIOE-System (Basic Input Out-put Elements) und dem BIOE-Starter-Paket befas-sen will. Der zweite Abschnitt befasst sich mit demZusammenbau des Starter-Paketes, das es ermogli-chen soll, erste Experimente mit dem BIOE-Systemdurchfuhren zu konnen. In den weiteren Abschnit-ten wird auf das BIOE-Konzept und die Einbin-dung in Scilab/Scicos unter Windows und demEchtzeitbetriebssystem RTAI-Linux eingegangen. Essteht bereits eine Vielfalt an Funktionsmoglichkeiten(z.B. AD-Wandler, PWM-Generatoren, Inkremental-decoder) zur Verfugung, von denen die Wichtigstennaher beschrieben werden. Einige nutzliche Hinweiseund Anwendungsbeispiele runden diese Startanleitungam Schluss ab.

Lizenz und InformationenAlle Texte, Abbildungen, Schaltplane und Layouts

des BIOE-Projekts unterliegen der Creative CommonsNamensnennung-Weitergabe unter gleichen Bedingun-gen 3.0 Unported Lizenz. Der gesamte Quellcode desBIOE-Projekts unterliegt der Creative Commons GNUGeneral Public License 2.0. Im Gegenzug sei jederNutzer animiert durch Anwendungsbeispiele, Projek-tideen, Schlatplane und Losungsvorschlage zur Wei-terentwicklung des BIOE-Systems beizutragen. Ge-nauere Informationen dazu finden sie in der Dateilicence.txt im BIOE-Projektordner.

Reproduzierung und Verwendung des BIOE-Systemsund aller zugehorigen Komponenten (Hard- und Soft-ware) auf eigenes Risiko. Haftungsausschluss fur jeg-liche Schaden und Vollstandigkeit.

1 EinfuhrungDas BIOE-System (entwickelt in [1] fur Echt-

zeitanwendungen, weitergefuhrt unter [2]) soll einekostengunstige, einfache und dennoch leistungsfahigeMoglichkeit bieten mit einem PC mit einer paralle-len Druckerschnittstelle und einem Echtzeitbetriebs-system ein Automatisierungssystem fur Regelungsauf-gaben zu erstellen.

Wesentlich am BIOE-Konzept ist, dass das Systemaus einzelnen Elementen besteht, die uber einen ge-meinsamen Bus am PC angeschlossen sind und kom-

plexere Aufgaben (z.B. Auslesen eines Sensors, Tor-zeitmessung) direkt am Element ausgefuhrt werden.Die Datenubertragung beschrankt sich auf die ferti-gen Zahlenwerte, wobei die aktuelle Version auf 16 bitausgelegt ist. Die Initialisierung der Hardware unddie Umsetzung der Zahlenwerte auf die Ein- undAusgange geschieht selststandig am BIO-Element.Dies hat zur Folge, dass die Ansteuerung neuer Senso-ren und Aktoren direkt am BIO-Element selbst imple-mentiert wird, wodurch die Entwicklung von Treibernam PC wegfallt. Diese Eigenschaft bringt wesentlicheVorteile fur die Wartung des Automatisierungssystemsmit sich.

Diese Anleitung soll nun einen leichten Einstieg indas BIOE-System ermoglichen, indem der Bau eineseigenen BIOE-Systems beschrieben und anschließenddie Anbindung an Scilab/Scicos (siehe [7, 8]) gezeigtwird.

Mit dem Startpaket, das aus einer LPT-InterfacePlatine und einem BIO-Element besteht, konnen be-reits einfache Regelungsaufgaben realisiert werden.Das Startpaket kann dabei jederzeit durch weitereBIO-Elemente erweitert werden. Die LPT-InterfacePlatine besitzt zusatzlich eine Programmierschnitt-stelle, mit der die Firmware auf das BIO-Elementubertragen werden kann (siehe 2.6), und eine 5VSpannungsquelle, welche mit 8−12V versorgt werdenkann.

1

Page 2: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

2 Bausatz AnleitungVor dem Zusammenbau wird zur Vollstandigkeit

noch eine kleine Lotfiebel angefuhrt.

2.1 Kleine LotfiebelDas gefahrliche Ende des Lotkolben (Abbildung 2)

soll bei bleihaltigem Lotzinn ca. 360 C, und bei blei-freien Lotzinn 390 C wahrend dem Lotprozess ha-ben. Wenn vorhanden soll das Lotschwammchen an-gefeuchtet werden, dass zum Entfernen verschlackterZinnruckstande verwendet werden kann. Als Lotzinnempfiehlt sich ein Elektroniklot mit ca. 0.8mm oder1mm Durchmesser und die Lotspitze sollte wennmoglich bleistiftspitzartig sein.

Es empfiehlt sich auch die Bauteile vor demEinloten vorzubereiten. Ist ein Abwinkel der Bautei-le notig, empfiehlt es sich eine Zange zu verwenden(Abbildung 1), damit die bei der Biegung auftreten-den mechanischen Belastungen nicht uber das Bauteilubertragen werden und so Beschadigungen vermiedenwerden.

Abbildung 1: Vorbereitung eines Bauteils

Um das Einloten der Bauteile zu erleichtern, kannman die Beinchen nach dem Einsetzen in die Lei-terplatte abwinkeln (Abbildung 2). Dadurch halt derBauteil von selbst und man hat eine Hand fur ande-re Tatigen zur Verfugung. Beim Einloten setzt mannun den Lotkolben auf das Bauteilbeinchen und dasLotauge und fuhrt dann das Lotzinn zu, bis sich ei-ne schone kegelige Lotstelle ergibt und die Bohrungvollstandig ausgefullt ist. Wahrend des Erkaltens derLotstelle darf der Bauteil keinesfalls bewegt werden,da man sonst eine kalte Lotstelle bekommt und dieszu Wackelkontakten in der Schaltung fuhren kann.Kugelformige Lotstellen sind schlechte Lotstellen undsind deshalb nachzubessern.

Um schief montierte Bauteile zu verhindern (z.B.bei Leuchtdioden), soll man zuerst ein Beinchenanloten, dann den Bauteil richten und erst anschlie-ßend die zweite Lotstelle fertigstellen. Bei IC-Sockelnist es wichtig, dass dieser auf der Leiterplatte aufliegt,damit beim spateren Einstecken des Bauteils nichtein vorhandener Spielraum dazu fuhrt, dass Lotau-gen oder gar Leiterbahnen ausbrechen. Dazu lotet maneinfach zwei diagonale Lotaugen an, erwarmt diese an-schließend wieder und druckt dabei den IC-Sockel andie Leiterplatte an bis die Lostellen ausgekuhlt sind.Achtung: die Bauteile konnen sehr warm wer-den!

Anschließend verwendet man den Seitenschneiderund schneidet die zu langen Beinchen des Bauteils

knapp an der Lotstelle ab (Abbildung 2). Unbedingtsoll darauf geachtet werden, dass die abge-zwickten Beinchen nicht wegfliegen und z.B. inein anderes Gerat durch Luftungsschlitze fal-len. Bei den IC-Sockeln reicht es, dass die zwei diago-nale Beinchen leicht umgebogen werden. Achtung: beiden IC-Sockeln auf die Kerbe achten (meist eine halb-runde Ausnehmung an einem Ende). Diese gibt spateran, wie der Bauteil in die Fassung eingesetzt werdenmuss.

Abbildung 2: Einloten eines Bauteils

Einige weitere Hinweise:

1. Immer mit dem Einloten der kleinen Bauteilenbeginnen (Widerstande, Keramikkondensatoren,Leuchtdioden). Erst anschließend die großerenwie z.B. IC-Sockel und Steckverbinder.

2. Es soll darauf geachtet werden, dass Bauteile par-allel bzw. im rechten Winkel eingelotet werden.Es schaut nicht nur schoner aus, sondern erleich-tert auch z.B. den Einbau der Platine oder dasEinstecken von Steckern.

3. Fur Lotanfanger: Es wird empfohlen, zuerst dieBIOE-Evaluation Platine anzufertigen, da dieseam unkritischsten ist und man so diese zur Ein-arbeitung nutzen kann.

Beachtet man die Punkte in dieser Lotfiebel,konnen Fehler durch den Zusammenbau reduziert wer-den und somit die Qualitat und Langlebigkeit der er-stellten Leiterplatten wesentlich erhoht werden.

2.2 Bestuckung der PlatinenNun konnen mit Hilfe der Bauteilliste in der Ta-

belle 1 und den Bestuckungsplanen in den Abbildun-gen 3 und 4 die Platinen bestuckt werden. Zur Un-terstutzung ist die Widerstandsfarbcodetabelle in Ab-bildung 5 bereitsgestellt. Bei den LED’s kann die Po-lung anhand der unterschiedlich langen Beinchen unddes inneren Aufbaus erkannt werden (wie in Abbil-dung 6), wobei diese Merkmale nicht immer stimmenmussen.

2

Page 3: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

Stk. Kurzel Bauteilbeschreibung

1 R1 33 kΩ Widerstand15 R2 . . . R16 470Ω Widerstand1 R17 10 kΩ Widerstand4 R18 . . . R21 1 kΩ Widerstand

7 C1 . . . C7 100 nF Keramik Kond.2 C8, C9 22 pF Keramik Kond.2 C10, C11 220µF Elektrolyth Kond. 25V

1 D1 1N4001 Diode2 D2 . . . D3 Leuchtdiode grun, 3mm1 D4 Leuchtdiode rot, 3mm

1 IC1 ATMEGA16-16PU (mit Sockel)2 IC2, IC3 74HCT573N (mit Sockel)1 IC4 7805 5V Festspannungsregler

1 J1 Jumper (mit Stiftleiste)1 J2 Stromversorgungsstecker1 J3 Stiftleiste 20 polig abgewinkelt2 J4 . . . J5 Wannenstecker 14 polig1 J6 DSUB Stecker 25 polig1 J7 Buchsenleiste 6 polig

6 B1 . . . B6 Drahtbrucken1 Q1 16 MHz Quarzoszillator1 S1 4facher DIP-schalter2 LPT-ISP-Power & AVR Platine

Tabelle 1: Bauteilliste

Abbildung 3: Bestuckungsplan fur die BIOE-LPT-ISP-Power Platine

Abbildung 4: Bestuckungsplan fur die BIOE-AVR Pla-tine

Abbildung 5: Widerstandsfarbcode fur Kohleschicht-widerstande (4 Ringe)

Abbildung 6: Polung einer Leuchtdiode

3

Page 4: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

Abbildung 7: Die fertigen Platinen (teilweise mit SMDWiderstande und Kapazitaten bestuckt)

2.3 Anfertigung des Datenkabels

Bei der Anfertigung des Datenkabels ist besondersauf die Polung und die Orientierung des Steckers amKabel Acht zu geben. Die Polung ist durch einen Pfeilseitlich am Stecker markiert. Dieser Pfeil muss immerauf der Seite des Kabels sein, auf der sich die rote Aderdes Flachbandkabels befindet.

Im ersten Schritt werden die beiden Stecker A undC am Ende des ca. 1m langen Kabels montiert. Sehrgut eignet sich dazu ein Straubstock. Dabei wird dasKabel in den Stecker gesteckt (naturlich auf die Ori-entierung, Polung und die Rechtwinkeligkeit achten,siehe Abbildung 8) und anschließend der Stecker mitdem Schraubstock zusammengepresst bis ein Einras-ten zu horen ist. Sind die Stecker A und C montiert,wird der Stecker B in die andere Richtung orientiertmontiert.

Im zweiten Schritt werden die Stecker A und C um180 gewendet und durch die Kabelsicherungsbugelgesichert, wie es in Abbildung 9 abgebildet ist. Es be-steht die Moglichkeit jederzeit das Kabel mit Steckerzu erweitern um zusatzliche Module am BIOE-Bus be-treiben zu konnen.

Abbildung 8: Befestigung der Stecker A, B und C

Abbildung 9: Fertiges Kabel nach Befestigung der Ka-belsicherungsbugel

2.4 Test der Funktion

Sind die Platinen fertig zusammengebaut, werdensie nun auf ihre Funktionstauglichkeit uberpruft.

Schritt 1: Zuerst wird die BIOE-LPT-ISP-PowerPlatine uber den Steckverbinder J2 in Abbildung 3 mitca. 8 . . . 12V = versorgt. Ist zusatzlich der Jumper J1gesetzt, leuchtet die grune Leuchtdiode D3 auf. Warez.B. ein Kurzschluss vorhanden, wurde die Leuchtdi-ode gar nicht oder nur schwach leuchten und bereitsnach kurzer Zeit eine starke Erwarmung des Festspan-nungsreglers IC4 einsetzen.

Schritt 2: Es wird nun bei unbestromter BIOE-LPT-ISP-Power Platine die BIOE-AVR Platine in dieSteckleiste J7 von der BIOE-LPT-ISP-Power Plati-ne gesteckt. Hierbei unbedingt auf die Polung achten.Die mit Rot und Schwarz markierten Pins der Strom-versorgung sollten ein falsches Einstecken vermeiden.Wird die BIOE-LPT-ISP-Power Platine nun uber J2versorgt und leuchtet die grune Leuchtdiode D3, istdie Stromversorgung in Ordnung (d.h. die BIOE-AVRPlatine hat ebenfalls keinen Kurzschluss). Wenn dieBIOE-Firmware bereits auf die BIOE-AVR Platine ge-spielt worden ist (siehe Abschnitt 2.5 und 2.6), musstedie rote Leuchtdiode D4 schnell blinken was bedeu-tet, dass die Firmware mit der DTN000 lauft. Ist dieFirmware noch nicht uberspielt worden, kann an dieserStelle der Download nach Abschnitt 2.6 durchgefuhrtwerden.

Schritt 3: Nun wird mit dem Flachbandkabel dasBIOE-AVR Platine an die BIOE-LPT-ISP-Power Pla-tine angebunden. Die LPT-Platine wird an die paral-lele Schnittstelle des PC’s gesteckt und uber J2 mitEnergie versorgt. Mit den Programmen BIOE-DUDEund BIOE-GUI kann nun die Kommunikation getes-tet werden, wobei der erste Test das Suchen der BIO-Elemente am Bus sein wird. Mit dem DIP-SchalterS1 in Abbildung 4 kann die Adresse des Elements inbinarer Form gesetzt werden. Entsprechend der Codie-rung wird dann das entsprechende Element in beidenProgrammen angezeigt. Im Weiteren sei auf die Ab-schnitte 5 und 6 verwiesen.

Schritt 5: Abschließend konnen mit einer Test-routine, die im Programm BIOE-DUDE vorhandenist, die Ein- und Ausgange auf Kurzschlusse uber-pruft werden. Hierfur werden laut DTN003 (siehe Ab-schnitt 4) der Ausgang OUT0 mit dem Eingang IN0,OUT1 mit IN1 usw. verbunden. Ist das Element mitder Adresse 0 codiert, kann mit folgendem Komman-dozeilenaufruf

bioedude -adr 0 -testiodtn003

4

Page 5: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

der Test durchgefuhrt werden. Sind alle Ein- undAusgange in Ordnung, sollte das Programm folgendeAusgabe liefern:

==================================================bioedude V1.3 by Weichinger Klaus - [email protected]==================================================Used settings: port: 888

cs: 1speed: 0pause: 9

==================================================# Setting device address to 0.# Execute I/O test on device 0 using DTN003

1) setting DTN003 ... Done2) write OUT= 0 read IN= 0 ... test OK3) write OUT= 1 read IN= 1 ... test OK4) write OUT= 2 read IN= 2 ... test OK5) write OUT= 4 read IN= 4 ... test OK6) write OUT= 8 read IN= 8 ... test OK7) write OUT= 16 read IN= 16 ... test OK8) write OUT= 32 read IN= 32 ... test OK9) write OUT= 64 read IN= 64 ... test OK10) write OUT =128 read IN=128 ... test OK11) write OUT= 0 read IN= 0 ... test OK12) Result: I/O test OK13) setting back to DTN000

==================================================

Mit dem erfolgreichen Abschluss des 5ten Schrittessind somit die Datenkommunikation mit dem BIO-Element und die Ein- und Ausgange des Moduls er-folgreich getestet.

2.5 Download der Firmware mit STK200

Um das BIOE mit der eigentlichen Funktion zuversehen, muss das Programm fur den Mikrocon-troller, die Firmware, in diesen uberspielt werden.Das Programm wurde in Assembler geschrieben undliegt im entsprechenden Projektordner als komplilierteHEX-Datei bioe.hex vor, welche mit dem Programmavrdude (siehe [3, 4]) in das BIOE uberspielt werdenkann. Hierfur kann das BIOE-LPT-Interface mit ei-nem speziellen Adapterkabel als STK200 kompatiblesProgrammiergerat verwendet werden, wie es auch inder Abbildung 10 dargestellt ist. Man beachte, dassdas BIOE entweder uber das Adapterkabel oder uberden BIOE-Bus Stecker mit einer Spannung von 5Vversorgt werden muss. Fur die Spannungsversorgungkann das BIOE-Evaluation-Board und das zuvor ange-fertige Buskabel verwendet werden. Die 6-polige Buch-senleiste des Adapterkabels muss, wie in Abbildung 10angedeutet, an die entsprechende Stelle der Stiftleistedes BIOE’s angeschlossen werden.

Abbildung 10: BIOE Firmware Programmiergerat

Die HEX-Datei kann nun mit dem folgenden Pro-grammaufruf in den Mikrocontroller des BIOE’s uber-spielt werden. Fur nahere Informationen oder beiProblemen sei auf die Dokumentation unter [3] vonavrdude verwiesen.

>avrdude -p m16 -c stk200 -P lpt1 -U flash:w:BIOE.hex-U lfuse:w:0xFF:m -U hfuse:w:0xC1:m

Wurde der parallele Port durch eine Erweiterungskartehinzugefugt und kann weder durch lpt1, lpt2 nochlpt3 erreicht werden, kann die hexadezimale Adresse(z.B. 0x2000) anstatt lpt1 verwendet werden.

2.6 Download der Firmware ab V1.3Alternativ zum STK200 Adapter gibt es eine neue

BIOE-LPT Ausfuhrung, welche bereits mit einem Pro-grammiersockel und einer 5V Spannungsversorgungausgestattet ist (siehe Abbildung 11).

Abbildung 11: BIOE-LPT-DIP Modul mit In SystemProgramming (ISP) Interface und 5V Stromversor-gung

Um das BIOE Modul zu programmieren muss die-ses in die 6polige Buchsenleiste gesteckt werden (sieheAbbildung 12, Achtung: auf die roten und schwarzenMarkierungen achten). Da die Pinbelegung nicht mehrSTK200 kompatibel ist, mussen folgende Zeilen in derDatei avrdude.conf erganzt werden:

5

Page 6: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

programmerid = "BIOELPTISP ";desc = "BIOE -LPT board with ISP&Power extension ";type = par;sck = 5;mosi = 9;reset = 7;miso = 11;

;

Anschließend kann nun die BIOE-Firmware BIOE.hexmit den beiden Programmaufrufen in das Modulubertragen werden:

>avrdude -p m16 -c BIOELPTISP -P lpt1-U lfuse:w:0xFF:m -U hfuse:w:0xC1:m

>avrdude -p m16 -c BIOELPTISP -P lpt1-U flash:w:BIOE.hex

Obwohl der Download erfolgreich war, fangt die roteLED nicht automatisch an zu blinken. Um die Funk-tionalitat des BIO-Elements zu Uberprufen, muss die-ses aus der Programmierschnittstelle gezogen und anden BIOE-Bus geschlossen werden. Erst jetzt sollte dierote LED blinken.

Abbildung 12: Programmieren des BIOE-AVRModuls

3 Das BIOE-Konzept

Das BIOE-Konzept basiert auf einer Master-SlaveKommunikation, wobei der PC den Master, und dasBIO-Element den Slave darstellt. Die Slaves antwor-ten nur auf Anfrage des Masters. Die Kommunikationfindet uber einen parallelen 4 bit breiten Bus (Tabel-le 2) statt, wobei gleichzeitig 4 bit gesendet und 4 bitempfangen werden konnen. Mit einer Chip-Select Lei-tung (CS) wird eine Ubertragung indiziert und eineTaktleitung (CLK) wird zur synchronen Ubertragungverwendet (Abbildung 13).

PIN Name Beschreibung

1 Vcc +5V Versorgung2 GND Masse der Versorgung (rote Litze)3 CS Chip-Select (vom Master)4 CLK Clock (vom Master)5 DO0 Bit 0 Master→Slave6 DO1 Bit 1 Master→Slave7 DO2 Bit 2 Master→Slave8 DO3 Bit 3 Master→Slave9 DI0 Bit 0 Slave→Master10 DI1 Bit 1 Slave→Master11 DI2 Bit 2 Slave→Master12 DI3 Bit 3 Slave→Master13 NC nicht in Verwendung14 NC nicht in Verwendung

Tabelle 2: BIOE Bus Pinbelegung

Jedes BIO-Element verfugt uber 16 Endpunkte.Ein Endpunkt besteht dabei jeweils aus einem 16 bitSchreibregister (EPx-OUT) und einem 16 bit Lesere-gister (EPx-IN), wobei die Senderichtung hier aus derSicht des PC’s definiert sei. Aus der Sicht des BIO-Elements wird von einem Empfangsregister (EPx-RXentspricht EPx-OUT) und einem Senderegister (EPx-TX entspricht EPx-IN) gesprochen. In einer Ubertra-gung (Abbildung 13), die auch Transaktion genanntwird, werden gleichzeitig ein Wert in das EPx-OUTgeschrieben und der Wert aus EPx-IN gelesen.

Mit Hilfe der sogenannten Device-Type-Number(im Folgenden DTN genannt) konnen wahrend derInitialisierung den BIOE’s die entsprechende Funk-tion zugewiesen werden. Jedes BIOE verfugt bereitsuber alle zur Verfugung stehenden Funktionen. Mitder DTN wird dann die entsprechende Konfigurati-on aktiviert. Z.B.: DTN=50: bei dieser Konfigurationwerden 2xADC und 2xPWM am BIOE eingeschaltenund die jeweiligen Werte den Endpunkten zugewiesen(siehe Abschnitt 4). D.h. bei der entsprechenden Ak-tivierung einer DTN-Konfiguration wird die zugehori-ge Initialisierung am BIOE durchlaufen und dann an-schließend permanent eine Schleife durchlaufen, beider beispielsweise der ADC ausgelesen und anschlie-ßend der Wert in das zugehorige EPx-TX Register ge-schrieben wird. Achtung: Hier findet keine Syn-chronisation zwischen BIOE-Transaktion undder ADC-Abtastungen statt.

Der wesentliche Vorteil dieses Konzeptes liegt dar-in, dass die Kommunikation und das Handhaben derDaten auf der PC-Seite ident ist, egal ob es sichum einen ADC-Wert oder einen Inkremental-DecoderZahlerstand handelt. Die jeweilige Funktion verstecktsich dann hinter der entsprechenden DTN und denEndpunkten. Benotigt man eine neue Funktion, mussdiese am BIOE und nicht am PC implementiert wer-den.

6

Page 7: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

CS HHHHHHHHHHHHHHHHHHHHHHHHHH

CLK LL

DO0-3 VVVVVVVVVVVVVVVVADR EP-NR O15:12 O11:8 O7:4 O3:0 CK

DI0-3 ZZZZZZZUVVVVVVVVI15:12 I11:8 I7:4 I3:0 CK

Abbildung 13: BUS-Signale einer Transaktion

Diese Trennung zwischen Kommunikation undFunktion und die Einfuhrung der DTN haben im we-sentliche folgende Vorteile

• Keine Treiber Probleme

• Anderungen auf der PC-Seite nicht mehr notig

• die BIOE’s konnen untereinander ausgetauschtwerden trotz anderen Verwendungszwecks

• Skalierbarkeit durch Verwendung entsprechenderAnzahl von BIOE’s

• Die Kommunikation ist erprobt. Liegt ein Pro-blem bei der Implementierung neuer DTN-Funktionen vor, kann dieses auf die Funktions-implementierung selbst beschrankt werden.

• Ubertragungsgeschwindigkeit ist berechenbar, dajede Transaktion gleich lange dauert.

Weiters hat sich herausgestellt, dass trotz der in dieJahre gekommenen verwendeten parallelen Schnitt-stelle dank PCI-Express Karten um (25 − 50 Eu-ro) nahezu jeder Rechner (selbst teilweise Netbooks)mit einer parallelen Schnittstelle ausgestattet werdenkonnen. Achtung: USB-Parallel Adapter funktionie-ren wegen der Paket orientierten Ubertragung vonUSB nicht (bzw. nicht mit ausreichender Geschwin-digkeit; Stichwort: Bit-banging).

4 BIOE-Konfigurationen

Die hier angefuhrte Auflistung stellt die in V1.3mitgebrachten veroffentlichten Konfigurationen. Esgibt jedoch noch weitere, die z.B. noch in der Ent-wicklungsphase sind bzw. auf spezielle Anwendungenzugeschnitten sind. Auch sind leider einige der DTNhier nicht vollstandig dokumentiert (z.B. DTN090).

;=============================================; DTN003 - 8bit Eingange und 8bit Ausgange;=============================================;; +---------------------------------+; |DTN 003 AREF+-; | IN OUT P15 +- IN 7; |EP2 OUT8 P14 +- IN 6; |EP3 IN8 P13 +- IN 5; |EP4 P12 +- IN 4; |EP5 P11 +- IN 3; |EP6 P10 +- IN 2; |EP7 P9 +- IN 1; |EP8 GND +-; |EP9 P8 +- IN 0; |EP10 P7 +- OUT 7; |EP11 RES +-; |EP12 P6 +- OUT 6; |EP13 VCC +-; |EP14 P5 +- OUT 5; | P4 +- OUT 4; | P3 +- OUT 3; | P2 +- OUT 2; | P1 +- OUT 1; | P0 +- OUT 0; +---------------------------------+

;=============================================; DTN050 - 2x10bit PWM; 2x10bit ADC;=============================================;; +---------------------------------+; |DTN 050 AREF+- 5V Out; | IN OUT P15 +-; |EP2 PWM1 P14 +-; |EP3 PWM2 P13 +- ADC2 In; |EP4 OUT P12 +- ADC1 In; |EP5 P11 +- OUT2; |EP6 ADC1 P10 +- OUT1; |EP7 ADC2 P9 +- OUT0; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +- ACTIVE; |EP13 VCC +-; |EP14 P5 +-; | P4 +-; | P3 +- PWM2 Out; | P2 +- PWM1 Out; | P1 +- DIR 2; | P0 +- DIR 1; +---------------------------------+;; ADC1+ADC2 werden mit 15 kHz eingelesen; PWM -Frequenz 15.6 kHz; OUT=OUT0 *2^0+ OUT1 *2^1+ OUT2 *2^2; PWM1=PWM1_+DIR1 *1024; PWM2=PWM2_+DIR2 *1024; ACTIVE = ON for some time , if PWM1 or PWM2; were written

7

Page 8: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

;=============================================; DTN090 - 1xFrequenzerzeugung Rechtecksignal; 1xFrequenzerzeugung + Richtung fur; Schrittmotoranschteuerung mit; zusatlicher Ausgabe eines; Inkrementalencoderausganges;=============================================;; +---------------------------------+; |DTN 090 AREF+-; | IN OUT P15 +-; |EP2 FREQU1 P14 +-; |EP3 FREQU2 P13 +-; |EP4 P12 +- ADC1; |EP5 P11 +- RESET OUTPUT; |EP6 ADC1 P10 +- B OUTPUT; |EP7 P9 +- A OUTPUT; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +-; | P4 +- DIR; | P3 +- F_OUT2; | P2 +- F_OUT1; | P1 +- MODE 1; | P0 +- MODE 0; +---------------------------------+;; f...Hz; f=16000000/(8*( FREQU +1)*2); FREQU1 =16000000/(16*f)+1

;=============================================; DTN091 - 1xFrequenzmessung;=============================================;; +---------------------------------+; |DTN 091 AREF+-; | IN OUT P15 +-; |EP2 FREQU P14 +-; |EP3 P13 +-; |EP4 P12 +-; |EP5 P11 +-; |EP6 P10 +- F_IN; |EP7 P9 +-; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +-; | P4 +-; | P3 +-; | P2 +-; | P1 +-; | P0 +-; +---------------------------------+;; Die Messung erfolgt uber 4 Perioden; f...Hz; f=16000000/(2* FREQU); FREQU =65535 -> 0Hz

;=============================================; Positionsencoder mit dem Baustein HCTL2022;=============================================;; +---------------------------------+; |DTN 101 AREF+-; | IN OUT P15 +-; |EP2 Position P14 +-; |EP3 P13 +-; |EP4 P12 +- SEL0; |EP5 P11 +- INDEX OUT; |EP6 P10 +- INDEX IN; |EP7 P9+- Kontinuierlicher CLK; |EP8 GND +-; |EP9 P8 +- INDEX -Led; |EP10 P7 +- D7; |EP11 RES +-; |EP12 P6 +- D6; |EP13 VCC +-; |EP14 P5 +- D5; | P4 +- D4; | P3 +- D3; | P2 +- D2; | P1 +- D1; | P0 +- D0; +---------------------------------+;; Index IN, Index OUT is used to filter disturbances

8

Page 9: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

;=============================================; DTN106 - Universalansteuerung; 4x10bit ADC; 4xModellbauservo; 1xPWM + 2 digital Outputs; 1xInkrementaldecoder (2 xAuswertung);=============================================;; +---------------------------------+; |DTN 106 AREF+-; | IN OUT P15 +- ADC4 In; |EP2 SERVO1 P14 +- ADC3 In; |EP3 SERVO2 P13 +- ADC2 In; |EP4 SERVO3 P12 +- ADC1 In; |EP5 SERVO4 P11 +- RESET; |EP6 ADC1 P10 +- B; |EP7 ADC2 P9 +- A; |EP8 ADC3 GND +-; |EP9 ADC4 P8 +- OUT1 -B; |EP10 MOT P7 +- OUT1 -A; |EP11 POS RES +-; |EP12 SER0 P6 +- ACTIVE; |EP13 SER1 VCC +-; |EP14 P5 +- A.C.; | P4 +- SERVO4; | P3 +- SERVO3; | P2 +- SERVO2; | P1 +- SERVO1; | P0 +- PWM1; +---------------------------------+;; Analogwertmessung mit ADCX:; ===========================; ADCX =1023 ... bei 5V; ADCX=0 ... bei 0V;; Motoransteuerung:; =================; MOT1=PWM1+(OUT1 -A)*256+( OUT1 -B*512); PWM1 = [0 ,... ,255]; OUT1 -A = [0,1]; OUT1 -B = [0,1];; Servoansteuerung:; =================; Ein normaler Servo benotigt ein Impulssignal von; 20ms Periodendauer und 1..2ms High -Phase. Die; Dauer der High -Phase gibt direkt die Position an.;; Mit den Werten in den Endpunkten (SERVOX) kann; man diese HIGH -Zeitdauer einstellen , wobei; 0=0ms und; 39936=2 ms; bedeutet.;; Inkrementaldecoder:; ===================; 0 Punkt POS =32768; Aktiv auf fallende und steigende Flanke von B; Zahlrichtung wird anhand von A entschieden.; RESET=HIGH POS =32768 (synchron mit CLK);; (A.C.) Analog Control; =====================; interner Pull -Up, aktiviert wenn mit Masse; verbunden ADC3 und ADC4 werden auf SERVO3; und SERVO 4 umgeleitet.

;=============================================; UART EP Interface (SLAVE);=============================================;; +---------------------------------+; |DTN 107 AREF+-; | IN OUT P15 +-; |EP2 Output 1 P14 +-; |EP3 Output 2 P13 +-; |EP4 Input 1 P12 +-; |EP5 Input 1 P11 +-; |EP6 Input 1 P10 +-; |EP7 Input 1 P9 +-; |EP8 Input 1 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +- RXD; | P4 +- TXD; | P3 +-; | P2 +-; | P1 +-; | P0 +-; +---------------------------------+;; Setting Registers:; =============================; S0-Value Baudrate:; --------------------------------; (1 -> 110) not supported; 2 -> 300; 3 -> 600; 4 -> 1200; 5 -> 2400; 6 -> 4800; 7 -> 9600; 8 -> 14400; 9 -> 19200; 10 -> 38400; 11 -> 56000; 12 -> 57600; 13 -> 115200; ---------------------------------;; UART -Protokoll (ASCII -based):; =============================; Master write value 12EF(hex) to Endpoint 12( dec):; Master: WC12EF;; Master reads value 12EF(hex) from Endpoint 12(dec):; Master: RC answer from Slave: 12EF;

;=============================================; Infrarot RC5 Empfanger;=============================================;; +---------------------------------+; |DTN 120 AREF+-; | IN OUT P15 +-; |EP2 Data P14 +-; |EP3 P13 +-; |EP4 P12 +-; |EP5 P11 +-; |EP6 P10 +- IR-Receiver; |EP7 P9 +- LED; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +-; | P4 +-; | P3 +-; | P2 +-; | P1 +-; | P0 +-; +---------------------------------+

9

Page 10: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

;=============================================; WII -Nunchuck Anbindung;=============================================; Warning: ensure the correct power -supply for; the WII -Nunchuck;; +---------------------------------+; |DTN 128 AREF+-; | IN OUT P15 +-; |EP2 Joystick X P14 +-; |EP3 Joystick Y P13 +-; |EP4 Accel. X P12 +-; |EP5 Accel. Y P11 +- SDA; |EP6 Accel. Z P10 +- SCL; |EP7 Buttons P9 +- LED; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +-; | P4 +-; | P3 +-; | P2 +-; | P1 +-; | P0 +-; +---------------------------------+

;=============================================; Streckensimulator MASTER; mit synchroner serieller Schnittstelle;=============================================;; +---------------------------------+; |DTN 200 AREF+-; | IN OUT P15 +-; |EP2 P14 +-; |EP3 P13 +-; |EP4 P12 +-; |EP5 P11 +- CLK (Output); |EP6 P10 +-; |EP7 P9 +-; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +- RXD; | P4 +- TXD; | P3 +-; | P2 +-; | P1 +-; | P0 +-; +---------------------------------+;; Die Settingsregister S0...S7 definieren ,; ob die Endpunkte EP2 ...EP9 deaktiviert ,; gelesen und/ oder geschrieben werden.; Die Endpunkte 10-14 werden in dieser; Konfiguration nicht verwendet.;; Sx=0 ... EP(x+2) ist deaktiviert; Sx=1 ... EP(x+2) wird gelesen (Input); Sx=2 ... EP(x+2) wird geschrieben (Output); Sx=3 ... EP(x+2) wird gelesen und geschrieben;; Durch die Verwendung der Settingsregister; kann der Ubertragungskanal optimal ausgenutzt; werden , so dass eine maximale; Refreshgeschwindigkeit der Endpunkte erzielt wird.;; Default Setting ist:; S0=2; S1=2; S2=1; S3=1; S4=0; S5=0; S6=0; S7=0;; Zur Abschatzung der Dauer eines Refreshzykluses; kann folgende Formel verwendet werden:; N... Anzahl der zu lesenden und schreibenden; Endpunkte; T=33us+N*60us

10

Page 11: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

;=============================================; Streckensimulator SLAVE; mit synchroner serieller Schnittstelle;=============================================;; +---------------------------------+; |DTN 201 AREF+-; | IN OUT P15 +-; |EP2 P14 +-; |EP3 P13 +-; |EP4 P12 +-; |EP5 P11 +- CLK (Input); |EP6P10 +- CA (Communication active=HIGH); |EP7 P9 +-; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +- RXD; | P4 +- TXD; | P3 +-; | P2 +-; | P1 +-; | P0 +-; +---------------------------------+;; S0 ... BIOE -Bus Communication active Watchdog Time (in ms) (default 10ms);

;=============================================; Streckensimulator System 1; Electrical Network;=============================================;; +---------------------------------+; |DTN 230 AREF+-; | IN OUT P15 +-; |EP2 PWM1 P14 +-; |EP3P13 +- ADC2 System Input; |EP4 P12 +- ADC1; |EP5 P11 +-; |EP6 ADC1 P10 +-; |EP7 P9 +-; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +-; | P4 +-; | P3+- PWM2 System Output; | P2 +- PWM1; | P1 +-; | P0 +-; +---------------------------------+;; Diese DTN simuliert ein elektrisches; Netzwerk mit VZ2 Verhalten.;; Dieses Modell wird als Labormodell bei; http :// regpro.mechatronik.uni -linz.ac.at/; verwendet.;; Settings:; S0=0 (default) ... use Sys -In as system input; S0=1 ... use ADC2 as system input

;=============================================; Streckensimulator System 1; Torsionsschwinger;=============================================;; +---------------------------------+; |DTN 231 AREF+-; | IN OUT P15 +-; |EP2 PWM1 P14 +-; |EP3 Sys -InP13 +- ADC2 System Input; |EP4 P12 +- ADC1; |EP5 P11 +-; |EP6 ADC1 P10 +-; |EP7 Sys -Out P9 +-; |EP8 GND +-; |EP9 P8 +-; |EP10 P7 +-; |EP11 RES +-; |EP12 P6 +-; |EP13 VCC +-; |EP14 P5 +-; | P4 +-; | P3+- PWM2 System Output; | P2 +- PWM1; | P1 +-; | P0 +-; +---------------------------------+;; Diese DTN simuliert einen Torsionsschwinger mit; der Motorspannung als Eingang und der; Drehwinkelgeschwindigkeit als Ausgang.;; Dieses Modell wird als Labormodell bei; http :// regpro.mechatronik.uni -linz.ac.at/; verwendet.;; Settings:; S0=0 (default) ... use Sys -In as system input; S0=1 ... use ADC2 as system input

5 BIOE-DUDEBIOE-DUDE ist ein Kommandozeilenprogramm

fur Linux und Windows (unter Windows wird die Da-tei inpout32.dll benotigt, siehe [6]), das zum Testender Kommunikation mit einem BIOE verwendet wer-den kann. Beispielsweise konnen mit dem Befehl

bioedude −search

in der Kommandozeile alle am BIOE-BUS angeschlos-senen Elemente aufgelistet werden. Fur die Instal-lation und eine detailierte Beschreibung sei auf diereadme.txt im bioedude Ordner verwiesen.

6 BIOE-GUIBIOE-GUI ist eine in C++ programmierte und auf

FLTK basierende graphische Benutzeroberflache, dieeinen einfachen und bequemen Zugriff auf den BIOE-BUS und den angeschlossenen Elemente ermoglicht.Sie findet nicht nur bei den Tests der Elemente An-wendung, sondern ist auch ein wichtiges Werkzeug beider Entwicklung neuer DTN Konfigurationen. In Ab-bildung 14 ist die graphische Oberflache abgebildet.Das Programm ist sowohl unter Windows als auchunter Linux lauffahig (unter Windows wird die Dateiinpout32.dll benotigt, siehe [6]).

Die Verwendung von BIOE-GUI ist einfach undwird nun kurz erklart: Nach dem Programmstart wirdmit dem Button Search Devices der BIOE-Bus

11

Page 12: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

nach BIO-Elemente durchsucht, wobei dafur die Ein-stellungen Port und CS (Chip Select) zuvor rich-tig eingestellt werden mussen (Defaultwerte stimmenmeistens). Wird ein BIO-Element gefunden, wird derzugehorige Device-Button aktiviert. Beim Klick aufdiesen Device-Button erscheint ein Fenster, das al-le Endpunkte des BIOE’s anzeigt. Durch die Betati-gung des Buttons Process current Device wird daspermanente Aktualisieren der Endpunktinhalte akti-viert. Bei den Out-Endpunkten kann der Wert zwi-schen maximal 0-65535 (je nach Anwendung anders)manuell eingegeben werden, welcher automatisch beider nachsten Aktualisierung an das BIOE ubertragenwird.

Abbildung 14: BIOE-GUI unter Windows

Je nach BIOE verfugt es uber den Funktionslevel1, 2 oder 3. Die im Starter-Kit enthaltenen Modu-le verfugen uber Funktionslevel 2 und 3. Der Level 2ermoglicht das aktivieren einer speziellen Funktion mitder sogenannten Device Type Number (DTN). Wasdie jeweilige Nummer bewirkt, kann aus der Doku-mentation der DTN’s (siehe z.B. 4) entnommen wer-den. Komplexere DTN’s ermoglichen die Ubergabevon zusatzlichen Parametern S0 ... S7 (jeweils 0...255).Diese Funktionalitat ist mit Level 3 gegeben.

7 BIOE Anbindung in SCICOSDie Hauptverwendung findet das BIOE-System

derzeit in Scicos. Scicos ist ein Teil von Scilab[8], welches eine graphische Erstellung von Simulatio-nen dynamischer Systeme ermoglicht. Es konnen da-mit auch Regelungen entworfen werden, die im ers-ten Schritt durch Simulation getestet und im zwei-ten Schritt durch Codegenerierung in ein ausfuhrba-res Programm fur ein Echtzeitbetriebssystem (z.B. Li-nux mit der RTAI Erweiterung, siehe [7]) umgewan-delt werden konnen.

Fur die Verwendung des BIOE-Systems in Scicosstehen zwei Grundblocke zur Verfugung. Der Block

bioe dev in Abbildung 15 wird dabei zur Initiali-sierung eines BIO-Elements mit der entsprechendenDTN-Konfiguration verwendet.

Abbildung 15: bioe dev Scicos Block und Parameter-dialog

Der Block bioe ep in Abbildung 16 stellt die Ver-bindung mit einem Endpunkt eines BIOE’s dar.

Abbildung 16: bioe ep Scicos Block und Parameter-dialog

7.1 Installation unter WIN32

Die Installation der BIOE-SCICOS-Blocke furScilab-4.1.2 ist unter Windows mit folgenden Schrit-ten bewerkstelligt:

Schritt 1: Entpacke alle Dateien vonbioe-1.3-scicosblocks.zip in den Scilab OrdnerSCI nach SCI/macros/BIOESCICOS.

Schritt 2: Trage die folgenden Zeilen am Ende derDatei SCI/scilab.star ein:

exec(’SCI/macros/BIOESCICOS/loader.sce ’,-1);clear startup ierr

Schritt 3 (optional): Falls eine altere Versi-on von Scilab/Scicos als 4.1.2 verwendet wird, istder Quellcode neu zu kompilieren (Anleitung siehereadme.txt in der .zip Datei).

7.2 Verwendung der Blocke

Nach der erfolgreichen Installation konnen dieBIOE-Blocke in Scicos uber den Menupunkt Edit

-> Add new Block eingefugt werden. Fur den BIOE-Device-Block muss im folgenden Dialog bioe dev undfur den BIOE-Endpunkt-Block bioe ep eingegebenwerden. Anschließend konnen die Blocke in Scicosplatziert und verwendet werden.

12

Page 13: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

Abbildung 17: Block einfugen; Schritt 1

Abbildung 18: Block einfugen; Schritt 2

Abbildung 19: Block einfugen; Schritt 3

Will man nun unter Windows die Scicos Anwen-dung in weicher Echtzeit direkt laufen lassen (bisTa ≥ 10ms verwendbar), muss der Simulate->Setupund Realtimescaling=1 gesetzt werden.

7.3 Anwendungsbeispiel - Torsions-schwinger

Als Anwendungsbeispiel und Testaufbau wird kurzdar Torsionsschwinger demonstriert. Der Torsions-schwinger ist ein Laboraufbau fur den Unterricht, deram Institut fur Regelungstechnik um Prozessautoma-tisierung an der Johannes Kepler Universitat in Linz(http://regpro.mechatronik.uni-linz.ac.at) verwendetwird.

Dieser Torsionsschwinger steht als digitale Streckeam BIOE unter der DTN231 zur Verfugung und kannso direkt ohne weiteren Schaltungsaufwand mit demhier vorgestellten Starter-Paket in Betrieb genommenwerden. Die entsprechenden SCICOS-Dateien findet

man in der Datei bioe-1.3-scicosdemos.zip. Dortmit

exec(’init.sce ’);

die Demonstrationen starten. Es stehen auch Beispielefur ein elektrisches Netzwerk mit VZ2 Verhalten unddie Anbindung des WII-Nunchucks zur Verfugung.

Abbildung 20: Torsionsschwinger Demonstration inScicos

Abbildung 21: Elektrisches Netzwerk Demonstrationin Scicos

8 BIOE-Master SystemBeim BIOE-Master System ubernimmt ein BIOE

die Funktion des PC+LPT-Modules. Dabei wird dieSteuerung bzw. Regelung am BIOE selbst in Formvon C-Code implementiert und verwendet das BIOE-System fur die Ein- und Ausgabe.

Zusatzlich wurde das Framework bereits soweit auf-bereitet, dass zuerst die Steuerung bzw. Regelung inder Datei block.h implementiert, in Scicos durchden Scicos-Block block.sci in die Simulation einge-bunden und bereits in der Simulation validiert wird.Anschließend kann diese .h Datei direkt im C-Codefur das BIOE verwendet werden. Dabei mussen nurnoch in der Datei inputsoutputs.h die Ein- undAusgange am BIOE-Bus behandelt werden.

13

Page 14: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

Alle dafur benotigten Dateien findet man in derDatei bioe-1.3-master.zip bzw. ein Beispiel bei denDemonstrationen. Eine detailiertere Beschreibung istfur die nachste BIOE-Version geplant.

9 Zusammenfassung und FolgerungenMit dem hier vorgestellten BIOE-System steht ein

leistungsfahiges, kostengunstiges, modulares und of-fenes Automatisierungssystem zur Verfugung. NahereInformationen, Downloads und Anregungen zu BIOEfindet man unter www.bioe.at.tt.

10 Die Schaltplane und Layout’s derModule

Abschließend werden hier noch die Schaltplane (sie-he Abbildungen 22, 23) und die Layout’s (siehe Ab-bildungen 24, 25) der fur das Starter-Kit benotigtenLeiterplatten angefuhrt.

Literatur[1] K. Weichinger, Tonregelung einer Trompete mit ei-

nem Low-Cost Automatisierungssystem und RTAILinux, JK Universitat Linz, 2008.

[2] K. Weichinger, BIOE Basic Input Output Ele-ments - An open-hardware automation system,www.bioe.at.tt, Online: 2010-06-06

[3] AVR-DUDE Web-Page,http://www.nongnu.org/avrdude, letzter Zugriffam 01.06.2010

[4] WinAVR, a suite for AVR micropro-cessors including GCC and AVRDUDE,http://winavr.sourceforge.net, letzter Zugriffam 01.06.2010

[5] Campbell, Chancelier, Nikoukhah: Modeling andSimulation in Scilab/Scicos. Springer. 2006.

[6] Inpout32.dll for parallel port interfacing in win-dows 2000 / XP. URLhttp://logix4u.net/Legacy Ports/Parallel Port/

Inpout32.dll for Windows 98/2000/NT/XP.html,Online: 2008-05-06

[7] Bucher R., Mannori S., Netter T.: Rtai-Lab tu-torial: Scilab, Comedi and real-time control. Ver-sion 15.3.2007. URLhttps://www.rtai.org/RTAILAB/

RTAI-Lab-tutorial.pdf, Online: 2008-05-06

[8] Scilab 4.1.2, The Free Platform for NumericalComputation. URLwww.scilab.org, Online: 2008-05-06

14

Page 15: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

Abbildung 22: Schaltplan fur das BIOE

15

Page 16: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

Abbildung 23: Schaltplan fur das BIOE-LPT-Interface

16

Page 17: Dipl.-Ing. Klaus Weichinger / snaky.1@gmx.at / ...fileexchange.scilab.org/toolboxes/BIOE/1.3/files/bioe-1.3-startmanual-de.pdfdung in Scilab/Scicos unter Windows und dem Echtzeitbetriebssystem

Abbildung 24: Layout fur das BIOE

Abbildung 25: Layout fur das BIOE-LPT-Interface

17