{"id":95,"date":"2014-03-14T09:30:56","date_gmt":"2014-03-14T07:30:56","guid":{"rendered":"http:\/\/romantrapp.at\/?p=95"},"modified":"2020-10-11T22:27:19","modified_gmt":"2020-10-11T20:27:19","slug":"lm92-thermometer","status":"publish","type":"post","link":"https:\/\/www.romantrapp.at\/?p=95","title":{"rendered":"LM92-Thermometer"},"content":{"rendered":"<h2>Allgemein<\/h2>\n<p>Der LM92 ist ein digitaler Temperatur-Sensor mit einer Genauigkeit von \u00b10,33\u00b0C. Die Kommunikation des Sensors findet \u00fcber I<sup>2<\/sup>C (TWI) Interface statt.<!--more--><\/p>\n<h2>Anschl\u00fcsse<\/h2>\n<div id=\"attachment_99\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/romantrapp.at\/wp-content\/uploads\/LM92-Pinout.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-99\" class=\"size-medium wp-image-99 \" alt=\"LM92-Pinout\" src=\"http:\/\/romantrapp.at\/wp-content\/uploads\/LM92-Pinout-300x182.jpg\" width=\"300\" height=\"182\" srcset=\"https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Pinout-300x182.jpg 300w, https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Pinout.jpg 435w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-99\" class=\"wp-caption-text\">LM92-Pinout<\/p><\/div>\n<h2>Adresse<\/h2>\n<p>Der LM92 besitzt eine 7-Bit Slave Adresse. Die f\u00fcnf MSB der Adresse sind Hardwarem\u00e4\u00dfig vorgegeben und haben den Wert: \u201e10010\u201c. Die zwei letzten Bits (LSB) sind mit den Pins A1-A0 verbunden und k\u00f6nnen mit GND oder +V<sub>S<\/sub> verbunden werden. (Datenblatt Seite: 9)<\/p>\n<div id=\"attachment_100\" style=\"width: 484px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/romantrapp.at\/wp-content\/uploads\/LM92-Slave_Adress.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-100\" class=\"size-large wp-image-100 \" alt=\"LM92-Slave Adress\" src=\"http:\/\/romantrapp.at\/wp-content\/uploads\/LM92-Slave_Adress-1024x57.jpg\" width=\"474\" height=\"26\" srcset=\"https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Slave_Adress-1024x57.jpg 1024w, https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Slave_Adress-300x16.jpg 300w, https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Slave_Adress.jpg 1541w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><p id=\"caption-attachment-100\" class=\"wp-caption-text\">LM92-Slave Adress<\/p><\/div>\n<p>Das 8-Bit des Registers wird ben\u00f6tigt, um ein lesen oder schreiben zu signalisieren.<\/p>\n<h2>Register<\/h2>\n<p>Der LM92 besitzt folgende Register:<\/p>\n<ul>\n<li>Pointer Register<\/li>\n<li>Temperature Register<\/li>\n<li>Configuration Register<\/li>\n<li>T<sub>HYST<\/sub>, T<sub>LOW<\/sub>, T<sub>HIGH<\/sub> und T_CRIT_A Register<\/li>\n<\/ul>\n<p>Um lediglich eine Temperatur auszulesen reicht das \u201eTemperature Register\u201c. Ein Zugriff auf das enthaltene Konfigurationsregister ist nicht notwendig. Das Zeigerregister legt fest, welches der 4 Register angesprochen wird.<\/p>\n<h2>Kommunikation<\/h2>\n<p>Sie startet wie immer beim I\u00b2C-Bus mit einem START. Danach folgt die Adresse des Slaves. Nun muss ein Byte gesendet werden, welches dem Zeigerregister mitteilt, auf welches Register zugegriffen werden soll. Der Zeiger auf das entsprechende Register wird intern gespeichert, so dass man nicht jedes Mal das Temperaturregister neu ausw\u00e4hlen muss, auf welches man zweifelsohne am h\u00e4ufigsten zugreifen wird. F\u00fcr das Temperaturregister muss als Pointerbyte (Zeigerbyte) 0x00 gesendet werden, f\u00fcr das Konfigurationsregister 0x01. Musste das Zeigerbyte gesetzt werden, so muss nach dem Beschreiben des Pointerregisters ein REPEATED START ausgef\u00fchrt werden. Danach muss die Adresse des Sensors erneut gesendet werden. Dann kann auf die einzelnen Register zugegriffen werden. Steht der Zeiger bereits auf dem richtigen Register, so reicht ein normaler START gefolgt von der Adresse. Da der das Pointerregister nach dem Power-On automatisch auf das Temperaturregister zeigt, bleibt dem Anwender, der nur an der Temperatur interessiert ist, die obige Prozedur erspart.<\/p>\n<p>Um die Temperatur zu erhalten, m\u00fcssen Lesezyklen erzeugt werden. Dann m\u00fcssen zwei Bytes ausgelesen werden, von denen der Master das erste mit ACK zu best\u00e4tigen hat. Die Temperatur wird mit dem MSB (most significant bit) voran \u00fcbertragen.<\/p>\n<p>BILD<\/p>\n<p>Der Sensor braucht f\u00fcr eine Temperaturkonvertierung 100ms. Diese f\u00fchrt er selbst\u00e4ndig aus, es sei denn man versetzt ihn in den hier nicht weiter erkl\u00e4rten Energiesparmodus. Man sollte das nur nach dem Einschalten beachten, da der Inhalt des Temperaturregisters in den ersten 100ms alles andere als die richtige Temperatur enth\u00e4lt.<\/p>\n<p>Zu beachten ist, dass im Temperaturregister der Wert der Temperatur mit dem Bit 3 (D3) beginnt und mit dem Bit 15 (D15) endet, wobei das (D15) das Vorzeichen-Bit ist. Die Daten liegen im Zweierkomplement vor. (Datenblatt Seite: 13)<\/p>\n<h2>Beispiel<\/h2>\n<p>Am Temperatur-Register liegt folgender Bin\u00e4rwert an:<\/p>\n<div id=\"attachment_104\" style=\"width: 484px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/romantrapp.at\/wp-content\/uploads\/LM92-Beispiel.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-104\" class=\"size-large wp-image-104\" alt=\"LM92-Beispiel\" src=\"http:\/\/romantrapp.at\/wp-content\/uploads\/LM92-Beispiel-1024x293.jpg\" width=\"474\" height=\"135\" srcset=\"https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Beispiel-1024x293.jpg 1024w, https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Beispiel-300x86.jpg 300w, https:\/\/www.romantrapp.at\/wp-content\/uploads\/LM92-Beispiel.jpg 1492w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><p id=\"caption-attachment-104\" class=\"wp-caption-text\">LM92-Beispiel<\/p><\/div>\n<h2>Schaltungsaufbau<\/h2>\n<p>BILD<\/p>\n<h2>Hardware<\/h2>\n<ul>\n<li>ATMEL Evaluations-Board V2.0.1<\/li>\n<li>ATMEL Addon-Board V1.0<\/li>\n<li>ATMEL ATmega8 Mikrocontroller<\/li>\n<li>mySmartUSB light ISP-Programmer<\/li>\n<li><\/li>\n<\/ul>\n<h2>Software<\/h2>\n<p>Main-Routine:<br \/>\n[file lang=&#8220;c&#8220;]wp-content\/plugins\/file-inliner\/snippets\/lm92-main.c[\/file]<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Allgemein Der LM92 ist ein digitaler Temperatur-Sensor mit einer Genauigkeit von \u00b10,33\u00b0C. Die Kommunikation des Sensors findet \u00fcber I2C (TWI) Interface statt.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,12],"tags":[],"class_list":["post-95","post","type-post","status-publish","format-standard","hentry","category-bauteile","category-mikrocontroller"],"_links":{"self":[{"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=\/wp\/v2\/posts\/95","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=95"}],"version-history":[{"count":14,"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=\/wp\/v2\/posts\/95\/revisions"}],"predecessor-version":[{"id":163,"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=\/wp\/v2\/posts\/95\/revisions\/163"}],"wp:attachment":[{"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=95"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=95"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.romantrapp.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=95"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}