Përmbajtje:
Video: Sensori i temperaturës DIY duke përdorur një diodë: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Pra, si një nga faktet në lidhje me kryqëzimet PN është se rënia e tensionit të tyre përpara ndryshon sipas rrymës kaluese dhe gjithashtu në temperaturën e kryqëzimit, ne do ta përdorim këtë për të bërë një sensor të thjeshtë të lirë të temperaturës.
Ky konfigurim përdoret zakonisht në shumë Qarqe të Integruara për të matur temperaturën e tij të brendshme dhe shumë sensorë të temperaturës si LM35 i famshëm i cili bazohet në këtë pronë.
Thjesht rënia e tensionit përpara të një diodë (e cila është një kryqëzim i vetëm PN) ndryshon ndërsa sasia e rrymës që kalon nëpër të ndryshon, gjithashtu me ndryshimin e temperaturës së diodës rënia e tensionit do të ndryshojë (Ndërsa rritet temperatura, përpara rënia zvogëlohet me një vlerë prej (1.0 milliVolt në 2.0 milliVolts për diodat e silikonit dhe 2.5 milliVolt për diodat e germaniumit).
Pra, duke kaluar një rrymë konstante përmes diodës, rënia e tensionit përpara tani duhet të ndryshojë vetëm sipas temperaturës së diodës. Na duhet vetëm tani për të matur tensionin e përparmë të diodës, aplikoni disa ekuacione të thjeshta dhe voilà këtu është sensori juaj i temperaturës !!!
Furnizimet
1 - 1n4007 diodë #12 - 1 Rezistencë Kohm #13 - bordi Arduino
Hapi 1: Diagrami i Qarkut
Siç mund ta shihni në skemë, është shumë e thjeshtë. duke lidhur diodën në seri me një rezistencë kufizuese të rrymës dhe një burim të qëndrueshëm të tensionit, ne mund të marrim një burim të papërpunuar të rrymës konstante, kështu që tensioni i matur në diodë do të ndryshojë vetëm për shkak të ndryshimit të temperaturës. Sigurohuni që vlera e rezistencës të mos jetë shumë e ulët aq shumë rrymë kalon nëpër diodë dhe bën një vetë -ngrohje të dukshme në diodë, gjithashtu jo një rezistencë shumë të lartë kështu që kalimi i rrymës nuk është i mjaftueshëm për të mbajtur një lidhje lineare midis tensionit të përparmë dhe temperaturës.
një rezistencë 1 kilogram Ohm me një furnizim 5V duhet të rezultojë në një rrymë diodë 4 milimetër e cila është një vlerë e mjaftueshme për këtë qëllim. I (diodë) = VCC / (Seri + Rdiode)
Hapi 2: Kodimi
Duhet të kemi parasysh se ka disa vlera për të ndryshuar në kod për të marrë rezultate më të mira si:
1 - VCC_Voltage: pasi vlera analogRead () varet nga VCC e çipit ATmega atëherë duhet ta shtojmë në ekuacion pasi ta matim në tabelën arduino.
2 - V_OLD_0_C: rënia e tensionit përpara të diodës së përdorur në rrymën prej 4 mA dhe temperaturën 0 Celsius
3 - Koeficienti i temperaturës: gradienti i temperaturës së diodës suaj (më mirë të merrni nga fleta e të dhënave) ose mund ta matni duke përdorur këtë ekuacion: Vnew - Vold = K (Tnew - Treguar)
ku:
Vnew = tensioni i rënies i matur rishtas pas ngrohjes së diodës
Vold = tensioni i matur i rënies në temperaturën e dhomës
Tnew = temperatura ku u ndez dioda
Tha = temperatura e vjetër e dhomës në të cilën u mat Vold
K = Koeficienti i temperaturës (një vlerë negative që varion nga -1.0 në -2.5 milliVolts) Së fundi tani mund të ngarkoni kodin dhe të merrni rezultatet tuaja të temperaturës.
#define Sens_Pin A0 // PA0 për tabelën STM32F103C8
dyfish V_OLD_0_C = 690.0; // 690 mV Tensioni përpara në 0 Celsius në rrymën e provës 4 mA
dyfish V_NEW = 0; // Tension i ri përpara në temperaturën e dhomës në 4 mA rrymë prove e dyfishtë Temperatura = 0.0; // Temperatura e dhomës e llogaritur dyfish Temperatura_Koeficienti = -1.6; //-1.6 ndryshim mV për gradë Celsius (-2.5 për diodat e germaniumit), më mirë për të marrë nga fleta e të dhënave të diodës VCC_Voltage e dyfishtë = 5010.0; // Tensioni i pranishëm në hekurudhën 5V të arduino në milliVolts (kërkohet për saktësi më të mirë) (3300.0 për stm32)
void setup () {
// vendosni kodin tuaj të konfigurimit këtu, për të ekzekutuar një herë: pinMode (Sens_Pin, INPUT); Serial.filloj (9600); }
lak void () {
// vendosni kodin tuaj kryesor këtu, për ta ekzekutuar në mënyrë të përsëritur: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024.0; // ndani me 4.0 nëse jeni duke përdorur një temperaturë ADC 12 bit = ((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print ("Temp =");
Serial.print (Temperatura); Serial.println ("C");
vonesë (500);
}
Hapi 3: Marrja e vlerave më të mira
Unë mendoj se është e këshillueshme që të keni një pajisje të besueshme për matjen e temperaturës pranë jush kur bëni këtë projekt.
ju mund të shihni se ka një gabim të dukshëm në leximet që mund të arrijë në 3 ose 4 gradë Celsius kështu që nga vjen ky gabim?
1 - mund t'ju duhet të ndryshoni ndryshoret e përmendura në hapin e mëparshëm
2 - Rezolucioni ADC i arduino është më i ulët se ajo që na nevojitet për të zbuluar ndryshimin e vogël të tensionit
3 - referenca e tensionit të arduino (5V) është shumë e lartë për këtë ndryshim të vogël të tensionit në diodë
Pra, nëse do ta përdorni këtë konfigurim si një sensor të temperaturës, duhet të jeni të vetëdijshëm se edhe pse është i lirë dhe i dobishëm, nuk është i saktë, por mund t’ju japë një ide shumë të mirë në lidhje me temperaturën e sistemit tuaj ose është në një PCB ose e montuar në motorin në punë etj…
Ky udhëzues ka për qëllim të përdorë sasinë më të vogël të përbërësve të mundshëm, por nëse doni të merrni rezultatet më të sakta nga kjo ide, mund të bëni disa ndryshime:
1 - shtoni disa amplifikime dhe faza filtrimi duke përdorur op -amps si në këtë lidhje2 - përdorni një kontrollues më të ulët të referencës së brendshme analoge si bordet STM32F103C8 me tension referimi analog 3.3 Volt (shih pikën 4) 3 - përdorni referencën e brendshme analoge 1.1 V në arduino por ki parasysh se nuk mund të lidhësh më shumë se 1.1 Volt me asnjë nga kunjat analoge të arduino.
mund ta shtoni këtë rresht në funksionin e konfigurimit:
analogReference (INTERNAL);
4 - Përdorni një mikrokontrollues që ka ADC me rezolucion më të lartë si STM32F103C8 i cili ka një rezolucion 12 bit ADC Pra, me pak fjalë, ky konfigurim i bazuar në arduino mund të japë një përmbledhje të bukur të temperaturës së sistemit tuaj, por rezultate jo aq të sakta (afërsisht 4.88 mV/Lexim)
konfigurimi STM32F103C8 do t'ju japë një rezultat mjaft të saktë pasi ka një ADC më të lartë 12-bit dhe një vlerë referimi analoge më të ulët 3.3V (afërsisht 0.8 mV/Lexim)
Epo, kjo është ajo !!: D
Recommended:
Komplotimi i të dhënave të drejtpërdrejta të një sensori të temperaturës (TMP006) duke përdorur MSP432 LaunchPad dhe Python: 9 hapa
Komplotimi i të dhënave të drejtpërdrejta të një sensori të temperaturës (TMP006) Duke përdorur MSP432 LaunchPad dhe Python: TMP006 është një sensor i temperaturës që mat temperaturën e një objekti pa pasur nevojë të bëjë kontakt me objektin. Në këtë tutorial ne do të vizatojmë të dhëna të drejtpërdrejta të temperaturës nga BoosterPack (TI BOOSTXL-EDUMKII) duke përdorur Python
Ndërtoni një pajisje të sensorit të temperaturës Apple HomeKit duke përdorur një ESP8266 dhe një BME280: 10 hapa
Ndërtoni një pajisje të sensorit të temperaturës Apple HomeKit duke përdorur një ESP8266 dhe një BME280: Në udhëzimet e sotme, ne do të bëjmë sensorë të temperaturës, lagështisë dhe lagështisë me kosto të ulët bazuar në sensorin e temperaturës/lagështisë AOSONG AM2302/DHT22 ose BME280, sensor lagështie YL-69 dhe platformën ESP8266/Nodemcu. Dhe për shfaqjen
Si të bëni një dron duke përdorur Arduino UNO - Bëni një kuadopter duke përdorur mikrokontrollues: 8 hapa (me fotografi)
Si të bëni një dron duke përdorur Arduino UNO | Bëni një Quadcopter Duke përdorur Mikrokontrolluesin: HyrjeVizitoni Kanalin Tim në YoutubeNjë drone është një vegël (produkt) shumë e shtrenjtë për të blerë. Në këtë postim do të diskutoj, si ta bëj me çmim të ulët ?? Dhe si mund ta bëni tuajin si ky me çmim të lirë … Epo në Indi të gjitha materialet (motorët, ESC -të
Leximi i temperaturës duke përdorur sensorin e temperaturës LM35 Me Arduino Uno: 4 hapa
Leximi i temperaturës duke përdorur sensorin e temperaturës LM35 Me Arduino Uno: Përshëndetje djema në këtë udhëzues ne do të mësojmë se si të përdorim LM35 me Arduino. Lm35 është një sensor i temperaturës i cili mund të lexojë vlerat e temperaturës nga -55 ° C në 150 ° C. Shtë një pajisje 3-terminale që siguron tension analog proporcional me temperaturën. E lartë
Ndërtoni një sensor të temperaturës Apple HomeKit (BME280) duke përdorur një RaspberryPI dhe një BME280: 5 hapa
Ndërtoni një sensor të temperaturës Apple HomeKit (BME280) Duke përdorur një RaspberryPI dhe një BME280: Unë kam luajtur rreth e rrotull me pajisjet IOT gjatë muajve të fundit dhe kam vendosur rreth 10 sensorë të ndryshëm për të monitoruar kushtet rreth shtëpisë dhe vilës sime. Dhe fillimisht kisha filluar të përdorja sensorin e lagështisë së butë AOSONG DHT22