Sensor-/Aktortest BSF längs: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Eigenen Test ergänzt, Kopierfehler behoben, SVN Revisionen aktualisiert, Testbeschreibung entfernt
Beschreibung S-Funktion get_direction ergänzt
 
Zeile 21: Zeile 21:
Datei: Gierratensensor ControlDesk.PNG| Gierratensensor
Datei: Gierratensensor ControlDesk.PNG| Gierratensensor
</gallery>
</gallery>
== Test Beschleunigung für Hall-Test ==
Um die Geschwindigkeitsbestimmung mithilfe der Hallsensoren zu durchzuführen, muss in Control Desk 7.1 manuell die Puls Modulation Breite des Antriebmotors eingestellt werden.
Anfang des Wintersemesters 23/24 funktioniert das manuelle Ansteuern mit der aktuellen Software der Revision 9142 nicht!
Der Wiki-Artikel [[Hall-Sensor]] beschreibt die Funktionsweise der Richtungsbestimmung und [[Softwarearchitektur des Fahrzeugs]] die Implementation.
Daher wird im Folgenden der Quellcode der S-Funktion "get_direction" zur Richtungsbestimmung mit den Hallsensoren bzw. Taktflanken dieser analysiert:
=== Quellcode der S-Funktion get_direction ===
<div class="mw-collapsible mw-collapsed">
<syntaxhighlight lang="c++">
// CASES:
//
//  A B C CaseNum 
//  1 0 1  1
//  1 0 0  2
//  1 1 0  3
//  0 1 0  4
//  0 1 1  5
//  0 0 1  6
#define FORWARD 1
#define BACKWARD 0
static int last_case = 0;
static int last_dir = FORWARD;
int state;
int case_num = 0;
state = 0;
if(HALL_A[0]>0){
    state +=100;
}
if(HALL_B[0]>0){
    state+=10;
}
if(HALL_C[0]>0){
    state+=1;
}
switch(state){
    case 101:
        case_num = 1;
        break;
    case 100:
        case_num = 2;
        break;
    case 110:
        case_num = 3;
        break;
    case 10:
        case_num = 4;
        break;
    case 11:
        case_num = 5;
        break;
    case 1:
        case_num = 6;
        break;
    default:
        break;
}
//Case: Forward Wrap-Around 6->1
if(case_num == 1 && last_case == 6){
    direction[0] = FORWARD;
    last_dir = FORWARD;
   
//Case: Backward Wrap-Around 1->6   
}else if(case_num == 6 && last_case == 1){
    direction[0] = BACKWARD;
    last_dir = BACKWARD;
   
//Case: Forward 1->2 .. 5->6
}else if(case_num > last_case){
    direction[0] = FORWARD;
    last_dir = FORWARD;
   
//Case: Backward 6->5 .. 2->1
}else if(case_num < last_case){
    direction[0] = BACKWARD;
    last_dir = BACKWARD;
   
//Case: No change
}else if(case_num == last_case){
    direction[0] = last_dir;
}
current_state[0] = case_num;
//save current case number
last_case = case_num;
</syntaxhighlight>
</div>
== Beschreibung der S-Funktion get_direction ==
Die Funktion fragt jeden Sampleschritt den Zustand der digitalen Eingänge C2, C3 und C4 ab. Die Hallsensoren sind so angeordnet,
dass die HIGH und LOW Flanken der Hallsensoren gestaffelt hintereinander erzeugt werden.
Durch die Bestimmung der Reihenfolge der Flanken kann die Fahrtrichtung des CCF ermittelt werden.
Dafür werden die sechs möglichen Zustände definiert, die über eine Switch Case Verzweigung abgefragt werden.
Weitere Ergebnisse werden im [[https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Dokumentation/Taetigkeitsbericht/Vorlage/Excel-Tool_Problemloesungsblatt.xlsx|Problemloesungsblatt]] erläutert.


== Beispiel: Test der Sensoren und Aktoren des Fahrzeugs ==
== Beispiel: Test der Sensoren und Aktoren des Fahrzeugs ==
Zeile 45: Zeile 148:
|-
|-
|}
|}


===Testfälle===
===Testfälle===

Aktuelle Version vom 10. Oktober 2023, 11:40 Uhr

Autoren: Tim Schonlau, Xiangyao Liu,Yuhan Pan

Vorlage von: Lukas Honerlage, Noah Greis, Jonas Hokamp

Einleitung

Dieser Artikel beschäftigt sich mit dem Sensor-/Aktortest für das Carolo Cup Fahrzeug. Für den Test liegt ein Simulink-Modell vor, welches als Grundlage für das ControlDesk-Projekt dient. Sämtliche Sensorwerte sind somit in ControlDesk sichtbar und alle Aktoren ansteuerbar. Vor einer Inbetriebnahme des Fahrzeuges sollten sämtliche Prüfschritte durchlaufen und in dem entsprechenden Prüfprotokoll dokumentiert werden.

Simulink-Modell (SVN Revision 9139)

ControlDesk-Oberfläche

Test Beschleunigung für Hall-Test

Um die Geschwindigkeitsbestimmung mithilfe der Hallsensoren zu durchzuführen, muss in Control Desk 7.1 manuell die Puls Modulation Breite des Antriebmotors eingestellt werden. Anfang des Wintersemesters 23/24 funktioniert das manuelle Ansteuern mit der aktuellen Software der Revision 9142 nicht! Der Wiki-Artikel Hall-Sensor beschreibt die Funktionsweise der Richtungsbestimmung und Softwarearchitektur des Fahrzeugs die Implementation.

Daher wird im Folgenden der Quellcode der S-Funktion "get_direction" zur Richtungsbestimmung mit den Hallsensoren bzw. Taktflanken dieser analysiert:

Quellcode der S-Funktion get_direction

Beschreibung der S-Funktion get_direction

Die Funktion fragt jeden Sampleschritt den Zustand der digitalen Eingänge C2, C3 und C4 ab. Die Hallsensoren sind so angeordnet, dass die HIGH und LOW Flanken der Hallsensoren gestaffelt hintereinander erzeugt werden. Durch die Bestimmung der Reihenfolge der Flanken kann die Fahrtrichtung des CCF ermittelt werden.

Dafür werden die sechs möglichen Zustände definiert, die über eine Switch Case Verzweigung abgefragt werden.

Weitere Ergebnisse werden im [[1]] erläutert.



Beispiel: Test der Sensoren und Aktoren des Fahrzeugs

Autor: Tim Schonlau, Xiangyao Liu,Yuhan Pan
Betreuer: Prof. Schneider, Prof. Göbel, Marc Ebmeyer

SVN Version

Für die Durchführung der Testfällen habe ich folgende SVN Version verwendet.

Software File Revision by
Matlab Datei: start.m 8811 Mirek Goebel
Simulink Modell: CCF_online_SensorAktorTest.slx 9117 Mirek Goebel
ControlDesk Projekt: Test der Sensor und Aktoren 8851 Mirek Goebel


Testfälle

Die ausführlichen Tabellen zu den Testfällen lassen sich mit Klick auf den Button "Ausklappen" anzeigen

Testfall 1

Bezeichnung: Simulink-Modell für den Sensor-/Aktortest builden
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: Simulink 10.0 (Matlab 2019b)

Testfall 2

Bezeichnung: ccf_online_sensoraktortest.sdf-Datei in ControlDesk Projekt laden
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 3

Bezeichnung: LED-Blinker links
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 4

Bezeichnung: LED-Blinker rechts
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 5

Bezeichnung: LED Bremsenlichter
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 6

Bezeichnung: LED Rückfahrlichter
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 7

Bezeichnung: Blaulicht
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 8

Bezeichnung: Taster AEP (Einpackalgorithmus starten)
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 9

Bezeichnung: Taster BSFoH
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 10

Bezeichnung: Taster BSFmH
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 11

Bezeichnung: Taster Reset
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 12

Bezeichnung: Vorwärts und Rückwärts
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 13

Bezeichnung: Lenkung
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 14

Bezeichnung: IR-Sensor Rechts vorne
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 15

Bezeichnung: IR-Sensor Rechts hinten
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 16

Bezeichnung: IR-Sensor Hinten rechts
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 17

Bezeichnung: IR-Sensor Hinten links
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 18

Bezeichnung: Gierratensensor
Tester: Xiangyao Liu,Yuhan Pan, Tim Schonlau
Datum: 05.10.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1

Testfall 19

Bezeichnung: Test mit Online Software
Tester: Tim Schonlau
Datum: 26.09.2023
Status: getestet
Testinstanz: Online am Fahrzeug
Verwendete Software: ControlDesk 7.1




→ zurück zum Hauptartikel: Praktikum SDE