Technologie van temperatuursensoren

Een digitale thermometer maken met de DS18B20 digitale temperatuursensor

DS18B20 Temperatuursensor Digitale thermometersonde + Terminaladaptermodule met draadset

Invoering: Dit artikel legt in detail de toepassing uit van de op maat gemaakte DS18B20 digitale temperatuursensor bij het bouwen van een digitale thermometer. Inclusief werkingsprincipe, hardware-verbinding, softwareprogrammering en simulatie-implementatie. Geef een compleet protuesimulatiediagram, C-broncode en resultaatanalyse om lezers te helpen het gebruik van DS18B20 diepgaand te begrijpen en in de praktijk te brengen.

Parameterinformatie: voeding: 3.0V – 5.5V; Instelbare resolutie: 9 – 12 beetje; Temperatuurbereik: -55 ℃ tot +125 ℃; Uitgang : rood (VCC), geel (GEGEVENS), zwart (GND);
Wat je krijgt: je zult krijgen 4 DS18B20 temperatuursensoren, 4 adaptermodules en 4 vrouw-vrouw verbindingsdraden; De adaptermodule heeft een pull-up-weerstand, die compatibel kan zijn met Raspberry Pi zonder externe weerstand;
DS18B20 temperatuursensor: de afmeting van de roestvrijstalen behuizing is ca. 6 X 50 mm/ 0.2 X 2 inch, en de digitale temperatuur-thermische kabel heeft een totale lengte van ca. 1 M/ 39.4 inch, die lang genoeg is om aan uw behoeften te voldoen;
Kwaliteit materiaal: de sonde is gemaakt van hoogwaardig roestvrij staal, die waterdicht is, vochtbestendig en niet gemakkelijk te roesten, om kortsluiting te voorkomen;
Brede toepassing: deze DS18B20 temperatuursensor is compatibel met Raspberry Pi, en wordt veel toegepast bij de temperatuurbewaking van kabelgeul, ketel, Wat, agrarische kas, schone kamer, enz.

DS18B20 Temperatuursensor -55 naar +125 Graden Celsius, Compatibel met Raspberry Pi

DS18B20 Temperatuursensor -55 naar +125 Graden Celsius, Compatibel met Raspberry Pi

Opbouwmontage DS18B20 digitale temperatuursensor waterdichte sonde

Opbouwmontage DS18B20 digitale temperatuursensor waterdichte sonde

DS18B20 Temperatuursensor Digitale thermometersonde + Terminaladaptermodule met draadset

DS18B20 Temperatuursensor Digitale thermometersonde + Terminaladaptermodule met draadset

1. DS18B20-sensorkarakteristieken
De DS18B20-sensor speelt een sleutelrol op het gebied van moderne temperatuurbewaking. Het kan de temperatuur met hoge nauwkeurigheid meten, en de resolutie kan worden aangepast aan de behoeften, om temperatuurbewaking met verschillende graden van nauwkeurigheid te bereiken. In aanvulling, het kleine formaat van DS18B20 maakt hem geschikt voor gebruik in omgevingen met beperkte ruimte, en de eenvoudig te gebruiken kenmerken verlagen de technische drempel van beginners tot professionals.

Voordat we de prestatieparameters van DS18B20 verder verkennen, het is noodzakelijk om eerst het werkingsprincipe ervan te begrijpen. DS18B20 communiceert temperatuurgegevens via digitale signalen, wat het verzamelen van temperatuurgegevens gemakkelijker maakt. Vergeleken met traditionele analoge temperatuursensoren, Digitale sensoren zoals DS18B20 kunnen nauwkeurigere metingen leveren en zijn minder gevoelig voor ruis tijdens signaaloverdracht.

Om deze voordelen van DS18B20 volledig te benutten, we moeten een diep begrip hebben van de prestatieparameters ervan. Deze parameters omvatten het temperatuurmeetbereik, nauwkeurigheid, oplossing, en voedingsspanning. Deze parameters bepalen niet alleen of DS18B20 kan voldoen aan de behoeften van specifieke toepassingen, maar hebben ook invloed op de prestaties en betrouwbaarheid van het hele systeem.

In dit hoofdstuk, we zullen de prestatieparameters van DS18B20 in detail introduceren, analyseer het werkingsprincipe ervan, en ontdek de voordelen ervan in verschillende toepassingen. Via deze inhoud, lezers krijgen een dieper inzicht in DS18B20-sensoren en leggen een solide basis voor daaropvolgende, complexere toepassingen en programmering.

2. Gedetailleerde uitleg van het 1-Wire-communicatieprotocol van de DS18B20
De reden waarom DS18B20-sensoren op grote schaal worden gebruikt, is grotendeels te danken aan het unieke communicatieprotocol – 1-Draadcommunicatieprotocol. Dit protocol vereenvoudigt de vereisten voor hardwareverbindingen en biedt een efficiënte manier om gegevens te verzenden. In dit hoofdstuk wordt het werkingsmechanisme en het gegevensuitwisselingsproces van het 1-lijnscommunicatieprotocol diepgaand geanalyseerd om een ​​solide basis te leggen voor de daaropvolgende programmeerpraktijk..
2.1 Basisprincipes van het 1-draads communicatieprotocol
2.1.1 Kenmerken van het 1-Wire-communicatieprotocol:
DS18B20 1-Wire-communicatieprotocol wordt ook wel genoemd “enkele bus” technologie. Het heeft de volgende kenmerken: – Communicatie via één bus: Voor bidirectionele datatransmissie wordt slechts één datalijn gebruikt, waardoor de complexiteit van de bedrading aanzienlijk wordt verminderd in vergelijking met de traditionele meerdraads sensorcommunicatiemethode. – Verbinding met meerdere apparaten: Ondersteunt het aansluiten van meerdere apparaten op één databus, en identificeert en communiceert via apparaatidentificatiecodes. – Laag stroomverbruik: Tijdens de communicatie, het apparaat kan zich in een energiezuinige stand-bymodus bevinden wanneer het niet deelneemt aan de communicatie. – Hoge precisie: Met een kortere datatransmissietijd, het kan externe interferentie verminderen en de nauwkeurigheid van de gegevens verbeteren.
2.1.2 Gegevensformaat en timinganalyse van 1-draads communicatie
Het gegevensformaat van het 1-draads communicatieprotocol volgt een specifieke timingregel. Het omvat de timing van de initialisatie, schrijftiming en leestiming:
Initialisatietiming: De host start eerst de timing van de aanwezigheidsdetectie (Aanwezigheidspuls) door de bus een bepaalde tijd stil te zetten, en de sensor verzendt als reactie daarop een aanwezigheidsimpuls.
Schrijf timing: Wanneer de host een schrijftiming verzendt, het trekt eerst de bus ongeveer naar beneden 1-15 microseconden, laat vervolgens de bus los, en de sensor trekt de bus naar binnen 60-120 microseconden om te reageren.
Lees timing: De host waarschuwt de sensor om gegevens te verzenden door de bus naar beneden te trekken en los te laten, en de sensor zal het databit na een bepaalde vertraging op de bus uitvoeren.

3. Hardware-verbindingsmethode voor thermometer
Hardwareverbinding is de eerste en belangrijkste stap bij het bouwen van een digitale thermometer. De juiste verbinding tussen de DS18B20-sensor en de microcontroller zorgt voor een nauwkeurige gegevensoverdracht en biedt een solide basis voor verdere softwareprogrammering en gegevensverwerking. In dit hoofdstuk worden de interfaceontwerpprincipes tussen DS18B20 en microcontroller en de specifieke stappen voor circuitaansluiting in detail geïntroduceerd, en betrekking hebben op de relevante inhoud van voeding en signaalconditionering.
3.1 Interface tussen DS18B20 en microcontroller
3.1.1 Ontwerpprincipes van interfacecircuits
Het interfacecircuitontwerp van DS18B20 moet verschillende kernprincipes volgen om een ​​stabiele en efficiënte werking van het apparaat te garanderen:
Stabiele voeding: DS18B20 kan stroom verkrijgen via de datalijn “DQ” (genaamd “parasitaire energiemodus”), of het kan onafhankelijk worden gevoed door een externe voeding. Ongeacht welke methode wordt gebruikt, de voeding moet stabiel zijn om datatransmissiefouten veroorzaakt door schommelingen in de voeding te voorkomen.
Signaalintegriteit: Omdat DS18B20 gegevens via één enkele lijn verzendt, signaalintegriteit is bijzonder kritisch. Het is noodzakelijk om rekening te houden met het anti-interferentievermogen van het signaal en de afstemming van de elektrische kenmerken van het signaal.
Circuitbeveiliging: Overstroombeveiliging en elektrostatische ontlading (ESD) Er moeten beschermingsmaatregelen worden opgenomen in het circuitontwerp om schade aan de sensor of microcontroller te voorkomen.

3.1.2 Specifieke stappen voor circuitaansluiting
Het aansluiten van DS18B20 op een microcontroller volgt meestal de volgende stappen:
Stroomaansluiting: Sluit de VDD-pin van DS18B20 aan op een 3,3V- of 5V-voeding (afhankelijk van het spanningsniveau van de microcontroller), en de GND-pin op de aardleiding.
Datalijnverbinding: De DQ-pin is verbonden met een digitale I/O-pin van de microcontroller. Om de stabiliteit van de gegevensoverdracht te garanderen, tussen de datalijn en de voeding kan een pull-up-weerstand worden toegevoegd, met een typische waarde van 4,7kΩ tot 10kΩ.
Reset en aanwezigheidspuls-pinverwerking: Normaal gesproken, de reset-pin (RST) en aanwezigheidsimpulspin (PAR) van DS18B20 hoeven niet extern te worden aangesloten, het zijn intern gebruikte signalen.

In deze sectie, we hebben een basiscircuit ontworpen waarmee de DS18B20-temperatuursensor op een microcontroller kan worden aangesloten. Het volgende is een voorbeeld van een schakelschema gebaseerd op Arduino Uno en de bijbehorende beschrijving:

stroomschema LR
DS18B20 — |VDD| 5V
DS18B20 — |GND| GND
DS18B20 — |DQ| 2
DQ — |Optrek| 5V

Onder hen, DS18B20 vertegenwoordigt de digitale temperatuursensor, 5V is het uitgangsvermogen van de microcontroller, GND is de aardedraad, En 2 vertegenwoordigt het pinnummer van de Arduino. 2, die wordt gebruikt voor gegevensoverdracht. De verbinding tussen DQ en 5V vertegenwoordigt de pull-up-weerstand.


3.2 Voeding en signaalconditionering
3.2.1 Keuze van de voedingsmethode
DS18B20 biedt twee voedingsmethoden:
Parasitaire energiemodus: In deze modus, de datalijn (DQ) kan niet alleen gegevens verzenden, maar voeden ook de DS18B20. Op dit moment, de hoge spanning op de datalijn moet minimaal 3,0 V zijn om voldoende voedingsstroom te garanderen. Deze modus wordt meestal gebruikt als de buslengte kort is en de gegevensoverdracht niet te frequent is.

Externe voedingsmodus: In deze modus, DS18B20 heeft een onafhankelijke voedingsingang VDD. Het voeden met een externe voeding kan de signaalsterkte van de sensor verbeteren en het anti-interferentievermogen verbeteren, die geschikt is voor transmissie over lange afstanden of frequente datatransmissie.

3.2.2 Signaalfiltering en stabilisatie
Om signaalstabiliteit en nauwkeurige gegevenslezing te garanderen, het signaal moet goed worden gefilterd en gestabiliseerd:
Pull-up-weerstand: De pull-up-weerstand wordt toegevoegd tussen de datalijn en de voeding om ervoor te zorgen dat de datalijn zich in een hoog niveau bevindt wanneer deze niet wordt gebruikt.
De-jitter-circuit: Om foutieve metingen veroorzaakt door lijninterferentie of momentane spanningsschommelingen te elimineren, het signaal kan aan de kant van de microcontroller softwarematig worden gedejitterd.
ESD-bescherming: ESD-beschermingscomponenten (zoals TVS-diodes) worden toegevoegd aan de poorten van sensoren en microcontrollers om schade veroorzaakt door elektrostatische ontlading te voorkomen.

In deze sectie wordt in tabelvorm verder ingegaan op de factoren waarmee rekening moet worden gehouden bij het selecteren van de voeding en signaalconditionering:
| Project | Parasitaire energiemodus | Externe voedingsmodus | Beschrijving | | — | — | — | — | | Toepasselijke scenario's | Korte lijnen, zeldzame gegevens | Lange rijen, frequente gegevens | Selecteer op basis van daadwerkelijke toepassingsscenario's | | Stabiliteit van de stroomvoorziening | Lager | Hoger | Externe voeding wordt aanbevolen voor lange lijnen of hoge frequenties | | Kosten | Lager | Hoger | Externe voeding vereist extra energiebeheercomponenten | | Anti-interferentie | Zwakker | Sterker | Externe voeding is meer geschikt voor omgevingen met veel interferentie |

De bovenstaande verbindingsmethoden en signaalverwerkingsstrategieën kunnen de DS18B20-temperatuursensor effectief in elk microcontrollersysteem integreren. In het volgende hoofdstuk wordt geïntroduceerd hoe u C-taal kunt gebruiken:


Functionele programmeerpraktijk van DS18B20:
4. DS18B20 digitale thermometer C-taalprogrammering
4.1 Programmeerbasis en omgevingsvoorbereiding
4.1.1 Programmaontwerpideeën en raamwerkconstructie
Voordat u begint met het schrijven van het C-taalprogramma van de DS18B20 digitale thermometer, je moet eerst de basisideeën van programmaontwerp vaststellen. De DS18B20-sensor communiceert met de microcontroller via het 1-draads communicatieprotocol. Daarom, de hoofdtaak van het programma is het implementeren van de gerelateerde bewerkingen van het 1-draads communicatieprotocol, inclusief het initialiseren van DS18B20, instructies verzenden, temperatuurgegevens lezen, en het converteren en weergeven van de gelezen gegevens.

Het programmakader is grofweg op te delen in de volgende onderdelen:
Initialisatie: Initialiseer de microcontroller en de DS18B20-sensor.
Hoofdlus: Bevat een lus die continu sensorgegevens leest.
1-bibliotheek met draadcommunicatiefuncties: Bevat functies voor het implementeren van het ééndraadscommunicatieprotocol.

Gegevensverwerking: Converteer de door de sensor geretourneerde onbewerkte gegevens naar leesbare temperatuurwaarden.
Uitvoer weergeven: Geef de verwerkte temperatuurgegevens weer op het LCD-scherm of voer deze via de seriële poort uit naar de computer.

RVS waterdichte DS18b20 temperatuursonde 1-draads 1, 2, 5 meter

RVS waterdichte DS18b20 temperatuursonde 1-draads 1, 2, 5 meter

DS18B20 1-draads digitale temperatuursensor

DS18B20 1-draads digitale temperatuursensor

DS18B20 Temperatuursensormoduleset met 1 m-3,2 ft waterdichte digitale roestvrijstalen sonde

DS18B20 Temperatuursensormoduleset met 1 m-3,2 ft waterdichte digitale roestvrijstalen sonde

4.1.2 Bouw en configuratie van ontwikkelomgevingen
Om de DS18B20 digitale thermometer te programmeren en te ontwikkelen, u moet de ontwikkelomgeving voorbereiden en op de juiste manier configureren. Hieronder volgen de basisstappen voor ontwikkeling:

Selecteer de ontwikkelomgeving: Selecteer de juiste geïntegreerde ontwikkelomgeving (IDE) afhankelijk van het type microcontroller, zoals voor ontwikkeling op basis van de microcontroller uit de ARM Cortex-M-serie. U kunt Keil MDK of STM32CubeIDE gebruiken.

Configureer de compiler: Volgens de gebruikte IDE, configureer de compiler om ervoor te zorgen dat de C-taalcode correct kan worden gecompileerd.
Bouw het hardware-ontwikkelbord: Selecteer een geschikt microcontroller-ontwikkelbord, zoals gebaseerd op STM32, ESP32, enz.
Sluit het ontwikkelbord aan: Sluit de DS18B20-sensor aan op de gespecificeerde pin van de microcontroller via het 1-draads communicatieprotocol.
Code schrijven: Maak een nieuw C-taalproject in de IDE en begin met het schrijven van programmacode.
Compileren en debuggen: Gebruik de IDE-tool om de code te compileren en op het ontwikkelbord uit te voeren voor foutopsporing.

#erbij betrekken <stdio.h>

// DS18B20 eerstelijnscommunicatiefunctiebibliotheekdeclaratie
void ds18b20_init();
ongeldig DS18B20_Reset();
void ds18b20_writeByte(niet-ondertekende char dat);
niet-ondertekende char DS18B20_ReadByte();
int DS18B20_ReadTemperature();

Int Main() {
// Initialiseer de DS18B20-sensor
Ds18b20_init();
// Hoofdlus
terwijl(1) {
// Temperatuurwaarde lezen
int temperatuur = DS18B20_ReadTemperature();
// Uitgangstemperatuurwaarde naar seriële poort of ander weergaveapparaat
printf(“Huidige temperatuur: %dn”, temperatuur);
}
opbrengst 0;
}


4.2 DS18B20 implementatie van het temperatuurleesprogramma
4.2.1 Constructie van de eendraadscommunicatiefunctiebibliotheek
Om de temperatuurmeting van DS18B20 te realiseren, u moet eerst een bibliotheek met ééndraadscommunicatiefuncties bouwen. Hieronder volgen de implementatiemethoden van verschillende sleutelfuncties:

Ds18b20_init(): Initialiseer de timing van de eendraadscommunicatie.
DS18B20_Reset(): Reset de sensor en detecteer de hartslag.
Ds18b20_writeByte(niet-ondertekende char dat): Schrijf een byte aan gegevens naar de sensor.
DS18B20_READBYTE(): Lees een byte aan gegevens van de sensor.
DS18B20_ReadTemperatuur(): Lees de temperatuur af en converteer deze.

De implementatie van de eendraadscommunicatiefunctiebibliotheek van DS18B20 is behoorlijk ingewikkeld omdat het nauwkeurige controle van de pinniveauveranderingen vereist om het eendraadscommunicatieprotocol te volgen. Het volgende is een voorbeeld van een functie-implementatie:
ongeldig DS18B20_Reset() {
// Resetprocedure voor éénlijnscommunicatie, inclusief het naar beneden trekken van de datalijn, vertraging, het vrijgeven van de bus, en het detecteren van de aanwezigheidsimpuls
// …
}

Het doel van deze functie is om een ​​resetpuls naar de DS18B20 te sturen. Nadat de reset is gelukt, de DS18B20 geeft een aanwezigheidsimpuls terug.


4.2.2 Implementatie van het algoritme voor temperatuurmeting
Het aflezen van de temperatuurwaarde van de DS18B20-sensor is een ingewikkelder proces, omdat het nodig is om binnen een bepaalde timing specifieke instructies naar de sensor te sturen en de geretourneerde gegevens correct te lezen. Het algoritme voor het lezen van de temperatuurwaarde is als volgt:

Reset de sensor.
Stuur de “schip ROME” commando (0XCC).
Stuur de “temperatuur omzetten” commando (0x44).
Wacht tot de conversie is voltooid.
Stuur de “lees register” commando (0Xbe).
Lees twee bytes aan temperatuurgegevens.

De volgende code laat zien hoe u de temperatuurwaarde van de DS18B20 kunt lezen:

int DS18B20_ReadTemperature() {
niet-ondertekende char temp_low, temp_hoog;
niet-ondertekende int temp;

// Reset de sensor en sla ROM-instructies over
DS18B20_Reset();
Ds18b20_writeByte(0XCC); // Sla ROM-opdrachten over
// Stuur conversietemperatuurcommando
Ds18b20_writeByte(0x44);
// Wacht tot de conversie is voltooid. Hier moet u wachten volgens de conversietijd van DS18B20
// …

// Reset de sensor en lees de temperatuurgegevens af
DS18B20_Reset();
Ds18b20_writeByte(0XCC); // Sla ROM-opdrachten over
Ds18b20_writeByte(0Xbe); // Lees registeropdracht

// Lees twee bytes aan gegevens
temp_low = DS18B20_ReadByte();
temp_high = DS18B20_ReadByte();
// Combineer twee bytes aan gegevens tot een geheel getal van 16 bits
temp = (temp_hoog << 8) | temp_laag;
// Retourneer de temperatuurwaarde, op de juiste manier converteren op basis van de resolutie van de DS18B20
Retour Temp;
}


4.2.3 Programmafoutopsporing en afhandeling van uitzonderingen

Bij het schrijven van een DS18B20-leesprogramma, het debuggen van programma's en het afhandelen van uitzonderingen zijn erg belangrijk. Tijdens het debuggen, Mogelijk moet u de foutopsporingsassistent voor de seriële poort gebruiken om te controleren of de uitgangstemperatuurwaarde correct is, of gebruik een logische analysator om de signaaltiming van de eerstelijnscommunicatie te bewaken. Bij de afhandeling van uitzonderingen moet rekening worden gehouden met hardwarefouten, communicatie fouten, en abnormale reacties van DS18B20.

Hieronder volgen enkele strategieën voor foutopsporing en afhandeling van uitzonderingen:

Gegevensverificatie: Na elke gegevenslezing, gebruik een controlesom of controlebit om de juistheid van de gegevens te bevestigen.
Uitzondering vastleggen: Voeg een mechanisme voor het vastleggen van uitzonderingen toe aan het programma, zoals een time-out-mechanisme voor opnieuw proberen, reset de sensor, enz.
Foutopsporingsinformatie: Voeg voldoende foutopsporingsinformatie toe aan het programma om het probleem te helpen lokaliseren.
Int Main() {
// Initialiseer de DS18B20-sensor
Ds18b20_init();
// Hoofdlus
terwijl(1) {
int temperatuur;
// Lees de temperatuur af en controleer op fouten
temperatuur = DS18B20_ReadTemperature();
als (temperatuur < 0) {
printf(“Fout bij het lezen van de temperatuur!\N”);
// U kunt ervoor kiezen om het opnieuw te proberen of andere mechanismen voor foutafhandeling te gebruiken
} anders {
printf(“Huidige temperatuur: %dn”, temperatuur);
}
}
opbrengst 0;
}

Dit hoofdstuk introduceert de basis voor programmeren in C-taal en de omgevingsvoorbereiding van de DS18B20 digitale thermometer, evenals de implementatie van het temperatuurmeetprogramma, en benadrukt het belang van het debuggen van programma's en het afhandelen van uitzonderingen. Via de inleiding van dit hoofdstuk, lezers moeten een ontwikkelomgeving kunnen bouwen, het belang begrijpen van de bibliotheek met eerstelijnscommunicatiefuncties, en schrijf een basisprogramma voor het lezen van de temperatuur. In de volgende hoofdstukken wordt dieper ingegaan op de constructie en het gebruik van de Proteus-simulatieomgeving, het bieden van een simulatietestmethode voor daadwerkelijke hardware-assemblage.


5. Proteus-simulatiediagram en analyse van simulatieresultaten
5.1 Bouw van een Proteus-simulatieomgeving
5.1.1 Basisbediening van Proteus-software
Voordat u begint met het bouwen van het simulatiemodel van de DS18B20 digitale thermometer, u moet eerst de basiswerking van de Proteus-software begrijpen en beheersen. Proteus is een krachtige simulatiesoftware voor elektronische circuits die niet alleen schakelschema's kan ontwerpen, maar ontwerp ook printplaatlay-outs en bied simulatiefuncties. Hier zijn enkele belangrijke stappen om u op weg te helpen met Proteus:

Open de Proteus-software en maak een nieuw project.
Zoek en selecteer de benodigde componenten in de componentenbibliotheek, zoals DS18B20-sensoren, microcontrollers, voedingen, aansluitdraden, enz.
Sleep de geselecteerde componenten naar het ontwerpgebied en gebruik de muis om ze te plaatsen en in te delen.
Gebruik het bedradingsgereedschap om de pinnen van elk onderdeel met elkaar te verbinden en zo een compleet circuit te vormen.
Dubbelklik op een component of draad om de eigenschappen ervan te wijzigen, zoals weerstandswaarde, voedingsspanning, enz.

Zorg ervoor dat alle componenten correct zijn aangesloten en controleer op fouten of weglatingen.

5.1.2 Maak een DS18B20-simulatieproject
De stappen voor het maken van een simulatieproject voor de DS18B20 digitale thermometer zijn als volgt:

Start Proteus en selecteer “Nieuw project” om een ​​nieuw project aan te maken.
Na het instellen van de projectnaam en locatie, klik “Volgende”.
Selecteer een projectsjabloon, zoals “Op microprocessor gebaseerd”, en klik “Volgende”.
In de “Projectitems” tabblad, rekening “Inclusief standaardcomponenten” en selecteer een microcontroller (zoals PIC, AVR, enz.) en een DS18B20-sensor.
Klik “Finish” om de creatie van het project te voltooien.

Volgende, maak een schakelschema:
Selecteer de “KIES APPARAAT” hulpmiddel, zoek en selecteer de microcontroller en DS18B20-sensor in de componentenbibliotheek.
Gebruik de “PLAATS APPARAAT” hulpmiddel om het geselecteerde onderdeel in het ontwerpgebied te plaatsen.
Gebruik de “DRAAD” tool om de microcontroller en de relevante pinnen van de DS18B20-sensor aan te sluiten.
Na het voltooien van de verbinding, gebruik de “TEKST” hulpmiddel om annotaties aan het schakelschema toe te voegen voor eenvoudig begrip en aanpassing.

5.2 Simulatietest en data-analyse
5.2.1 Stel simulatieparameters en voorwaarden in
Voordat u met de simulatie begint, u moet de parameters en voorwaarden voor de simulatie-uitvoering instellen:
Dubbelklik op het microcontrolleronderdeel om de interface voor het instellen van eigenschappen te openen.
Selecteer het eerder geschreven programmabestandspad op “Programmabestand”.
Stel de voedingsparameters in om ervoor te zorgen dat zowel de microcontroller als de DS18B20-sensor de juiste voedingsspanning hebben.
Volgende, stel de tijdparameters voor de simulatie in:
In het simulatiecontrolepaneel, selecteren “Algemene instellingen”.
Pas de simulatiesnelheid en maximale simulatietijd aan.
Stel de juiste breekpunten in om gegevens tijdens het simulatieproces te analyseren.

5.2.2 Simuleer en lees temperatuurgegevens
Voer de simulatie uit en simuleer temperatuurgegevens:
Klik op de “Toneelstuk” knop in het simulatiecontrolepaneel om de simulatie te starten.
Gebruik de “DEBUGGEN” hulpmiddel om de lopende status van het programma en de variabelewaarden te bekijken.
Simuleer de DS18B20-sensor om de temperatuurwaarde te lezen, wat meestal wordt bereikt door de virtuele thermometer in de simulatieomgeving aan te passen.

Om temperatuurgegevens in de simulatie te lezen, u kunt de volgende stappen raadplegen:
Zoek de temperatuursimulatie-instellingen in de eigenschappen van de DS18B20-component.
Wijzig de temperatuurwaarde om de systeemreactie onder verschillende temperatuuromstandigheden te testen.
Observeer hoe het microcontrollerprogramma de temperatuurgegevens verwerkt.

5.2.3 Resultaatanalyse en probleemoplossing
Analyseer de simulatieresultaten en bevestig de prestaties van de thermometer:
Controleer de gegevens in het uitvoervenster om te controleren of de temperatuurmeting nauwkeurig is.
Gebruik de logica-analysator om te controleren of het datacommunicatieproces normaal is.
Controleer op abnormale signalen of onstabiele uitgangen.

Voer foutdiagnose en foutopsporing uit:
Als de temperatuurmeting onnauwkeurig is of als er een fout is opgetreden, controleer de aansluitmethode en configuratie van de DS18B20.
Analyseer de programmacode om ervoor te zorgen dat de algoritmen voor eerstelijnscommunicatie en dataconversie correct worden geïmplementeerd.
Gebruik de “Stop” functie van de simulatiesoftware om de simulatie te pauzeren en de huidige status van het systeem te observeren.