Informationstechnik I Praktikum (SS 2021) Einführungsveranstaltung 1 - M.Sc. Martin Sommer - itiv kit
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Informationstechnik I Praktikum (SS 2021) Einführungsveranstaltung 1 M.Sc. Martin Sommer Institut für Technik der Informationsverarbeitung (ITIV) KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu
ORGANISATORISCHES 2 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Aufbau der Veranstaltung IT I Das Praktikum ist Teil der Lehrveranstaltung Informationstechnik I Erlernen der Theorie und des allgemeinen Verständnisses Vorlesung informationstechnischer Systeme. Einführung in die Informatik. Übung Praktisches Anwenden der Inhalte aus der Vorlesung. Praktisches Anwenden der Kenntnisse anhand eines größeren Praktikum Projekts und Vertiefung der Programmierkenntnisse. 3 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Lehrziele des IT1 Praktikums Praktische Anwendung der Übungsinhalte Umsetzen einer konkreten Aufgabe Anwendung der gelernten C++ Grundlagen Einhalten von Programmierrichtlinien Verständliches Kommentieren des geschriebenen Codes Suche nach Fehlern (Bugs) Erste Erfahrung in der Teamarbeit und Softwareentwicklung sammeln Anforderungen verstehen, in einfache und übersichtliche Module zerlegen und umsetzen Selbstständige Zeit- und Arbeitsaufteilung in der Gruppe Erfüllen der gestellten Anforderungen Kennenlernen von Tools zur Softwareentwicklung und Versionsverwaltung Code Composer Studio GitLab 4 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Ablauf des IT I Praktikums 07.05: Einführungsveranstaltung 1 als online Zoom Termin Zoom Link: https://kit-lecture.zoom.us/j/66991760071?pwd=WGIyV3NycCtlOFgwN2tQL3JYS2w4Zz09 Meeting ID: 669 9176 0071 Kennung: 810799 Organisatorische Infos Vorstellung der Hardware (TivSeg™, MiniSeg™, LaunchPad) und der Aufgaben Einführung in GitLab 21.05: Einführungsveranstaltung 2 als online Zoom Termin Zoom Link: https://kit-lecture.zoom.us/j/65377710702?pwd=UUFrQTY5NWJJM3FNeTV1OFo5TmtPUT09 Meeting ID: 653 7771 0702 Kennung: 174123 Einführung in TivaWare™ und Code Composer Studio Vorstellung der Programmierumgebung (Ordnerstruktur, Klassen) Programmieren der GPIO-Klasse 31.05-02.07: Freiwillige Sprechstunden (keine Sprechstunden in der Pfingstwoche) Immer dienstags, 14:00-15:30 Uhr und mittwochs 14:00-15:30 Uhr mit Microsoft Teams 04.07: Abgabedeadline (23:00 Uhr) 05.07-09.07: Mündliche Prüfungen Genaue Daten, Uhrzeiten und Räume im 12.07-16.07: Freiwillige Probefahrt Terminkalender 5 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Prüfungsleistung Anmeldung zur Prüfungsleistung im Campus Management System bzw. HISPOS oder per Schein, Deadline: 20.05.2021 – 23:59 Uhr Nur Studierende, die sich im WIWI Portal, für die Prüfungsleistung und in GitLab (siehe folgende Folien) bis zum 20.05.2021 angemeldet haben, nehmen am Praktikum teil. Das IT1 Praktikum kann beliebig wiederholt werden (Scheinleistung) IT1 Praktikum und IT1 bilden ein Modul, können aber unabhängig voneinander geprüft / bestanden werden Inhalte des Praktikums können in der IT1 Klausur abgefragt werden (weitere Infos dazu in der IT1 Übung) IT1 Praktikum findet nur im Sommersemester statt Leistungspunkte: 2 ECTS oder 3 ECTS, je nach Prüfungsordnung Unbenoteter Schein: Bestanden / Nicht-Bestanden 6 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Prüfungsordnungen ETIT und MIT ETIT SPO 2018 MIT SPO 2016 (ab WS 2018/2019) 2 ECTS 2 ECTS Prüfungsanmeldung online (CAMPUS) Prüfungsanmeldung online (HISPOS) ETIT SPO 2015 MIT SPO 2016 (ab WS 2016/2017) 3 ECTS (zusätzlicher Aufgabenteil) 3 ECTS (zusätzlicher Aufgabenteil) Prüfungsanmeldung online (CAMPUS bis Prüfungsanmeldung online (HISPOS bis SS 2021) SS 2021) ETIT SPO 2007 MIT SPO 2012 3 ECTS (zusätzlicher Aufgabenteil) 3 ECTS (zusätzlicher Aufgabenteil) Prüfungsanmeldung per Schein Prüfungsanmeldung per Schein Alle anderen Studiengänge wenden sich bitte an den Organisator (Martin Sommer)! 7 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Gruppeneinteilung Bildung von 3er Gruppen zur Bearbeitung des Praktikums Sie dürfen sich Ihre Mitglieder selber aussuchen, müssen es aber nicht Gruppen mit gemischten Vorerfahrungen für alle am besten Einteilung ist für das gesamte Praktikum verpflichtend (außer bei Probefahrt) Anmeldung und Einteilung über das WiWi Portal (wie in den LEN und ES Workshops) SPO 2018 (2 ECTS): https://portal.wiwi.kit.edu/ys/4625 Andere SPOs (3 ECTS): https://portal.wiwi.kit.edu/ys/4626 Anmeldung ab sofort möglich, Deadline: 20.05.2021 – 23:59 Uhr 8 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Wozu eine Teamarbeit? 9 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Teamarbeit im IT1 Praktikum Jedes Gruppenmitglied hat zunächst seinen eigenen Aufgabenteil Gruppenmitglieder sollen sich gegenseitig helfen (Code testen, Fehler finden) „Der Stärkere hilft dem Schwächeren“ „Der Stärkere übernimmt die gesamte Arbeit des Schwächeren“ Die kreativeren Teile des Praktikums sollen Sie gemeinsam bearbeiten Wichtiges bei der Zusammenarbeit Höflich und respektvoll miteinander kommunizieren Wichtiges vorab festlegen bzw. abklären Gegenseitig dafür sorgen, dass alle Deadlines eingehalten werden Den Teampartnern bei Problemen zuhören und weiterhelfen Sie sollen gegenseitig Spaß am Praktikum finden! Falls Ihre Gruppenglieder nicht mitarbeiten Zunächst versuchen diese zu motivieren Ansonsten dem Organisator (Martin Sommer) Bescheid geben 10 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Sprechstunden (Fragestunden) Uhrzeiten Microsoft Teams: Dienstags: 14:00-15:30 Uhr Mittwochs: 14:00-15:30 Uhr Die genauen Termine der 12 Sprechstunden finden Sie im Terminkalender Info zu MS Teams: Verwendung von MS Teams App zwingend notwendig. Teilnahme ist freiwillig, vorherige Anmeldung nötig (siehe nächste Folien) Tutoren helfen Ihnen bei konkreten Problemen und Fragen Lesen Sie das Handbuch und die Unterlagen sorgfältig, bevor Sie in die Sprechstunde kommen, eventuell hat sich Ihre Frage dann schon geklärt Der Tutor wird ihnen Tipps geben aber nicht den Code für Sie schreiben! 11 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Sprechstunden – Anmeldung (1) Jeder Termin wird in Slots von 15 & 30 min. geteilt, um den Andrang etwas zu verteilen Anmeldung als Gruppe durch das WIWI Portal (eine Anmeldung pro Gruppe): https://portal.wiwi.kit.edu/Termine/Instance Für jeden Termin ist eine separate Anmeldung nötig Nur anmelden, falls Sie vorhaben teilzunehmen! (Teilnehmerzahl begrenzt) 1. Wunschtutor aussuchen 15 Tutoren verfügbar Identifizierung der Tutoren durch deren Status in GitLab (oder Auflistung hier) Infos zu GitLab folgen später in der Einführungsveranstaltung 12 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Sprechstunden – Anmeldung (2) 2. Länge des Slots wählen 15 Minuten bei einfacher Frage 30 Minuten bei komplizierter Frage / mehrere einfache Fragen 3. Datum und Uhrzeit auswählen Termine sind maximal 14 Tage im Voraus buchbar 13 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Sprechstunden – Anmeldung (3) Angaben überprüfen, Gruppennummer + (optional) u-Kürzel der Gruppenteilnehmer und Beschreibung des Problems hinzufügen und Termin reservieren Falls Sie bereits auf GitLab mit dem Tutor kommuniziert haben, dies ebenfalls angeben „Sprechstunde mit MS Teams App“: Sie können dem Team über den Link im WIWI Portal beitreten. Der Tutor wird Sie zu Ihrem Termin mit MS Teams anrufen. Besprechungen können länger/kürzer gehen. Seien Sie also etwas geduldig, auch wenn wir versuchen die Termine bestmöglich einzuhalten. 14 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Abgabe Abgabe durch Hochladen Ihres Codes auf GitLab Infos zu GitLab folgen später in der Einführungsveranstaltung Deadline: 04. Juli – 23:00 Uhr Danach wird GitLab gesperrt! Zuletzt hochgeladene Version wird in der mündlichen Prüfung bewertet 15 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Mündliche Prüfung Überprüfung der geleisteten Arbeit durch zwei Tutoren in Slots von 30 Minuten Termine in der Woche vom 05.07.-09.07.2021 Anmeldung und Einteilung zu den Slots als Gruppe durch das WiWi Portal (mit Sternchenvergabe) Eine Anmeldung pro Gruppe Infos zur Anmeldung folgen auf GitLab Inhalt der Prüfung Überprüfung des Quellcodes, dessen Dokumentation und insbesondere Ihres Verständnisses für den Code Allgemeine Fragen zu den Klassen (Aufbau, Funktion) sowie konkrete Fragen zu Ihrer Umsetzung im Code Demo des MiniSeg™ (Ein MiniSeg™ pro Gruppe) Tutor entscheidet über das Bestehen/Nicht Bestehen Jedes Gruppenmitglied wird individuell bewertet, es können auch nur einzelne Mitglieder einer Gruppe bestehen Gruppenmitglieder, die (ohne vorherige Abmeldung) nicht zur Prüfung erscheinen, werden als „nicht bestanden“ bewertet Gruppenmitglieder, die keinen erkennbaren Beitrag leisten, werden mit „nicht bestanden“ bewertet. Das heißt, dass das Mitglied die Fragen zu seinen/ihren Klassen nicht beantworten kann, wichtige Teile fehlen und unzureichend dokumentiert hat Ergebnis inkl. Bewertungsbogen wird für die jeweilige Gruppe auf GitLab gestellt 16 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Probefahrt Abschluss des Praktikums (nach der mündlichen Prüfung) Woche vom 12. Juli bis 16. Juli im Hinterhof des ITIV Genaue Termine im Terminkalender Freiwillige Teilnahme Idee: Fahren Sie mit dem Code „unter den Füßen“, den Sie innerhalb des Praktikums selbst geschrieben haben. Alternativ bieten wir auch eine „Musterlösung“ an Anmeldung und Einteilung zu den Terminen wieder durch das WiWi-Portal (mit Sternchenvergabe) Eine Anmeldung pro Person (nicht pro Gruppe) Studierende innerhalb einer Gruppe können an unterschiedlichen Terminen teilnehmen 17 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
IHRE AUFGABE 18 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Was muss ich tun? Sie erhalten als Gruppe ein C++ Projekt mit dem Quellcode zur Steuerung eines TivSeg™ bzw. MiniSeg™ Einige Klassen sind bereits vervollständigt, andere müssen Sie selbst schreiben oder ergänzen (inkl. Testprogramm) Aufgaben: ADC-Klasse Timer-Klasse mit Testprogramm PWM-Klasse Steering-Klasse Batteriespannungsüberwachung Segway::update (für Gruppen mit 3 ECTS) 19 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Wo finde ich Infos, Hilfe? Einführung in die Thematik durch die 2 Einführungsveranstaltungen IT I Übung zum Erlernen der benötigten Grundlagen in C++ Ausführliche Aufgabenstellung („Handbuch IT1 Praktikum“) und weitere Unterlagen verfügbar Sprechstunden und Betreuung durch Tutoren GitLab als Online Forum zum Fragen stellen Suchmaschine Ihres Vertrauens! 20 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Unterlagen Folien der Einführungsveranstaltungen „Handbuch IT1 Praktikum“ Vorbereitung: Anleitungen zur Einrichtung aller Programme Aufgabenstellung: Beschreibung der Aufgaben inkl. Hinweisen Unterlagen: Schaltpläne, Beschreibung der fertigen Klassen „TivaWare™ Treiberbibliothek“ Dokumentation der kompletten TivaWare™ API inkl. aller verfügbaren Methoden „Tiva C Mikrocontroller Datenblatt“ Datenblatt des Mikrocontrollers (Aufbau, Register, …) Weitere Unterlagen verfügbar 21 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Das Handbuch Das Handbuch enthält die Aufgabenstellung, Erklärungen, Anleitungen, und Dokumentation Möglichst viele praktikumsrelevante Infos sehr umfangreich 5 große Kapitel Inhalte des Praktikums: Kurze Übersicht über den Praktikumsaufbau Vorbereitung: Bebilderte Erklärung und Einrichtung der wichtigsten Werkzeuge (GitLab, GitHub Desktop, CCS, …) Aufgabenstellung: Genaue Beschreibung der Anforderungen, die Ihre Klassen erfüllen müssen, inklusive Erklärungen zur Hardware Test und Debugging: Leitfäden für das Vorgehen beim Debuggen, Erklärung möglicher Fehlerbilder. Unterlagen: Vollständige Dokumentation des gegebenen Codes, Schaltpläne, Bauteillisten 22 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
DAS TIVSEG™ 23 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Was ist ein TivSeg™? Ein selbstbalancierendes Fahrzeug, vergleichbar mit dem bekannten Segway™ Hard- und Software wurden am ITIV entwickelt Die wichtigsten Hardware Komponenten sind: 24V Akkupack Lenkstange 2 Gleichstrommotoren mit Leistungselektronik und Reifen MPU6050 Gyroskop Beschleunigungssensor Handschlaufe Texas Instruments Tiva C Series TM4C123G LaunchPad Fußtaster Sicherheitssteckbrücke mit Handschlaufe (trennt komplette Stromversorgung) 24 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
TivSeg™ von außen Aufnahme für Lenkstange MPU6050 Fußtaster LaunchPad Sicherheitssteckbrücke (wird mit Handschlaufe Ein/Aus Schalter verbunden) Sicherung Ladebuchse 25 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
TivSeg™ von innen Deckel (aufgeklappt) Potentiometer Platine Leistungselektronik Getriebe Akkus (Reihenschaltung) Aufnahme für Lenkstange Motor 26 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
TivSeg™ und MiniSeg™ TivSeg™: Fahrtüchtiges Transportmittel Nur in der Probefahrt (nach der Prüfung) verfügbar unpraktisch zum Testen Ihres Codes MiniSeg™: Aufbau auf dem Steckbrett, nicht fahrtüchtig Stromversorgung durch den USB-Port des LaunchPad (keine Akkus) 1 MiniSeg™ pro Studierenden Alle Grundfunktionen des TivSeg™ sind abgebildet Dient zum Testen und Debuggen Ihres Codes TivSeg™ und MiniSeg™ funktionieren mit dem (fast) gleichen Programmcode! Unterschiede werden in der 2. EV erklärt 27 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Aufbau des MiniSeg™ (1) Jeder Studierende baut sein eigenes MiniSeg™ Alle Bauteile wurden bereits im Rahmen des ETIT Workshop gestellt Schaltpläne im „Handbuch IT1 Praktikum“ (und in GitLab) verfügbar Bei Problemen mit den Bauteilen (bzw. fehlenden Bauteilen): E-Mail an ma.sommer@kit.edu 28 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Aufbau des MiniSeg™ (2) Benötigt werden: Poti Batterie- spannung 1x Tiva C Series TM4C123G LaunchPad 2x Gleichstrommotor (3V, max. 1,8W) Poti Lenkung 1x Vierfach H-Brücke SN754410 1x 6-Achsen Bewegungssensor MPU6050 1x Steckbrett (Breadboard) 2x Potentiometer (100 kΩ) Fußschalter 2x Elektrolytkondensator (100 μF) 2x Keramikkondensator (100 nF) 4x Widerstand (10 kΩ) MPU6050 Verbindungskabel und Drahtbrücken 29 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Vorführung des TivSeg™ 30 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
GIT 31 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Was ist Git? „Git ist die Cloud für Programmierer“ Ideal fürs Entwickeln von Code in der Gruppe (Verwalten der Beiträge jedes Entwicklers) Einsatz sehr verbreitet Reines git = Kommandozeilenprogramm unpraktisch Aber: zahlreiche Plattformen mit GUI verfügbar, die Git verwenden z.B. GitHub, GitLab 32 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Aufbau von Git (1) Gesamter Quellcode liegt im Repository Code kann in beliebig vielen Branches parallel entwickelt werden Bsp: Master-Branch: letzte stabile Programmversion Test-Branch: jetziger Entwicklungsstand, noch nicht getestet („Alpha-Version“) Entwickler fügen neuen (verbesserten) Code per Commit zum Branch hinzu Jeder Commit wird gespeichert und kann rückgängig gemacht werden 33 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Aufbau von Git (2) Branches werden zum Schluss per Merge zusammengeführt Automatischer Vergleich der Codes in den unterschiedlichen Branches („nimm jeweils die aktuellste Version“) Meistens klappt dies ohne Probleme, ansonsten Merge conflict lösen Entwickler und Programmnutzer können über Issues miteinander kommunizieren Gefundene Bugs mitteilen Verbesserungsvorschläge und Wünsche angeben Respository (Code) + Issues = Projekt 34 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Was ist GitHub Desktop? Dienst zum Synchronisieren von Git mit Ihrem Rechner Inhalt des Git Repository wird lokal auf Ihrem Rechner gespeichert Für Windows und macOS verfügbar Für Linux: siehe entsprechendes Issue in GitLab 35 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Wie wird Git im IT 1 Praktikum genutzt? Gesamtes IT 1 Praktikum wird im GitLab des SCC verwaltet Unterlagen (Handbuch, Folien, …) im öffentlichen Repository Dokumente und Infos auch ohne Anmeldung sichtbar Quellcodes jeder Gruppe in getrenntem Gruppen-Repository („Gruppe x_xxx“) nur für die eigene Gruppe sichtbar (nach Gruppeneinteilung im Wiwi Portal) Tutoren haben Zugriff auf alle Gruppen Issues haben mehrere Zwecke Ankündigungen von uns, z.B. bei Änderungen im Ablauf vom Praktikum in „Dokumente und Infos“ (Vertrauliche) Fragen an Tutoren stellen (fachlich oder organisatorisch) in „Fragen“ Diskussion innerhalb der Gruppe (kann auch über andere Wege erfolgen) in Ihrem Gruppen-Repository Zugang: https://git.scc.kit.edu/pit 36 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Erstellen eines Issues auf GitLab Sie können in jedem Ihrer Projekte auf GitLab ein Issue erstellen. Dieses ist für jeden mit Zugriff auf das Projekt sichtbar. Wollen Sie ein Issue erstellen, das nicht für alle sichtbar ist, sondern nur für Sie und Projektmitglieder, so gibt es die Möglichkeit ein „vertrauliches“ Issue zu erstellen. Zwischen „vertraulich“ und „für alle sichtbar“ kann jederzeit gewechselt werden. Siehe auch: GitLab Help: Confidential issues 37 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Einrichtung von GitLab und GitHub Desktop Gemeinsames Einrichten im Hörsaal Nur „Dokumente und Infos“ und „Playground“ Repositories im Moment verfügbar Ihr Gruppenrepository müssen Sie nach der Gruppeneinteilung selbst einrichten Schritt-für-Schritt Anleitung im „Handbuch IT1 Praktikum“ verfügbar Unbedingt 1:1 befolgen, falls Sie GitLab nicht in der Einführungsveranstaltung eingerichtet haben! Unbedingt bis zum 20.05.2021 einmalig in GitLab einloggen! Ohne erstmalige Anmeldung in GitLab können wir Sie nicht zu Ihrer Gruppe auf GitLab hinzufügen. Zugang zum GitLab des PIT: https://git.scc.kit.edu/pit Download von GitHub Desktop: Windows und macOS: https://desktop.github.com/ 38 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Arbeiten mit GitHub Desktop (1) Aktuelles Repository Code aus GitLab Aktueller Branch laden Merge durchführen 39 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Arbeiten mit GitHub Desktop (2) Geänderte Dateien Commitbeschreibung Commit auf GitLab pushen Commit rückgängig machen (endgültig) Commit durchführen 40 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
TM4C123G MIKROCONTROLLER 41 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Aufgabe des LaunchPad LaunchPad ist das Herzstück des TivSeg™ und MiniSeg™ Beinhaltet den gesamten Code Steuert die gesamte Hardware an Aufbau des LaunchPad wichtig fürs Verständnis des Programmcodes 42 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Aufbau vom LaunchPad USB Port (Debug Port) Power Select Schalter ICDI, In-Circuit Debug Interface (ermöglicht Debugging) Grüne Power LED Reset Taster USB Port (nur Spannungsversorgung) RGB LED (GPIO PF1-PF3) TM4C123GH6PMI Mikrocontroller Die gesamte „Magie“ spielt sich in diesem (zum Programmieren) Chip ab! Die restlichen Platinenbauteile verbinden Zahlreiche Ein-/Ausgänge des den Chip mit der Umwelt. Mikrocontrollers Taster 1 (GPIO PF4) Taster 2 (GPIO PF0) 43 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Der Mikrocontroller Der TM4C123G Mikrocontroller hat mehrere Bestandteile / Funktionen CPU: ARM® Cortex®-M4 (32 Bit) Mehrere Speicher Taktgeber Mehrere Zähler (Timer) Verschiedene Schnittstellen Der Programmcode steuert und konfiguriert die Bestandteile Wozu werden diese Bestandteile benötigt? 44 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
GPIO – General-Purpose Input/Output Entweder Ein- oder Ausgang (je nach Programmierung) Eingang Zustand am Pin auslesen Ausgang Zustand am Pin setzen Nur 2 Zustände unterscheidbar: low (nahe 0V) und high (nahe 3,3V) Anwendungen Eingang: Taster auslesen Ausgang: LED, Motor, … ein- und ausschalten (maximaler Strom ist begrenzt) 45 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
GPIO Pull-Up und Pull-Down Beispiel: Taster mit GPIO auslesen Taster geschlossen +VCC liegt an high Taster offen Pin „hängt in der Luft“ unklar ob low oder high Abhilfe: Pull-Up oder Pull-Down Widerstände einbauen / zuschalten Pull-Up Pull-Down Taster offen high low Taster geschlossen low high Schaltung 46 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
GPIO auf dem LaunchPad 6 unabhängige GPIO Module, genannt Port A bis F, mit je 8 Pins (0-7) Alle Pins des Mikrocontrollers sind als GPIO Pins nutzbar Wichtige Eigenschaften Pull-Up und Pull-Down Widerstände intern zuschaltbar Maximale Stromstärke einstellbar Port B Pin 5 Verschiedene Pins auch für ADC und PWM nutzbar Port B Pin 1 Port E Pin 2 47 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
ADC – Analog to Digital Converter Begrenzung GPIO: nur 2 Zustände auslesbar Als Eingang nur für Taster sinnvoll ADC Wie kann z.B. Spannung an Potentiometer sinnvoll ausgelesen werden? Lösung: ADC (A/D-Wandler) nur Eingang Wichtige Kenngrößen: Abtastfrequenz : Wie oft wird die Spannung pro Sekunde gemessen? Bittiefe : Wie fein ist die Spannungsabstufung? 2 Stufen auf dem ganzen Eingangsbereich (0V − 3,3V) Verständnisfrage: Welche Bittiefe hat ein GPIO? Antwort: 1 Bit 21 = 2 Stufen (low und high) Hier: 3 Bit ADC Gegenstück: DAC – Digital to Analog Converter (D/A-Wandler) nur Ausgang 48 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
ADC auf dem LaunchPad (1) 2 unabhängige ADC Module (ADC0, ADC1) Wichtige Eigenschaften: 12 Bit Auflösung (0V − 3,3V entspricht 0 − 4095) 4 Sample Sequencer pro Modul Mithilfe eines Sample Sequencers kann das ADC Modul automatisiert Daten von mehreren Eingangsquellen sammeln (bspw. von drei ADC Eingangskanälen gleichzeitig) Hardware Averaging (bis zu 64 Samples) Mehrere Messwerte erfassen und diese mitteln (ohne Software Berechnung!) Mehrere Triggermöglichkeiten (starten der A/D-Wandlung) 12 analoge Eingänge (können flexibel einem der 2 ADC Module zugeordnet werden) 49 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
ADC auf dem LaunchPad (2) Wichtig: LaunchPad hat keine gesonderten Pins für den ADC! Die 12 Analogen Eingänge sind festen GPIO Pins zugeordnet GPIO Pin muss als ADC Eingang konfiguriert werden ADC Eingang muss einem ADC Modul zugeordnet werden Analoger GPIO Eingang Port und Pin AIN0 PE3 AIN1 PE2 AIN2 PE1 AIN3 PE0 … Auszug aus Tabelle 13-1 des „TivaC Mikrocontroller Datenblatt“ AIN11 PB5 50 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Interrupt (1) Pausiert das Hauptprogramm um eine zeitkritische, idealerweise sehr kurze Aktion auszuführen Interrupt Request / Flag warnt den Prozessor Generierung per Software (z.B. Timer) per Hardware (z.B. Druck einer Taste) Codezeilen der zeitkritischen Aktion sind in der Interrupt Service Routine (ISR) hinterlegt. Je nach Konfiguration wird die ISR nach Setzen des Interrupt Flags ausgeführt. Nur ein Interrupt kann zeitgleich verarbeitet werden Interrupts können Prioritäten zugewiesen werden 51 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Interrupt (2) Zyklus eines Interrupts (vereinfacht): 1. Hauptprogramm läuft normal 2. Interrupt Request erreicht den Prozessor 3. Prozessor muss die Anfrage akzeptieren (Interrupt mit höchster Priorität hat Vorrang) 4. Prozessor stoppt die Berechnungen (vom Hauptprogramm) 5. Aktueller Status wird gespeichert 6. Interrupt Service Routine (ISR) wird vom Prozessor ausgeführt 7. Hauptprogramm wird aus dem Speicher zurückgelesen 8. Hauptprogramm läuft weiter 52 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Timer Nutzen: Zeitkritische Aktionen (Interrupt Service Routine) regelmäßig ausführen Timer: Register im Mikrocontroller, das hardwaregesteuert fortlaufend um 1 erhöht (inkrementiert) oder verringert (dekrementiert) wird Beim Erreichen der 0 oder des Zählwertes kann ein Interrupt ausgelöst werden n Vorteil: Prozessor muss selbst nicht zählen, wird nur während Zählwert dem Interrupt beansprucht Zählwert t 53 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Timer auf dem LaunchPad 12 Timer-Module 6 16/32-bit Module 6 32/64-bit Module („wide-timer“) 2 Timer pro Modul (Timer A und Timer B) können auch zu einem Timer zusammengefügt werden Timer starten beim load value und werden mit CPU-Taktfrequenz dekrementiert (bis zur 0) Periodisches wiederholen (periodic) oder einmaliges ausführen (single shot) load value = Taktfrequenz ∙ gewünschte Zeit Nutzung A/D-Wandlung starten Interrupt auslösen 54 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
PWM – Pulse-Width-Modulation Als Ausgang bisher kennengelernt: GPIO Anwendungen: Motor ansteuern Problem: nur 2 Zustände möglich (vgl. einfacher Schalter) LED dimmen An- und Ausschalten von LED möglich, aber kein Dimmen U Lösung: PWM Getaktetes Rechtecksignal mit variablem An-/Aus-Verhältnis bei U m festgelegter Grundfrequenz Vgl. sehr schnelles Schalten eines Schalters T 25% duty cycle t U Um Tastgrad (duty cycle): = = ∈ 0,1 + Hoher Tastgrad stellt mehr Leistung am Ausgang zur Verfügung T 90% duty cycle t 55 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
PWM auf dem LaunchPad (1) 2 PWM Module mit je 4 PWM Generatoren Jeder Generator kann 2 unabhängige PWM Signale mit gleicher Zählfrequenz ausgeben Wichtige Eigenschaften: Load Value Timer Jeder Generator hat internen Timer, der vom Compare Value load value aus herunter zur 0 zählt Ausgang auf HIGH bis compare value t erreicht wird, danach LOW (Invertierung möglich) PWM Out CPU Taktfrequenz PWM Frequenz f = PWM Unit Clock Divider t compare value 1 Tastgrad D = 1− load value T= f 56 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
PWM auf dem LaunchPad (2) Wichtig: LaunchPad hat keine gesonderten Pins für das PWM! PWM Ausgänge sind festen GPIO Pins zugeordnet GPIO Pin muss zuvor als PWM Ausgang konfiguriert werden PWM Modul PWM GPIO und Generator Name Port und Pin Mod. 0 M0PWM0 PB6 Gen. 0 M0PWM1 PB7 Mod. 0 M0PWM2 PB4 Gen. 1 M0PWM3 PB5 … Mod. 1 M1PWM6 PF2 Auszug aus Tabelle 20-1 des „TivaC Mikrocontroller Datenblatt“ Gen. 3 M1PWM7 PF3 57 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
PWM Motoransteuerung Mit einer sogenannten H-Brücke kann ein Motor in beide Richtungen betrieben werden Motortreiber sind i.d.R. als Halbbrücken ausgeführt S1 S2 58 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
PWM Motoransteuerung Mit einer sogenannten H-Brücke kann ein Motor in beide Richtungen betrieben werden Motortreiber sind i.d.R. als Halbbrücken ausgeführt Leistungsfähige, digitale Verstärker Zwei Halbbrücken zusammen bilden eine H-Brücke M 59 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
PWM Motoransteuerung Zur Geschwindigkeitsregelung: PWM auf eine der Halbbrücken. Die andere Halbbrücke schaltet fix auf Masse. Wahl der Halbbrücke entscheidet über die Richtung Mit zwei PWM Signalen – eines für jede Halbbrücke – kann der Motor vollständig in Richtung und Geschwindigkeit gesteuert werden. Geregelter Rechtslauf: M Geregelter Linkslauf: M 60 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Kommunikation auf dem TivSeg™ Hardware Module TivSeg Lenkstange Fußschalter Vollständige Klassen Unvollständige I2C: serielles, digitales Klassen Kommunikationsprotokoll ADC GPIO MPU 6050 24V Akku Micro-Controller (Gyroskop, (Spannungs- ADC I2C Bescheleunigungs- überwachung) Tiva C TM4C123G sensor) PWM GPIO Linker Motor Leistungselektronik Rechter Motor 61 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Kommunikation auf dem MiniSeg™ Hardware Module Potentiometer 1 Drahtbrücke auf MiniSeg TivSeg Lenkstange Steckbrett Fußschalter (Lenkung) Vollständige (Fußschalter) Klassen Unvollständige I2C: serielles, digitales Klassen Kommunikationsprotokoll ADC GPIO MPU 6050 24V Akku Micro-Controller Potentiometer 2 (Gyroskop, (Spannungs- ADC I2C (Batteriespannung) Bescheleunigungs- überwachung) Tiva C TM4C123G sensor) PWM GPIO SN754410 Linker Motor Leistungselektronik Rechter Motor (H-Brücke) 62 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Was machen Register? Sie wollen eine Pizza mit Ihrem Multifunktionsofen backen Das Gerät (Pin) kann als Mikrowelle (z.B. PWM) oder Ofen (z.B. GPIO) arbeiten, je nach Einstellung. Da Sie (Recheneinheit) mit den Händen die Pizza nicht backen können, nutzen Sie das Gerät (Pin) als Ofen (GPIO). Dazu stellen Sie das Gerät mit den Bedienelementen (Register) ein. 63 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Übertragung auf GPIO Pin auf dem LaunchPad hat viele Funktionen (GPIO, ADC, PWM, …) und muss korrekt konfiguriert werden Beispiel: Pin soll als GPIO (und nicht z.B. als PWM) genutzt, werden Dazu gibt es für jeden Port ein entsprechendes Register (GPIOAFSEL) mit einem Bit je Pin 1 0 0 0 1 1 1 0 Pin7 Pin1 Pin0 1 Pin wird als GPIO genutzt 0 Pin kann für andere Zwecke verwendet werden 64 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Arbeiten mit Registern Mikrocontroller hat eine große Anzahl an Registern Auflistung aller Register im „TivaC Mikrocontroller Datenblatt“ 1409 Seiten!!! Nur durch richtiges Setzen der Bits in den Registern kann Modul korrekt arbeiten Sehr aufwendig und fehleranfällig, kaum Einsatz in der Praxis Daher: Nutzen der TivaWare™ Treiberbibliothek, die alle Register „für uns“ setzt 65 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Ausblick zur nächsten EV Kennenlernen der TivaWare™ Treiberbibliothek, die Ihnen die Arbeit mit Registern abnimmt Einrichtung von Code Composer Studio Programm unbedingt vorher herunterladen und installieren! Eine Anleitung zur Installation finden Sie im entsprechenden Foliensatz, alternativ auch im 1. Kapitel vom „TivaC LaunchPad Workshop“ Beachten Sie ebenfalls die Hinweise im diesem Issue. Kennenlernen der Programmumgebung des Praktikums (Aufbau der Klassen) Gemeinsames Programmieren der GPIO-Klasse Danach kennen Sie alle Grundlagen und können mit den Aufgaben beginnen! 66 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Todos bis zur nächsten EV (am 21.05.2021) Einrichtung von GitHub Desktop und GitLab aus dieser EV ggf. nacharbeiten Gruppenmitglieder aussuchen (falls gewünscht) und sich bis zum 20.05 anmelden im Wiwi-Portal (als Gruppe oder alleine) zur Prüfungsleistung (CAMPUS, QISPOS) einmalig in GitLab einloggen Schauen Sie sich das „Handbuch IT1 Praktikum“ an Code Composer Studio herunterladen und installieren (siehe vorherige Folie) Einrichtung wird gemeinsam in der nächsten EV durchgeführt Nach der Gruppeneinteilung (am 20.05): Gruppenrepository mit GitHub Desktop klonen (genau so wie bei „Dokumente und Infos“) Optional: Erster Blick in den Quellcode werfen 67 07.05.2021 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer
Wozu dient gutes Projektmanagement? Was der Kunde Was der Was der Projektleiter Wie es der Analytiker Was der Berater erklärte Programmierer verstand entwarf definierte programmierte Was dem Kunden in Wie das Projekt Was der Kunde wirklich Was installiert wurde Rechnung gestellt Wie es gewartet wurde dokumentiert wurde gebraucht hätte wurde 68 IT I Praktikum – Einführungsveranstaltung 1 Institut für Technik der Informationsverarbeitung (ITIV) M.Sc. Martin Sommer 07.05.2021
Sie können auch lesen