Termometer tidak menjadi lebih kecil pada Attiny2313. Termometer tidak boleh lebih kecil pada Attiny2313 Penerangan tentang pengendalian litar termometer

rumah / Bekas

Terdapat banyak gambar rajah termometer untuk AVR di Internet, tetapi seperti biasa, anda mahukan sesuatu yang tersendiri... Dan anda juga harus meregangkan otak anda. Termometer ini adalah salah satu projek pertama saya.

Apa yang saya mahukan:

  • saiz minimum (dalam had yang munasabah)
  • kos minimum
  • kesederhanaan reka bentuk
  • kebolehulangan yang tinggi
  • serba boleh (lebih lanjut mengenainya kemudian)

Apa yang berlaku:

Selepas melihat reka bentuk yang serupa dan menghisap penerangan tentang tinny yang ada di tangan (ATtiny2313), saya membuat kesimpulan bahawa adalah mungkin untuk memudahkan reka bentuk sedia ada dan sedikit meningkatkan ciri-ciri mereka.

Rajah menunjukkan pilihan kedua untuk menghidupkan penderia suhu jika ia tidak mahu berfungsi melalui bas wayar tunggal (yang sangat jarang berlaku). Sila ambil perhatian bahawa perintang tarik naik pada pin 11 mestilah tepat 4.7 kOhm. Penurunan atau peningkatan boleh menyebabkan operasi penderia yang tidak stabil jika dihidupkan dalam litar wayar tunggal.

Seperti yang anda lihat, litar ini berbeza daripada yang serupa dengan ketiadaan transistor untuk mengawal segmen. Oleh itu, litar telah dipermudahkan oleh 4 transistor dan 4 perintang, berbanding dengan litar yang serupa. Di sini ada yang akan berkata: "ini tidak mungkin - terdapat beban besar pada pelabuhan!!!" Kami membaca pada pengawal ini " Arus DC setiap Pin I/O - 40.0 mA". Kami mempunyai 8 segmen dalam setiap simbol, 5 mA setiap satu - ternyata 40 mA!!!.

Sekarang mari kita lihat graf dari penerangan yang sama:

Jelas daripada graf bahawa arus boleh mencapai 60 mA dan juga 80 mA setiap pin. Baiklah, jangan terpengaruh - 5 mA setiap segmen (40 mA setiap simbol) sudah cukup untuk kita! Perintang pengehad dipilih untuk menghasilkan arus kira-kira 5 mA setiap segmen. Dalam litar saya terdapat 470 Ohms. Kecerahan segmen sangat baik!!! Jadi, saya terbawa-bawa dengan teori.

Berlatih!!!

Saya melukis papan litar bercetak berdasarkan pertimbangan mereka "sekecil mungkin, tetapi semudah mungkin." Oleh itu, ternyata dengan beberapa pelompat...

Dalam gambar terdapat tempat untuk kuarza - ini adalah untuk serba boleh - Saya mempunyai beberapa keping AT90S2313 yang tidak mempunyai pengayun dalaman. CRANK digunakan dalam perumahan SOT-89. Diod zener pelindung BZX79-C5V1 dalam perumah DO-35. Kapasitor dalam penapis kuasa ialah 10mkF * 16V tantalum (tiada yang lain ditemui), saiz 3528 (SMD-B). Saya biasanya tidak memasangnya, tetapi sebaliknya - saiz 1mkF * 50V 1206. Tiada gangguan berkaitan kuasa yang diperhatikan.

papan kosong yang dibuat oleh "besi laser"

papan dipasang: pandangan dari sisi konduktor (penstabil tiada)

pandangan dari sisi unsur (penunjuk tidak dimeterai)

Projek itu dipasang secara berkeping-keping, beberapa daripada projek siap dari Internet, ada yang saya tambahkan... Idea asalnya ialah paparan dinamik. Masalahnya ialah semasa berkomunikasi dengan sensor suhu DS18B20, detik-detik timbul apabila "pengimbasan" petunjuk berhenti. Oleh itu, kemas kini penunjuk dilakukan bukan dengan gangguan, tetapi dalam gelung program utama, dan juga dimasukkan di sana sini dalam prosedur untuk berkomunikasi dengan sensor... Kelebihan kaedah ini ialah kekerapan kemas kini yang tinggi, yang menghapuskan masalah berkelip.

Saya hampir terlupa - fius untuk operasi normal termometer:

Jadi, kami flash, hidupkan... Hmm... berkesan!!!

Jadi, seperti yang kita lihat, kita mendapat peranti yang agak mudah (berapa lebih mudah???), yang saiznya tidak melebihi saiz penunjuk. Selain itu, ketepatannya juga tinggi: mengikut penerangan penderia, "ketepatan ±0.5°C dari -10°C hingga +85°C." Seperti yang ditunjukkan oleh amalan, ketepatan adalah lebih tinggi - kira-kira ±0.1°C. Saya menyemak 10 salinan dengan termometer makmal yang telah melepasi kawalan metrologi...

Di pasaran radio, saya melihat radio tujuh segmen tiga digit. Saya membeli mikropengawal Attiny2313 dalam pakej SOIC, DS18B20, perintang SMD dan kapasitor SMD. Saya melukis papan litar bercetak, melukis litar berdasarkan papan litar bercetak, menulis program, memuat naiknya ke MK dan:

Dan inilah yang berlaku:

Filem warna dilekatkan pada penunjuk (tidak mungkin untuk mengambil gambar penunjuk dengan betul tanpanya).

Saiz juga boleh dinilai dengan penunjuk yang digunakan:

Skim:

Beberapa perkataan tentang gambar rajah dan program. Kekompakan tidak datang tanpa pengorbanan. Tiada rintangan pengehad arus dalam litar, yang tidak sepenuhnya baik. Untuk meningkatkan kapasiti beban, katod penunjuk disambungkan ke dua terminal MK sekaligus.
Tidak ada yang asli dalam program ini. Templat disediakan menggunakan wizard dari CVAVR, bahagian lain diambil dari jam termometer saya. Saya menggunakan pustaka DS18B20 yang diperbetulkan, atau sebaliknya ia adalah jumlah dua perpustakaan daripada CVAVR untuk DS1820/DS18S20 dan DS18B20, i.e. Mana-mana penderia di atas boleh digunakan dalam termometer. Lebih tepat lagi, tidak lebih daripada 4 sensor dalam sebarang kombinasi.
Fius: MK dikonfigurasikan untuk beroperasi daripada pengayun RC dalaman pada 4 MHz. CKSEL = 0010, SUT = 10, semua yang lain = 1.

Keputusan:
Saya tidak pasti versi termometer saya yang menggunakan penunjuk tujuh segmen adalah yang terkecil.

Fail:

- Papan litar bercetak dalam format SL 5.0.

Anda tidak mempunyai akses untuk memuat turun fail dari pelayan kami - Perisian tegar MK.

Anda tidak mempunyai akses untuk memuat turun fail dari pelayan kami - Sumber perisian tegar.

Anda tidak mempunyai akses untuk memuat turun fail dari pelayan kami - Projek untuk Proteus.

Dalam artikel ini kami akan menyemak termometer digital, dibina di atas mikropengawal Attiny2313, dilengkapi sensor digital jauh DS18B20. Julat pengukuran suhu adalah dari -55 hingga +125 darjah Celsius, langkah pengukuran suhu ialah 0.1 darjah. Litar ini sangat mudah, mengandungi minimum bahagian dan boleh dipasang dengan mudah dengan tangan anda sendiri.

Penerangan tentang pengendalian litar termometer

Termometer elektronik buatan sendiri dengan sensor jauh dibina di atas segala yang diketahui. Litar mikro DS18B20 dari Dallas bertindak sebagai penderia suhu. Sehingga 8 penderia digital boleh digunakan dalam litar termometer. Pengawal mikro berkomunikasi dengan DS18B20 melalui protokol 1Wire.

Mula-mula, semua penderia yang disambungkan dicari dan dimulakan, kemudian suhu dibaca daripadanya dan kemudian dipaparkan pada penunjuk tujuh segmen tiga digit HL1. Penunjuk boleh digunakan dengan kedua-dua katod sepunya (CC) dan anod sepunya (CA). Penunjuk serupa juga digunakan. Setiap penunjuk mempunyai firmware sendiri. Anda boleh mengukur suhu di rumah dan di luar; untuk melakukan ini, anda perlu mengambil DS18B20 di luar tingkap.

