Silaev/auto/3.5.1/351 I-V curve probe.ipynb

124 lines
35 KiB
Plaintext
Raw Normal View History

2022-10-03 09:04:20 +03:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"id": "6939d4fc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"82.65368591439173 44.342458599117634 21.767499999999995\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"#5 mA\n",
"#V\n",
"voltage_5 = [25, 22, 19, 16, 13, 10, 8, 6.04, 3.95, 2.07, 0.48, -0.38, -2, -4, -6.04, -8, -10, -13, -16.07, -19, -22, -25]\n",
"#muA\n",
"current_5 = [120.02, 116.93, 113.78, 110.29, 105.35, 97.18, 89.20, 78.43, 63.32, 46.90, 25.17, 3.59, -18.41, -37.95, -55.38, -68.57, -78.62, -88.28, -94.05, -97.70, -101.01, -104.42]\n",
"\n",
"#3 mA\n",
"#V\n",
"voltage_3 = [25, 22, 19, 16, 13, 10, 8, 6.03, 4.05, 2, 0.29, -0.73, -2, -4, -6, -8, -10, -13, -16.07, -19, -22, -25]\n",
"#muA\n",
"current_3 = [69.05, 66.95, 64.84, 62.73, 60.27, 56.44, 52.25, 46.12, 37.51, 25.78, 14.42, 4.48, -4.80, -17.45, -27.78, -35.60, -40.79, -45.21, -47.58, -49.35, -51.09, -52.93]\n",
"\n",
"#1.5 mA\n",
"#V\n",
"voltage_15 = [25, 22, 19, 16, 13, 10, 8, 6, 4, 2, 0.36, -0.30, -2, -4, -6, -8, -10, -13, -16, -19, -22, -25]\n",
"#muA\n",
"current_15 = [36.20, 34.93, 33.65, 32.39, 31.05, 29.13, 27.02, 23.91, 19.54, 13.68, 7.97, 5.06, -1.01, -7.63, -12.91, -16.76, -19.39, -21.44, -22.38, -23.16, -23.95, -24.77]\n",
"\n",
"k_5_r, b_5_r = np.polyfit(voltage_5[:4], current_5[:4], deg = 1)\n",
"k_5_l, b_5_l = np.polyfit(voltage_5[17:], current_5[17:], deg = 1)\n",
"k_3_r, b_3_r = np.polyfit(voltage_3[:4], current_3[:4], deg = 1)\n",
"k_3_l, b_3_l = np.polyfit(voltage_3[17:], current_3[17:], deg = 1)\n",
"k_15_r, b_15_r = np.polyfit(voltage_15[:4], current_15[:4], deg = 1)\n",
"k_15_l, b_15_l = np.polyfit(voltage_15[17:], current_15[17:], deg = 1)\n",
"\n",
"current_5_r = []\n",
"current_5_l = []\n",
"current_3_r = []\n",
"current_3_l = []\n",
"current_15_r = []\n",
"current_15_l = []\n",
"for i in range(11):\n",
" current_5_r.append(k_5_r * voltage_5[i] + b_5_r) \n",
" current_5_l.append(k_5_l * voltage_5[11 + i] + b_5_l)\n",
" current_3_r.append(k_3_r * voltage_3[i] + b_3_r) \n",
" current_3_l.append(k_3_l * voltage_3[11 + i] + b_3_l)\n",
" current_15_r.append(k_15_r * voltage_15[i] + b_15_r) \n",
" current_15_l.append(k_15_l * voltage_15[11 + i] + b_15_l)\n",
"\n",
"plt.figure(figsize=(8, 6))\n",
"plt.scatter(voltage_5, current_5, color = 'green', marker = 'o')\n",
"plt.scatter(voltage_3, current_3, color = 'orange', marker = 'o')\n",
"plt.scatter(voltage_15, current_15, color = 'purple', marker = 'o')\n",
"plt.plot(voltage_5[:11], current_5_r, color = 'black', linewidth = 0.5)\n",
"plt.plot(voltage_5[11:], current_5_l, color = 'black', linewidth = 0.5)\n",
"plt.plot(voltage_3[:11], current_3_r, color = 'black', linewidth = 0.5)\n",
"plt.plot(voltage_3[11:], current_3_l, color = 'black', linewidth = 0.5)\n",
"plt.plot(voltage_15[:11], current_15_r, color = 'black', linewidth = 0.5)\n",
"plt.plot(voltage_15[11:], current_15_l, color = 'black', linewidth = 0.5)\n",
"plt.plot(voltage_5, current_5, color = 'green')\n",
"plt.plot(voltage_3, current_3, color = 'orange')\n",
"plt.plot(voltage_15, current_15, color = 'purple')\n",
"plt.axhline(y=0, color ='k')\n",
"plt.axvline(x=0, color ='k')\n",
"plt.xlabel('Напряжение, В')\n",
"plt.ylabel('Ток, мкА')\n",
"\n",
"print((b_5_r - b_5_l) / 2, (b_3_r - b_3_l) / 2, (b_15_r - b_15_l) / 2)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e4a91142",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}