DS18B20, DALLAS tarafından üretilen 1 telli dijital sıcaklık sensörüdür, 3 pinli TO-92 küçük paketle. Sıcaklık ölçüm aralığı -55°C~+125°C'dir, ve 9 bit~12 bit A/D dönüşüm doğruluğuna programlanabilir. Sıcaklık ölçüm çözünürlüğü 0,0625 °C'ye ulaşabilir, ve ölçülen sıcaklık, işaret uzantılı 16 bitlik dijital miktar biçiminde seri olarak gönderilir. Çalışan güç kaynağı uzak uçtan sağlanabilir veya parazitik güç kaynağı tarafından üretilebilir.. Birden fazla DS18B20 paralel olarak bağlanabilir 3 veya 2 çizgiler. CPU'nun birçok DS18B20 ile iletişim kurmak için yalnızca bir bağlantı noktası hattına ihtiyacı vardır, Mikroişlemcinin daha az bağlantı noktasını işgal etmesi, Bu, çok sayıda potansiyel müşteri ve mantık devresinden tasarruf sağlayabilir. Yukarıdaki özellikler DS18B20'yi uzun mesafeli çok noktalı sıcaklık algılama sistemleri için çok uygun kılar.
2. DS18B20 ds18b20 devre şemasının iç yapısı
DS18B20'nin iç yapısı Şekilde gösterilmektedir. 1, esas olarak şunlardan oluşur: 4 parçalar: 64-bit ROM'u, sıcaklık sensörü, Uçucu olmayan sıcaklık alarmı TH ve TL'yi tetikler, ve konfigürasyon kayıtları. DS18B20'nin pin düzeni Şekilde gösterilmiştir. 2. DQ dijital sinyal giriş/çıkış terminalidir; GND güç toprağıdır; VDD harici güç kaynağı giriş terminalidir (parazitik güç kablolama modunda topraklanmış, Şekil'e bakın 4).
ROM'daki 64 bitlik seri numarası fabrikadan çıkmadan önce fotoğraflanmıştır. DS18B20'nin adres sırası kodu olarak kabul edilebilir.. Her DS18B20'nin 64 bit seri numarası farklıdır. Döngüsel artıklık kontrol kodu (CRC=X8+X5+X4+1) 64-bit ROM'un düzenlenmesi. ROM'un rolü her DS18B20'yi farklı kılmaktır., böylece birden fazla DS18B20 bir veri yoluna bağlanabilir.
Figür 1, DS18B20'nin iç yapısı
DS18B20'deki sıcaklık sensörü sıcaklık ölçümünü tamamlar, 16 bitlik işaret genişletilmiş ikili tamamlayıcı okumalar şeklinde sağlanır, 0,0625°C/LSB şeklinde ifade edilir, burada S işaret bitidir. Örneğin, +125°C'nin dijital çıkışı 07D0H'dir, +25.0625°C'nin dijital çıkışı 0191H'dir, -25.0625°C'nin dijital çıkışı FF6FH'dir, ve -55°C'nin dijital çıkışı FC90H'dir.
23
22
21
20
2-1
2-2
2-3
2-4
Sıcaklık değeri düşük bayt
MSBLSB
S
S
S
S
S
22
25
24
Sıcaklık değeri yüksek bayt
Yüksek ve düşük sıcaklık alarmı TH ve TL'yi tetikler, ve konfigürasyon kaydı bir bayt EEPROM'dan oluşur. TH'ye yazmak için bir hafıza fonksiyonu komutu kullanılabilir, TL, veya konfigürasyon kaydı. Yapılandırma kaydının formatı aşağıdaki gibidir:
0
R1
R0
1
1
1
1
1
MSBLSB
R1 ve R0, sıcaklık dönüşümü için hassas basamak sayısını belirler: R1R0 = “00”, 9-biraz hassas, maksimum dönüşüm süresi 93,75 ms'dir; R1R0 = “01”, 10-biraz hassas, maksimum dönüşüm süresi 187,5 ms'dir. R1R0 = “10”, 11-biraz hassas, maksimum dönüşüm süresi 375 ms'dir. R1R0 = “11”, 12-biraz hassas, maksimum dönüşüm süresi 750 ms'dir. Programlanmadığında varsayılan 12 bit hassasiyettir.
Yüksek hızlı kayıt 9 baytlık bir bellektir. İlk iki bayt ölçülen sıcaklığın dijital bilgisini içerir; 3., 4bu, ve 5. baytlar TH'nin geçici kopyalarıdır, TL, ve konfigürasyon kayıtları, sırasıyla, ve her açılışta sıfırlama meydana geldiğinde yenilenir; 6., 7bu, ve 8. bayt kullanılmaz ve tümü mantık 1'ler olarak temsil edilir; 9. bayt önceki tüm baytların CRC kodunu okur. 8 bayt, doğru iletişimi sağlamak için kullanılabilir.
3. DS18B20 çalışma sırası
DS18B20'nin ilk satır çalışma protokolü akışı: başlatma → ROM işlem talimatı → hafıza işlemi talimatı → veri iletimi. Çalışma sırası başlatma sırasını içerir, sırayı yazma ve sırayı okuma, Şekilde gösterildiği gibi 3 (A) (B) (C).
(A) Başlatma sırası
(C) Sırayı oku
Figür 3, DS18B20 çalışma sırası diyagramı
4. DS18B20 ve tek çipli mikro bilgisayarın tipik arayüz tasarımı
Figür 4 DS18B20 ile mikroişlemci arasındaki tipik bağlantıyı çizmek için MCS-51 serisi tek çipli mikro bilgisayarı örnek alır. Şekilde 4 (A), DS18B20 parazitik güç kaynağı modunu benimser, ve VDD ve GND terminalleri topraklanmıştır. Şekilde 4 (B), DS18B20 harici güç kaynağı modunu benimser, ve VDD terminali 3V~5.5V güç kaynağı ile çalışır.
A) Parazit güç kaynağı çalışma modu
(B) Harici güç kaynağı çalışma modu
Figür 4 DS18B20 ve mikroişlemcinin tipik bağlantı şeması
Tek çipli mikrobilgisayar sisteminin kullandığı kristal frekansının 12MHz olduğunu varsayalım., başlatma zamanlamasına göre üç alt program yazılır, DS18B20'nin zamanlamasını yazma ve okuma zamanlamasını: INIT, başlatma alt yordamıdır; YAZ yazmaktır (komut veya veri) alt program; READ, veri okuma alt yordamıdır. Tüm veri okuma ve yazma işlemleri en düşük bitten başlar.
DATEQUP1.0
……
BAŞLAT:CLREA
INI10:SETBDAT
MOVR2,#200
INI11:CLRDAT
DJNZR2,INI11; Ana bilgisayar 3μs×200=600μs boyunca bir sıfırlama darbesi gönderir
SETBDAT; Ev sahibi otobüsü serbest bırakır, ve bağlantı noktası satırı giriş olarak değiştirildi
MOVR2,#30
IN12:DJNZR2,INI12; DS18B20 2μs×30=60μs bekler
CLRC
ORLC,O; DS18B20 veri hattı düşük mü? (nabız var)?
JCINI10; DS18B20 hazır değil, yeniden başlat
MOVR6, #80
INI13: ORLC, O
JCINI14; DS18B20 veri hattı yükseliyor, başlatma başarılı
DJNZR6, INI13; veri hattı düşük seviyesi 3μs × sürebilir 80 = 240μs
SYMPINI10; başlatma başarısız oldu, tekrar başlat
INI14: MOVR2, #240
IN15: DJNZR2, INI15; DS18B20 en az 2μs × süreyle yanıt verir 240 = 48 0μs
RET
;- - - - - - - - - - - - - - - - - - -
YAZMAK:CLREA
MOVR3,#8;Döngü 8 kez, bir bayt yaz
WR11:SETBDAT
MOVR4,#8
RRCA;A'dan CY'ye bit hareketlerini yaz
CLRDAT
WR12:DJNZR4,WR12
;16μs bekleyin
MOVDAT,C;Komut sözcüğü DS18B20'ye bit parça gönderilir
MOVR4,#20
WR13:DJNZR4,WR1 3
; Yazma işleminin 60μs sürdüğünden emin olun
DJNZR3,WR11
; Bayt göndermeden önce devam edin
SETBDAT
RET
;- - - - - - - - - - - - - - - - - - -
OKUMAK:CLREA
MOVR6,#8; Döngü 8 kez, bir bayt oku
RD11:CLRDAT
MOVR4,#4
hayır; Düşük seviye 2μs sürer
SETBDAT; Bağlantı noktası hattını girişe ayarlayın
RD12:DJNZR4,RD12
; 8μs bekleyin
MOVC,T'den itibaren
;Ana bilgisayar DS18B20'nin verilerini bit parça okur
RRCA;Okunan veriler A'ya taşınır
MOVR5,#30
RD13:DJNZR5,RD13
;Okuma işleminin 60μs sürdüğünden emin olun
DJNZR6,RD11
;Bir bayt veriyi okuduktan sonra, A'da sakla
SETBDAT
RET
;- - - - - - - - - - - - - - - - - - -
Sıcaklık dönüşümünü tamamlamak için ana bilgisayarın DS18B20'yi kontrol etmek üzere üç adımdan geçmesi gerekir: başlatma, ROM çalıştırma talimatları, ve hafıza işlem talimatları. Sıcaklık dönüşüm değerini okumadan önce dönüşümü başlatmak için DS18B20 başlatılmalıdır.. Bir hatta yalnızca bir çipin bağlı olduğunu varsayarak, varsayılan 12 bit dönüştürme doğruluğu kullanılır, ve harici bir güç kaynağı kullanılıyor, Bir dönüşümü tamamlamak ve sıcaklık değerini okumak için bir GETWD alt programı yazılabilir..
GEÇİT:LCALLİNİT
TAŞINMAK,#0CCH
LCALLWRITE; ROM'u atla komutunu gönder
TAŞINMAK,#44 saat
LCALLWRITE; dönüştürmeyi başlat komutunu gönder
LCALLİNİT
TAŞINMAK,#0CCH; ROM'u atla komutunu gönder
LCALLWRITE
TAŞINMAK,#0 BEH; hafıza okuma komutunu gönder
LCALLWRITE
LCALLOKU
MOVWDLSB,A
; düşük bayt sıcaklık değerini WDLSB'ye gönder
LCALLOKU
MOVWDMSB,A
; WDMSB'ye yüksek bayt sıcaklık değeri gönder
RET
……
GETWD altprogramı tarafından okunan yüksek byte sıcaklık değeri WDMSB ünitesine gönderilir., ve düşük bayt WDLSB ünitesine gönderilir. Daha sonra sıcaklık değeri baytının ve işaret bitinin temsil formatına göre, gerçek sıcaklık değeri basit dönüşümle elde edilebilir.
Bir hatta birden fazla DS18B20 bağlıysa, parazit güç kaynağı bağlantı modu benimsendi, dönüşüm doğruluğu yapılandırması, yüksek ve düşük limit alarmı, vesaire. gereklidir. O zaman GETWD altprogramının yazılması daha karmaşık olacaktır.. Yer sınırlaması nedeniyle, bu bölüm ayrıntılı olarak anlatılmayacaktır. Lütfen ilgili içeriğe bakın.
DS18B20'yi başarıyla uyguladık. “ev ısıtma banyosu” geliştirdiğimiz kontrol sistemi. Hızlı dönüşüm hızı, yüksek dönüşüm doğruluğu, Mikroişlemcili basit arayüzü ve basit arayüzü donanım tasarım çalışmalarına büyük kolaylık getirmiştir., maliyetleri etkili bir şekilde azaltmak ve geliştirme döngülerini kısaltmak.
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt



