Skip to content

Commit

Permalink
first chapter done in sr1
Browse files Browse the repository at this point in the history
  • Loading branch information
leandroebner committed Jun 16, 2024
1 parent 4e66f84 commit 370e39e
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 23 deletions.
44 changes: 24 additions & 20 deletions contents/safety-report.tex
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,36 @@ \section{Introduction}
\section{Hazardous Material List}


\newpage

\newpage
\section{Power Architecture}

The rover's power architecture is divided into two separate power systems. This approach ensures galvanic isolation between the power and logic components, which is necessary to eliminate any possible wiring configuration in which a so-called "ground loop" could form. The underlying problem is based on the fact that there exists an interface and thus an electrical connection between the individual components. While the communication between power and logic components is implemented by establishing a physical connection between their corresponding GPIO pins and reading different voltage levels, there must be a precise reference voltage available. Generally speaking, this is done by using a common ground. Hence, the most basic form to utilize that common ground connection is to form a "star ground." If there are multiple paths to ground, a "ground loop" is present. These ground loops, in combination with wire inductance, can cause issues for high-current electronics like our motor controllers (in this particular case we are utilizing ODrives). This is further illustrated in Figure \ref{ground_loop_bad}.

\begin{figure}[h]
\includegraphics[width=\textwidth]{contents/figures/ground_loop_bad.png}
\caption{Ground loop causes current flow $I_{Injected}$}
\label{ground_loop_bad}
\end{figure}

The issue is the inductance of the power wires between the motor controllers and the battery. This inductance, coupled with the high current drawn by the motor controllers, causes $V_1$ to be different as $V_2$, leading to potential mismatch in the voltage levels. As the motor controllers demand substantial current, the wire inductance can generate significant voltage drops along the power lines. If the voltage caused by the wire inductance and current is high enough, the 0-5V GPIO signals can swing much higher or lower than the defined voltage range, potentially exceeding safe operational limits. These fluctuations in voltage can introduce erratic behavior in the control system, compromising the performance and reliability of the motor controllers. This causes a current to flow through the ODrives GPIO pins, which can lead to unintended electrical noise and potential damage to sensitive electronic components.

\subsection{Reducing length of high-current wires}
The rover's power architecture is divided into two separate power systems. This approach ensures galvanic isolation between the power and logic components, which is necessary to eliminate any possible wiring configuration in which a so-called "ground loop" could form. The underlying problem is based on the fact that there exists an interface and thus an electrical connection between the individual components. While the communication between power and logic components is implemented by establishing a physical connection between their corresponding GPIO pins and reading different voltage levels, there must be a precise reference voltage available. Generally speaking, this is done by using a common ground. Hence, the most basic form to utilize that common ground connection is to form a "star ground." If there are multiple paths to ground, a "ground loop" is present. These ground loops, in combination with wire inductance, can cause issues for high-current electronics like our motor controllers (in this particular case utilizing ODrives). This is further illustrated in figure \ref{ground_loop_bad}.

\begin{figure}[h]
\includegraphics[width=\textwidth]{contents/figures/ground_loop_bad.png}
\caption{Ground loop causes current flow $I_{Injected}$}
\label{ground_loop_bad}
\end{figure}

The issue is the inductance of the power wires between the motor controllers and the battery. This inductance, coupled with the high current drawn by the motor controllers, causes $V_1$ to be different as $V_2$, leading to potential mismatch in the voltage levels. As the motor controllers demand substantial current, the wire inductance can generate significant voltage drops along the power lines. If the voltage caused by the wire inductance and current is high enough, the 0-5V GPIO signals can swing much higher or lower than the defined voltage range, potentially exceeding safe operational limits. These fluctuations in voltage can introduce erratic behavior in the control system, compromising the performance and reliability of the motor controllers. This causes a current to flow through the ODrives GPIO pins, which can lead to unintended electrical noise and potential damage to sensitive electronic components.

\subsection{Reducing length of high-current wires}

To mitigate these effects, it is substantial to keep the main powers as short as possible. All wires have some amount of inductance, which is an inherent property of any conductor through which current flows. The inductance is proportional to the length of the wires and the area of the loop formed by the power wires, meaning longer wires and larger loops will have higher inductance. This inductance can create unwanted resistance to changes in current flow, leading to voltage drops and potential interference with the system's performance. It is beneficial to keep those wires as short as possible and as close together as possible. By doing so, the loop area is minimized, and the inductance is reduced, thereby mitigating the adverse effects. However, this reduces the effect of the problem but does not eliminate it entirely, as even minimal inductance can cause issues in high-frequency and high-current applications.

\subsection{Galvanic isolation}

To completely minimize the possibility of creating ground loops by accident, the loop must be broken. This can be achieved by isolating the power supplies (no common ground) and connecting a dedicated signal ground between the logic and power electronics. An example of this is a single motor controller connected to a battery and a device like a Raspberry Pi connected to a different battery. It is possible to achieve the same functionality with a DC/DC isolator as shown in figure \ref{ground_loop_fix}.

\begin{figure}[h]
\includegraphics[width=\textwidth]{contents/figures/ground_loop_fix.png}
\caption{}
\label{ground_loop_fix}
\end{figure}

To mitigate these effects, it is substantial to keep the main powers as short as possible. All wires have some amount of inductance, which is an inherent property of any conductor through which current flows. The inductance is proportional to the length of the wires and the area of the loop formed by the power wires, meaning longer wires and larger loops will have higher inductance. This inductance can create unwanted resistance to changes in current flow, leading to voltage drops and potential interference with the system's performance. It is beneficial to keep those wires as short as possible and as close together as possible. By doing so, the loop area is minimized, and the inductance is reduced, thereby mitigating the adverse effects. However, this reduces the effect of the problem but does not eliminate it entirely, as even minimal inductance can cause issues in high-frequency and high-current applications.
\clearpage

\subsection{Galvanic isolation}

To completely minimize the possibility of creating ground loops by accident, the loop must be broken. This can be achieved by isolating the power supplies (no common ground) and connecting a dedicated signal ground between the logic and power electronics. An example of this is a single ODrive connected to a battery and a device like a Raspberry PI connected to a mains power supply or different battery. If more than one ODrive is in use and they share a power supply, you have a ground loop again.

\begin{figure}[h]
\includegraphics[width=\textwidth]{contents/figures/ground_loop_fix.png}
\end{figure}

\section{Energy Storage}

Expand Down
6 changes: 3 additions & 3 deletions rwuthesis.cls
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@
\DeclareTranslation{English}{rwuthesis-master-thesis}{Master Thesis}
\DeclareTranslation{German}{rwuthesis-master-thesis}{Master-Thesis}

\DeclareTranslationFallback{rwuthesis-degree-course}{Degree Course}
\DeclareTranslation{English}{rwuthesis-degree-course}{Degree Course}
\DeclareTranslation{German}{rwuthesis-degree-course}{Studiengang}
\DeclareTranslationFallback{rwuthesis-degree-course}{}
\DeclareTranslation{English}{rwuthesis-degree-course}{}
\DeclareTranslation{German}{rwuthesis-degree-course}{}

\DeclareTranslationFallback{rwuthesis-faculty}{Faculty of}
\DeclareTranslation{English}{rwuthesis-faculty}{Faculty of}
Expand Down

0 comments on commit 370e39e

Please sign in to comment.