Мазмуну:

Температура сенсорлорун текшерүү - Мен үчүн кайсынысы?: 15 кадам (Сүрөттөр менен)
Температура сенсорлорун текшерүү - Мен үчүн кайсынысы?: 15 кадам (Сүрөттөр менен)

Video: Температура сенсорлорун текшерүү - Мен үчүн кайсынысы?: 15 кадам (Сүрөттөр менен)

Video: Температура сенсорлорун текшерүү - Мен үчүн кайсынысы?: 15 кадам (Сүрөттөр менен)
Video: Gastrointestinal Dysmotility in Autonomic Disorders 2024, Ноябрь
Anonim
Температура сенсорлорун текшерүү - Мен үчүн кайсынысы?
Температура сенсорлорун текшерүү - Мен үчүн кайсынысы?

Физикалык эсептөөдө жаңы келгендер температураны өлчөөчү нерселерди сынап көргүсү келген биринчи сенсорлордун бири. Эң популярдуу сенсорлордун төртөө-аналогдук чыгууга ээ болгон жана санариптик конвертерге аналогго муктаж болгон TMP36, DS18B20, ал бир зымдуу туташууну колдонот, DHT22, же бир аз арзаныраак DHT11, бул санариптик пинге эле керек, бирок нымдуулуктун көрсөткүчү менен камсыз кылат жана акырында BME680 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 - аналоги A2 пинге
  • GND
  • DS18B20 санарип D3 пинге чейин - жашыл
  • DHT22 санарип D2 пинге чейин - сары
  • SDA - ак
  • SCL - кызгылт

4.7K Ohm каршылыгы DS18B20до 0ne-зым туташуусу үчүн сигналдан 3.3v чейин тартылуу болуп саналат.

Тактанын арт жагында 2 кесилген трек бар:

Кызгылт жана ак түстөгү зымдардын сол колунун астынан. (Сары зымдын астында.)

2 -кадам: ыкма

Метод
Метод

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

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

3 -кадам: TMP36 - Баштапкы сыноо

TMP36 - Баштапкы сыноо
TMP36 - Баштапкы сыноо
TMP36 - Баштапкы сыноо
TMP36 - Баштапкы сыноо

Сол буту 3.3v, оң буту GND жана борбордук буту төмөнкү формула боюнча температураны билдирген аналогдук чыңалуу. TempC = (милливольт - 500) / 10

Ошентип, 750 милливольт 25 С температураны берет

Бул жерде бир -эки көйгөй бар окшойт. "Кадимки" сымап термометринин температурасы TMP36га караганда бир кыйла төмөн жана көрсөткүчтөр анча ырааттуу эмес - кээ бир "джиттер" же ызы -чуу бар.

TMP36 сенсору температурага пропорционалдуу чыңалууну жөнөтөт. Бул температура эсептелгенге чейин A/D конвертери тарабынан окулушу керек. Келгиле, чыңалууну сенсордун ортоңку бутунан түздөн-түз көп метр менен окуп, аны А/Днын жыйынтыгы менен салыштырып көрөлү. Менин көп метр менен борбордук бутунан окуу 722 милливольт, алда канча төмөн жана абдан туруктуу көрсөткүч.

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

Келгиле, менин микроконтроллеримде жана А/Дда колдонулуп жаткан чыныгы чыңалууну өлчөйлү. Бул 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.3v ортосундагы 4.7 к Ом резистору керек. Бул түзмөк бир зымдуу протоколду колдонот жана биз Itybitsy M4 Expressтин lib папкасына драйверлерди жүктөп алышыбыз керек.

Бул болжол менен $ 4 / £ 4 Техникалык мүнөздөмөлөрү:

  • Колдонулуучу температура диапазону: -55тен 125 ° Cга чейин (-67 ° F дан +257 ° F)
  • 9-12 биттик тандалуучу чечим
  • 1 -Wire интерфейсин колдонот - байланыш үчүн бир гана санарип пин керек
  • Уникалдуу 64 биттик ID чипке күйүп кетти
  • Бир нече сенсор бир пинди бөлүшө алат
  • ± 0,5 ° C -10 ° Cдан +85 ° Cга чейин тактык
  • Температура-чек сигнализациясы
  • Суроо убактысы 750msден аз
  • 3.0Vдан 5.5Vга чейин кубаттуулукта колдонулат

Бул сенсордун негизги көйгөйү-бул 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 5V кубаттуулугу жана I/O
  • 2.5mA максималдуу учурдагы айландыруу учурунда колдонуу (маалыматтарды сурап жатканда)
  • 2-5% тактык менен 0-100% нымдуулук көрсөткүчтөрү үчүн жакшы
  • -40тан 80 ° Сге чейинки температура көрсөткүчтөрү ± 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 ° C температурасы үчүн жакшы ± 2 ° C тактык - DTH22ден азыраак

Температура дагы деле тактык диапазонунда көрүнөт, бирок мен бул эски түзмөктүн нымдуулугуна ишенбейм.

11 -кадам: BME680

BME680
BME680

Бул сенсор бир пакетте температураны, нымдуулукту, барометрдик басымды жана VOC газын аныктоо мүмкүнчүлүктөрүн камтыйт, бирок бул жерде сыналган сенсорлордун эң кымбаты. Бул болжол менен £ 18.50 / $ 22 турат. Газ сенсору жок ушундай эле продукт бар, ал бир аз арзаныраак.

Бул бештин алтын стандарттуу сенсору. Температура сенсору так жана ылайыктуу айдоочулар менен колдонууга абдан оңой. Бул версия I2C колдонот, бирок Adafruit сынык тактасы SPIди да колдоно алат.

BME280 жана BMP280 сыяктуу Boschтун бул тактык сенсору нымдуулукту ± 3% тактык менен, барометрдик басымды ± 1 hPa абсолюттук тактыкта жана температураны ± 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 ° C деп жаздым.

Ийри башталышындагы температуранын чоң айырмачылыктары сенсорлордун ар кандай жылуулук сыйымдуулугуна чейин болушу мүмкүн. Сызыктар бөлмө температурасына жакындаганда аягына чейин жакындаганын көрүп кубанычтамын. Мен TMP36 дайыма башка сенсорлорго караганда алда канча жогору экенине тынчсызданам.

Бул аппараттардын сүрөттөлгөн тууралыгын кайра текшерүү үчүн маалымат баракчаларын карадым

TMP36

  • ± 2 ° C температура боюнча тактык (тип)
  • ± 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 -сап, ичинде

Файл "main.py", 59 -сап, get_dht22

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 -кадам: Жыйынтыктар

Жыйынтыктар
Жыйынтыктар

Бул ийри кээ бир сенсорлордун жогорку жылуулук сыйымдуулугу алардын реакция убактысын көбөйтөөрүн ачык көрсөтүп турат.

Бардык сенсорлор температуранын жогорулашын жана төмөндөшүн жазат.

Алар жаңы температурага тез эле көнө алышпайт.

Алар абдан так эмес. (Алар аба ырайы бекети үчүн жетиштүүбү?)

Сенсорду ишенимдүү термометрге каршы калибрлөө керек болушу мүмкүн.

Сунушталууда: