sdc overcurrent and latching

This commit is contained in:
Johnny Hsu 2025-04-28 18:09:24 +02:00
parent b6306fe6f7
commit f3cabb7e6f
5 changed files with 71 additions and 7 deletions

Binary file not shown.

Binary file not shown.

View File

@ -34,6 +34,10 @@
\includepdf[pages=-]{./Documents/SDC.pdf}
\includepdf[pages=-]{./Documents/Master_FT25-IO.pdf}
\includepdf[pages=-]{./Documents/Master_FT25-SDC_Latching.pdf}
\includepdf[pages=-]{./Documents/PDU_SDC.pdf}
\section*{AMS \& IMD latching}
The latching is achieved with the MC14013BDG flip-flop. It can only be resetted by the AMS reset button in the error state. (the Reset\_Button\_In and Reset\_Button\_Out comes directly from the button located on the side of the car.)
\section*{Current Consumption}
To calculate the current consumption, the load on the shutdown circuit must first be identified. As seen in the SDC schematic, the load consists of the AIRs, precharge relay, EBS Relay and the Discharge Circuit.
@ -41,25 +45,28 @@ The current consumption of the components are as follows:
\begin{multicols}{2}
\begin{itemize}
\item AIRs: \SI{249}{\milli\ampere}
\item Precharge relay: \SI{8}{\milli\ampere}
\item EBS relay: \SI{9.6}{\milli\ampere}
\item Discharge circuit: \SI{4}{\milli\ampere}
\item AIRs: \SI{249}{\milli\ampere} \cite{air_datasheet}
\item Precharge relay: \SI{8}{\milli\ampere} \cite{precharge_datasheet}
\item EBS relay: \SI{9.6}{\milli\ampere} \cite{ebs_datasheet}
\item Discharge circuit: \SI{4}{\milli\ampere} \cite{discharge_datasheet}
\end{itemize}
\end{multicols}
We can then find the total consumption when we add all the the load together. $\SI{249}{\milli\ampere} \cdot 2 + \SI{8}{\milli\ampere} + \SI{9.6}{\milli\ampere} + \SI{4}{\milli\ampere} \approx \SI{520}{\milli\ampere}$.
\section*{Overcurrent Protection}
The overcurrent protection is achieved with a physical fuse and a power switch (Infineon PROFET$^{\text{TM}}$ \cite{profet_datasheet}) on our PDU (Power Distribution Unit) PCB. The 3557-15 in the schematic is the fuse-holder for the 1A fuse, and the BTT6050-1ERA is the PROFET$^{\text{TM}}$.
\bibliographystyle{plain}
\renewcommand\refname{Reference}
\begin{thebibliography}{00}
\bibitem{ptc_datasheet} \textit{Vishay PTCEL13R251NxE}. \href{https://www.vishay.com/docs/29165/ptcel_series.pdf}{https://www.vishay.com/docs/29165/ptcel\_series.pdf}, 09.2024
\bibitem{mosfet_datasheet} \textit{ST STB10LN80K5}. \href{https://www.st.com/resource/en/datasheet/stb10ln80k5.pdf}{https://www.st.com/resource/en/datasheet/stb10ln80k5.pdf}, 02.2016
\bibitem{air_datasheet} \textit{TE ECK100BH5AAA}. \href{https://www.te.com/commerce/DocumentDelivery/DDEController?Action=showdoc&DocId=Data+Sheet%7FECK100B_Datasheet%7F3%7Fpdf%7FEnglish%7FENG_DS_ECK100B_Datasheet_3.pdf%7F2071583-1}{https://www.te.com}, 11.2024
\bibitem{precharge_datasheet} \textit{Pickering 104-1-A-24/5D}. \href{https://www.pickeringrelay.com/pdfs/104-high-voltage-sil-reed-relays.pdf}{https://www.pickeringrelay.com/pdfs/104-high-voltage-sil-reed-relays.pdf}, 07.2024
\bibitem{ebs_datasheet} \textit{Omron G6L1PDC24}. \href{https://media.digikey.com/pdf/Data%20Sheets/Omron%20PDFs/G6L.pdf}{https://media.digikey.com/pdf/Data\%20Sheets/Omron\%20PDFs/G6L.pdf}
\bibitem{discharge_datasheet} \textit{WE 140356145200}. \href{https://www.we-online.com/components/products/datasheet/140356145200.pdf}{https://www.we-online.com/components/products/datasheet/140356145200.pdf}, 08.2023
\bibitem{profet_datasheet} \textit{Infineon PROFET$^{\text{TM}}$}. \href{https://www.infineon.com/dgdl/Infineon-BTT6050-1ERA-DS-v01_00-EN.pdf?fileId=5546d46269e1c019016a21fa5b7a0d8a}{https://www.infineon.com/dgdl/Infineon-BTT6050-1ERA-DS-v01\_00-EN.pdf?fileId=5546d46269e1c019016a21fa5b7a0d8a}, 03.2019
\end{thebibliography}

View File

@ -0,0 +1,57 @@
import pandas as pd
import numpy as np
data = pd.read_csv('PTC_LUT.csv', comment='#')
temp = data['Temperature']
resist = data['Resistance']
volt = 403.2
dissiFac = 0.0195
ambTemp = 45
powerLoss = -1
powerCreate = 0
i = 0
# Find the zone where the lines intersect
while powerCreate>powerLoss:
powerLoss = (temp[i] - ambTemp)*dissiFac
powerCreate = np.square(volt) / resist[i]
i = i + 1
# put zone into points to solve for intersection
p1 = [i-1, (temp[i-1] - ambTemp)*dissiFac]
p2 = [i, (temp[i] - ambTemp)*dissiFac]
p3 = [i-1, np.square(volt) / resist[i-1]]
p4 = [i, np.square(volt) / resist[i]]
# Line 1 dy, dx and determinant
a11 = (p1[1] - p2[1])
a12 = (p2[0] - p1[0])
b1 = (p1[0]*p2[1] - p2[0]*p1[1])
# Line 2 dy, dx and determinant
a21 = (p3[1] - p4[1])
a22 = (p4[0] - p3[0])
b2 = (p3[0]*p4[1] - p4[0]*p3[1])
# Construction of the linear system
# coefficient matrix
A = np.array([[a11, a12],
[a21, a22]])
# right hand side vector
b = -np.array([b1,
b2])
# solve
try:
intersection_point = np.linalg.solve(A,b)
print('Intersection point detected at:', intersection_point)
print('Result:')
print('Temperature: ', intersection_point[1]/dissiFac+ambTemp)
print('Resistance: ', np.square(volt)/intersection_point[1])
except np.linalg.LinAlgError:
print('No single intersection point detected')

Binary file not shown.