Untuk Attiny2313 anda perlu menetapkan fius seperti berikut (untuk program

Saya serta-merta menafikan semua tanggungjawab untuk masa, wang, butiran, dll. yang anda habiskan... Jika sesuatu tidak berkesan untuk anda, maka salahkan pada tangan bengkok anda.....

Baru-baru ini saya sedang membina komputer dengan penyejukan pasif sepenuhnya. Untuk memantau suhu pemproses dengan mudah, adalah perlu untuk memasang termometer dengan cepat. Semua jenis program seperti "Everest", "Aida", dan lain-lain tidak sesuai untuk saya atas satu sebab mudah: Saya mahu mengawal suhu walaupun semasa monitor dimatikan. Atau walaupun dengan monitor dimatikan sepenuhnya. Telah diputuskan untuk memasang termometer berdasarkan sensor digital DS18B20, mikropengawal AVR murah dan penunjuk tujuh segmen. Pada mulanya saya ingin mengulang litar termometer mengikut salah satu pilihan yang dicadangkan di Internet. Tetapi selepas menganalisis gambar rajah yang disiarkan di Internet, saya membuat kesimpulan bahawa saya perlu mencipta "basikal" saya sendiri.

Reka bentuk yang dipersembahkan di Internet mempunyai beberapa kelemahan, iaitu:
* kelajuan rendah paparan dinamik (50...100 hertz), yang menyebabkan ia menjadi tidak selesa untuk melihat penunjuk; jika anda melihatnya dengan cepat, nampaknya nombor itu "bergerak";
* tidak semua reka bentuk mengukur keseluruhan julat suhu dengan secukupnya (dari -55 hingga +125); contohnya, terdapat reka bentuk yang tidak mengukur suhu di bawah sifar darjah, atau mengukur suhu yang tidak betul melebihi 100 darjah;
* tiada semakan semak (CRC);
* pin biasa segmen disambungkan kepada satu kaki mikropengawal tanpa transistor kekunci, MELEBIHI PORT MICROCONTROLLER.

Jika port MK terlebih beban, kecerahan penunjuk mungkin berkurangan, dan kaki mikropengawal juga mungkin terbakar. Beberapa tahun lalu saya memasang termometer menggunakan ATtiny2313+DS18B20 menggunakan gambar rajah dari Internet. Litar itu tanpa transistor kunci. Pada suhu 18 darjah, nombor "1" bersinar terang, dan nombor "8" bersinar dengan ketara lebih malap, saya harap semua orang faham mengapa semuanya berlaku seperti ini. Oleh itu, saya berjanji kepada diri sendiri untuk tidak membebankan kaki MK pada masa akan datang. Ngomong-ngomong, inilah foto termometer itu, dipasang mengikut rajah dari internet; Saya rasa ia tidak memerlukan sebarang ulasan:

Saya juga ingin membuat beberapa penambahbaikan:
* paparkan simbol darjah pada penunjuk (persepuluh darjah tidak begitu kritikal bagi saya);
* jam mikropengawal dari kuarza luaran, kerana protokol "1-Wayar" yang digunakan oleh sensor adalah penting untuk pembentukan selang masa (slot masa), jadi saya tidak mahu berdoa untuk kestabilan jam terbina dalam penjana;
* memperkenalkan semak semak ke dalam program, jika jumlah semak tidak sepadan, paparkan pada penunjuk: "Crc";
* tambah diod pada litar (untuk melindungi litar daripada pembalikan kuasa);
* apabila kuasa digunakan, semua segmen diterangi selama 1 saat (yang dipanggil ujian segmen);
* laksanakan pengesahan checksum DS18B20.

Saya menulis projek dalam persekitaran AVR Studio 5, menemui fungsi untuk bekerja dengan sensor di suatu tempat di Internet, dan menulis semula yang lain dengan cara saya sendiri, dengan banyak mengulas tentang kod sumber. Pada penghujung artikel terdapat pautan untuk memuat turun perisian tegar dan kod sumber.

Saya menggunakan penunjuk tujuh segmen untuk 3 lokasi biasa, segmen dengan anod biasa. Juga dalam arkib (pada akhir artikel) terdapat firmware untuk penunjuk dengan katod biasa. Saya menyambungkan terminal biasa segmen ke dua terminal MK, disambung secara selari. Oleh itu, setiap pin biasa penunjuk segmen menggunakan 2 pin MK untuk meningkatkan kapasiti beban pin.

Saya menggunakan mikropengawal ATtiny2313A (anda juga boleh menggunakan ATtiny2313 atau ATtiny2313L), menggunakan hampir semua kaki bebas (kecuali pin set semula). Jika anda memasang termometer pada ATmega8, anda boleh menyambungkan 3 atau 4 kaki secara selari untuk meningkatkan kapasiti beban port.

Gambar rajah peranti:

Saya melampirkan gambar termometer yang dipasang. Tiada kes lagi, kerana termometer akan dibina ke dalam kes PC.

Petunjuk.
Penderia suhu tidak disambungkan, atau terdapat litar pintas pada talian data:

Ralat jumlah semak (CRC):

Sensor suhu disambungkan, suhu dari -55 hingga -10 darjah:

Sensor suhu disambungkan, suhu dari -9 hingga -1 darjah:

Sensor suhu disambungkan, suhu dari 0 hingga 9 darjah:

Sensor suhu disambungkan, suhu dari 10 hingga 99 darjah:

Sensor suhu disambungkan, suhu dari 100 hingga 125 darjah:

Kekerapan paparan dinamik ialah beberapa kilohertz, jadi kelipan tidak dapat dilihat oleh mata walaupun dengan pandangan pantas pada penunjuk.
Bagi mereka yang ingin mengulangi reka bentuk, saya menyusun beberapa perisian tegar untuk kuarza yang berbeza: 4 MHz, 8 MHz, 10 MHz, 12 MHz, 16 MHz.
Saya juga membuat perisian tegar untuk penunjuk dengan anod biasa (OA) dan katod biasa (OC). Semua perisian tegar ada dalam arkib (lihat di bawah).

UPD
Mengemas kini perisian tegar. Pembaikan kecil, barang kecil. Yang utama ialah jenis data stdint, konfigurasi kaki yang fleksibel untuk segmen. Semua perubahan diterangkan dalam tajuk sumber.

Terdapat banyak gambar rajah termometer untuk AVR di Internet, tetapi seperti biasa, anda mahukan sesuatu yang tersendiri... Dan anda juga harus meregangkan otak anda. Termometer ini adalah salah satu projek pertama saya.

Apa yang saya mahukan:

  • saiz minimum (dalam had yang munasabah)
  • kos minimum
  • kesederhanaan reka bentuk
  • kebolehulangan yang tinggi
  • serba boleh (lebih lanjut mengenainya kemudian)

Apa yang berlaku:

Selepas melihat reka bentuk yang serupa dan menghisap penerangan tentang tinny yang ada di tangan (ATtiny2313), saya membuat kesimpulan bahawa adalah mungkin untuk memudahkan reka bentuk sedia ada dan sedikit meningkatkan ciri-ciri mereka.

Rajah menunjukkan pilihan kedua untuk menghidupkan penderia suhu jika ia tidak mahu berfungsi melalui bas wayar tunggal (yang sangat jarang berlaku). Sila ambil perhatian bahawa perintang tarik naik pada pin 11 mestilah tepat 4.7 kOhm. Penurunan atau peningkatan boleh menyebabkan operasi penderia yang tidak stabil jika dihidupkan dalam litar wayar tunggal.

Seperti yang anda lihat, litar ini berbeza daripada yang serupa dengan ketiadaan transistor untuk mengawal segmen. Oleh itu, litar telah dipermudahkan oleh 4 transistor dan 4 perintang, berbanding dengan litar yang serupa. Di sini ada yang akan berkata: "ini tidak mungkin - terdapat banyak beban pada port!!!". Baca pada pengawal ini " Arus DC setiap Pin I/O - 40.0 mA". Kami mempunyai 8 segmen dalam setiap simbol, 5 mA setiap satu - ternyata 40 mA !!!.

Sekarang mari kita lihat graf dari penerangan yang sama:

Jelas daripada graf bahawa arus boleh mencapai 60 mA dan juga 80 mA setiap pin. Baiklah, jangan terpengaruh - 5 mA setiap segmen (40 mA setiap simbol) sudah cukup untuk kita! Perintang pengehad dipilih untuk menghasilkan arus kira-kira 5 mA setiap segmen. Dalam litar saya terdapat 470 Ohms. Kecerahan segmen sangat baik!!! Jadi, saya terbawa-bawa dengan teori.

Berlatih!!!

Saya melukis papan litar bercetak berdasarkan pertimbangan mereka "sekecil mungkin, tetapi semudah mungkin." Itulah sebabnya ia ternyata mempunyai beberapa pelompat...

Dalam gambar terdapat tempat untuk kuarza - ini adalah untuk serba boleh - Saya mempunyai beberapa keping AT90S2313 yang tidak mempunyai pengayun dalaman. CRANK digunakan dalam perumahan SOT-89. Diod zener pelindung BZX79-C5V1 dalam perumah DO-35. Kapasitor dalam penapis kuasa adalah tantalum 10mkF * 16V (tiada yang lain ditemui), saiz 3528 (SMD-B). Saya biasanya tidak memasangnya, tetapi sebaliknya - saiz 1mkF * 50V 1206. Tiada gangguan berkaitan kuasa yang diperhatikan.

papan kosong yang dibuat oleh "besi laser"

papan dipasang: pandangan dari sisi konduktor (penstabil tiada)

pandangan dari sisi unsur (penunjuk tidak dimeterai)

Projek itu dipasang secara berkeping-keping, beberapa daripada projek siap dari Internet, ada yang saya tambahkan... Idea asalnya ialah paparan dinamik. Masalahnya ialah semasa berkomunikasi dengan sensor suhu DS18B20, detik-detik timbul apabila "pengimbasan" petunjuk berhenti. Oleh itu, kemas kini penunjuk dilakukan bukan dengan gangguan, tetapi dalam gelung program utama, dan juga dimasukkan di sana sini dalam prosedur untuk berkomunikasi dengan sensor... Kelebihan kaedah ini ialah kekerapan kemas kini yang tinggi, yang menghapuskan masalah berkelip.

Saya hampir terlupa - fius untuk operasi normal termometer:

Jadi, kami flash, hidupkan... Hmm... berkesan!!!

Jadi, seperti yang kita lihat, kita mendapat peranti yang agak mudah (berapa lebih mudah???), yang saiznya tidak melebihi saiz penunjuk. Selain itu, ketepatannya juga tinggi: mengikut perihalan penderia - "ketepatan ±0.5°C dari -10°C hingga +85°C". Seperti yang ditunjukkan oleh amalan, ketepatan adalah lebih tinggi - kira-kira ±0.1°C. Saya menyemak 10 salinan dengan termometer makmal yang telah melepasi kawalan metrologi...


26.04.2014
sPlan ialah alat mudah untuk melukis litar elektronik. Ia mempunyai antara muka yang mudah dan intuitif. Program tersebut merangkumi...

Program yang sangat mudah untuk membaca pdf Foxit Reader
26.04.2014
Foxit Reader - Program padat dan pantas untuk membaca fail PDF. Boleh berfungsi sebagai alternatif kepada pemapar PDF yang popular - Adobe Reader....


22.04.2014
Proteus VSM ialah program simulator peranti mikropengawal. Menyokong MK: PIC, 8051, AVR, HC11, ARM7/LPC2000 dan pemproses biasa lain....


01.04.2014
Tapak projek yang telah lama berada dalam keadaan beku, sekali lagi mula berfungsi dengan semangat yang diperbaharui, dengan artikel baru dan...

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM ialah program simulator peranti mikropengawal. Menyokong MK: PIC, 8051, AVR, HC11, ARM7/LPC2000 dan pemproses biasa lain....

Splan 7.0.0.9 Rus + Mudah Alih + Pemapar Akhir
26.04.2014
sPlan ialah alat mudah untuk melukis litar elektronik. Ia mempunyai antara muka yang mudah dan intuitif. Program tersebut merangkumi...

Stesen pematerian digital DIY (ATmega8, C)
27.05.2012
Komposisi: ATmega8, LM358, IRFZ44, 7805, jambatan, 13 perintang, satu potensiometer, 2 elektrolit, 4 kapasitor, tujuh segmen LED tiga digit...

© 2023 skudelnica.ru -- Cinta, pengkhianatan, psikologi, perceraian, perasaan, pertengkaran