Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Hardwareprogrammierung.

Ähnliche Präsentationen


Präsentation zum Thema: "Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Hardwareprogrammierung."—  Präsentation transkript:

1

2 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Hardwareprogrammierung mit MATLAB/Simulink WARR-Workshop im WiSe 2014 von Martin Dziura

3 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Teilnehmer / Teameinteilung Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura TeamMitglied 1Mitglied 2Mitglied 3 1Alexander SchmittMartin HackerBjörn Wagner 2Joachim SturmAndreas Lindner 3Sebastian ReigberMaximilian Bambauer 4Jonas PfistererThomas LausenhammerMartin Schlecker 5Daniel BartXaver Lamprecht 6Alexander Frericks 7Felix RößlerPhilipp Neumann 8Stefan RaabYannick Apfel 9Danel EiringhausRalf Süss 10Florian EttemeyerJohannes Kugele

4 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Schaltungsgrundlagen Hardwareprogrammierung mit MATLAB/Simulink Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

5 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Digital vs. Analog Analoge Schaltung  Veränderliche Spannungen  Strom oft relevant  Sensoren, Aktoren, Verstärker, … Digitale Spannung  Zwei Spannungspegel (Low und High)  Strom i.d.R. irrelevant  Logikschaltungen (An/Aus), digitale Signale Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

6 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Digitale Schaltungen / Signale Die Digitale Information entspricht dem Spannungspegel. Die Bedeutung ist abhängig von der Beschaltung. Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura InformationDigitalPegelSpannung An1High> 0.7 * VCC Aus0Low< 0.2 * VCC undefiniert dazwischen Aus1High> 0.7 * VCC An0Low< 0.2 * VCC undefiniert dazwischen

7 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Pull-Up und Pull-Down Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura µC Undefinierter Spannungspege l µC Definierter Spannungspege l R1 R2 Pull-Up Widerstand typ. 10KOhm Pull-Down Widerstand typ. 10KOhm Leere Leitung / floating

8 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Beschaltung von LEDs / Verbrauchern Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura Möglichkeit 1: Direkt an den µC-Pin Vorteil: Einfach Nachteil: Hoher Strom durch µC (begrenzt auf 20mA!) Auslegung des Vorwiderstands: U = R·I und LED-Datenblatt Möglichkeit 2: Steuerung über Transistor Basiswiderstand-Berechnung: articles/Basiswiderstand articles/Basiswiderstand

9 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München LEDs dimmen mit PWM PWM: Puls-Weiten-Modulation Bei hoher Frequenz ergibt sich durch Kapazitäten und Trägheit der LED ein effektiver Strom abhängig von der Pulsbreite. Frequenz für LEDs ~200Hz Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

10 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Beschaltung von Tastern Beispiel: Schaltung gegen GND mit PullUp-Widerstand Alternative 1: Mikrocontroller hat einen internen PullUp- Widerstand Alternative 2: Schaltung gegen VCC mit PullDown-Widerstand + Entprellen mit Kondensator + evtl. Operationsverstärker Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

11 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Vorstellung der Workshop-Hardware Hardwareprogrammierung mit MATLAB/Simulink Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

12 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München STM32 F4 Discovery Kernkomponenten Entwicklungsboard mit STM32F4 Mikrocontroller 168 MHz Betriebssfrequenz Integrierter JTAG-Debugger Onboard-Peripherie 4 User-LEDs 1 User-Button, 1 Reset-Button 3F-Motion-Sensor (LIS3DSH) Mikrofon (MP45DT02) Audio DAC (CS43L22) Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

13 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München STM32 F4 Discovery Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

14 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Mikrocontroller STM32F407 Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura Moderner Mikrocontroller min vielen Funktionen und Schnittstellen Programmierung „von Hand“ wäre extrem aufwändig  Abstraktionsebene notwendig!  Bibliotheken für viele Sprachen  Oder: Simulink-Blockset!

15 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Mikrocontroller-Familie STM32 Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura Mehr Infos auf der Hersteller-Webseite Waijung-Blockset verfügbar

16 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Das Waijung Blockset Hardwareprogrammierung mit MATLAB/Simulink Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

