Mündəricat:

Arızaya Dözümlü Temperatur Sensor Şəbəkə Nəzarətçisi: 8 Addım
Arızaya Dözümlü Temperatur Sensor Şəbəkə Nəzarətçisi: 8 Addım

Video: Arızaya Dözümlü Temperatur Sensor Şəbəkə Nəzarətçisi: 8 Addım

Video: Arızaya Dözümlü Temperatur Sensor Şəbəkə Nəzarətçisi: 8 Addım
Video: VW Polo, VW Golf, VW Passat ambient temperature sensor replacing 2024, Noyabr
Anonim
Arızaya Dözümlü Temperatur Sensoru Şəbəkə Nəzarətçisi
Arızaya Dözümlü Temperatur Sensoru Şəbəkə Nəzarətçisi

Bu Təlimat, Arduino Uno lövhəsini qüsurlu sensorların avtomatlaşdırılmış izolyasiyasına qadir olan DS18B20 temperatur sensorlar dəsti üçün tək məqsədli nəzarətçiyə necə çevirəcəyinizi göstərir.

Nəzarətçi Arduino Uno ilə 8 -ə qədər sensoru idarə edə bilir. (Və daha çox Arduino Mega ilə və ya kiçik bir proqram dəyişikliyi ilə.)

Addım 1: Hekayənin arxasında…

Bir neçə il əvvəl atamın istixanasında pi əsaslı istilik nəzarət cihazım üçün DS18B20 temperatur sensoru şəbəkəsi qurdum. Təəssüf ki, nəzarətçinin etibarlılığı əsasən sensorun tez -tez kəsilməsi səbəbindən zəif idi. Çoxlu qurğular sınadım - parazit gücü, birbaşa güc, şəbəkəni pi -yə bağlamaq, həmçinin Atmega əsaslı xüsusi lövhəyə bağlamaq (əsas məqsədi valf mühərriklərini idarə etmək idi).

Daha da pisi, sensorlar şəbəkəsinin etibarlılığı əsasən qış gecələrində düşdü, yayda isə demək olar ki, heç bir problem yox idi! Burada nə baş verir?

Hansı sensorun problemə səbəb olduğunu araşdırmaq üçün onları tək-tək açmaq/söndürmək və ya hər hansı bir kombinasiyanı aktiv etmək lazımdır.

Addım 2: Necə Çalışır

DS18B20 (temperatur sensoru), birdən çox sensorun ümumi məlumat bağlantısını (bir teldən) paylaşmasına imkan verən mülkiyyət 1 telli protokoldan istifadə edir. Bu ümumi məlumat bağlantısı, Arduinonun GPIO pinlərindən birinə və + 5 V-a bir çəkmə müqaviməti ilə bağlıdır-nadir bir şey deyil, bir çox təlimat bu quruluşu əhatə edir.

İşin hiyləsi budur ki, hər bir sensorun elektrik cərəyanı öz (xüsusi) GPIO sancaqlarına bağlıdır ki, onlar ayrı -ayrılıqda açılsın və söndürülsün. Məsələn, bir sensorun 3 nömrəli pinə və GND -nin 2 nömrəli pininə bağlı Vcc qurğusu varsa, 3 nömrəli pinin YÜKSƏ qoyulması sensorun gücünü təmin edir (sürpriz deyil), 2 -ci pinin LOW -a qoyulması isə torpaq üçün bir az sürprizdir. mən). Hər iki sancağın giriş rejiminə qoyulması sensoru və onun naqillərini (demək olar ki) tamamilə təcrid edəcək - içərisində hansı uğursuzluq (məsələn, qısa yol) baş versə də, digərlərinə mane olmayacaq.

(Məlumat telini bir şəkildə Arduino ilə əlaqəli başqa bir şeyə bağlamağın həqiqətən müdaxiləyə səbəb olacağını söyləmək ədalətlidir, amma mənim quruluşumda demək olar ki, mümkün deyil).

Diqqət yetirin ki, DS18B20 1, 5 mA -a qədər istehlak edir, bir Arduino pin 40 mA -ya qədər qaynaq / batıra bilər, buna görə də sensorları birbaşa GPIO pinləri ilə gücləndirmək tamamilə təhlükəsizdir.

Addım 3: Material və Alətlər

Material

  • 1 Arduino UNO lövhəsi
  • 3 qadın pin başlığı: 1 × 4, 1 × 6 və 1 × 6 (və ya daha uzun - onları 1 × 40 başlıqdan kəsdim)
  • yapışqan
  • bir parça çılpaq tel (ən azı 10 sm)
  • izolyasiya lenti
  • lehimləmə materialları (tel, axın …)

Alətlər

  • lehimləmə avadanlığı (dəmir, tutacaqlar, …)
  • kiçik kəsici kəlbətinlər

Addım 4: Şeyi Birlikdə Düzəldin

Şeyləri Birlikdə Düzəldin
Şeyləri Birlikdə Düzəldin

Qadın pin başlıqlarını Arduino lövhə başlıqlarına yapışdırın:

  1. "Analog" pin başlığının yanında 1 × 4 başlıq, A0-A4 sancaqları ilə yan-yana
  2. İlk rəqəmsal pin başlığının yanında 1 × 6 başlıq, 2-7 sancaqlar ilə yan-yana
  3. İkinci rəqəmsal pin başlığının yanında 1 × 6 başlıq, 8-13 sancaqlar ilə yan-yana

Başlıqlarımın bir qədər uzandığına diqqət yetirin … bunun heç bir mənfi və müsbət tərəfi yoxdur.

Addım 5: Şeyi Birlikdə Tel Edin

Şeyi Birlikdə Tel Edin
Şeyi Birlikdə Tel Edin
Şeyi Birlikdə Tel Edin
Şeyi Birlikdə Tel Edin

