diff --git a/Latex/images/MX1508.png b/Latex/images/MX1508.png new file mode 100644 index 0000000..5bc370a Binary files /dev/null and b/Latex/images/MX1508.png differ diff --git a/Latex/images/hc-sr04_rahmen.png b/Latex/images/hc-sr04_rahmen.png new file mode 100644 index 0000000..d9f96a2 Binary files /dev/null and b/Latex/images/hc-sr04_rahmen.png differ diff --git a/Latex/images/hc-sr04_winkel.png b/Latex/images/hc-sr04_winkel.png new file mode 100644 index 0000000..ce7fa3f Binary files /dev/null and b/Latex/images/hc-sr04_winkel.png differ diff --git a/Latex/images/joystickhalterung.png b/Latex/images/joystickhalterung.png new file mode 100644 index 0000000..fb31dfa Binary files /dev/null and b/Latex/images/joystickhalterung.png differ diff --git a/Latex/images/kugelrad.png b/Latex/images/kugelrad.png new file mode 100644 index 0000000..d03ee07 Binary files /dev/null and b/Latex/images/kugelrad.png differ diff --git a/Latex/images/motorhalterung.png b/Latex/images/motorhalterung.png new file mode 100644 index 0000000..08e5d2b Binary files /dev/null and b/Latex/images/motorhalterung.png differ diff --git a/Latex/images/plattform.png b/Latex/images/plattform.png new file mode 100644 index 0000000..af7899e Binary files /dev/null and b/Latex/images/plattform.png differ diff --git a/Latex/images/rad.png b/Latex/images/rad.png new file mode 100644 index 0000000..21bd53a Binary files /dev/null and b/Latex/images/rad.png differ diff --git a/Latex/images/schalterhalterung.png b/Latex/images/schalterhalterung.png new file mode 100644 index 0000000..f692daf Binary files /dev/null and b/Latex/images/schalterhalterung.png differ diff --git a/Latex/main.pdf b/Latex/main.pdf index 188a697..0cfacf9 100644 Binary files a/Latex/main.pdf and b/Latex/main.pdf differ diff --git a/Latex/main.tex b/Latex/main.tex index 05a16fb..c0f8429 100644 --- a/Latex/main.tex +++ b/Latex/main.tex @@ -330,9 +330,94 @@ Die Umsetzung ist nichts anderes als die PWM-Werte für die beiden Motoren in je \subsection{OneWire} OneWire ist eine serielle Schnittstelle, die nur mit einer Datenleitung auskommt. Jedes angeschlossene Gerät hat eine eigene 64bit ROM Adresse, die man gezielt ansprechen kann. Alternativ, kann man Befehle an alle Geräte senden indem man den Skip ROM-Command (0xCC) benutzt. Anschließend kommt der eigentliche Befehl mit write(), der ausgeführt werden soll. Danach werden die Daten auf ein Scratchpad-Speicher geschrieben von wo sie per read() gelesen werden können. +\newpage +\section{Gedruckte Bauteile} %Yves + +Alle gedruckten Bauteile haben wir selbst entworfen. einsehbar sind diese im Repositorium als STL oder aber auch unter den öffentlichen Fusion 360 Links. +\newline +%Platine +\begin{figure}[h] + \centering + \subfigure[Rahmen \cite{HC-SR04_Halterung}]{\includegraphics[width=7.5cm]{hc-sr04_rahmen.png}} + \subfigure[Winkel \cite{HC-SR04_Halterung}]{\includegraphics[width=7.5cm]{hc-sr04_winkel.png}} +\caption{HC-SR04 Halterung} +\end{figure} + +\begin{figure}[h] + \includegraphics[width=7cm]{schalterhalterung.png} + \centering + \caption{Schalterhalterung \cite{Schalterhalterung}} +\end{figure} + +\begin{figure} + \centering + \begin{minipage}[t]{0.48\textwidth} + \includegraphics[width=\textwidth]{joystickhalterung.png} + \caption{Joystick Halterung \cite{Joystick_Halterung}} + \end{minipage}\hfill + \begin{minipage}[t]{0.48\textwidth} + \includegraphics[width=\textwidth]{kugelrad.png} + \caption{Kugelrad \cite{Kugelrad}} + \end{minipage} + \medskip + + \begin{minipage}[t]{0.48\textwidth} + \includegraphics[width=\textwidth]{rad.png} + \caption{Räder \cite{Raeder}} + \end{minipage}\hfill + \begin{minipage}[t]{0.48\textwidth} + \includegraphics[width=\textwidth]{plattform.png} + \caption{Roboter Plattform \cite{Plattform}} + \end{minipage} + +\end{figure} + \newpage \section{Motorsteuerung} %Yves +Die Steuerung der Motoren wurde über den IC MX1508 realisiert. Dieser ist sehr günstig als Modul für etwa 1€ erhältlich. +Mit seinen Spezifikationen von max. 10V Versorgungsspannung und maximal 1,5A war er perfekt für dieses Projekt geeignet. +Leider konnten wir kein Datenblatt zu diesem IC finden, die Angaben stammen lediglich aus den Beschreibungen der Händler die dieses Modul verkaufen. +Es scheint sich um einen Treiber mit H-Brücke bzw. doppelter H-Brücke zu handeln, er verfügt über jeweils zwei Kanäle mit je zwei Eingängen. Je nach Polung der Eingänge kann ein Motor vorwärts oder rückwärts drehen. +Um die Geschwindigkeit der Motoren regulieren zu können schrieben wir eine Bibliothek mit dem Namen L298N (Achtung, nicht mit der gleichnamigen Bibliothek im Librarymanager der Arduino IDE zu verwechseln!). +Der Name ist angelehnt an den gleichnamigen IC, welcher dem MX1508 in seiner Ansteuerung ähnelt. +Die Bibliothek nutzt Timer1 als 8-Bit Timer für die im Atmega328p integrierten PWM-Module OC1A und OC1B. +Ein PWM Pin ist mit jeweils einem der beiden Eingangspins eines Kanals des MX1508 verbunden. Der jeweils andere Pin muss kein PWM Pin sein, muss aber je nach Drehrichtung korrekt gepolt sein. Für diese nicht-PWM-Pins haben wir die Portpins B0 (Kanal A) und D7 (Kanal B) verwendet. +\newline +Im folgenden Code ist exemplarisch zu sehen, wie das setzen eines PWM Wertes für Kanal A abläuft. Valide PWM-Werte sind -255 bis +255. + + +\begin{file}[MX1508] + \begin{lstlisting}[language=C++] + L298N::setPWM_A(int16_t pwmA) { + if(pwmA < 0) { + PWMA = 0xFF + pwmA; + PORT_A |= PIN_A; + } else { + if(pwmA == 0) { + PWMA = 0; + PORT_A &= ~PIN_A; + } else { + PWMA = pwmA; + PORT_A &= ~PIN_A; + } + } + } + \end{lstlisting} +\end{file} + +Zunächst wird geprüft, ob der PWM-Wert "`pwmA"' negativ ist. Davon hängt die Polung von "`PIN\_A"' ab und ob der PWM-Wert negiert werden muss. +\newline +Anschließend werden PWM-Wert und der Zustand des nicht-PWM-Pins entsprechend gesetzt. + +\newpage +\begin{figure}[h] + \includegraphics[width=12cm]{MX1508.png} + \centering + \caption{MX1508 Anschluss \cite{MX1508}} +\end{figure} + + %Folgende beiden ließen sich auch durch subsections mittels sensoric als section realisieren, kommt aber auf die menge des textes an subsections sollten nicht über eine halbe seite lang sein. \newpage \section{Thermosensor} %Nick diff --git a/Latex/references.bib b/Latex/references.bib index 4d18d3c..13937f8 100644 --- a/Latex/references.bib +++ b/Latex/references.bib @@ -45,5 +45,41 @@ note = {[Online; zugegriffen am 09.02.2020]}, url = {https://components101.com/sites/default/files/component_pin/nRF24L01-Pinout.png} } +@Unpublished{HC-SR04_Halterung, + author = {Yves Ehrlich}, + note = {https://a360.co/2u9rUmk}, + title = {HC-SR04 Halterung}, +} +@Unpublished{Joystick_Halterung, + author = {Yves Ehrlich}, + note = {https://a360.co/36IMYx7}, + title = {Joystick Halterung}, +} +@Unpublished{Kugelrad, + author = {Yves Ehrlich}, + note = {https://a360.co/390BhTY}, + title = {Kugelrad}, +} +@Unpublished{Raeder, + author = {Yves Ehrlich}, + note = {https://a360.co/2uQTSDm}, + title = {Räder}, +} +@Unpublished{Plattform, + author = {Yves Ehrlich}, + note = {https://a360.co/2Ok7v4P}, + title = {Roboter Plattform}, +} +@Unpublished{Schalterhalterung, + author = {Yves Ehrlich}, + note = {https://a360.co/38YTKAo}, + title = {Schalterhalterung}, +} +@MISC{MX1508, + author = {{ifuturetech}}, + title = {MX1508 Motortreiber}, + note = {[Online; zugegriffen am 12.02.2020]}, + url = {http://www.ifuturetech.org/ifuture/uploads/2017/10/2-way-mx1508-dc-motor-driver-module-pwm-speed-control.jpeg} +} @Comment{jabref-meta: databaseType:bibtex;} diff --git a/Vortrag_Yves.txt b/Vortrag_Yves.txt new file mode 100644 index 0000000..f13c461 --- /dev/null +++ b/Vortrag_Yves.txt @@ -0,0 +1,24 @@ +Mechanik: +-Entwurf mit Autodesk Fusion 360 +-entworfene Teile gedruckt +-ursprünglicher Entwurf (Teile zum vorzeigen) +-2x Mabuchi N20 mit Getriebe (300UPM) + + +Elektronik: +-Entwurf der Schaltung mit Abacom Sprint Layout 6 +-Platine mit Tonertransfermethode beschichtet +-grobe Strukturen, einfacheres Ätzen +-Trägerplatine für Module: + -MX1508, Motortreiber, 10V, 1,5A, Vollbrücke + -MPU-6050, Gyroskopsensor + -Arduino Nano (Atmega328p) + -DS18B20, Temperatursensor + -NRF24, 2,4GHz Funkmodul +-7,4V Lithium-Polymer Akku + +Code: +-L298N Library +-Kommandointerpretation +-manuelle Digitalsteuerung + diff --git a/gedruckte Bauteile/akkuhalterung.stl b/gedruckte Bauteile/akkuhalterung.stl new file mode 100755 index 0000000..24dfcf7 Binary files /dev/null and b/gedruckte Bauteile/akkuhalterung.stl differ diff --git a/gedruckte Bauteile/hc-sr04_halterung_rahmen.stl b/gedruckte Bauteile/hc-sr04_halterung_rahmen.stl new file mode 100755 index 0000000..7044092 Binary files /dev/null and b/gedruckte Bauteile/hc-sr04_halterung_rahmen.stl differ diff --git a/gedruckte Bauteile/hc-sr04_halterung_winkel.stl b/gedruckte Bauteile/hc-sr04_halterung_winkel.stl new file mode 100755 index 0000000..5279918 Binary files /dev/null and b/gedruckte Bauteile/hc-sr04_halterung_winkel.stl differ diff --git a/gedruckte Bauteile/joystick_halterung.stl b/gedruckte Bauteile/joystick_halterung.stl new file mode 100755 index 0000000..039d838 Binary files /dev/null and b/gedruckte Bauteile/joystick_halterung.stl differ diff --git a/gedruckte Bauteile/kugelrad_v2.stl b/gedruckte Bauteile/kugelrad_v2.stl new file mode 100755 index 0000000..b495a00 Binary files /dev/null and b/gedruckte Bauteile/kugelrad_v2.stl differ diff --git a/gedruckte Bauteile/mechanische CAD Zeichnungen.txt b/gedruckte Bauteile/mechanische CAD Zeichnungen.txt new file mode 100755 index 0000000..29bf06e --- /dev/null +++ b/gedruckte Bauteile/mechanische CAD Zeichnungen.txt @@ -0,0 +1,23 @@ +HC-SR04 Halterung + +https://a360.co/2u9rUmk + +Joystick Halterung + +https://a360.co/36IMYx7 + +Kugelrad + +https://a360.co/390BhTY + +Räder + +https://a360.co/2uQTSDm + +Roboter Plattform + +https://a360.co/2Ok7v4P + +Schalterhalterung + +https://a360.co/38YTKAo \ No newline at end of file diff --git a/gedruckte Bauteile/motorhalterung.stl b/gedruckte Bauteile/motorhalterung.stl new file mode 100755 index 0000000..ccdfa8d Binary files /dev/null and b/gedruckte Bauteile/motorhalterung.stl differ diff --git a/gedruckte Bauteile/rad_3_2mm.stl b/gedruckte Bauteile/rad_3_2mm.stl new file mode 100755 index 0000000..ec90159 Binary files /dev/null and b/gedruckte Bauteile/rad_3_2mm.stl differ diff --git a/gedruckte Bauteile/schalterhalterung.stl b/gedruckte Bauteile/schalterhalterung.stl new file mode 100755 index 0000000..f567a73 Binary files /dev/null and b/gedruckte Bauteile/schalterhalterung.stl differ diff --git a/gedruckte Bauteile/teller.stl b/gedruckte Bauteile/teller.stl new file mode 100755 index 0000000..2f4a909 Binary files /dev/null and b/gedruckte Bauteile/teller.stl differ