Агуулгын хүснэгт:

Температур мэдрэгчийг турших - Миний хувьд аль нь вэ?: 15 алхам (зурагтай)
Температур мэдрэгчийг турших - Миний хувьд аль нь вэ?: 15 алхам (зурагтай)

Видео: Температур мэдрэгчийг турших - Миний хувьд аль нь вэ?: 15 алхам (зурагтай)

Видео: Температур мэдрэгчийг турших - Миний хувьд аль нь вэ?: 15 алхам (зурагтай)
Видео: Все о покраске валиком за 20 минут. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #32 2024, Арваннэгдүгээр
Anonim
Температур мэдрэгчийг турших - аль нь миний хувьд?
Температур мэдрэгчийг турших - аль нь миний хувьд?

Физик тооцоололд шинээр орж ирж буй хүмүүсийн туршиж үзэхийг хүсдэг анхны мэдрэгчийн нэг бол температурыг хэмжих зүйл юм. Хамгийн алдартай дөрвөн мэдрэгч бол TMP36 бөгөөд аналог гаралттай бөгөөд дижитал хөрвүүлэгчийн аналог хэрэгтэй DS18B20, нэг утастай холболт, DHT22 эсвэл арай хямд DHT11, дижитал зүү хэрэгтэй, гэхдээ бас чийгшлийн заалтыг өгдөг бөгөөд хамгийн сүүлд BM2 680 нь I2C (SPI -тэй, мөн зарим самбар дээр) температур, чийгшил, хий (VOC), атмосферийн даралтыг өгдөг боловч арай илүү үнэтэй байдаг.

Тэд хэр үнэн зөв болохыг олж мэдэхийг хүсч, давуу болон сул талыг олж мэдэхийг хүсч байна. Би химийн боловсруулалтын үед өнгөт гэрэл зургийн хэвлэхээс үлдсэн мөнгөн усны нарийвчлалтай термометрийг харьцуулж үзэх боломжтой болсон. (Юу ч бүү хая, дараа нь танд хэрэгтэй болно!)

Эдгээр туршилтанд би CircuitPython болон Adafruit Itsybitsy M4 хөгжлийн самбарыг ашиглах гэж байна. Бүх төхөөрөмжид тохирох драйверууд байдаг.

Хангамж

Миний анхны жагсаалт:

  • Itsybitsy M4 Express микроконтроллер
  • микро USB кабель - програмчлахад зориулагдсан
  • TMP36
  • DS18B20
  • 4.7K Ом эсэргүүцэл
  • DHT22
  • BME680
  • Олон метр
  • Талх эсвэл туузны самбар
  • Холбох утас

Алхам 1: Хэлхээ

Хэлхээ
Хэлхээ

Улбар шар өнгийн утас нь 3.3 В байна

Хар утаснууд нь GND юм

Самбарын доод хэсэгт хүчдэлийг хэмжих туршилтын цэгүүд байдаг. (3.3v, GND ба TMP36 аналог гаралт)

Төв залгуурууд нь зүүнээс баруун тийш байна.

  • TMP36: 3.3v, аналог дохио гарах, GND
  • DS18B20: GND, дижитал дохио гарах, 3.3v
  • DHT22: 3.3v, дохио гарах, хоосон, GND
  • BME680: 3.3v, SDA, SCL, хоосон, GND

IB M4E самбартай холбох арын холбогч нь зүүнээс баруун тийш

  • 3.3v
  • TMP36 - А2 зүүтэй аналог
  • GND
  • DS18B20 дижитал гаралт D3 - ногоон
  • DHT22 дижитал гаралт D2 - шар
  • SDA - цагаан
  • SCL - ягаан

4.7K Ом эсэргүүцэл нь DS18B20 дээрх 0 утастай холболтын хувьд 3.3v хүртэл дохио татах явдал юм.

Самбарын ар талд 2 хайчилбар зам байна:

Ягаан ба цагаан өнгийн утаснуудын зүүн гар талын төгсгөлд. (Шар утсан дор.)

Алхам 2: арга

Арга
Арга

Мэдрэгч бүрийн хувьд би температурыг (хэрэв байгаа бол бусад зүйлсийг) хэд хэдэн удаа уншиж, мөнгөн усны (Hg) термометрийнхээ дагуу температурыг шалгах богино скрипт бичнэ. Температур нь мөнгөн усны уншилттай хэр зэрэг ойролцоо, уншилт нь тогтвортой/тууштай байгаа эсэхийг харах болно.

Уншилт нь хүлээгдэж буй нарийвчлалтай нийцэж байгаа эсэх, сайжруулахын тулд хийх зүйл байгаа эсэхийг олж мэдэхийн тулд би баримт бичгийг үзэх болно.

Алхам 3: TMP36 - Анхан шатны туршилт

TMP36 - Анхан шатны шүүх хурал
TMP36 - Анхан шатны шүүх хурал
TMP36 - Анхан шатны шүүх хурал
TMP36 - Анхан шатны шүүх хурал

Зүүн хөл нь 3.3v, баруун хөл нь GND, төвийн хөл нь дараахь томъёог ашиглан температурыг илэрхийлдэг аналог хүчдэл юм. TempC = (милливольт - 500) / 10

Тиймээс 750 милливольт нь 25 С температур өгдөг

Энд хэд хэдэн асуудал байгаа бололтой. "Ердийн" мөнгөн усны термометрийн температур нь TMP36 -ээс хамаагүй бага бөгөөд уншилт нь тийм ч тогтвортой биш байдаг - зарим "цочрол" эсвэл чимээ гардаг.

TMP36 мэдрэгч нь температуртай пропорциональ хүчдэл гаргадаг. Температурыг тооцоолохын өмнө үүнийг A/D хөрвүүлэгч унших ёстой. Мэдрэгчийн дунд хөлөөс олон метрээр хүчдэлийг шууд уншиж, A/D-ийн үр дүнтэй харьцуулж үзье. Миний олон метр бүхий төвийн хөлөөс унших нь 722 милливольт бөгөөд үүнээс хамаагүй доогуур, маш тогтвортой уншилт юм.

Бидний оролдож болох хоёр зүйл бий. TMP36 -ийн потенциометрийг орлуулж, тооцооллын хүчдэлийг микроконтроллерийн бодит хүчдэлд тохируулна уу. Дараа нь бид тооцоолсон хүчдэл ойрхон байгаа эсэхийг шалгаж, дуу чимээ/чичиргээ буурах эсэхийг харах болно.

Миний микроконтроллер ба A/D -ийн бодит хүчдэлийг хэмжье. Үүнийг 3.3v гэж тооцоолсон боловч үнэндээ ердөө 3.275v байна.

Алхам 4: Потенциометрийг орлуулах үр дүн

Потенциометрийг орлуулах үр дүн
Потенциометрийг орлуулах үр дүн

Энэ нь хамаагүй дээр юм. Унших нь дуу чимээ багатай хэдэн милливольт дотор байна. Энэ нь дуу чимээ нь A/D гэхээсээ илүү TMP36 -аас гардаг болохыг харуулж байна. Тоолуур дээрх уншилт үргэлж тогтвортой байдаг - ямар ч цочирдолгүй. (Тоолуур нь чичиргээний гаралтыг "зөөлрүүлж" магадгүй.)

Нөхцөл байдлыг сайжруулах нэг арга бол дунджаар унших явдал юм. Арван уншилтыг хурдан аваад дунджийг ашиглаарай. Хөтөлбөрийг өөрчлөх явцад би стандарт хазайлтыг тооцоолж, үр дүнгийн тархалтыг харуулах болно. Би мөн уншилтын тоог дунджаас 1 стандарт хазайлтын дотор тоолох болно - өндөр байх тусмаа сайн.

Алхам 5: Дундаж уншилт ба үр дүн

Дундаж уншилт ба үр дүн
Дундаж уншилт ба үр дүн

