-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrozdzial03.tex
88 lines (70 loc) · 6.49 KB
/
rozdzial03.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
\chapter{Implementacja projektu}
W poniższym rozdziale zawarto informacje dotyczące warstwy elektronicznej projektu. Opisane zostały m.in układ zasilania, podłączenie do pojazdu oraz komunikacja z zewnętrznymi modułami.
\section{Moduł Arduino}
W projekcie wykorzystany został moduł Arduino w wersji Leonardo oparty na mikrokontrolerze AVR Atmega32U4. Posiada on 20 cyfrowych pinów wejścia/wyjścia z czego 12 z nich można ustawić jako analogowe. Co ważne dla projektu posiada on aż 5 pinów, które obsługują przerwania (więcej informacji w rozdziale 4.).
\subsubsection{Napięcia}
Moduł ten operuje na napięciu 5V, tak więc na każdym z portów wejścia/wyjścia nie może pojawić się większe napięcie, ponieważ grozi to uszkodzeniem układu. W przypadku samochodu, gdzie głównym napięciem jest napięcie z akumulatora \textasciitilde12V, trzeba zastosować elementy elektroniczne obniżające napięcie.
\subsubsection{Zasilanie}
Rekomendowane wartości napięcia, aby zasilić sam moduł według specyfikacji producenta musi zawierać się w przedziale 7-12V. Aby spełnić te warunki układ zasilania został skonstruowany na bazie stabilizatora 9V 7809 oraz kondensatorów (rys.~\ref{fig:LM78XX}) Moduł nie został podłączony bezpośrednio do obwodu w samochodzie, ponieważ podczas pracy alternatora napięcie w układzie jest większe niż maksymalne wymagane przez Arduino (dochodzi do \textasciitilde14V).
\begin{figure}[!htb]
\centering
\includegraphics[width=0.7\linewidth]{Rysunki/78xx.jpg}
\caption{Schemat podłączenia układu zasilania \cite{LM78XX}}
\label{fig:LM78XX}
\end{figure}
\subsubsection{Montaż}
\par Mikrokontroler został zamontowany w schowku przed fotelem pasażera (rys.~\ref{fig:arduino_schowek}).
\begin{figure}[!htb]
\centering
\includegraphics[width=0.8\linewidth]{Rysunki/arduino_schowek.jpg}
\caption{Mikrokontroler w schowku}
\label{fig:arduino_schowek}
\end{figure}
\section{Podłączenie do pojazdu}
\subsubsection{Komputer pokładowy}
Dostęp do wymaganych parametrów potrzebnych do poprawnego działania projektu może zostać uzyskany dzięki znajomości schematu podłączeń komputera pokładowego (ECU) umieszczonego w samochodzie. Ze schematu portów wejścia/wyjścia\cite{HondaPinout} można wywnioskować, iż wszystkie potrzebne sygnały są wpięte do ECU. Sygnały te zostały opisane w tabeli~\ref{tab:ecu_pinout}
\begin{table}[htb] \small
\centering
\caption{Potrzebne wyprowadzenia według schematu ECU\cite{HondaPinout}}
\label{tab:ecu_pinout}
\begin{tabularx}{\linewidth}{|c|p{7cm}|c|c|X|} \hline\
\textbf{Oznaczenie} & \textbf{Opis} & \textbf{Wtyczka} &\textbf{ Pin} & \textbf{Kolor} \\
\hline
INJ1 & Przewód do wtrysku pierwszego & A & 1 & brązowy\\
\hline
VSS & Przewód czujnika prędkości & B & 10 & żółty\\
\hline
TPS & Przewód czujnika położenia pedału gazu & D & 11 & jasny zielony\\
\hline
\end{tabularx}
\end{table}
Do podpięcia się do wyżej wymienionych przewodów zostały użyte bezinwazyjne szybkozłączki.
\subsubsection{Czujnik prędkości} \label{vss}
Po wykonaniu pomiarów multimetrem okazało się, że impulsy w VSS mają dokładnie 5V, co oznacza, że nie potrzeba zastosowywać żadnych elementów elektronicznych, aby podłączyć się do modułu. Połączenie zostało więc stworzone bezpośrednio do pinu 7 obsługującego przerwanie 4.
\subsubsection{Sygnał wtrysku} \label{inj}
Wyniki pomiarów wykazały, iż wtryski pracują na napięciu 12V. W przypadku, gdy wtrysk nie wstrzykuje paliwa sygnał ma napięcie 12V, gdy pracuje jest to wartość poniżej 3V. W tej sytuacji trzeba zastosować element zmniejszający napięcie. W tym celu został wybrany stabilizator 7805. Dodatkowe kondensatory nie zostały użyte jak w przypadku układu zasilania Arduino, ponieważ mogłyby one wpływać na dokładność pomiarów. Przewód ze zmniejszonym już napięciem został podpięty do pinu 2 obsługującego przerwanie 1.
\subsubsection{Czujnik położenia pedału gazu}
Wyniki pomiarów wykazały, że czujnik ten działa niczym potencjometr i zmienia napięcie od \textasciitilde0.5V dla pedału nie wciśniętego wcale, do \textasciitilde4.5V gdy pedał jest wciśnięty w 100\%. Wyprowadzenie te zostało podłączone do analogowego pinu A0.
\subsubsection{Podłączenie woltomierza} \label{voltometer}
Ważną kwestią w przypadku woltomierza jest fakt, iż napięcie w układzie samochodu jest znacznie wyższe niż napięcie, na którym pracuje moduł. Nie zmniejszenie napięcia mogłoby skutkować uszkodzeniem modułu. Rozwiązaniem na ten problem jest zastosowanie układu z dwoma rezystorami (rys.~\ref{fig:voltometer}). Ten prosty obwód pozwolił na odpowiednie skalowanie wartości napięcia, aby nie przekraczało ono 5V.
W ten sposób można modułem 5V mierzyć napięcie w zakresie 0-20V. Więcej informacji w podrozdziale \ref{voltometer_code}.
\begin{figure}[!htb]
\centering
\includegraphics[width=0.7\linewidth]{Rysunki/voltometer_schemat.png}
\caption{Schemat podłączenia układu woltomierza}
\label{fig:voltometer}
\end{figure}
\section{Podłączenie akcesoriów}
\subsubsection{Mikro przełącznik}
Mikroprzełącznik, który tworzy integralną część modułu - dzięki niemu użytkownik może sterować trybami pracy modułu, został podłączony do pinu 13.
\subsubsection{Czujnik temperatury}
Dodatkową funkcją modułu będzie wyświetlanie aktualnej zewnętrznej temperatury. W tym celu został użyty cyfrowy czujnik temperatury DS18B20\cite{DS18B20_datasheet} w wersji wodoodpornej, 3 metrowej sondy. Czujnik ten umożliwia komunikację po interfejsie 1-Wire, dzięki któremu wystarczy tylko jedna linia, aby komunikować się z czujnikiem (więcej informacji w podrozdziale \ref{one_wire_temp}). W celu skorzystania z interfejsu 1-Wire potrzebny jest rezystor 4,7 k\textOmega, aby podciągnąć go do zasilania.
\subsubsection{Wyświetlacz LCD}
Wyświetlacz jaki został wybrany do projektu to znany model LCD z 2x16 znakami o symbolu JHD162A-B-W zgodny ze sterownikiem HD44780 \cite{HD44780_datasheet}. Został on połączony z Arduino poprzez cyfrowe piny: 12, 11, 6, 5, 4, 3. Dodatkowo został dołączony potencjometr do regulacji kontrastu wyświetlacza oraz zostało użyte dodatkowe połączenie służące do sterowania podświetleniem wyświetlacza - pin 9.
\par Wyświetlacz wraz z mikro przełącznikiem został osadzony przy kierownicy (rys.~\ref{fig:arduino_lcd}).
\begin{figure}[!h]
\centering
\includegraphics[width=0.8\linewidth]{Rysunki/arduino_lcd.jpg}
\caption{Miejsce osadzenia wyświetlacza}
\label{fig:arduino_lcd}
\end{figure}