Satura rādītājs:
Video: DIY temperatūras sensors, izmantojot vienu diodi: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Tā kā viens no faktiem par PN krustojumiem ir tāds, ka to sprieguma kritums uz priekšu mainās atkarībā no plūstošās strāvas un arī savienojuma temperatūras, mēs to izmantosim, lai izveidotu vienkāršu lētu temperatūras sensoru.
Šo iestatījumu parasti izmanto daudzās integrētajās shēmās, lai izmērītu tā iekšējo temperatūru un daudzus temperatūras sensorus kā slaveno LM35, kura pamatā ir šis īpašums.
Vienkārši mainās diodes (kas ir viens PN krustojums) sprieguma kritums uz priekšu, mainoties caur to plūstošās strāvas daudzumam, kā arī mainoties diodes temperatūrai, mainīsies sprieguma kritums (Palielinoties temperatūrai, kritums samazinās par vērtību (1,0 milivolti līdz 2,0 milivoltiem silīcija diodēm un 2,5 milivolti germānija diodēm).
Tātad, izlaižot nemainīgu strāvu caur diodi, sprieguma kritumam uz priekšu tagad vajadzētu mainīties tikai atkarībā no diodes temperatūras. Mums vienkārši tagad jāmēra diodes priekšējais spriegums, jāpiemēro daži vienkārši vienādojumi, un šeit ir jūsu temperatūras sensors !!!
Piegādes
1 - 1n4007 diode #12 - 1 Kohm rezistors #13 - Arduino plate
1. darbība: shēmas shēma
Kā redzat shēmā, tas ir ļoti vienkārši. sērijveidā savienojot diodi ar strāvas ierobežošanas rezistoru un stabilu sprieguma avotu, mēs varam iegūt neapstrādātu nemainīgas strāvas avotu, tāpēc izmērītais spriegums visā diode mainīsies tikai temperatūras izmaiņu dēļ. Pārliecinieties, vai rezistora vērtība nav pārāk zems, ka daudz strāvas iziet cauri diodei un rada ievērojamu pašsildīšanos diodē, kā arī nav ļoti augsts rezistors, tāpēc strāvas pāreja nav pietiekama, lai saglabātu lineāru attiecību starp priekšējo spriegumu un temperatūru.
1 kilo omu rezistoram ar 5 V barošanu vajadzētu radīt 4 miliamperu diode strāvu, kas ir pietiekama vērtība šim nolūkam. I (diode) = VCC / (Rseries + Rdiode)
2. darbība: kodēšana
Mums jāpatur prātā, ka, lai iegūtu labākus rezultātus, kodā ir jāpielāgo dažas vērtības, piemēram:
1 - VCC_Voltage: tā kā analogRead () vērtība ir atkarīga no ATmega mikroshēmas VCC, tad mums tas jāpievieno vienādojumam pēc tā mērīšanas uz arduino plates.
2 - V_OLD_0_C: izmantotā diodes sprieguma kritums uz priekšu pie 4 mA strāvas un 0 Celsija temperatūras
3 - Temperatūras koeficients: jūsu diodes temperatūras gradients (labāk iegūt no datu lapas) vai arī varat izmērīt, izmantojot šo vienādojumu: Vnew - Vold = K (Tnew - Told)
kur:
Vnew = nesen izmērītais kritiena spriegums pēc diodes sildīšanas
Vold = izmērīts kritiena spriegums kādā istabas temperatūrā
Tnew = temperatūra, kurā tika uzkarsēts diode
Teica = vecā istabas temperatūra, kurā tika mērīts Volds
K = Temperatūras koeficients (negatīva vērtība svārstās no -1,0 līdz -2,5 milivoltiem) Beidzot jūs varat augšupielādēt kodu un iegūt temperatūras rezultātus.
#define Sens_Pin A0 // PA0 priekš STM32F103C8 plates
dubultā V_OLD_0_C = 690,0; // 690 mV Spriegums uz priekšu pie 0 Celsija pie 4 mA testa strāvas
dubultā V_NEW = 0; // Jauns priekšējais spriegums istabas temperatūrā pie 4 mA testa strāva dubultā Temperatūra = 0,0; // Istabas aprēķinātā temperatūra dubultā Temperature_Coefficient = -1,6; //-1,6 mV izmaiņas uz Celsija grādu (-2,5 germānija diodēm), labāk iegūt no diodes datu lapas dubultā VCC_Voltage = 5010,0; // Spriegums arduino 5V sliedē milivoltos (nepieciešams labākai precizitātei) (3300.0 stm32)
void setup () {
// ielieciet šeit savu iestatīšanas kodu, lai palaistu vienu reizi: pinMode (Sens_Pin, INPUT); Sērijas sākums (9600); }
void loop () {
// ievietojiet savu galveno kodu šeit, lai palaistu atkārtoti: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024,0; // daliet ar 4,0, ja izmantojat 12 bitu ADC temperatūru = (((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print ("Temp =");
Sērijas nospiedums (temperatūra); Serial.println ("C");
kavēšanās (500);
}
3. solis: labāku vērtību iegūšana
Es domāju, ka, veicot šo projektu, ir ieteicams, lai blakus būtu uzticama temperatūras mērīšanas ierīce.
jūs varat redzēt, ka rādījumos ir pamanāma kļūda, kas var sasniegt 3 vai 4 grādus pēc Celsija, tad no kurienes šī kļūda rodas?
1 - iespējams, būs jāpielāgo mainīgie, kas minēti iepriekšējā solī
2 - arduino ADC izšķirtspēja ir zemāka par to, kas mums nepieciešams, lai noteiktu nelielu sprieguma starpību
3 - arduino (5V) sprieguma atsauce ir pārāk augsta, lai mazās sprieguma izmaiņas visā diodē
Tātad, ja jūs izmantosit šo iestatījumu kā temperatūras sensoru, jums jāapzinās, ka, lai gan tas ir lēts un ērts, tas nav precīzs, taču tas var dot jums ļoti labu priekšstatu par jūsu sistēmas temperatūru PCB vai uzstādīts pie motora utt.…
Šī pamācība ir paredzēta, lai izmantotu pēc iespējas mazāk komponentu. Bet, ja vēlaties iegūt visprecīzākos šīs idejas rezultātus, varat veikt dažas izmaiņas:
1 - pievienojiet dažus pastiprinājumus un filtrēšanas posmus, izmantojot op -amp, kā šajā saitē2 - izmantojiet zemāku iekšējo analogo atskaites kontrolieri kā STM32F103C8 plates ar 3,3 voltu analogo atskaites spriegumu (sk. 4. punktu) 3 - izmantojiet iekšējo 1,1 V analogo atsauci arduino, taču ņemiet vērā, ka nevienam arduino analogajam tapam nevar pievienot vairāk par 1,1 voltu.
iestatīšanas funkcijā varat pievienot šo rindu:
analogReference (INTERNAL);
4 - Izmantojiet mikrokontrolleru ar augstāku ADC izšķirtspēju kā STM32F103C8 ar 12 bitu ADC izšķirtspēju. Tātad, īsumā, šī arduino balstītā iestatīšana var sniegt jauku pārskatu par jūsu sistēmas temperatūru, bet ne tik precīzus rezultātus (aptuveni 4,88 mV/nolasījums)
STM32F103C8 iestatīšana dotu jums diezgan precīzu rezultātu, jo tai ir augstāks 12 bitu ADC un zemāka 3,3 V analogā atsauces vērtība (aptuveni 0,8 mV/nolasījums)
Nu tas tā !!: D
Ieteicams:
TMP36 temperatūras sensors un LCD displejs, izmantojot Arduino (Tinkercad): 7 soļi
TMP36 temperatūras sensors un LCD displejs, izmantojot Arduino (Tinkercad): Sveiki visiem! Mēs esam studenti no Tun Hussein Onn Malaizijas universitātes (UTHM), kas īsteno projektu, lai parādītu, kā mēs varam simulēt temperatūras sensoru, LCD un Arduino, izmantojot Tinkercad kā daļu no mūsu mācību programmas UQD0801 (Robocon 1) (
Arduino saules enerģijas temperatūras un mitruma sensors kā 433 MHz Oregon sensors: 6 soļi
Arduino saules enerģijas temperatūras un mitruma sensors kā 433 MHz Oregon sensors: tas ir saules enerģijas temperatūras un mitruma sensora konstrukcija. Sensors atdarina 433 MHz Oregon sensoru un ir redzams Telldus Net vārtejā. Kas jums nepieciešams: 1x "10-LED Saules enerģijas kustības sensors " no ebay. Pārliecinieties, ka ir rakstīts 3.7v mīkla
Temperatūras nolasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: 4 soļi
Temperatūras lasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: Sveiki, puiši, šajā pamācībā mēs iemācīsimies izmantot LM35 kopā ar Arduino. Lm35 ir temperatūras sensors, kas var nolasīt temperatūras vērtības no -55 ° C līdz 150 ° C. Tā ir 3 termināļu ierīce, kas nodrošina analogo spriegumu, kas ir proporcionāls temperatūrai. Augstākā
Pārslēdziet RGB gaismas diodi caur krāsu spektru, izmantojot Raspberry Pi 2 un Scratch: 11 soļi
Pārslēdziet RGB gaismas diodi, izmantojot krāsu spektru, izmantojot Raspberry Pi 2 un Scratch: Atjaunināšanas piezīmes, 2016. gada 25. februāris: Esmu uzlabojis Scratch programmu un pārveidojis savu pamācību. Sveiki, puiši, ar šo projektu es gribēju izmantot Scratch, lai RGB gaismas diodi izlaistu cauri krāsu spektram. Ir daudz projektu, kas to dara ar
DIY temperatūras sensors, izmantojot Arduino un LM 35 Vienkārši: 5 soļi
DIY temperatūras sensors, izmantojot Arduino un LM 35 Vienkārši: Sveiki draugi! Šodien mēs izveidosim temperatūras mērīšanas sensora ķēdi ap Arduino UNO mikrokontrolleru, izmantojot sensoru LM35. Tāpēc, netērējot laiku, sāksim darbu