DS18B20. Հեղուկների ջերմաստիճանի տվիչ

DS18B20

Առկա են խոնավության և ջերմաստիճանի տարբեր սենսորներ, ինչպիսիք են LM35– ը, Ոմանք ներկառուցվել են Arduino- ի հետ հատուկ օգտագործման համար նախատեսված մոդուլների մեջ: Բայց հիմնականում դրանք պետք է չափեն չոր ջերմաստիճանը, այսինքն ՝ օդի ջերմաստիճանը: Բայց կա կոնկրետ մոդել, որի համար աշխատում է չափել ջերմաստիճանը հեղուկների մեջ և կոչվում է DS18B20, Մի առանձնահատկություն, որը կարող է օգտակար լինել ձեր որոշ ավելի էկզոտիկ DIY նախագծերի համար, որտեղ դուք խաղում եք նաև ինչ-որ տեսակի հեղուկի հետ, որի համար անհրաժեշտ է իմանալ այս պարամետրը:

Իրականում DS18B20- ը ոչ միայն ջերմաստիճանը չափում է հեղուկների ներսում, այլ նաև կարող է շատ օգտակար լինել ջերմաստիճանը չափելու մեջ խոնավ միջավայրում և նաև որոշակի հեղուկի տակ, Այսպիսով, դուք կարող եք նաև այն օգտագործել օդի ջերմաստիճանը չափելու համար, եթե միջավայրը բավականին հագեցած է խոնավությամբ: Եվ ինչպես ասացի, այն ջերմաստիճանի չափման համար հեղուկի մեջ սուզելու ունակության առանձնահատկությունն այն անկրկնելիորեն գործնական դարձնող հատկություններից է:

Ի՞նչ է DS18B20- ը:

Դե, կարծում եմ, որ դա արդեն բավականին պարզ է դարձել, դա էլեկտրոնային սենսոր է, որն ունակ է չափել գազային կամ հեղուկ միջավայրի ջերմաստիճանը: Բացի այդ, կան DS18B20- ի տարբեր պատիճ կամ փաթեթավորում, ինչպիսին է հիմնականը, որը տեսնում եք հիմնական պատկերում, կամ այն ​​կարող է նաև ինտեգրվել որոշ PCB- ներում, սուզվող զոնդերում և այլն: Ձեր ծրագրի համար դուք պետք է ընտրեք ամենահարմար ձևաչափը ՝ ըստ ձեր ուզածի:

Օրինակ, բացի տիպիկ TO-92- ից, կա նաև microSOP: Հնարավոր է `ինտեգրվելու համար Arduino- ի հետ ամենահարմարը TO-92- ն է, քանի որ իր երեք քորոցներով շատ հեշտ է տեղադրել հացաթխման տախտակը միացման համար:

Ծխելը

Ds18b20 կապում

El DS18B20 pinout հեշտ է նույնականացնել: Օրինակ ՝ որպես հղում վերցնելով Dallas TO-92 փաթեթը, որը ամենատարածվածներից մեկն է, կտեսնեք, որ այն ունի երեք քորոց: Եթե ​​այն դնեք առջևից, այսինքն `կլորացված հատվածով հետ և նայեք հարթ դեմքին, որտեղ հայտնվում են գրությունները, ձեր ձախ կողմում քորոցը 1 է, իսկ աջից` 3: Հետևաբար, 1-ը կլինի GND- ի համար: կամ հիմք, 2-ը տվյալների համար է, իսկ 3-ը `մատակարարման լարման համար:

Այստեղ մենք պետք է ասենք, որ արժեքներ, որոնք դուք պետք է իմանաք:

  • Պին 1. Դուք պետք է այն միացնեք Arduino- ի GND պին, այսինքն `0v:
  • Քորոց 2. այս փոսը DQ կամ տվյալ է, այն, որը սենսորի կողմից չափված ջերմաստիճանը կուղարկի Arduino- ին `1-Wire անվամբ հայտնի պրոտոկոլի միջոցով, և որի համար անհրաժեշտ կլինի հատուկ գրադարան և գործառույթներ Arduino IDE- ի համար: Դա թույլ կտա օգտագործել միայն մեկ Arduino քորոց ՝ այս արձանագրության հետ մի քանի սենսոր կապելու համար ...
  • Քորոց 3. Այն կարող է սնուցվել 3-ից մինչև 5,5 վ, այնպես որ կարող եք միացնել այն Arduino- ի 5 վ ելքի վրա:

DS18B20 տեխնիկական բնութագրերը և տվյալների թերթը

Ինչպես միշտ, այդպես է հետաքրքիր է իմանալ տեխնիկական բնութագրերը սենսորին `իմանալու համար, թե ինչպես է այն աշխատում, որպեսզի չվնասի այն, և ամենից առաջ` որպեսզի իմանանք, թե որտեղ են դրա չափման սահմանները, քանի որ եթե այն արժեքները, որոնք մենք ուզում ենք չափել, նրանց միջև չլինեն, դա մեզ չի օգնի և դուք պետք է այլ այլընտրանք փնտրեք:

Դա անելու համար լավագույնն է ներբեռնել a արտադրողի տվյալների թերթ, ինչպես Դալլասում եղածը Դուք կարող եք տեսնել այստեղ Այնտեղ դուք կգտնեք բոլոր անհրաժեշտ տեղեկությունները: Եվ հիշեք, որ չնայած բոլոր DS18B20- ը կարող է նման լինել, կախված արտադրողից կամ փաթեթից, կարող եք գտնել որոշ փոփոխություններ ...

Բայց անկախ տարօրինակություններից, ահա մի քանիսը հիմնական տեխնիկական տվյալները:

  • Ջերմաստիճանի տատանում-55-ից 125ºC, հետևաբար, այն կարող է չափել գազը կամ հեղուկը շատ ցածր և բարձր ջերմաստիճաններում:
  • ՍխալներDS18B20– ը զգայուն է արտաքին աղմուկի կամ խանգարումների նկատմամբ, որոնք կարող են սխալ չափումներ տալ չափումներում: Սխալների սահմանը գումարած է մինուս 2ºC, չնայած -10ºC և 85ºC ջերմաստիճանում, այսինքն, երբ մենք մոտ չենք սահմաններին, դա կարող է լինել միայն կես աստիճան:
  • ԲանաձեւըԴուք կարող եք աշխատել մի քանի բանաձևերով կամ նվազագույն տատանումներով, որոնք կարող եք հայտնաբերել Arduino անալոգային կապումներով: Աջակցում է 9-բիթանոց, 10-բիթանոց, 11-բիթանոց և 12-բիթանոց (լռելյայն): Այսինքն, այն կարող է չափվել կեսից մինչև կես աստիճան, քառորդից քառորդ աստիճան, համապատասխանաբար 0,125-ից 0,125ºC կամ 0,0625ºC: Դուք կարող եք փոխել այս ծրագրավորումը ծրագրավորման կոդի միջոցով:
  • Մատակարարման լարումը՝ 3-ից 5,5 վ
  • գին՝ 1-ից 3 €

Ինտեգրում Arduino- ի հետ

Arduino կապի դիագրամ - ds18b20

Չնայած կան միացնելու տարբեր եղանակներ, ամենահարմարն այն է, ինչ տեսնում եք այս գծապատկերում: Դա բավականին պարզ է. GND քորոցով ՝ Arduino տախտակի համապատասխան կապում, էլեկտրաէներգիայի մատակարարումը նույնն է, և ապա տվյալները ՝ Arduino անալոգային, որոնք դուք ընտրել եք ձեր ծրագրավորման ծածկագրում ՝ Arduino IDE- ում: Բայց լավ է նաև տեղադրել 4,7k քաշող ռեզիստոր (եթե սենսորային զոնդերի մալուխի հեռավորությունն ավելի մեծ է, դիմադրությունը պետք է ավելի ցածր լինի, օրինակ ՝ 5k 3,3 մ-ի համար, 10-ից 2,2-ի համար, XNUMXk- ի համար k) տվյալների քորոցի համար և այդպիսով այն միշտ բարձր պահեք:

Համար ծրագրավորում Arduino IDE- ում և դրա լավ ինտեգրումը 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. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը: