Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Piirit
- Vaihe 2: Menetelmä
- Vaihe 3: TMP36 - Ensimmäinen kokeilu
- Vaihe 4: Potentiometrin vaihtotulokset
- Vaihe 5: Keskimääräiset lukemat ja tulos
- Vaihe 6: DS18B20 - Alkutestaus
- Vaihe 7: DS18B20 toimii hyvin
- Vaihe 8: DHT22 ja DHT11
- Vaihe 9: DHT22 -tulokset
- Vaihe 10: DTH11 -testi
- Vaihe 11: BME680
- Vaihe 12: Kumpaa minun pitäisi käyttää?
- Vaihe 13: Lisää ajatuksia ja kokeiluja
- Vaihe 14: Koko kuvaaja
- Vaihe 15: Johtopäätökset
Video: Lämpötila -anturien testaus - mikä minulle?: 15 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Yksi ensimmäisistä antureista, joita fyysisen laskennan uudet tulokkaat haluavat kokeilla, on jotain lämpötilan mittaamista. Neljä suosituimmista antureista on TMP36, jossa on analoginen lähtö ja joka tarvitsee analogia-digitaalimuuntimen, DS18B20, joka käyttää yksijohtimista, DHT22 tai hieman halvempi DHT11, joka tarvitsee vain digitaalisen nastan, mutta myös tarjoaa kosteuslukeman ja lopuksi BME680, joka käyttää I2C: tä (SPI: n kanssa myös joissakin murtolevyissä) ja antaa lämpötilan, kosteuden, kaasun (VOC) ja ilmanpaineen, mutta maksaa hieman enemmän.
Haluan nähdä, kuinka tarkkoja ne ovat, ja löytää etuja tai haittoja. Omistan jo tarkan elohopealämpömittarin, joka on jäänyt värillisestä valokuvapainatuksesta jo kemiallisen käsittelyn päivinä, vertaamaan niitä. (Älä koskaan heitä mitään ulos - tarvitset sitä myöhemmin!)
Aion käyttää CircuitPythonia ja Adafruit Itsybitsy M4 -kehityskorttia näihin testeihin. Sopivat ohjaimet ovat saatavilla kaikille laitteille.
Tarvikkeet
Alkuperäinen listani:
- Itsybitsy M4 Express -mikro -ohjain
- mikro -USB -kaapeli - ohjelmointiin
- TMP36
- DS18B20
- 4,7 K ohmin vastus
- DHT22
- BME680
- Monimittari
- Leipälauta tai nauhalevy
- Liitäntäjohto
Vaihe 1: Piirit
Oranssit johdot ovat 3,3 V
Mustat johdot ovat GND
Levyn alaosassa on testauspisteitä jännitteiden mittaamiseen. (3.3v, GND ja TMP36 analoginen lähtö)
Keskipistokkeet ovat vasemmalta oikealle:
- TMP36: 3.3v, analoginen signaalilähtö, GND
- DS18B20: GND, digitaalinen signaalilähtö, 3.3v
- DHT22: 3.3v, signaali ulos, tyhjä, GND
- BME680: 3.3v, SDA, SCL, tyhjä, GND
Takaliitin IB M4E -korttiin liittämistä varten, vasemmalta oikealle
- 3.3v
- TMP36 - analoginen ulos nastaan A2
- GND
- DS18B20 digitaalilähtö nastaan D3 - vihreä
- DHT22 digitaalilähtö nastaan D2 - keltainen
- SDA - valkoinen
- SCL - vaaleanpunainen
4,7 K ohmin vastus on signaalin vetäminen 3,3 volttiin 0-johdinliitännällä DS18B20: ssa.
Taulun takana on 2 leikkausraitaa:
Sekä vaaleanpunaisen että valkoisen langan vasemman pään alapuolella. (Keltaisen langan alla.)
Vaihe 2: Menetelmä
Kirjoitan jokaiselle anturille lyhyen käsikirjoituksen lämpötilan (ja muiden kohteiden, jos saatavilla) lukemiseksi useita kertoja ja tarkistan lämpötilan elohopeamittarini (Hg) suhteen. Aion nähdä, kuinka läheisesti lämpötila verrataan elohopean lukemaan ja ovatko lukemat tasaisia/yhdenmukaisia.
Tarkastelen myös asiakirjoja nähdäkseni, vastaavatko lukemat odotettua tarkkuutta ja onko mitään tehtävissä parannusten tekemiseksi.
Vaihe 3: TMP36 - Ensimmäinen kokeilu
Vasen jalka on 3.3v, oikea jalka on GND ja keskijalka on analoginen jännite, joka edustaa lämpötilaa seuraavan kaavan avulla. TempC = (millivoltteja - 500) / 10
750 millivolttia antaa siis 25 asteen lämpötilan
Tässä näyttää olevan pari ongelmaa. "Normaalin", elohopealämpömittarin lämpötila on paljon alhaisempi kuin TMP36: sta, ja lukemat eivät ole kovin yhdenmukaisia - on jonkin verran värinää tai kohinaa.
TMP36 -anturi lähettää jännitteeseen suhteutetun jännitteen. A/D -muuntimen on luettava tämä ennen lämpötilan laskemista. Luetaan jännite suoraan anturin keskiosasta monimetrillä ja verrataan sitä A/D: n tulokseen. Lukema keskijalkasta monimittarillani on 722 millivolttia, paljon pienempi ja erittäin tasainen.
Voimme kokeilla kahta asiaa. Korvaa TMP36: n potentiometri ja säädä laskennassa oleva jännite mikrokontrollerin todellisen jännitteen mukaan. Sitten näemme, onko laskettu jännite lähempänä ja onko kohina/tärinä vähentynyt.
Mittaamme todellista jännitettä, jota käytän mikro- ja A/D -laitteessani. Tämän oletettiin olevan 3,3 V, mutta itse asiassa vain 3,275 V.
Vaihe 4: Potentiometrin vaihtotulokset
Tämä on paljon parempi. Lukemat ovat muutaman millivoltin sisällä, ja melua on paljon vähemmän. Tämä viittaa siihen, että melu on peräisin TMP36: sta eikä A/D: stä. Mittarin lukema on aina tasainen - ei tärinää. (Mittari saattaa tasoittaa tärinää.)
Yksi tapa parantaa tilannetta voi olla keskiarvon lukeminen. Ota kymmenen lukemaa nopeasti ja käytä keskiarvoa. Lasken myös keskihajonnan, kun vaihdan ohjelmaa, antaakseni viitteitä tulosten leviämisestä. Lasken myös lukemien lukumäärän yhden keskihajonnan sisällä - mitä korkeampi, sitä parempi.
Vaihe 5: Keskimääräiset lukemat ja tulos
Melu on edelleen suuri, ja TMP36: n lukema on edelleen korkeampi kuin elohopealämpömittarin. Kohinan vähentämiseksi olen sisällyttänyt 100NF -kondensaattorin signaalin ja GND: n väliin
Sitten etsin muita ratkaisuja Internetistä ja löysin nämä: https://www.doctormonk.com/2015/02/accurate-and-re… Dr Monk ehdottaa 47 k ohmin vastuksen sisällyttämistä signaalin ja GND: n väliin.
www.desert-home.com/2015/03/battery-operate… Vaikka tämä kaveri ehdottaa 15 lukeman järjestämistä järjestykseen ja keskiarvon laskemista keskelle 5.
Muokkasin käsikirjoitusta ja piiriä sisältämään nämä ehdotukset ja sisällytin lukeman elohopealämpömittarista.
Viimeinkin! Nyt lukemat ovat vakaita laitteen kuvauksen tarkkuusalueella.
Tämä oli melko paljon vaivaa saadaksemme anturin toimimaan, sillä sen valmistajan tarkkuus on vain:
Tarkkuus - Korkein (alin): ± 3 ° C (± 4 ° C) Ne maksavat vain noin 1,50 dollaria (2 €)
Vaihe 6: DS18B20 - Alkutestaus
Ole hyvin varovainen. Tämä paketti näyttää hyvin samanlaiselta kuin TMP36, mutta jalat ovat päinvastoin: 3.3v oikealla ja GND vasemmalla. Signaali ulos on keskellä. Jotta tämä laite toimisi, tarvitsemme 4,7 k ohmin vastuksen signaalin ja 3,3 voltin välillä. Tämä laite käyttää yksijohtimista protokollaa, ja meidän on ladattava pari ohjainta Itsybitsy M4 Expressin lib-kansioon.
Tämä maksaa noin $ 4 / £ 4 Tekniset tiedot:
- Käyttölämpötila -alue: -55 -125 ° C (-67 ° F - +257 ° F)
- 9-12 bitin valittavissa oleva resoluutio
- Käyttää 1 -johdinliitäntää - vaatii vain yhden digitaalisen nastan viestintään
- Ainutlaatuinen 64 -bittinen tunnus poltettiin siruksi
- Useat anturit voivat jakaa yhden nastan
- ± 0,5 ° C Tarkkuus -10 ° C - +85 ° C
- Lämpötilarajahälytin
- Kyselyaika on alle 750 ms
- Voidaan käyttää 3,0 V - 5,5 V teholla
Tämän anturin suurin ongelma on se, että se käyttää Dallas 1-Wire -liitäntää eikä kaikilla mikro-ohjaimilla ole sopivaa ohjainta. Meillä on onnea, Itsybitsy M4 Expressille on kuljettaja.
Vaihe 7: DS18B20 toimii hyvin
Tämä osoittaa loistavan tuloksen.
Tasainen lukumäärä ilman ylimääräistä työtä ja laskutuskuluja. Lukemat ovat odotetulla ± 0,5 ° C: n tarkkuusalueella verrattuna elohopealämpömittariini.
Siellä on myös vedenpitävä versio noin 10 dollaria, jota olen käyttänyt aiemmin yhtä menestyksekkäästi.
Vaihe 8: DHT22 ja DHT11
DHT22 käyttää termistoria lämpötilan mittaamiseen ja maksaa noin 10 dollaria / 10 puntaa ja on pienemmän DHT11: n tarkempi ja kalliimpi veli. Se käyttää myös yksijohdinta, mutta EI ole yhteensopiva DS18B20: n kanssa käytettävän Dallas-protokollan kanssa. Se tunnistaa kosteuden ja lämpötilan. Nämä laitteet tarvitsevat joskus vetovastus 3,3 V: n ja signaalitapin välillä. Tämä paketti on jo asennettu.
- Halpa
- 3-5 V: n virta ja I/O
- Enintään 2,5 mA nykyinen käyttö muuntamisen aikana (tietoja pyydettäessä)
- Sopii 0-100% kosteuslukemiin 2-5% tarkkuudella
- Sopii -40-80 ° C: n lämpötilalukemille ± 0,5 ° C: n tarkkuudella
- Näytteenottotaajuus enintään 0,5 Hz (2 sekunnin välein)
- Rungon koko 27 mm x 59 mm x 13,5 mm (1,05 x 2,32 x 0,53 tuumaa)
- 4 nastaa, 0,1 "väli
- Paino (vain DHT22): 2,4 g
Verrattuna DHT11: een tämä anturi on tarkempi, tarkempi ja toimii laajemmalla lämpötila-/kosteusalueella, mutta se on suurempi ja kalliimpi.
Vaihe 9: DHT22 -tulokset
Nämä ovat erinomaisia tuloksia hyvin pienellä vaivalla. Lukemat ovat melko vakaita ja odotetun toleranssin rajoissa. Kosteuslukema on bonus.
Voit ottaa lukemia vain joka sekunti.
Vaihe 10: DTH11 -testi
Elohopealämpömittarini näytti 21,9 astetta C. Tämä on melko vanha DHT11, jonka hain vanhasta projektista ja kosteusarvo on hyvin erilainen kuin DHT22 -lukemat muutama minuutti sitten. Se maksaa noin 5 dollaria / 5 puntaa.
Sen kuvaus sisältää:
- Sopii 20-80% kosteuslukemiin 5% tarkkuudella
- Sopii 0-50 ° C: n lämpötilalukemiin ± 2 ° C: n tarkkuus - vähemmän kuin DTH22
Lämpötila näyttää olevan edelleen tarkkuusalueella, mutta en luota tämän vanhan laitteen kosteuslukemiin.
Vaihe 11: BME680
Tämä anturi sisältää lämpötilan, kosteuden, ilmanpaineen ja VOC -kaasun tunnistusominaisuudet yhdessä paketissa, mutta se on kallein testattavista antureista. Se maksaa noin 18,50 puntaa / 22 dollaria. On samanlainen tuote ilman kaasuanturia, joka on hieman halvempi.
Tämä on kultaisen standardin anturi viidestä. Lämpötila -anturi on tarkka ja sopivilla ohjaimilla erittäin helppokäyttöinen. Tämä versio käyttää I2C: tä, mutta Adafruit -katkaisulauta voi käyttää myös SPI: tä.
Kuten BME280 ja BMP280, tämä Boschin tarkkuusanturi voi mitata kosteutta ± 3%: n tarkkuudella, ilmanpaineen ± 1 hPa: n absoluuttisella tarkkuudella ja lämpötilan ± 1,0 ° C: n tarkkuudella. Koska paine muuttuu korkeuden mukaan ja painemittaukset ovat niin hyviä, voit käyttää sitä myös korkeusmittarina ± 1 metrin tai tarkemmin!
Dokumentaation mukaan se vaatii kaasuanturille "palamisaikaa".
Vaihe 12: Kumpaa minun pitäisi käyttää?
- TMP36 on erittäin halpa, pieni ja suosittu, mutta melko vaikea käyttää ja saattaa olla epätarkka.
- DS18B20 on pieni, tarkka, halpa, erittäin helppokäyttöinen ja siinä on vedenpitävä versio.
- DTH22 osoittaa myös kosteutta, on kohtuuhintainen ja helppokäyttöinen, mutta voi olla liian hidas.
- BME680 tekee paljon enemmän kuin muut, mutta on kallis.
Jos haluan vain lämpötilan, käyttäisin DS18B20 ± 0,5 ° C: n tarkkuudella, mutta suosikkini on BME680, koska se tekee paljon enemmän ja sitä voidaan käyttää monissa eri projekteissa.
Yksi viimeinen ajatus. Pidä lämpötila -anturi kaukana mikroprosessorista. Jotkut Raspberry Pi HATit antavat emolevyn lämmittää anturia, mikä antaa väärän lukeman.
Vaihe 13: Lisää ajatuksia ja kokeiluja
Kiitos gulliverrr, ChristianC231 ja pgagen kommenteistanne siitä, mitä olen tähän mennessä tehnyt. Olen pahoillani viivästymisestä, mutta olen ollut lomalla Irlannissa ilman pääsyä elektroniikkapakettini pariin viikkoon.
Tässä on ensimmäinen yritys näyttää anturit yhdessä.
Kirjoitin käsikirjoituksen lukemaan anturit vuorotellen ja tulostamaan lämpötila -arvot noin 20 sekunnin välein.
Laitoin paketin jääkaappiin tunniksi, jotta kaikki jäähtyy. Liitin sen tietokoneeseen ja sain Mu tulostamaan tulokset. Tulos kopioitiin, muutettiin.csv -tiedostoksi (pilkuilla erotetut muuttujat) ja kaaviot piirtyvät Excelin tuloksista.
Paketin ottamisesta jääkaapista kului noin kolme minuuttia, ennen kuin tulokset kirjattiin, joten lämpötila nousi jonkin verran tällä aikavälillä. Epäilen, että neljällä anturilla on erilaiset lämpökapasiteetit, joten ne lämpenevät eri nopeuksilla. Lämpenemisen odotetaan hidastuvan, kun anturit lähestyvät huoneenlämpötilaa. Tallensin tämän 24,4 ° C: een elohopealämpömittarilla.
Laajat lämpötilaerot käyrien alussa voivat johtua antureiden erilaisista lämpökapasiteeteista. Olen iloinen nähdessäni, että linjat lähestyvät loppua kohti, kun ne lähestyvät huoneenlämpötilaa. Olen huolissani siitä, että TMP36 on aina paljon korkeampi kuin muut anturit.
Katsoin tietolomakkeita tarkistaakseni uudelleen näiden laitteiden kuvatun tarkkuuden
TMP36
- ± 2 ° C tarkkuus yli lämpötilan (typ)
- ± 0,5 ° C lineaarisuus (typ)
DS18B20
± 0,5 ° C Tarkkuus -10 ° C - +85 ° C
DHT22
lämpötila ± 0,5 ° C
BME680
lämpötila ± 1,0 ° C: n tarkkuudella
Vaihe 14: Koko kuvaaja
Voit nyt nähdä, että anturit tasoittuivat lopulta ja sopivat lämpötilasta enemmän tai vähemmän kuvatun tarkkuuden rajoissa. Jos TMP36 -arvoista poistetaan 1,7 astetta (odotettavissa ± 2 ° C), kaikki anturit sopivat hyvin yhteen.
Kun tein tämän kokeilun ensimmäisen kerran, DHT22 -anturi aiheutti ongelman:
main.py -lähtö:
14.9, 13.5, 10.3, 13.7
15.7, 14.6, 10.5, 14.0
16.6, 15.6, 12.0, 14.4
18.2, 16.7, 13.0, 15.0
18.8, 17.6, 14.0, 15.6
19.8, 18.4, 14.8, 16.2
21.1, 18.7, 15.5, 16.9
21.7, 19.6, 16.0, 17.5
22.4, 20.2, 16.5, 18.1
23.0, 20.7, 17.1, 18.7
DHT -lukuvirhe: ('DHT -anturia ei löydy, tarkista johdotus',)
Traceback (viimeisin puhelu viimeksi):
Tiedosto "main.py", rivi 64, in
Tiedosto "main.py", rivi 59, get_dht22 -tiedostossa
NameError: paikallinen muuttuja, johon viitataan ennen määritystä
Joten muokkasin komentosarjaa selviytymään tästä ongelmasta ja aloitin tallennuksen uudelleen:
DHT -lukuvirhe: ('DHT -anturia ei löydy, tarkista johdotus',)
25.9, 22.6, -999.0, 22.6
DHT -lukuvirhe: ('DHT -anturia ei löydy, tarkista johdotus',)
25.9, 22.8, -999.0, 22.7
25.9, 22.9, 22.1, 22.8
25.9, 22.9, 22.2, 22.9
DHT -lukuvirhe: ('DHT -anturia ei löydy, tarkista johdotus',)
27.1, 23.0, -999.0, 23.0
DHT -lukuvirhe: ('DHT -anturia ei löydy, tarkista johdotus',)
27.2, 23.0, -999.0, 23.1
25.9, 23.3, 22.6, 23.2
DHT -lukuvirhe: ('DHT -anturia ei löydy, tarkista johdotus',)
28.4, 23.2, -999.0, 23.3
DHT -lukuvirhe: ('DHT -anturia ei löydy, tarkista johdotus',)
26.8, 23.1, -999.0, 23.3
26.5, 23.2, 23.0, 23.4
26.4, 23.3, 23.0, 23.5
26.4, 23.4, 23.1, 23.5
26.2, 23.3, 23.1, 23.6
Minulla ei ollut ongelmia toisen kierroksen kanssa. Adafruit -dokumentaatiossa varoitetaan, että joskus DHT -anturit menettävät lukemat.
Vaihe 15: Johtopäätökset
Tämä käyrä osoittaa selvästi, että joidenkin antureiden suurempi lämpökapasiteetti lisää niiden reaktioaikaa.
Kaikki anturit tallentavat lämpötilan nousun ja laskun.
Ne eivät ole kovin nopeasti asettuneet uuteen lämpötilaan.
Ne eivät ole kovin tarkkoja. (Ovatko ne tarpeeksi hyviä sääasemalle?)
Sinun on ehkä kalibroitava anturi luotettua lämpömittaria vasten.
Suositeltava:
"Alexa, lähetä minulle sanat _____": 9 vaihetta (kuvilla)
"Alexa, lähetä minulle sanat _____": Kuunteletko kappaletta, jonka haluat laulaa yhdessä? Tavallisesti sinun on suoritettava vaikea tehtävä kirjoittamalla kappaleen nimi Googleen ja sen jälkeen sana "lyrics". Teet myös tavallisesti runsaasti kirjoitusvirheitä, napsautat väärin
MAX7219 LED -pistematriisin kokoaminen ja testaus: 6 vaihetta (kuvilla)
MAX7219 LED-pistematriisin kokoaminen ja testaus: Piste-matriisinäyttö on näyttölaite, joka sisältää matriisin muotoon kohdistettuja valoa lähettäviä diodeja. näytetään yhdessä
Edison valmistaa minulle kahvia (koodi): 3 vaihetta
Edison valmistaa minulle kahvia (koodi): Tämän projektin avulla voit käynnistää toiminnon (kuten kahvin tarjoamisen), kun WiFi -asiakas on havaittu WiFi -verkossa (kuten sinä tai työntekijäsi saapuvat toimistoosi)
Brainwave -tietokoneen käyttöliittymän prototyyppi TGAM -aloituspakkaus Juotos ja testaus: 7 vaihetta (kuvilla)
Brainwave -tietokoneen käyttöliittymän prototyyppi TGAM -aloituspakkaus Juotos ja testaus: Viimeisen vuosisadan neurotieteellinen tutkimus on lisännyt huomattavasti tietämystämme aivoista ja erityisesti aivoissa polttavien neuronien lähettämistä sähköisistä signaaleista. Näiden sähköisten signaalien kuviot ja taajuudet voidaan mitata
Epee -kehonjohdon testaus ja korjaus: 9 vaihetta (kuvilla)
Epee-kehonjohdon testaus ja korjaus: Nykyaikaisen, olympialaistyylisen miekkailun urheilussa pisteytys tapahtuu sähköisesti. Jotta sähköinen signaali siirtyisi aseestasi pisteytyskoneeseen, signaalin on kuljettava: aseen langan (paitsi sapelin) läpi hihassa ja alas