You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

Projektarbeit_BASE_1047.tex 40KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689
  1. \documentclass[a4paper,12pt]{scrreprt} %Dokument Einstellungen: Papierformat, Schriftgröße, Art des Dokuments (scr für Deutsch)
  2. % ============= Packages =============
  3. \usepackage[utf8]{inputenc} %Sonderzeichen, Umlaute
  4. \usepackage[left= 3cm,right = 2cm, bottom = 4 cm]{geometry} %Anpassung Seitenränder
  5. \usepackage[onehalfspacing]{setspace} %Zeilenabstand anpassen
  6. \usepackage[ngerman]{babel} %Sprache z.B. für Worttrennungen
  7. \usepackage[T1]{fontenc} %Schrift
  8. \usepackage{amsmath} %Mathe package
  9. \usepackage{mathpazo} %Schriftart
  10. \usepackage{graphicx} %Bilder einfügen
  11. \usepackage{fancyhdr} %Angepasste Kopf- und Fußzeile
  12. \usepackage{siunitx} %Chillige Einheiten
  13. \usepackage{placeins} %Bilder daran hindern sonstwo zu landen
  14. \usepackage{microtype} %Typesetting schöner
  15. \usepackage[hidelinks]{hyperref} %Klickbare Verweise
  16. \usepackage{listings} % code highlighting
  17. % ============= Kopf- und Fußzeile =============
  18. \pagestyle{fancy}
  19. %
  20. \lhead{\includegraphics[height=24pt]{"TH_Logo.jpeg"}}
  21. \chead{}
  22. \rhead{\slshape \leftmark}
  23. %%
  24. \lfoot{}
  25. \cfoot{\thepage}
  26. \rfoot{}
  27. %%
  28. \renewcommand{\headrulewidth}{0.4pt}
  29. \renewcommand{\footrulewidth}{0pt}
  30. % ============= Dokument Beschreibung =============
  31. \title{Projektarbeit}
  32. \author{Katharina Steib\thanks{TH Nürnberg}
  33. \and Simon Kocher\footnotemark[1]
  34. \and Julian Rico Birner\footnotemark[1]}
  35. \date{heute}
  36. % ============= Einstellungen =============
  37. \setcounter{tocdepth}{5} %Erweiterung des Inhalstverzeichnisses um eine weiter Ebene
  38. \setcounter{secnumdepth}{5} %Erweiterug der Kapiteltiefe um eine weitere Ebene
  39. \bibliographystyle{unsrt} %Zitationsstil
  40. \sisetup{output-decimal-marker = {,}} % Komma statt . bei \SI{...}
  41. % ============= Dokumentbeginn =============
  42. % ==========================================
  43. \begin{document}
  44. \begin{titlepage} % Suppresses displaying the page number on the title page and the subsequent page counts as page 1
  45. \newcommand{\HRule}{\rule{\linewidth}{0.5mm}} % Defines a new command for horizontal lines, change thickness here
  46. \center % Centre everything on the page
  47. %------------------------------------------------
  48. % Headings
  49. %------------------------------------------------
  50. \textsc{\LARGE
  51. \begin{figure}
  52. \begin{center}
  53. \includegraphics[scale=1]{"TH_Logo.jpeg"}
  54. \end{center}
  55. \end{figure}
  56. }\\[0.5cm] % Main heading such as the name of your university/college
  57. \textsc{\Large Projektarbeit}\\[0.5cm] % Major heading such as course name
  58. \textsc{\large Elektro- und Informationstechnik}\\[0.5cm] % Minor heading such as course title
  59. %------------------------------------------------
  60. % Title
  61. %------------------------------------------------
  62. \HRule\\[0.4cm]
  63. {\huge\bfseries Entwicklung eines IR-Empfängers für einen Stromzähler}\\[0.4cm] % Title of your document
  64. \HRule\\[1.5cm]
  65. %------------------------------------------------
  66. % Author(s)
  67. %------------------------------------------------
  68. \begin{minipage}{0.4\textwidth}
  69. \begin{flushleft}
  70. \large
  71. \textit{Autoren}
  72. \\ Katharina \textsc{Steib} % Your name
  73. \\ Simon \textsc{Kocher} %Your friends name
  74. \\ Julian \textsc{Rico Birner} %The other guys name
  75. \end{flushleft}
  76. \end{minipage}
  77. ~
  78. \begin{minipage}{0.4\textwidth}
  79. \begin{flushright}
  80. \large
  81. \textit{Betreuer}\\
  82. Bernd \textsc{Klehn} % Supervisor's name
  83. \end{flushright}
  84. \end{minipage}
  85. % If you don't want a supervisor, uncomment the two lines below and comment the code above
  86. %{\large\textit{Author}}\\
  87. %John \textsc{Smith} % Your name
  88. %------------------------------------------------
  89. % Date
  90. %------------------------------------------------
  91. \vfill\vfill\vfill % Position the date 3/4 down the remaining page
  92. {\large\today} % Date, change the \today to a set date if you want to be precise
  93. %------------------------------------------------
  94. % Logo
  95. %------------------------------------------------
  96. %\vfill\vfill
  97. %\includegraphics[width=0.2\textwidth]{placeholder.jpg}\\[1cm] % Include a department/university logo - this will require the graphicx package
  98. %----------------------------------------------------------------------------------------
  99. \vfill % Push the date up 1/4 of the remaining page
  100. \begin{center}
  101. steibka77404@th-nuernberg.de (3264785)
  102. \\ kochersi74936@th-nuernberg.de(3254887)
  103. \\ ricobirnerju74691@th-nuernberg.de(3273163)
  104. \end{center}
  105. \end{titlepage}
  106. %\maketitle %Erstellt Titelseite
  107. \tableofcontents % Erstellt Inhaltsverzeichnis
  108. \part{Hauptteil}
  109. \chapter{Einleitung}
  110. %++-
  111. % Kathi 1,5 Seiten
  112. Durch die Corona-Pandemie ist der Stromverbrauch in Deutschland im Jahr 2020 um rund 4,4 Prozent im Vergleich
  113. zum Vorjahr gesunken, was einer Einsparung von 25 TWh entspricht. Dieses Phänomen lässt sich besonders auf den
  114. Lockdown-bedingten Konjunktureinbruch zurück führen. Trotz des Rückgangs ist aber noch viel Luft nach oben.
  115. Laut dem Stromspiegel 2019 verschwendeten die privaten Haushalte in Deutschland Strom im Wert von 9 Mrd. Euro.\\
  116. Viele Deutsche wissen gar nicht wie hoch ihr Stromverbrauch eigentlich ist und ob dieser über oder
  117. unterdurchschnittlich ist. Zum Vergleich kann der durchschnittliche Stromverbrauch einer Familie von
  118. 4250 kWh / Jahr heran gezogen werden. Den eigenen Stromverbrauch zu ermitteln und im besten Fall auch entsprechend
  119. zu regulieren ist schon schwieriger. Zwar findet man im Internet zahlreiche Seiten die anhand verschiedener Angaben
  120. den Verbrauch abschätzen, jedoch handelt es sich dabei lediglich um eine grobe Näherung.\\ \\
  121. Im Zuger der Digitalisierung verfügen immer mehr Haushalte über ein Smart Home System. Dabei handelt es sich
  122. eigentlich um einen Überbegriff der verschiedene Verfahren vereint, die mit automatisierbaren Abläufen das Leben
  123. in Bezug auf den Wohnraum vereinfachen sollen. Bekannte Beispiele sind das Regeln der Heizung auch von Unterwegs,
  124. das an und ausschalten verschiedener Geräte oder Lampen ohne zum Schalter gehen zu müssen oder auch das Öffnen
  125. und Schließen von Fenstern und Rollläden. Dabei können die Geräte sowohl über eine Programmierschnittstelle zu
  126. bestimmten Zeiten und/oder Bedingungen geschaltet werden als auch bequem per App vom Smartphone.
  127. Das Zuhause wird also sowohl intelligenter als auch bequemer für seine Bewohner.\\
  128. Ein solches Smart Home System eignet sich auch zur genauen Stromerfassung und Regulierung besonders gut.
  129. Der Verbraucher kann nicht nur genaue Daten ablesen sondern auch gezielt daran arbeiten seinen Stromverbrauch mit
  130. speziell auf ihn angepassten Einstellungen zu minimieren.
  131. Leider ist die Installation eines solchen Systhems oftmals mit einem hohen Aufwand und hohen
  132. Kosten verbunden, da meist viele bereits vorhandene Teile ausgetauscht werden müssen. Auch die Kosten für die
  133. Installation und Einrichtung sind nicht unerheblich.\\ \\
  134. In diesem Projekt wurde an einer möglichst Benutzerfreundlichen, kostengünstigen und einfachen Lösung gearbeitet
  135. mit der man ein Stromzähler zu Hause selbst visualisieren kann. Dabei ist hervor zu heben, dass das Entwickelte
  136. Gerät an den bereits vorhandenen Stromzähler ergänzt wird und somit kein Austausch von Geräten nötig ist.\\
  137. Der folgende Bericht wurde zur besseren Übersicht in zwei Teile unterteilt.
  138. Im ersten Teil werden die Technischen Hintergründe und Funktionen erläutert.
  139. Der zweite Teil soll hierbei als eine Art Benutzerhandbuch zur Anleitung dienen.\\
  140. \chapter{Konzept}
  141. %+--
  142. % Simon ~1,5 Seiten
  143. Im Folgenden wird zunächst auf die Aufgabenstellung eingegangen und anschließend ein Lösungsansatz schematisch erläutert.
  144. \section{Soll-Ist-Analyse}
  145. %+--
  146. Gegeben ist ein Stromzähler des Typen \glqq eHZ Generation K\grqq{} der Firma EMH metering GmbH \& Co. KG [x].
  147. % https://emh-metering.com/produkte/haushaltszaehler-smart-meter/ehz-k/
  148. Der Zähler verfügt über mehrere Infrarotschnittstellen zur Datenübertragung [x].
  149. % https://emh-metering.com/wp-content/uploads/2021/08/eHZ-K-DAB-D-1.10.pdf
  150. Es soll ein Empfänger für die Zählerstände, die über diese Schnittstellen übertragen werden entwickelt
  151. werden. Der Empfänger soll in sinnvollen Intervallen (z.B. zweimal pro Tag) den Zählerstand ermitteln
  152. und an einen bestehenden Smart-Home-Controller in Form eines Raspberry Pi übermitteln.\\
  153. Der bestehende Controller zeigt bereits vorhandene Daten aus anderer Quelle in einem Dashboard auf
  154. Basis von Node-RED [x]
  155. % https://nodered.org/
  156. an. Die Zäherstände sollen ebenfalls in Node-RED angezeigt werden.\\
  157. Um eine möglichst einfache Installation des Empfängers zu ermöglichen, soll der Empfänger sowohl
  158. im Hinblick auf die Datenübertragung als auch die Energieversorgung vollständig drahtlos funktionieren.\\
  159. Weiterhin soll ein Teststand entwickelt werden, mit dem der Empfänger ohne den Stromzähler auf
  160. Funktion getestet werden kann.
  161. \section{Lösungskonzept}
  162. %+--
  163. % Konzept von Simon
  164. % => Blockschaltbild
  165. % - Nen Microcontroller+wifi
  166. % - Iwie Versorgung
  167. % - iwie Einlesen
  168. % - Empfangen an Raspi
  169. % -
  170. Um eine drahtlose Energieversorgung des Empfängers zu ermöglichen, wird der Empfängeraufbau mit
  171. einem Akku betrieben. Für den Akku müssen sowohl eine Ladevorrichtung als auch der Akkutechnologie entsprechende
  172. Schutzschaltungen vorgesehen werden. Der Datenempfang und die Weitergabe an den
  173. Smart-Home-Controller wird durch einen Microcontroller realisiert. Um auch für die
  174. Datenübermittlung an den Controller kabellos zu bleiben, wird ein Microcontroller mit
  175. WiFi-Schnittstelle benötigt. Der Datentransfer zum Smart-Home-Controller kann dabei über das
  176. MQTT-Protokoll [x]
  177. % https://mqtt.org/
  178. realisiert werden. Für den Empfang der Stromzählerstände muss ein Infrarotempfänger, der kompatibel
  179. zur IR-Schnittstelle des Zählers ist, entwickelt werden.
  180. \begin{figure}[!h]\centering{
  181. \includegraphics[width=\linewidth]{img/konzept_bsb.PNG}
  182. \caption{Schematische Darstellung des Lösungskonzepts.}
  183. \label{fig:concept_bsb}
  184. }
  185. \end{figure}
  186. Für den Teststand muss ein Infrarotsender entwickelt werden, der die IR-Schnittstelle des Stromzählers
  187. nachahmt und konfigurierbare Werte als Zählerstand versendet. Hier bietet sich ebenfalls eine Lösung
  188. mit einem Microcontroller an.
  189. \FloatBarrier
  190. \chapter{Implementierung}
  191. %---
  192. % Simon und Julian
  193. \section{Stromzähler}
  194. %---
  195. % Julian ~ 2 Seiten
  196. \subsection{Infrarotschnittstellen}
  197. %---
  198. % @Julian: war glaube ich dir zugeteilt, ich hab mich beim Zähler mal auf das Modell aus
  199. % https://emh-metering.com/wp-content/uploads/2021/08/eHZ-K-DAB-D-1.10.pdf (Datasheet)
  200. % bezogen, wär cool wenn du hier kurz erwähnen könntest dass es sowohl die Datenschnittstelle
  201. % als auch so eine x Impulse/kWh IR-Schnittstelle gibt.
  202. Wie bereits erwähnt verfügt der Stromzähler über mehrere Infrarotschnittstellen. Dabei ist zu unterscheiden zwischen der Prüf-LED und den beiden optischen Datenschnittstellen. Über die Prüf-LED sendet der Stromzähler 10.000 Impulse pro kWh, vorausgesetzt es wird ein Strom oberhalb der Anlaufschwelle gemessen. Diese Schnittstelle dient jedoch, wie der Name bereits vermuten lässt, primär zur Funktionsprüfung des Zählers. Die beiden Datenschnittstellen hingegen können dazu verwendet werden, umfangreichere Daten auszulesen. Auf der Rückseite des Zählers befindet sich eine bidirektionale Datenschnittstelle, worüber neben dem Auslesen von Zählstanden auch das Setzen und Lesen von Zählerparametern, Fernabfragung oder Prüfung des Zählers möglich ist. Diese Schnittstelle ist jedoch hauptsächlich für den Netzbetreiber gedacht und aus diesem Grund auch mit einer Betriebsplombe versehen. Für den Endkunden zugänglich ist die unidirektionale INFO-Schnittstelle auf der Vorderseite, worüber der gleiche Datensatz empfangen werden kann, aber keine aktive Kommunikation mit dem Messgerät möglich ist [x].
  203. % https://emh-metering.com/wp-content/uploads/2020/08/eHZ-K-BIA-D-1-20.pdf (User manual)
  204. \subsection{SML - Smart Message Language}
  205. %---
  206. Über beide Datenschnittstellen wird alle paar Sekunden ein Datensatz verschickt, wobei hier zwischen einem reduzierten und einem vollständigen Datensatz gewechselt wird. Beide Datensätze verwenden SML (=Smart Message Language) [x]
  207. % https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03109/TR-03109-1_Anlage_Feinspezifikation_Drahtgebundene_LMN-Schnittstelle_Teilb.pdf?__blob=publicationFile
  208. als Kommunikationsprotokoll mit einer Baudrate von 9600 Baud und einer maximalen Übertragungszeit von 400ms [x].
  209. % Gleiche Quelle wie in vorheriger Subsection: user manual eHZ Gen K
  210. Die dabei übertragenen Werte werden über das OBIS-Kennzahlen-System [x] kodiert, der für uns interessante Gesamtverbrauch hat dabei die Kennzahl 1.8.0.
  211. % https://www.bundesnetzagentur.de/DE/Beschlusskammern/BK06/BK6_81_GPKE_GeLi/Mitteilung_Nr_37/Anlagen/OBIS-Kennzahlensystem%202.2a.pdf?__blob=publicationFile&v=2
  212. \section{IR Übertragungsstrecke}
  213. %+--
  214. % Simon ~ 1,5 Seiten
  215. Die Impulsschnittstelle des Stromzählers würde sich grundsätzlich zum Aufzeichnen der Zählerstände eignen,
  216. vorausgesetzt der Zählerstand zu Aufzeichnungsbeginn ist bekannt. Ein großer Vorteil dieser Schnittstelle
  217. ist ihre extrem simple Natur: per GPIO-Interrupt eines Microcontrollers oder sogar per diskretem Zähler-IC
  218. ist der Datenempfang sehr einfach realisierbar. Dagegen muss bei der IR-Datenschnittstelle sowohl
  219. das Übertragungsprotokoll als auch die Datencodierung, die der Zähler verwendet, unterstützt werden.\\
  220. Gegen die Impulsschnittstelle sprechen allerdings einige Nachteile. Da die diese lediglich
  221. eine fixe Anzahl an Impulsen pro verbrauchter Kilowattstunde sendet, werden hier nur Verbrauchsdeltas und
  222. nie der absolute Wert übermittelt. Folglich wird zur Feststellung eines tatsächlichen Zählerstandes
  223. in Kilowattstunden der Zählerstand zu Aufzeichnungsbeginn benötigt. Außerdem führt ein temporärer Ausfall
  224. der Empfängerschaltung, bei dem Impulse nicht aufgezeichnet werden, zur Messung falscher Zählerstände.\\
  225. Ein weiterer Nachteil der Impulsschnittstelle ist dass zumindest ein Teil der Empfängerschaltung dauerhaft in Betrieb sein
  226. muss um jeden Infrarotimpuls aufzunehmen. Gerade bei einem Microcontroller ist hier von einem relativ
  227. hohen Energieverbrauch auszugehen bei dem ein Großteil der Energie verschwendet wird.\\
  228. Auf der Datenschnittstelle wird in regelmäßigen Intervallen der absolute Zählerstand übermittelt, damit
  229. entfallen beide Nachteile der Impulsschnittstelle. Daher wurde sich für dieses Projekt für den Empfang
  230. an der Datenschnittstelle entschieden. \\
  231. Die Datenschnittstelle überträgt hier die Zählerstände mittels des sogenannten D0-Protokolls [x]
  232. % https://www.mikrocontroller.net/attachment/89888/Q3Dx_D0_Spezifikation_v11.pdf
  233. nach DIN EN 62056‐21. Die Beschreibung des Protokolls lässt bereits eine Ähnlichkeit mit RS232
  234. vermuten, experimentell konnte bestätigt werden, dass die D0-Daten mittels der RS232-Peripherie eines
  235. ESP8266 Microcontroller empfangen werden können. Dabei muss lediglich der RX-Pin der RS232-Schnittstelle
  236. des Controllers an eine geeignete Empfangsschaltung angeschlossen werden.\\
  237. Bei einem Test mit einem Stromzähler des Herstellers \glqq Landis+Gyr\grqq{} konnte allerdings
  238. festgestellt werden, dass die Datenformatangabe aus [x, gleiches wie vorher], d.h.
  239. 1 Startbit, 7 Datenbits, 1 Paritätsbit und ein Stoppbit, von diesem Zähler nicht eingehalten wird,
  240. stattdessen wird von diesem Zähler 1 Startbit, 8 Datenbits und 1 Stoppbit verwendet.
  241. Laut Herstellerangabe [x]
  242. % https://www.landisgyr.de/webfoo/wp-content/uploads/2018/08/D000063497-E220-AMxD-Benutzerhandbuch-de-f.pdf
  243. handelt es sich bei dieser Schnittstelle ebenfalls um eine Datenschnittstelle gem. DIN EN 62056‐21.
  244. Bei der Einstellung der RS232-Peripherie kann es also zu zählerabhängigen Unterschieden kommen.\\
  245. Um einen Empfang der Zählerstände zu ermöglichen, müssen die Infrarotsignale des Zählers zunächst
  246. in digitale elektrische Signale gewandelt werden. Für die Wandlung von Infrarotsignalen zu
  247. elektrischen Signalen wurde eine Photodiode vom Typ SFH 213 FA [x] gewählt. Laut Datenblatt
  248. % https://cdn-reichelt.de/documents/datenblatt/A501/SFH213FA_ENG_TDS.pdf
  249. fließt bei einer Sperrspannung von $V_R=\SI{20}{\volt}$ ein Dunkelstrom $I_R \leq \SI{5}{\nano\ampere}$.
  250. Bei $V_R=\SI{5}{\volt}$ und bei einer Strahlungsleistung von \SI{1}{\milli\watt\per\centi\metre\squared}
  251. ist ein Photostrom $I_P \geq \SI{65}{\micro\ampere}$ zu erwarten. Bei Anwendung der Photodiode
  252. in der Empfängerschaltung sind diese Rahmenparameter, sowohl die \SI{20}{\volt} Sperrspannung als
  253. auch die genaue Strahlungsleistung nicht identisch mit den Vorgaben aus dem Datenblatt. Allerdings
  254. können der Dunkelstrom $I_R \approx \SI{5}{\nano\ampere}$ und der Photostrom $I_P\approx\SI{65}{\micro\ampere}$
  255. als grobe Vorgaben zur Dimensionierung der Empfängerschaltung verwendet werden.\\
  256. Um die Stromsignale der Photodiode zu verstärken, bietet sich ein einfacher NPN-Transistor an, gewählt wurde
  257. der BC548B. Mit der Beschaltung aus Abb. \ref{fig:ir_recv_a} und $200 \leq h_{FE} \leq 450$
  258. [x],
  259. % https://cdn-reichelt.de/documents/datenblatt/A100/BC546_48-CDIL.pdf
  260. ergibt sich ohne IR-Bestrahlung am Ausgang bei $V_{CC} = \SI{3,3}{\volt}$
  261. $U_{out} \approx V_{CC} - R_1 \cdot \SI{5}{\nano\ampere} \cdot h_{FE} \approx \SI{3,3}{\volt} \approx V_{CC}$.
  262. Mit IR-Bestrahlung bei $I_{P}\approx\SI{65}{\micro\ampere}$ ergäbe sich nach der obigen Formel
  263. eine negative Ausgangsspannung, in der Praxis geht der Transistor in Sättigung und $U_{out} \approx \SI{0}{\volt}$.
  264. \begin{figure}[!h]\centering{
  265. \includegraphics[height=0.25\textheight]{img/ir_recv_a.PNG}
  266. \caption{Die Infrarotempfängerschaltung.}
  267. \label{fig:ir_recv_a}
  268. }
  269. \end{figure}
  270. Anhand der Berechnung lässt sich erkennen, dass die Verstärkerschaltung das Eingangssignal invertiert:
  271. bei Dunkelheit wird eine digitale 1 erzeugt, bei IR-Belichtung eine digitale 0. Dieses Verhalten
  272. kann schaltungstechnisch mit einem einfach Inverter, wie in Abb. \ref{fig:ir_recv_b} zu sehen, behoben werden.
  273. \begin{figure}[!h]\centering{
  274. \includegraphics[height=0.25\textheight]{img/ir_recv_b.PNG}
  275. \caption{Die Infrarotempfängerschaltung mit Inverter.}
  276. \label{fig:ir_recv_b}
  277. }
  278. \end{figure}
  279. Nach Entwicklung der Schaltung konnte experimentell festgestellt werden, dass der getestete Stromzähler
  280. der Firma Landis+Gyr bereits beim Senden das serielle Signal invertiert, sodass ein Inverter beim Empfänger
  281. entfällt. Daher wurde die Inverterstufe auf der fertigen Platine durch einen Jumper konfigurierbar
  282. ausgelegt (s. Abschnitt \ref{sec:schematic}). So kann Anwendungsspezifisch die Schaltung aus Abb.
  283. \ref{fig:ir_recv_a} oder aus Abb. \ref{fig:ir_recv_b} verwendet werden.\\
  284. Das Signal $U_{out}$ der Empfängerschaltung kann direkt mit dem RX-Pin des Microcontrollers verbunden
  285. werden.
  286. \FloatBarrier
  287. \section{Microcontroller}
  288. %---
  289. Für das Empfangen und Verarbeiten der Daten wurde als Microcontroller ein D1 mini ausgewählt, welcher auf einem ESP8266 Prozessor basiert. Dieser verfügt über eine integrierte WLAN-Schnittstelle und ausreichend Peripherie, um den Anforderungen gerecht zu werden. Die serielle Schnittstelle des Microcontrollers kann außerdem direkt genutzt werden, um das serielle Signal vom Stromzähler mittels der bereits vorgestellten Empfängerschaltung relativ einfach einzulesen. Außerdem ist der Microcontroller mit der Arduino IDE programmierbar, was die Vorteile einer einfachen Programmierung und der gleichzeitig großen Vielfalt an Bibliotheken und Erweiterungen für diese Plattform kombiniert. Trotz seiner geringen Größe und dem noch vernachlässigbaren Gewicht verfügt das Board dennoch über ausreichend RAM und Flash-Speicher, eine Taktgeschwindigkeit von 80 bzw. 160 Mhz und einer $I^2C$-Schnittstelle zur Kommunikation mit der RTC, womit alle Anforderungen erfüllt sind [x].
  290. % https://www.wemos.cc/en/latest/d1/d1_mini.html
  291. \begin{figure}[!h]
  292. \centering
  293. \includegraphics[height=0.25\textheight]{img/d1_top.jpg}
  294. \caption{ESP 8266 D1 Mini.}
  295. \label{fig:d1_mini_top}
  296. \end{figure}
  297. % TODO 1-2 Bilder vom ESP8266 vor Start von 3.4
  298. \FloatBarrier
  299. \section{Energieverbrauch}
  300. %+--
  301. % Simon ~ 3-4 Seiten
  302. Da das Infrarotempfängerkonzept eine vollständig kabellose Anbindung des Empfängeraufbaus vorsieht,
  303. ist die Energieversorgung über einen Akku notwendig. Als Akku wurde ein Lithium-Ionen Akku im 18650
  304. Formfaktor gewählt. Für das Akkumanagement, d.h. Laden des Akkus und Unterspannungsschutz, wird
  305. ein fertiges BMS-Board verwendet. Das gewählte BMS-Board ist unter der Bezeichnung
  306. \glqq Wemos 18650 battery shield V3\grqq{} auf diversen Onlinemarktplätzen zu finden.\\
  307. Das Board wird mit einer 18650 Lithium-Ionen-Zelle bestückt und liefert \SI{3}{\volt} und
  308. \SI{5}{\volt} Ausgangsspannung, die bei Unterspannung der Akkuzelle automatisch abgeschaltet werden.
  309. Weiterhin kann der Akku im BMS-Board bequem per Micro-USB aufgeladen werden.\\
  310. Damit der Empfänger einen möglichst nützlichen
  311. Smart Home-Sensor darstellt, muss eine hohe Akkulebensdauer sichergestellt sein, da bei einem Empfänger,
  312. der sehr häufig aufgeladen werden muss auch das manuelle notieren der Stromzählerstände einen vergleichbaren
  313. Aufwand verursachen würde.\\
  314. Bei einem handelsüblichen 18650 Lithium-Ionen-Akku kann von einer Kapazität in der Größenordnung von
  315. \SI{2700}{\milli\ampere{}\hour} ausgegangen werden [x].
  316. % https://b2b-api.panasonic.eu/file_stream/pids/fileversion/3447
  317. Bei einer geschätzten Stromaufnahme der Empfängerschaltung im Dauerbetrieb von ca.
  318. \SI{150}{\milli\ampere}, ergäbe sich eine Akkulebensdauer von ca. \SI{18}{\hour}, ein völlig
  319. inakzeptabler Wert. Aus dieser Überschlagsrechnung wird klar, dass die Empfängerschaltung in zwei
  320. Zuständen, einem Aktivzustand mit großem Energieverbrauch und einem möglichst sparsamen Passivzustand,
  321. realisiert werden muss.
  322. \subsection{Abschätzung der Akkulebensdauer}
  323. %+--
  324. \label{sec:lifetime_approx}
  325. Um eine Realisierung dieser beiden Zustände zu beurteilen, ist ein Modell der Akkulebensdauer
  326. in Abhängigkeit der Parameter der Zustände (Verweildauer im Zustand und Stromaufnahme) sinnvoll.\\
  327. Der Aktivzustand wird charakterisiert durch die Dauer $t_{on}$ mit mittlerem Versorgungsstrom $I_{on}$,
  328. der in einem Zyklus der Periode $T_{cycle}$ auftritt, der Standby-Zustand wir charakterisiert durch
  329. den Ruhestrom $I_{off}$.\\
  330. Mit Ladung $C=\int{I(\tau)d\tau}$ ergibt sich näherungsweise eine Ladungsaufnahme der Schaltung von
  331. \begin{equation}
  332. C_{auf}(t) = I_{on}\cdot\frac{t_{on}}{T_{cycle}}\cdot t + I_{off}\cdot t.
  333. \end{equation}
  334. Dabei wurden unter den Annahmen $t \gg T_{cycle}$ und $\frac{t_{on}}{T_{cycle}} \ll 1$ einige Vereinfachungen vorgenommen.\\
  335. Modelliert man nun den Akku der Kapazität $C_A$ (z.B. \SI{2800}{\milli\ampere{}\hour}) als simple Ladungsquelle,
  336. die die Schaltung versorgt, bis $C_A$ \glqq aufgebraucht\grqq{} ist, ergibt sich durch Gleichsetzen von
  337. $C_{auf}(t)$ und $C_A$ eine geschätzte Lebensdauer
  338. \begin{equation}
  339. t_L = \frac{C_A}{I_{on}\cdot t_{on}/T_{cycle}+I_{off}}.
  340. \end{equation}
  341. Für einen Ruhestrom von $I_{off}=\SI{2}{\micro\ampere}$, eine Aktivzeit $t_{on}=\SI{30}{\second}$,
  342. $T_{cycle}=\SI{12}{\hour}$, $C_A=\SI{2800}{\milli\ampere{}\hour}$ und
  343. einen mittleren Versorgungsstrom $I_{on}=\SI{150}{\milli\ampere}$ ergibt sich beispielsweise aus der Abschätzung
  344. $t_L=\SI{1099}{\day}$. Wird bei den selben Parametern ein Ruhestrom von $I_{off}=\SI{0,2}{\milli\ampere}$
  345. angesetzt, drittelt sich die geschätzte Lebensdauer auf ca. \SI{384}{\day}.\\
  346. Es ist fragwürdig, ob in der Praxis tatsächlich eine derartig hohe Lebensdauer erreichbar ist, mitunter,
  347. da kein realistisches Akkumodell verwendet wurde.\\
  348. Allerdings ist die hohe Abschätzung der Lebensdauer eine gute Indikation dafür, dass
  349. die reale Lebensdauer nicht ausschließlich durch den Energieverbrauch der Schaltung sondern durch Eigenschaften
  350. des Akkus limitiert wird und somit eine weitere Optimierung des Energieverbrauchs nicht unbedingt zu einem
  351. signifikanten Anstieg der Akkulebensdauer führen würde. Um die Lebensdauer genauer zu bestimmen, ist allerdings
  352. eine Echtzeitmessung oder die Verwendung eines präzisen Akkumodells erforderlich.
  353. \subsection{Schaltungstechnische Realisierung des Standbyzustands}
  354. %+--
  355. Der ESP8266 verfügt Hardwareseitig bereits über einen sogenannten \glqq Deep-sleep\grqq{}-Modus [x].
  356. % ESP8266 Low Power Solutions V1.5, Espressif
  357. % https://www.espressif.com/sites/default/files/documentation/9b-esp8266-low_power_solutions__en.pdf
  358. In diesem Modus wird der Großteil des Mikrocontrollers deaktiviert und damit der Energieverbrauch
  359. deutlich gesenkt [x, selbe wie vorher]. Mittels der internen Uhr (RTC) des ESP wird der Microcontroller
  360. in bestimmten Intervallen wieder \glqq geweckt\grqq{} [x, selbe wie vorher].
  361. Durch diesen Mechanismus könnte der zuvor beschriebene Energiesparmodus umgesetzt werden.
  362. Da für dieses Projekt allerdings der ESP8266 nicht einzeln sondern in Form eines Entwicklungsboards
  363. mit zusätzlicher Peripherie (z.B. Spannungswandler und USB zu UART Wandler) verwendet wird und
  364. auch im Arbeitspunkt der IR-Empfängerschaltung ein geringer Strom fließt, würde
  365. der Deep-sleep-Modus zwar den Energieverbrauch des ESP reduzieren, alle weiteren Komponenten wären
  366. davon allerdings nicht betroffen. Wie die Lebensdauerabschätzung im vorherigen Abschnitt zeigt, ist
  367. ein Standbystrom im Microamperebereich wünschenswert, daher ist der Deep-sleep-Modus für diesen Zweck
  368. nicht ausreichend.\\
  369. Eine alternative Lösung, die im Rahmen dieses Projekts gewählt wurde, ist im Standbyzustand die
  370. Energieversorgung der kompletten Schaltung zu unterbrechen.\\
  371. Dafür wird mittels eines p-MOSFET ein high-side Schalter realisiert, der die Versorgungsspannung
  372. vom BMS-Board zum Empfänger schaltet. Der MOSFET wird angesteuert durch eine externe Echtzeituhr
  373. (RTC) vom Typ DS3231 [x].
  374. % https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
  375. Die DS3231 liefert via I\textsuperscript{2}C-Schnittstelle nach einmaliger Konfiguration fortlaufend
  376. das aktuelle Datum und die aktuelle Uhrzeit. Die RTC wird dabei von einer Lithium-Knopfzelle versorgt
  377. und ist damit in ihrer Funktion unabhängig von einer externen Spannungsversorgung. Die für dieses Projekt
  378. wichtigste Funktion der DS3231 sind die zwei programmierbaren Alarme der RTC.\\
  379. \begin{figure}[!h]\centering{
  380. \includegraphics[width=0.5\linewidth]{img/power_schema.PNG}
  381. \caption{Schematische Darstellung der geschalteten Energieversorgung.}
  382. \label{fig:power_schema}
  383. }
  384. \end{figure}
  385. Mittels I\textsuperscript{2}C können in den Registern der RTC zwei Alarme dazu programmiert werden, in
  386. bestimmten Intervallen (minütlich, stündlich, täglich, ...) den $\overline{\mbox{INT}}$-Pin der RTC
  387. auf Masse zu ziehen [x, selbe wie vorher]. Dabei ist sehr hilfreich, dass die Alarmsignale selbsthaltend sind,
  388. d.h. wird ein Alarm ausgelöst bleibt $\overline{\mbox{INT}}$ auf Masse gezogen, bis via
  389. I\textsuperscript{2}C das jeweilige Alarmflag (A1E bzw. A2E) in den RTC-Registern zurückgesetzt wird [x, selbe wie vorher].\\
  390. Das Signal eignet sich also direkt zum Schalten der Energieversorgung der Empfängerschaltung.
  391. Weiterhin handelt es sich bei dem $\overline{\mbox{INT}}$-Pin um einen open-drain Ausgang, d.h. der Pin
  392. muss mit einem externen Pull-Up-Widerstand beschaltet werden [x, selbe wie vorher], der die high-Spannung des
  393. Signals vorgibt. Damit bietet sich das Signal zum Steuern des p-MOSFET sehr an, da durch einen
  394. Pull-Up auf die Sourcespannung des MOSFET der p-MOSFET korrekt durch das Signal geschaltet wird.\\
  395. In der praktischen Erprobung der Schaltung hat sich gezeigt, dass teils beim Ausschalten Glitches
  396. auftreten können, bei denen die Versorgung nicht vollständig ausgeschaltet wird, sondern die Spannung
  397. am Drain des MOSFET (die nahe \SI{0}{\volt} liegen sollte) bei beispielsweise \SI{1,6}{\volt} hängen
  398. bleibt und der Ausschaltvorgang somit fehlschlägt. Um ein sicheres Ausschalten zu gewährleisten,
  399. wurde zwischen das $\overline{\mbox{INT}}$-Signal der RTC mit Pull-Up und den MOSFET ein Spannungspuffer
  400. geschaltet (realisiert durch zwei nacheinander geschaltete NAND-Gatter aus einem CD4011B IC,
  401. Schaltung siehe Abschnitt \ref{sec:schematic}).\\
  402. Nach dieser Änderung konnten keine Glitches mehr festgestellt werden.\\
  403. Als p-MOSFET wurde ein NX2301P gewählt [x].
  404. % https://assets.nexperia.com/documents/data-sheet/NX2301P.pdf
  405. Das wichtigste Auswahlkriterium für den MOSFET war in dieser Funktion ein betragsmäßig ausreichend
  406. geringes $V_{GS}$ um den MOSFET einzuschalten. Dem Datenblatt lässt sich bei
  407. $V_{GS}=\SI{-1.8}{\volt}$ ein maximales $R_{DSon}$ von \SI{270}{\milli\ohm} entnehmen. Dieser
  408. $R_{DSon}$-Wert ist für den Aktivzustand der Schaltung völlig ausreichend - bei einer Stromaufnahme
  409. von \SI{150}{\milli\ampere} fallen über dem MOSFET maximal \SI{41}{\milli\volt} ab, der Leistungsverlust
  410. über dem MOSFET liegt im einstelligen Milliwattbereich. Die Gate-Source Spannung
  411. von \SI{-1.8}{\volt} ist ebenfalls komfortabel erreichbar, bei einer Akkuspannung von \SI{3}{\volt}
  412. wird ein $V_{GS}$ von knapp \SI{-3}{\volt} im Aktivzustand erreicht.
  413. \FloatBarrier
  414. \subsection{Messtechnische Überprüfung des Energieverbrauchs}
  415. %---
  416. Zur messtechnischen Überprüfung des Energieverbrauchs wurde zunächst das BMS-Board mit \SI{3,7}{\volt}
  417. versorgt und die Stromaufnahme ohne angeschlossene Last bestimmt. Es konnte ein Wert von ca.
  418. \SI{0,33}{\milli\ampere} gemessen werden. Wie bereits bei der Abschätzung der Akkulebensdauer festgestellt
  419. wurde, handelt es sich hierbei um einen relativ hohen Standbyverbrauch. Es ist eine naheliegende Vermutung,
  420. dass dieser Stromverbrauch ohne Last durch den DC-DC Step-Up Konverter auf dem BMS-Board verursacht wird,
  421. der die \SI{5}{\volt} Ausgangsspannung des Boards generiert.\\
  422. \begin{figure}[h]\centering{
  423. \includegraphics[width=0.7\linewidth]{img/bms_board.jpg}
  424. \caption{Die Rückseite des BMS-Boards. Rot markiert der Step-Up Konverter.}
  425. \label{fig:bms_backside}
  426. }
  427. \end{figure}
  428. Durch Position der Induktivität und Nachschlagen der IC-Nummern konnte U7 (s. Abb. \ref{fig:bms_backside})
  429. als Step-Up Konverter des Typs FP6298 identifiziert werden. Durch Entfernen des Step-Up ICs von der Platine
  430. konnte die Stromaufnahme des BMS-Boards ohne angeschlossene Last auf unter \SI{0,2}{\micro\ampere}
  431. reduziert werden. Durch diese Modifikation geht selbstverständlich der \SI{5}{\volt} Ausgang des BMS-Boards
  432. verloren, stattdessen steht maximal die Zellspannung zur Verfügung. Das stellt allerdings kein Problem
  433. dar, da experimentell festgestellt wurde, dass eine Versorgungsspannung im Bereich von \SI{3}{\volt}
  434. bis \SI{3,7}{\volt} für den Betrieb der Empfängerschaltung ausreichend ist. Betrachtet man die
  435. Entladecharakteristik eines typischen 18650 Lithium-Ionen Akkus (s. Abb. \ref{fig:liion_discharge}),
  436. ist ersichtlich, dass in diesem
  437. Spannungsbereich der größte Teil der Akkuladung ausgenutzt werden kann.\\
  438. \begin{figure}[h]\centering{
  439. \includegraphics[width=0.7\linewidth]{img/discharge_curve.PNG}
  440. \caption{Entladekurve eines 18650 Lithium-Ionen Akkus [x].}
  441. % https://b2b-api.panasonic.eu/file_stream/pids/fileversion/3447
  442. \label{fig:liion_discharge}
  443. }
  444. \end{figure}
  445. Anschließend wurde der Energieverbrauch der vollständigen Empfängerschaltung zusammen mit dem
  446. BMS-Board charakterisiert. Dafür wurden erneut \SI{3,7}{\volt} an den Zellanschlüssen des BMS-Boards
  447. eingespeist und der Stromfluss am Zellanschluss gemessen.\\
  448. Es konnte im Aktivzustand ein mittlerer Stromverbrauch von ca. \SI{150}{\milli\ampere} und im
  449. Standbyzustand ein Stromverbrauch zwischen \SI{0,3}{\micro\ampere} und \SI{1,5}{\micro\ampere}
  450. gemessen werden. Mit der Abschätzung aus Abschnitt \ref{sec:lifetime_approx} ergibt sich mit diesen
  451. Werten bei $t_{on}=\SI{30}{\second}$, $T_{cycle}=\SI{12}{\hour}$ und $C_A=\SI{2800}{\milli\ampere{}\hour}$
  452. eine geschätzte Lebensdauer von $t_L\approx\SI{1104}{\day}$. Während die reale Akkulebensdauer
  453. sicherlich deutlich geringer ausfallen wird, lässt dieser hohe Wert vermuten, dass Verbraucherseitig
  454. die Voraussetzungen für eine hohe Akkulebensdauer erfüllt sind.
  455. \FloatBarrier
  456. \section{Platine}
  457. %---
  458. % Julian ~ 1-2 Seiten
  459. Um alle benötigten Komponenten sicher miteinander zu verbinden haben wir uns dazu entschlossen, eine eigene Platine zu entwerfen. Ein Aufbau auf einer Lochrasterplatine hätte sicherlich auch funktioniert, dies wäre bei der Anzahl der Komponenten und deren Größe, wie z.B. dem Microcontroller oder den NAND-Gates, sehr unübersichtlich geworden. Außerdem konnten die verschiedenen Konfigurationsmöglichkeiten so leichter implementiert und beschriftet werden.
  460. \begin{figure}[!h]\centering{
  461. \includegraphics[width=1.0\linewidth]{img/platine_rendering.png}
  462. \caption{3D-Rendering der Platine in Altium.}
  463. \label{fig:pcb_rendering}
  464. }
  465. \end{figure}
  466. Wie bereits im vorherigen Kapitel beschrieben kam es zu Glitches beim Abschalten des pMOSFET. Um sowohl die Möglichkeit des direkten Abschaltens, als auch des gepufferten Abschaltens zu haben, wurden Lötbrücken platziert, womit ohne besonders viel Aufwand die Konfiguration geändert werden kann.
  467. \begin{figure}[!h]\centering{
  468. \includegraphics[width=1.0\linewidth]{img/pcb_sb1_sb2.png}
  469. \caption{Lötbrücke 1 und 2 für Abschaltung mit oder ohne Puffer.}
  470. \label{fig:pcb_sb1_sb2}
  471. }
  472. \end{figure}
  473. Des Weiteren wurde eine Lotbrücke platziert um die RTC im aktiven Zustand aus dem Akku zu speisen. Damit wird vermieden, dass die Knopfzelle zu schnell entleert wird.
  474. \begin{figure}[!h]\centering{
  475. \includegraphics[height=0.5\textheight]{img/pcb_sb3.png}
  476. \caption{Lötbrücke 3 für Versorgung der RTC per Akku.}
  477. \label{fig:pcb_sb3}
  478. }
  479. \end{figure}
  480. Außerdem wurde beim Testen entdeckt, dass der Stromzähler des Herstellers \glqq Landis+Gyr\grqq bereits ein invertiertes Signal sendet. Da der Stromzähler, an dem der Empfänger letzten Endes betrieben wird, nicht getestet werden konnte, wurden hierfür Jumper eingebaut, womit die Inverterstufe im Empfangspfad sehr leicht aktiviert oder deaktiviert werden kann.
  481. \begin{figure}[!h]\centering{
  482. \includegraphics[width=1.0\textwidth]{img/pcb_jumper.png}
  483. \caption{Jumper zum Aktivieren und Deaktivieren der Inverterstufe.}
  484. \label{fig:pcb_jumper}
  485. }
  486. \end{figure}
  487. %TODO Bildgrößen und Platzierung anpassen
  488. \FloatBarrier
  489. \section{Software}
  490. %---
  491. Das komplette Programm sowohl für den Empfänger als auch für den Teststand sind im Anhang zu finden.
  492. % TODO Macht das Sinn? Schickt man sowas einfach nur per Mail mit? Wie machen wir das?
  493. % Julian ~ 6-8 Seiten
  494. \subsection{Programmablauf}
  495. %---
  496. Der ESP wurde mit der Arduino IDE programmiert. Diese ermöglicht den Zugang zu beliebiger Hardware, solange der korrekte Treiber installiert ist und es eine Anbindung an die Arduino IDE gibt. Als Schnittstelle gibt es eine setup()-Funktion, welche einmalig zu Beginn des Programms abgearbeitet wird und eine loop()-Funktion, welche nach dem Setup zyklisch als Endlosschleife abläuft.
  497. Im Setup werden zuerst einzelne Pins initialisiert, danach wird die serielle Kommunikation gestartet, woraufhin die Verbindung zum WLAN hergestellt wird. Ist dies erfolgreich, versucht der ESP als nächstes sich mit dem MQTT-Broker zu verbinden. Sobald auch das geklappt hat ist die Initialisierung beendet. Sollte jedoch keine Verbindung zum WLAN oder dem MQTT-Broker hergestellt werden können wird nach einer bestimmten Zeit das Ausschalten initialisiert.
  498. \subsection{RTC}
  499. %---
  500. Die Spannungsversorgung des Microcontrollers wird von der RTC gesteuert. Diese arbeitet mit internen Alarmen und schaltet den INT-Pin (low-aktiv), sobald ein aktiver Alarm abgelaufen ist. Danach bleibt sie aktiv, bis über $I^2C$ der Befehl zum Ausschalten gesendet wird. Dies geschieht, indem der Microcontroller nach Ablauf seines Programms im Control-Register der RTC die Flags für die Alarme zurücksetzt. Sobald das passiert ist, setzt die RTC den INT-Pin zurück und unterbricht damit die Stromversorgung für den ESP. Nach Ablaufen des Alarms beginnt dieser Zyklus von neuem.
  501. \subsection{WifiManager}
  502. %---
  503. Kernanforderung des Projekts war die drahtlose Kommunikation zwischen Empfänger und Smart-Home-Controller. Da uns aus ersichtlichen Gründen jedoch zur Projektlaufzeit die Zugangsdaten zum endgültigen WLAN nicht zur Verfügung standen war es nötig, dem Bediener die Möglichkeit zu geben, eine gültige WLAN Konfiguration an den Microcontroller zu übermitteln, ohne ihn dafür jedes Mal neu flashen zu müssen. Diese Funktionalität gibt es bereits schon in Form einer Bibliothek mit dem Namen WifiManager [x].
  504. % https://github.com/tzapu/WiFiManager
  505. Mit Hilfe der Bibliothek startet der Microcontroller im Station-Mode und versucht, sich mit ggf. vorher gespeicherten Zugangsdaten anzumelden. Gelingt dies nicht oder ist noch keine Konfiguration hinterlegt, wechselt der ESP in Access-Point-Mode und startet einen eigenen Webserver. Nun kann sich der Bediener mit jedem beliebigen, WLAN-fähigen Gerät am WLAN des ESP anmelden und wird zu einer Anmeldeseite weitergeleitet, wo nun eine WLAN Zugangsdaten eingegeben werden können. Sobald sich der ESP erfolgreich mit dem angegebenen Netzwerk verbunden hat wird der Programmablauf fortgesetzt.
  506. \begin{figure}[!h]\centering{
  507. \includegraphics[width=0.5\textwidth]{img/wifimgr_loginpage.png}
  508. \caption{Anmeldeseite des WifiManager aus Sicht des Bedieners.}
  509. \label{fig:wifi_manager}
  510. }
  511. \end{figure}
  512. Zwar bietet die Bibliothek auch Felder für MQTT-Broker IP und Port an, dies hat jedoch zum Zeitpunkt des Projekts nicht zuverlässig funktioniert und wurde deshalb aus dem Programm entfernt. Sollte die Bibliothek dahingehend verbessert werden würde es Sinn machen, dieses Feature nachzurüsten, um nicht jedes Mal den Microcontroller flashen zu müssen wenn ein anderer MQTT-Broker verwendet wird. Da dem Broker, welcher in diesem Fall ein Raspberry Pi ist, entweder in der internen Konfiguration des Raspberry Pi eine statische bzw. über den Router immer dieselbe IP zugewiesen werden kann und das Gerät nicht für wechselnde Broker gedacht ist, kann auf dieses Feature aber auch verzichtet werden.
  513. \subsection{MQTT}
  514. %---
  515. - PubSubClient bib ansprechen, Modell MQTT kurz erklären mit broker und client und topics und messages -> so kommen daten ans nodered
  516. \subsection{NodeRed und Datenbank}
  517. %---
  518. - Daten kommen per MQTT Paket an, werden kurz auf Plausibilität geprüft und dann in DB gespeichert
  519. > Bild vom Flow und raspbi db
  520. \subsection{Einlesen der SML-Daten}
  521. %---
  522. Sobald ...
  523. - ESP wartet bis serielle Daten vorhanden sind
  524. - Teststand oder echt?
  525. - Daten kommen seriell am RX Pin an und werden in internen Buffer geschrieben
  526. THIS IS WHERE THE MAGIC HAPPENS
  527. Obis gschmarri etc erklären + CODE
  528. \section{Gehäuse}
  529. %+--
  530. Für den Empfängeraufbau aus BMS-Board, Platine, Photodiode, Ein- und Resetschalter wurde ein
  531. 3D-Druckgehäuse gezeichnet und gedruckt.\\
  532. \begin{figure}[h]\centering{
  533. \includegraphics[width=0.9\linewidth]{img/case_cad.PNG}
  534. \caption{CAD-Schnittbild des Gehäuses. Modellquelle BMS-Board: [x].}
  535. % https://cad.grabcad.com/library/wemos-18650-battery-shield-v3-1
  536. \label{fig:cad_case}
  537. }
  538. \end{figure}
  539. Das Gehäuse kann mit einem Deckel verschlossen werden, der durch vier Schrauben befestigt wird.
  540. Die Platine und das BMS-Board werden durch metrische Distanzbolzen im Gehäuse und aneinander befestigt.
  541. Sämtliche Gewinde im gedruckten Material werden durch metallische Gewindeeinsätze realisiert.\\
  542. Für die Photodiode befindet sich im Boden des Gehäuses eine Durchführung in die die Diode eingepresst wird.
  543. An die Außenseite der Durchführung ist ein Ringmagnet montiert, der den Empfängeraufbau an die magnetische
  544. Fläche des Stromzählers fixiert.
  545. % ToDo (Julian) hier wären 1-2 Bilder vom fertigen Gehäuse cool bzw. falls du die bei Anleitung
  546. % o.Ä. hast (z.B. wegen Resetschalter) einfach ein kurzer Verweis auf die. Ich hab leider nur
  547. % Bilder im halb fertigen Zustand.
  548. \FloatBarrier
  549. \section{Teststrecke}
  550. %---
  551. Wie bereits erwähnt wurde zum Testen der Funktion eine kleine Teststrecke aufgebaut, mit der es möglich
  552. ist die Übertragung ohne den Stromzähler zu simulieren.
  553. % Kathi ~ 2 Seiten
  554. \subsection{Aufbau}
  555. %---
  556. Zunächst wurde die Test
  557. \subsection{Funktion}
  558. %---
  559. \subsection{Erkenntnisse}
  560. %---
  561. \chapter{Anleitung}
  562. %---
  563. % Julian ~ 4-5 Seiten
  564. \section{Raspberry Pi}
  565. %---
  566. Config und alles pipapo um Raspi komplett einzurichten
  567. PLUS das was Klehn zusätzlich machen muss für unseren Teil
  568. \subsection{Betriebssystem}
  569. %---
  570. \subsection{Installation MQTT}
  571. %---
  572. \subsection{NodeRed}
  573. %---
  574. \subsection{Datebank}
  575. %---
  576. \section{ESP8266}
  577. %---
  578. Wifi Manager undso in der praktischen Anwendung nochmal erklären
  579. Bilder WifiMgr etc blabla
  580. Jumper Inverter
  581. \section{Testaufbau}
  582. %---
  583. Erklärung shield, putty, evtl. arduino Include
  584. +Fotos
  585. % ab hier alles Kathi:
  586. \chapter{Fazit}
  587. %---
  588. \part{Anhang}
  589. \section{Schaltplan}\label{sec:schematic}
  590. \begin{figure}[!h] \centering{
  591. \includegraphics[angle=90,scale=0.7]{schematic.pdf}}
  592. \end{figure}
  593. \chapter{Literaturverzeichnis}
  594. \bibliography{Literatur}
  595. \part{Danksagung}
  596. \end{document}