DS18B20: датчык тэмпературы для вадкасці

DS18B20

Даступны розныя датчыкі вільготнасці і тэмпературы, такія як LM35. Некаторыя ўбудаваны ў модулі для спецыяльнага выкарыстання з Arduino. Але звычайна яны вымяраюць сухую тэмпературу, гэта значыць тэмпературу паветра. Але ёсць канкрэтная мадэль, якая працуе вымяраюць тэмпературу ў вадкасцях і называецца DS18B20. Асаблівасць, якая можа спатрэбіцца для некаторых з вашых больш экзатычных самаробных праектаў, дзе вы таксама гуляеце з вадкасцю, для якой вам трэба ведаць гэты параметр.

На самай справе DS18B20 не толькі вымярае тэмпературу ўнутры вадкасці, але можа быць вельмі карысным для вымярэння тэмпературы вільготнае асяроддзе, а таксама пад вадкасцю. Такім чынам, вы можаце таксама выкарыстоўваць яго для вымярэння тэмпературы паветра, калі навакольнае асяроддзе дастаткова нагружана вільготнасцю. І як я ўжо казаў, асаблівасць магчымасці пагрузіць яго ў вадкасць для вымярэння тэмпературы - адна з асаблівасцей, якія робяць яе неверагодна практычнай.

Што такое DS18B20?

Ну, я думаю, гэта ўжо стала цалкам зразумела, гэта электронны датчык, здольны вымяраць тэмпературу газавых або вадкіх асяроддзяў. Да таго ж ёсць іншая капсуляцыя альбо ўпакоўка DS18B20, напрыклад, асноўны, які вы бачыце на галоўным малюнку, альбо ён таксама можа быць інтэграваны ў некаторыя друкаваныя платы, падводныя зонды і г.д. Для вашага праекта вы павінны выбраць найбольш прыдатны фармат у адпаведнасці з тым, што хочаце.

Напрыклад, акрамя тыповага TO-92, ёсць яшчэ і microSOP. Магчыма, інтэграваць з Arduino найбольш прыдатным з'яўляецца ТО-92, так як яго тры шпількі вельмі лёгка ўставіць у макет для падлучэння.

Распиновка

Ds18b20 шпількі

El Распінаванне DS18B20 лёгка вызначыць. Напрыклад, узяўшы ў якасці эталона пакет Даласа TO-92, які з'яўляецца адным з самых папулярных, вы можаце ўбачыць, што ён мае тры штыфты. Калі пакласці яго спераду, гэта значыць з закругленым участкам назад і паглядзець на плоскі твар, дзе з'яўляюцца надпісы, штыфт злева - 1, а справа - 3. Такім чынам, 1 будзе для GND або зазямленне, 2 прызначана для дадзеных, а 3 - для напружання харчавання.

Тут мы павінны сказаць, што каштоўнасці, якія вы павінны ведаць:

  • Штыфт 1: вы павінны падключыць яго да штыфта GND Arduino, гэта значыць да 0v.
  • Штыфт 2: гэты штыфт - гэта DQ або дадзеныя, тыя, якія будуць адпраўляць тэмпературы, вымераныя датчыкам, у Arduino праз пэўны пратакол, вядомы як 1-Wire, і якому спатрэбіцца спецыяльная бібліятэка і функцыі для IDE Arduino. Гэта дазволіць выкарыстоўваць толькі адзін штыфт Arduino для падлучэння некалькіх датчыкаў з гэтым пратаколам ...
  • Штыфт 3: Ён можа падсілкоўвацца ад 3 да 5,5 у, таму вы можаце падключыць яго да выхаду 5 В Arduino.

Тэхнічныя характарыстыкі і тэхнічныя характарыстыкі DS18B20

Як заўсёды, гэта так цікава ведаць тэхнічныя характарыстыкі датчыка, каб ведаць, як ён працуе, каб не пашкодзіць яго, і перш за ўсё, каб мы ведалі, дзе знаходзяцца яго межы вымярэння, бо калі значэнні, якія мы хочам вымераць, не знаходзяцца паміж імі, гэта не дапаможа нам і варта пашукаць іншую альтэрнатыву.

Для гэтага лепш спампаваць файл табліца вытворцы, як той у Даласе вы можаце ўбачыць тут. Там вы знойдзеце ўсю неабходную інфармацыю. І памятайце, што, хоць усе DS18B20 могуць быць падобныя, у залежнасці ад вытворцы або ўпакоўкі вы можаце знайсці некаторыя змены ...

