Skema termometer dua saluran pada mikrokontroler. Termometer-termostat dua saluran pada ATmega8. Termometer dua saluran berbasis mikrokontroler ATmega8 dan sensor DS18B20

Jenis peralatan: Termometer, perangkat kontrol termal, penganalisis suhu.

Pabrikan: Rusia

Seri: TK-5

Model: TK-5.11

Deskripsi: Alat untuk mengukur suhu dan kelembaban relatif.

Garansi termometer kontak TK-5.11: 24 bulan.

Termometer ke kontak TK-5.11 dimasukkan dalam Daftar Alat Ukur Negara.

Tujuan perangkat:

Termometer kontak digital TK-5.11 dirancang untuk mengukur suhu berbagai lingkungan dan kelembaban udara relatif melalui kontak langsung probe dengan objek pengukuran. Termometer adalah perangkat dua saluran yang memungkinkan pengoperasian dua probe pengukur secara bersamaan. Terdiri dari unit elektronik dan probe yang dapat diganti. Konverter termoelektrik (TC) dari NSKh ke Gost R 8.585. Dan sensor kelembaban kapasitif digunakan sebagai elemen pengukur dalam probe kelembaban relatif.

Fungsi dari termometer TK-5.11:

  • pengukuran kelembaban atau suhu secara simultan melalui dua saluran dalam kombinasi apa pun dengan satu perangkat;
  • pengukuran suhu dengan resolusi 0,1 °C;
  • pengukuran kelembaban dengan resolusi 0,1%;
  • kemungkinan mengubah probe;
  • kemampuan untuk menampilkan suhu sensor kompensasi suhu;
  • kemampuan untuk menampilkan suhu udara saat menggunakan probe kelembaban;
  • menyimpan nilai suhu atau kelembaban yang diukur dalam memori perangkat;
  • menampilkan nilai rata-rata suhu atau kelembaban untuk sejumlah pengukuran tertentu;
  • tampilan nilai suhu atau kelembapan maksimum (untuk jumlah pengukuran tertentu);
  • tampilan nilai suhu atau kelembapan minimum (untuk jumlah pengukuran tertentu);
  • indikasi tegangan suplai;
  • menetapkan nilai batas suhu atau kelembaban yang diukur;
  • indikasi suara ketika tingkat suhu atau kelembapan terukur tertentu tercapai;
  • lampu indikator;
  • mematikan perangkat secara otomatis setelah waktu tertentu;
  • penghematan otomatis saat mematikan arus, rata-rata, maks, min, tegangan suplai, sisa waktu pengoperasian perangkat pada saat dimatikan.

Fitur termometer TK-5.11:

  • Pengukuran kelembaban.
  • Pengukuran suhu dan kelembaban secara bersamaan.
  • Kemungkinan bekerja dengan probe yang dapat diganti.
  • Saluran ganda.
  • Didukung oleh baterai AA standar.
  • Konsumsi daya rendah (setidaknya 350 jam pengoperasian dari satu set baterai).

Karakteristik teknis termometer TK-5.11:

Kisaran suhu terukur, °C

100...+1800 (tergantung pada jenis probe yang digunakan)

Kesalahan relatif, %

±0,5 + satuan ml.ukuran

Harga satuan digit terendah, °C

0,1

Jumlah jenis probe pengganti

Rentang pengukuran kelembaban relatif, %

3...97

Kesalahan absolut pengukuran kelembaban relatif, %

Kondisi pengoperasian pengoperasian, °C

20...+50

Tegangan suplai, V

1,5x2

syarat Penggunaan

suhu lingkungan, °C

20...+50

kelembaban relatif, %

tidak lebih dari 80% pada T = 35 °C

tekanan atmosfer, kPa

86 - 106

Lingkup penerapan termometer TK-5.01:

  • Rekayasa tenaga panas dan peralatan teknis layanan kota. Audit energi tempat, kontrol suhu kualitas utilitas, penyesuaian kondisi termal di ruang ketel.
  • Perusahaan industri. Pemantauan suhu bagian selama pengelasan, dalam metalurgi, penyesuaian kondisi suhu dalam produksi bahan bangunan dan produk plastik, penentuan suhu cetakan di industri kaca dan kembang gula.
  • Industri makanan. Pemantauan suhu proses teknis memasak, pengasapan, pembuatan kue, produksi ragi, malt, dll.

Set pengiriman termometer TK-5.01P:

  • termometer TK-5.11
  • buku petunjuk dan paspor
  • sertifikat verifikasi
  • tas-tas

*Spesifikasi dan cakupan pengiriman perangkat pengatur suhu dapat berubah oleh produsen tanpa pemberitahuan sebelumnya.

Informasi tambahan tentang termometer dapat diperoleh dengan menghubungi spesialis kami melalui nomor yang tertera bagian" kontak".

Kami mengirimkan alat pengukur suhu ke seluruh Rusia melalui layanan kurir dan perusahaan transportasi.

Bagikan ke:

Baru-baru ini, banyak deskripsi berbagai desain mikrokontroler telah diterbitkan dalam literatur radio amatir, paling sering dari keluarga picmicro dari microchip. Tanpa mengurangi kelebihannya, penulis memutuskan untuk mengingatkan bahwa ada mikrokontroler lain, dan membuat perangkat yang diusulkan pada salah satunya - AT89C2051 dari keluarga mcs-51.

Mikrokontroler dari keluarga MC5-51 adalah juara yang tidak diragukan lagi di antara mikrokontroler delapan-bit baik dalam jumlah varietas maupun jumlah perusahaan yang memproduksi modifikasinya. Perwakilan pertama dari keluarga ini, Intel 8051, dirilis pada tahun 1980. Pada masanya, ini adalah produk yang sangat kompleks. Terdapat 128 ribu transistor pada chipnya, empat kali lebih banyak dibandingkan mikroprosesor Intel 8086, basis komputer pribadi ibm pc. Seperangkat perangkat periferal yang sukses, kemampuan untuk bekerja dengan memori program eksternal dan internal, serta harga yang terjangkau memastikan kesuksesan besar mikrokontroler Intel 8051. Peran penting dimainkan oleh kebijakan terbuka Intel, yang mendistribusikan secara luas lisensi untuk produksi perangkat dengan inti 8051 di antara perusahaan semikonduktor terkemuka dunia: philips, siemens, intel, atmel, dallas. tema, aduh. amd, mhs, lg (winbond, sistem silikon, dan sejumlah lainnya. Di Uni Soviet, mikrokontroler dari keluarga msc-51 diproduksi di Kiev (1816BE31. 1816BE51), Voronezh (1830BE31, 1830BE51), Minsk (1834BEZ1) dan Novosibirsk (1850BE31).
Saat ini, lebih dari 200 modifikasi mikrokontroler dari keluarga ini diproduksi di seluruh dunia, mulai dari 20-pin sederhana hingga 100-pin yang kompleks dengan ADC bawaan, banyak penghitung waktu, pengganda perangkat keras, dan memori program 64 KB per unit. chip tunggal. Mereka semua mempunyai sistem perintah yang sama dan, dari sudut pandang pemrogram, hanya berbeda dalam jumlah register tujuan khusus.
Ketika penulis memiliki kebutuhan untuk melindungi ruang bawah tanah garasi dari pembekuan dengan memantau dan mengatur suhu di dalamnya dari jarak jauh, mikrokontroler at89c2051-24pi dari keluarga tersebut dipilih untuk unit pengukuran suhu dan kontrol pemanas. Karena kurangnya memori data non-volatil di dalamnya untuk menyimpan informasi tentang mode yang disetel dan nilai suhu yang diizinkan, maka perlu menggunakan chip memori non-volatil terpisah pada 24c02-10pi. Kedua chip tersebut dirancang untuk beroperasi di “industri ” kisaran suhu sekitar (-40...+85 ° C) .
Pilihan ini juga dipengaruhi oleh fakta bahwa total biaya sirkuit mikro ini di salah satu perusahaan perdagangan Moskow adalah setengah harga mikrokontroler populer pic16f84a-04i/p, yang beroperasi pada kisaran suhu yang sama.

Karakteristik teknis utama
Tipe sensor ds1820 atau ds18b20
Suhu terukur, °C
maksimum+99.9
minimum- 55
Resolusi pembacaan, "C 0.1
Suhu terjagaC
maksimum+99,9
minimum0
Konsumsi waktu untuk memasukkan nilai baru dari suhu yang dipertahankan, s.
tidak lagi15

Diagram yang ditunjukkan pada Gambar. 1 hampir menjadi klasik untuk perangkat mikrokontroler untuk tujuan ini. Mikrokontroler dd1 dimuat dengan program yang ditunjukkan pada tabel.


Kapasitas beban keluaran mikrokontroler yang digunakan adalah 20 mA pada level tegangan rendah dan hanya 50 μA pada level tegangan tinggi, oleh karena itu, indikator LED tujuh elemen hg1 dan hg2 dipilih dengan anoda umum. Untuk mengurangi jumlah pin mikrokontroler yang diperlukan untuk menghubungkan indikator, tampilan dinamis diatur secara terprogram dengan durasi tampilan setiap digit 3 ms. Elemen g (tanda minus) dari indikator hg1.1 terhubung sebagai ganti elemen h (titik desimal) dari indikator hg1.2. jadi indikasinya sebenarnya tiga digit, siklus penuhnya membutuhkan waktu 9 ms.
Seringkali, saat melakukan pembacaan sensor, menghitung suhu, menulis data ke eeprom, dan operasi lain yang relatif lama, tampilan dinamis terhenti, yang dianggap sebagai indikator berkedip. Untuk menghilangkan fenomena yang tidak menyenangkan ini, program ini dioptimalkan dan bekerja dengan koneksi yang ketat ke tempo tampilan.
Resistor r7-r14 membatasi arus katoda indikator hg1 dan hg2. Transistor vt1, vt2, vt4 mengganti anodanya, menghubungkan secara bergantian ke sumber listrik positif. Resistor r1, r2 membatasi arus jika terjadi korsleting yang tidak disengaja pada kabel menuju sensor VK1 dan VK2, yang panjangnya bisa mencapai beberapa meter. Karena kabel ini dapat diletakkan dekat dengan kabel daya, input P3.2 dari mikrokontroler dd1 dan SCL dari chip memori ds1 dilindungi dari kemungkinan gangguan impuls oleh dioda vd5 dan vd6. Penggunaan pin mikrokontroler yang sama untuk komunikasi sensor dan manajemen memori dimungkinkan karena fungsi-fungsi ini tidak pernah dijalankan pada waktu yang bersamaan. Resistor r4 adalah beban untuk jalur antarmuka 1-kabel, yang melaluinya perintah dan data dipertukarkan antara mikrokontroler dan sensor.
Resistor r3 mempertahankan level logika tinggi pada input RZ.Z mikrokontroler ketika tidak ada tombol kontrol sb1-sb3 yang ditekan. Dioda vd7-vd9 menghilangkan konsekuensi menekan beberapa tombol secara bersamaan. Transistor vt3, sesuai perintah mikrokontroler, menghidupkan dan mematikan relai K1, yang mengontrol pemanas (atau aktuator lain), dan LED sinyal hl1. Diode vd10 melindungi LED hl1 dari tegangan balik.
LED hl2, dihubungkan sebagai pengganti elemen h dari indikator hg2.2, berfungsi sebagai indikator tambahan. Misalnya, mati ketika pembacaan sensor VK1 ditampilkan pada indikator, dan menyala ketika pembacaan sensor VK2 ditampilkan.
Unit catu daya perangkat terdiri dari penyearah pada jembatan dioda vd1 -vd4 dan penstabil tegangan +5 V da1.
Sensor suhu digital VK1, VK2 - ds1820 atau lebih modern ds18s20 - termasuk dalam Daftar Alat Ukur Negara berdasarkan No. 3169-02 dan, dengan demikian, secara resmi disetujui untuk digunakan di Federasi Rusia. Dalam beberapa kasus, hal ini sangat penting. Sensor beroperasi pada tegangan suplai 3...5,5 V, mengkonsumsi arus tidak lebih dari 1 μA dalam mode siaga, dan selama pembacaan suhu dan menghasilkan hasilnya (proses ini memakan waktu tidak lebih dari 750 ms) - sekitar 1 mA . Resolusi hasil pengukuran (0,5 C) dapat dikurangi dengan membaca nilai register sensor count_remain (sisa setelah penghitungan) dan count_perc (angka yang sesuai dengan satu derajat Celcius). Mengetahuinya dan pembacaan suhu (pembacaan suhu dari sensor dengan cara standar), nilainya yang lebih akurat dapat dihitung menggunakan rumus:

Teknik ini menjadikan keleluasaan representasi suhu menjadi 0,1 °C.
Setiap contoh jenis sensor di atas diberi nomor individual unik sebanyak 48 digit biner, yang disimpan dalam ROM internalnya. Hal ini memungkinkan Anda untuk menghubungkan sensor dalam jumlah yang hampir tidak terbatas secara paralel, berinteraksi dengan masing-masing sensor secara terpisah.
Pada perangkat yang dijelaskan, mikrokontroler pertama-tama mengirimkan perintah skip_rom (OSSN) ke sensor, memerintahkan mereka untuk melewati prosedur pemeriksaan nomor individual. Selanjutnya perintah convert_t (44H) memulai proses pengukuran suhu di dua sensor sekaligus. Setelah 750 ms diperlukan untuk menyelesaikan proses ini, mikrokontroler mengeluarkan perintah match_rom (55H), disertai dengan nomor individual dari salah satu sensor. Hasilnya, hanya sensor ini yang merespons perintah read_scratchpad (ARIES) berikutnya dan melaporkan hasil pengukuran ke mikrokontroler. Kemudian (setelah perintah setup awal) urutan perintah match_rom dan read_scratchpad diulangi untuk sensor kedua.
Mikrokontroler memproses data yang diterima dan menampilkannya pada indikator. Untuk kenyamanan, angka nol yang tidak signifikan tidak ditampilkan pada indikator, dan tanda minus, jika diperlukan, berdekatan dengan angka paling signifikan di sebelah kiri. Jika komunikasi dengan sensor gagal, yang mungkin mengindikasikan sensor rusak atau hilang, pesan "-dat" akan ditampilkan (dalam bentuk bergaya) alih-alih nilai suhu.
Dengan menekan sebentar tombol sb1, perangkat beralih untuk menampilkan pembacaan sensor VK1 atau VK2. Jika Anda menahan tombol ini selama lebih dari 5 detik, mode keluaran pembacaan sensor berurutan otomatis dengan periode 5 detik akan diaktifkan. Keluar dari mode ini dengan menekan sebentar tombol yang sama.
Termostat selalu beroperasi sesuai pembacaan sensor BK2. Dengan menekan tombol sb2 pada indikator, nilai suhu dipanggil dengan urutan sebagai berikut: ambang bawah (bila tercapai, pemanas dihidupkan) - ambang atas (bila tercapai, pemanas akan dihidupkan) mati) - saat ini. Tampilan suhu ambang atas pada indikator disertai dengan menyalakan LED hl2.
Ubah nilai ambang batas suhu yang saat ini ditampilkan pada indikator dengan menekan tombol sbi (menaikkan) dan 5ВЗ (menurun). Langkah perubahannya adalah 0,1 °C. Jika Anda menahan tombol yang sesuai selama lebih dari 1 detik, nilainya akan mulai bertambah atau berkurang dengan kecepatan 30 langkah per detik. Jika tidak ada tombol yang ditekan dalam waktu 5 detik, perangkat secara otomatis beralih untuk menampilkan suhu saat ini. Untuk mematikan termostat, cukup dengan mengatur ambang suhu sama atau yang lebih rendah lebih besar dari yang atas.
Sebelum Anda mulai mengukur suhu dan mengaturnya, perangkat harus “mendaftarkan” sensor yang terhubung dengannya - menentukan dan mengingat nomor masing-masing. Untuk mendaftar, sensor dihubungkan satu per satu (yang kedua harus dimatikan saat ini).
Setelah menyalakan perangkat, tekan tombol sb2 dan tahan selama minimal 5 detik hingga pesan bergaya “pr1” muncul di indikator. menunjukkan kesiapan untuk mendaftarkan sensor yang terhubung sebagai BK1. Jika Anda perlu mendaftarkan sensor sebagai BK2, tekan sebentar tombol sb2, yang akan menampilkan pesan “pr2” pada indikator. Dengan menekan lagi Anda dapat mengembalikan pesan “pr1” ke indikator dan seterusnya.
Pendaftaran sebenarnya terjadi setelah menekan tombol sb1. Jika sembilan upaya mikrokontroler untuk berkomunikasi dengan sensor, menentukan dan mengingat nomor individualnya tidak berhasil, kesimpulan akan dibuat bahwa sensor tersebut rusak atau hilang, dan pesan “-dat” akan ditampilkan pada indikator. Setelah registrasi berhasil, indikator akan menampilkan nilai suhu yang diukur oleh sensor yang terdaftar. Prosedur yang dijelaskan juga harus diikuti jika salah satu atau kedua sensor diganti. Data tentang sensor dan mode tampilan disimpan dalam chip memori non-volatil DS1.


Termometer-termostat dipasang pada papan sirkuit cetak satu sisi berukuran 75x74 mm, ditunjukkan pada Gambar. 2. Tujuan untuk mencapai kepadatan pemasangan maksimum dan dimensi minimum papan tidak ditetapkan selama pengembangannya. Dalam kondisi amatir, kemudahan pembuatan, kemudahan pemasangan dan pengaturan jauh lebih penting. Tentunya, dengan menggunakan elemen berukuran kecil dan pemasangan permukaan dua sisi, dimensi papan dapat dikurangi secara signifikan. Namun hal ini tidak memberikan manfaat operasional apa pun. Ada banyak ruang kosong di mana perangkat harus dipasang. Tampilan papan pemasangan dan pengoperasian ditunjukkan pada Gambar. 3.

Perangkat ini diberi daya dari listrik melalui transformator step-down apa pun dengan tegangan pada belitan sekunder 9 V pada arus 300 mA dan insulasi antar belitan yang baik. Alih-alih indikator LED hijau ganda hlec-d512gwb, Anda dapat menggunakan indikator lain dengan anoda umum, dari satu digit hingga empat kali lipat. Tentu saja, dengan penyesuaian yang sesuai pada papan sirkuit tercetak.
Dioda 1n4148 diganti dengan dioda silikon berdaya rendah, misalnya seri KD522, dan dioda 1n4007 diganti dengan dioda penyearah dengan arus minimal 300 mA, misalnya seri KD208 atau KD209.Penggantian transistor KT3107A - KT502B, KT502G, VS327. Stabilizer 7805 dapat diganti dengan KR142EN5A atau KR142EN5V domestik. Dianjurkan untuk melengkapinya dengan heat sink kecil. Alih-alih sirkuit mikro AT24C02, Anda dapat menggunakan AT24C01A. Frekuensi resonator kuarsa bisa berada di kisaran 10...12 MHz. Relai K1 - dengan belitan 12 V, arus operasi 70 mA dan kontak yang dirancang untuk arus 10 A pada tegangan 250 V. Alih-alih lobak elektromagnetik, Anda dapat menggunakan sakelar triac dengan isolasi optik, merakitnya sesuai ke sirkuit yang mirip dengan yang ditunjukkan pada Gambar. 2 dalam artikel oleh S. Koryakov “Termometer dengan fungsi pengatur waktu atau kontrol termostat” (Radio. 2003, No. 10, hlm. 26-28).
Perangkat ditempatkan di rumah yang terbuat dari bahan isolasi dengan konektor untuk menghubungkan sensor (konektor audio tiga pin dengan diameter steker 3,5 mm nyaman digunakan), jaringan, dan pemanas.

Bagian: [Perangkat pada mikrokontroler]
Simpan artikel ke:
Tinggalkan komentar atau pertanyaan Anda:

Pembacaan sensor ditampilkan pada HG1 - indikator LED tiga digit dengan anoda LED umum untuk setiap digit. LED dua warna HL1 dan HL2 menampilkan status setiap saluran.

Sinyal kontrol pemanas dalam mode termostat dihasilkan pada output mikrokontroler PB6 (saluran pertama) dan PB7 (saluran kedua). Kontrol dua posisi: pemanas hidup atau mati. Untuk isolasi galvanik perangkat dari aktuator, optocoupler U1 dan U2 dipasang. Dalam versi saya, sirkuit kontrol dua triac VT139 yang mengganti elemen pemanas dihubungkan ke konektor X4 dan X5. Jika perlu, optocoupler dapat diganti dengan transistor dengan memasukkan belitan relai elektromagnetik ke dalam rangkaian kolektornya.

Dalam waktu 4...5 detik setelah daya dialirkan ke perangkat, sensor diinisialisasi dan pembacaannya dikumpulkan. Saat ini, semua elemen indikator HG1 berkedip secara bergantian. Selanjutnya, pengukuran suhu dan mode tampilan diatur. Dalam mode ini, pemanas dimatikan.

Pembacaan sensor pada indikator bergantian dengan periode 5 detik. Jika suhu diukur dengan sensor yang terhubung ke konektor X1, LED HL1 menyala, dan LED yang terhubung ke konektor X2 menyala HL2. Selain itu, jika saluran yang sesuai dikonfigurasi sebagai termometer, warna cahayanya kuning, jika sebagai termostat, maka ketika diberikan perintah untuk menyalakan pemanas, warnanya merah, dan jika tidak ada perintah, warnanya hijau.

Setelah menekan tombol SB2, hanya pembacaan sensor pertama yang ditampilkan, dan setelah menekan SB3, hanya sensor kedua. Jika ada sensor yang tidak terhubung, ada sirkuit terbuka, sirkuit pendek di sirkuitnya, atau suhu berada di luar kisaran 0,1...99,9 °C, indikator akan menampilkan “Err” alih-alih nilai suhu, dan pemanas yang sesuai akan mati.

Jika, saat menampilkan suhu yang diukur, misalnya, oleh sensor pertama, Anda menekan tombol SB2 beberapa kali, maka dengan setiap penekanan, saluran yang sesuai akan beralih dari mode termostat ke mode termometer dan sebaliknya.

Dengan menekan sebentar tombol SB1, mode tampilan suhu bergantian di dua saluran dipulihkan. Tetapi jika Anda menahan tombol SB1 dalam waktu lama, termometer-termostat akan memasuki mode pengaturan saluran selama tombol ditekan sambil menampilkan suhu.

Dalam mode ini, gunakan tombol SB2 dan SB3 untuk memilih parameter yang diperlukan:

ut1 (ut2)- mengatur suhu untuk mematikan pemanas di saluran 1 (2);
D t1 (dt2)- mengatur perbedaan suhu (histeresis) antara mematikan dan menyalakan heater pada saluran 1 (2).

Misalnya, jika Anda menyetel suhu mematikan pemanas air ke 35°C dan selisih 1,5°C, pemanasan akan terjadi hingga suhu 35°C; setelah mencapai suhu tersebut, pemanas akan dimatikan dan dihidupkan kembali. ketika suhu turun menjadi 33,5°C. Dengan memilih perbedaan optimal, kompromi dicapai antara keakuratan menjaga suhu dan frekuensi menyalakan pemanas.

co1 (co2)- koreksi pembacaan sensor 1 (2). Nilai yang dimasukkan dijumlahkan (termasuk tanda) dengan pembacaan tersebut sebelum diproses lebih lanjut. Ini memungkinkan Anda mengkompensasi kemungkinan kesalahan sensor.

Jika Anda menekan sebentar tombol SB1 lagi, indikator akan menampilkan nilai parameter terpilih yang disimpan dalam memori mikrokontroler, setelah itu tombol SB2 dan SB3 (masing-masing turun dan naik sebesar 0,1 °C) menetapkan nilai barunya. Dengan menahan tombol-tombol ini dalam waktu lama, perubahan parameter mulai terjadi lebih cepat (kira-kira 10 kali per detik). 5 detik setelah penekanan terakhir tombol apa pun, nilai yang ditetapkan disimpan dalam memori non-volatil mikrokontroler, dan suhu saat ini ditampilkan pada indikator.

Kode program dari file Termo2ch.hex ditulis ke memori program (FLASH) mikrokontroler, dan informasi dari file Termo2ch.epp ditulis ke EEPROM-nya. Bit konfigurasi mikrokontroler diprogram sesuai dengan tabel:

Untuk melindungi terhadap pembekuan program, mikrokontroler harus mengaktifkan pengatur waktu pengawas.

Karena antarmuka 1-Wire yang digunakan oleh sensor sangat penting untuk frekuensi jam mikrokontroler, diperlukan penyetelan generator jam internal ke 8 MHz. Untuk melakukan ini, sambungkan contoh mikrokontroler yang Anda gunakan ke pemrogram dan baca konstanta kalibrasi yang terletak di byte tinggi kata yang terletak di alamat 0x0003 dari tanda tangan mikrokontroler. Setelah memuat file Termo2ch.epp ke programmer, tetapi sebelum pemrograman, konstanta ini ditulis ke sel nol buffer EEPROM programmer.

Mikrokontroler ATmega8 dapat diganti dengan ATmega8L. Saat mengganti indikator CPD-05211SR2/A dengan indikator serupa yang tipenya berbeda, Anda mungkin harus memilih resistor R8-R15 untuk memastikan kecerahan yang dapat diterima.

25/11/2012 Perhatian! Program termostat telah diperbarui ke versi v2b_1.

Saya mempersembahkan kepada Anda perangkat saya - termostat termometer dua saluran. Saya membuat termostat atas permintaan kerabat saya untuk menjaga suhu konstan di dalam kotak berisi kentang. Jika di tahun-tahun lain hal itu tidak diperlukan, maka musim dingin lalu menunjukkan bahwa hal itu diperlukan.

Saya menggunakan DS18B20 sebagai sensor. Mikrokontroler (ATmega8) beroperasi dari osilator master internal 4 MHz (selain itu, board memiliki kemampuan untuk memasang kuarsa). Karena artefak tampilan dinamis (kedipan terlihat pada saat sensor diinterogasi), kami harus berhenti membaca ROM sensor dan menghitung CRC. Namun perangkat tersebut menggunakan dua sensor yang dihubungkan ke pin MK yang berbeda. Yang satu mengukur suhu udara luar, yang lain mengukur suhu di dalam kotak. Kontrol suhu diatur hanya untuk sensor No. 2 (kotak).



Termometer-termostat dibagi menjadi dua rumah. Yang satu berisi bagian kontrol dan layar, yang lain berisi catu daya dan relai pengatur beban. Papan kontrol menyediakan pemasangan penstabil daya dengan kapasitor untuk memberi daya pada mikrokontroler, tetapi karena daya masuk pada 5 v, maka tidak disolder (dalam hal catu daya dari catu daya dengan tegangan keluaran lebih besar dari 5 v, harus disolder). Rumah kontrol dilengkapi dengan braket yang memungkinkan Anda memasangnya pada rel DIN atau cukup dengan sekrup sadap sendiri ke dinding.



Konektor perangkat:
— sinyal kontrol ditransmisikan melalui konektor USB untuk menghidupkan relai;
— sensor suhu dihubungkan melalui konektor audio.

Karena program ini memakan 66% memori, diputuskan untuk membuat saluran kontrol kedua, untuk berjaga-jaga, dari PB5. Saluran kedua dalam program ini belum ada, dan saya belum tahu apakah akan diperlukan sama sekali, tetapi di PP saluran kedua sudah terorganisir sepenuhnya, hanya saja belum dipasang relay.












Deskripsi pengoperasian termostat.
Perangkat ini memiliki tiga tombol untuk kontrol. Tombol (OK), (Atas), (Dn). Saat daya dihidupkan, suhu sensor No. 1 (udara luar) ditampilkan pada indikator.




Untuk view suhu di dalam kotak, tekan tombol (OK). Pada saat yang sama, LED biru HL1 menyala (lihat diagram), menunjukkan bahwa suhu sensor No.2 ditampilkan di layar.




Saat Anda menekan tombol (OK) lagi, suhu sensor No. 1 ditampilkan dan LED HL1 mati.

Untuk masuk ke mode pengaturan ambang atas untuk mematikan dan ambang bawah untuk pemanasan. Anda perlu menekan kedua tombol (Atas), (Dn) dan menahannya setidaknya selama 5 detik. Setelah waktu ini habis, perangkat akan beralih ke mode melihat ambang batas atas untuk mematikan pemanas. Sekarang tombol-tombolnya harus dilepaskan. Nilai ambang batas akan ditampilkan pada layar dan segmen atas akan menyala pada digit keempat, menunjukkan bahwa ini adalah ambang batas atas.




Untuk mengubah pengaturan ambang batas, Anda harus menekan tombol (OK). Nilai pada tampilan akan mulai berkedip, menunjukkan bahwa setpoint siap diubah. Pengaturannya dapat diubah dari +1 hingga +10 derajat, dengan kelipatan 1 derajat. Nilainya dinaikkan menggunakan tombol (Naik), dan diturunkan menggunakan tombol (Dn). Untuk menyimpan pengaturan atau sekadar berpindah ke ambang batas berikutnya, Anda harus menekan tombol (OK). Layar akan menunjukkan ambang batas bawah dan digit keempat akan memiliki segmen yang lebih rendah, yang menunjukkan bahwa ini adalah ambang batas bawah.




Untuk mengubah pengaturan ambang batas, Anda harus menekan tombol (OK) lagi. Nilai pada tampilan akan mulai berkedip, menunjukkan bahwa setpoint siap diubah. Setelah mengatur ambang batas peralihan, tekan tombol (OK) untuk menyimpan dan keluar dari mode pengaturan ambang batas termostat. Pengaturan disimpan dalam memori non-volatile MK dan tidak diatur ulang saat listrik padam.

Untuk kenyamanan memantau suhu di dalam kotak, algoritma alarm tambahan untuk suhu rendah di dalam kotak telah diperkenalkan. Siapa dia sebenarnya? Ketika layar menunjukkan suhu sensor No. 1, dan suhu di dalam kotak menurun (misalnya, karena kerusakan pemanas) dan mencapai nilai di bawah +1 derajat, LED HL1 mulai berkedip, menandakan suhu rendah di dalam kotak. Jika suhu di dalam kotak naik di atas +2 derajat, LED akan berhenti berkedip.

Algoritma kerusakan sensor. Jika sensor tidak berfungsi, Err No. ditampilkan di layar. Angka tersebut menunjukkan kode kesalahan dari 1 hingga 3. Angka 1 berarti tidak ada level tinggi, 2 berarti tidak ada sensor, 3 berarti level tinggi belum dipulihkan.




Ketika layar menunjukkan suhu sensor No. 1, dan terjadi malfungsi pada sensor No. 2, LED HL1 mulai berkedip, menandakan adanya malfungsi. Jadi, dengan suhu sensor No. 1 yang ditampilkan di layar, Anda tidak akan melewatkan kerusakan termostat. Secara alami, jika sensor No. 2 tidak berfungsi, pemanas akan mati.

Beberapa poin lagi. Termostat dimatikan jika pengaturan ambang batas bawah sama dengan pengaturan ambang batas atas, atau pengaturan ambang batas bawah lebih tinggi dari pengaturan ambang batas atas. Jika sensor No. 1 atau No. 2 rusak, maka di menu pengaturan Anda tidak akan melihat nilai yang disetel, meskipun set point dapat diubah, tetapi secara membabi buta. Hal ini dilakukan agar pengguna tidak perlu repot mengubah pengaturan saat sensor rusak.


File untuk merakit perangkat.

(Dikunjungi 19.717 kali, 1 kunjungan hari ini)

Bagian: Tag: ,

Navigasi pos

084-Termostat termometer saluran ganda pada ATmega8.: 86 komentar

  1. fizik_89

    Halo SVN.
    Saya berencana untuk merakit perangkat sesuai dengan proyek Anda. Ingin tahu pemanas apa yang Anda gunakan untuk thermobox? Dilihat dari catu dayanya, menghasilkan 12V 0,5A. Jadi pemanasnya hanya 6 W? Menurut saya daya 6 W tidak akan memberikan kondisi termal yang diperlukan. Atau apakah saya memahami sesuatu yang salah?)

  2. Penulis Posting SVN
  3. alex52

    Saya sudah merakit termostatnya dan langsung berfungsi. Hanya saja ini menunjukkan suhu yang aneh: minus 38,6 (kedua sensor) di ruangan hangat, yang suhunya sekitar 20 derajat. Sensor (DC18B20) merespons perubahan suhu. Saat dipanaskan dengan besi solder, suhunya naik hingga minus 21 derajat. Apa masalahnya?

  4. Penulis Posting SVN
  5. alex52

    Saat daya dialirkan ke perangkat, layar menunjukkan nilai 85,0*C, dan kemudian setelah sekitar 2 detik: -36,3*C. Kemudian saya menukar sensor: sekali lagi nilai 85.0*C ditampilkan, dan kemudian setelah sekitar 2 detik: -36.5*C. Sayangnya, saya sakit dan tidak dapat membeli sensor baru. Suatu hari nanti saya akan melakukan ini dan menulis tentang hasilnya. Terima kasih untuk bantuannya.

  6. Penulis Posting SVN

    :
    Saat daya dialirkan ke perangkat, layar menunjukkan nilai 85,0*C, dan kemudian setelah sekitar 2 detik: -36,3*C. Kemudian saya menukar sensor: sekali lagi nilai 85.0*C ditampilkan, dan kemudian setelah sekitar 2 detik: -36.5*C. Sayangnya, saya sakit dan tidak dapat membeli sensor baru. Suatu hari nanti saya akan melakukan ini dan menulis tentang hasilnya. Terima kasih untuk bantuannya.

    Ketika daya dialirkan ke sensor, sensor menulis nilai yang sama dengan 85,0 ke register, yang dibaca oleh perangkat. Ini mengonfirmasi penghitungan ulang nilai baca yang benar. Jadi, sepertinya Anda menemukan aset tidak likuid, yang sangat jarang terjadi. Coba beli sensor dari toko lain. Namun efek ini dapat terjadi jika +5 V tidak mencapai sensor. Periksa apakah catu daya sensor cocok.

  7. alex52

    Ya, Anda benar, sensornya ternyata di bawah standar. Sensor baru menunjukkan nilai normal. Tampaknya tidak mungkin bagi saya bahwa dua sensor akan sama-sama di bawah standar. Mungkin saja dimungkinkan untuk menganalisis pengoperasian sensor-sensor ini dan mengoreksi pembacaannya secara terprogram. Saya akan mencobanya di waktu luang saya. Terima kasih.

  8. alex52

    Omong-omong, mungkinkah ini DS18S20? Mereka memiliki jenis representasi suhu yang berbeda. Untuk DS18S20, suhu direpresentasikan sebagai nilai komplemen dua 9-bit, dan untuk DS18B20 sebagai bilangan biner dengan lebar 9 hingga 12 bit. Untuk DS18S20 dan DS18B20, selain nomor seri, ROM berisi kode keluarga (10 jam untuk DS18S20, dan 28 jam untuk DS18B20). Tidak memiliki pembaca kode keluarga atau program untuk bekerja dengan DS18S20?

  9. Penulis Posting SVN

    :
    Omong-omong, mungkinkah ini DS18S20? Mereka memiliki jenis representasi suhu yang berbeda. Untuk DS18S20, suhu direpresentasikan sebagai nilai komplemen dua 9-bit, dan untuk DS18B20 sebagai bilangan biner dengan lebar 9 hingga 12 bit. Untuk DS18S20 dan DS18B20, selain nomor seri, ROM berisi kode keluarga (10 jam untuk DS18S20, dan 28 jam untuk DS18B20). Tidak memiliki pembaca kode keluarga atau program untuk bekerja dengan DS18S20?

    Saya tidak punya program seperti itu. Namun jika ini adalah DS18S20, maka Anda tidak akan melihat nilai +85*C di awal program. Ini jelas sebuah pernikahan. Lebih baik mengembalikan barang cacat ke toko.

  10. alex52
  11. pino24

    Namun bukankah akan lebih indah jika menggunakan tampilan dua baris??

  12. Penulis Posting SVN

    :
    Namun bukankah akan lebih indah jika menggunakan tampilan dua baris??

    Inilah yang disukai semua orang. Untuk tampilan dua baris, program harus ditulis ulang sepenuhnya.

  13. Vladimir1619

    Halo. Terima kasih kepada penulis dan semua orang yang berpartisipasi dalam pengembangan perangkat ini.
    Saya merakitnya, tetapi muncul masalah yang tidak dapat saya pecahkan lagi (saya kurang pengetahuan dan pengalaman).
    Perangkat berfungsi, tetapi indikatornya menunjukkan sebaliknya;
    Semua koma kecuali yang kedua menyala, dan angkanya tidak dapat dipahami,
    menonaktifkan semua sensor DS18B20, tulis E.9.9.2..
    Saya merakit sendiri indikatornya, tetapi sudah pasti tersambung dengan benar dan berfungsi di perangkat lain.
    Mohon berikan saran jika memungkinkan. Terima kasih.

  14. Skifco

    Terima kasih banyak kepada para pengembang! Saya ingin memperjelas pertanyaan ini. Saya membuat perangkat yang kira-kira sama, tetapi lebih bersifat medis. Saya ingin tahu apakah mungkin untuk membantu membuat diagram waktu untuk perangkat Anda dan ingin mengetahui paket apa dan bagaimana sensor mengirimkannya, apa yang perlu dikirim kepada mereka untuk melakukan polling dan berapa frekuensi pollingnya. ?
    Terima kasih sebelumnya!

Berikut adalah proyek untuk termometer dua saluran. Ia dapat mengukur suhu dalam kisaran -50,0 hingga +99,9 derajat. Perangkat ini dirancang untuk mengukur suhu di dalam dan di luar ruangan, namun juga memiliki banyak kegunaan lain. Dengan sedikit perubahan pada programnya, perangkat ini juga dapat digunakan sebagai termostat. Termometer ini dibuat berdasarkan sensor dan mikrokontroler ATtiny2313 yang populer dan tersebar luas, yang sangat menyederhanakan pengembangan dan memungkinkan pengurangan ukuran secara signifikan. Termometer dikompresi sehingga hampir semua elemen berada di bawah layar tiga digit 15 mm. Hampir semua elemen adalah SMD. Tentu saja komponen TH bisa digunakan, namun di era miniaturisasi, ada baiknya melangkah lebih jauh dengan menciptakan sistem dengan dimensi terkecil. Termometer ini dapat mengukur suhu di dua tempat, menggunakan dua sensor yang dihubungkan pada bus independen. Mengubah suhu yang ditampilkan dilakukan dengan menggunakan dua tombol.

Prinsip operasi

Diagram skematik:

Inti dari perangkat ini adalah mikrokontroler U1 (ATTINY2313), yang memiliki clock oleh osilator internal 8MHz, tanpa pembagi frekuensi. Ketiadaan kuarsa memungkinkan untuk memperkecil ukuran perangkat, dan juga membebaskan dua kaki MK; tombol S2 sekarang terhubung ke salah satunya. Mikrokontroler menerima pembacaan suhu dari dua sensor, mengubah data menjadi bentuk yang sesuai untuk ditampilkan pada layar dan memproses penekanan tombol S1 dan S2. Kapasitor C1 (100nF) yang terletak di sebelah mikrokontroler merupakan kapasitor filter. Kapasitor C2 (10 µF) dan C3 (10 µF) diperlukan agar U3 (78L05) berfungsi dengan benar.Kesederhanaan rangkaian disebabkan oleh sensor suhu yang digunakan. Ini adalah termometer digital 12-bit yang dapat beroperasi dari -55 hingga +125 derajat. Waktu pemrosesan suhu (konversi) berlangsung tidak lebih dari 750 ms. Komunikasi dengan mikrokontroler dilakukan melalui antarmuka 1-Wire. Indikator suhu adalah tampilan LED tiga digit (AT5636BMR-B) dengan koneksi segmen internal, disesuaikan untuk tampilan dinamis. Resistor R4-R11 membatasi arus pada tampilan LED hingga 10-12 mA (per segmen). Namun, arus rata-rata menjadi lebih kecil karena penggunaan tampilan dinamis. Anoda dikendalikan oleh tiga transistor populer T1 - T3 (BC857). Arus basis dibatasi oleh resistor R1-R3 (3,3 kOhm). Komponen penting adalah konektor GP1, yang melaluinya sensor dan output kontrol (dalam kasus termostat) dihubungkan.

Manufaktur

Perangkat ini dibuat berdasarkan papan sirkuit tercetak. Papannya satu sisi, dan hampir semua elemennya SMD. Pengecualiannya adalah tampilan, tombol kontrol, dan konektor. Perakitannya tidak sulit, tetapi membutuhkan banyak keterampilan saat menyolder SMD. Kerugian dari papan ini adalah tidak adanya konektor pemrograman, jadi jika Anda perlu melakukan perubahan pada program, Anda perlu menyolder kabel pemrogram ke papan secara langsung. Tapi Anda bisa memasang konektor mini di papan.

Pinout konektor

Pin 1 dan 2 konektor ini adalah power dan ground. Pin 3 dimaksudkan untuk menghubungkan indikasi suhu negatif (katoda ke konektor, anoda ke +5V melalui resistor 200 - 300 Ohm). Sensor dihubungkan melalui kabel tiga kawat. Sensor pertama terhubung ke pin 5, dan sensor kedua terhubung ke pin 6. Perangkat ini diberi daya dari 7-12V melalui stabilizer 78L05.

Pemrograman

Program ini ditulis dalam lingkungan pemrograman yang terkenal. Ini menempati sekitar 70% dari memori mikrokontroler dan dapat berhasil dikompilasi dalam versi demo BASCOM"a. Programnya tidak rumit. Di bawah ini adalah beberapa elemen kode

Penangan interupsi pengatur waktu0:

Przerwanie0: Timer0 = 131 Set F4ms Incr Dziel(1) Jika Dziel(1) = 25 Maka Dziel(1) = 0 Set F100ms Incr Dziel(2) Jika Dziel(2) = 10 Maka Dziel(2) = 0 Set F1s End Jika Berakhir Jika Kembali

Lingkaran utama:

Lakukan Jika F4ms = 1 Maka Reset F4ms" co 4ms Wysw = T Gosub Wyswietl_zmierz End Jika Jika F100ms = 1 Maka Reset F100ms "co 100ms Jika Pind.2 = 0 Maka Kanal = 1 Jika Pina.0 = 0 Maka Kanal = 0 End If Lingkaran Berakhir

Prosedur kontrol tampilan:

Wyswietl_zmierz: Incr Mux Jika Mux = 5 Maka Mux = 0 Portd.3 = Bukan Minus Untuk I = 1 Sampai 3 Wysw_pomoc = Wysw Mod 10 Ww = Wysw_pomoc W(i) = Pencarian(ww , Tabela) Wysw = Wysw / 10 Berikutnya I Jika W(3) = 40 Maka W(3) = 255" wygaszenie zera wiodącego Pilih Case Mux Case 0: Portb = W(3) Reset Portd.6 Case 1: Set Portd.6 Portb = W(2) Dan &B11011111 Reset Portd.5 Kasus 2: Setel Portd.5 Portb = W(1) Reset Portd.4 Kasus 3: Setel Portd.4 Portb = 255 Gosub Temp "Kasus 4: Akhir Pilih Kembali Tablea: Data 40 , 235 , 50 , 162 , 225, 164, 36, 234, 32, 160

Prosedur pengukuran suhu:

Suhu: Jika F1s = 1 Kemudian Reset F1s 1wreset Pind , Kanal 1wwrite &HCC , 1 , Pind , Kanal 1wwrite &HBE , 1 , Pind , Kanal T = 1wread(2 , Pind , Kanal): Minus = T.15 T = Abs(t ) T = T * 10 T = T / 16 1wreset Pind , Kanal 1wwrite &HCC , 1 , Pind , Kanal 1wwrite &H44 , 1 , Pind , Kanal End Jika Kembali

Fusebit mikrokontroler harus diatur agar berfungsi dengan osilator RC 8 MHz internal

Foto

Daftar elemen radio

Penamaan Jenis Denominasi Kuantitas CatatanTokobuku catatan saya
U1 MK AVR 8-bit

ATtiny2313

1 SO20 Ke buku catatan
U3 Pengatur linier

L78L05

1 SOT89 Ke buku catatan
T1-T3 Transistor bipolar

SM857

3 Ke buku catatan
C1 Kapasitor100 nF1 Ke buku catatan
C2, C3 Kapasitor elektrolitik10 mikrofarad2 Tantalum SMD 3216A Ke buku catatan
R1-R3 Penghambat

3,3 kOhm

3 SMD 0805 Ke buku catatan
R4-R11 Penghambat

330 Ohm

8 SMD 0805 Ke buku catatan
R12, R13 Penghambat

4,7 kOhm

2 SMD 0805 Ke buku catatan
W1 Indikator tujuh segmenAT5636BMR1