Sisällysluettelo:
- Vaihe 1: Valmistele laite
- Vaihe 2: Kahden pisteen kalibrointi
- Vaihe 3: Käytä saamiasi arvoja oikealla tavalla
Video: DS18B20 -anturin kalibrointi Arduino UNO: lla: 3 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
VASTUUVAPAUSLAUSEKE:
Kuvissa näkyvää laitetta käytetään toisessa projektissa kalvonkehitysprosessin termostaattina. Löydät projektin täältä. Jotta voit kalibroida anturin tai useamman kuin yhden, tarvitset vain sen, mitä löydät tästä projektista, ei mitään muuta, ja se on myös melko yksinkertainen! Mennään!
Vaihe 1: Valmistele laite
Tässä on luettelo siitä, mitä tarvitset:
- Arduino UNO (tai MEGA)
- DS18B20 -anturi (t)
- 4kOhm - 5kOhm vastus (käytin 5k1Ohm)
- LCD -näyttö arvojen lukemiseen (voit myös käyttää kannettavaa tietokonetta ja lukea niitä vain sarjamonitorista)
- Luonnos, joka käyttää anturia ja näyttää jotenkin arvot
Ensinnäkin sinun on liitettävä moduulit ja anturi ohjaimeen. Jätän nestekidenäytön monimutkaisen osan voit etsiä verkosta, ja kerron vain, miten anturi kytketään.
Yleensä näissä antureissa on kolme värillistä johtoa: musta, punainen, keltainen. Kaksi ensimmäistä ovat energiaa ja kolmas dataa. Liitä musta GNN: ään, punainen Vcc: hen (5 V) ja keltainen analogituloon, sanotaan esimerkiksi A0.
Liitä nyt vastus keltaisen ja punaisen väliin liitäntöjen viimeistelemiseksi.
Liitä myös nestekidenäyttö (suosittelen yksinkertaista 16x2 LCD -näyttöä, jossa on i2c -liitäntä, jotta voit käyttää vain 4 johtoa) ja olet valmis johtimilla ja kaapeleilla.
Nyt luonnos, joka on erittäin yksinkertainen:
#include "OneWire.h"
#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasLämpötila -anturi1 (& ourWire1); #include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd (0x27, 16, 2); float RawValue = 0;
void setup () {lcd.init (); lcd.taustavalo (); anturi1.alku (); sensor1.setResolution (11); } void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }
Kuten näette, käytämme Dallas Temperature -kirjastoa ja LCD -näyttöä, jossa on i2c -yhteys.
Asetuksissa aloitamme nestekidenäytön ja anturin käytön, ja silmukassa pyydämme vain lämpötilaa ja tallennamme arvon muuttujan RawValue sisään näyttämään sen nestekidenäytössä.
Jos haluat tehdä siitä yksinkertaisemman, käytä vain sarjamonitoria seuraavan luonnoksen kanssa
#Sisällytä "Wire.h" #Sisällytä "OneWire.h" #Sisällytä "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasLämpötila -anturi1 (& ourWire1);
float RawValue = 0;
void setup () {
viive (1000); Sarja.alku (9600); anturi1.alku (); sensor1.setResolution (11);
}
void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }
Seuraa nyt minua projektin ytimessä kalibroidaksesi anturin.
Vaihe 2: Kahden pisteen kalibrointi
Jotain tietää ensin
Lämpöanturin kalibroimiseksi sinun on mitattava jotain, jonka lämpötila tiedät. Yksinkertainen tapa tehdä se kotona on käyttää kiehuvaa vettä ja sulaa jäätä, jota kutsutaan myös "kolmoispisteiseksi" kylpyksi. Näissä tapauksissa tiedämme, että vesi kiehuu 100 ° C: ssa merenpinnalla. Muista, että tarkan mittauksen tekemiseksi sinun on tiedettävä korkeutesi ja laskettava oikea kiehumislämpötila siellä.
Voit tarkistaa sen täältä!
Ollakseni rehellinen, sinun pitäisi tarkistaa ilmanpaine eikä korkeus. Mutta tämä tapa on riittävän tarkka.
Kolmen pisteen kylpy tai jäähaude on lämpötila, jossa vesi esiintyy kolmessa tilassa: kiinteä, neste ja kaasu, jolloin lämpötila on 0, 01 ° C. Käytämme yksinkertaistamiseksi 0 ° C.
Tietäen anturin lukeman arvon ja arvon, jonka pitäisi olla, voimme muuttaa DS18B20: n raaka -arvon oikeaksi.
HUOMAUTUS: voit myös käyttää enemmän lämpötilaa anturin kalibroimiseen vain asettamalla sen johonkin muuhun aineeseen, jonka kiehumispiste tiedät, kuten eetteri (35 ° C), pentaani (36, 1 ° C), asetoni (56 ° C) tai Etanoli (78, 37 ° C), mutta nämä kiehuvat aineet tuottavat helposti syttyviä kaasuja! Joten älä tee sitä!
Kiehuvaa vettä:
Laita vettä kattilaan ja kuumenna, kunnes se kiehuu (kaasukuplia kehittyy ja vesi sekoittaa itseään). Upota anturi paikkaan, jossa se ei kosketa mitään muuta kuin vettä. Odota muutama minuutti ja lue lcd tai sarjamonitori
Lämpötilan tulee pysyä samana vähintään minuutin ajan. Jos on, kirjoita arvo ylös. Tämä on sinun: RawHigh -arvo.
Kolmen pisteen kylpy:
Ota nyt iso lasi (et tarvitse mitään valtavaa eikä kattilaa) ja täytä se rajalle jääkuutioilla. Yritä käyttää pienikokoisia jääpaloja. Täytä nyt 80% lasista kylmällä vedellä. Täytä jäällä, jos vipu yrittää laskea alas.
Aseta anturi nyt vesi/jää -esineen sisään ja odota puolitoista minuuttia. Lue lämpötila, jonka pitäisi pysyä samana vähintään 30 sekuntia. Jos on, kirjoita se muistiin, jotta se on RawLow -arvo.
Vaihe 3: Käytä saamiasi arvoja oikealla tavalla
Joten nyt sinulla on tärkeitä arvoja:
- RaakaKorkea
- RawLow
- Viite Korkea
- ViiteLow
Vertailuarvo on ilmeisesti 99,9 ° C kiehuvalle vedelle (22 m korkeudessa) ja 0 ° C sulamisjäähauteelle. Laske nyt näiden arvojen alueet:
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Nyt olet valmis käyttämään tätä anturia missä tahansa muussa projektissa varmistaen, että se antaa sinulle oikean mittauksen. Miten? Käyttämällä täällä hankittua arvoa projektissa, jonka luot tällä anturilla.
Tulevassa projektissasi sinun on käytettävä tässä lukemiasi arvoja, ja ehdotan, että teet sen käyttämällä samoja nimiä kuin tässä.
Ilmoita muuttujat ennen void setup () -osaa seuraavasti:
float RawHigh = 99,6; float RawLow = 0,5; float ReferenceHigh = 99,9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;
Joka kerta, kun käytät anturia, voit laskea CorrectedValue -arvon seuraavan kaavan avulla:
float CorrectedValue = ((((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue on tietysti anturin lukema.
Se siitä!
Nyt tiedät kuinka kalibroida DS18B20 -anturi tai mikä tahansa muu käyttämäsi anturi! Pidä hauskaa!
Suositeltava:
Bluetooth RC -auto STM32F103C: llä ja L293D: llä - Edullinen: 5 vaihetta
Bluetooth RC -auto STM32F103C: llä ja L293D: llä - Edullista: Tein Bluetooth Arduino -auton, kuten tässä kuvattu, Ardumotive_com. Ongelmani olivat akut ja niiden paino sekä kustannukset. Sittemmin matkapuhelimien halvoista virtapankkeista on tullut erittäin edullisia. Kaikki mitä tarvitsen
Alexa Ääniohjattu Raspberry Pi Drone IoT: llä ja AWS: llä: 6 vaihetta (kuvilla)
Alexa Ääniohjattu Raspberry Pi Drone IoT: llä ja AWS: llä: Hei! Nimeni on Armaan. Olen 13-vuotias Massachusettsin poika. Tämä opetusohjelma näyttää, kuten voit päätellä otsikosta, kuinka rakentaa Raspberry Pi Drone. Tämä prototyyppi osoittaa, kuinka dronit kehittyvät ja kuinka suuri rooli niillä voi olla
Sisäkasvien kastelu NodeMCU: lla, paikallisella Blynk -palvelimella ja Blynk Apk: lla, säädettävä asetuspiste: 3 vaihetta
Sisäkasvien kastelu NodeMCU: lla, paikallisella Blynk -palvelimella ja Blynk Apk: llä, säädettävä asetuspiste: Olen rakentanut tämän projektin, koska sisäkasvieni on oltava terveitä, vaikka olen lomalla pitkään ja pidän ajatuksesta hallita tai ainakin seurata kaikkia mahdollisia asioita, joita kotona tapahtuu Internetin kautta
Älypuhelintelakka USB: llä ja HDMI: llä: 6 vaihetta
Älypuhelintelakka USB: llä ja HDMI: llä: Tämä on opas rakentaa älypuhelintelakka, jossa on neljä USB -tuloa, HDMI -lähtö ja USB C -läpivienti lataamista varten. monenlaisiin USB -laitteisiin, kuten näppäimistöihin, hiiriin
Levynvaihto PS1: llä (tai PSX: llä): 8 vaihetta
Levynvaihdon vaihtaminen PS1: llä (tai PSX: llä): Tämä näyttää sinulle vaihe vaiheelta kuinka vaihtaa levyt Ps1: lle (tai PSX: lle). Tämä on melko vaikeaa. jos sinulla on ongelmia, käy tällä sivustolla http://www.angelfire.com/ca/PlaystationHouse/SwapTrick.html