Мазмуну:
- Жабдуулар
- 1 -кадам: Райондор
- 2 -кадам: ыкма
- 3 -кадам: TMP36 - Баштапкы сыноо
- 4 -кадам: Потенциометрди алмаштыруунун жыйынтыктары
- 5 -кадам: Орточо көрсөткүчтөр жана жыйынтык
- 6 -кадам: DS18B20 - алгачкы тестирлөө
- 7 -кадам: DS18B20 жакшы иштейт
- 8 -кадам: DHT22 жана DHT11
- 9 -кадам: DHT22 жыйынтыктары
- 10 -кадам: DTH11 тест
- 11 -кадам: BME680
- 12 -кадам: Мен кайсынысын колдонушум керек?
- 13 -кадам: Андан аркы ойлор жана эксперимент
- 14 -кадам: Толук график
- 15 -кадам: Жыйынтыктар
Video: Температура сенсорлорун текшерүү - Мен үчүн кайсынысы?: 15 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Физикалык эсептөөдө жаңы келгендер температураны өлчөөчү нерселерди сынап көргүсү келген биринчи сенсорлордун бири. Эң популярдуу сенсорлордун төртөө-аналогдук чыгууга ээ болгон жана санариптик конвертерге аналогго муктаж болгон 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 - Баштапкы сыноо
Сол буту 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 - алгачкы тестирлөө
Өтө этият болуңуз. Бул пакет 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 жакшы иштейт
Бул сонун натыйжаны көрсөтөт.
Эч кандай кошумча жумушсуз жана кошумча чыгымдарсыз туруктуу окуу топтому. Менин сымап термометриме салыштырганда көрсөткүчтөр ± 0,5 ° C күтүлгөн тактык диапазонунда.
10 долларга жакын суу өткөрбөй турган версиясы бар, мен аны мурун ийгиликтүү колдонгом.
8 -кадам: 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 жыйынтыктары
Бул абдан аз аракет менен сонун жыйынтыктар. Окуулар абдан туруктуу жана күтүлгөн толеранттуулуктун чегинде. Нымдуулук окуу бонус болуп саналат.
Сиз ар бир секундада гана окууларды ала аласыз.
10 -кадам: DTH11 тест
Менин сымап термометрим 21.9 градусту көрсөттү. Бул мен эски долбоордон алынган абдан эски DHT11 жана нымдуулук бир нече мүнөт мурунку DHT22 көрсөткүчтөрүнөн абдан айырмаланат. Бул болжол менен $ 5 / £ 5 турат.
Анын сүрөттөмөсү төмөнкүлөрдү камтыйт:
- 5% тактык менен 20-80% нымдуулук көрсөткүчтөрү үчүн жакшы
- 0-50 ° C температурасы үчүн жакшы ± 2 ° C тактык - DTH22ден азыраак
Температура дагы деле тактык диапазонунда көрүнөт, бирок мен бул эски түзмөктүн нымдуулугуна ишенбейм.
11 -кадам: 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 -кадам: Жыйынтыктар
Бул ийри кээ бир сенсорлордун жогорку жылуулук сыйымдуулугу алардын реакция убактысын көбөйтөөрүн ачык көрсөтүп турат.
Бардык сенсорлор температуранын жогорулашын жана төмөндөшүн жазат.
Алар жаңы температурага тез эле көнө алышпайт.
Алар абдан так эмес. (Алар аба ырайы бекети үчүн жетиштүүбү?)
Сенсорду ишенимдүү термометрге каршы калибрлөө керек болушу мүмкүн.
Сунушталууда:
NodeMCU сенсорлорун башкаруу релеси менен IoTге негизделген үйдү автоматташтыруу: 14 кадам (сүрөттөр менен)
NodeMCU сенсорлорун көзөмөлдөө релеси менен IoTге негизделген үйдү кантип автоматташтыруу керек: Бул IoTге негизделген долбоордо мен Blynk жана NodeMCU башкаруучу реле модулу менен реалдуу убакытта кайтарым байланыш менен үй автоматташтырууну жасадым. Кол режиминде бул реле модулун Мобилдик же смартфондон жана Кол которгучтан башкарса болот. Авто режимде, бул акылдуу
Ардуино үчүн температура сенсору COVID 19 үчүн колдонулат: 12 кадам (Сүрөттөр менен)
Ардуино үчүн температура сенсору COVID 19 үчүн колдонулат: Arduino үчүн температура сенсору адамдын денесиндеги процессордун температурасын өлчөгүбүз келгенде негизги элемент болуп саналат. Arduino менен температура сенсору жылуулуктун деңгээлин кабыл алуу жана өлчөө үчүн байланышта же жакын болушу керек. Мына ушинтип
УЗИ сенсорлорун колдонуу менен роботко тоскоолдук кылуу: 9 кадам (сүрөттөр менен)
УЗИ сенсорлорун колдонуу менен роботко тоскоолдук кылуу: Бул УЗИ сенсорлорун (HC SR 04) жана Arduino Uno тактасын колдонуу менен тоскоолдуктардан качуу роботу жөнүндө жөнөкөй проект. үйрөтүүчү долбоор, сиз менен бөлүшө
Темир жолдорду коргоо үчүн Arduinoдо температура, жамгыр суусу жана дирилдөө сенсорлорун колдонуу: 8 кадам (сүрөттөр менен)
Темир жолдорду коргоо үчүн Arduinoдогу температура, жамгыр суусу жана дирилдөө сенсорлорун колдонуу: Заманбап коомдо темир жолчулардын көбөйүшү темир жол компаниялары суроо-талапка жооп берүү үчүн тармактарды оптималдаштыруу үчүн дагы көп нерселерди жасашы керек дегенди билдирет. Бул долбоордо биз кичине масштабда температура, жамгыр суусу жана дирилдөө сенсорлорунун кандай экенин көрсөтөбүз
Робототехника үчүн ашыкча PIR сенсорлорун даярдаңыз: 3 кадам (сүрөттөр менен)
Робототехника үчүн ашыкча PIR сенсорлорун даярдаңыз: Мен eBayден бир топ PIR сенсорлорун таптым. Алар уюлдук телефондор үчүн гарнитура үчүн чыгарылган компьютерге орнотулган. Мен бул жерде сенсорду робототехника долбоорлорунда кантип даярдоо керектигин сүрөттөп берүүнү жакшы көрөм, эгер сиз PIR сенсорунун эмне экенин билбесеңиз