1 telli avtobus xəttinin çəkilməsi:

  1. Yapışqan başlıqların bütün uclarını "rəqəmsal" tərəfə (2-13 sancaqlara bitişik) bir parça çılpaq teli lehimləyərək bağlayın.
  2. Bu telin ucunu SCL pin ucuna lehimləyin (daxili A5 -ə bağlıdır)
  3. Yapışqan başlığın bütün uclarını "analoq" tərəfə bağlayın (pinlər A0 -A3) onlara bir çılpaq tel lehim edərək
  4. Bu telin ucunu A4 və A5 uclarına lehimləyin (A6 və A7 olan bir lövhəm olduğu üçün A5 və A6 istifadə etdim)
  5. Bu telin digər ucu ilə +5 V pin qurğusu arasında 4k7 rezistoru lehimləyin

Qeydlər:

  • A0 -A5 sancaqları, "analoq" olaraq işarələnməsinə baxmayaraq, GPIO rəqəmsal sancaqlar kimi də istifadə edilə bilər.
  • "Rəqəmsal" tərəfdəki SCL pin, "analog" tərəfdən A5 -ə daxili olaraq bağlıdır; başlıqlara qoşulduqda, bu 1 telli avtobus xəttini təşkil edir
  • A4 (analog giriş olaraq istifadə olunur) diaqnostik məqsədlər üçün avtobusun gərginliyini ölçür. Bunun birbaşa avtobusa bağlanmasının səbəbi budur.
  • A6 və A7 olan bir lövhəm olduğu üçün A4 əvəzinə A6 istifadə etdim; Əvvəlcə A7-ni 1 telli avtobus ustası olaraq istifadə etmək istəyirdim, amma bu iki pin rəqəmsal GPIO olaraq konfiqurasiya edilə bilməz.
  • Sensor konnektorlarının səhv bağlanmasını qarşısını almaq üçün, hər bir kişi konnektindən istifadə edilməmiş kontağı (heç bir telə bağlı deyil) ata / kəsə və yapışdırılmış pin başlığındakı müvafiq çuxura daxil edə bilərsiniz.

Addım 6: Sensorların birləşdirilməsi

Sensorların birləşdirilməsi
Sensorların birləşdirilməsi

Yalnız səkkiz 2 × 2 prizdən ibarət bir sıra yaratdınız. Sensor kabellərinə 2 × 2 Dupont konnektorunu lehimləyib yığa və bu prizlərə qoşa bilərsiniz. Proqram, sancaqları hətta pinlər GND sancaqları və tək sancaqlar Vcc sancaqları olaraq konfiqurasiya edir. Hər bir sensor üçün Vcc pin yalnız GND pin + 1 -dir. 2 × 2 yuvanın digər iki sancağından biri (yapışdırılmış və lehimli başlıqdakı ikisindən biri) sensorun məlumat teli üçündür. Hansından istifadə etməyinizin əhəmiyyəti yoxdur.

Addım 7: Nəzarətçi Proqramı

Nəzarətçi Proqramı
Nəzarətçi Proqramı

SerialThermometer eskizi nəzarətçini idarə edir. Github -da tapa bilərsiniz. Arduino IDE istifadə edərək açın və yükləyin.

Addım addım:

  1. Arduino IDE -ni açın və DallasTemperature kitabxanasını və bütün asılılıqlarını Sketch | vasitəsilə quraşdırın Kitabxana daxil edin | Kitabxanaları idarə edin.
  2. Git anbarını klonlaşdırın. Git ilə tanış deyilsinizsə, bu zipi kompüterinizin hər hansı bir yerində yükləyin və açın.
  3. Arduino IDE -də SerialThermometer eskizini açın.
  4. Dəyişdirilmiş Arduino lövhənizi USB kabel ilə kompüterinizə qoşun (standart yol)
  5. Arduino IDE -dən istifadə edərək eskizi yükləyin
  6. Alətlər vasitəsi ilə Serial Monitoru açın Serial monitor
  7. Bir neçə fiziki ölçmə və sonra temperatur oxunuşlarını ehtiva edən diaqnostik çıxışı görməlisiniz - hər bir sensor yuvası tək xəttdə. Sensor sayı ayrı açıldıqda və hamısı birlikdə açıldıqda fərqlənirsə), diaqnostika həll olunana qədər dönər. Ancaq narahat olmayın, həm də diaqnostika temperatur ölçmələrini təmin edir!

Diaqnostik çıxış haqqında daha ətraflı məlumat üçün şərhli şəklə baxın.

Addım 8: Nəticə

Sensor şəbəkəmdəki uğursuzluqların uzun naqillərin yüksək tutumundan qaynaqlandığını hiss edirəm - hər sensor üçün təxminən 10 m LIYY 314 (3 × 0, 14 mm²) kabel. Təcrübələrim göstərdi ki, 1 telli avtobus və torpaq arasında 0.01 μF ətrafında və ya daha yüksək bir tutum varsa, ünsiyyət kəsilir, çünki düşünürəm ki, 4k7 çəkmə müqaviməti avtobusu protokol məhdudiyyətlərinə uyğun olaraq + 5 V-a qədər sürətlə çəkə bilmir..

Quruluşumda 3 -dən çox sensor bir -birinə qoşulduqda olur. Sonra nəzarətçi, temperatur sensoru ilə sensoru ölçərək diaqnostik dövrədə dönər (nə də sərin …)

Həm də 5 -ci sensor (28: ff: f2: 41: 51: 17: 04: 31) olduqca pis görünür (bəlkə səhv lehimləmə), buna görə də daha ətraflı araşdıra bilərəm!

Tövsiyə: