Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Zwischenpräsentation

Ähnliche Präsentationen


Präsentation zum Thema: "Zwischenpräsentation"—  Präsentation transkript:

1 Zwischenpräsentation

2 Inhalt Grundaufbau - Konzept Komponentenauswahl
Controller-Board USB-I2C-Converter Programmierung – Libraries Grundsystem Sprachen und Systeme I2C MCK Fortschritt

3 Grundaufbau - Konzept

4 Ziel Entwicklung eines universellen Robotiksystems zur Verwendung und Weiterentwicklung im Schulbetrieb OS-unabhängig flexibles, erweiterbares System hardwaretechnisch einfach zu bedienen Ausreichende Dokumentation

5 Konzept Module Verbindung Zwischenplatine DriveSystem
I2C-Bausteine, Sensoren/Aktoren Verbindung USB-I2C-Converter, ev. Direktverbindung Zwischenplatine Aktorensteuerung (Motoren u.a.) DriveSystem Eigene Energieversorgung, auswechselbar Das Modulsystem dient zur Funktionserweiterung, basierend auf I2C-Bausteinen und weiteren Sensoren/Aktoren. Es werden mehrere Schnittstellen (Steckverbindungen) zur Verfügung gestellt, die die Verbindung zu den einzelnen Modulen darstellen. Die Module werden über einen USB-to-I2C-Converter mit dem USB-Port des Mainboards verbunden. Hiermit ist die Universalität der Funktionen gewährleistet, denn solange die Regeln der I2C-Module eingehalten werden, kann der Fantasie freien Lauf lassen. Nicht-I2C-Komponenten werden direkt mit der Zwischenplatine verbunden. Das Mother Board ist entweder eine Komponente eines Schulrechners/Laptops etc., auf dem die entsprechenden Programme gestartet werden, oder aber ein Teil eines Roboters, z.B. ein MiniITX-Board. Mobil ist der – mögliche - Roboter über ein auswechselbares DriveSystem, was bedeutet dass die Entscheidung, ob die Fortbewegung nun mit Reifen oder Beinen erfolgt, zu jeder Zeit geändert werden kann. Dies wird über eine Zwischenplatine realisiert, die, ähnlich dem Modulsystem, eine Schnittstellte für das DriveSytem zur Verfügung stellt (Motoren-Ports). Hierfür wird ein Controller-Board verwendet, dass es ermöglichen soll zum einen Motoren, zum anderen auch weitere Aktoren anzusteuern. Das DriveSystem besteht aus einer Grundplatte und, je nach DS, entweder Beinen oder Reifen incl. der jeweiligen Motoren und Servos. Jedes DriveSystem stellt seine eigene Energieversorgung bereit.

6 Komponentenauswahl I2C-USB-Converter: i2c-tiny-usb (till@harbaum.org)
Controller-Board: Make Controller Kit (makingthings.com)

7 Make Controller Kit - MCK
Kleine Größe – großer Komponentenumfang Eigenbau: Zeitkomponente kritisch Viele Schnittstellen Aktoren/Sensoren Programmiersprachen Hohe Leistung Atmel AT91SAM7X256 Mikrocontroller 32-bit ARM7 core 256K Flash 64K SRAM Bis zu 55MHZ/48MIPS Hoher Preis Versand aus den USA

8 i2c-tiny-usb Einfache Handhabung – universelle Basis
LibUSB Library zum USB-Handling In C, entwickelt für Linux, Windows Port existiert Direktes Übersetzten in I2C-Signale Kein simulierter COM-Port Geringer Preis, jedoch Eigenbau

9 Programmierung – Libraries

10 Grundsystem Bestehende Funktionen (z.B. von LibUSB) tlw. sehr komplex  Kapselung Basis-Funktionen erstellt Einfacher, jedoch ev. eingeschränkte Funktionalität Bestehende Funktionen beibehalten  Für erfahrende User Für beide Kernkomponenten unseres Systems (i2c-tiny-usb und MCK), steht eine Auswahl an Funktionen zur Verfügung, die jedoch mitunter sehr komplex sind und einiges an Einarbeitungszeit bedingen, was für die Verwendung im Unterricht natürlich nicht günstig ist, es wird deshalb eine Kapselung der Funktionen durchgeführt. Diese Kapselung erfolgt mit dem Ziel, für unerfahrene Benutzer einfache und verständliche, jedoch in ihre Flexibilität möglicherweise eingeschränkte Funktionen bereit zu stellen. Für Profis bzw. erfahrene Benutzer werden die komplexeren Funktionalitäten, volle Kontrolle über die Komponente wird so ebenso ermöglicht wie die simplen Funktionen (read/write/getStatus…) für Anfänger.

11 Sprachen und Systeme Sprachen C/C++ Java C# Systeme Windows Linux

12 MCK C# Baut auf der MCK Basic C# Lib auf. (Nur Windows) Java Baut auf NetUtil auf. (Plattformunabhängig) Es sollen einsteigerfreundliche Bibliotheken erstellt werden In C werden Samples erstellt Kompilierbar auf Windows und Linux

13 MCK – Example-Struktur
Port wählen Port.USB oder Port.LAN Verbindung öffnen open() Verbindung testen isReady() Ticket generieren generateTicket() Kommando und Kommandotyp setzen Setter/Getter möglich Kommando ausführen 1. executeBlocking() -> warten, bis das Kommando beendet ist (nur für GETTER) 2. executeNonBlocking() -> manuell den Status abfragen (für GETTER und SETTER) Bei Getter Kommandos das Ergebnis auslesen getValue() Speicher den das Ticket belegt freigeben Dispose() Verbindung schließen close() Speicher den das MakingThings Objekt belegt freigeben

14 I2C Bauen auf LibUSB auf  OS-Unabhängig
Einsteigerfunktionen sollen bereitgestellt werden Kapselung der bestehenden LibUSB-Funktionen C#-Lib: In DLL zusammengefasste C- Funktionen aufrufen Java-Lib: JNI Die Funktionen des i2c-tiny-usb USB-I2C-Converters bauen auf LibUSB auf, diese Bibliothek wurde für Linux entwickelt, ein Windows-Port existiert. Die Anforderung an die USB-I2C-Kommunikation ist, wie an die Diplomarbeit generell, OS-Unabhängigkeit, Unterstützung von Hoch- sowie Low-Level-Sprachen (C#, Java, C) und Benutzerfreundlichkeit für Einsteiger und Profis. Die OS-Unabhängigkeit wird durch LibUSB bereitgestellt. C#-Umsetzung unter Windows erfolgt durch verwenden der LibUSB-dll, unter Linux entfällt Sie. Java-Umsetzung erfolgt sowohl in Windows als auch in Linux über JNI. C-Umsetzung bindet sowohl in Windows als auch in Linux durch Einbinden der von LibUSB bereitgestellten USB.h.

15 I2C – Example-Struktur i2c_get_multiple_converters
i2c_init_win_multiple i2c_tiny_usb_get_func i2c_lookup_address i2c_write_basic i2c_read_basic i2c_close_win i2c_get_multiple_converters Liefert die Adressen der an- geschlossenen Converter Wenn nur ein Converter i2c_init_win()

16 Fortschritt

17 Done Hardwareplanung und Bau Programmierung MCK I2C Windows – C
Windows – Java – Basisfunktionalitäten I2C Linux – C Windows – C# - Grundfunktionen

18 ToDo Programmierung Testsysteme I2C-Converter Neubau I2C MCK
Windows – C# (Kosmetik- und erweiterte Funktionen) Windows – Java Linux – Java MCK Windows C# (Kosmetik- und erweiterte Funktionen) Windows – Java (Kosmetik- und erweiterte Funktionen) Linux – Java (Test) Linux/Windows – C (Mehr Samples) Testsysteme Auswahl erweitern I2C-Converter Neubau

19 Danke


Herunterladen ppt "Zwischenpräsentation"

Ähnliche Präsentationen


Google-Anzeigen