Sirkuit Timer Hitung Mundur 6 Bulan

8

Saya perlu merancang rangkaian waktu. Setelah durasi 6 bulan, LED harus menyala. LED kemudian dapat dimatikan dengan menekan tombol dan hitungan mundur 6 bulan harus dimulai lagi. Adakah yang tahu di mana saya akan mulai? Apakah timer 555 mampu melakukan sesuatu untuk jangka waktu ini atau apakah saya perlu yang lain? Bantuan apa pun akan sangat dihargai ..

[ditambahkan] itu akan digunakan sebagai pengingat untuk mengubah filter air sehingga harus dimatikan baterai kecil .. sesuatu yang kecil, mudah diatur dan dengan konsumsi arus yang rendah juga akan berguna..setiap bantuan dihargai .. terima kasih untuk input sebelumnya ..


sumber
7
Apakah ini harus portabel, atau akankah dihubungkan ke suplai AC? Jika demikian, Anda dapat menghitung 60 (atau 50) persimpangan Hz, yang sangat akurat dalam jangka panjang.
tcrosley
1
Jangan mencoba menggunakan catu daya AC - Anda tidak dapat mengandalkan daya yang bertahan selama 6 bulan berturut-turut tanpa mengambil tindakan luar biasa.
Michael Kohne
1
Saya telah melihat aplikasi ini digunakan dalam filter air untuk mengingatkan Anda ketika filter perlu diganti. Mereka dapat berjalan selama bertahun-tahun tanpa harus mengganti baterai jadi saya menganggap mereka mampu melakukannya dengan sangat mudah.
Kellenjb
3
@Vincent Conlon: Presisi apa yang Anda butuhkan? Dalam contoh filter air, saya yakin ketepatannya mengerikan, tetapi saya tidak berpikir ada yang peduli jika Anda diberitahu seminggu lebih awal atau lebih lambat.
Kellenjb

Jawaban:

8

Berdasarkan jawaban ini , saya pikir 555 tidak akan berfungsi. Anda akan membutuhkan kapasitor besar dan resistor besar, dan akurasinya akan mengerikan.

Saya akan merekomendasikan menggunakan mikrokontroler 8-bit yang paling sederhana. Anda harus menangani angka-angka dengan hati-hati, tetapi PIC16F84A (atau Arduino, atau banyak perangkat serupa lainnya) dapat melakukannya. Saya mungkin mengatur timer 1 detik, dan kemudian menghitung 15778463 timer kedaluwarsa, menyimpan hitungan dalam variabel 32-bit. (Untuk variabel Arduino 32-bit, lihat http://www.arduino.cc/en/Reference/Double )

pingswept
sumber
2
Um ... double? Salah. Maksud Anda long, atau lebih disukai int32_t.
Nick T
8
AH, kamu benar. Kasar, tapi benar.
pingswept
12
Um ... int32_t? Salah. Maksud Anda uint32_t, kecuali Anda mengharapkan waktu untuk mundur juga.
Toby Jaffey
1
@Nick sementara secara teknis benar sebagian besar implementasi C pada 8-bit mikro-controller tidak mengikuti ansi jenis promosi yang ditentukan. Mereka sering hanya menggunakan tipe terbesar dalam pernyataan.
Markus
1
Ingatlah bahwa tanpa RTC atau osilator eksternal, keakuratannya di sini akan cukup buruk, terutama dalam jangka waktu yang lama. Dan jangan lupa untuk menulis hitungan saat ini secara berkala ke EEPROM!
Nick Johnson
6

Pertama, ini adalah proyek kecil yang menarik, tetapi Anda benar-benar menggunakan alat yang salah. Ini adalah sesuatu yang telah dipecahkan sejak berabad-abad menggunakan alat yang dikenal sebagai agenda.

Jadwal acara

Mari kita lakukan secara elektronik, hanya untuk bersenang-senang. Anda tampaknya tidak membutuhkan akurasi yang sangat tinggi; tidak masalah jika filter diganti sehari lebih awal atau lebih lambat (sehari dalam 6 bulan adalah akurasi 0,5%). Saya membuat catatan bahwa baterai harus habis, sehingga harus benar-benar berdaya rendah.

Saya akan mulai dengan mengubah persyaratan . Anda ingin LED sebagai indikator, tetapi perangkat Anda harus agak mencolok hadir di ruang tamu jika Anda ingin memastikan untuk melihat LED yang menyala, bahkan ketika berkedip. (Mari kita perhatikan bahwa flashing mungkin diperlukan untuk menghindari baterai terkuras sebelum LED diketahui; setelah semua LED dapat menyala hanya setelah Anda pergi tidur.)
Saya akan menggunakan buzzer daripada LED . Dan untuk mencegah bel berbunyi di tengah malam, kita perlu menjaga waktu yang akurat yang juga akan memberi tahu kita waktu hari. Itu berarti 555 keluar, dan kita harus bergantung pada mikrokontroler. Sebuah mikrokontroler kecil berharga kurang dari 50 sen, dan berjalan pada kristal 32,768 kHz tidak banyak memakan (untuk satu proyek saya menggunakan MSP430F1101 yang mengkonsumsi kurang dari 4μA), dan memiliki akurasi menit selama beberapa bulan.
Tapi itu berarti Anda harus berhati-hati saat Anda memulai timer Anda, dan itu tidak sangat ramah pengguna.
Masukkan penerima jam atom . DCF77 di Eropa dan WWVB di waktu siaran Amerika Utara sebagai pulsa 1 detik. Mikrokontroler dapat berjalan pada jam RC internal (tidak harus seakurat itu) dan menjaga waktu berdasarkan kode waktu yang diterima. Untuk menghemat daya, Anda dapat membuat penerima jam atom membangunkan mikrokontroler pada setiap 1 detik pulsa, sehingga pengontrol dapat memperbarui waktu dan tanggal, dan kembali tidur. Anda dapat memprogram mikrokontroler untuk memberikan sinyal pada pukul 14:00 pada hari Sabtu pertama setelah waktu habis, misalnya.

Lalu ada catu daya . Solusi mikrokontroler hanya perlu beberapaμA, jadi sel lithium CR3032 (bagus untuk 500mAh) dapat bertahan beberapa tahun. Tetapi waktu antara peristiwa sangat lama sehingga akhirnya baterai akan menyerah setengah periode 6 bulan, dan penggantian filter-jatuh tempo akan berlalu tanpa diketahui.
Saya akan menyarankan perangkat bertenaga listrik , menggunakan transformator kecil; Saya punya banyak 6V, 0.35VA transformer untuk produk kecil semacam ini. Karena periode panjang seperti 6 bulan tidak menjamin bahwa tidak akan ada pemadaman listrik, Anda akan memerlukan baterai / kapasitor cadangan . Di sini, di Belgia kami memiliki pemadaman listrik kurang dari 1 dalam 2 tahun rata-rata, yang terlama yang saya alami bertahan 2 jam. Saya tidak akan menggunakan baterai, setidaknya bukan sel primer. Isi ulang bisa digunakan, tapi mari gunakan supercap saja. A 0.μPerangkat berjalan lebih dari 24 jam. Mikrokontroler dapat memonitor daya hantaran listrik, sehingga, jika batas waktu 6 bulan akan terjadi selama pemadaman listrik, mikrokontroler dapat menunda sinyal sampai daya pulih.

Untuk aplikasi yang membutuhkan sedikit interaksi pengguna, masih berguna untuk memiliki semacam umpan balik . Anda dapat mem-flash LED sekali setiap detik untuk menunjukkan bahwa timer sedang berjalan, dan jika Anda ingin membuatnya menjadi versi mewah dapat menampilkan sisa hari dihitung pada LCD tiga digit atau layar LED.


sunting (komentar re Ben)
Di masa lalu saya menggunakan modul penerima DCF77 kecil ini dari Conrad .

modul dcf77

Saya tinggal di Eropa, maka DCF77, untuk WWVB (Amerika Utara) modul serupa ada.
Koneksi hanyalah catu daya (1.2V ke 15V) dan 2 output DCF77, satu non-terbalik, satu terbalik. Outputnya adalah kolektor terbuka, jadi dengan pull-up yang tepat cocok untuk tegangan apa pun yang dijalankan oleh mikrokontroler.


Bacaan lebih lanjut:

stevenvh
sumber
Pendekatan yang bagus, tetapi ada penghilangan mencolok yang sangat besar ketika datang ke perangkat keras yang Anda gunakan untuk menerima siaran timestamp.
Ben Voigt
@ Ben - cukup adil. Ditambahkan ke jawaban saya.
stevenvh
Tautan Anda untuk "modul serupa" sudah mati. Bisakah Anda memberikan nomor model dan / atau memperbarui tautan Anda?
bcsteeve
6

Arduino (atau mikrokontroler lainnya) dengan IC real-time clock DS3231 super akurat . Ketika tombol ditekan, waktu dan tanggal disimpan dalam memori - MCU dapat berputar memeriksa tanggal dan waktu dan mematikan ketika siap; atau ketika tombol ditekan itu me-restart dll.

stevenvh
sumber
1
+1 RTC pasti. DS3234 jika Anda lebih suka menggunakan SPI daripada I2C.
Craig
Itu adalah chip yang hebat. Biarkan ia melacak semua penghitungan dan waktu yang membosankan untuk Anda. Jauh lebih mudah daripada menghitung pulsa dan melakukan semua konversi ke waktu nyata.
captncraig
2 ppm memang bagus, tapi berlebihan. Kristal standar 20 ppm dapat digunakan di sini: Saya kira menit yang tepat untuk mengganti filter air itu penting (asalkan tidak di tengah malam).
stevenvh
4

Bagian yang rumit akan menjadi presisi selama interval waktu yang begitu besar.

Anda mungkin ingin mempertimbangkan osilator kristal dikombinasikan dengan kaskade biner counter. Lihat 4060 lembar data untuk contoh.

mouviciel
sumber
4

Saya pikir Anda harus menggunakan timer 555 ke waktu untuk interval 16 menit, dan kemudian memasukkannya ke dalam rangkaian penghitung untuk membaginya. Penghitung 14-bit akan membuat interval sekitar 6,06 bulan.

Thomas O
sumber
3
Anda tidak harus menggunakan 555 dengan jangka waktu 16 menit; lebih baik untuk membuat dua counter dan menjalankan 555 pada frekuensi yang lebih waras (kHz atau lebih). Lebih baik tidak menggunakan 555 sama sekali jika Anda sangat memperhatikan toleransi.
Nick T
A CMOS 555 akan mudah dijalankan selama berjam-jam. OP tampaknya menyarankan akurasi bukan masalah.
Thomas O
Bahkan jika akurasi bukan masalah, 555 yang berjalan dalam rentang waktu yang lama akan sangat tidak akurat sehingga menjadikannya pada dasarnya waktu yang sewenang-wenang. Saya suka solusi MSP430 jauh lebih baik, murah dan kristal yang disediakan akan cukup akurat selama rentang waktu yang diperlukan.
ttt