Tarjoamme laajan valikoiman parhaita 1-johtimia DS18B20 anturiliittimiä, mukaan lukien Nanoflex, DisplayPort, USB, Aurinko, SATA, HDMI, SE ON IDEA, SAS & monia muita. Kaikki kaapelit on valmistettu alan korkeimpien standardien mukaisesti. Sensor Circuit Assemblyn käyttäminen laatikkorakenteissa antaa sinun keskittyä suunnitteluun ja markkinointiin, vähentää kustannuksia, ja hyötyä kokoonpanolinjoistamme, QA-prosessit, ja valmistusosaaminen.
DS18B20-anturi kommunikoi käyttämällä “1-Lanka” protokollaa, mikä tarkoittaa, että se käyttää yhtä datalinjaa kaikkeen mikro-ohjaimen kanssa tapahtuvaan tiedonsiirtoon, mahdollistaa useiden antureiden kytkemisen samaan linjaan ja tunnistamisen niiden ainutlaatuisella 64-bittisellä sarjakoodilla; tämä yksittäinen datalinja vedetään korkealle vastuksella ja anturi lähettää dataa vetämällä linjaa alas tiettyjen aikavälien aikana informaatiobittien lähettämiseksi.
DS18B20 lämpötila-anturi: DS18B20 vedenpitävä anturi on suunniteltu vedenalaiseen käyttöön, pystyy toimimaan märissä tai kosteissa ympäristöissä ilman, että vesi tai kosteus vahingoita sitä.
Lämpötila-anturin syöttöjännite: 3.0V ~ 5,25 V;
Käyttölämpötila-alue:-55 ℃ +125 ℃ (-67 ℉ +257 ℉);
Tarjoaa 9-12-bittisiä Celsius-lämpötilamittauksia;
Sovitinmoduuli on varustettu vetovastuksella, ja liitetään suoraan Raspberry Pi:n GPIO:han ilman ulkoista vastusta;
Käytä tätä sovitinmoduulisarjaa yksinkertaistaaksesi vedenpitävän lämpötila-anturin liittämistä projektiisi.
1. Tärkeimmät kohdat 1-Wire-protokollasta:
Yksi datalinja:
Anturin ja mikro-ohjaimen väliseen tiedonsiirtoon tarvitaan vain yksi johto.
Half-duplex-yhteys:
Tietoja voidaan lähettää molempiin suuntiin, mutta vain yksi suunta kerrallaan.
Parasiittivoima:
DS18B20 voidaan syöttää suoraan datalinjasta tiedonsiirron aikana, jolloin joissakin tapauksissa ei tarvita erillistä virtalähdettä.
Yksilölliset laiteosoitteet:
Jokaisella DS18B20-anturilla on ainutlaatuinen 64-bittinen sarjakoodi, jonka avulla mikro-ohjain voi tunnistaa ja osoittaa väylän yksittäisiä antureita..
Tiedonsiirtovaiheet DS18B20:n kanssa:
1.1 Nollaa pulssi:
Mikro-ohjain aloittaa tiedonsiirron vetämällä datalinjan alas tietyn ajan (nollaa pulssi).
1.2 Läsnäolopulssi:
Jos väylässä on DS18B20, se vastaa lyhyellä pulssilla, osoittaa sen läsnäolon.
1.3 ROM-komento:
Mikro-ohjain lähettää ROM-komennon joko lukemaan tietyn anturin ainutlaatuisen 64-bittisen koodin (“Sovita ROM”) tai osoittaa kaikki väylän anturit (“Ohita ROM”).
1.4 Toiminto komento:
Riippuen halutusta toimenpiteestä (kuten lämpötilan lukeminen), mikro-ohjain lähettää tietyn toimintokomennon anturille.
1.5 Tiedonsiirto:
Tiedot siirretään bitti bitiltä, anturi vetää datalinjan alas lähettääkseen a ‘0’ ja annat linjan mennä korkealle lähettääksesi "1".
2. Yksityiskohtainen selitys DS18B20:n 1-Wire-tiedonsiirtoprotokollasta
Syy, miksi DS18B20-antureita käytetään laajalti, johtuu suurelta osin sen ainutlaatuisesta tiedonsiirtoprotokollasta – 1-Langallinen tiedonsiirtoprotokolla. Tämä protokolla yksinkertaistaa laitteistoyhteyksien vaatimuksia ja tarjoaa tehokkaan tavan siirtää tietoja. Tässä luvussa analysoidaan syvällisesti 1-linjaisen tiedonsiirtoprotokollan toimintamekanismia ja tiedonvaihtoprosessia, jotta voidaan luoda vankka perusta myöhemmälle ohjelmointikäytännölle..
2.1 1-lankaisen tiedonsiirtoprotokollan perusteet
2.1.1 1-lankaisen tiedonsiirtoprotokollan ominaisuudet:
DS18B20 1-Wire Communication Protocol on myös nimeltään “yksi bussi” teknologiaa. Siinä on seuraavat ominaisuudet: – Yhden väylän viestintä: Vain yhtä datalinjaa käytetään kaksisuuntaiseen tiedonsiirtoon, mikä vähentää huomattavasti johdotuksen monimutkaisuutta verrattuna perinteiseen monijohtimiseen anturin tiedonsiirtomenetelmään. – Usean laitteen yhteys: Tukee useiden laitteiden yhdistämistä yhdelle dataväylälle, ja tunnistaa ja kommunikoi laitteen tunnistuskoodien avulla. – Pieni virrankulutus: Viestinnän aikana, laite voi olla vähän virtaa kuluttavassa valmiustilassa, kun se ei osallistu viestintään. – Korkean tarkkuuden: Lyhyemmällä tiedonsiirtoajalla, se voi vähentää ulkoisia häiriöitä ja parantaa tietojen tarkkuutta.
2.1.2 1-johtimisen tiedonsiirron datamuoto ja ajoitusanalyysi
1-lankaisen tiedonsiirtoprotokollan datamuoto noudattaa tiettyä ajoitussääntöä. Se sisältää alustuksen ajoituksen, kirjoitus- ja lukuajoitus:
Alustamisen ajoitus: Isäntä aloittaa ensin läsnäolon tunnistuksen ajoituksen (Läsnäolopulssi) vetämällä bussi alas tietyksi ajaksi, ja anturi lähettää sitten läsnäolopulssin vastauksena.
Kirjoita ajoitus: Kun isäntä lähettää kirjoitusajoituksen, se vetää ensin bussin alas noin 1-15 mikrosekunnia, sitten vapauttaa bussin, ja anturi vetää väylän alas 60-120 mikrosekuntia vastatakseen.
Lue ajoitus: Isäntä pyytää anturia lähettämään dataa vetämällä väylän alas ja vapauttamalla sen, ja anturi tulostaa databitin väylään tietyn viiveen jälkeen.
2.2 Tietoliikenteen ohjelmistototeutus
2.2.1 1-linjaisen tiedonsiirron alustus ja nollaus
Ohjelmistotasolla, 1-Wire-viestinnän alustus ja nollaus on ensimmäinen askel viestinnässä. Seuraava on pseudokoodi tämän prosessin toteuttamiseksi:
// OneWire-viestinnän alustustoiminto
mitätön OneWire_Init() {
// Aseta väylä tulotilaan ja ota vetovastus käyttöön
AsetaPinMode(DS18B20_PIN, INPUT_PULLUP);
// Odota, että bussi on tyhjäkäynnillä
ViiveMikrosekuntia(1);
// Lähetä nollauspulssi
OneWire_Reset();
}
// OneWire-viestinnän nollaustoiminto
mitätön OneWire_Reset() {
// Vedä bussi alas
AsetaPinMode(DS18B20_PIN, OUTPUT_LOW);
ViiveMikrosekuntia(480);
// Vapauta bussi
AsetaPinMode(DS18B20_PIN, INPUT_PULLUP);
ViiveMikrosekuntia(70);
// Odota pulssin läsnäoloa
jos (!WaitForOneWirePresence())
// Pulssia ei havaittu, ehkä anturia ei ole kytketty tai alustus epäonnistui
HandleError();
ViiveMikrosekuntia(410);
}
// Odotetaan pulssin läsnäoloa
bool WaitForOneWirePresence() {
palauta ReadPin(DS18B20_PIN) == 0; // Oletetaan, että matala taso on signaalin läsnäolo
}
2.2.2 Tiedon luku- ja kirjoitustoiminnot
Tiedon luku- ja kirjoitustoiminnot ovat anturiviestinnän ydin. Seuraava koodi näyttää kuinka tavu kirjoitetaan yksijohtimiseen väylään:
// Kirjoita tavu yksijohtimiseen väylään
mitätön OneWire_WriteByte(tavutiedot) {
varten (int i = 0; i < 8; i++) {
OneWire_WriteBit(tiedot & 0x01);
tiedot >>= 1;
}
}
// Kirjoita vähän yksijohtimiseen väylään
mitätön OneWire_WriteBit(bittiä dataa) {
AsetaPinMode(DS18B20_PIN, OUTPUT_LOW);
jos (tiedot) {
// Vapauta bussi kirjoittaessasi 1
AsetaPinMode(DS18B20_PIN, INPUT_PULLUP);
ViiveMikrosekuntia(1);
} muu {
// Jatka linja-auton vetämistä alas kirjoittaessasi 0
ViiveMikrosekuntia(60);
}
AsetaPinMode(DS18B20_PIN, INPUT_PULLUP);
ViiveMikrosekuntia(1);
}
Seuraava on funktio tavun lukemiseksi:
// Lue tavu yksijohtimisväylästä
tavu OneWire_ReadByte() {
tavutiedot = 0;
varten (int i = 0; i < 8; i++) {
tiedot >>= 1;
jos (OneWire_ReadBit())
tiedot |= 0x80;
}
palauttaa tiedot;
}
// Lue vähän yksijohtimisesta väylästä
bitti OneWire_ReadBit() {
AsetaPinMode(DS18B20_PIN, OUTPUT_LOW);
AsetaPinMode(DS18B20_PIN, INPUT_PULLUP);
ViiveMikrosekuntia(3);
bool tulos = ReadPin(DS18B20_PIN);
ViiveMikrosekuntia(57);
palauttaa tuloksen;
}
2.2.3 OneWire-viestinnän vahvistusmekanismi
OneWire-tiedonsiirtoprotokolla käyttää yksinkertaista varmennusmekanismia tiedonvaihtoprosessissa, yleensä lukemalla kirjoitetut tiedot takaisin varmistaakseen tietojen oikeellisuuden. Seuraavassa on esimerkkikoodi kirjoitetun tiedon tarkistamiseksi:
tavutiedot = 0x55; // Oletetaan, että lähetettävät tiedot
OneWire_WriteByte(tiedot); // Kirjoita tiedot OneWire-väylään
byte readData = OneWire_ReadByte(); // Lue tiedot takaisin OneWire-väylästä
jos (readData != dataa) {
HandleError(); // Jos lukutiedot eivät vastaa kirjoitettuja tietoja, käsittele virhettä
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