Маш их чимээ шуугиан байсаар байгаа бөгөөд TMP36 -ийн уншилт нь мөнгөн усны термометрээс өндөр хэвээр байна. Дуу чимээг бууруулахын тулд би дохио ба GND хооронд 100NF конденсатор оруулсан

Дараа нь би интернетээс өөр шийдлүүдийг хайж олсон бөгөөд эдгээрийг олсон: https://www.doctormonk.com/2015/02/accurate-and-re… Доктор Лам дохио ба GND хооронд 47 к Ом эсэргүүцэл оруулахыг санал болгов.

www.desert-home.com/2015/03/battery-operate… Энэ залуу 15 уншилтыг дарааллаар нь эрэмбэлж, 5 төвийг дунджаар санал болгож байна.

Би эдгээр зөвлөмжийг оруулахын тулд скрипт болон хэлхээг өөрчилж, мөнгөн усны термометрийн заалтыг оруулсан болно.

Эцэст нь! Одоо бид төхөөрөмжийн тодорхойлолтын нарийвчлалын хүрээнд тогтмол уншилттай байна.

Зөвхөн үйлдвэрлэгчийн нарийвчлалтай нарийвчлалтай мэдрэгчийг ажиллуулахын тулд маш их хүчин чармайлт гаргасан.

Нарийвчлал - Хамгийн өндөр (хамгийн бага): ± 3 ° C (± 4 ° C) Тэд ердөө 1.50 долларын үнэтэй (2 фунт стерлинг)

Алхам 6: DS18B20 - Анхны туршилт

DS18B20 - Анхны туршилт
DS18B20 - Анхны туршилт

Маш болгоомжтой байгаарай. Энэ багц нь TMP36 -тай маш төстэй боловч хөл нь эсрэгээрээ, 3.3v баруун талд, GND зүүн талд. Дохио гарах төв хэсэгт байна. Энэ төхөөрөмжийг ажиллуулахын тулд бидэнд дохио ба 3.3в хооронд 4.7 к Ом эсэргүүцэл хэрэгтэй болно. Энэ төхөөрөмж нь нэг утастай протокол ашигладаг бөгөөд бид Itsybitsy M4 Express-ийн lib фолдерт хэдэн драйвер татаж авах хэрэгтэй.

Энэ нь ойролцоогоор $ 4 / £ 4 үнэтэй Техникийн үзүүлэлтүүд:

  • Ашиглах боломжтой температурын хүрээ: -55 -125 ° C (-67 ° F - +257 ° F)
  • 9-12 битийн нарийвчлалтай
  • 1 -утастай интерфэйсийг ашигладаг - харилцаанд зөвхөн нэг дижитал зүү шаардлагатай
  • Өвөрмөц 64 битийн ID чип рүү шатсан
  • Олон мэдрэгч нь нэг зүү хуваалцах боломжтой
  • ± 0.5 ° C -10 ° C -аас +85 ° C хүртэл нарийвчлал
  • Температурыг хязгаарлах дохиоллын систем
  • Асуулгын хугацаа 750 мс -ээс бага байна
  • 3.0 В -оос 5.5 В хүртэлх хүчээр ашиглах боломжтой

Энэхүү мэдрэгчийн гол асуудал бол Dallas 1-Wire интерфэйсийг ашигладаг бөгөөд бүх микроконтроллерт тохирох драйвер байдаггүй. Бид азтай байна, Itsybitsy M4 Express -ийн жолооч байна.

Алхам 7: DS18B20 сайн ажиллаж байна

DS18B20 сайн ажиллаж байна
DS18B20 сайн ажиллаж байна

Энэ нь маш сайн үр дүнг харуулж байна.

Нэмэлт ажил, тооцооллын нэмэлт зардалгүйгээр тогтмол уншилтын багц. Унтлага нь миний мөнгөн усны термометртэй харьцуулахад ± 0.5 ° C -ийн нарийвчлалтай байх ёстой.

10 долларын үнэтэй ус нэвтэрдэггүй хувилбар бас байдаг бөгөөд үүнийг би өмнө нь амжилттай ашиглаж байсан.

Алхам 8: DHT22 ба DHT11

DHT22 ба DHT11
DHT22 ба DHT11

DHT22 нь термистор ашиглан температурыг олж авдаг бөгөөд ойролцоогоор $ 10 / £ 10 үнэтэй бөгөөд жижиг DHT11 -ийн илүү үнэн зөв, үнэтэй ах юм. Энэ нь нэг утастай интерфэйсийг ашигладаг боловч DS18B20-т ашигладаг Даллас протоколтой нийцдэггүй. Энэ нь чийгшил, температурыг мэдэрдэг. Эдгээр төхөөрөмжүүдэд заримдаа 3.3 вольт ба дохионы зүү хооронд татах эсэргүүцэл хэрэгтэй болдог. Энэ багцад аль хэдийн суулгасан байна.

  • Бага зардал
  • 3-5 вольтын хүч ба I/O
  • Хөрвүүлэлтийн үед 2.5mA хамгийн их одоогийн хэрэглээ (өгөгдөл хүсэх үед)
  • 2-5% -ийн нарийвчлалтайгаар 0-100% чийгшилтийг уншихад сайн
  • -40-80 ° C температурын үзүүлэлтүүд ± 0.5 ° C нарийвчлалтай байвал сайн
  • 0.5 Гц -ээс ихгүй дээж авах хурд (2 секунд тутамд нэг удаа)
  • Биеийн хэмжээ 27mm x 59mm x 13.5mm (1.05 "x 2.32" x 0.53 ")
  • 4 зүү, 0.1 "зайтай
  • Жин (зөвхөн DHT22): 2.4г

DHT11 -тэй харьцуулахад энэ мэдрэгч нь илүү нарийвчлалтай, илүү нарийвчлалтай бөгөөд илүү өндөр температур/чийгшилд ажилладаг боловч илүү том бөгөөд үнэтэй байдаг.

Алхам 9: DHT22 үр дүн

DHT22 үр дүн
DHT22 үр дүн

Эдгээр нь маш бага хүчин чармайлтаар маш сайн үр дүн юм. Уншилт нь нэлээд тогтвортой бөгөөд хүлээгдэж буй хүлцлийн хүрээнд байна. Чийгийг унших нь урамшуулал юм.

Та секунд тутамд унших боломжтой.

Алхам 10: DTH11 тест

DTH11 тест
DTH11 тест

Миний мөнгөн усны термометр 21.9 градусыг харуулав. Энэ бол хуучин төслөөс авсан нэлээд хуучин DHT11 бөгөөд чийгшлийн утга нь хэдэн минутын өмнөх DHT22 үзүүлэлтээс эрс ялгаатай юм. Энэ нь ойролцоогоор $ 5 / £ 5 үнэтэй байдаг.

Түүний тайлбарт дараахь зүйлс орно.

  • 5% -ийн нарийвчлалтайгаар 20-80% -ийн чийгшилтийг уншихад тохиромжтой
  • 0-50 ° С -ийн температурын хэмжилтийн хувьд ± 2 ° C нарийвчлалтай - DTH22 -ээс бага

Температур нь нарийвчлалын хязгаарт байсаар байгаа боловч энэ хуучин төхөөрөмжөөс авсан чийгшилд итгэхгүй байна.

Алхам 11: BME680

BME680
BME680

Энэхүү мэдрэгч нь нэг багцад температур, чийгшил, барометрийн даралт, VOC хий мэдрэх чадварыг агуулдаг боловч энд туршиж байгаа хамгийн үнэтэй мэдрэгч юм. Энэ нь ойролцоогоор 18.50 фунт стерлинг / 22 долларын үнэтэй байдаг. Хийн мэдрэгчгүй ижил төстэй бүтээгдэхүүн байдаг бөгөөд энэ нь арай хямд байдаг.

Энэ бол тавын алтан стандарт мэдрэгч юм. Температур мэдрэгч нь үнэн зөв бөгөөд тохиромжтой жолоочтой бол ашиглахад маш хялбар байдаг. Энэ хувилбар нь I2C -ийг ашигладаг боловч Adafruit -ийн самбар нь SPI -ийг ашиглаж болно.

BME280 ба BMP280 -ийн нэгэн адил Bosch -ийн энэхүү нарийвчлалтай мэдрэгч нь чийгийг ± 3% нарийвчлалтай, барометрийн даралтыг ± 1 гПа үнэмлэхүй нарийвчлалтай, температурыг ± 1.0 ° C нарийвчлалтай хэмжих боломжтой. Даралт нь өндрөөс хамааран өөрчлөгдөж, даралтын хэмжилт маш сайн байдаг тул та үүнийг ± 1 метр ба түүнээс дээш нарийвчлалтай өндөр хэмжигч болгон ашиглаж болно!

Баримт бичгүүдэд хийн мэдрэгчийн хувьд "шатаах хугацаа" шаардагддаг гэжээ.

Алхам 12: Би алийг нь ашиглах ёстой вэ?

Би алийг нь ашиглах ёстой вэ?
Би алийг нь ашиглах ёстой вэ?
  • TMP36 нь маш хямд, жижиг, түгээмэл боловч ашиглахад нэлээд төвөгтэй бөгөөд буруу байж магадгүй юм.
  • DS18B20 нь жижиг, үнэн зөв, хямд, хэрэглэхэд тун хялбар, ус нэвтэрдэггүй хувилбартай.
  • DTH22 нь чийгшлийг илэрхийлдэг, дунд зэргийн үнэтэй, ашиглахад хялбар боловч хэт удаан байж магадгүй юм.
  • BME680 нь бусадтай харьцуулахад илүү их зүйлийг хийдэг боловч үнэтэй байдаг.

Хэрэв би зүгээр л температур хүсч байвал би DS18B20 -ийг ± 0.5 ° C нарийвчлалтай ашиглах болно, гэхдээ миний хамгийн дуртай зүйл бол BME680 юм.

Эцсийн нэг бодол. Температур мэдрэгчийг микропроцессороос хол байлгах хэрэгтэй. Зарим Raspberry Pi HATs нь үндсэн самбараас гарах дулааныг мэдрэгчийг дулаацуулж, хуурамч уншилт өгдөг.

Алхам 13: Цаашдын бодол, туршилт

Цаашдын бодол, туршилт
Цаашдын бодол, туршилт

Gulliverrr, ChristianC231 болон pgagen -д миний өнөөг хүртэл хийсэн зүйлийн талаар саналаа өгсөнд баярлалаа. Хойшлуулсанд уучлаарай, гэхдээ би хоёр долоо хоногийн турш цахилгаан хэрэгслийнхээ хүртээмжийг авалгүй Ирландад амарч байсан.

Мэдрэгчид хамтран ажиллаж байгааг харуулах анхны оролдлого энд байна.

Би мэдрэгчийг ээлжлэн уншиж, 20 секунд тутамд температурын утгыг хэвлэх скрипт бичсэн.

Би бүх зүйлийг хөргөхийн тулд иж бүрдлийг нэг цагийн турш хөргөгчинд хийв. Би үүнийг компьютерт холбож, Му -г үр дүнг нь хэвлүүлэхийг хүссэн. Дараа нь гаралтыг хуулж,.csv файл (таслалаар тусгаарлагдсан хувьсагч) болгон хувиргаж, Excel дээрх үр дүнгээс график зурав.

Үр дүнг бүртгэхээс өмнө иж бүрдлийг хөргөгчнөөс гаргаж авахад гурван минут орчим хугацаа шаардагдсан тул энэ хугацаанд температурын өсөлт ажиглагдсан байна. Дөрвөн мэдрэгч нь өөр өөр дулааны хүчин чадалтай тул янз бүрийн хурдаар дулаарна гэж би бодож байна. Мэдрэгчид өрөөний температурт ойртох тусам дулаарлын хурд буурах төлөвтэй байна. Би үүнийг мөнгөн усны термометрээр 24.4 хэм гэж тэмдэглэсэн.

Муруйн эхэн үеийн температурын зөрүү нь мэдрэгчийн өөр өөр дулааны багтаамжаас шалтгаалж болно. Өрөөний температурт ойртох тусам шугамууд эцэс хүртэл ойртоход би баяртай байна. TMP36 нь бусад мэдрэгчээс хамаагүй өндөр байдагт би санаа зовдог.

Эдгээр төхөөрөмжийн тайлбарласан нарийвчлалыг дахин шалгахын тулд би мэдээллийн хуудсыг хайлаа

TMP36

  • Температураас дээш ± 2 ° C нарийвчлал (typ)
  • ± 0.5 ° C шугаман байдал (төрөл)

DS18B20

± 0.5 ° C -10 ° C -аас +85 ° C хүртэл нарийвчлал

DHT22

температур ± 0.5 ° C

BME680

± 1.0 ° C нарийвчлалтай температур

Алхам 14: Бүрэн график

Бүтэн график
Бүтэн график

Мэдрэгчид эцэст нь түвшинг бууруулж, тайлбарласан нарийвчлалынхаа дагуу температурын талаар тохиролцсон болохыг та одоо харж байна. Хэрэв TMP36 -ийн утгыг 1.7 градусаар хасвал (± 2 ° C байх төлөвтэй байгаа) бүх мэдрэгчийн хооронд сайн тохиролцсон байна.

Би энэ туршилтыг анх хийхдээ DHT22 мэдрэгч нь асуудал үүсгэсэн.

main.py гаралт:

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 унших алдаа: ('DHT мэдрэгч олдсонгүй, утсыг шалгаарай',)

Traceback (хамгийн сүүлд хийсэн дуудлага):

"Main.py" файл, 64 -р мөр, in

Get_dht22 дахь 59 -р мөр "main.py" файл

NameError: даалгавар өгөхөөс өмнө иш татсан орон нутгийн хувьсагч

Тиймээс би энэ асуудлыг шийдэхийн тулд скриптийг өөрчилж, бичлэгийг дахин эхлүүлсэн.

DHT унших алдаа: ('DHT мэдрэгч олдсонгүй, утсыг шалгаарай',)

25.9, 22.6, -999.0, 22.6

DHT унших алдаа: ('DHT мэдрэгч олдсонгүй, утсыг шалгаарай',)

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 унших алдаа: ('DHT мэдрэгч олдсонгүй, утсыг шалгаарай',)

27.1, 23.0, -999.0, 23.0

DHT унших алдаа: ('DHT мэдрэгч олдсонгүй, утсыг шалгаарай',)

27.2, 23.0, -999.0, 23.1

25.9, 23.3, 22.6, 23.2

DHT унших алдаа: ('DHT мэдрэгч олдсонгүй, утсыг шалгаарай',)

28.4, 23.2, -999.0, 23.3

DHT унших алдаа: ('DHT мэдрэгч олдсонгүй, утсыг шалгаарай',)

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

Хоёрдахь гүйлтийн хувьд надад ямар ч асуудал байгаагүй. Adafruit -ийн баримт бичигт DHT мэдрэгч заримдаа уншилтаа алддаг болохыг анхааруулдаг.

Алхам 15: Дүгнэлт

Дүгнэлт
Дүгнэлт

Энэхүү муруй нь зарим мэдрэгчийн дулааны багтаамж өндөр байх тусам урвалын хугацааг нэмэгдүүлдэг болохыг тодорхой харуулж байна.

Бүх мэдрэгч нь температурын өсөлт, бууралтыг бүртгэдэг.

Тэд шинэ температурт дасах нь тийм ч хурдан биш юм.

Тэд тийм ч нарийвчлалтай биш юм. (Тэд цаг агаарын станцад хангалттай сайн байна уу?)

Та мэдрэгчээ итгэмжлэгдсэн термометрээр тохируулах хэрэгтэй болж магадгүй юм.

Зөвлөмж болгож буй: