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.
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.
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
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt





