From e2732ec286e26f21bd8f10d1da03f297bb9307ec Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 13 Dec 2025 15:08:20 -0500 Subject: report: pcb design --- doc/report/pcb_assembled-v0.2.jpg | Bin 0 -> 974868 bytes doc/report/report.tex | 53 ++++++++++++++++++++++++++++++++++++-- doc/report/test_setup-v0.2.jpg | Bin 0 -> 1039012 bytes 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 doc/report/pcb_assembled-v0.2.jpg create mode 100644 doc/report/test_setup-v0.2.jpg (limited to 'doc/report') diff --git a/doc/report/pcb_assembled-v0.2.jpg b/doc/report/pcb_assembled-v0.2.jpg new file mode 100644 index 0000000..880ecd1 Binary files /dev/null and b/doc/report/pcb_assembled-v0.2.jpg differ diff --git a/doc/report/report.tex b/doc/report/report.tex index 7455c97..2702f5b 100644 --- a/doc/report/report.tex +++ b/doc/report/report.tex @@ -5,6 +5,7 @@ \usepackage{subfigure} \usepackage{pgfgantt} \usepackage{amsmath,amssymb} +\usepackage{placeins} \addbibresource{../references.bib} @@ -204,7 +205,7 @@ To increase reliability, AEC-certified parts were chosen wherever possible \cite \paragraph*{Microcontroller} The microcontroller is at the heart of the design. A Microchip PIC16F1459 was chosen for its simplicity, robustness, feature-set, and low cost% -\footnote{ +\footnote{ \label{foot:Usb} The PIC16F1459 also features a USB (universal serial bus) interface. The original design, as seen in the proposal \cite{proposal}, used USB to program the user-calibration. However, later in the project, USB had to be dropped due to memory constraints; now the calibration is programmed via CAN. @@ -281,7 +282,54 @@ This mistake is discussed further in \S\ref{section:Testing}. \subsection*{PCB design and manufacture} \label{subsection:PcbDesign} -TODO +The schematic (Fig. \ref{fig:Schematic}) and PCB (Figs. \ref{fig:PcbPours}, \ref{fig:Pcb3d}, and \ref{fig:PcbAssembled}) were designed in KiCad \cite{kicad}. +JCLPCB manufactured the board \cite{jlcpcb}. + +\begin{figure*} + \centering + \includegraphics[width=\textwidth]{"schematic-v0.2.pdf"} + \caption{Schematic.} + \label{fig:Schematic} +\end{figure*} + +\begin{figure} + \centering + \includegraphics[width=2.5in]{"pcb_pours-v0.2.pdf"} + \caption{PCB front and back copper pours.} + \label{fig:PcbPours} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=2.5in]{"pcb_3d-v0.2.png"} + \caption{3D render of the PCB. Note the vestigial USB-B connector in the top left, to be removed in a future revision (see footnote \ref{foot:Usb}).} + \label{fig:Pcb3d} +\end{figure} + +\begin{figure} + \centering + \includegraphics[width=2.5in]{"pcb_assembled-v0.2.jpg"} + \caption{Fully-assembled PCB sitting on 3D-printed stand.} + \label{fig:PcbAssembled} +\end{figure} + +The board was layed out with PCB design best-practices in mind. +It is a 4-layer design that uses a combination of surface-mount (SMD) and through-hole (THT) components% +\footnote{ + Not that mixing SMD and THT components is good practice---it is not. + The board was only designed this way to allow the DIP parts that were in-use on the breadboard to be reused on the prototype PCB.}. +The top and bottom layers are for signals, and the two middle layers are solid ground planes; power is routed on the bottom layer. +All traces are microstripped above a solid ground plane to keep the fields tight and to give the current a low-impedance return path. +All signal vias are accompanied by a ground via, again to keep the fields from spreading out in the dielectric. +Traces are widely-spaced to reduce interference. +The noisy switching regulator is placed far away from the other components to reduce EMI---the sensitive analog signals and the DACs are on the opposite side of the board. + +One may notice that the board sports a USB-B connector: a vestige of the original design which used USB for user-calibration as opposed to CAN (see footnote \ref{foot:Usb}). +The connector is no longer required and will be removed in a future revision. + +As mentioned above, most of the chosen ICs are available in DIP (through-hole) packages, and were used for prototyping on a breadboard (Fig. \ref{fig:Breadboard}). +They were then transplanted into the PCB once it had been manufactured. +This allowed firmware development to be carried out in parallel on the breadboard while waiting for the PCB to arrive (see the timeline in Fig \ref{fig:Timeline}). \section{Firmware} \label{section:Firmware} @@ -304,6 +352,7 @@ TODO TODO +\FloatBarrier \newpage \printbibliography \vfill diff --git a/doc/report/test_setup-v0.2.jpg b/doc/report/test_setup-v0.2.jpg new file mode 100644 index 0000000..53c701c Binary files /dev/null and b/doc/report/test_setup-v0.2.jpg differ -- cgit v1.2.3