Temperatuurianduritehnoloogia

Kohandatud DS18B20 andurisond & 1-Juhtmekaabli kokkupanek

DS18B20 temperatuuriandur 1-juhtmeline veekindel kaabel + adapterplaadi komplekt

Pakume laia valikut parimaid 1-juhtmelisi DS18B20 anduripistikuid, sealhulgas Nanoflex, DisplayPort, USB, Päikeseenergia, SATA, HDMI, SEE ON IDEE, SAS & palju rohkem. Kõik kaablid on valmistatud tööstusharu kõrgeimate standardite järgi. Sensor Circuit Assembly'i kasutamine kasti ehitamiseks võimaldab teil keskenduda oma disainile ja turundusele, vähendada kulusid, ja saada kasu meie koosteliinidest, QA protsessid, ja tootmisalased teadmised.

Andur DS18B20 suhtleb kasutades “1-Traat” protokolli, mis tähendab, et see kasutab kogu mikrokontrolleriga suhtlemiseks ühte andmeliini, võimaldab ühendada mitu andurit samale liinile ja identifitseerida nende ainulaadse 64-bitise jadakoodi järgi; see üksik andmeliin tõmmatakse takistiga kõrgele ja andur edastab andmeid, tõmmates liini teatud ajapilude ajal madalale, et saata teabebitte.

DS18B20 temperatuuriandur: Veekindel sond DS18B20 on mõeldud veealuseks kasutamiseks, võimeline töötama märjas või niiskes keskkonnas ilma vee või niiskuse poolt kahjustamata.
Temperatuurianduri toitepinge: 3.0V ~ 5,25 V;
Töötemperatuuri vahemik:-55 ℃ kuni +125 ℃ (-67 ℉ kuni +257 ℉);
Pakub 9-bitist kuni 12-bitist Celsiuse temperatuuri mõõtmist;
Adapterimoodul on varustatud tõmbetakistiga, ja ühendub otse Raspberry Pi GPIO-ga ilma välise takistita;
Kasutage seda adapteri moodulikomplekti, et lihtsustada veekindla temperatuurianduri ühendamist oma projektiga.

Digitaalne temperatuuriandur DS18B20 & XH2.54 kuni PH2.0 moodul

Digitaalne temperatuuriandur DS18B20 & XH2.54 kuni PH2.0 moodul

Hiinas valmistatud DS18B20 kiibi temperatuuri omandamise TO-92 temperatuuriandur

Hiinas valmistatud DS18B20 kiibi temperatuuri omandamise TO-92 temperatuuriandur

DS18B20 temperatuuriandur 1-juhtmeline veekindel kaabel + adapterplaadi komplekt

DS18B20 temperatuuriandur 1-juhtmeline veekindel kaabel + adapterplaadi komplekt

1. Põhipunktid 1-juhtmelise protokolli kohta:
Üks andmerida:
Anduri ja mikrokontrolleri vaheliseks suhtluseks on vaja ainult ühte juhet.
Pooldupleksside:
Andmeid saab saata mõlemas suunas, aga ainult üks suund korraga.
Parasiitide jõud:
DS18B20 saab side ajal otse andmeliinist toita, välistades mõnel juhul vajaduse eraldi toiteallika järele.
Seadme unikaalsed aadressid:
Igal DS18B20 anduril on ainulaadne 64-bitine jadakood, mis võimaldab mikrokontrolleril siini üksikuid andureid tuvastada ja neile adresseerida..
Side sammud DS18B20-ga:
1.1 Lähtestage pulss:
Mikrokontroller alustab sidet, tõmmates andmeliini teatud ajaks madalale (lähtestage pulss).
1.2 Kohaloleku pulss:
Kui siinis on DS18B20, see reageerib lühikese impulsiga, mis näitab selle olemasolu.
1.3 ROM-i käsk:
Mikrokontroller saadab ROM-i käsu, et lugeda konkreetse anduri unikaalset 64-bitist koodi (“Sobitage ROM”) või adresseerida kõiki siini andureid (“Jäta ROM vahele”).
1.4 Funktsiooni käsk:
Olenevalt soovitud operatsioonist (nagu temperatuur lugemiseks), mikrokontroller saadab andurile konkreetse funktsioonikäsu.
1.5 Andmeedastus:
Andmeid edastatakse bittide kaupa, andur tõmbab andmeliini madalale, et saata a ‘0’ ja lasta joonel kõrgele minna, et saata "1".

2. Üksikasjalik selgitus DS18B20 1-juhtmelise sideprotokolli kohta
Põhjus, miks DS18B20 andureid laialdaselt kasutatakse, tuleneb suuresti selle ainulaadsest sideprotokollist – 1-Juhtmeside protokoll. See protokoll lihtsustab riistvaraühenduste nõudeid ja pakub tõhusat viisi andmete edastamiseks. Selles peatükis analüüsitakse põhjalikult 1-realise sideprotokolli töömehhanismi ja andmevahetusprotsessi, et panna tugev alus järgnevale programmeerimispraktikale..
2.1 1-juhtmelise sideprotokolli põhitõed
2.1.1 1-juhtmelise sideprotokolli omadused:
Nimetatakse ka DS18B20 ühejuhtmeliseks sideprotokolliks “üksik buss” tehnoloogia. Sellel on järgmised funktsioonid: – Ühe bussiga side: Kahesuunaliseks andmeedastuseks kasutatakse ainult ühte andmeliini, mis vähendab oluliselt juhtmestiku keerukust võrreldes traditsioonilise mitmejuhtmelise anduri kommunikatsioonimeetodiga. – Mitme seadme ühendus: Toetab mitme seadme ühendamist ühe andmesiiniga, ning tuvastab ja suhtleb seadme identifitseerimiskoodide kaudu. – Madal energiatarve: Suhtlemise ajal, seade võib olla vähese energiatarbega ooterežiimis, kui sides ei osale. – Kõrge täpsus: Lühema andmeedastusajaga, see võib vähendada väliseid häireid ja parandada andmete täpsust.
2.1.2 1-juhtmelise side andmevormingu ja ajastuse analüüs
1-juhtmelise sideprotokolli andmevorming järgib kindlat ajastusreeglit. See sisaldab lähtestamise ajastust, kirjutamise ajastus ja lugemise ajastus:
Initsialiseerimise ajastus: Esmalt käivitab host kohaloleku tuvastamise ajastuse (Kohaloleku pulss) bussi teatud ajaks alla tõmmates, ja seejärel saadab andur vastuseks kohalolekuimpulsi.
Kirjuta ajastus: Kui host saadab kirjutamise ajastuse, see tõmbab kõigepealt bussi umbes 1-15 mikrosekundeid, siis vabastab bussi, ja andur tõmbab bussi alla 60-120 mikrosekundeid reageerimiseks.
Lugemise ajastus: Host teavitab andurit andmete saatmisest, tõmmates siini alla ja vabastades selle, ja andur väljastab andmebiti siinile pärast teatud viivitust.

Analoogseadmed DS18B20+, MAXIM programmeeritava eraldusvõimega 1-juhtmeline digitaalne termomeeter

Analoogseadmed DS18B20+, MAXIM programmeeritava eraldusvõimega 1-juhtmeline digitaalne termomeeter

DS18B20 12-bitine 1-juhtmeline digitaalne temperatuuriandur 1 Arvesti kaabel

DS18B20 12-bitine 1-juhtmeline digitaalne temperatuuriandur 1 Arvesti kaabel

Andur DS18B20, mis on mõeldud temperatuuri ja niiskuse kogumiseks külmaahela külmhoones

Andur DS18B20, mis on mõeldud temperatuuri ja niiskuse kogumiseks külmaahela külmhoones

2.2 Andmeside tarkvaraline realiseerimine
2.2.1 1-liinilise side lähtestamine ja lähtestamine
Tarkvara tasemel, 1-juhtmelise side lähtestamine ja lähtestamine on suhtluse esimene samm. Järgnev on pseudokood selle protsessi rakendamiseks:

// OneWire'i side initsialiseerimise funktsioon
tühine OneWire_Init() {
// Seadke siini sisendrežiimi ja lubage tõmbetakisti
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
// Oodake, kuni buss jääb seisma
ViivitusMikrosekundid(1);
// Saada lähtestamisimpulss
OneWire_Reset();
}

// OneWire'i side lähtestamise funktsioon
tühine OneWire_Reset() {
// Tõmba buss alla
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
ViivitusMikrosekundid(480);
// Laske buss lahti
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ViivitusMikrosekundid(70);
// Oodake pulsi olemasolu
kui (!WaitForOneWirePresence())
// Pulssi ei tuvastatud, võib-olla pole andur ühendatud või lähtestamine ebaõnnestus
HandleError();
ViivitusMikrosekundid(410);
}

// Pulsi olemasolu ootamine
bool WaitForOneWirePresence() {
tagasta ReadPin(DS18B20_PIN) == 0; // Oletame, et madal tase on signaali olemasolu
}

2.2.2 Andmete lugemise ja kirjutamise operatsioonid

Andmete lugemise ja kirjutamise toimingud on andurite side põhiosa. Järgmine kood näitab, kuidas kirjutada bait ühejuhtmelisele siinile:
// Kirjutage bait ühejuhtmelisele siinile
tühine OneWire_WriteByte(baitilised andmed) {
jaoks (int i = 0; i < 8; i++) {
OneWire_WriteBit(andmeid & 0x01);
andmeid >>= 1;
}
}

// Kirjutage natuke ühejuhtmelisele siinile
tühine OneWire_WriteBit(bitiandmed) {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
kui (andmeid) {
// Kirjutamise ajal vabasta buss 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ViivitusMikrosekundid(1);
} muidu {
// Jätkake kirjutamise ajal bussi madalaks tõmbamist 0
ViivitusMikrosekundid(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ViivitusMikrosekundid(1);
}

Järgmine on funktsioon baidi lugemiseks:
// Loe bait ühejuhtmelisest siinist
bait OneWire_ReadByte() {
baitandmed = 0;
jaoks (int i = 0; i < 8; i++) {
andmeid >>= 1;
kui (OneWire_ReadBit())
andmeid |= 0x80;
}
tagastada andmed;
}

// Lugege natuke ühejuhtmelisest siinist
bit OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
ViivitusMikrosekundid(3);
bool tulemus = ReadPin(DS18B20_PIN);
ViivitusMikrosekundid(57);
tagastada tulemus;
}

2.2.3 OneWire'i suhtluse kontrollimehhanism

OneWire'i sideprotokoll kasutab andmevahetusprotsessis lihtsat kontrollimehhanismi, tavaliselt lugedes tagasi kirjalikud andmed, et kontrollida andmete õigsust. Järgnevalt on toodud näidiskood kirjalike andmete kontrollimiseks:

baitandmed = 0x55; // Oletame, et saadetavad andmed

OneWire_WriteByte(andmeid); // Kirjutage andmed OneWire siini

bait readData = OneWire_ReadByte(); // Lugege andmeid tagasi OneWire siinist

kui (loe andmeid != andmed) {
HandleError(); // Kui tagasilugemisandmed ei ühti kirjutatud andmetega, veaga hakkama