Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise...

84
Graduate School Studiengang „Elektrische Energiesysteme und Elektromobilität“ Masterprojektarbeit Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi [1] Betreuer: Prof. Dr.-Ing. Thomas Walter Studiendekan: Prof. Dr.-Ing. Claus Kröger Vorgelegt von: Ralf Burr, Matr. Nr. 3120085 Heinrich Kern, Matr. Nr. 3104710 Datum: 9. Februar 2016

Transcript of Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise...

Page 1: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Graduate School

Studiengang „Elektrische Energiesysteme und Elektromobilität“

Masterprojektarbeit

Bordcomputer für ein E-Trike auf Basis

eines Raspberry Pi

[1]

Betreuer: Prof. Dr.-Ing. Thomas Walter

Studiendekan: Prof. Dr.-Ing. Claus Kröger

Vorgelegt von: Ralf Burr, Matr. Nr. 3120085

Heinrich Kern, Matr. Nr. 3104710

Datum: 9. Februar 2016

Page 2: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Erklärung 2

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Erklärung

„Wir versichern, dass wir diese Projektarbeit selbständig und nur unter Verwendung der

angegebenen Quellen und Hilfsmittel angefertigt und die benutzten Quellen wörtlich oder

inhaltlich entnommenen Stellen als solche kenntlich gemacht haben. Die Arbeit hat in gleicher

oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen.“

Ulm, den ________________________________

Ralf Burr_________________________________

Heinrich Kern_____________________________

Page 3: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inhaltsverzeichnis 3

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Inhaltsverzeichnis

Erklärung ............................................................................................................................... 2

Inhaltsverzeichnis ................................................................................................................... 3

Abkürzungen .......................................................................................................................... 7

1 Einleitung ....................................................................................................................... 8

2 Systemkonzept ............................................................................................................... 9

3 Hardware ..................................................................................................................... 12

3.1 Eigenversorgung des Datenloggers ............................................................................ 12

3.2 Messung der Akkuströme und Spannungen .............................................................. 14

3.3 Messung der Sonneneinstrahlung .............................................................................. 16

3.4 GPS-Empfänger ........................................................................................................... 17

3.5 Visualisierung mit Display ........................................................................................... 18

3.6 Messung der Geschwindigkeit .................................................................................... 18

3.7 Analogeingänge .......................................................................................................... 21

3.7.1 Analog-Digital-Wandler .................................................................................. 21

3.7.2 Analogeingangsbeschaltung ........................................................................... 22

3.7.3 Impedanzwandler ........................................................................................... 23

3.7.4 Übersicht ......................................................................................................... 24

4 Software ...................................................................................................................... 24

4.1 MCP3208-Klasse ......................................................................................................... 25

4.2 Sensor-Klasse .............................................................................................................. 26

4.3 Akku-Klasse ................................................................................................................. 27

4.4 Frequenz-Klasse .......................................................................................................... 27

4.5 Geschwindigkeit-Klasse .............................................................................................. 30

4.6 LCD-Klasse ................................................................................................................... 30

4.7 Trike-Klasse ................................................................................................................. 31

4.8 Datenlogger-Klasse ..................................................................................................... 32

4.9 Bordcomputer-Klasse ................................................................................................. 33

4.10 Shutdown-Klasse......................................................................................................... 34

5 Raspberry Pi ................................................................................................................. 35

5.1 Installation des Betriebssystems ................................................................................ 35

5.2 Zugriff auf den Raspberry Pi ....................................................................................... 35

5.3 Einrichten der Laufzeitumgebung .............................................................................. 38

5.3.1 Die SPI-Schnittstelle ........................................................................................ 39

5.3.2 GPS-Daemon ................................................................................................... 39

Page 4: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inhaltsverzeichnis 4

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

5.4 Gerätebaumerweiterung ............................................................................................ 40

5.5 Automatisches Ausführen der Software .................................................................... 40

6 Inbetriebnahme ............................................................................................................ 41

6.1 DC/DC-Wandler .......................................................................................................... 41

6.2 Inbetriebnahme AD-Wandler ..................................................................................... 42

6.3 Geschwindigkeitsmessung .......................................................................................... 43

7 Messergebnisse ............................................................................................................ 46

8 Fazit ............................................................................................................................. 51

9 Literaturverzeichnis ...................................................................................................... 52

10 Anhang ......................................................................................................................... 53

10.1 Übersichtsschaltplan................................................................................................... 53

10.2 Schaltplan Hauptplatine ............................................................................................. 57

10.3 Layout Hauptplatine ................................................................................................... 59

10.4 Liste Bauteile Hauptplatine ........................................................................................ 61

10.5 Stückliste Datenlogger ................................................................................................ 62

10.6 Raspberry Pi Model 2B ............................................................................................... 63

10.7 Strahlungssensor Apogee SP-512 ............................................................................... 64

10.8 LEM-Stromsensor CAS-15 ........................................................................................... 68

10.9 GPS-Sensor .................................................................................................................. 71

10.10 Reedschalter MK21 ..................................................................................................... 73

10.11 AD-Wandler MCP3204 ................................................................................................ 75

10.12 Schmitt-Trigger SN74AHC1G14 .................................................................................. 79

Page 5: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inhaltsverzeichnis 5

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildungsverzeichnis Abbildung 1: E-Trike Rückansicht mit Sicht auf den Bordcomputer ................................................ 8

Abbildung 2: Übersicht Komponenten E-Trike zu Projektbeginn .................................................... 9

Abbildung 3: Vollständiges Blockschaltbild des Projekts ............................................................... 11

Abbildung 4: Schaltplan "Eigenversorgung des Datenloggers" ...................................................... 13

Abbildung 5: Funktionsblock "Ein- und Ausschalten des Tiefsetzstellers“ .................................... 14

Abbildung 6: LINKS: Messbox RECHTS: Unterseite Platine Messbox ............................................. 15

Abbildung 7: Schaltplan Messbox .................................................................................................. 15

Abbildung 8: Empfindlichkeit des Strahlungssensors Apogee "SP-215" [5] .................................. 17

Abbildung 9: Montiertes GPS-Modul BU-353 (Dahinter der Strahlungssensor) ............................ 17

Abbildung 10: LCD-Display im spritzwassergeschützten Gehäuse ................................................. 18

Abbildung 11: Messaufbau zur Analyse des Schalterprellens ........................................................ 18

Abbildung 12: Pulsdauer bei einem Schaltvorgang ........................................................................ 19

Abbildung 13: Analyse Schalterprellen .......................................................................................... 19

Abbildung 14: Bodediagramm des RC-Tiefpassfilters .................................................................... 20

Abbildung 15: Funktionsblock "Schmitt-Trigger" zur Geschwindigkeitsmessung ......................... 21

Abbildung 16: Reedschalter mit Magnet zur Geschwindigkeitserfassung ..................................... 21

Abbildung 17: Analogeingang mit Schutzbeschaltung ................................................................... 23

Abbildung 18: Impedanzwandler ................................................................................................... 23

Abbildung 19: Gesamtübersicht Analogeingang ............................................................................ 24

Abbildung 20: Python Logo ............................................................................................................ 24

Abbildung 21: Mcp3208-Klasse ...................................................................................................... 25

Abbildung 22: SPI Kommunikation mit dem MCP 3208 [8] ........................................................... 25

Abbildung 23: Sensor-Klasse .......................................................................................................... 26

Abbildung 24: Akku-Klasse ............................................................................................................. 27

Abbildung 25: Ablaufdiagramm Frequenzberechnung durch Interrupt ........................................ 28

Abbildung 26: Aufruf getFrequency ............................................................................................... 29

Abbildung 27: Frequenz-Klasse ...................................................................................................... 29

Abbildung 28:Speed-Klasse ............................................................................................................ 30

Abbildung 29: LCD-Klasse ............................................................................................................... 31

Abbildung 30: Trike-Klasse ............................................................................................................. 32

Abbildung 31: Datenlogger-Klasse ................................................................................................. 33

Abbildung 32:Bordcomputer-Klasse .............................................................................................. 33

Abbildung 33: Shutdown-Klasse ..................................................................................................... 34

Abbildung 34: Einplatinencomputer Raspberry Pi 2B mit Micro-SD Karte und USB-Stick ............. 35

Abbildung 35: Zugriff auf das Raspberry Pi mittels PuTTY ............................................................. 37

Abbildung 36: Grafische Oberfläche WinSCP ................................................................................. 37

Page 6: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inhaltsverzeichnis 6

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 37: Verbindung mittels Remote Desktop Verbindung .................................................. 38

Abbildung 38: Wirkungsgrad des DC/DC-Wandlers vs. Ausgangsstrom ........................................ 41

Abbildung 39: Gemessene Signale mit dem Speicheroszilloskop .................................................. 44

Abbildung 40: Signale während eines Schaltvorgangs des Reed-Kontakts .................................... 44

Abbildung 41: Beginn eines Schaltvorgangs zur Geschwindigkeitsmessung ................................. 45

Abbildung 42: Hauptplatine des Datenloggers im eingebauten Zustand ...................................... 46

Abbildung 43: Logifle nach dem Import in Microsoft Excel ........................................................... 46

Abbildung 44: Messfahrt Nr. 007: Geschwindigkeit und Elektrische Motorleistung vs. Zeit ........ 47

Abbildung 45: Bedienoberfläche des Programms "GPX_creator.py" ............................................ 47

Abbildung 46: Messfahrt „logfile0007.csv“: Streckenverlauf, dargestellt mit Openstreetmap .... 48

Abbildung 47: Messfahrt "logfile0007.csv": Höhenprofil & Steigung ............................................ 49

Abbildung 48: Messung Nr. 003: Bestrahlungsstärke und Ladeleistung vs. Zeit ........................... 49

Page 7: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Abkürzungen 7

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abkürzungen

SOC State Of Charge

Wp Watt Peak

OCV Open Circuit Voltage

ISC I Short Cut

BMS Battery Management System

MPP Maximum Power Point

ULE Ladeendspannung

ADC Analog Digital Converter

IC Integrated Circuit

PDIP Plastic Dual In-line Package

GND Ground

DHCP Dynamic Host Configuration Protocol

IP Internet Protocol

DNS Domain Name System

SSH Secure Shell

APT Advanced Packaging Tool

PIP Pip Installs Python

Page 8: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Einleitung 8

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

1 Einleitung

Pedelecs sind Fahrräder mit elektromotorischer Unterstützung bis maximal 250 W

Nenndauerleistung an der mechanischen Antriebswelle und einer Geschwindigkeit von 25 km/h.

Ein E-Trike ist ein spezielles Pedelec in Form eines dreirädrigen Liegefahrrads. An der Hochschule

Ulm ist durch mehrere studentische Projekte ein E-Trike von HP-Velotechnik um ein Solardach mit

Ppeak = 150W sowie einem MPP-Tracker zum effizienten Laden des Lithium-Ionen-Akkus (36 V)

erweitert worden.

Abbildung 1: E-Trike Rückansicht mit Sicht auf den Bordcomputer

Im Rahmen dieses Masterprojekts des Studiengangs „Elektrische Energiesysteme und

Elektromobilität“ wird für dieses E-Trike auf Basis des Kleinstcomputers „Raspberry Pi“ ein

Datenlogger zur Erfassung verschiedener Messwerte entwickelt. Erfasst werden unter anderem

die Geschwindigkeit, die aktuelle Sonneneinstrahlung und der elektrische Leistungsfluss zwischen

Motor, Akkus und Solarpanel. Dadurch kann zum Beispiel untersucht werden, ob bei einer

täglichen Fahrt und anschließendem Abstellen unter freiem Himmel die Akkus vollständig durch

die Solarmodule geladen werden.

Page 9: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Systemkonzept 9

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

2 Systemkonzept

Zu Beginn des Projekts ist das E-Trike mit einer Antriebseinheit und einer Ladeeinheit ausgestattet.

Die Antriebseinheit besteht aus einem Display, Fahrakku sowie einem Nabenmotor. Diese Einheit

entspricht dem Ursprungszustand nach dem Kauf des E-Tikes. Die Ladeeinheit besteht aus einem

weiteren Akku, welcher folgend „Ladeakku“ genannt wird. Dieser hat keine Verbindung zum

Antriebsstrang und wird über einen MPP-Tracker und das interne BMS des Akkus geladen.

Alternativ können die Akkus über ein externes Ladegerät aufgeladen werden.

Abbildung 2: Übersicht Komponenten E-Trike zu Projektbeginn

Der Datenlogger soll Messdaten erfassen, die während der Fahrt auf einem Display angezeigt oder

für eine spätere Auswertung am PC abgespeichert werden können.

Der erste Schritt ist die Erstellung eines Pflichtenhefts für den Datenlogger in Absprache mit Herrn

Prof. Walter.

Page 10: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Systemkonzept 10

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Sensorik / Messgröße Techn. Anforderung Hintergrund:

Sonneneinstrahlung Messbereich 0…1000 W/m²

Die zu erwartenden Einstrahlungswerte für Deutschland bewegen sich in diesem Bereich.

Geschwindigkeit Messbereich 0…50 km/h

Zu erwartende Geschwindigkeit.

Elektrischer Strom

Ladeakku

Messbereich 0…3,04 A

Solarmodule (3 Stück in Reihe) liefern: ISC = 3,04 A; OCV = 20,8 V

Somit nimmt der Ladestrom bei sehr niedrigem Ladezustand des Akkus (Entspricht ebenfalls ca. 20 V) maximal 3,04 A an.

Elektrischer Strom

Fahrakku

Messbereich -20…20 A

Annahme: Bei 36 V Akkuspannung und 250 W Nenndauerleistung ist der Nennstrom ca. 7 A. Mit Schätzung des Wirkungsgrades und Anlaufstrom wird ein Sicherheitsfaktor von 3 gewählt. Negative Ströme sind bei Rekuperation zu erwarten.

Elektrische Spannung Fahr- und Ladeakku

Messbereich 20...42 V Ergibt sich aus ULe=4,2 V und U(SOC=0) = 2,0 V nach Datenblattangabe bei 10 in Reihe geschalteten Zellen (Panasonic 18650A).

Messung GPS-Position Keine speziellen Vorgaben.

Gefahrene Route soll als GPS-Track bei der Auswertung am PC auf einer Karte darstellbar sein.

Datenverarbeitung

Hardware Verwendung des Einplatinencomputers „Raspberry Pi“

(Gewünschte Anforderung durch Herrn Prof. Walter).

Display Messdaten sollen dem Fahrer während der Fahrt angezeigt werden.

Bedienung Es muss ein Bedienelement zum starten/stoppen einer Messung vorhanden sein.

Allgemeine Anforderungen

Mechanisch /

Konstruktiv

System muss spritzwassergeschützt und fest montiert sein. System soll kompakt aufgebaut sein und am E-Trike so integriert sein, dass es während der Fahrt nicht stört.

Eigenversorgung des

Datenloggers.

Versorgung über den Fahrakku. Möglichst geringe Stromaufnahme während des Betriebs, kein Standby-Verbrauch. (Eine Versorgung über den Ladeakku würde die relativ geringe Ladeleistung durch die Solarmodule verfälschen).

Tabelle 1: Übersicht der zu erfassenden Messgrößen

Page 11: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Systemkonzept 11

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Zur Anbindung der Sensoren und des Displays wird eine Platine entwickelt, die über eine

Steckleiste mit dem Raspberry Pi verbunden wird. Somit erfolgt der Aufbau des Datenloggers wie

in Abbildung 3 dargestellt.

Abbildung 3: Vollständiges Blockschaltbild des Projekts

Page 12: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 12

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

3 Hardware

Im Folgenden Abschnitt wird gezeigt, wie die einzelnen Funktionsblöcke aufgebaut sind und

welche Vorteile die gewählten Schaltungen und Bauteile liefern.

3.1 Eigenversorgung des Datenloggers

Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss

die Versorgungsspannung zwischen 4,75 V und 5,50 V liegen.

Die Versorgung des gesamten Datenloggers erfolgt durch den 36 V Fahrakku und muss mit einem

Tiefsetzsteller auf eine Spannung von 5,0 V herabgesetzt werden. Die maximale Leistung, die der

Tiefsetzsteller bereitstellen muss, ergibt sich aus Tabelle 2.

Verbraucher P [mW] Quelle

Raspberry Pi 1250 Gemessen

2 Stromsensoren 2x100 Datenblatt LEM CAS 15-P

GPS 275 Datenblatt BU-353S4

Display 105 Gemessen

Einstrahlungssensor 15 Datenblatt Apogee SP-215

Optional: USB-Buchse zum

laden eines Smartphones

2500 Ein USB „High Powered Port“

muss 500 mA liefern können [2]

GESAMT 4345

Tabelle 2: Ermittlung der benötigten Leistung für den Datenlogger

Die Wahl fällt auf den Regelbaustein „LM5576“ von Texas Instruments. Dieser bietet folgende

Vorteile:

weiter Eingangsbereich 6...75 V (Spannung des Fahrakkus liegt zwischen 20 und 42 V)

kleine Bauform durch integrierten High-side switch

automatische Abschaltung bei Überlast

integrierter thermischer Schutz

ein- und ausschaltbar über den Pin „SD“

Die äußere Beschaltung erfolgt nach der Schaltplanempfehlung des Datenblatts des

Tiefsetzstellers. Zusätzlich wird eingangsseitig eine TVS-Diode als ESD-Schutz und eine Schottky-

Diode als Verpolungsschutz eingebaut. Die Schaltung des Funktionsblocks „Eigenversorgung des

Datenloggers“ ist in Abbildung 4 dargestellt.

Page 13: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 13

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 4: Schaltplan "Eigenversorgung des Datenloggers"

Der Raspberry Pi muss per Handschalter sicher ein- und ausschaltbar sein. Das Betriebssystem

startet, sobald er mit 5 V Spannung versorgt wird und darf während des Boot-Prozesses nicht mehr

abgeschaltet werden. Das Herunterfahren geschieht mit demselben Handtaster. Sobald der

Raspberry Pi vollständig heruntergefahren ist, muss der Tiefsetzsteller ausgeschaltet werden,

damit kein unnötiger Entladestrom auf Grund eines Standby-Betriebes fließt.

Diese Funktionalität wird mit dem in Abbildung 5 dargestellten Funktionsblock „Ein- und

Ausschalten des Tiefsetzstellers“ erreicht. Der Tiefsetzsteller lässt sich einschalten, indem am Pin

„SD“ des LM5575 eine Spannung größer 1,225 V angelegt wird. Beim Einschalten wird über die

ständig verfügbare Spannung am Fahrakku der Pfad 1 aktiviert, der LM5575 wird eingeschaltet

und der Raspberry Pi startet. Sofort nach dem Start wird über einen GPIO-Port das Signal „Hold“

vom Raspberry Pi auf 3,3V gesetzt und versorgt den Pin „SD“ über Pfad 2. Dies entspricht einer

Selbsthalteschaltung.

Der Ausschaltvorgang erfolgt nach folgendem Schema: Der Signalpegel des ON/OFF-Signals wird

vom Raspberry Pi zyklisch abgefragt. Ist der Eingang „Low“, wird der Shutdown-Prozess

eingeleitet. Der Ausgang „Hold“ bleibt dabei gesetzt, bis der Raspberry Pi endgültig

heruntergefahren ist. Danach wird der LM5575 mit einer kurzen Verzögerung durch den

Kondensator C30 abgeschaltet.

Page 14: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 14

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 5: Funktionsblock "Ein- und Ausschalten des Tiefsetzstellers“

3.2 Messung der Akkuströme und Spannungen

Da für den Raspberry Pi die Versorgungsspannung von 5,0 V durch den Tiefsetzsteller erzeugt wird,

liegt es nahe, die Sensoren ebenfalls so zu wählen, dass diese mit 5,0 V betrieben werden können.

Ein Shuntwiderstand zur Strommessung kommt wegen der hohen Verlustleistung nicht in Frage.

Verwendet wird der Halleffekt-Sensor CAS15-NP von LEM. Die Gründe hierfür sind:

die Sensitivität kann durch mehrmaliges Durchschleifen der Leitung erhöht werden.

Dadurch kann für die stark unterschiedlichen Messbereiche von Fahr- und Ladeakku

der gleiche Sensortyp benutzt werden.

Analogausgang 0..5 V

positive und negative Ströme messbar. Bei i = 0 A gibt der Sensor eine Spannung

u = 2,5 V aus. Dadurch kann schon bei Stillstand des E-Trikes gesehen werden, ob der

Sensor ordnungsgemäß funktioniert.

Zur Messung der Ströme von Fahr- und Ladeakku müssen die Leitungen zwischen den Akkus und

dem Motor bzw. dem MPP-Tracker aufgetrennt werden. Dies geschieht innerhalb einer Box, die

unter dem Sitz montiert wird. Siehe Abbildung 6.

Page 15: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 15

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 6: LINKS: Messbox RECHTS: Unterseite Platine Messbox

Damit das E-Trike auch ohne den Bordcomputer benutzt werden kann, werden an der Box je ein

Rosenbergerstecker und eine Buchse angebracht. Damit kann die Box durch einfaches Umstecken

zwischengeschaltet werden. Das Schaltschema ist im Schaltplan in Abbildung 7 dargestellt.

Abbildung 7: Schaltplan Messbox

Page 16: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 16

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

3.3 Messung der Sonneneinstrahlung

Um die Bestrahlungsstärke der Sonne (W/m²) zu messen, gibt es Sensoren mit verschiedenen

Messprinzipien:

Pyranometer Ein schwarzer Körper absorbiert die Strahlung und erwärmt sich. Es entsteht ein Temperaturgefälle zur Umgebungstemperatur, das mit einem Thermoelement gemessen wird.

Passiver Sensor, benötigt keine Stromversorgung

Erzeugt kleine Spannungssignale von ca. 50 µV/W/m². Beispiel „SP Lite2“, siehe [3]

Si-Solarzelle im Kurzschlussbetrieb

Kurzschlussstrom ist annähernd proportional zur Bestrahlungsstärke und ist kaum temperaturabhängig. Strommessung erfolgt über einen Shuntwiderstand.

Sehr günstig Sehr kleine Spannungssignale. Bsp:

Mini-Solarzelle KXOB22 (Conrad Electronic). Bei einem Shunt von 1 Ω und voller Sonneneinstrahlung wäre das Messsignal nur 50 mV [4]

Sensor auf Basis einer Si-Solarzelle und integriertem Messverstärker.

Analogausgang wird auf einen normierten Messbereich proportional zur Bestrahlungsstärke verstärkt.

Messsignal mit großem Spannungshub ist weniger empfindlich gegen Störungen.

Messsignal kann auf den gleichen Spannungsbereich normiert werden wie die Stromsensoren (0…5 V)

Teuer

Tabelle 3: Verschiedene Prinzipien zur Messung der Sonneneinstrahlung

Für das E-Trike wird der Sensor „SP-512“ der Firma Apogee verwendet. Dieser besitzt eine geringe

Eigenstromaufnahme von 300 µA und kann mit 5 V versorgt werden. Da der Sensor auf Basis einer

Si-Zelle arbeitet, entspricht die spektrale Empfindlichkeit des Sensors der Empfindlichkeit der

Solarmodule auf dem Dach (siehe Abbildung 8). Somit kann der Sensor als gute Referenz für die

zu erwartende Ladeleistung durch die Solarmodule dienen.

Page 17: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 17

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 8: Empfindlichkeit des Strahlungssensors Apogee "SP-215" [5]

3.4 GPS-Empfänger

GPS-Module gibt es als Mini-Platine mit integrierter Antenne und serieller Schnittstelle für ca.

40 €. Da das GPS-Modul für optimalen Empfang auf dem Dach montiert wird, ist ein zusätzliches

Gehäuse notwendig. Aus diesem Grund wird der gekapselte Empfänger BU-353 mit USB-

Schnittstelle von Globalsat verwendet, welcher preislich mit der oben genannten Lösung identisch

ist.

Abbildung 9: Montiertes GPS-Modul BU-353 (Dahinter der Strahlungssensor)

Page 18: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 18

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

3.5 Visualisierung mit Display

Über das Display werden während der Fahrt die Messdaten in Echtzeit angezeigt. Aus folgenden

Gründen fällt die Wahl auf ein zweizeiliges LCD-Display:

Hintergrundbeleuchtung ermöglicht das Ablesen auch bei Nachtfahrten

geringer Stromverbrauch (21 mA mit Hintergrundbeleuchtung)

kompakt, kann spritzwassergeschützt in ein Gehäuse eingebaut werden

einfache serielle Datenübertragung im 4-Bit Modus. (4 Daten- und 2 Steuerleitungen nötig,

die direkt mit den GPIO´s des Raspberry Pi verbunden sind)

Abbildung 10: LCD-Display im spritzwassergeschützten Gehäuse

3.6 Messung der Geschwindigkeit

Eine einfache Methode zur Geschwindigkeitsmessung an Fahrrädern ist die Messung der Frequenz

eines Rades mit Hilfe eines Reedschalters. Dieser wird fest am Rahmen montiert und durch einen

an den Speichen angebrachten Magneten bei jeder Radumdrehung ausgelöst.

Um die Messung einer viel zu hohen Frequenz durch Schalterprellen auszuschließen, wird vorab

eine Messung mit dem Oszilloskop vorgenommen wie in Abbildung 11 dargestellt.

Abbildung 11: Messaufbau zur Analyse des Schalterprellens

Page 19: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 19

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Ergebnis: Die Pulsdauer bei einer Umfangsgeschwindigkeit am Rad von ca. 60 km/h beträgt 2,5 ms

(400 Hz). Siehe Abbildung 12.

Abbildung 12: Pulsdauer bei einem Schaltvorgang

Die Frequenzen, die durch das Schalterprellen verursacht werden liegen über 100 kHz. Dies geht

aus einem Schaltvorgang des Reedschalters hervor, wie in Abbildung 13 dargestellt.

Abbildung 13: Analyse Schalterprellen

Wenn man davon ausgeht, dass mit dem E-Trike nicht schneller als 60 km/h gefahren wird, können

alle Frequenzen, die über 400 Hz liegen herausgefiltert werden. Dies geschieht mit einem RC-

Tiefpassfilter erster Ordnung.

Mit R = 47 kΩ und C = 2 nF ergibt sich eine Grenzfrequenz fg und eine Zeitkonstante τ von:

fg =1

2 · π · R · C=

1

2 · π · 47 kΩ · 2 nF = 1,7 kHz

Page 20: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 20

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

τ = R · C = 94 µs

Der RC-Tiefpass dämpft somit näherungsweise die niedrigste Frequenz des Schalterprellens

(23,3 kHz) mit ca. -5 dB (Siehe Bodediagramm).

Abbildung 14: Bodediagramm des RC-Tiefpassfilters

Die maximale Amplitude dieser Frequenzen wird zuerst durch den Spannungsteiler (R24 und R25)

auf UB/2 = 2,5 V begrenzt. Durch die Dämpfung des Filters wird diese Spannung auf folgenden

Wert gedämpft:

𝑈max _23,3_𝑘𝐻𝑧 ≈ 2,5 ∙ 10−5 𝑑𝐵

20 𝑉 = 1,41 𝑉

Diese Spannung liegt unter der Schaltschwelle des Schmitt-Triggers. Diese liegt bei:

𝑈𝑉𝐶𝐶

2=

3,3 𝑉

2= 1,65 𝑉

Page 21: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 21

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Damit ergibt sich für den Funktionsblock „Geschwindigkeitsmessung“ folgende Schaltung:

Abbildung 15: Funktionsblock "Schmitt-Trigger" zur Geschwindigkeitsmessung

Die TVS-Diode D19 Dient zum Schutz der Schaltung vor Spannungsimpulsen. Der Ausgang des

Schmitt-Triggers mit der Bezeichnung „Hall“ wird mit einem GPIO-Port des Raspberry Pi

verbunden. Der Reedschalter wird mit einem Aluwinkel am Rahmen des E-Trikes befestigt (Siehe

Abbildung 16). Als Betätigungsmagnet dient ein an den Speichen befestigter Magnet eines

Fahrradtachos.

Abbildung 16: Reedschalter mit Magnet zur Geschwindigkeitserfassung

3.7 Analogeingänge

Da der Raspberry Pi keine Analogeingänge besitzt, muss hierfür ein Analog Digitalwandler (engl.

Analog Digital Converter, kurz ADC) verwendet werden.

3.7.1 Analog-Digital-Wandler

Der ADC muss nach Tabelle 1 mindestens 5 Analogeingänge besitzen. Zur Anbindung der externen

Peripherie besitzt der Raspberry Pi ein SPI-Bus (Serial Peripheral Interface) mit einem 3,3 V

Page 22: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 22

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Buspegel. Somit fällt die Wahl auf einen MCP3208 der Firma Microchip. Dieser besitzt 8

Analogeingänge, eine Auflösung von 12 Bit, sowie eine Genauigkeit von 2 LSB. Weiter ist der IC in

einem 16-pin PDIP Gehäuse verfügbar. Die Analogreferenzspannung für den ADC wird vom

Raspberry Pi bereitgestellt und beträgt ebenso 3,3 V.

3.7.2 Analogeingangsbeschaltung

Je nach Sensor muss der Analogeingang einen Spannungsbereich von 0…5 V oder 0…42 V messen

können. Die maximal messbare Spannung des ADC darf die Analogreferenzspannung nicht

überschreiten. Somit muss das Eingangssignal bei maximaler Spannung auf die

Analogreferenzspannung heruntergeteilt werden. Hierfür wird ein Spannungsteiler aus

Widerständen verwendet.

Überschreitet die Eingangsspannung den definierten Bereich, wird die Spannung am

Analogeingang des ADCs durch eine Diode, die in Flussrichtung zur Analogreferenzspannung

geschaltet ist begrenzt (siehe Abbildung 17). Somit kann sich die Spannung maximal auf die

Analogreferenzspannung plus Diodenspannung (typisch 0,7 V) erhöhen, was die Bauteile nicht

beschädigt. Eine weitere Diode gegen GND schützt den Analogeingang gegen negative

Spannungen. Zum Schutz der Analogeingänge vor hochenergetischen hochfrequenten Pulsen,

welche zum Beispiel bei Funkenentladungen entstehen, ist zu jedem Eingang parallel eine

Suppressordiode geschaltet (siehe Abbildung 17). Um keine Signalverfälschung durch Aliasing zu

erhalten muss nach Nyquist das Analogsignal doppelt so schnell abgetastet werden wie die

höchste zu erwartende Frequenz. Um das Analogsignal in der Bandbreite zu begrenzen, muss es

Tiefpass gefiltert werden. Hierfür wird ein RC-Tiefpassfilter verwendet, welcher sich aus einem

zusätzlichem Kondensator und dem Eingangsspannungsteiler zusammensetzt. Die Grenzfrequenz

fg des Tiefpassfilters wird dabei wie folgend berechnet:

𝑓𝑔 = 2𝑓𝑠 =1

2𝜋𝑅𝐶

Die Abtastfrequenz fs ist während des Projektes auf 10 Hz festgelegt worden. Somit besitzen alle

Analogeingangsfilter eine -3dB Grenzfrequenz von fg = 5 Hz. Die Analogeingangsbeschaltung für

den Analogeingang A1 mit einem Eingangsspannungsbereich von 0…5 V ist in Abbildung 17

dargestellt. Für die Analogeingänge mit einem Spannungsbereich von 0… 42 V wurde die gleiche

Schaltung gewählt. Lediglich die Suppressordiode, die Widerstände R10 und R11 sowie der

Kondensator C17 sind durch entsprechende Werte angepasst.

Page 23: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Hardware 23

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 17: Analogeingang mit Schutzbeschaltung

3.7.3 Impedanzwandler

Zur Anpassung der Quellimpedanz des Analogeingangs an die Impedanz des ADC Eingangs wird

ein Impedanzwandler zwischengeschaltet. Dieser besteht aus einem rückgekoppelten

Operationsverstärker mit dem Verstärkungsfaktor v = 1.

Abbildung 18: Impedanzwandler

Bei der Auswahl des Operationsverstärkers für Impedanzwandlers müssen folgende Kriterien

erfüllt werden:

Versorgungsspannung 3,3 V

Aussteuerung des Ausgangs sowie des Eingang bis zur Versorgungsspannung (engl.

Rail-to-Rail)

Bandbreite größer Abtastfrequenz

Zur Realisierung des Impedanzwandlers wird ein MCP6002 von Microchip verwendet. Dieser

erfüllt alle geforderten Kriterien und ist in einem SOIC-8 Package verfügbar.

Page 24: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 24

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

3.7.4 Übersicht

Am Beispiel des Analogeingangs A0 zeigt Abbildung 19 die gesamte Analogeingangsbeschaltung

mit Schutzbeschaltung, Spannungsteiler, Impedanzwandler und ADC.

Abbildung 19: Gesamtübersicht Analogeingang

4 Software

Bei der Realisierung der Software fällt die Wahl auf Python. Hierbei handelt es sich um eine

universelle, interpretierte höhere Programmiersprache. Die Entwurfsphilosophie liegt hierbei in

der guten Programmlesbarkeit [6]. Die Programmiersprache Python bietet sehr viele

Standardbibliotheken und zahlreiche Erweiterungspakete [7], welche überwiegend

plattformunabhängig verwendet werden können. Die Module aus der Standardbibliothek werden

gut gepflegt und ständig erweitert. Zum Ausführen eines Python-Skriptes muss ein Python

Interpreter auf dem Zielsystem installiert sein.

Neben der objektorientierte Programmierung unterstützt Python auch Programmierparadigmen

wie die funktionale oder aspektorientierte Programmierung.

Abbildung 20: Python Logo

Um die Software für dieses Projekt übersichtlich zu gestalten wird diese objektorientiert

programmiert. Nachfolgend werden die einzelnen Klassen beschreiben.

Page 25: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 25

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

4.1 MCP3208-Klasse

Die Klasse Mcp3208 liest die einzelnen Spannungen der ADC Eingänge eines Mcp 3208 Bausteines

ein. Dabei benutzt diese die SpiDev Klasse, um Daten über den SPI zu senden und empfangen. In

Abbildung 21 sind die Attribute und Methoden dieser Klasse dargestellt.

Abbildung 21: Mcp3208-Klasse

Wie das Datenpaket zum Auslesen der Spannung eines Kanales aufgebaut sein muss, wird dem

Datenblatt entnommen und ist in Abbildung 22 dargestellt.

Abbildung 22: SPI Kommunikation mit dem MCP 3208 [8]

Ein Datenpakt besteht dabei aus 3 Byte. Das erste Byte beginnt mit 5 führenden Nullen, welchen

das Startbit, der Modus und das erste Bit des Kanales folgen. Das zweite Byte beginnt mit den

restlichen beiden Kanalbits. Alle weiteren folgenden Bits des zweiten und dritten Bytes sind mit

Nullen aufgefüllt. Der abgetastete Wert wird im zweiten Byte, ab dem vierten Bit, sowie dem

dritten Byte übertragen. Dabei beginnt der Digitalwert mit dem höchstwertigem Bit (engl. Most

Significant Bit, kurz MSB). Die Realisierung in der GetAdValue Funktion für das Auslesen eines

Kanales ist folgend dargestellt:

Page 26: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 26

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

r = self.spi.xfer2([(self.MCP_START_BIT << 2) + (self.mode << 1) +

(channel >> 2 ) , (channel << 6) & 0xFF, 0])

AdValue = ((r[1] & 0x0F) << 8) + r[2])

Beim Aufruf der Funktion AdcGetAllAdcValues() wird die Funktion AdcGetValue() in einer Schleife

für alle Kanäle durchlaufen und die Werte in einer Liste zurückgegeben.

4.2 Sensor-Klasse

Die Sensor-Klasse liest zyklisch mit der Abtastfrequenz fa = 10 Hz über die MCP3208-Klasse den

Digitalwert eines Einganges aus. Hierfür nutzt diese die Thread-Klasse, die in einem separaten

Thread die Methode update aufruft. Die digitalen Werte werden mit dem Skalierungsfaktor des

Spannungsteilers sowie des Umrechnungsfaktors auf die Eingangsspannung des Analogeingangs

umgerechnet. Ist an diesem Eingang ein Sensor angeschlossen, der eine physikalische Messgröße

in einen Spannungswert umrechnet, kann dieser Umrechnungsfaktor zusätzlich angegeben

werden. Besitzt dieser angeschlossene Sensor einen Spannungsoffset, kann dieser entweder im

Konstruktor angegeben werden oder mit der Methode _calcoffset, welche den Mittelwert über

die ersten 100 Messwerte berechnet, ermittelt werden. Da die Aufzeichnungsfrequenz der

Messwerte auf 1 Hz festgelegt ist, werden die Messwerte mit einem IIR-Tiefpassfilter gefiltert.

Dieser Tiefpassfilter besitzt eine Grenzfrequenz von 0,5 Hz. Die gefilterte Spannung des

Analogeinganges bzw. der physikalische Wert kann mit der Getter-Methode getElValue

beziehungsweise getPhValue abgerufen werden. Folgend sind die Attribute und Methoden dieser

Klasse dargestellt.

Abbildung 23: Sensor-Klasse

Page 27: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 27

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

4.3 Akku-Klasse

Die Akku-Klasse vereint jeweils zwei Objekte: Den Spannungs- und den Stromsensor der

Sensor-Klasse. Mit diesen beiden Sensor-Objekten wird die aktuell aus dem Akku entnommene

Leistung berechnet. Die Methode getWattHour ist bis jetzt noch nicht implementiert.

Abbildung 24: Akku-Klasse

4.4 Frequenz-Klasse

Die Frequenz-Klasse dient zur Bestimmung der Drehfrequenz des Hinterrades. Hierfür wird die

GPIO-Klasse zur Flankendetektion an einem GPIO-Port genutzt. So wird dem GPIO-Port bei der

Initialisierung die Callbackmethode __interrupt für einen Flankenwechsel zugewiesen. Die

Berechnung der Frequenz durch einen Flankenwechsel erfolgt nach folgendem Ablaufdiagramm.

Page 28: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 28

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 25: Ablaufdiagramm Frequenzberechnung durch Interrupt

Nach Aufruf der Methode __ interrupt wird zuerst geprüft, ob der Aufruf durch eine positive

Flanke verursacht wurde. Ist dies zutreffend, wird die aktuelle Systemzeit ermittelt. Anschließend

erfolgt die Berechnung der Periodendauer aus der Differenz der Systemzeiten aus letztem und

aktuellem Aufruf:

𝑡 = 𝑡𝑎𝑐𝑡𝑢𝑎𝑙 − 𝑡𝑙𝑎𝑠𝑡

Nach Prüfung der Periodendauer wird daraus die Drehfrequenz des Rades berechnet:

𝑓 = 1

𝑡

Zuletzt wird überprüft, ob die berechnete Frequenz größer ist als die definierte Mindestfrequenz

fmin = 0,5 Hz. Dadurch wird verhindert, dass die Frequenz-Klasse eine Frequenz berechnet obwohl

das Rad zwischenzeitlich stillsteht.

Wird die Methode getFrequency() aufgerufen, wird zuerst geprüft, ob sich das Rad

zwischenzeitlich nicht im Stillstand befindet. Die Prüfung auf Stillstand erfolgt nach dem in

Abbildung 26 dargestelltem Flussdiagramm.

Page 29: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 29

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 26: Aufruf getFrequency

Nach Aufruf der Methode getFrequency() wird die aktuelle Systemzeit ermittelt. Daraus wird die

Zeit zwischen letzter positiver Flanke und dem Methodenaufruf berechnet. Ist der reziproke Wert

dieser Zeit kleiner als die festgelegte Mindestfrequenz, wird die Drehfrequenz des Hinterrades zu

Null bestimmt. Zusätzlich zählt die Frequenz-Klasse alle positiven Flanken, um daraus die

gefahrene Strecke zu berechnen. Abbildung 27 zeigt alle Attribute und Methoden der

Frequenz·Klasse.

Abbildung 27: Frequenz-Klasse

Page 30: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 30

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

4.5 Geschwindigkeit-Klasse

Die Speed-Klasse stellt eine Erweiterung der Frequenz-Klasse dar und beinhaltet zusätzlich das

Attribut Raddurchmesser. So wird über die Beziehung zwischen Raddurchmesser und Frequenz

die aktuelle Geschwindigkeit berechnet. Zusätzlich wird über die Radumdrehungen und den

Raddurchmesser die zurückgelegte Strecke berechnet. Folgend ist die Speed-Klasse sowie deren

Beziehung mit der Frequenz-Klasse dargestellt.

Abbildung 28:Speed-Klasse

4.6 LCD-Klasse

Die LCD-Klasse steuert das an die GPIO-Ports angeschlossene LCD-Display über die GPIO-Klassen

an. Die Ansteuerung des Displays erfolgt über 6 Leitungen. Vier davon werden zur

Datenübertragung und zwei (Enable und Daten/Kommando) zur Steuerung verwendet. Das

Display besitzt einen HD44780 [9] kompatiblen Controller der für die Steuerung sowie die

Übertragung von Daten fest spezifiziert ist. Die implementierten Methoden sowie Attribute sind

in Abbildung 29 dargestellt. Nach Aufruf des Konstruktors erfolgt die Initialisierung des LCD-

Displays in den 4 Bit Modus. Mit der Methode message kann anschließend Text auf dem Display

angezeigt werden. Die Position des Cursors wird mit jedem Buchstaben automatisch um eine

Position erhöht. Mit der Methode setcursor kann man diesen auf einen ausgewählten Platz setzen.

Wird erneut die Methode message aufgerufen, wird der bereits angezeigte Text überschrieben.

Mit der Methode clear wird der gesamte Text auf dem Display gelöscht und der Cursor wieder auf

Position eins gesetzt.

Page 31: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 31

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 29: LCD-Klasse

4.7 Trike-Klasse

Die Trike-Klasse vereint nun jeweils mindestens ein Objekt der oben beschreiben Klassen. So hat

diese jeweils ein Attribut mit dem Objektnamen Fahrakku, Ladeakku vom Typ Akku-Klasse, einen

Strahlungssensor vom Typ Sensor-Klasse, ein Display vom Typ LCD, einen Hallsensor vom Typ

Speed sowie ein Objekt Gps von der GPS-Klasse.

Die Trike-Klasse enthält die Methode Displaymanager. Diese liest zyklisch mit Hilfe der Thread-

Klasse die Messwerte der einzelnen Objekte wie zum Beispiel die Leistung des Fahrakkus aus und

zeigt diese mit entsprechender Einheit auf dem Display an. Die Methode showDisplayInfo

unterbricht die Anzeige der Messwerte durch den Displaymanager und zeigt den im

Methodenaufruf überreichten Text für die ebenso definierte Dauer an. Zusätzlich stellt die Trike-

Klasse jeweils eine Gettermethode für alle Telemetrie-Daten der einzelnen Objekte bereit. Über

die Methode getLogSwitch wird der logische Zustand des Schalters für die Aktivierung der

Aufzeichnung zurückgegeben. Alle Attribute und Methoden sowie Beziehungen zu den

Objektklassen sind in Abbildung 30 dargestellt.

Page 32: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 32

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 30: Trike-Klasse

4.8 Datenlogger-Klasse

Die Datenlogger-Klasse speichert die Messwerte in einer CSV-Datei. Hierfür verwendet diese die

CSV-Klasse sowie die OS-Klasse. Wird ein Objekt der Datenlogger-Klasse erzeugt, wird mittels der

OS-Klasse geprüft ob der angegebene Speicherpfad im Konstruktor existiert. Ist dies nicht der Fall,

wird die entsprechende Ordnerstruktur erzeugt. Anschließend wird in einer zusätzlich erzeugten

Logdatei abgefragt, wie oft ein Objekt dieser Klasse erzeugt wurde. Dementsprechend wird die

CSV-Datei mit entsprechend fortlaufender Nummer erzeugt. Hat ein Objekt der

Datenlogger-Klasse eine leere CSV-Datei generiert, kann mit der Methode writeRow eine Liste mit

den aktuellen Messwerten abgespeichert werden. In folgender Abbildung sind alle

implementierten Methoden sowie Attribute dargestellt.

Page 33: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 33

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 31: Datenlogger-Klasse

4.9 Bordcomputer-Klasse

Die Bordcomputer-Klasse steuert das Aufzeichnen einer Messfahrt und erstellt das Objekt

SolarTrike. Wird die Methode startLoggingThread aufgerufen erstellt die Bordcomputer-Klasse ein

Objekt der Datenlogger-Klasse und somit eine leere CSV-Datei. Anschließend wird die Kopfzeile

der CSV-Datei gemäß der Reihenfolge der Messwerte geschrieben. Zusätzlich wird „Aufzeichnung

gestartet“ auf dem Display des E-Trikes angezeigt. Anschließend wird die Methode

__loggingThread jede Sekunde mit Hilfe der Thread-Klasse aufgerufen. Diese Methode liest die

aktuellen Messwerte aus dem Objekt SolarTrike aus und übergibt diese mit der Methode writeRow

an das aktuelle Objekt der Datenlogger-Klasse. Wird die Methode stopLoggingThread aufgerufen,

wird das Objekt der Datenlogger-Klasse gelöscht und somit die Aufzeichnung in die CSV-Datei

beendet. Abbildung 32 zeigt alle Methoden und Attribute der Bordcomputer-Klasse.

Abbildung 32:Bordcomputer-Klasse

Damit beim Aufruf des Modules Bordcomputer.py ein Objekt der Bordcomputer-Klasse erzeugt wird, wird folgender Code in die Klassendefinition eingefügt: if __name__ == '__main__':

#STC = Solar Trike Computer

STC = Bordcomputer()

Page 34: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Software 34

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

#check every second the value of the switch

while 1:

if STC.SolarTrike.getLogSwitch():

STC.startLoggingThread()

else :

STC.stopLoggingThread()

sleep(1)

Zu Beginn wird geprüft, ob das Modul als erste Instanz aufgerufen wird oder von einem

übergeordneten Modul importiert ist. So kann die objektorientierte Software noch beliebig

erweitert werden ohne eine Änderung am Modul Bordcomuter.py vorzunehmen. Anschließend

wird ein Objekt der Bordcomputer-Klasse erzeugt. Mit der nachfolgenden Schleife wird überprüft,

ob der Schalter des E-Trikes zum Aufzeichnen aktiviert ist. Dementsprechend wird der

Aufzeichnungsthread gestartet oder gestoppt.

4.10 Shutdown-Klasse

Die Shutdown-Klasse weist über die GPIO-Klasse dem Pin, an welchem der Ein- und Ausschalter

angeschlossen ist die Callbackfunktion shutdown zu. Wird der logische Zustand 0 erkannt führt

diese Methode über die Os-Klasse folgenden Befehl aus:

sudo shutdown -h now

Dies führt dazu, dass der Raspberry Pi herunterfährt.

Abbildung 33: Shutdown-Klasse

Am Ende der Klassendefinition wird ein Objekt der Shutdown-Klasse erzeugt, damit nach Aufruf

dieses Modules die Funktion Shutdown aktiv ist.

Page 35: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Raspberry Pi 35

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

5 Raspberry Pi

Der Raspberry Pi ist ein kleiner preiswerter Einplatinenrechner, welcher aus einer Platine von ca.

9 x 6 cm besteht. Darauf befinden sich alle notwendigen Komponenten, um diesen als Computer

zu betreiben [10]. Als Festwertspeicher für die Software muss eine Micro SD-Karte eingesetzt

werden. Zur Spannungsversorgung wird ein Netzteil über die Micro USB Buchse angeschlossen.

Abbildung 34: Einplatinencomputer Raspberry Pi 2B mit Micro-SD Karte und USB-Stick

5.1 Installation des Betriebssystems

In diesem Projekt wird der Raspberry Pi mit dem Debian Betriebssystem Version 8 alias „Jessie“,

welches am 5. September 2015 [11] erschienen ist und speziell für den Raspberry Pi angepasst ist,

betrieben. Dabei handelt es sich um ein freies Betriebssystem mit der Linux Kernel Version 4.1.

Diese angepasste Debian Version für den Raspberry Pi wird auch Raspbian genannt.

Mit dem Freeware-Tool „Win32 Disk Imager“ lässt sich eine bootfähige Micro-SD Karte mit dem

Betriebssystem erstellen. Nach dem ersten Bootvorgang des Raspberry Pi wird das Betriebssystem

über folgende Befehle in der Konsole auf den neuesten Stand gebracht:

sudo apt-get update

sudo apt-get upgrade

sudo reboot

5.2 Zugriff auf den Raspberry Pi

Um während der Softwareentwicklung auf den fest installierten Raspberry Pi zugreifen zu können,

bietet sich die Ethernet-Schnittstelle an. Da bei der direkten Verbindung über ein Ethernet-Kabel

Page 36: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Raspberry Pi 36

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

mit dem PC kein DHCP-Server zur Verfügung steht, muss für das Raspberry Pi eine statische IP

konfiguriert werden. Um dies zu erreichen muss die Datei „dhcpcd.conf“ angepasst werden. Diese

enthält die Konfiguration aller Netzwerkschnittstellen und sieht standardmäßig wie folgt aus:

# Please note that this file is written to be used with dhcpcd.

# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'.

auto lo

iface lo inet loopback

auto eth0

allow-hotplug eth0

iface eth0 inet manual

auto wlan0

allow-hotplug wlan0

iface wlan0 inet manual

wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Standardmäßig sind die drei Schnittstellen „lo“, „eth0“ und „wlan0“ aufgeführt. Die Schnittstelle

„eth0“ ist dabei die Ethernet-Schnittstelle. Um dieser Schnittstelle eine statische IP zuzuweisen

muss die Datei dhcpcd.conf am Ende wie folgt erweitert werden:

interface eth0

static ip_address=192.168.1.50/24

static routers=192.168.1.1

static domain_name_servers=192.168.1.1

Die erste Zeile legt fest, dass es sich um die Konfiguration der Ethernet-Schnittstelle handelt. In

der zweiten Zeile werden die IP-Adresse des Raspberry Pi und die Subnetzmaske angegeben. Die

nächsten beiden Zeilen sind für die Verbindung mit dem Internet über einen Router wichtig. Hier

muss dessen Adresse sowie der DNS, welcher meist auch der Router ist, eingetragen werden. Hier

wird diese willkürlich gewählt. Es ist aber darauf zu achten dass sich die IP Adressen im gleichen

Adressraum befinden.

Um auf den Raspberry Pi zugreifen zu können, muss der standardmäßig installierte SSH Server

aktiviert werden. Mit folgendem Befehl in der Kommandozeile gelangt man über eine grafische

Oberfläche in die Grundeinstellungen des Raspberrys:

sudo raspi-config

Unter dem Punkt „ssh“ wird der SSH-Server aktiviert und nach erneutem Neustart ausgeführt. Nun

kann mit PuTTY, ein Client für SSH-Verbindungen, über die Ethernet-Schnittstelle auf den

Raspberry Pi zugegriffen werden.

Page 37: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Raspberry Pi 37

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 35: Zugriff auf das Raspberry Pi mittels PuTTY

Zusätzlich kann mit WinSCP, welches ebenfalls auf Basis der SSH-Verbindung mit dem Raspberry Pi

kommuniziert, auf das Dateisystem des Raspberry Pi zugegriffen werden.

Abbildung 36: Grafische Oberfläche WinSCP

Page 38: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Raspberry Pi 38

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Um auch Zugriff auf die grafische Oberfläche zu erhalten wird zusätzlich „xrdp“ installiert. Dies

erfolgt mit der folgenden Zeile in der Konsole:

sudo apt-get install xrdp

„Xrdp“ ist ein Server für das Remote Desktop Protokoll. Auf diesen kann man mittels einer Remote

Desktop Verbindung unter Windows zugreifen. Nach erfolgreichem Login kann man wie in

Abbildung 37 dargestellt auf den Raspberry Pi zugreifen.

Abbildung 37: Verbindung mittels Remote Desktop Verbindung

5.3 Einrichten der Laufzeitumgebung

Um die in Punkt 4 beschriebene Software ausführen zu können, müssen zusätzlich Erweiterungen

für Python installiert und weitere Module im Linuxkernel aktiviert werden.

Page 39: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Raspberry Pi 39

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

5.3.1 Die SPI-Schnittstelle

Um die SPI-Schnittstelle nutzen zu können, muss zuerst das SPI Modul im Linuxkernel aktiviert

werden. In die Einstellungen gelangt man mit folgendem Befehl:

sudo raspi-config

Die Aktivierung des SPI-Modules im Linuxkernel erfolgt im Untermenü “Advanced Options“ unter

dem Stichpunkt „SPI“. Um in Python auf das Kernelmodul zugreifen zu können muss über den APT

Installer „Pythen-Dev“ installiert werden. Dabei handelt es sich um eine Erweiterung für Python

um statische Bibliotheken verwenden zu können. Die Installation dieses Paketes erfolgt durch

Eingabe folgenden Befehles in der Konsole:

sudo apt-get install python-dev

Um nun mit Python Daten über den SPI Bus zu verschicken wird „spidev” verwendet. Dabei

handelt es sich um ein Paket aus dem Python Package Index [12]. Zur Installation von Paketen aus

dieser Modulsammlung wird die Paketverwaltungssoftware PIP (Pip Installs Python) verwendet.

Diese wird mit folgendem Befehl installiert:

sudo apt-get install python-pip

So kann nun das Modul „spidev“ mittels PIP wie folgt installiert werden:

sudo pip install spidev

5.3.2 GPS-Daemon

Zur Auswertung des Datenstromes, den das GPS-Modul über USB an den Raspberry Pi sendet, wird

„gpsd“ installiert. Gpsd ist ein Hintergrundprogramm (engl. daemon) welches die Daten

(geografische Position, Geschwindigkeit, Uhrzeit, Anzahl der Satelliten und so weiter) erfasst und

für Client-Applikationen zur Verfügung stellt. Gpsd wird über folgende Eingabe in der Konsole

installiert:

sudo apt-get install gpsd

Damit der Daemon das USB-GPS Modul erkennt und ab Systemstart die Daten auswertet muss die

Konfiguration, welche sich unter „/etc/default/gpsd“ befindet, wie folgt angepasst werden:

START_DAEMON="true"

Page 40: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Raspberry Pi 40

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

DEVICES="/dev/ttyUSB0"

Damit Python als Client auf gpsd zugreifen kann, muss noch das Python GPS-Packet installiert

werden. Dies geschieht mit folgenden Zeilen:

sudo apt-get install python-gps

5.4 Gerätebaumerweiterung

Damit der Raspberry Pi wie in Punkt 3.1 beschrieben das „Hold“-Signal direkt nach dem Start auf

3,3 V setzt, muss über den Gerätebaum (engl. device tree) der GPIO-Port mit dem Linux Power

Management Module verknüpft werden. Da es sich hier um eine Erweiterung des Gerätebaums

handelt, geschieht dies durch ein Overlay. Der Device Tree des Raspberrys ist unter dem Pfad

/boot/config.txt gespeichert und muss wie folgt erweitert werden:

dtoverlay=gpio-poweroff,gpiopin=6,active_low=1

Somit wird die „gpio-poweroff” Erweiterung dem Pin 6 zugewiesen und festgelegt, dass der Pegel

im Betrieb auf 3,3 V und nach erfolgreichem Herunterfahren auf 0 V liegt.

5.5 Automatisches Ausführen der Software

Damit die Software nach abgeschlossenem Bootvorgang automatisch startet, muss diese

aufgerufen werden. Die einfachste Methode ist ein Eintrag in die rc.local Datei. Diese befindet sich

unter folgendem Dateipfad:

/etc/rc.local

Diese Datei kann mit einem Texteditor mit Root-Rechten bearbeitet werden. Der Aufruf von

eigenen Programmen muss dabei vor folgender Zeile erfolgen:

Exit 0

Werden Programme aufgerufen, die eine Endlosschleife besitzen, müssen diese mit einem „&“ am

Ende abgeschlossen werden. Dies bewirkt, dass auf diese Programme nicht gewartet wird und

weitere Programme gestartet werden können. Der Eintrag in der rc.local-Datei für den Aufruf der

Datenlogger Software sowie für das Programm zum Herunterfahren sieht folgendermaßen aus:

python /home/pi/shutdown.py &

python /home/pi/Datenlogger/Bordcomputer.py &

Page 41: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inbetriebnahme 41

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

6 Inbetriebnahme

6.1 DC/DC-Wandler

Der erste Schritt bei der Inbetriebnahme der Platine ist der Aufbau und die Überprüfung des

DC/DC-Wandlers. Zur Überprüfung des Wirkungsgrads werden am Ein- und Ausgang jeweils der

Strom und die Spannung mit einem Multimeter gemessen. Der Ausgang wird mit einer

elektronischen Last schrittweise belastet. Der Wirkungsgrad in Abhängigkeit des Ausgangsstromes

ist in Abbildung 38 dargestellt. Der Wirkungsgrad wird wie folgt berechnet:

𝜂 = 𝑈𝑜𝑢𝑡 · 𝐼𝑜𝑢𝑡

𝑈𝑖𝑛 · 𝐼𝑖𝑛

Abbildung 38: Wirkungsgrad des DC/DC-Wandlers vs. Ausgangsstrom

Wird der Datenlogger wie in Absatz 3.1. beschrieben mit einem voll belasteten USB-Port zur

Ladung eines Smartphones benutzt, liegt der Wirkungsgrad bei 78 %. Andernfalls liegt der

Wirkungsgrad bei ungünstigen 62 %.

Page 42: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inbetriebnahme 42

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

6.2 Inbetriebnahme AD-Wandler

Die Genauigkeit der eingelesenen Messgrößen unterliegt hauptsächlich folgenden Fehlern:

Ursache Verbesserung möglich?

1 Schwankung der Referenzspannung am AD-Wandler (VREF=3,3 V wird

durch Raspberry Pi bereitgestellt). Der Raspberry Pi generiert dies mit

einem Linearregler NCP1117.

Nein. Die Genauigkeit der

Spannung ist beim NCP1117

±1% (Von 3,3 V)

2 Kleinstes Inkrement des AD-Wandlers (12 bit) 212=4096 mögliche Werte.

Ungenauigkeit laut Datenblatt: 2 LSB

Nein. Die Änderung von 2 LSB

entspricht 0,048% (Des

Messbereichs)

3 Genauigkeit der Sensoren. Diese sind laut Datenblatt:

Stromsensoren: 2,5% * 15 A

Strahlungssensor: ±5%

Nein, da bauartbedingt

4 Widerstände der Spannungsteiler vor den Impedanzwandlern haben

Toleranzen

Ja: Messung mit einem

Referenzmessgerät.

--> Softwaremäßige Korrektur

mit Kalibrierfaktor

5 Leitungswiderstände (Kabel, Lötstellen, Schraubkontakte) Ja, wird beim Vorgehen bei

Punkt 4 automatisch

mitkalibriert

6 Zufällige Störgrößen: Temperaturdriften, EMV-Einkopplungen Nein, nicht deterministisch

auftretende Störungen

Tabelle 4: Auflistung von Messfehlern bei den Analoggrößen

Bei der Inbetriebnahme des AD-Wandlers wird jeder Kanal durch Beaufschlagung einer

entsprechenden physikalischen Größe überprüft. Die eingelesenen Werte werden mit den

Messwerten eines Referenzgerätes verglichen. Um die Fehlerarten Nr. 4 und 5 aus Tabelle 4 zu

eliminieren wird in der Software ein Kalibrierfaktor hinterlegt.

Page 43: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inbetriebnahme 43

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Tabelle 5 zeigt die Ergebnisse der Inbetriebnahme:

Eingang Vorgehensweise Messergebnis

mit Referenz-

gerät

Ausgelese

n über

ADC

Errechneter

Kalibrier-

faktor

CH1 (IFA) Einprägung eines Stroms mit Labornetzgerät an

Stromsensoren. Überprüfung mit dem Multimeter

(Fluke 115, Ungenauigkeit 1 % bei Strommessung)

4,0 A 3,950 A 1,10127

CH2 (ILA) 4,0 A 3,883 A 1,03013

CH3

(W/m²)

Aufgrund der bauartbedingten relativ großen

Ungenauigkeit des Strahlungssensors (±5 %) wird

dieser nicht mit einem Sonnensimulator kalibriert.

Der Kalibrierfaktor wird mit einer

Referenzspannung des Labornetzgeräts ermittelt.

Eine Vergleichsmessung bei verschiedenen

Bestrahlungsstärken im Freien mit dem

Handpyranometer Voltcraft PL-11OSM

(Ungenauigkeit +-10 W/m²) zeigt: Eingelesener

Wert mit Datenlogger weicht ca 7,5 W/m² vom

Handpyranometer ab.

4 V

3,981 V 1,00477

CH5 (UFA) Anschluss des Rosenberger-Steckers am Akku.

Referenzmessung an den Klemmen X7 der

Hauptplatine mit (Fluke 115, Ungenauigkeit 0,5 %

bei Spannungsmessung)

38,81 V 39,09 V 0,99284

CH6 (ULA) 39,39 V 39,71 V 0,99194

Tabelle 5: Ermittlung der Kalibrierfaktoren

6.3 Geschwindigkeitsmessung

Zur Überprüfung der Funktionsfähigkeit der Geschwindigkeitsmessung wird das E-Trike im Labor

aufgebockt. Über die Pedale wird das Hinterrad auf eine Geschwindigkeit von 60 km/h gebracht.

Als Referenz dient die angezeigte Geschwindigkeit auf dem Display des E-Trikes, die direkt vom

Motor ausgegeben wird. Es zeigt sich, dass diese mit der berechneten Geschwindigkeit des

Datenloggers übereinstimmt. Trotzdem wird zur Überprüfung des RC-Tiefpasses und des Schmitt-

Triggers ein Schaltvorgang bei maximaler Geschwindigkeit aufgezeichnet (60 km/h).

Page 44: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inbetriebnahme 44

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Folgende Signale werden aufgezeichnet:

Abbildung 39: Gemessene Signale mit dem Speicheroszilloskop

Abbildung 40 zeigt einen kompletten Schaltvorgang, wenn der Magnet durch das Rad am

Reedschalter vorbeigeführt wird.

Abbildung 40: Signale während eines Schaltvorgangs des Reed-Kontakts

Page 45: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Inbetriebnahme 45

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 41 zeigt eine Detailansicht zu Beginn dieses Vorgangs.

Abbildung 41: Beginn eines Schaltvorgangs zur Geschwindigkeitsmessung

Graphisch lässt sich eine Zeitkonstante τ (Zeit, bis 63% des Endwertes erreicht sind) von ca. 140 µs

ermitteln. Man erkennt, dass der Schmitt-Trigger erst schaltet, wenn der Prellvorgang beendet ist.

Somit kann davon ausgegangen werden, dass die Frequenzmessung zuverlässig funktioniert.

Page 46: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Messergebnisse 46

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

7 Messergebnisse

Um die Gesamtfunktionalität des fertig aufgebauten Datenloggers zu überprüfen (siehe Abbildung

42), werden mehrere Messfahrten unternommen. Exemplarisch wird hier eine circa. 1,2 km lange

Messfahrt vom 14. Dezember 2015 um die Hochschule/Manfred-Börner-Straße herum vorgestellt:

Abbildung 42: Hauptplatine des Datenloggers im eingebauten Zustand

Nach der Messfahrt stehen die Rohdaten als *.csv-Datei zur Verfügung. In Excel werden über

„Daten“ “Externe Daten abrufen“ “Aus Text“ diese Daten importiert. Damit die Spalten mit

den Messwerten korrekt dargestellt werden, muss als Trennzeichen das „Komma“ und als

Dezimaltrennzeichen der „Punkt“ angewählt werden. Dadurch erhält man eine Darstellung wie in

Abbildung 43 gezeigt:

Abbildung 43: Logifle nach dem Import in Microsoft Excel

Logfile No.: 7

Fahrakku Fahrakku Ladeakku Ladeakku Sonneineinstrahlung Geschwindigkeit Strecke GPS Longitude GPS Latitude GPS Altitude GPS Uhrzeit

U[V] I[A] U[V] I[A] Phi[w/m2] v[km/h] s[m] [] [] [] []

36,56341148 0,08242269 38,94755441 0,025949507 19,12560916 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:37.000Z

36,57201436 0,080328613 38,95421247 0,020827706 19,20153172 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:38.000Z

36,560081 0,080088052 38,95006901 0,029563357 19,22981953 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:39.000Z

36,56145795 0,076387725 38,9498256 0,021157937 19,05762571 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:40.000Z

36,57751815 0,071488986 38,96980721 0,021638042 19,1478829 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:41.000Z

36,56939072 0,072857554 38,95105769 0,023654315 19,19155565 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:42.000Z

36,58102829 0,068424227 38,94529456 0,021242361 19,1205007 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:43.000Z

36,58044151 0,07889685 38,94721307 -0,026133292 19,16617689 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:44.000Z

36,5879151 0,075909989 38,95325468 0,021062536 19,14759299 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:45.000Z

36,59303211 0,079886798 38,94962142 -0,025579444 19,02683739 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:46.000Z

36,59047232 0,087620001 38,94335033 0,026600126 19,14661794 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:47.000Z

36,59558157 0,082022893 38,93991882 0,0136201 19,31696888 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:48.000Z

36,61921326 0,079241169 38,94798279 0,009012765 19,26869164 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:49.000Z

36,60361444 0,073639738 38,94551121 0,023180436 19,20926928 0 1516 9,939880174 48,41863879 607,214 2015-12-14T14:47:50.000Z

Page 47: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Messergebnisse 47

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 44 zeigt die grafische Auswertung der Geschwindigkeit und der elektrischen

Motorleistung über der Zeit.

Abbildung 44: Messfahrt Nr. 007: Geschwindigkeit und Elektrische Motorleistung vs. Zeit

Interessant sind folgende Punkte:

1 Maximalwert steigt bis auf 600 W Die gesetzlich vorgeschriebene maximale Leistung

bezieht sich auf die mechanische

Nenndauerleistung.

2 Motorleistung < 0 W Rekuperationsbetrieb

3 Motorleistung geht auf 0 W zurück Motorunterstützung schaltet über 25 km/h ab

Tabelle 6: Charakteristische Punkte der Messfahrt

Zur Auswertung der Strecke kann über die Bedienoberfläche des Programm „GPX_creator.py“

eine *.gpx-Datei erstellt werden. (Siehe Abbildung 45)

Voraussetzung ist, dass auf dem Raspberry Pi das Modul „gpxpy“ installiert ist. Dieses kann mit

dem PIP heruntergeladen werden.

Abbildung 45: Bedienoberfläche des Programms "GPX_creator.py"

Page 48: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Messergebnisse 48

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Das GPS Exchange Format „GPX“ ist ein offenes, lizenzfreies Datenformat zur Speicherung von

Geodaten. Der GPX_creator erstellt aus einer log-Datei eine *.gpx-Datei, die anschließend in

verschiedenen Navigationsprogrammen eingelesen werden kann. Dadurch lässt sich detailliert die

Route auf einer Karte darstellen.

Abbildung 46: Messfahrt „logfile0007.csv“: Streckenverlauf, dargestellt mit Openstreetmap

Der in Abbildung 46 dargestellte Streckenverlauf wurde mit einem kostenlosen Online-GPX-viewer

erstellt [13]. Dieses Tool erstellt zusätzlich ein Diagramm mit Höhenprofil und Steigung wie in

Abbildung 47 dargestellt.

Page 49: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Messergebnisse 49

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Abbildung 47: Messfahrt "logfile0007.csv": Höhenprofil & Steigung

Mit dem Datenlogger kann auch die Ladung des Akkus analysiert werden. Dazu wurde an einem

Tag mit stark schwankender Sonneneinstrahlung (windig, teilweise bewölkt) eine Messung

gemacht. Abbildung 48 zeigt den Zusammenhang zwischen Bestrahlungsstärke und Ladestrom.

Abbildung 48: Messung Nr. 003: Bestrahlungsstärke und Ladeleistung vs. Zeit

Die Spitzenleistung der 3 Solarmodule zusammen beträgt laut Herstellerangaben 150 W unter STC

(Standard Test Conditions bei 1000 W und 25°). Da die Leistung annähernd proportional zur

Page 50: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Messergebnisse 50

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Bestrahlungsstärke ist, wäre die Modulleistung beim Maximalwert der Messung (460 W/m²

Einstrahlung bei Punkt 1) rechnerisch 67,5 Watt. Tatsächlich beträgt die Ladeleistung in diesem

Punkt 60,4 W. Mögliche Gründe für diese Abweichung: Verluste des Ladereglers, Abweichung von

den Herstellerangaben des Moduls und Messungenauigkeiten.

Page 51: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Fazit 51

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

8 Fazit

Ziel des Masterprojekts war es, einen Datenlogger für ein bestehendes E-Trike mit Solardach zu

entwickeln. Vorgabe war die kontinuierliche Erfassung, Speicherung und Ausgabe von GPS-Daten,

Geschwindigkeit, Sonneneinstrahlung und elektrische Leistungsflüsse mit Hilfe des

Kleinstcomputers Raspberry Pi.

Erster Schritt der Planungsphase war die Definition der Anforderungen an den Datenlogger und

die Auswahl geeigneter Sensoren. Zur Spannungsversorgung des Datenloggers und zur Anbindung

der Analogsensoren an die Digitalschnittstelle des Raspberry Pi wurde eine Schaltung samt

Platinenlayout entworfen. Dabei mussten unter anderem Schutz- und Filterschaltungen

dimensioniert und ein Power-Management für die Eigenversorgung entwickelt werden.

Zur Integration des Systems am E-Trike wurden in der Hochschulwerkstatt verschiedene Winkel

und Befestigungslösungen gefertigt und zugekaufte Teile wie etwa Gehäuse bearbeitet. Dadurch

konnten alle Komponenten am E-Trike kompakt und spritzwassergeschützt installiert und

verkabelt werden.

Herausforderungen bei der Entwicklung der Software war unter anderem die Einarbeitung in die

Programmiersprache Python und die Strukturierung der Software in einzelne Klassen.

Vorkenntnisse in der objektorientierten Programmiersprache C++ waren dabei sehr hilfreich,

ebenso die Recherche vieler anderer Projekte und Teillösungen.

Nach der erfolgreichen Inbetriebnahme mit kleineren Korrekturen, konnten erste Messfahrten

unternommen werden und die Messwerte ausgewertet werden.

Interessant war für die Verfasser dieser Arbeit, dass der Motor des E-Trikes eine sehr hohe

Spitzenleistung von 600 W, und das GPS eine extrem hohe Genauigkeit aufweist.

Des Weiteren hat sich gezeigt, dass der Raspberry Pi ein sehr leistungsfähiges und gleichzeitig

preiswertes System für diese Anwendung ist. Dadurch kann der Datenlogger noch um viele

Funktionen wie etwa die Einbindung eines Radarsensors erweitert werden. Vor allem können

durch Auswertung der Daten vielfältige Kenntnisse gewonnen werden. Zur Einschätzung des

Potentials eines E-Trikes mit Solardach sollten nun viele Messfahrten unternommen werden und

dieses im Alltag getestet werden. Ein weiterführendes Projekt von Herrn Prof. Mantz sieht vor, die

Daten über ein GSM-Modul zu verschicken um Echtzeitanalysen während einer Messfahrt zu

ermöglichen.

Page 52: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Literaturverzeichnis 52

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

9 Literaturverzeichnis

[1] Foto: Philipp Niemöller/Hochschule Ulm, 2015.

[2] USB Implementers Forum, „USB Power Delivery Specification (PDF),“ 07 05 2015. [Online].

Available: http://www.usb.org/developers/docs/usb20_docs/. [Zugriff am 15 01 2016].

[3] Kipp & Zonen B.V. - Niederlande, „Produktkatalog Pyranometer,“ [Online]. Available:

http://www.kippzonen.com/Download/325/Instruction-Sheet-Pyranometers-SP-Lite2-EN-

D-F-ES. [Zugriff am 15 01 2016].

[4] IXYS Korea LTD, „Firmenhompage IXYS,“ [Online]. Available:

http://ixapps.ixys.com/DataSheet/20110302-KXOB22-12X1-DATA-SHEET.pdf. [Zugriff am

15 01 2016].

[5] Apogee Instruments, „Anleitung Pyranometer SP-215,“ [Online]. Available:

http://www.apogeeinstruments.co.uk/content/SP-212-SP-215-manual.pdf. [Zugriff am 15

01 2016].

[6] „Python Dokumentation,“ 12 1 2016. [Online]. Available: https://pypi.python.org/pypi.

[7] „Python Dokumentation,“ 12 01 2016. [Online]. Available:

https://docs.python.org/2/faq/general.html.

[8] Microchip, [Online]. Available:

http://ww1.microchip.com/downloads/en/DeviceDoc/21298e.pdf. [Zugriff am 01 01 2016].

[9] Adafruit, „Entwicklerhompage,“ [Online]. Available:

https://www.adafruit.com/datasheets/HD44780.pdf. [Zugriff am 01 01 2016].

[10] K. Dembowski, Raspberry Pi - Das Handbuch, Wiesbaden: Springer-Verlag, 2013.

[11] „Debian Entwickler-Hompage,“ [Online]. Available:

https://www.debian.org/releases/stable/. [Zugriff am 12 1 2016].

[12] „Python Package Index,“ [Online]. Available: https://pypi.python.org/pypi. [Zugriff am 1 1

2016].

[13] Bernhard Gaul, „GPX-Viewer,“ [Online]. Available: www.bernhard-

gaul.de/gpxviewer/gpxviewer.php. [Zugriff am 01 01 2016].

Page 53: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 53

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10 Anhang

10.1 Übersichtsschaltplan

Page 54: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 54

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 55: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 55

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 56: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 56

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 57: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 57

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.2 Schaltplan Hauptplatine

Page 58: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 58

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 59: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 59

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.3 Layout Hauptplatine

TOP Layer

Page 60: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 60

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

BOTTOM Layer

Page 61: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 61

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.4 Liste Bauteile Hauptplatine

Part Value Device Package DescriptionC1 2,2u C-EUC1812 C1812 CAPACITOR, European symbolC2 2,2u C-EUC1812 C1812 CAPACITOR, European symbolC3 330p C-EUC0805 C0805 CAPACITOR, European symbolC4 0,01uF C-EUC0805 C0805 CAPACITOR, European symbolC5 0,01u C-EUC0805 C0805 CAPACITOR, European symbolC6 1u C-EUC1210 C1210 CAPACITOR, European symbolC7 22n C-EUC0805 C0805 CAPACITOR, European symbolC8 0,47u C-EUC0805 C0805 CAPACITOR, European symbolC9 22u C-EUC1210 C1210 CAPACITOR, European symbolC10 150u KONDENSATOR_EEFHE EEFHE_KONDENSATORC11 1u C-EUC1210 C1210 CAPACITOR, European symbolC12 22u C-EUC1210 C1210 CAPACITOR, European symbolC13 68u C-EUC0805 C0805 CAPACITOR, European symbolC14 470n C-EUC0805 C0805 CAPACITOR, European symbolC15 100n C-EUC0805 C0805 CAPACITOR, European symbolC16 22n C-EUC0805 C0805 CAPACITOR, European symbolC17 22n C-EUC0805 C0805 CAPACITOR, European symbolC20 330p C-EUC0805 C0805 CAPACITOR, European symbolC21 100n C-EUC0805 C0805 CAPACITOR, European symbolC22 120n C-EUC0805 C0805 CAPACITOR, European symbolC23 120n C-EUC0805 C0805 CAPACITOR, European symbolC26 100n C-EUC0805 C0805 CAPACITOR, European symbolC27 22n C-EUC0805 C0805 CAPACITOR, European symbolC28 22n C-EUC0805 C0805 CAPACITOR, European symbolC29 100p C-EUC0805 C0805 CAPACITOR, European symbolC30 33u C-EUC0805 C0805 CAPACITOR, European symbolD1 CSHD6-100C CSHD6-100C DPAKD2 BAV199 BAV199 SOT23 DIODED3 BAV199 BAV199 SOT23 DIODED4 SMBJ5V0A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD5 SMBJ5V0A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD6 BAV199 BAV199 SOT23 DIODED7 BAV199 BAV199 SOT23 DIODED8 SMBJ40A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD9 SMBJ40A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD10 BAV199 BAV199 SOT23 DIODED11 BAV199 BAV199 SOT23 DIODED12 SMBJ5V0A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD13 SMBJ5V0A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD15 BZX84C3V3 ZENER-DIODESOT23 SOT23 Z-DiodeD16 HSMS-285F HSMS-285F SOT323 Surface Mount Microwave Schottky Detector DiodesD17 SMBJ40A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD18 MBRS3200 SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD19 SMBJ5V0A SCHOTTKY-DIODE DIODE_SMB Schottky DiodeD20 HSMS-285F HSMS-285F SOT323 Surface Mount Microwave Schottky Detector DiodesIC1 LM5576 LM5575 HTSSOP-20EPJP1 PINHD-1X3 1X03 PIN HEADERL1 DR127-330-R DR127-330-R INDM125125X800N POWER INDUCTORLED1 RED LEDCHIP-LED0805 CHIP-LED0805 LEDQ1 BSS123 BSS123 SOT23 N-CHANNEL MOS FETR1 10 R-EU_R2512 R2512 RESISTOR, European symbolR2 20k R-EU_R0805 R0805 RESISTOR, European symbolR3 21k R-EU_R0805 R0805 RESISTOR, European symbolR4 49,9k R-EU_R0805 R0805 RESISTOR, European symbolR5 5,11k R-EU_R0805 R0805 RESISTOR, European symbolR6 1,65k R-EU_R0805 R0805 RESISTOR, European symbolR7 100k R-EU_R0805 R0805 RESISTOR, European symbolR8 220k R-EU_R0805 R0805 RESISTOR, European symbolR9 330k R-EU_R0805 R0805 RESISTOR, European symbolR10 220k R-EU_R0805 R0805 RESISTOR, European symbolR11 330k R-EU_R0805 R0805 RESISTOR, European symbolR12 10k R-EU_R0805 R0805 RESISTOR, European symbolR13 500 R-EU_R0805 R0805 RESISTOR, European symbolR14 330k R-EU_R0805 R0805 RESISTOR, European symbolR15 26k R-EU_R0805 R0805 RESISTOR, European symbolR16 330k R-EU_R0805 R0805 RESISTOR, European symbolR17 26k R-EU_R0805 R0805 RESISTOR, European symbolR20 220k R-EU_R0805 R0805 RESISTOR, European symbolR21 330k R-EU_R0805 R0805 RESISTOR, European symbolR22 220k R-EU_R0805 R0805 RESISTOR, European symbolR23 330k R-EU_R0805 R0805 RESISTOR, European symbolR24 4k7 R-EU_R0805 R0805 RESISTOR, European symbolR25 47k R-EU_R0805 R0805 RESISTOR, European symbolR26 50k R-EU_R0805 R0805 RESISTOR, European symbolR27 10k R-EU_R0805 R0805 RESISTOR, European symbolR28 100k R-EU_R0805 R0805 RESISTOR, European symbolR29 1k R-EU_R0805 R0805 RESISTOR, European symbolR30 100k R-EU_R0805 R0805 RESISTOR, European symbolU1 AD8602ARZ AD8602ARZ SOIC127P600X175-8N Precision CMOS, Single-Supply, Rail-to-Rail, Input/Output Wideband Operational AmplifiersU2 AD8602ARZ AD8602ARZ SOIC127P600X175-8N Precision CMOS, Single-Supply, Rail-to-Rail, Input/Output Wideband Operational AmplifiersU3 AD8602ARZ AD8602ARZ SOIC127P600X175-8N Precision CMOS, Single-Supply, Rail-to-Rail, Input/Output Wideband Operational AmplifiersU4 SN74AHC1G14DCKR SN74AHC1G14DCKR SOT65P210X110-5N Single Schmitt-Trigger Inverter GateU5 MCP3208-CI/SL MCP3208-CI/SL SOIC127P600X175-16N IC, 12 ADC, SMD, 3208X1 RASPI_BOARD_B+_E4 RASPI_BOARD_B+_E4 RASPI_BOARD_B+_EDGES_4DRILLGPIO connector with markings for outer dimensions of the Raspberry Pi board model B+X2 AKZ692/2 MPT2 2POL254 PHOENIX CONNECTORX3 282834-2 MPT2 2POL254 PHOENIX CONNECTORX4 282834-6 MPT6 6POL254 PHOENIX CONNECTORX5 282834-2 MPT2 2POL254 PHOENIX CONNECTORX6 282834-8 MPT8 8POL254 PHOENIX CONNECTORX7 282834-6 MPT6 6POL254 PHOENIX CONNECTORX8 282834-2 MPT2 2POL254 PHOENIX CONNECTOR

Page 62: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 62

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.5 Stückliste Datenlogger

Anz-

ahl

Ein-

heitBezeichnung Hersteller Typ Lieferant Best. Nr.

NETTO

€ / Einh.

NETTO

€ ges.

Messbox

2 Stk. Rosenberger Buchse Rosenberger Power Data RoPD® Buchse 2,5mm² Lynergy 12,52 25,04

2 Stk. Rosenberger Stecker Rosenberger Power Data RoPD® Stecker 90° Lynergy 18,40 36,80

2 Stk. Stromsensor LEM CAS 15-P RS Comp. 666-8176 13,86 27,72

1 Stk. Gehäuse Hammond IP 54, Maße 106,5 x 66 x 45,4 RS Comp. 528-6984 7,13 7,13

1 PE Kabelverschraubung SIB Z6121600R RS Comp. 530-823 3,66 3,66

4 m Kabel 8x0,5 geschirmt Lapp LIYCY 8x0,5 mm² geschirmt Ebay 1,34 5,36

Geschwindigkeitsmessung

1 Stk. Reedschalter RS Components Reedkontakt Flach, Schließer, 500 mA RS Comp. 530-8949 8,07 8,07

1 Stk. Betätigungsmagnet RS Components RS Magnet Wandler Rechteckig RS Comp. 536-1748 2,36 2,36

Messung Einstralung

1 Stk. Strahlungssensor Apogee SP-215 Coralsands 207,00 207,00

Raspberry, Gehäuse und Zubehör

1 Stk USB Doppeleinbaubuchse Typ AAmphenol MUSBC51100 RS Comp. 725-6008 11,21 11,21

2 Stk. Kippschalter, löt, 1-pol, Ein-Ein Eledis KIPP 1A11 Reichelt KIPP 1A11 1,09 2,18

1 Stk. Steuerleitung 2x0,14 mm² Lapp LIYY 214-5 Reichelt LIYY 214-5 1,18 1,18

1 Stk. Steuerleitung 10x0,14 mm² Lapp LIYY1014-5 Reichelt LIYY1014-5 2,90 2,90

6 Stk. Gegenmutter KabelverschraubungBopla MGM12 Reichelt MGM12 0,06 0,35

6 Stk. Kabelverschraubung 3-6,5 mm Bopla MBF12 Reichelt MBF12 0,24 1,46

2 Stk. USB-Stecker mit Zugentlastung BKL Electronic 10120098 USB A BKL Electronic Conrad Electronic 747013 0,77 1,54

2 Stk. USB-Stecker SMD Econ US1AFS Conrad Electronic 1303503 0,46 0,92

1 Stk. Raspberry Pi 2 Model B Raspberry RASPBERRY PI 2 MODEL B 1 GB RAM Conrad Electronic 1316978 36,13 36,13

1 Stk. Micro-SD Karte Verbatim Class 10, Mit SD-Adapter 8GB Conrad Electronic 1005590 4,77 4,77

1 Stk. USB Stick TDK 8 GB TDK Micro Schwarz t78845 USB 2.0 Conrad Electronic 595910 5,03 5,03

1 Stk. Netzwerkkabel gewinkelt 3 m Good ConnectionsGC PATCHKABEL CAT 5E F/UTP SW 90° 3MConrad Electronic 1275090 5,78 5,78

1 Stk. Gehäuse für Raspberry Hammond 1554J2GYCL Conrad Electronic 536274 20,71 20,71

Bauelemente Hauptplatine

4 Stk. Vielschicht KeramikkondensatorTDK C4532X7R2A225M230KA RS-Online 788-3098 0,86 3,42

4 Stk. Vielschicht KeramikkondensatorAVX 12101C105K4Z2A RS-Online 698-3746 0,88 3,52

4 Stk. Vielschicht KeramikkondensatorMurata GRM32ER61E226ME15L RS-Online 790-0639 0,85 3,41

2 Stk. UE Alu Kondensator Panasonic EEFUE0J151R RS-Online 414-9525 2,86 5,72

2 Stk. Diode ST STPS15H100CB RS-Online 485-7995 0,95 1,90

12 Stk. Schaltdiode DIODESZetex BAS70-04-7-F RS-Online 738-4822 0,19 2,23

10 Stk. TVS-Diode FAIRCHILD SMBJ5V0A RS-Online 761-3748 0,27 2,74

6 Stk. TVS-Diode Vishay SMBJ40A-E3 RS-Online 610-4580 0,28 1,67

2 Stk. Zenerdiode ON SemiconducterBZX84C3V3LT1G RS-Online 545-0618 1,42 2,84

4 Stk. Diode AVAGO HSMS-285B-G RS-Online 611-0765 1,38 5,53

2 Stk. Diode ON SemiconducterMBRS3200T3G RS-Online 773-7730 0,63 1,26

2 Stk. Abwärtswandler Texas InstrumentsLM5576MH/NOPB RS-Online 288-752 6,23 12,46

2 Stk. SMD Induktivität Bussmann DR127-330-R RS-Online 770-1031 1,07 2,14

0 Stk. MOSFET Transistor FAIRCHILD BSS123 RS-Online 671-0321 0,15 0,00

2 Stk. Dickschichtwiderstand TE Connectivity 352010RJT RS-Online 224-0143 0,09 0,19

2 Stk. 12 Bit ADC Microchip MCP3208-BI/SL RS-Online 770-9757 4,34 8,68

8 Stk. Operationsverstärker Microchip MCP6002-I/SN RS-Online 628-3598 0,32 2,56

0 Stk. Schmitt-Trigger Texas InstrumentsSN74AHC1G14DCKR RS-Online 652-5044 0,25 0,00

2 Stk. Leiterplatten-Sockel HARWIN M20-6112045 RS-Online 681-6791 3,65 7,30

4 Stk. Anschlussklemmenblöcke Phoenix Contact 1725698 RS-Online 220-4305 2,65 10,61

8 Stk. Anschlussklemmenblöcke Phoenix Contact 1725656 RS-Online 220-4260 0,91 7,31

2 Stk. Anschlussklemmenblöcke Phoenix Contact 1725711 RS-Online 220-4327 1,45 2,91

2 Stk. Dünnschichtwiderstand Panasonic ERA6AEB5111V RS-Online 708-6348 0,04 0,09

2 Stk. Dünnschichtwiderstand Panasonic ERA6AEB1651V RS-Online 708-6187 0,04 0,09

Page 63: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 63

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.6 Raspberry Pi Model 2B

Page 64: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 64

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.7 Strahlungssensor Apogee SP-512

Page 65: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 65

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 66: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 66

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 67: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 67

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 68: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 68

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.8 LEM-Stromsensor CAS-15

Page 69: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 69

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 70: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 70

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 71: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 71

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.9 GPS-Sensor

Page 72: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 72

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 73: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 73

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.10 Reedschalter MK21

Page 74: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 74

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 75: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 75

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.11 AD-Wandler MCP3204

Page 76: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 76

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 77: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 77

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 78: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 78

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 79: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 79

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

10.12 Schmitt-Trigger SN74AHC1G14

Page 80: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 80

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 81: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 81

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 82: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 82

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 83: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 83

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern

Page 84: Bordcomputer für ein E-Trike auf Basis eines Raspberry Pi · Der Raspberry Pi wird normalerweise über ein USB-Netzteil versorgt. Laut Spezifikation [2] muss Laut Spezifikation [2]

Anhang 84

Hochschule Ulm Masterprojekt | Ralf Burr, Heinrich Kern