Indholdsfortegnelse:
Video: DIY temperatursensor ved hjælp af en diode: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Så som en af kendsgerningerne om PN-kryds er, at deres fremadspændingsfald ændres i henhold til passerende strøm og til krydsetemperaturen, vil vi også bruge dette til at lave en simpel billig temperatursensor.
Denne opsætning bruges almindeligvis i mange integrerede kredsløb til at måle dens interne temperatur og mange temperatursensorer som den berømte LM35, der er baseret på denne egenskab.
Simpelthen forspændingsfaldet for en diode (som er et enkelt PN-kryds) ændres, når mængden af strømmen, der passerer gennem det ændres, også som diodetemperaturen ændres, vil spændingsfaldet ændre sig (Når temperaturen stiger, vil fremad fald falder med en værdi på (1,0 milliVolt til 2,0 milliVolt for siliciumdioder og 2,5 milliVolt for germaniumdioder).
Så ved at føre en konstant strøm gennem dioden skal fremspændingsfaldet nu kun variere alt efter diodetemperaturen. Vi skal bare nu måle diodernes fremspænding, anvende nogle enkle ligninger og voilà her er din temperatursensor !!!
Forbrugsvarer
1 - 1n4007 diode #12 - 1 Kohm modstand #13 - Arduino bord
Trin 1: Kredsløbsdiagram
Som du kan se i skematikken er det meget enkelt. ved at forbinde dioden i serie med en strømbegrænsende modstand og en stabil spændingskilde kan vi få en rå konstant strømkilde, så den målte spænding over dioden vil kun variere på grund af temperaturændringen. Sørg for, at modstandsværdien ikke er for lav, at meget strøm passerer gennem dioden og laver en mærkbar selvopvarmning i dioden, heller ikke en meget høj modstand, så strømmen, der passerer, er ikke nok til at opretholde et lineært forhold mellem fremspændingen og temperaturen.
en 1 kilo Ohm modstand med en 5V forsyning skulle resultere i en 4 milliAmpere diode strøm, som er en tilstrækkelig værdi til dette formål. I (diode) = VCC / (Rseries + Rdiode)
Trin 2: Kodning
Vi skal huske på, at der er nogle værdier, der skal justeres i koden for at få de bedre resultater som:
1 - VCC_Voltage: da analogRead () -værdien afhænger af ATmega -chipens VCC, skal vi tilføje den til ligningen efter at have målt den på arduino -kortet.
2 - V_OLD_0_C: det anvendte diodes forspændingsfald ved strøm på 4 mA og temperatur på 0 Celsius
3 - Temperature_Coefficient: temperaturgradienten på din diode (bedre at hente fra databladet), eller du kan måle den ved hjælp af denne ligning: Ny - Vold = K (Ny - fortalt)
hvor:
Ny = nymålt faldspænding efter opvarmning af dioden
Vold = målt faldspænding ved nogen stuetemperatur
Ny = temperaturen, hvor dioden blev opvarmet til
Fortalt = den gamle stuetemperatur, som Vold blev målt til
K = Temperature_Coefficient (en negativ værdi, der varierer mellem -1,0 til -2,5 milliVolt) Endelig kan du nu uploade koden og få dine temperaturresultater.
#define Sens_Pin A0 // PA0 til STM32F103C8 bord
dobbelt V_OLD_0_C = 690,0; // 690 mV Fremspænding ved 0 Celsius ved 4 mA teststrøm
dobbelt V_NEW = 0; // Ny fremspænding ved stuetemperatur ved 4 mA teststrøm dobbelt temperatur = 0,0; // Rumberegnet temperatur dobbelt Temperatur_Coefficient = -1,6; //-1,6 mV ændring pr. Grad Celsius (-2,5 for germaniumdioder), bedre at få fra diodebladet dobbelt VCC_Voltage = 5010,0; // Spænding til stede på arduinoens 5V -skinne i milliVolt (påkrævet for bedre nøjagtighed) (3300,0 for stm32)
ugyldig opsætning () {
// sæt din opsætningskode her for at køre en gang: pinMode (Sens_Pin, INPUT); Serial.begin (9600); }
void loop () {
// sæt din hovedkode her for at køre gentagne gange: V_NEW = analogRead (Sens_Pin)*VCC_Voltage/1024.0; // divider med 4,0, hvis du bruger en 12 bit ADC -temperatur = ((V_NEW - V_OLD_0_C)/Temperature_Coefficient);
Serial.print ("Temp =");
Serial.print (temperatur); Serial.println ("C");
forsinkelse (500);
}
Trin 3: Få bedre værdier
Jeg synes, det er tilrådeligt at have en betroet temperaturmåler ved siden af dig, når du laver dette projekt.
du kan se, at der er en mærkbar fejl i målingerne, der kan komme til 3 eller 4 grader Celsius, så hvor kommer denne fejl fra?
1 - du skal muligvis justere de variabler, der er nævnt i det foregående trin
2 - arduinoens ADC -opløsning er lavere end hvad vi har brug for for at detektere den lille spændingsforskel
3 - spændingsreferencen for arduinoen (5V) er for høj til denne lille spændingsændring over dioden
Så hvis du vil bruge denne opsætning som temperatursensor, skal du være opmærksom på, at selvom den er billig og praktisk, er den ikke præcis, men den kan give dig en meget god idé om temperaturen på dit system, enten er den på en PCB eller monteret på kørende motor osv …
Denne instruerbare er beregnet til at bruge den mindst mulige mængde komponenter, men hvis du vil få de mest nøjagtige resultater fra denne idé, kan du foretage nogle ændringer:
1 - tilføj nogle forstærkninger og filtreringstrin ved hjælp af op -ampere som i dette link2 - brug en lavere intern analog reference controller som STM32F103C8 -kortene med 3,3 Volt analog referencespænding (se punkt 4) 3 - brug den interne 1,1 V analoge reference i arduino, men vær opmærksom på, at du ikke kan slutte mere end 1,1 Volt til nogen af de arduino analoge ben.
du kan tilføje denne linje i opsætningsfunktionen:
analogReference (INTERN);
4 - Brug en mikrokontroller, der har ADC med højere opløsning som STM32F103C8, der har en 12 bit ADC -opløsning Så i en nøddeskal kan denne arduino -baserede opsætning give et godt overblik over dit systems temperatur, men ikke så præcise resultater (ca. 4,88 mV/læsning)
STM32F103C8-opsætningen ville give dig et ret præcist resultat, da det har en højere 12-bit ADC og en lavere 3.3V analog referenceværdi (ca. 0,8 mV/læsning)
Nå, det er det !!: D
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores