{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "793b4985",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from scipy.optimize import curve_fit"
]
},
{
"cell_type": "markdown",
"id": "144062d7",
"metadata": {},
"source": [
"This is a test circuit to try and calibrate the arudino analog input with a smoother emitter follower voltage buffer. The circuit has two 10K resistors and a 4.7 microFarad capacitors."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "74b9371f",
"metadata": {},
"outputs": [],
"source": [
"dp1 = pd.read_csv('datasets/calibrate_IN4001.csv', names=['p3', 'a0', 'a1'])\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "4ac192ec",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" p3 | \n",
" a0 | \n",
" a1 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 8 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 7 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" p3 a0 a1\n",
"0 0 0 0\n",
"1 1 0 0\n",
"2 2 7 8\n",
"3 3 7 7\n",
"4 4 0 0"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dp1.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "a79657c0",
"metadata": {},
"outputs": [],
"source": [
"dp1['Vin'] = dp1.p3 * 5 / 255\n",
"dp1['Va0'] = dp1.a0 * 5 / 1023\n",
"dp1['Va1'] = dp1.a1 * 5 / 1023"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "30b89a7c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Vin | \n",
" Va0 | \n",
" Va1 | \n",
"
\n",
" \n",
" \n",
" \n",
" 251 | \n",
" 4.921569 | \n",
" 4.232649 | \n",
" 0.537634 | \n",
"
\n",
" \n",
" 252 | \n",
" 4.941176 | \n",
" 4.247312 | \n",
" 0.537634 | \n",
"
\n",
" \n",
" 253 | \n",
" 4.960784 | \n",
" 4.271750 | \n",
" 0.537634 | \n",
"
\n",
" \n",
" 254 | \n",
" 4.980392 | \n",
" 4.286413 | \n",
" 0.537634 | \n",
"
\n",
" \n",
" 255 | \n",
" 5.000000 | \n",
" 4.305963 | \n",
" 0.537634 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Vin Va0 Va1\n",
"251 4.921569 4.232649 0.537634\n",
"252 4.941176 4.247312 0.537634\n",
"253 4.960784 4.271750 0.537634\n",
"254 4.980392 4.286413 0.537634\n",
"255 5.000000 4.305963 0.537634"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dp2 = dp1.loc[:,'Vin':'Va1']\n",
"dp2.tail()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "fc3e71e5",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"ax.plot(dp2.Vin, dp2.Va0, label='$V_R + V_D$')\n",
"ax.plot(dp2.Vin, dp2.Va1, label='$V_D$')\n",
"\n",
"ax.grid()\n",
"plt.legend()\n",
"plt.title(\"Voltage across diode\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "8337323a",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Vin | \n",
" Va0 | \n",
" Va1 | \n",
" Id | \n",
"
\n",
" \n",
" \n",
" \n",
" 251 | \n",
" 4.921569 | \n",
" 4.232649 | \n",
" 0.537634 | \n",
" 0.000370 | \n",
"
\n",
" \n",
" 252 | \n",
" 4.941176 | \n",
" 4.247312 | \n",
" 0.537634 | \n",
" 0.000371 | \n",
"
\n",
" \n",
" 253 | \n",
" 4.960784 | \n",
" 4.271750 | \n",
" 0.537634 | \n",
" 0.000373 | \n",
"
\n",
" \n",
" 254 | \n",
" 4.980392 | \n",
" 4.286413 | \n",
" 0.537634 | \n",
" 0.000375 | \n",
"
\n",
" \n",
" 255 | \n",
" 5.000000 | \n",
" 4.305963 | \n",
" 0.537634 | \n",
" 0.000377 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Vin Va0 Va1 Id\n",
"251 4.921569 4.232649 0.537634 0.000370\n",
"252 4.941176 4.247312 0.537634 0.000371\n",
"253 4.960784 4.271750 0.537634 0.000373\n",
"254 4.980392 4.286413 0.537634 0.000375\n",
"255 5.000000 4.305963 0.537634 0.000377"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dp2['Id'] = (dp2.Va0 - dp2.Va1)/10000\n",
"dp2.tail()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "4510faf7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 0.000000e+00\n",
"1 0.000000e+00\n",
"2 -4.887586e-07\n",
"3 0.000000e+00\n",
"4 0.000000e+00\n",
" ... \n",
"251 3.695015e-04\n",
"252 3.709677e-04\n",
"253 3.734115e-04\n",
"254 3.748778e-04\n",
"255 3.768328e-04\n",
"Name: Id, Length: 256, dtype: float64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dp2.Id"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "b484fb1b",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"