Temperatūros jutiklio technologija

Pasirinktinis DS18B20 jutiklio zondas & 1-Vielinio kabelio komplektas

DS18B20 Temperatūros jutiklis 1 laido vandeniui nepraleidžiantis kabelis + Adapterio plokštės rinkinys

Mes siūlome platų geriausių 1 laidų DS18B20 jutiklių jungčių asortimentą, įskaitant nanoflex, „DisplayPort“, USB, Saulė, SATA, HDMI, Ata ide, SAS & Daug daugiau. Visi kabeliai yra gaminami pagal aukščiausius pramonės standartus. Naudojant jutiklių grandinės rinkinį dėžutėms, galite sutelkti dėmesį į savo dizainą ir rinkodarą, Sumažinkite išlaidas, ir pasinaudokite mūsų surinkimo linijų pranašumais, QA procesai, ir gamybos patirtis.

DS18B20 jutiklis bendrauja naudodamas “1-Viela” protokolas, o tai reiškia, kad jis naudoja vieną duomenų eilutę visam ryšiui su mikrovaldikliu, leidžiant prijungti kelis jutiklius toje pačioje linijoje ir identifikuoti pagal unikalų 64 bitų serijos kodą; Ši atskira duomenų linija yra pakelta aukštai su rezistoriumi, o jutiklis perduoda duomenis, ištraukiant žemą liniją konkrečių laiko tarpsnių metu, kad būtų galima siųsti informacijos bitus.

DS18B20 temperatūros jutiklis: „DS18B20“ neperšlampamas zondas yra skirtas naudoti povandeniniam vandeniui, galintis veikti drėgnoje ar drėgnoje aplinkoje, nepažeisdamas vandens ar drėgmės.
Temperatūros jutiklio tiekimo įtampa: 3.0V ~ 5,25 V.;
Darbinė temperatūros diapazonas:-55 ℃ TO +125 ℃ (-67 ℉ TO +257 ℉);
Teikia nuo 9 bitų iki 12 bitų Celsijaus temperatūros matavimų;
„Adapter“ modulis yra aprūpintas ištraukiamu rezistoriumi, ir tiesiogiai jungiasi prie „Raspberry Pi“ GPIO be išorinio rezistoriaus;
Norėdami supaprastinti vandeniui atsparios temperatūros jutiklio prijungimą prie jūsų projekto, naudokite šį adapterio modulio rinkinį.

DS18B20 Skaitmeninio temperatūros jutiklio zondas & XH2.54 iki PH2.0 modulio

DS18B20 Skaitmeninio temperatūros jutiklio zondas & XH2.54 iki PH2.0 modulio

Kinijos pagamintas DS18B20 lustų temperatūros įgijimas iki 92 temperatūros jutiklis

Kinijos pagamintas DS18B20 lustų temperatūros įgijimas iki 92 temperatūros jutiklis

DS18B20 Temperatūros jutiklis 1 laido vandeniui nepraleidžiantis kabelis + Adapterio plokštės rinkinys

DS18B20 Temperatūros jutiklis 1 laido vandeniui nepraleidžiantis kabelis + Adapterio plokštės rinkinys

1. Pagrindiniai punktai apie 1 laido protokolą:
Vienos duomenų eilutė:
Ryšiui tarp jutiklio ir mikrovaldiklio reikalingas tik viena viela.
Pusiau dvipusė komunikacija:
Duomenys gali būti siunčiami abiem kryptimis, Bet tik viena kryptimi vienu metu.
Parazitų galia:
DS18B20 gali būti maitinamas tiesiai iš duomenų linijos ryšio metu, Kai kuriais atvejais pašalinamas atskiro maitinimo šaltinio poreikis.
Unikali įrenginio adresai:
Kiekvienas DS18B20 jutiklis turi unikalų 64 bitų serijos kodą, kuris leidžia mikrovaldikliui nustatyti ir pritaikyti atskirus jutiklius magistralėje.
Bendravimo veiksmai su DS18B20:
1.1 Iš naujo nustatyti impulsą:
Mikrokontroleris inicijuoja ryšį, ištraukdamas duomenų liniją žemai tam tikrą trukmę (Iš naujo nustatyti impulsą).
1.2 Buvimo impulsas:
Jei autobuse yra DS18B20, Tai atsakys trumpu pulsu, nurodant jo buvimą.
1.3 ROM komanda:
Mikrokontroleris siunčia ROM komandą, kad būtų galima perskaityti unikalų konkretaus jutiklio 64 bitų kodą (“Rungtynių ROM”) arba išspręsti visus autobuso jutiklius (“Laivo kambarys”).
1.4 Funkcijos komanda:
Priklausomai nuo norimos operacijos (kaip skaitymo temperatūra), Mikrokontroleris siunčia specifinę funkcijos komandą į jutiklį.
1.5 Duomenų perdavimas:
Duomenys perduodami bitais, jutikliui traukdamas duomenų liniją žemai, kad siųstų a ‘0’ ir leisti linijai pakilti, kad būtų galima nusiųsti „1“.

2. Išsamus DS18B20 1 laidų komunikacijos protokolo paaiškinimas
Priežastis, kodėl DS18B20 jutikliai yra plačiai naudojami – 1-Vielos ryšio protokolas. Šis protokolas supaprastina aparatūros jungčių reikalavimus ir yra efektyvus būdas perduoti duomenis. Šis skyrius išsamiai išanalizuos 1 eilutės komunikacijos protokolo darbo mechanizmą ir keitimo procesą, kad būtų galima pateikti tvirtą pagrindą vėlesnei programavimo praktikai.
2.1 1 laidų ryšio protokolo pagrindai
2.1.1 1 laidų komunikacijos protokolo ypatybės:
DS18B20 1 laido ryšio protokolas taip pat vadinamas “vienas autobusas” Technologija. Jis turi šias funkcijas: – Vieno autobuso ryšys: Duomenų perdavimui naudojama tik viena duomenų eilutė, which greatly reduces the complexity of wiring compared to the traditional multi-wire sensor communication method. – Multi-device connection: Supports connecting multiple devices on one data bus, and identifies and communicates through device identification codes. – Mažos energijos suvartojimas: During communication, the device can be in a low-power standby state when not participating in communication. – High precision: With a shorter data transmission time, it can reduce external interference and improve data accuracy.
2.1.2 Data format and timing analysis of 1-wire communication
The data format of the 1-wire communication protocol follows a specific timing rule. It includes initialization timing, write timing and read timing:
Initialization timing: The host first starts the presence detection timing (Presence Pulse) by pulling down the bus for a certain period of time, o tada jutiklis siunčia buvimo pulsą atsakydamas.
Rašykite laiką: Kai šeimininkas siunčia rašymo laiką, tai pirmiausia traukia autobusą maždaug 1-15 mikrosekundės, Tada išleidžia autobusą, ir jutiklis patraukia autobusą 60-120 mikrosekundės reaguoti.
Skaitykite laiką: Pagrindinis kompiuteris praneša jutiklį, kad galėtų siųsti duomenis, nutraukdamas magistralę ir jį išleisdamas, ir jutiklis pateiks autobuso duomenis po tam tikro vėlavimo.

Analoginiai įrenginiai DS18B20+, „Maxim“ programuojama skiriamoji geba 1 laido skaitmeninis termometras

Analoginiai įrenginiai DS18B20+, „Maxim“ programuojama skiriamoji geba 1 laido skaitmeninis termometras

DS18B20 12 bitų 1 laido skaitmeninio temperatūros jutiklis su 1 Matuoklio laidas

DS18B20 12 bitų 1 laido skaitmeninio temperatūros jutiklis su 1 Matuoklio laidas

DS18B20 jutiklio zondas, skirtas temperatūros ir drėgmės surinkimui šaltos grandinės šaltkalnyje

DS18B20 jutiklio zondas, skirtas temperatūros ir drėgmės surinkimui šaltos grandinės šaltkalnyje

2.2 Programinės įrangos duomenų komunikacijos įgyvendinimas
2.2.1 1 eilutės ryšio inicijavimas ir iš naujo nustatymas
Programinės įrangos lygyje, 1 laido komunikacijos inicijavimas ir atstatymas yra pirmasis ryšio žingsnis. Toliau pateiktas pseudo kodas, skirtas įgyvendinti šį procesą:

// „OneWire“ komunikacijos inicijavimo funkcija
void OneWire_init() {
// Nustatykite magistralę į įvesties režimą ir įjunkite išsitraukimo rezistorių
„Setpin“ mada(Ds18b20_pin, Input_pullup);
// Palaukite, kol autobusas bus tuščias
DelsiaMicroseconds(1);
// Siųskite iš naujo nustatymo impulsą
„OneWire_reset“();
}

// „OneWire Communication Reset“ funkcija
void OneWire_reset() {
// Ištraukti autobusą
„Setpin“ mada(Ds18b20_pin, Output_low);
DelsiaMicroseconds(480);
// Išleiskite autobusą
„Setpin“ mada(Ds18b20_pin, Input_pullup);
DelsiaMicroseconds(70);
// Palaukite, kol bus pulsas
jei (!„WaitforoneWirePresence“())
// Nebuvo aptiktas pulsas, Gal jutiklis nėra prijungtas arba nepavyko inicializuoti
Handlerror();
DelsiaMicroseconds(410);
}

// Laukia pulso buvimo
„Bool WaitforoneWirePresence“() {
grąžinti „Readpin“(Ds18b20_pin) == 0; // Tarkime, kad žemas lygis yra signalo buvimas
}

2.2.2 Duomenų skaitymas ir rašymo operacijos

Duomenų skaitymo ir rašymo operacijos yra pagrindinė jutiklio komunikacijos dalis. Šis kodas parodo, kaip parašyti baitą į vieno laido autobusą:
// Parašykite baitą į vieno laido autobusą
void OneWire_WriteByte(baitų duomenys) {
už (int i = 0; i < 8; I ++) {
„OneWire_WriteBit“(duomenys & 0x01);
duomenys >>= 1;
}
}

// Parašykite šiek tiek į vieno laido autobusą
void OneWire_WriteBit(bitų duomenys) {
„Setpin“ mada(Ds18b20_pin, Output_low);
jei (duomenys) {
// Rašydami paleiskite autobusą 1
„Setpin“ mada(Ds18b20_pin, Input_pullup);
DelsiaMicroseconds(1);
} kitur {
// Rašydami toliau traukite autobusą žemai 0
DelsiaMicroseconds(60);
}
„Setpin“ mada(Ds18b20_pin, Input_pullup);
DelsiaMicroseconds(1);
}

Kitas yra funkcija skaityti baitą:
// Perskaitykite baitą iš vieno laido autobuso
BYTE OneWire_ReadByte() {
baitų duomenys = 0;
už (int i = 0; i < 8; I ++) {
duomenys >>= 1;
jei („OneWire_readbit“())
duomenys |= 0x80;
}
Grąžinimo duomenys;
}

// Perskaitykite šiek tiek iš vieno laido autobuso
bit onewire_readbit() {
„Setpin“ mada(Ds18b20_pin, Output_low);
„Setpin“ mada(Ds18b20_pin, Input_pullup);
DelsiaMicroseconds(3);
bool rezultatas = „Readpin“(Ds18b20_pin);
DelsiaMicroseconds(57);
Grąžinimo rezultatas;
}

2.2.3 „OneWire“ komunikacijos patikrinimo mechanizmas

„OneWire“ ryšio protokolas naudoja paprastą patikrinimo mechanizmą duomenų mainų procese, Paprastai perskaičius rašytinius duomenis, kad patikrintumėte duomenų teisingumą. Toliau pateiktas pavyzdinis kodas, skirtas patikrinti rašytinius duomenis:

baitų duomenys = 0x55; // Tarkime, kad siunčiami duomenys

„OneWire_WriteByte“(duomenys); // Parašykite duomenis į „OneWire Bus“

baitas readdata = omowire_readbyte(); // Perskaitykite duomenis iš „OneWire Bus“

jei („ReadData“ != duomenys) {
Handlerror(); // Jei skaitymo nugaros duomenys nesutampa su rašytiniais duomenimis, tvarkyti klaidą