Sisukord:
Video: DIY temperatuuriandur ühe dioodi abil: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Kuna üks faktidest PN-ristmike kohta on see, et nende ettepoole suunatud pingelangus muutub vastavalt läbivoolule ja ka ristmiku temperatuurile, kasutame seda lihtsa odava temperatuurianduri valmistamiseks.
Seda seadistust kasutatakse tavaliselt paljudes integraallülitustes, et mõõta selle sisetemperatuuri ja paljusid temperatuuriandureid, nagu sellel omadusel põhinevat kuulsat LM35.
Lihtsalt dioodi (mis on üks PN-ristmik) ettepoole suunatud pingelangus muutub seda läbiva vooluhulga muutudes, samuti kui dioodi temperatuur muutub, muutub ka pingelangus (temperatuuri tõustes muutub tilk väheneb väärtuse võrra (ränidioodide puhul 1,0 millivolti kuni 2,0 millivoltini ja germaaniumdioodide puhul 2,5 millivoltini).
Nii et dioodi kaudu pideva voolu juhtimisel peaks pingelangus nüüd muutuma ainult vastavalt dioodi temperatuurile. Nüüd peame lihtsalt mõõtma dioodi edasipinget, rakendama mõningaid lihtsaid võrrandeid ja siin on teie temperatuuriandur !!!
Tarvikud
1 - 1n4007 diood #12 - 1 Kohm takisti #13 - Arduino plaat
Samm: vooluahela skeem
Nagu skemaatiliselt näha, on see väga lihtne. ühendades dioodi järjestikku voolu piirava takisti ja stabiilse pingeallikaga, saame toornafta konstantse voolu allika, nii et dioodi mõõdetud pinge varieerub ainult temperatuurimuutuse tõttu. Veenduge, et takisti väärtus ei oleks liiga väike vool läbib dioodi ja tekitab dioodis märgatava isekuumenemise, samuti mitte väga kõrge takisti, nii et voolutugevus ei ole piisav, et säilitada pinge ja temperatuuri vahel lineaarset suhet.
1 kilo oomine 5 V toitega takisti peaks andma 4 milliamperi dioodivoolu, mis on selleks piisav väärtus. I (diood) = VCC / (Rseries + Rdiode)
2. samm: kodeerimine
Peame meeles pidama, et paremate tulemuste saamiseks tuleb koodis mõningaid väärtusi muuta, näiteks:
1 - VCC_Voltage: kuna analogRead () väärtus sõltub ATmega kiibi VCC -st, peame selle pärast arduino -plaadil mõõtmist võrrandisse lisama.
2 - V_OLD_0_C: kasutatud dioodi edasipingelangus voolul 4 mA ja temperatuuril 0 Celsiust
3 - Temperatuuri_koefitsient: teie dioodi temperatuurigradient (parem saada andmelehelt) või saate seda mõõta järgmise võrrandi abil: Vnew - Vold = K (Tnew - Told)
kus:
Vnew = äsja mõõdetud languspinge pärast dioodi kuumutamist
Vold = mõõdetud langemispinge teatud toatemperatuuril
Tnew = temperatuur, milleni dioodi kuumutati
Told = vana toatemperatuur, mille juures Voldit mõõdeti
K = Temperatuuri_koefitsient (negatiivne väärtus varieerub vahemikus -1,0 kuni -2,5 milliVolti) Lõpuks saate nüüd koodi üles laadida ja oma temperatuuri tulemused kätte saada.
#define Sens_Pin A0 // PA0 plaadi STM32F103C8 jaoks
kahekordne V_OLD_0_C = 690,0; // 690 mV Edasipinge 0 Celsiuse juures 4 mA testvoolul
kahekordne V_NEW = 0; // Uus edasipinge toatemperatuuril 4 mA testvoolul kahekordne Temperatuur = 0,0; // Ruumi arvutatud temperatuur topelt Temperatuuri_Koefitsient = -1,6; //-1,6 mV muutus Celsiuse kraadi kohta (-2,5 germaaniumi dioodide puhul), parem saada dioodi andmelehelt topelt VCC_Voltage = 5010,0; // Arduino 5 V rööpmel olev pinge millivoltides (parema täpsuse saavutamiseks vajalik) (3300,0 stm32 jaoks)
tühine seadistus () {
// pange oma seadistuskood siia, et üks kord käivitada: pinMode (Sens_Pin, INPUT); Seriaalne algus (9600); }
void loop () {
// pange oma põhikood siia, et seda korduvalt käitada: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024,0; // jagage 4,0 -ga, kui kasutate 12 -bitist ADC temperatuuri = (((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print ("Temp =");
Serial.print (Temperatuur); Serial.println ("C");
viivitus (500);
}
3. samm: väärtuste parandamine
Arvan, et selle projekti tegemisel on soovitav, et teie kõrval oleks usaldusväärne temperatuuri mõõtmise seade.
näete, et näitudes on märgatav viga, mis võib tõusta 3 või 4 kraadini, nii et kust see viga pärineb?
1 - peate võib -olla eelmises etapis mainitud muutujaid kohandama
2 - arduino ADC eraldusvõime on madalam kui see, mida vajame väikese pinge erinevuse tuvastamiseks
3 - arduino (5V) pingeviide on selle dioodi väikese pingemuutuse jaoks liiga kõrge
Seega, kui kavatsete seda seadet kasutada temperatuuriandurina, peaksite teadma, et kuigi see on odav ja käepärane, pole see täpne, kuid see võib anda teile väga hea ettekujutuse teie süsteemi temperatuurist, kas see on Trükkplaat või paigaldatud töötavale mootorile jne …
See juhend on mõeldud kasutama võimalikult vähe komponente. Kuid kui soovite sellest ideest kõige täpsemaid tulemusi saada, saate teha mõningaid muudatusi:
1 - lisage mõned võimendused ja filtreerimisetapid, kasutades op -ampreid, nagu sellel lingil arduino, kuid pidage meeles, et te ei saa ühegi arduino analoogpistikuga ühendada rohkem kui 1,1 volti.
saate selle rea seadistusfunktsiooni lisada:
analogReference (INTERNAL);
4 - Kasutage kõrgema eraldusvõimega ADC -ga mikrokontrollerit kui STM32F103C8, millel on 12 -bitine ADC -resolutsioon. Lühidalt öeldes võib see arduino -põhine seadistus anda kena ülevaate teie süsteemi temperatuurist, kuid mitte nii täpsed tulemused (umbes 4,88 mV/näit)
STM32F103C8 seadistus annaks teile üsna täpse tulemuse, kuna sellel on kõrgem 12-bitine ADC ja madalam 3,3 V analoogviiteväärtus (umbes 0,8 mV/näit)
No nii ongi !!: D
Soovitan:
4 nupumängu ühe analoogsisendi abil: 6 sammu (piltidega)
4 nupumängu ühe analoogsisendi abil: see juhend on keskendunud ühe analoogsisendirea kasutamisele mitme nupu jaoks, mida saab üksteisest sõltumatult tuvastada. Nende nuppude kasutamise esiletõstmiseks on tarkvara nelja erineva 4-nupulise mängu mängimiseks. Kõik mängud (8 t
TMP36 temperatuuriandur ja LCD -ekraan Arduino (Tinkercad) abil: 7 sammu
TMP36 temperatuuriandur ja LCD -ekraan Arduino (Tinkercad) abil: Tere kõigile! Oleme üliõpilased Tun Hussein Onn Malaisia ülikoolist (UTHM), kes viivad läbi projekti, et näidata, kuidas saame simuleerida temperatuuriandurit, LCD -d ja Arduinot, kasutades Tinkercadi UQD0801 (Robocon 1) õppekava osana (
Temperatuuriandur termistori abil Arduino Unoga: 4 sammu
Temperatuuriandur termistori abil Arduino Unoga: Tere, poisid, selles juhendis õpime, kuidas kasutada termistorit koos Arduinoga. Termistor on põhimõtteliselt takisti, mille takistus varieerub sõltuvalt temperatuurimuutustest. Nii saame lugeda selle takistust ja saada sellest temperatuuri. Termistor ma
Isetehtud temperatuuriandur Arduino ja LM 35 abil Lihtne: 5 sammu
Isetehtud temperatuuriandur Arduino ja LM 35 abil Lihtne: Tere sõbrad, täna ehitame temperatuuri mõõtva anduri vooluringi Arduino UNO mikrokontrolleri ümber, kasutades andurit LM35. Nii et ilma aega raiskamata alustame
Vahelduvvoolu alalisvoolu muundur = dioodi sild: 3 sammu
Vahelduvvoolu alalisvoolu muundur = dioodi sild: dioodsild on seade, mis muudab vahelduvvoolu (vahelduvvoolu) alalisvooluks (alalisvooluks). Erinevus nende kahe liigi vahel on see, et vahelduvvool on impulssvoolu lülituspolaarsus 50–60 korda sekundis. (Kui vaatate elektroonilisi seadmeid, ütleb see, et