Anwendung des Digitalen Sensors DS18B20
Die 1-Wire-Bustechnologie zeichnet sich durch Einsparung von E/A-Ressourcen, einfache Struktur, niedrige Kosten, einfache Buserweiterung und bequeme Wartung aus. Daher wird es häufig in verteilten Temperaturmess systemen eingesetzt. Der intelligente Single-Bus-Temperatursensor DS18B20 des amerikanischen Unternehmens DALLAS ist ein typisches Produkt mit 1-Wire-Bus-Technologie. DS18B20 überträgt spezifische Befehlssequenzen und kommuniziert Daten über eine einzige Leitung gemäß dem 1-Wire-Protokoll. Ein sehr wichtiges Merkmal dieser Produktserie besteht darin, dass jedes Gerät vor Verlassen des Werks mit einem eindeutigen 64-Bit-ROM-Code oder einer Seriennummer beschrieben wird und das niedrigstwertige Byte der Familiencode ist. Stellt den Gerätetyp dar. Der Familiencode von DS1990A lautet beispielsweise 01H und der Familiencode von DS18B20 lautet 28H. Da mehrere 1-Wire-Geräte derselben Serie oder verschiedener Serien gleichzeitig an denselben 1-Wire-Bus angeschlossen werden können, muss der Host in der Lage sein, zu bestimmen, wie auf jedes Gerät am 1-Wire-Bus korrekt zugegriffen werden kann. Der Familiencode im 64-Bit-ROM-Code gibt den Gerätetyp an, und die folgenden 6 Bytes sind die eindeutige Seriennummer des Geräts, um verschiedene Geräte derselben Serie zu unterscheiden. Diese Seriennummer dient als Adresse des Geräts am 1-Wire-Bus. Auf diese Weise bilden alle Geräte am 1-Wire-Bus zusammen mit dem Host ein Micro-LAN. Sie kommunizieren über eine gemeinsame Leitung.
2. Eigenschaften und Funktion block diagramm des digitalen Temperatursensors.
Die Kernfunktion von DS18B20 besteht darin, dass es direkt in digitale Größen umgewandelt werden kann. Da jeder intelligente Temperatursensor DS18B20 eine eindeutige 64-Bit-Seriennummer hat. Ermöglicht den Betrieb mehrerer DS18B20 am selben Bus. Daher kann ein Einzelchip-Mikrocomputer zur Steuerung mehrerer digitaler Temperatursensoren DS18B20 in einem großen Bereich verwendet werden, was häufig in der Umgebungstemperatur regelung, Temperatur überwachung systemen sowie Prozessüberwachungs- und -steuerung systemen verwendet wird. Das höchstwertige Byte der 64-Bit-Seriennummer des 1-Wire-Geräts ist der CRC-Code für die zyklische Redundanzprüfung. Der Wert basiert auf den vorherigen 56 Datenbits. Wenn der Systemhost mit einem Gerät kommuniziert, kann er 8 ROM-Bytes beginnend mit dem niederwertigen Bit, der 64-Bit-Seriennummer, lesen.
Der Temperaturmessbereich des 1-Wire-Bus-Technologie-Temperatursensors DS18B20 beträgt - 55℃ ~ + 125℃. Der Arbeitsspeicher enthält ein Zwei-Byte-Temperaturregister, das zum Speichern der digitalen Ausgabe des Temperatursensors verwendet wird. Darüber hinaus sind ein Byte-Alarm-Obergrenzen-TH-Register und ein Byte-Alarm-Untergrenzen-TL-Register vorhanden. Es gibt auch ein Byte-Konfiguration register. Über das Konfiguration register kann der Benutzer die Auflösung auf 9 bis 12 Bit einstellen. Entsprechend den Temperaturwerten 0,5℃, 0,25℃, 0,125℃ bzw. 0,0625℃. TH-, TL- und Konfiguration register können im EEPROM gespeichert werden. Wenn das System also ausgeschaltet wird, bleiben die Daten in TH-, TL- und Konfiguration registern weiterhin gespeichert. Der Funktionsblock des Temperatursensors DS18B20 mit 1-Wire-Bus-Technologie ist in Abbildung 1 dargestellt.
Abbildung 1 Funktion blockdiagramm des 1-Wire-Technologie-Temperatursensors DS18B20
3. ROM-Befehle und Funktionsbefehle für digitale Temperatursensoren.
Damit der Temperatursensor DS18B20 mit 1-Wire-Bus-Technologie normal funktioniert, müssen relevante Befehle in einer bestimmten Reihenfolge ausgeführt werden. Führen Sie zuerst die Initialisierung durch, zweitens führen Sie ROM-Befehle aus und führen schließlich DS18B20-Funktionsbefehle aus. Es gibt 5 häufig verwendete ROM-Befehle. Jeder Befehl ist ein Byte. Vor dem Senden des DS18B20-Funktionsbefehls muss die Haupt-CPU den entsprechenden ROM-Befehl ausgeben. Die fünf Betriebsbefehle für ROM umfassen ROM-Suchbefehl (Code: F0H), ROM-Befehl (Code: 33H), Match-ROM-Befehl (Code: 55H), Skip-ROM-Befehl (Code: CCH) und Suchalarmbefehl (Code: ECH). .
Nachdem die Haupt-CPU den ROM-Befehl verwendet hat und auf das Slave-Gerät DS18B20 zugreift, mit dem sie kommunizieren möchte, kann die Haupt-CPU einen DS18B20-Funktionsbefehl ausgeben. Für den Temperatursensor DS18B20 mit 1-Wire-Bus-Technologie gibt es hauptsächlich 5 Funktionsbefehle. Mit diesen Befehlen kann die Haupt-CPU den Arbeitsspeicher des DS18B20 lesen oder schreiben, Temperatur konvertierungen initiieren und den Modus der Stromversorgung bestimmen. Nachfolgend werden die DS18B20-Funktionsbefehle beschrieben.
1. Der Temperatur umwandlungs befehl (Code 44H) veranlasst den DS18B20, die Umwandlung zu starten. Die umgewandelten Temperaturdaten werden im Zwei-Byte-Temperaturregister gespeichert.
2. Der Befehl „Notizspeicher schreiben“ (Code 4EH) ermöglicht es der Haupt-CPU, 3 Byte Daten in den Notizspeicher zu schreiben. Das erste Datenbyte wird in das TH-Register geschrieben, das zweite Datenbyte wird in das TL-Register geschrieben und das dritte Datenbyte wird in das Konfiguration register geschrieben. Die Daten werden beginnend mit dem niedrigstwertigen Bit geschrieben. Es müssen drei Bytes geschrieben werden, bevor die Haupt-CPU einen Reset-Impuls ausgibt.
3. Der Befehl „Notizspeicher lesen“ (Code BEH) ermöglicht es der Haupt-CPU, den Inhalt des Notizspeichers zu lesen. Die Datenübertragung beginnt mit dem niedrigstwertigen Bit von Byte 0 bis Byte 8. Der 9-Byte-Inhalt des Memospeichers wird ausgelesen. Byte 8 ist der CRC-Prüfcode. Wenn nur ein Teil der Bytes im Arbeitsspeicher ausgelesen werden muss, kann die Haupt-CPU jederzeit einen Reset-Impuls senden, um den Lesevorgang zu beenden.
4. Der Befehl „Notizspeicher kopieren“ (Code 48H) kopiert die Notizspeicherbytes 2, 3 und 4, d. h. den Inhalt von TH, TL und Konfiguration registern, in das EEPROM.
5. Der Abrufbefehl vom EEPROM (Code B8H) ruft den Inhalt der TH-, TL- und Konfiguration register vom EEPROM ab und platziert die Daten in den Bytes 2, 3 und 4 des Arbeitsspeichers. Das Abrufen des Befehls aus dem EEPROM (Code B8H) wird beim Einschalten automatisch ausgeführt.
4. Hardware komponenten des Brandmelde systems
Das Brandmeldesystem besteht aus AT89C51, Echtzeituhrschaltung DS1302, Tastatur- und Anzeigeschaltung, RS485-Kommunikationsschaltung, Watchdog-Schaltung bestehend aus MAX813L, serieller E2PROM-Speicherschaltung usw. Durch die Verwendung mehrerer Sensoren zur Messung der Temperatur in verschiedenen Räumen können Sie die oberen Alarmgrenzen für verschiedene Räume festlegen und die Anzeige und den Alarm der entsprechenden Temperaturen in mehreren Räumen realisieren.
Der Hardware-Aufbau des Brandmelde systems ist in Abbildung 2 dargestellt.
Abbildung 2, Diagramm der Hardware-Zusammensetzung des Brandmelde systems
5. Stromversorgung methode für digitale Temperatursensoren mit 1-Draht-Bus-Technologie
Für DS18B20 gibt es zwei Arten von Netzteilen. Externer Stromversorgungsmodus und parasitärer Stromversorgungsmodus. Die externe Stromversorgung methode ist in Abbildung 3 dargestellt. Der Pin VDD in Abbildung 3 ist mit der externen Stromversorgung verbunden. Die parasitäre Stromversorgung methode erfordert keine externe Stromversorgung, wie in Abbildung 4 dargestellt. Beim Betrieb im parasitären Stromversorgungsmodus sind sowohl VDD als auch GND mit Masse verbunden. Sehr nützlich, wenn eine Fernüberwachung der Temperatur erforderlich ist und der Platz begrenzt ist. Wenn in Abbildung 3 der 1-Wire-Bus hoch ist, „stiehlt“ DS18B20 Strom vom 1-Wire-Bus über Pin DQ, und die gestohlene Ladung versorgt den Bus mit Strom. Wenn der Bus niedrig ist, versorgt die in der parasitären Versorgungskapazität gespeicherte Ladung den Sensor mit Strom. Wenn DS18B20 im parasitären Stromversorgungsmodus verwendet wird, muss VDD mit Masse verbunden werden. Im parasitären Stromversorgungsmodus kann der Betriebsstrom jedoch 1,5 mA erreichen, wenn der DS18B20 eine Temperatur umwandlung durchführt und den Inhalt des Arbeitsspeichers in das EEPROM kopiert. Dieser Strom kann zu einem erheblichen Spannungsabfall führen und die ordnungsgemäße Funktion des Sensors beeinträchtigen. Um sicherzustellen, dass der DS18B20 über ausreichend Versorgungsstrom verfügt, muss beim Durchführen der Temperatur umwandlung und beim Kopieren des Inhalts des Arbeitsspeichers in das EEPROM ein ausreichend starker Pullup am Bus bereitgestellt werden. Zum Hochziehen des Busses kann eine MOSFET-Röhre verwendet werden, wie in Abbildung 4 dargestellt. Wenn die erkannte Temperatur 100 °C überschreitet, wird im Allgemeinen empfohlen, keine parasitäre Stromversorgung, sondern eine externe Stromversorgung zu verwenden. Denn bei so hohen Temperaturen ist es dem DS18B20 aufgrund des hohen Leckstroms unmöglich, die Datenkommunikation aufrechtzuerhalten. Versuchen Sie daher, wenn die Bedingungen es zulassen, eine externe Stromversorgung zu verwenden.
Abbildung 3, externe Stromversorgung methode des DS18B20
Abbildung 4: Parasitärer Stromversorgung modus des DS18B20
6. Flussdiagramm zur Temperaturerfassung und -verarbeitung
Das auf dem Mikrocontroller AT89C51 basierende Brandmeldesystem verwendet den intelligenten Temperatursensor DS18B20. Nach dem korrekten Lesen der 64-Bit-Seriennummer muss ein Temperaturleseprogramm gemäß strengen Zeitvorgaben geschrieben werden. Der Mikrocontroller muss dem Befehlsfluss von DS18B20 folgen, um die Temperatur umwandlung von DS18B20 zu steuern. Zuerst wird die Initialisierungssequenz ausgeführt, und dann gibt der Mikrocontroller einen Skip-ROM-Befehl aus (Code ist CCH). Dieser Befehl gilt für alle Online-DS18B20. Der Mikrocontroller gibt dann einen Start umwandlungs befehl (Code 44H) aus, um DS18B20 zu starten und die Temperatur umwandlung abzuschließen. Für eine 12-Bit-Auflösung ist eine Verzögerung von 750 ms erforderlich. Dann wird die Initialisierungssequenz ausgeführt, und dann gibt der Mikrocontroller einen Match-ROM-Befehl (Code 55H) und eine 64-Bit-Seriennummer auf der Datenleitung aus und gibt dann einen 9-Byte-Lesebefehl (Code BEH) aus. Die entsprechende korrekte Temperatur können Sie nach Abschluss der Temperaturumrechnung der entsprechenden Seriennummer des intelligenten Temperatursensors DS18B20 ablesen. Das Flussdiagramm zur Temperaturerfassung und -verarbeitung basierend auf DS18B20 ist in Abbildung 5 dargestellt.
Abbildung 5 Flussdiagramm des Temperaturerfassungs- und -verarbeitung programms DS18B20 basierend auf der 1-Wire-Technologie
7. Fazit
Die herkömmliche Temperaturmess methode besteht darin, das analoge Signal zur A/D-Umwandlung an die Abtast schaltung zu übertragen. Um eine höhere Genauigkeit zu erzielen, ist es notwendig, das Problem der Mehrpunkt-Messum schaltung und der Nullpunktdrift der Verstärkung schaltung zu lösen . Das Aufkommen digitaler Temperatursensoren mit 1-Wire-Bus-Technologie kann die oben genannten Probleme besser lösen. Die Innovation des Autors in diesem Artikel besteht darin, die 1-Wire-Bus-Technologie anzuwenden, mehrere digitale Temperatursensoren zum Entwurf eines Brandmelde systems zu verwenden, den Stromversorgungsmodus und die Eigenschaften des Sensors zu analysieren und die ROM-Befehle und Funktionsbefehle des digitalen Temperatursensors näher zu erläutern. Basierend auf AT89C51 werden die Echtzeituhr-Anzeige schaltung, die Tastatur-Anzeige schaltung, die serielle Speicherschaltung, die RS485-Kommunikation schaltung, die Watchdog-Schaltung usw. entworfen und das Hardware-Zusammensetzung diagramm des Brandmelde systems erläutert. Entwarf ein Flussdiagramm für die Temperaturerfassung und schrieb ein Programm, um die korrekte Temperaturanzeige zu vervollständigen. Der 1-Wire-Technologie-Temperatursensor DS18B20 wandelt das Temperatursignal direkt in ein serielles Digitalsignal zur Mikrocontroller-Verarbeitung um. Mehrere Sensoren werden an eine einzige Busschnittstelle angeschlossen und die Temperatur vor Ort wird direkt in einem digitalen Busformat übertragen, um auf einfache Weise ein verteiltes Mehrpunkt-Temperaturmesssystem zu bilden. Der Einsatz digitaler Temperatursensoren in 1-Wire-Bus-Technologie reduziert effektiv die Kosten und sorgt für eine hohe Zuverlässigkeit der Anwendung systeme mit langen Übertragungswegen. Es wird häufig in Brandmelde systemen mit verteilter Temperaturmessung eingesetzt.
Die Kernfunktion von DS18B20 besteht darin, dass es direkt in digitale Größen umgewandelt werden kann. Da jeder intelligente Temperatursensor DS18B20 eine eindeutige 64-Bit-Seriennummer hat. Ermöglicht den Betrieb mehrerer DS18B20 am selben Bus. Daher kann ein Einzelchip-Mikrocomputer zur Steuerung mehrerer digitaler Temperatursensoren DS18B20 in einem großen Bereich verwendet werden, was häufig in der Umgebungstemperatur regelung, Temperatur überwachung systemen sowie Prozessüberwachungs- und -steuerung systemen verwendet wird. Das höchstwertige Byte der 64-Bit-Seriennummer des 1-Wire-Geräts ist der CRC-Code für die zyklische Redundanzprüfung. Der Wert basiert auf den vorherigen 56 Datenbits. Wenn der Systemhost mit einem Gerät kommuniziert, kann er 8 ROM-Bytes beginnend mit dem niederwertigen Bit, der 64-Bit-Seriennummer, lesen.
Der Temperaturmessbereich des 1-Wire-Bus-Technologie-Temperatursensors DS18B20 beträgt - 55℃ ~ + 125℃. Der Arbeitsspeicher enthält ein Zwei-Byte-Temperaturregister, das zum Speichern der digitalen Ausgabe des Temperatursensors verwendet wird. Darüber hinaus sind ein Byte-Alarm-Obergrenzen-TH-Register und ein Byte-Alarm-Untergrenzen-TL-Register vorhanden. Es gibt auch ein Byte-Konfiguration register. Über das Konfiguration register kann der Benutzer die Auflösung auf 9 bis 12 Bit einstellen. Entsprechend den Temperaturwerten 0,5℃, 0,25℃, 0,125℃ bzw. 0,0625℃. TH-, TL- und Konfiguration register können im EEPROM gespeichert werden. Wenn das System also ausgeschaltet wird, bleiben die Daten in TH-, TL- und Konfiguration registern weiterhin gespeichert. Der Funktionsblock des Temperatursensors DS18B20 mit 1-Wire-Bus-Technologie ist in Abbildung 1 dargestellt.
Abbildung 1 Funktion blockdiagramm des 1-Wire-Technologie-Temperatursensors DS18B20
Kundenspezifischer DS18B20-Temperatursensor | IP68 wasserdichter DS18B20-Temperaturfühler + 3,5-mm-Audiokopf |
3. ROM-Befehle und Funktionsbefehle für digitale Temperatursensoren.
Damit der Temperatursensor DS18B20 mit 1-Wire-Bus-Technologie normal funktioniert, müssen relevante Befehle in einer bestimmten Reihenfolge ausgeführt werden. Führen Sie zuerst die Initialisierung durch, zweitens führen Sie ROM-Befehle aus und führen schließlich DS18B20-Funktionsbefehle aus. Es gibt 5 häufig verwendete ROM-Befehle. Jeder Befehl ist ein Byte. Vor dem Senden des DS18B20-Funktionsbefehls muss die Haupt-CPU den entsprechenden ROM-Befehl ausgeben. Die fünf Betriebsbefehle für ROM umfassen ROM-Suchbefehl (Code: F0H), ROM-Befehl (Code: 33H), Match-ROM-Befehl (Code: 55H), Skip-ROM-Befehl (Code: CCH) und Suchalarmbefehl (Code: ECH). .
Nachdem die Haupt-CPU den ROM-Befehl verwendet hat und auf das Slave-Gerät DS18B20 zugreift, mit dem sie kommunizieren möchte, kann die Haupt-CPU einen DS18B20-Funktionsbefehl ausgeben. Für den Temperatursensor DS18B20 mit 1-Wire-Bus-Technologie gibt es hauptsächlich 5 Funktionsbefehle. Mit diesen Befehlen kann die Haupt-CPU den Arbeitsspeicher des DS18B20 lesen oder schreiben, Temperatur konvertierungen initiieren und den Modus der Stromversorgung bestimmen. Nachfolgend werden die DS18B20-Funktionsbefehle beschrieben.
1. Der Temperatur umwandlungs befehl (Code 44H) veranlasst den DS18B20, die Umwandlung zu starten. Die umgewandelten Temperaturdaten werden im Zwei-Byte-Temperaturregister gespeichert.
2. Der Befehl „Notizspeicher schreiben“ (Code 4EH) ermöglicht es der Haupt-CPU, 3 Byte Daten in den Notizspeicher zu schreiben. Das erste Datenbyte wird in das TH-Register geschrieben, das zweite Datenbyte wird in das TL-Register geschrieben und das dritte Datenbyte wird in das Konfiguration register geschrieben. Die Daten werden beginnend mit dem niedrigstwertigen Bit geschrieben. Es müssen drei Bytes geschrieben werden, bevor die Haupt-CPU einen Reset-Impuls ausgibt.
3. Der Befehl „Notizspeicher lesen“ (Code BEH) ermöglicht es der Haupt-CPU, den Inhalt des Notizspeichers zu lesen. Die Datenübertragung beginnt mit dem niedrigstwertigen Bit von Byte 0 bis Byte 8. Der 9-Byte-Inhalt des Memospeichers wird ausgelesen. Byte 8 ist der CRC-Prüfcode. Wenn nur ein Teil der Bytes im Arbeitsspeicher ausgelesen werden muss, kann die Haupt-CPU jederzeit einen Reset-Impuls senden, um den Lesevorgang zu beenden.
4. Der Befehl „Notizspeicher kopieren“ (Code 48H) kopiert die Notizspeicherbytes 2, 3 und 4, d. h. den Inhalt von TH, TL und Konfiguration registern, in das EEPROM.
5. Der Abrufbefehl vom EEPROM (Code B8H) ruft den Inhalt der TH-, TL- und Konfiguration register vom EEPROM ab und platziert die Daten in den Bytes 2, 3 und 4 des Arbeitsspeichers. Das Abrufen des Befehls aus dem EEPROM (Code B8H) wird beim Einschalten automatisch ausgeführt.
4. Hardware komponenten des Brandmelde systems
Das Brandmeldesystem besteht aus AT89C51, Echtzeituhrschaltung DS1302, Tastatur- und Anzeigeschaltung, RS485-Kommunikationsschaltung, Watchdog-Schaltung bestehend aus MAX813L, serieller E2PROM-Speicherschaltung usw. Durch die Verwendung mehrerer Sensoren zur Messung der Temperatur in verschiedenen Räumen können Sie die oberen Alarmgrenzen für verschiedene Räume festlegen und die Anzeige und den Alarm der entsprechenden Temperaturen in mehreren Räumen realisieren.
Der Hardware-Aufbau des Brandmelde systems ist in Abbildung 2 dargestellt.
Abbildung 2, Diagramm der Hardware-Zusammensetzung des Brandmelde systems
5. Stromversorgung methode für digitale Temperatursensoren mit 1-Draht-Bus-Technologie
Für DS18B20 gibt es zwei Arten von Netzteilen. Externer Stromversorgungsmodus und parasitärer Stromversorgungsmodus. Die externe Stromversorgung methode ist in Abbildung 3 dargestellt. Der Pin VDD in Abbildung 3 ist mit der externen Stromversorgung verbunden. Die parasitäre Stromversorgung methode erfordert keine externe Stromversorgung, wie in Abbildung 4 dargestellt. Beim Betrieb im parasitären Stromversorgungsmodus sind sowohl VDD als auch GND mit Masse verbunden. Sehr nützlich, wenn eine Fernüberwachung der Temperatur erforderlich ist und der Platz begrenzt ist. Wenn in Abbildung 3 der 1-Wire-Bus hoch ist, „stiehlt“ DS18B20 Strom vom 1-Wire-Bus über Pin DQ, und die gestohlene Ladung versorgt den Bus mit Strom. Wenn der Bus niedrig ist, versorgt die in der parasitären Versorgungskapazität gespeicherte Ladung den Sensor mit Strom. Wenn DS18B20 im parasitären Stromversorgungsmodus verwendet wird, muss VDD mit Masse verbunden werden. Im parasitären Stromversorgungsmodus kann der Betriebsstrom jedoch 1,5 mA erreichen, wenn der DS18B20 eine Temperatur umwandlung durchführt und den Inhalt des Arbeitsspeichers in das EEPROM kopiert. Dieser Strom kann zu einem erheblichen Spannungsabfall führen und die ordnungsgemäße Funktion des Sensors beeinträchtigen. Um sicherzustellen, dass der DS18B20 über ausreichend Versorgungsstrom verfügt, muss beim Durchführen der Temperatur umwandlung und beim Kopieren des Inhalts des Arbeitsspeichers in das EEPROM ein ausreichend starker Pullup am Bus bereitgestellt werden. Zum Hochziehen des Busses kann eine MOSFET-Röhre verwendet werden, wie in Abbildung 4 dargestellt. Wenn die erkannte Temperatur 100 °C überschreitet, wird im Allgemeinen empfohlen, keine parasitäre Stromversorgung, sondern eine externe Stromversorgung zu verwenden. Denn bei so hohen Temperaturen ist es dem DS18B20 aufgrund des hohen Leckstroms unmöglich, die Datenkommunikation aufrechtzuerhalten. Versuchen Sie daher, wenn die Bedingungen es zulassen, eine externe Stromversorgung zu verwenden.
Abbildung 3, externe Stromversorgung methode des DS18B20
Abbildung 4: Parasitärer Stromversorgung modus des DS18B20
6. Flussdiagramm zur Temperaturerfassung und -verarbeitung
Das auf dem Mikrocontroller AT89C51 basierende Brandmeldesystem verwendet den intelligenten Temperatursensor DS18B20. Nach dem korrekten Lesen der 64-Bit-Seriennummer muss ein Temperaturleseprogramm gemäß strengen Zeitvorgaben geschrieben werden. Der Mikrocontroller muss dem Befehlsfluss von DS18B20 folgen, um die Temperatur umwandlung von DS18B20 zu steuern. Zuerst wird die Initialisierungssequenz ausgeführt, und dann gibt der Mikrocontroller einen Skip-ROM-Befehl aus (Code ist CCH). Dieser Befehl gilt für alle Online-DS18B20. Der Mikrocontroller gibt dann einen Start umwandlungs befehl (Code 44H) aus, um DS18B20 zu starten und die Temperatur umwandlung abzuschließen. Für eine 12-Bit-Auflösung ist eine Verzögerung von 750 ms erforderlich. Dann wird die Initialisierungssequenz ausgeführt, und dann gibt der Mikrocontroller einen Match-ROM-Befehl (Code 55H) und eine 64-Bit-Seriennummer auf der Datenleitung aus und gibt dann einen 9-Byte-Lesebefehl (Code BEH) aus. Die entsprechende korrekte Temperatur können Sie nach Abschluss der Temperaturumrechnung der entsprechenden Seriennummer des intelligenten Temperatursensors DS18B20 ablesen. Das Flussdiagramm zur Temperaturerfassung und -verarbeitung basierend auf DS18B20 ist in Abbildung 5 dargestellt.
Abbildung 5 Flussdiagramm des Temperaturerfassungs- und -verarbeitung programms DS18B20 basierend auf der 1-Wire-Technologie
7. Fazit
Die herkömmliche Temperaturmess methode besteht darin, das analoge Signal zur A/D-Umwandlung an die Abtast schaltung zu übertragen. Um eine höhere Genauigkeit zu erzielen, ist es notwendig, das Problem der Mehrpunkt-Messum schaltung und der Nullpunktdrift der Verstärkung schaltung zu lösen . Das Aufkommen digitaler Temperatursensoren mit 1-Wire-Bus-Technologie kann die oben genannten Probleme besser lösen. Die Innovation des Autors in diesem Artikel besteht darin, die 1-Wire-Bus-Technologie anzuwenden, mehrere digitale Temperatursensoren zum Entwurf eines Brandmelde systems zu verwenden, den Stromversorgungsmodus und die Eigenschaften des Sensors zu analysieren und die ROM-Befehle und Funktionsbefehle des digitalen Temperatursensors näher zu erläutern. Basierend auf AT89C51 werden die Echtzeituhr-Anzeige schaltung, die Tastatur-Anzeige schaltung, die serielle Speicherschaltung, die RS485-Kommunikation schaltung, die Watchdog-Schaltung usw. entworfen und das Hardware-Zusammensetzung diagramm des Brandmelde systems erläutert. Entwarf ein Flussdiagramm für die Temperaturerfassung und schrieb ein Programm, um die korrekte Temperaturanzeige zu vervollständigen. Der 1-Wire-Technologie-Temperatursensor DS18B20 wandelt das Temperatursignal direkt in ein serielles Digitalsignal zur Mikrocontroller-Verarbeitung um. Mehrere Sensoren werden an eine einzige Busschnittstelle angeschlossen und die Temperatur vor Ort wird direkt in einem digitalen Busformat übertragen, um auf einfache Weise ein verteiltes Mehrpunkt-Temperaturmesssystem zu bilden. Der Einsatz digitaler Temperatursensoren in 1-Wire-Bus-Technologie reduziert effektiv die Kosten und sorgt für eine hohe Zuverlässigkeit der Anwendung systeme mit langen Übertragungswegen. Es wird häufig in Brandmelde systemen mit verteilter Temperaturmessung eingesetzt.