Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
mexle:template_fuer_die_projektbeschreibung [2020/03/11 18:11] – [Table] tfischermexle:template_fuer_die_projektbeschreibung [2021/09/14 13:14] (aktuell) tfischer
Zeile 1: Zeile 1:
-====== MEXLE2020 Modul : DummyName ======+====== WSxx_PrjXX Tolle Projektidee ======  
 +FIXME 
  
-<WRAP right> +<WRAP right>  
-  +{{:study_aigledore_cc-by-2.0jpg.jpg?200|study_aigledore_cc-by-2.0jpg.jpg}}\\ 
- {{:study_aigledore_cc-by-2.0jpg.jpg?200|study_aigledore_cc-by-2.0jpg.jpg}}\\  <fs 70%> Dummy-Bild\\  Source: [[https://commons.wikimedia.org/wiki/File:Study_(16840395246).jpg|Moyan Brenn @ Wikimedia.org]]\\  ([[https://creativecommons.org/licenses/by/2.0/deed.en|CC BY 2.0 Lizenz]]) </fs> +<fs 70%> 
- +Dummy-Bild\\ 
 +FIXME Source: [[https://commons.wikimedia.org/wiki/File:Study_(16840395246).jpg|Moyan Brenn @ Wikimedia.org]]\\ 
 +([[https://creativecommons.org/licenses/by/2.0/deed.en|CC BY 2.0 Lizenz]]) 
 +</fs> 
 </WRAP> </WRAP>
-{{tablelayout?rowsHeaderSource=Auto}} 
-^ Ersteller                  | ???                                                                                                            | 
-^ letzte Änderung            | Sommersemester 2019                                                                                            | 
-^ Kurzbeschreibung           | In der Kurzbeschreibung soll \\ die wesentliche Funktion des Projekts in \\ einem Satz zusammengefasst werden  | 
-^ Verwendete MEXLE(-Module)  |                                                                                                                | 
  
-<WRAP center round important 60%>+^Ersteller| ??? | 
 +^letzte Änderung|Sommersemester 2019| 
 +^Kurzbeschreibung|FIXME In der Kurzbeschreibung soll die wesentliche Funktion des Projekts in  einem Satz zusammengefasst werden| 
 +^ Verwendete MEXLE(-Module)  |                             |
  
- **ACHTUNG!** Für die Niederschrift bietet sich folgendes Vorgehen an: 
  
 +<WRAP left round important 60%>
 +DELETEME
 +**ACHTUNG!**
 +Für die Niederschrift bietet sich folgendes Vorgehen an:
   - erst Bilder, Diagramme und Tabellen erstellen und den Kapiteln zuordnen   - erst Bilder, Diagramme und Tabellen erstellen und den Kapiteln zuordnen
-  - dann mit dem Text beginnen!+  - dann mit dem Text beginnen! 
   - Auch Fehler dürfen beschrieben werden   - Auch Fehler dürfen beschrieben werden
   - Es sollte soviel beschrieben werden, dass nachfolgende Studierende ohne Rückfragen Ihren Weg und Ziel nachvollziehen können.   - Es sollte soviel beschrieben werden, dass nachfolgende Studierende ohne Rückfragen Ihren Weg und Ziel nachvollziehen können.
   - Keine Ich-Form, Emotionen vermeiden!   - Keine Ich-Form, Emotionen vermeiden!
 +  - Mit DELETEME ist Text gekennzeichnet, der in der finalen Doku nicht mehr vorhanden sein sollte
 +  - Mit FIXME ist Text gekennzeichnet, der für die finale Doku ergänzt werden muss
 +  - Tipps zur Wikisyntax finden sich im [[:DokuWiki CheatSheet]]
 +</WRAP>
  
 +<WRAP left round important 60%>
 +DELETEME
 +
 +Leider hat der "CKG Editor" (WYSIWYG-Editor) einen Bug, welcher beim Öffnen und Speichern die Überschriften verdoppelt.
 +Es wird empfohlen den DW Edit (mit wiki-syntax) zu nutzen. 
 +Falls sie versehentlich den Button CKG Editor drücken, kommen sie folgendermaßen wieder zurück:
 +  - Button "DW Edit" drücken (Seite wird dann mit doppelten Überschriften angezeigt)
 +  - in der Menüleiste rechts auf "{{mdi>history}} ältere Versionen" klicken
 +  - links zur vorletzte Version anklicken (Vorversion der aktuellen Version)
 +  - in der Menüleiste rechts auf die "{{mdi>restore}} Wiederherstellen" klicken
 +
 +In ähnlicher Form kann auch vorgegangen werden, wenn versehentlich "Speichern" gedrückt wurde.
 +Ebenso können Sie auch im CKG Editor eingefügten Text zunächst erst im DW Edit kopieren und dann erst die vorherige Version wiederherstellen.  
 </WRAP> </WRAP>
  
-<pagebreak>+~~CLEARFIX~~ 
 + 
 + ----
  
 ====== Projektübersicht ====== ====== Projektübersicht ======
Zeile 30: Zeile 54:
 ===== Aufgabenstellung/Problemstellung ===== ===== Aufgabenstellung/Problemstellung =====
  
-Die Aufgabenstellung war eine kompakte Controllerplatine zu erstellen, welche als Basis für unterschiedlichste Projekte genutzt werden kann. Dabei sollte Wert auf Kompatibilität und größtmögliche Ausnutzung des verwendeten Microcontrollers werden.+FIXME 
 +Die Aufgabenstellung war eine kompakte Controllerplatine zu erstellen, welche als Basis für unterschiedlichste Projekte genutzt werden kann. Dabei sollte Wert auf Kompatibilität und größtmögliche Ausnutzung des verwendeten Microcontrollers werden.  
  
 ===== Lösungsansatz ===== ===== Lösungsansatz =====
  
 +DELETEME
   - Wie wurde das Problem angegangen?   - Wie wurde das Problem angegangen?
   - Wieso wurden die genutzten Bauteile und Platinen (z.B. MMC_328PB) verwendet?   - Wieso wurden die genutzten Bauteile und Platinen (z.B. MMC_328PB) verwendet?
  
 ===== Erstellung der Hardware ===== ===== Erstellung der Hardware =====
- +DELETEME 
-  - hier **nicht**  Schaltplan / Board darstellen, sondern in den Unterseiten. +  - hier **nicht** Schaltplan / Board darstellen, sondern in den Unterseiten. 
-  - Auf was wurde bei der Systemauswahl Wert gelegt? Welche Hürden wurden genommen?+  - Auf was wurde bei der Systemauswahl Wert gelegt? \\ Welche Hürden wurden genommen?
  
 ===== Erstellung der Software ===== ===== Erstellung der Software =====
- +DELETEME 
-  - Auf was wurde Wert gelegt? Welche Hürden wurden genommen?+  - Auf was wurde Wert gelegt? \\ Welche Hürden wurden genommen?
   - hier sollte auch der Code beschrieben werden, welcher nicht explizit für die genutzte Hardware notwendig ist. Also zum Beispiel bei Spielen, die [[https://de.wikipedia.org/wiki/Spielmechanik|Spielmechanik]] oder bei einer Wetterstation die Aufteilung auf dem Display. In beiden Beispielen wäre die Beschreibung der Bibliothek der Anzeige nicht hier, sondern im Software-Kapitel der Anzeigehardware zu beschreiben.   - hier sollte auch der Code beschrieben werden, welcher nicht explizit für die genutzte Hardware notwendig ist. Also zum Beispiel bei Spielen, die [[https://de.wikipedia.org/wiki/Spielmechanik|Spielmechanik]] oder bei einer Wetterstation die Aufteilung auf dem Display. In beiden Beispielen wäre die Beschreibung der Bibliothek der Anzeige nicht hier, sondern im Software-Kapitel der Anzeigehardware zu beschreiben.
  
 ===== Überprüfung/Test ===== ===== Überprüfung/Test =====
 +DELETEME
   - Gab es Zwischenschritte / Zwischenergebnisse?   - Gab es Zwischenschritte / Zwischenergebnisse?
   - Wurden Testplatinen und/oder Testkonzepte erstellt?   - Wurden Testplatinen und/oder Testkonzepte erstellt?
  
-<wavedrom> {signal: [ +<wavedrom> 
-{name: 'clk', wave: 'n.....|...'}, +{signal: [ 
-{name: 'dat', wave: 'x.x345|=x=', data: ['head', 'body', 'tail', 'data']}, +  {name: 'clk', wave: 'n.....|...'}, 
-{name: 'req', wave: '0.1..0|1.0'}, +  {name: 'dat', wave: 'x.x345|=x=', data: ['head', 'body', 'tail', 'data']}, 
-{}, +  {name: 'req', wave: '0.1..0|1.0'}, 
-{name: 'test', wave: 'HNNLPP|zdu'}+  {}, 
 +  {name: 'test', wave: 'HNNLPP|zdu'} 
 +]} 
 +</wavedrom>
  
-]</wavedrom>+{{url>https://wavedrom.com/editor.html}
 +Kurzanleitung zu WaveDrom: [[https://observablehq.com/@drom/wavedrom-ark?collection=@drom/wavedrom]]
  
-Kurzanleitung zu WaveDrom: [[https://observablehq.com/@drom/wavedrom-ark?collection=@drom/wavedrom|https://observablehq.com/@drom/wavedrom-ark?collection=@drom/wavedrom]] 
  
-===== Resumee =====+===== Offene Punkte ===== 
 +FIXME
  
-==== Fazit ==== +Bitte verfolgend sie die in Ihrem finalen Stand offenen Punkte (Bugs, fehlende Features, nicht vorgenommene Tests) in der [[https://wiki.mexle.org/doku.php?id=mexle:mexle-modul_template#bekannte_bugs_verbessungsvorschlaege|jeweiligen Seite der einzelnen Platine]]Im Ausnahmefall (z.B. Architektur-Fehler wie fehlende Platinen) kann auch hier die Liste aus der Platine kopiert und gefüllt werden 
- +===== Resumee ===== 
-nur für die einzelne Platine. Das Abschlussfazit sollte auf der Projekt-Seite stehen+DELETEME 
-==== bekannte Bugs / Verbessungsvorschläge ==== +  - Fazit für das gesamte System
- +
-  - Welche Fehler sind auf der Platine / in der Software bekannt?+
   - Verbesserungsvorschläge (Ausblick): Was könnte im Gesamtsystem noch umgesetzt werden?   - Verbesserungsvorschläge (Ausblick): Was könnte im Gesamtsystem noch umgesetzt werden?
  
-{{tablelayout?rowsHeaderSource=1&rowsVisible=10&colwidth="73px,96px,79px,-"&tableSort=1&tableSearch=1}} +----
-^ Nr.     ^ Bug/Feature  ^ SW/HW  ^ Beschreibung                                                                          ^ +
-^ Iss-01  | Bug          | SW     | Bei der Eingabe eines 18-stelligen Codes werden die letzten 17 Stellen abgeschnitten +
-^ Iss-02  | Bug          | HW     | LED X3 funktioniert nicht -> Kurzschluss durch Lötzinn                                | +
-^ Iss-03  | Feature      | SW     | Statemachine ist einzubauen                                                           | +
-^ Iss-04  | Feature      | HW     | Kameraauslöser ist zu entwickeln (noch nicht verfügbar)                               | +
-^ Iss-05  | Test         | HW     | SD-Karte noch nicht getestet                                                          |+
  
----- 
 ====== Hardwareübersicht ====== ====== Hardwareübersicht ======
  
-<a2s>+Die Hardwareübersicht soll einen Überblick über die verwendete Elektronik (und ggf. mechanische Hardware) geben.
  
 +<a2s>
 .-------. .-------. .-------. .-------.
 |Sensor | |DRV8835| |Sensor | |DRV8835|
 |Platine| |       | |Platine| |       |
-'-+-+---' '+-+----' +'-+-+---' '--+----' 
-  ^ |      |+  ^ |      |
   | :      | :   | :      | :
   v |      v |   v |      v |
-.---+-. .----+-. .------. +.---+--. .---+-. .------. 
-|MMC  | |MMC   | |Power | +| MMC  | | MMC | |Power | 
-|32U4 | |328PB | |Supply| +| 32U4 | |328PB| |Supply| 
-'-+-+-' '-+-+--' '-+----' +'-+-+--' '--+--' '-+----' 
-  ^ |     |      |+  ^ |     |      |
   | :     | :      :   | :     | :      :
   v |     v |      |   v |     v |      |
-.---+-------+------+-. +.---+-------+------+--.  
-|[BB]Basisboard 3×2  +|[BB] Modulträger 3×2 |  
-'--------------------'+'---------------------'
  
-[BB]: {"a2s:link":"[[:start|The start page]]", "fill":"#88d","a2s:delref":true}+[BB]: {"a2s:link":"[[:start|The start page]]", "fill":"#88d","a2s:delref":true} </a2s>
  
-</a2s> 
- 
-<pagebreak> 
 ===== Neu erstellte Module ===== ===== Neu erstellte Module =====
 +
 +DELETEME Falls es von Ihnen neu erstellte Elektronik-Module gab, so sind diese hier kurz zu beschreiben. Für eine ausführliche Beschreibung wird eine neue Seite für jedes Modul angelegt.
  
 ---- ----
- 
-<pagebreak> 
 ====== Softwareübersicht ====== ====== Softwareübersicht ======
  
-In diesem Projekt wurde die Platine [[:mexle:mmc_1x1_328pb]] verwendet und programmiert.+DELETEME Beschreiben Sie kurz, auf welchem Chip / Board die Software läuft. z.B.: 
 +In diesem Projekt wurde die Platine [[mexle2020:mmc_1x1_328pb]] verwendet und programmiert. 
  
-==== State Machine ====+==== Blockbilder ====
  
-<uml>  +FIXME 
-[*] –> Init  +
-Init –> [*]  +
-State1 : this is a string  +
-State1 : this is another string +
-State1 –> State2  +
-State2 –> [*]  +
-</uml>+
  
-Tipps zum Chart-Plugin: [[http://plantuml.com/de/|http://plantuml.com/de/]]+--> Modulblockbild # 
 +<uml> 
 +[*-right-> main
  
-<WRAP>+state "void main(void)" as main { 
 +  state "Initialisierung" as main_Init 
 +  main_Init -right-Programmschleife : Wenn kein Fehler, dann 
 +  state "Programmschleife" as Programmschleife { 
 +    10ms : springe zu input 
 +    100ms : springe zu calculate\nspringe zu was anderem 
 +    10ms -down-> input 
 +    100ms -down-> calculate 
 +  } 
 +}
  
-<WRAP half column>+state "void input(void)" as input { 
 +  state "ADC initialisieren" as input1 
 +  state "irgendwas einlesen" as input2 
 +  input1 --input2  
 +  input1 -left-> ADC_init  
 +}
  
-<code C [enable_line_numbers=1, start_line_numbers_at=42]> +state "void ADC_init(void)" as ADC_init {
-void main () { +
-printf ("Hello World!"); +
-exit 0;+
 } }
-</code> 
  
-</WRAP>+state "void calculate(void)" as calculate { 
 +}
  
-<WRAP half column>+state "void init_calculate(void)" as init_calculate { 
 +
 +calculate-->init_calculate  
 +</uml> 
 +<uml>
  
- Erklärung zum Code:+state "ISR(TWI_vect)" as TWI_Interrupt { 
 +  state "I2C Status auslesen" as TWI1 
 +  state "Abhängig vom Status Dinge tun" as TWI2 
 +  TWI1 --> TWI2  
 +}
  
-  * ''%%exit 0;%%''  kann weggelassen werden.+</uml>
  
-</WRAP>+Tipps zum Chart-Plugin: [[http://plantuml.com/de/]] 
 +<--
  
-</WRAP> 
  
 +--> Statemachine #
 +
 +<uml>
 +[*] --> Init
 +Init --> [*]
 +State1 : this is a string
 +State1 : this is another string
 +
 +State1 --> State2
 +State2 --> [*]
 +</uml>
 +
 +Tipps zum Chart-Plugin: [[http://plantuml.com/de/]]
 +<--
 +
 +<WRAP> 
 +<WRAP half column> 
 +<code C [enable_line_numbers=1, start_line_numbers_at=42]> 
 +  void main () {
 +  printf ("Hello World!");
 +  exit 0;
 +} </code> 
 +</WRAP> 
 +<WRAP half column> 
 +Erklärung zum Code: 
 +  * ''%%exit 0;%%'' kann weggelassen werden. 
 +</WRAP> 
 +</WRAP>
 +\\ \\ \\ \\
 ---- ----
  
-<pagebreak>+====== Anhang ======
  
 +===== A1. Pflichtenheft =====
 +FIXME
 +
 +Das Pflichtenheft in diesem Projekten ist zweigeteilt: 
 +  - Einerseits das tatsächliche Pflichtenheft, bei dem die Projektziele als kurze Aussage mit Beschreibung angegeben werden (erste Tabelle unten)
 +  - Andererseits eine Beschreibung der einzelnen Platinen und Softwarekomponenten, welche Sie neu entwickeln. Dabei sind die [[elektronik_labor:est_projekt_leitplanken]] zu beachten.
 +
 +Das Pflichtenheft ist zwar für die Durchführung und 
 +
 +{{tablelayout?colwidth="73px,165px,-,75px"&rowsHeaderSource=1&rowsVisible=10&tableSearch=1&tableSort=1}}
 +^ Nr.    ^ Projektziel                     ^ Beschreibung                                                           ^ Status               ^ Priorität    ^
 +^ PH-01  | Motor wird angesteuert          | Code implementiert, Elektronik funktionsfähig                          | erledigt             | muss         |
 +^ PH-02  | Joystick wird eingelesen        | Layout                                                                 | offen                | soll         |
 +^ PH-03  | Bewegungsablauf wird abgerufen  | statt Joystick soll ein gespeicherter Bewegungsablauf auswählbar sein  | erledigt             | muss         |
 +^ PH-04  | Kamera erzeugt Bilder           | Kamera auslösen                                                        | offen                | kann         |
 +^ PH-05  | Speicherung der Bilder          | Slot mit SD-Karte                                                      | nicht mehr relevant  | ausgenommen  |
 +
 +PH ... Pflichtenheft
 +
 +{{tablelayout?rowsHeaderSource=1&rowsVisible=10&colwidth=",106px,254px,322px,87px"&tableSort=1&tableSearch=1}}
 +^ Nr.    ^ neuentwickelt  ^ Komponente                        ^ Beschreibung                                                                                                                                                                   ^ Zielformat      ^
 +^ HW-01  | ja             | Spannungswandler-Platine          | Diese Platine enthält den Spannungswandler, welcher die Eingangsspannung auf die Motorspannung hochsetzt. Die Platine beinhaltet einen DCDC-Chip, sowie entsprechende Buchsen  | MEXLE 1x1       |
 +^ HW-02  | ja             | Motortreiber-Platine              | Diese Platine wandelt die Motorspannung in eine Wechselspannung.                                                                                                               | MEXLE 1x1       |
 +^ HW-03  | ja             | Joystick-Platine                  | Joystick mit Mikrocontroller, um die Eingabewerte in I2C Daten umzuwandeln                                                                                                     | eigenes Format  |
 +| -      | nein           | MmC1x1 328_2.x ATmega328 Platine  | Mikrocontroller-Platine für Motor                                                                                                                                              | MEXLE 1x1       |
 +^ SW-01  | ja             | Motoransteuerung                  | Ansteuern des Motortreibers, Einlesen und Ausgeben über I2C                                                                                                                    | C               |
 +^ SW-02  | ja             | Menuführung                       | Auswahl zwischen manueller Steuerung                                                                                                                                           | C               |
 +^ SW-03  | ja             | Joystick-Auswertung               | Software, welche die Joystickeingabe in I2C umwandelt                                                                                                                          | C               |
 +
 +SW ... Software, HW ... (Elektronik)Hardware
 +
 +===== A2. Projektberichte =====
 +
 +<WRAP group><WRAP column half>
 +{{tablelayout?rowsHeaderSource=Auto&colwidth="387px"}}
 +^ Status                                            ^
 +| Punkt 1. (Zeilenumbruch mit <Umschalt>+<Return> |
 +| Punkt 2. (Zeilenumbruch mit <Umschalt>+<Return> |
 +| Punkt 3. (Zeilenumbruch mit <Umschalt>+<Return> |
 +
 +</WRAP><WRAP column half>
 +</WRAP>