17 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Wer oder Was ist Waijung? Idee: Verwendung von Simulink mit Simulink Coder und Targets Problem: Offizielle Unterstützung von MATLAB für Hardware ist rudimentär (nur einfaches I/O) Lösung: Custom oder User-Generated Blocksets für bessere Hardwareunterstützung Für den STM32F4 / STM32F0: Waijung or ไวจัง (Thai slang for so fast) Waijung-Features: Zahlreiche Hardwaretreiber Generiert C-Code aus Blöcken Auto Compile and Download Echtzeitfähiger Code Nahtlos in Simulink integriert  Echtes Plug and Play! Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

18 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Beispiele für Waijung-Blöcke Konfiguration Block Target Setup muss in jedem Projekt als erstes hinzugefügt werden. Dieser initialisiert alle Simulink- Einstellungen und das Target. Einfache IO-Blöcke Einfache Ein- und Ausgabe von logischen Signalen erfolgt über ebenso einfache Blöcke: Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

19 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Installation und Verwendung von Waijung (Live-Vorführung) Hardwareprogrammierung mit MATLAB/Simulink Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

20 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Zeit für Fragen!

21 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Übungsaufgaben zu Waijung Hardwareprogrammierung mit MATLAB/Simulink Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

22 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Aufgabe 2-1: Installation Installiert das Waijung Blockset Alle notwendigen Dateien liegen auf dem Server unter /08_Kleinprojekte/Workshops/2014 Simulink Hardware/Software Befolgt exakt die Installationsanleitung Started > Software Installation) a)Installieren des ST-Link Utility (und ggf. Treiber für Windows 8) b)Installieren des FTDI USB Driver c)Anschließen und Test der Verbindung (und ggf. Firmware-Update) d)Entpacken und Installieren von Waijung (als Administrator!) Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

23 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Aufgabe 2-2: Blinkende LEDs Bringt die vier User-LEDs auf dem Board zum Blinken Alle Datenblätter liegen auf dem Server unter /08_Kleinprojekte/Workshops/2014 Simulink Hardware/Datasheets Öffnet die Datei STF32F4-Discovery User Manual.pdf a)Findet heraus an welchen Port/Pin die vier LEDs liegen. b)Sind die LEDs Active Low oder Active High? c)Erstellt ein neues Projekt mit Waijung-Block Target Setup d)Fügt für die LEDs ein Output-Block hinzu und benennt die Block- Ports intuitiv (z.B. LED Grün, …) e)Verbindet den Source-Block Pulse Generator mit den LEDs f)Ladet euer erstes Simulink-Hardware-Programm auf das Board Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

24 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Aufgabe 2-3: Noch cooler blinkende LEDs Lasst die LEDs nun mit einem Sinus sanft blinken. Um die LED zu Dimmen benötigt ihr ein PWM-Signal. Verwendet hierfür den Block PWM Generator Veranschaulicht euch grafisch die Block-Parameter Switching frequency (Hz) und Sample Time In wie vielen Schritten kann das PWM das Signal auflösen, wenn die Einstellungen auf 100Hz und 1E-4s gesetzt sind? Wie können bei gleicher Auflösung 150Hz erreicht werden? Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura

25 Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Aufgabe 2-4: Inputs und State Machine 1.Lasst eure LEDs nun im Uhrzeigersinn auf und ab dimmen. Tipp: Ändert hierfür nur einen Parameter des Sinus-Blocks 2.Findet heraus an welchem Pin/Port der User-Button liegt und fügt dem Projekt einen entsprechenden Input-Block hinzu. Ist das Signal logisch 1 oder 0, wenn der Button gedrückt ist? 3.Ändert nun die Richtung des Blinkens (Gegenuhrzeigersinn), während der Button gedrückt ist. 4.Fügt dem Modell nun ein Stateflow-Chart mit zwei Zuständen für die beiden Richtungen hinzu. Das Modell soll die Richtung nun bei jedem Knopfdruck umschalten, der Knopf soll nicht mehr gedrückt gehalten werden. Verwendet den Block Edge Detector aus dem Blockset Simscape, um aus dem Button-Signal einen Event-Puls zu generieren. Termin Oktober 2014Hardwareprogrammierung mit MATLAB/Simulink - Martin Dziura


Herunterladen ppt "Wissenschaftliche Arbeitsgemeinschaft für Raketentechnik und Raumfahrt Lehrstuhl für Raumfahrttechnik Technische Universität München Hardwareprogrammierung."

Ähnliche Präsentationen


Google-Anzeigen