Але незалежна ад дзівацтваў, тут некалькі асноўныя тэхнічныя дадзеныя:

  • Дыяпазон тэмператур: -55 да 125ºC, таму ён можа вымяраць у газе ці вадкасці пры вельмі нізкіх, а таксама высокіх тэмпературах.
  • Errores: DS18B20 адчувальны да знешніх шумоў і парушэнняў, якія могуць даць памылковыя значэнні пры вымярэннях. Дапушчальная хібнасць складае плюс мінус 2ºC, хаця пры тэмпературы ад -10ºC да 85ºC, гэта значыць, калі мы не блізка да межаў, яна можа складаць толькі палову градуса.
  • Дазвол: Вы можаце працаваць з некалькімі дазволамі альбо мінімальнымі варыяцыямі, якія вы можаце выявіць з дапамогай аналагавых штыфтоў Arduino. Падтрымлівае 9-біт, 10-біт, 11-біт і 12-біт (па змаўчанні). Гэта значыць, ён можа вымяраць ад паловы да паловы градуса, ад чвэрці да чвэрці градуса, ад 0,125 да 0,125 ° С альбо ад 0,0625 ° С адпаведна. Вы можаце змяніць гэта праграмаванне з дапамогай кода праграмавання.
  • Напружанне харчавання: Ад 3 да 5,5 у
  • цана: Ад 1 да 3 €

Інтэграцыя з Arduino

Схема злучэння Arduino - ds18b20

Хаця ёсць розныя спосабы яго злучэння, найбольш прыдатным з'яўляецца той, які вы бачыце на гэтай схеме. Гэта даволі проста, з GND-кантактам у адпаведным злучэнні платы Arduino, той самай магутнасцю, а потым дадзенымі для аналага Arduino, якія вы выбралі ў сваім кодзе праграмавання ў IDE Arduino. Але добра таксама ўсталяваць падцягвальны рэзістар 4,7k (калі адлегласць кабеля датчыка зонда больш, супраціў павінен быць меншым, напрыклад, для 5м 3,3к, для 10 з 2,2, XNUMXк, ...) для штыфта дадзеных і, такім чынам, падтрымлівайце яго заўсёды высокім.

Для праграмаванне ў IDE Arduino і яго добрая інтэграцыя з DS18B20 і менавіта гэтым пратаколам, рэкамендуецца загружаць бібліятэкі Тэмпература Даласа y OneWire ад навакольнага асяроддзя. І базавы код, гэта можа быць нешта накшталт гэтага прыкладу, які я паказваю:

#include <OneWire.h>
#include <DallasTemperature.h>

// Pin donde se conecta el bus 1-Wire (DQ)
const int pinDatosDQ = 9;

// Instancia a las clases OneWire y DallasTemperature
OneWire oneWireObjeto(pinDatosDQ);
DallasTemperature sensorDS18B20(&oneWireObjeto);
 
void setup() {
    // Iniciamos la comunicación serie a 9600 baudios
    Serial.begin(9600);
    // Iniciamos el bus 1-Wire del sensor
    sensorDS18B20.begin(); 
}
 
void loop() {
    // Indicamos que tome la temperatura
    Serial.println("Midiendo temperatura");
    sensorDS18B20.requestTemperatures();
 
    // Lee y muestra la temperatura (recuerda que puedes conectar más de uno con 1-wire)
    Serial.print("La temperatura del sensor 0 es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(0));
    Serial.println(" C");
    Serial.print("La temperatura del sensor x es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(1));
    Serial.println(" ºC");
    
    delay(1000); 
}

Больш інфармацыі - Кіраўніцтва па праграмаванні Arduino (бясплатны PDF)


Змест артыкула адпавядае нашым прынцыпам рэдакцыйная этыка. Каб паведаміць пра памылку, націсніце тут.

Будзьце першым, каб каментаваць

Пакіньце свой каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаныя *

*

*

  1. Адказны за дадзеныя: Мігель Анхель Гатон
  2. Прызначэнне дадзеных: Кантроль спаму, кіраванне каментарыямі.
  3. Легітымнасць: ваша згода
  4. Перадача дадзеных: Дадзеныя не будуць перададзены трэцім асобам, за выключэннем юрыдычных абавязкаў.
  5. Захоўванне дадзеных: База дадзеных, размешчаная Occentus Networks (ЕС)
  6. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.