Мазмұны:

Температура датчиктерін тексеру - мен үшін қайсысы?: 15 қадам (суреттермен)
Температура датчиктерін тексеру - мен үшін қайсысы?: 15 қадам (суреттермен)

Бейне: Температура датчиктерін тексеру - мен үшін қайсысы?: 15 қадам (суреттермен)

Бейне: Температура датчиктерін тексеру - мен үшін қайсысы?: 15 қадам (суреттермен)
Бейне: Шылаушын температурасын тексеру Көңнің температурасы қанша болу керек 2024, Қараша
Anonim
Температура сенсорларын тексеру - бұл қайсысы?
Температура сенсорларын тексеру - бұл қайсысы?

Физикалық есептеуге жаңадан келгендер температураны өлшеуге тырысатын алғашқы сенсорлардың бірі. Ең танымал сенсорлардың төртеуі-аналогтық шығысы бар және сандық түрлендіргішке аналогты қажет ететін TMP36, DS18B20, ол бір сымды қосылымды пайдаланады, DHT22 немесе сәл арзан DHT11, оған тек цифрлық түйреуіш қажет. ылғалдылық көрсеткішін қамтамасыз етеді, және ақырында I2C (кейбір сынғыш тақталарда) пайдаланатын және температураны, ылғалдылықты, газды (VOC) және атмосфералық қысымды беретін BME680, бірақ сәл қымбатырақ.

Мен олардың қаншалықты дәл екенін көргім келеді және кез келген артықшылықтар мен кемшіліктерді ашқым келеді. Менде химиялық өңдеу кезінде түсті фотографиялық басып шығарудан қалған сынапты дәл термометр бар, оларды салыстыру үшін. (Ешқашан ештеңені тастамаңыз - сізге кейінірек қажет болады!)

Мен бұл сынақтар үшін CircuitPython мен Adafruit Itsybitsy M4 даму тақтасын қолданамын. Барлық құрылғылар үшін қолайлы драйверлер бар.

Жабдықтар

Менің бастапқы тізімім:

  • Itsybitsy M4 Express микроконтроллері
  • микро USB кабелі - бағдарламалауға арналған
  • TMP36
  • DS18B20
  • 4.7К Ом резисторы
  • DHT22
  • BME680
  • Көп метрлік
  • Нан тақтасы немесе жолақ тақтасы
  • Қосылатын сым

1 -қадам: тізбектер

Схемалар
Схемалар

Қызғылт сары сымдар - 3,3 В

Қара сымдар GND

Тақтаның төменгі жағында кернеуді өлшеуге арналған сынақ нүктелері орналасқан. (3.3v, GND және TMP36 аналогтық шығысы)

Орталық розеткалар солдан оңға қарай орналасқан:

  • TMP36: 3.3v, аналогтық сигнал шығысы, GND
  • DS18B20: GND, цифрлық сигнал шығысы, 3.3в
  • DHT22: 3.3v, сигнал беру, бос, GND
  • BME680: 3.3v, SDA, SCL, бос, GND

IB4 M4E тақтасына қосылу үшін артқы коннектор солдан оңға қарай

  • 3.3в
  • TMP36 - А2 түйреуішінің аналогы
  • GND
  • DS18B20 цифрлық шығысы D3 - жасыл
  • DHT22 сандық шығысы D2 түйреуішіне - сары
  • SDA - ақ
  • SCL - қызғылт

4.7K Ом резисторы-DS18B20-де 0не сымды қосылым үшін сигналдан 3.3В-қа дейін тартылу.

Тақтаның артқы жағында 2 кесілген жол бар:

Қызғылт және ақ сымдардың сол жақ шетінде. (Сары сымның астында.)

2 -қадам: әдіс

Әдіс
Әдіс

Әрбір сенсор үшін мен бірнеше рет температураны (және егер бар болса) оқу үшін қысқа сценарий жазамын және температураны сынап (Hg) термометріне тексеремін. Мен температураның сынап көрсеткішімен қаншалықты жақын екенін және көрсеткіштер тұрақты/сәйкес келетінін білгім келеді.

Мен сондай -ақ құжаттаманы қарап шығамын, бұл көрсеткіштер күтілетін дәлдікке сәйкес келеді ме және жақсарту үшін не істеу керек екенін білемін.

3 -қадам: TMP36 - бастапқы сынақ

TMP36 - бастапқы сынақ
TMP36 - бастапқы сынақ
TMP36 - бастапқы сынақ
TMP36 - бастапқы сынақ

Сол жақ аяғы - 3,3в, оң аяғы - GND, ал ортаңғы аяғы - келесі формуланы қолдана отырып, температураны білдіретін аналогты кернеу. TempC = (милливольт - 500) / 10

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

Бұл жерде бір -екі мәселе бар сияқты. «Қалыпты» сынап термометрінің температурасы TMP36 -ға қарағанда әлдеқайда төмен және көрсеткіштер біркелкі емес - кейбір «діріл» немесе шу бар.

TMP36 сенсоры температураға пропорционалды кернеуді жібереді. Мұны температура есептелмес бұрын А/К түрлендіргіші оқу керек. Мультиметрмен сенсордың ортаңғы аяғынан кернеуді тікелей оқып, оны А/Д нәтижесімен салыстырайық. Мультиметрмен орталық аяқтың көрсеткіші 722 милливольт, әлдеқайда төмен және өте тұрақты көрсеткіш.

Біз сынап көре алатын екі нәрсе бар. TMP36 потенциометрін ауыстырыңыз және есепте кернеуді микроконтроллердің нақты кернеуіне реттеңіз. Содан кейін біз есептелген кернеудің жақынырақ екенін және шу/дірілдің төмендегенін көреміз.

Микроконтроллер мен А/Д нақты кернеуді өлшейік. Бұл 3,3В деп қабылданды, бірақ шын мәнінде тек 3,275В.

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 биттік бірегей идентификатор чипке жазылды
  • Бірнеше сенсор бір түйреуішті бөлісе алады
  • ± 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 доллар тұрады және кіші DHT11 -дің дәл және қымбат ағасы болып табылады. Ол сондай-ақ бір сымды интерфейсті қолданады, бірақ DS18B20-де қолданылатын Даллас хаттамасымен үйлесімді емес. Ол ылғалдылық пен температураны сезеді. Бұл құрылғыларға кейде 3,3 вольт пен сигналдың түйреуіші арасындағы тартылатын резистор қажет. Бұл пакетте бұрыннан орнатылған.

  • Төмен баға
  • 3 -тен 5В -қа дейінгі қуат және енгізу -шығару
  • Түрлендіру кезінде 2,5 мА токты максималды пайдалану (деректерді сұрау кезінде)
  • 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 ° C температура көрсеткіштері үшін ± 2 ° C дәлдік үшін жақсы - DTH22 -ден төмен

Температура дәл дәлдік диапазонында сияқты, бірақ мен бұл ескі құрылғыдағы ылғалдылық көрсеткішіне сенбеймін.

11 -қадам: BME680

BME680
BME680

Бұл сенсор бір пакетте температураны, ылғалдылықты, барометрлік қысымды және газды сезу мүмкіндіктерін қамтиды, бірақ бұл жерде тексерілген сенсорлардың ең қымбаты. Бұл шамамен £ 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 ° 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 сенсоры табылмады, сымды тексеріңіз')

Бақылау (соңғы соңғы қоңырау):

«Main.py» файлы, 64 -жол, in

Get_dht22 ішіндегі «main.py» файлы, 59 -жол

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 -қадам: Қорытынды

Қорытынды
Қорытынды

Бұл қисық кейбір сенсорлардың жоғары жылу сыйымдылығы олардың реакция уақытын арттыратынын анық көрсетеді.

Барлық сенсорлар температураның көтерілуі мен төмендеуін тіркейді.

Олар жаңа температураға тез бейімделмейді.

Олар өте дәл емес. (Олар метеостанция үшін жеткілікті ме?)

Сенсорды сенімді термометрден калибрлеу қажет болуы мүмкін.

Ұсынылған: