Temperatursensorik

Herstellung eines digitalen Thermometers mit dem digitalen Temperatursensor DS18B20

DS18B20 Temperatursensor Digitale Thermometersonde + Klemmenadaptermodul mit Kabelsatz

Einführung: In diesem Artikel wird ausführlich die Anwendung des benutzerdefinierten digitalen Temperatursensors DS18B20 beim Aufbau eines digitalen Thermometers erläutert. Inklusive Funktionsprinzip, Hardware-Verbindung, Softwareprogrammierung und Simulationsimplementierung. Stellen Sie ein vollständiges Protues-Simulationsdiagramm bereit, C-Quellcode und Ergebnisanalyse, um den Lesern zu helfen, die Verwendung von DS18B20 besser zu verstehen und zu üben.

Parameterinformationen: Stromversorgung: 3.0V – 5.5V; Einstellbare Auflösung: 9 – 12 bisschen; Temperaturbereich: -55 ℃ zu +125 ℃; Ausgabe : Rot (VCC), Gelb (DATEN), Schwarz (GND);
Was du bekommst: du wirst bekommen 4 DS18B20 Temperatursensoren, 4 Adaptermodule und 4 weibliche zu weibliche Jumper -Drähte; Das Adaptermodul hat einen Pull-up-Widerstand, die mit Himbeer -Pi ohne einen externen Widerstand kompatibel sein kann;
DS18B20 Temperatursensor: Die Größe des Edelstahlgehäuses beträgt ca.. 6 X 50 mm/ 0.2 X 2 Zoll, und das thermische Kabel der digitalen Temperatur hat eine Gesamtlänge von ca.. 1 M/ 39.4 Zoll, Welches ist lang genug, um Ihre Bedürfnisse zu erfüllen;
Qualitätsmaterial: Die Sonde besteht aus hochwertigem Edelstahlmaterial, Welches ist wasserdicht, feuchtigkeitssicher und nicht leicht zu rosten, um Kurzstrecken zu verhindern;
Breite Anwendung: Dieser DS18B20 -Temperatursensor ist mit Raspberry Pi kompatibel, und wird bei der Temperaturüberwachung des Kabelgrabens weit verbreitet angewendet, Kessel, Was, landwirtschaftliches Gewächshaus, sauberes Zimmer, usw.

DS18B20 Temperatursensor -55 Zu +125 Grad Celsius, Kompatibel mit Raspberry Pi

DS18B20 Temperatursensor -55 Zu +125 Grad Celsius, Kompatibel mit Raspberry Pi

Oberflächenhalterung DS18B20 Digitaler Temperatursensor wasserdichte Sonde

Oberflächenhalterung DS18B20 Digitaler Temperatursensor wasserdichte Sonde

DS18B20 Temperatursensor Digitale Thermometersonde + Klemmenadaptermodul mit Kabelsatz

DS18B20 Temperatursensor Digitale Thermometersonde + Klemmenadaptermodul mit Kabelsatz

1. DS18B20 -Sensoreigenschaften
Der DS18B20 -Sensor spielt eine Schlüsselrolle im Bereich der modernen Temperaturüberwachung. Es kann die Temperatur mit hoher Genauigkeit messen, und seine Auflösung kann entsprechend den Bedürfnissen angepasst werden, um eine Temperaturüberwachung mit unterschiedlichen Präzisionsgraden zu erreichen. Zusätzlich, Die geringe Größe von DS18b20 macht es für die Verwendung in Umgebungen mit begrenztem Platz geeignet, und seine benutzerfreundlichen Eigenschaften verringern die technische Schwelle von Anfängern auf Fachkräfte.

Bevor Sie die Leistungsparameter von DS18B20 weiter untersuchen, Es ist notwendig, zunächst sein Arbeitsprinzip zu verstehen. DS18B20 kommuniziert Temperaturdaten über digitale Signale, Dies bringt Komfort für die Sammlung von Temperaturdaten. Verglichen mit herkömmlichen Analogemperatursensoren, Digitale Sensoren wie DS18B20 können genauere Messwerte liefern und während der Signalübertragung weniger empfindlich gegenüber Rauschen sind.

Um diese Vorteile von DS18B20 vollständig zu nutzen, Wir müssen ein tiefes Verständnis seiner Leistungsparameter haben. Diese Parameter umfassen den Temperaturmessbereich, Genauigkeit, Auflösung, und Versorgungsspannung. Diese Parameter bestimmen nicht nur, ob DS18B20 die Anforderungen spezifischer Anwendungen erfüllen kann, beeinflussen aber auch die Leistung und Zuverlässigkeit des gesamten Systems.

In diesem Kapitel, Wir werden die Leistungsparameter von DS18B20 im Detail einführen, Analysieren Sie sein Arbeitsprinzip, und untersuchen Sie die Vorteile in verschiedenen Anwendungen. Durch diese Inhalte, Die Leser werden ein tieferes Verständnis der DS18B20 -Sensoren erlangen und eine solide Grundlage für nachfolgende komplexere Anwendungen und Programmierungen legen.

2. Detaillierte Erläuterung des 1-Wire-Kommunikationsprotokolls von DS18B20
Der Grund, warum DS18B20 -Sensoren weit verbreitet sind – 1-Drahtkommunikationsprotokoll. Dieses Protokoll vereinfacht die Anforderungen an Hardwareverbindungen und bietet eine effiziente Möglichkeit, Daten zu übertragen. In diesem Kapitel wird der Arbeitsmechanismus und den Datenaustauschprozess des 1-Linie-Kommunikationsprotokolls zutiefst analysiert, um eine solide Grundlage für die nachfolgende Programmierpraxis zu legen.
2.1 Grundlagen des 1-Wire-Kommunikationsprotokolls
2.1.1 Merkmale des 1-Wire-Kommunikationsprotokolls:
DS18B20 1-Wire-Kommunikationsprotokoll wird ebenfalls genannt “Einzelbus” Technologie. Es hat die folgenden Funktionen: – Einzelbuskommunikation: Für die bidirektionale Datenübertragung wird nur eine Datenlinie verwendet, Dies reduziert die Komplexität der Verkabelung im Vergleich zu der traditionellen Mehrdrahtsensorkommunikationsmethode stark. – Multi-Device-Verbindung: Unterstützt das Verbinden mehrerer Geräte mit einem Datenbus, und identifiziert und kommuniziert durch Geräteidentifikationscodes. – Niedriger Stromverbrauch: Während der Kommunikation, Das Gerät kann sich in einem Standby-Zustand mit geringer Leistung befinden, wenn sie nicht an der Kommunikation teilnimmt. – Hohe Präzision: Mit einer kürzeren Datenübertragungszeit, Es kann externe Interferenzen reduzieren und die Datengenauigkeit verbessern.
2.1.2 Datenformat und Zeitanalyse der 1-Wire-Kommunikation
Das Datenformat des 1-Wire-Kommunikationsprotokolls folgt einer bestimmten Zeitregel. Es enthält das Initialisierungszeitpunkt, Schreiben Sie das Timing und lesen Sie das Timing:
Initialisierungszeitpunkt: Der Host beginnt zuerst das Timing für die Anwesenheitserkennung (Präsenzpuls) Durch den Bus für einen bestimmten Zeitraum hinunterziehen, und der Sensor sendet dann einen Vorhandenseinpuls als Antwort.
Timing schreiben: Wenn der Host ein Schreibzeitpunkt sendet, Es zieht zuerst den Bus runter für ungefähr 1-15 Mikrosekunde, Dann veröffentlicht der Bus, und der Sensor zieht den Bus herunter 60-120 Mikrosekunde reagiert.
Timing lesen: Der Host benachrichtigt den Sensor, Daten zu senden, indem er den Bus herunterzieht und veröffentlichen, und der Sensor gibt das Datenbit im Bus nach einer bestimmten Verzögerung aus.

3. Thermometer -Hardware -Verbindungsmethode
Die Hardwareverbindung ist der erste und wichtigste Schritt zum Aufbau eines digitalen Thermometers. Die korrekte Verbindung zwischen dem DS18B20 -Sensor und dem Mikrocontroller sorgt für eine genaue Datenübertragung und bietet eine solide Grundlage für weitere Softwareprogrammierung und Datenverarbeitung. In diesem Kapitel werden die Prinzipien der Schnittstellendesign zwischen DS18B20 und Mikrocontroller und die spezifischen Schritte der Schaltungsverbindung ausführlich vorgestellt, und decken Sie den relevanten Inhalt der Stromversorgungs- und Signalkonditionierung ab.
3.1 Schnittstelle zwischen DS18B20 und Mikrocontroller
3.1.1 Prinzipien der Schnittstellenschaltung
Die Grenzflächenschaltungdesign von DS18B20 muss mehrere Kernprinzipien befolgen, um einen stabilen und effizienten Betrieb des Geräts sicherzustellen:
Stallstromversorgung: DS18B20 kann Strom aus der Datenlinie erhalten “DQ” (angerufen “Parasitär Power -Modus”), oder es kann unabhängig von einer externen Stromversorgung angetrieben werden. Unabhängig davon, welche Methode verwendet wird, Die Stromversorgung muss stabil sein, um Datenübertragungsfehler zu verhindern, die durch Stromversorgungsschwankungen verursacht werden.
Signalintegrität: Da DS18B20 Daten über eine einzelne Zeile überträgt, Signalintegrität ist besonders kritisch. Es ist notwendig, die Anti-Interferenz-Fähigkeit des Signals und die Übereinstimmung der elektrischen Eigenschaften des Signals zu berücksichtigen.
Schaltungsschutz: Überstromschutz und elektrostatische Entladung (ESD) Schutzmaßnahmen sollten in das Schaltungskonstruktion einbezogen werden, um eine Beschädigung des Sensors oder des Mikrocontrollers zu vermeiden.

3.1.2 Spezifische Schritte für den Schaltungsanschluss
Das Verbinden von DS18B20 mit einem Mikrocontroller folgt normalerweise den folgenden Schritten:
Stromverbindung: Schließen Sie den VDD -Pin von DS18B20 an einen 3,3 -V- oder 5 -V -Netzteil an (Abhängig vom Spannungsniveau des Mikrocontrollers), und der GND -Stift zur Bodenlinie.
Datenlinienverbindung: Der DQ -Pin ist mit einem digitalen E/A -Pin des Mikrocontrollers verbunden. Um die Stabilität der Datenübertragung zu gewährleisten, Ein Pull-up-Widerstand kann zwischen der Datenlinie und der Stromversorgung hinzugefügt werden, mit einem typischen Wert von 4,7 kΩ bis 10 kΩ.
Puls Pin -Pin -Verarbeitung zurücksetzen und vorhanden: Normalerweise, der Reset -Stift (RST) und Präsenzimpulsnadel (PAR) von ds18b20 müssen extern nicht angeschlossen werden, Sie sind intern verwendete Signale.

In diesem Abschnitt, Wir haben eine Basiskreis entwickelt, über die der Temperatursensor DS18B20 an einen Mikrocontroller angeschlossen werden kann. Das Folgende ist ein Beispiel -Schaltungsdiagramm, das auf Arduino Uno und der entsprechenden Beschreibung basiert:

Flussdiagramm LR
DS18B20 — |VDD| 5V
DS18B20 — |GND| GND
DS18B20 — |DQ| 2
DQ — |Pull-up| 5V

Darunter, DS18B20 repräsentiert den digitalen Temperatursensor, 5V ist die Leistung des Mikrocontrollers, GND ist der Erdungsdraht, Und 2 repräsentiert den Arduino -Pin Nr. Nr.. 2, die für die Datenübertragung verwendet wird. Die Verbindung zwischen DQ und 5V repräsentiert den Pull-up-Widerstand.


3.2 Stromversorgung und Signalkonditionierung
3.2.1 Auswahl der Stromversorgungsmethode
DS18B20 bietet zwei Stromversorgungsmethoden:
Parasitär Power -Modus: In diesem Modus, die Datenlinie (DQ) kann nicht nur Daten übertragen, aber auch den ds18b20 mit Strom versorgen. Zu diesem Zeitpunkt, Die hochrangige Spannung auf der Datenlinie sollte mindestens 3,0 V betragen, um einen ausreichenden Stromversorgungsstrom zu gewährleisten. Dieser Modus wird normalerweise verwendet, wenn die Buslänge kurz ist und die Datenübertragung nicht zu häufig ist.

Externer Stromversorgungsmodus: In diesem Modus, DS18B20 hat eine unabhängige Leistungseingangs -VDD. Das Stromversetzen mit einer externen Stromversorgung kann die Signalstärke des Sensors verbessern und die Anti-Interferenz-Fähigkeit verbessern, Dies ist für eine Fernübertragung oder häufige Datenübertragung geeignet.

3.2.2 Signalfilterung und Stabilisierung
Um die Signalstabilität und das genaue Datenwert zu gewährleisten, Das Signal muss ordnungsgemäß gefiltert und stabilisiert werden:
Pull-up-Widerstand: Der Pull-up-Widerstand wird zwischen der Datenlinie und der Stromversorgung hinzugefügt, um sicherzustellen, dass sich die Datenlinie im Leerlauf in einem Zustand auf hoher Ebene befindet.
On-Jitter-Schaltung: Um fehlerhafte Messwerte zu beseitigen, die durch Linieninterferenz oder momentane Spannungsschwankungen verursacht werden, Das Signal kann auf der Mikrocontroller-Seite Software-DE-Jittering sein.
ESD -Schutz: ESD -Schutzkomponenten (wie Fernsehdioden) werden zu den Ports von Sensoren und Mikrocontrollern hinzugefügt, um Schäden zu verhindern, die durch elektrostatische Entladung verursacht werden.

In diesem Abschnitt werden die Faktoren weiter ausgeführt, die bei der Auswahl der Stromversorgung und der Signalkonditionierung in Tabellenform berücksichtigt werden sollten:
| Projekt | Parasitär Power -Modus | Externer Power -Modus | Beschreibung | | — | — | — | — | | Anwendbare Szenarien | Kurze Linien, seltene Daten | Lange Linien, Häufige Daten | Wählen Sie gemäß den tatsächlichen Anwendungsszenarien | | Stromversorgungsstabilität | Untere | Höher | Die externe Stromversorgung wird für lange Linien oder hohe Frequenzen empfohlen | | Kosten | Untere | Höher | Die externe Stromversorgung erfordert zusätzliche Stromverwaltungskomponenten | | Anti-Interferenz | Schwächer | Stärker | Die externe Stromversorgung eignet sich besser für Umgebungen mit hoher Interferenzen |

Die obigen Verbindungsmethoden und Signalverarbeitungsstrategien können den Temperatursensor DS18B20 effektiv in jedes Mikrocontroller -System integrieren. Im nächsten Kapitel wird vorgestellt, wie die C -Sprache verwendet wird:


Funktionelle Programmierpraxis von DS18B20:
4. DS18B20 Digitales Thermometer C Sprachprogrammierung
4.1 Programmierfundament und Umweltvorbereitung
4.1.1 Programmdesign -Ideen und Rahmenkonstruktion
Bevor Sie mit dem Schreiben des C -Sprachprogramms des DS18B20 Digital Thermometer beginnen, Sie müssen zunächst die grundlegenden Ideen des Programmdesigns festlegen. Der DS18B20-Sensor kommuniziert mit dem Mikrocontroller über das 1-Wire-Kommunikationsprotokoll. daher, Die Hauptaufgabe des Programms besteht darin, die damit verbundenen Operationen des 1-Wire-Kommunikationsprotokolls zu implementieren, einschließlich der Initialisierung von DS18B20, Anweisungen senden, Lesetemperaturdaten, und Konvertieren und Anzeigen der Lesedaten.

Das Programmrahmen ist grob in die folgenden Teile unterteilt:
Initialisierung: Initialisieren Sie den Mikrocontroller- und DS18B20 -Sensor.
Hauptschleife: Enthält eine Schleife, die kontinuierlich Sensordaten liest.
1-Bray Communication Function Function Library: Enthält Funktionen für die Implementierung des One-Wire-Kommunikationsprotokolls.

Datenverarbeitung: Umwandeln Sie die vom Sensor zurückgegebenen Rohdaten in lesbare Temperaturwerte.
Ausgabe anzeigen: Zeigen Sie die verarbeiteten Temperaturdaten auf dem LCD -Bildschirm an oder geben Sie sie über den seriellen Port auf den Computer aus.

Stahl aus rostfreiem Stahl wasserdicht DS18B20 Temperatursonde 1-Wire 1, 2, 5 Meter

Stahl aus rostfreiem Stahl wasserdicht DS18B20 Temperatursonde 1-Wire 1, 2, 5 Meter

DS18B20 1-Wire Digital Temperatursensor

DS18B20 1-Wire Digital Temperatursensor

DS18B20 Temperatursensor -Modul -Kit mit 1 M-3,2 ft wasserdichte digitale Edelstahlsonde

DS18B20 Temperatursensor -Modul -Kit mit 1 M-3,2 ft wasserdichte digitale Edelstahlsonde

4.1.2 Entwicklungsumgebung Konstruktion und Konfiguration
Um das digitale Thermometer DS18B20 zu programmieren und zu entwickeln, Sie müssen die Entwicklungsumgebung vorbereiten und sie angemessen konfigurieren. Das Folgende sind die grundlegenden Schritte für die Entwicklung:

Wählen Sie die Entwicklungsumgebung aus: Wählen Sie die entsprechende integrierte Entwicklungsumgebung aus (Ide) gemäß der Art des Mikrocontrollers, wie für die Entwicklung basierend auf dem Mikrocontroller der ARM Cortex-M-Serie. Sie können Keil MDK oder STM32Cubeide verwenden.

Konfigurieren Sie den Compiler: Nach der verwendeten IDE, Konfigurieren Sie den Compiler, um sicherzustellen, dass der C -Sprachcode ordnungsgemäß kompiliert werden kann.
Bauen Sie das Hardware -Entwicklungsausschuss auf: Wählen Sie eine geeignete Mikrocontroller -Entwicklungskarte aus, wie basierend auf STM32, ESP32, usw.
Verbinden Sie die Entwicklungskarte: Schließen Sie den DS18B20-Sensor über das 1-Wire-Kommunikationsprotokoll an den angegebenen Stift des Mikrocontrollers an.
Code schreiben: Erstellen Sie ein neues C -Sprachprojekt in der IDE und starten Sie den Programmcode zum Schreiben.
Kompilieren und debuggen: Verwenden Sie das IDE -Tool, um den Code zu kompilieren und ihn zum Debuggen auf dem Entwicklungsausschuss auszuführen.

#enthalten <stdio.h>

// DS18B20 First-Line Communication Function Function Library Deklaration
void ds18b20_init();
void ds18b20_reset();
void ds18b20_writebyte(Unsigned char dat);
Unsigned char ds18b20_readbyte();
int ds18b20_readtemperature();

int main() {
// Initialisieren Sie den DS18B20 -Sensor
Ds18b20_init();
// Hauptschleife
während(1) {
// Temperaturwert lesen
int temperatur = ds18b20_readtemperature();
// Ausgangstemperaturwert zum seriellen Anschluss oder eines anderen Anzeigegeräts
printf(“Stromtemperatur: %d\n”, Temperatur);
}
zurückkehren 0;
}


4.2 DS18B20 Temperaturlesungsprogramm Implementierung
4.2.1 Konstruktion der Eindraht-Kommunikationsfunktionsbibliothek
Um die Temperaturlesung von DS18b20 zu realisieren, Sie müssen zunächst eine Eindraht-Kommunikationsfunktionsbibliothek erstellen. Im Folgenden finden Sie die Implementierungsmethoden mehrerer Schlüsselfunktionen:

Ds18b20_init(): Initialisieren Sie das Eindraht-Kommunikationszeitpunkt.
DS18B20_RESET(): Setzen Sie den Sensor zurück und erfassen Sie seinen Puls.
Ds18b20_writebyte(Unsigned char dat): Schreiben Sie ein Datenbyte an den Sensor.
DS18B20_READBYTE(): Lesen Sie ein Datenbyte vom Sensor.
DS18B20_READTEMPERATION(): Lesen Sie die Temperatur und konvertieren Sie sie.

Die Implementierung der Eindraht-Kommunikationsfunktionsbibliothek von DS18B20 ist sehr kompliziert, da die Änderungen der Pin-Ebene eine genaue Kontrolle benötigen, um dem One-Wire-Kommunikationsprotokoll zu folgen. Das Folgende ist ein Beispiel für eine Funktionsinimpuzierung:
void ds18b20_reset() {
// Einzeilen-Kommunikationsreset-Sequenz, einschließlich des Abziehens der Datenlinie, Verzögerung, den Bus freigeben, und den Vorhandenseinimpuls erkennen
// …
}

Der Zweck dieser Funktion besteht darin, einen Reset -Impuls an den DS18B20 zu senden. Nach dem Zurücksetzen ist erfolgreich, Der DS18B20 gibt einen Präsenzpuls zurück.


4.2.2 Implementierung des Temperatur -Lese -Algorithmus
Das Lesen des Temperaturwerts des DS18B20 -Sensors ist ein komplizierterer Prozess, Da es in einem bestimmten Zeitpunkt bestimmte Anweisungen an den Sensor senden muss, und die zurückgegebenen Daten korrekt lesen. Der Algorithmus zum Lesen des Temperaturwerts ist wie folgt:

Setzen Sie den Sensor zurück.
Senden Sie die “Schiffsraum” Befehl (0Xcc).
Senden Sie die “Temperatur konvertieren” Befehl (0x44).
Warten Sie, bis die Konvertierung abgeschlossen ist.
Senden Sie die “Register lesen” Befehl (0Xbe).
Lesen Sie zwei Bytes Temperaturdaten.

Der folgende Code zeigt, wie Sie den Temperaturwert des DS18B20 lesen:

int ds18b20_readtemperature() {
Unsigned char temp_low, temp_high;
Unsigned Int Temp;

// Setzen Sie den Sensor zurück und überspringen Sie die ROM -Anweisungen
DS18B20_RESET();
Ds18b20_writebyte(0Xcc); // ROM -Befehle überspringen
// Befehl Conversion Temperatur senden
Ds18b20_writebyte(0x44);
// Warten Sie, bis die Konvertierung abgeschlossen ist. Hier müssen Sie gemäß der Konversionszeit von DS18B20 warten
// …

// Setzen Sie den Sensor zurück und lesen Sie die Temperaturdaten
DS18B20_RESET();
Ds18b20_writebyte(0Xcc); // ROM -Befehle überspringen
Ds18b20_writebyte(0Xbe); // Register -Befehl lesen

// Lesen Sie zwei Datenbytes
temp_low = ds18b20_readbyte();
temp_high = ds18b20_readbyte();
// Kombinieren Sie zwei Datenbytes zu einer 16-Bit-Ganzzahl
temp = (temp_high << 8) | temp_low;
// Den Temperaturwert zurückgeben, Angemessene Konvertierung auf der Grundlage der Auflösung des DS18B20
Temperatur zurückgeben;
}


4.2.3 Programmdebugging und Ausnahmebehandlung

Beim Schreiben eines DS18B20 -Leseprogramms, Programmdebugging und Ausnahmebehandlung sind sehr wichtig. Während des Debuggens, Möglicherweise müssen Sie den Debugging -Assistenten serieller Port verwenden, um zu prüfen, ob der Ausgangstemperaturwert korrekt ist, oder verwenden Sie einen Logikanalysator, um den Signalzeitpunkt der First-Line-Kommunikation zu überwachen. Ausnahmebehandlung muss Hardwarefehler berücksichtigen, Kommunikationsfehler, und abnormale Reaktionen von DS18B20.

Das Folgende sind einige Strategien für Debugging- und Ausnahmebehandlungen:

Datenüberprüfung: Nach jeder Daten gelesen, Verwenden Sie eine Prüfsumme oder ein Überprüfungsbit, um die Richtigkeit der Daten zu bestätigen.
Ausnahmeaufnahme: Fügen Sie dem Programm einen Ausnahmebefehlmechanismus hinzu, wie ein Timeout -Wiederholungsmechanismus, Setzen Sie den Sensor zurück, usw.
Informationen debuggen: Fügen Sie dem Programm ausreichende Informationen zum Debugging hinzu, um das Problem zu finden.
int main() {
// Initialisieren Sie den DS18B20 -Sensor
Ds18b20_init();
// Hauptschleife
während(1) {
int Temperatur;
// Temperatur lesen und auf Fehler suchen
Temperatur = DS18B20_Readtemperature();
Wenn (Temperatur < 0) {
printf(“Fehlerlesenstemperatur!\N”);
// Sie können sich für die Wiederholung oder andere Fehlerbehandlungsmechanismen entscheiden
} anders {
printf(“Stromtemperatur: %d\n”, Temperatur);
}
}
zurückkehren 0;
}

In diesem Kapitel wird die C -Stiftung und die Herstellung von Umgebungsumgebungen des DS18B20 Digital Thermometer ds18b20 vorgestellt, sowie die Implementierung des Temperaturlesungsprogramms, und betont die Bedeutung des Programmdebuggens und der Ausnahmebehandlung. Durch die Einführung dieses Kapitels, Die Leser sollten in der Lage sein, eine Entwicklungsumgebung aufzubauen, Verstehen Sie die Bedeutung der First-Line-Kommunikationsfunktionsbibliothek, und schreiben Sie ein grundlegendes Temperaturlesungsprogramm. Die folgenden Kapitel werden sich weiter in die Konstruktion und Verwendung der Proteus -Simulationsumgebung befassen, Bereitstellung einer Simulationstestmethode für die tatsächliche Hardware -Montage.


5. Proteus -Simulationsdiagramm und Simulationsergebnisanalyse
5.1 Proteus -Simulationsumgebungskonstruktion
5.1.1 Grundbetrieb der Proteus -Software
Bevor Sie das Simulationsmodell des digitalen Thermometers DS18B20 erstellen, Sie müssen zunächst den grundlegenden Betrieb von Proteus -Software verstehen und beherrschen. Proteus ist eine leistungsstarke Simulationssoftware für elektronische Schaltkreise, die nicht nur Schaltungsschematik, aber auch die Layouts für Schaltkreisplätze und Bereitstellung von Simulationsfunktionen. Hier sind einige wichtige Schritte, mit denen Sie mit Proteus beginnen können:

Öffnen Sie die Proteus -Software und erstellen Sie ein neues Projekt.
Suchen Sie und wählen Sie die erforderlichen Komponenten in der Komponentenbibliothek aus, wie DS18B20 -Sensoren, Mikrocontroller, Netzteile, Drähte verbinden, usw.
Ziehen Sie die ausgewählten Komponenten in den Konstruktionsbereich und verwenden Sie die Maus, um sie zu platzieren und zu layout.
Verwenden Sie das Verdrahtungswerkzeug, um die Stifte jeder Komponente zu einer vollständigen Schaltung anzuschließen.
Doppelklicken Sie auf eine Komponente oder Kabel, um ihre Eigenschaften zu ändern, wie Widerstandswert, Stromversorgungsspannung, usw.

Stellen Sie sicher, dass alle Komponenten korrekt angeschlossen sind und auf Fehler oder Auslassungen suchen.

5.1.2 Erstellen Sie ein DS18B20 -Simulationsprojekt
Die Schritte zum Erstellen eines Simulationsprojekts für das digitale DS18B20 -Thermometer sind wie folgt:

Starten Sie Proteus und wählen Sie “Neues Projekt” ein neues Projekt zu erstellen.
Nach der Festlegung des Projektnamens und des Projekts, klicken “Nächste”.
Wählen Sie eine Projektvorlage aus, wie zum Beispiel “Mikroprozessorbasiert”, und klicken Sie “Nächste”.
Im “Projektelemente” Tab, überprüfen “Standardkomponenten einschließen” und wählen Sie einen Mikrocontroller aus (wie Bild, Avr, usw.) und ein DS18B20 -Sensor.
Klicken “Beenden” Um die Projekterstellung zu vervollständigen.

Nächste, Erstellen Sie ein Schaltplanschema:
Wählen Sie die aus “Gerät auswählen” Werkzeug, Suchen und wählen Sie den Sensor für Mikrocontroller und DS18B20 in der Komponentenbibliothek.
Benutze die “Gerät platzieren” Werkzeug, um die ausgewählte Komponente im Konstruktionsbereich zu platzieren.
Benutze die “DRAHT” Werkzeug zum Verbinden des Mikrocontroller und der relevanten Stifte des DS18B20 -Sensors.
Nach Abschluss der Verbindung, benutze die “TEXT” Werkzeug zum Hinzufügen von Anmerkungen zum Schaltplan für das einfache Verständnis und Änderung.

5.2 Simulationstest- und Datenanalyse
5.2.1 Setzen Sie die Simulationsparameter und -bedingungen
Vor Beginn der Simulation, Sie müssen die Parameter und Bedingungen für den Simulationslauf einstellen:
Doppelklicken Sie auf die Mikrocontroller-Komponente, um die Eigenschaftseinstellungsschnittstelle einzugeben.
Wählen Sie den zuvor geschriebenen Programmdateipfad unter “Programmdatei”.
Stellen Sie die Stromversorgungsparameter ein, um sicherzustellen, dass sowohl der Mikrocontroller als auch der DS18B20 -Sensor die richtige Stromversorgungsspannung haben.
Nächste, Legen Sie die Zeitparameter für die Simulation fest:
Im Simulationsbedienfeld, wählen “Globale Einstellungen”.
Passen Sie die Simulationsgeschwindigkeit und die maximale Simulationszeit an.
Stellen Sie geeignete Haltepunkte ein, um Daten während des Simulationsprozesses zu analysieren.

5.2.2 Temperaturdaten simulieren und lesen
Führen Sie die Simulation aus und simulieren Sie Temperaturdaten:
Klicken Sie auf die “Spielen” Taste im Simulationsteuerfeld, um die Simulation zu starten.
Benutze die “DEBUGGEN” Tool zum Anzeigen des Programms für Programmstatus und variable Werte.
Simulieren Sie den DS18B20 -Sensor, um den Temperaturwert zu lesen, Dies wird normalerweise erreicht, indem das virtuelle Thermometer in der Simulationsumgebung geändert wird.

Temperaturdaten in der Simulation lesen, Sie können sich auf die folgenden Schritte beziehen:
Finden Sie die Temperatursimulationseinstellungen in den Eigenschaften der DS18B20 -Komponente.
Ändern Sie den Temperaturwert, um die Systemreaktion unter verschiedenen Temperaturbedingungen zu testen.
Beobachten Sie, wie das Mikrocontroller -Programm die Temperaturdaten verarbeitet.

5.2.3 Ergebnisanalyse und Fehlerbehebung
Analysieren Sie die Simulationsergebnisse und bestätigen Sie die Leistung des Thermometers:
Überprüfen Sie die Daten im Ausgangsfenster, um zu überprüfen, ob die Temperaturlesung genau ist.
Verwenden Sie das Tool zum Logikanalysator, um zu überwachen, ob der Datenkommunikationsprozess normal ist.
Überprüfen Sie abnormale Signale oder instabile Ausgänge.

Führen Sie Fehlerdiagnose und Debuggen durch:
Wenn der Temperaturwert ungenau ist oder ein Fehler vorliegt, Überprüfen Sie die Verbindungsmethode und Konfiguration des DS18B20.
Analysieren Sie den Programmcode, um sicherzustellen.
Benutze die “Stoppen” Funktion der Simulationssoftware, um die Simulation zu pausieren und den aktuellen Status des Systems zu beobachten.