Temperatursensorteknologi

Tilpasset DS18B20 Sensorsonde & 1-Wire Cable Assembly

DS18B20 temperatursensor 1-leder vanntett kabel + adapterkortsett

Vi tilbyr et bredt utvalg av de beste 1-Wire DS18B20 sensorkontaktene, inkludert Nanoflex, DisplayPort, USB, Solar, SATA, HDMI, DET ER IDÉ, SAS & mange flere. Alle kabler er produsert i henhold til de høyeste industristandardene. Ved å bruke Sensor Circuit Assembly for bokskonstruksjoner kan du fokusere på design og markedsføring, redusere kostnadene, og høste fordelene av våre samlebånd, QA-prosesser, og produksjonsekspertise.

DS18B20-sensoren kommuniserer ved hjelp av “1-Metalltråd” protokoll, som betyr at den bruker en enkelt datalinje for all kommunikasjon med en mikrokontroller, slik at flere sensorer kan kobles til på samme linje og identifiseres med deres unike 64-bits seriekode; denne enkelt datalinjen trekkes høyt med en motstand og sensoren overfører data ved å trekke linjen lavt i spesifikke tidsluker for å sende informasjonsbiter.

DS18B20 temperatursensor: Den vanntette sonden DS18B20 er designet for bruk under vann, i stand til å operere i våte eller fuktige omgivelser uten å bli skadet av vann eller fuktighet.
Temperaturføler forsyningsspenning: 3.0V ~ 5,25V;
Driftstemperaturområde:-55 ℃ til +125 ℃ (-67 ℉ til +257 ℉);
Gir fra 9-bit til 12-bit Celsius temperaturmålinger;
Adaptermodulen er utstyrt med en pull-up motstand, og kobles direkte til GPIOen til Raspberry Pi uten en ekstern motstand;
Bruk dette adaptermodulsettet for å forenkle tilkoblingen av den vanntette temperatursensoren til prosjektet ditt.

DS18B20 digital temperaturfølersonde & XH2.54 til PH2.0 modul

DS18B20 digital temperaturfølersonde & XH2.54 til PH2.0 modul

Kina-laget DS18B20 chip temperatur anskaffelse TO-92 temperatursensor

Kina-laget DS18B20 chip temperatur anskaffelse TO-92 temperatursensor

DS18B20 temperatursensor 1-leder vanntett kabel + adapterkortsett

DS18B20 temperatursensor 1-leder vanntett kabel + adapterkortsett

1. Nøkkelpunkter om 1-Wire-protokollen:
Enkel datalinje:
Kun én ledning er nødvendig for kommunikasjon mellom sensoren og mikrokontrolleren.
Halv-dupleks kommunikasjon:
Data kan sendes i begge retninger, men bare én retning om gangen.
Parasittkraft:
DS18B20 kan få strøm direkte fra datalinjen under kommunikasjon, eliminerer behovet for en separat strømforsyning i noen tilfeller.
Unike enhetsadresser:
Hver DS18B20-sensor har en unik 64-bits seriell kode som lar mikrokontrolleren identifisere og adressere individuelle sensorer på bussen.
Kommunikasjonstrinn med en DS18B20:
1.1 Tilbakestill puls:
Mikrokontrolleren starter kommunikasjon ved å trekke datalinjen lavt for en bestemt varighet (tilbakestille puls).
1.2 Tilstedeværelsespuls:
Hvis det er en DS18B20 på bussen, den vil svare med en kort puls, som indikerer dens tilstedeværelse.
1.3 ROM kommando:
Mikrokontrolleren sender en ROM-kommando for enten å lese den unike 64-bits koden til en spesifikk sensor (“Match ROM”) eller adressere alle sensorer på bussen (“Skip ROM”).
1.4 Funksjonskommando:
Avhengig av ønsket operasjon (som å lese temperatur), mikrokontrolleren sender en spesifikk funksjonskommando til sensoren.
1.5 Dataoverføring:
Data overføres bit-for-bit, med sensoren som trekker datalinjen lavt for å sende en ‘0’ og la linjen gå høyt for å sende en "1".

2. Detaljert forklaring av DS18B20s 1-Wire kommunikasjonsprotokoll
Årsaken til at DS18B20 -sensorer er mye brukt skyldes i stor grad den unike kommunikasjonsprotokollen – 1-Ledningskommunikasjonsprotokoll. Denne protokollen forenkler kravene til maskinvareforbindelser og gir en effektiv måte å overføre data. Dette kapittelet vil dypt analysere arbeidsmekanismen og datautvekslingsprosessen for 1-linjers kommunikasjonsprotokoll for å legge et solid grunnlag for påfølgende programmeringspraksis.
2.1 Grunnleggende om 1-tråds kommunikasjonsprotokoll
2.1.1 Funksjoner i 1-tråds kommunikasjonsprotokoll:
DS18B20 1-tråd kommunikasjonsprotokoll kalles også “enkeltbuss” teknologi. Den har følgende funksjoner: – Enkeltbusskommunikasjon: Bare en datalinje brukes til toveis dataoverføring, Noe som reduserer kompleksiteten i ledningene sammenlignet med den tradisjonelle kommunikasjonsmetoden for flere trådføler. – Forbindelse med flere enheter: Støtter tilkobling av flere enheter på en databuss, og identifiserer og kommuniserer gjennom enhetens identifikasjonskoder. – Lavt strømforbruk: Under kommunikasjon, enheten kan være i en lav effekt standby-tilstand når du ikke deltar i kommunikasjon. – Høy presisjon: Med en kortere dataoverføringstid, Det kan redusere ekstern interferens og forbedre datatøyaktigheten.
2.1.2 Dataformat og timinganalyse av 1-tråds kommunikasjon
Dataformatet til 1-Wire Communication Protocol følger en spesifikk tidsregel. Det inkluderer initialiseringstiming, Skriv timing og les timing:
Initialiseringstiming: Verten starter først tilstedeværelsesdeteksjonstimingen (Tilstedeværelsespuls) ved å trekke ned bussen i en viss periode, og sensoren sender deretter en tilstedeværelsespuls som svar.
Skriv timing: Når verten sender en skrivetidspunkt, Den trekker først bussen i omtrent 1-15 mikrosekunder, slipper deretter bussen, og sensoren trekker ned bussen i 60-120 Mikrosekunder for å svare.
Les timing: Verten varsler sensoren om å sende data ved å trekke ned bussen og slippe den, og sensoren vil sende ut databiten på bussen etter en viss forsinkelse.

Analoge enheter DS18B20+, MAXIM programmerbar oppløsning 1-tråds digitalt termometer

Analoge enheter DS18B20+, MAXIM programmerbar oppløsning 1-tråds digitalt termometer

DS18B20 12-bits 1-leder digital temperatursensor m/ 1 Målerkabel

DS18B20 12-bits 1-leder digital temperatursensor m/ 1 Målerkabel

DS18B20 sensorsonde dedikert til temperatur- og fuktighetsinnsamling i kjølelager

DS18B20 sensorsonde dedikert til temperatur- og fuktighetsinnsamling i kjølelager

2.2 Programvareimplementering av datakommunikasjon
2.2.1 Initialisering og tilbakestilling av 1-linje kommunikasjon
På programvarenivå, initialisering og tilbakestilling av 1-Wire-kommunikasjon er det første trinnet i kommunikasjonen. Følgende er pseudokoden for å implementere denne prosessen:

// OneWire kommunikasjonsinitieringsfunksjon
void OneWire_Init() {
// Sett bussen til inngangsmodus og aktiver pull-up-motstanden
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
// Vent til bussen er inaktiv
Forsinket mikrosekunder(1);
// Send en tilbakestillingspuls
OneWire_Reset();
}

// OneWire kommunikasjonstilbakestillingsfunksjon
void OneWire_Reset() {
// Trekk ned bussen
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
Forsinket mikrosekunder(480);
// Slipp bussen
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Forsinket mikrosekunder(70);
// Vent på tilstedeværelsen av en puls
hvis (!WaitForOneWirePresence())
// Ingen puls ble oppdaget, kanskje sensoren ikke er tilkoblet eller initialiseringen mislyktes
HandleError();
Forsinket mikrosekunder(410);
}

// Venter på tilstedeværelsen av en puls
bool WaitForOneWirePresence() {
returner ReadPin(DS18B20_PIN) == 0; // Anta at lavt nivå er et signaltilstedeværelse
}

2.2.2 Datalese- og skriveoperasjoner

Datalese- og skriveoperasjoner er kjernedelen av sensorkommunikasjon. Følgende kode viser hvordan du skriver en byte til en entrådsbuss:
// Skriv en byte til en entrådsbuss
void OneWire_WriteByte(byte data) {
til (int i = 0; jeg < 8; i++) {
OneWire_WriteBit(data & 0x01);
data >>= 1;
}
}

// Skriv litt til en entrådsbuss
void OneWire_WriteBit(bit data) {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
hvis (data) {
// Slipp bussen når du skriver 1
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Forsinket mikrosekunder(1);
} ellers {
// Fortsett å trekke bussen lavt når du skriver 0
Forsinket mikrosekunder(60);
}
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Forsinket mikrosekunder(1);
}

Neste er funksjonen for å lese en byte:
// Les en byte fra entrådsbussen
byte OneWire_ReadByte() {
byte data = 0;
til (int i = 0; jeg < 8; i++) {
data >>= 1;
hvis (OneWire_ReadBit())
data |= 0x80;
}
returnere data;
}

// Les litt fra entrådsbussen
bit OneWire_ReadBit() {
SetPinMode(DS18B20_PIN, OUTPUT_LOW);
SetPinMode(DS18B20_PIN, INPUT_PULLUP);
Forsinket mikrosekunder(3);
bool resultat = ReadPin(DS18B20_PIN);
Forsinket mikrosekunder(57);
returnere resultat;
}

2.2.3 Verifikasjonsmekanisme for OneWire-kommunikasjon

OneWire-kommunikasjonsprotokollen bruker en enkel verifiseringsmekanisme i datautvekslingsprosessen, vanligvis ved å lese tilbake de skrevne dataene for å verifisere riktigheten av dataene. Følgende er en eksempelkode for å bekrefte de skrevne dataene:

bytedata = 0x55; // Anta at dataene som skal sendes

OneWire_WriteByte(data); // Skriv data til OneWire-bussen

byte readData = OneWire_ReadByte(); // Les tilbake data fra OneWire-bussen

hvis (leseData != data) {
HandleError(); // Hvis tilbakelesningsdataene ikke samsvarer med de skrevne dataene, håndtere feilen