Manakah dari pendekatan ini untuk pengatur waktu pengawas?

8

Saya baru-baru ini belajar tentang pengatur waktu pengawas, dan saya mencoba menerapkan satu untuk rangkaian saya untuk tujuan mengatur ulang mikrokontroler (AVR) saya jika hang (yaitu, tidak menanggapi pengawas).

Berdasarkan beberapa penelitian, tampak bagi saya bahwa ada sekitar empat opsi:

  1. Hubungkan mikrokontroler saya dengan IC khusus pengawas waktu khusus .
  2. Hubungkan mikrokontroler saya dengan mikrokontroler tambahan (beberapa sangat mendasar, murah), yang terakhir dikodekan untuk tujuan berdedikasi tunggal pengawas waktu.
  3. Letakkan sirkuit pengawas berbasis timer 555 saya sendiri dan hubungkan ke mikrokontroler saya.
  4. Gunakan kapabilitas pengawas waktu internal pada mikrokontroler saya.

.

Manakah dari pendekatan di atas yang akan Anda peringkat lebih tinggi dan mengapa?

Saya ingin menetapkan waktu pengawas sekitar 6 detik, berdasarkan kriteria tertentu untuk cara saya membuat sisa desain dan kode saya (perangkat akan menjadi baterai, suhu logger berkala bertenaga baterai).

Sedikit catatan : Preferensi saya adalah Opsi 1, untuk kesederhanaan, namun, berdasarkan pada pasangan yang saya temukan, bagian-bagian ini tampaknya mahal (saya ingin solusi di bawah paling banyak 1,25 USD), atau hanya memungkinkan hanya kurang dari 2 detik untuk periode waktu pengawas.

boardbite
sumber
1
4) murah dan sederhana. Apakah keberatan Anda hanya bahwa Anda tidak dapat mengaturnya menjadi 6 detik? Itu cukup lama oleh standar mikrokontroler
pjc50
1
@ pjc50: Pasti murah :) Dan bahkan waktu 6 detik mungkin saya percaya. Namun, artikel seperti ini menunjukkan bahwa pengawas internal mungkin tidak sekuat yang eksternal. Dan alasan untuk 6 kali kedua adalah, pada mikrokontroler saya, saya memiliki bootloader Arduino yang mencakup waktu tunggu 4 detik pada start pertama. (Saya bisa belajar memprogram ulang ini tetapi itu masih dalam kurva belajar saya)
boardbite
1
Anda pasti harus memperbaiki bootloader. Waktu tunggu 4 detik adalah konsumsi baterai 4 detik tambahan yang bisa Anda singkirkan. Alih-alih menunggu, mintalah contohnya pin khusus yang ditarik saat digunakan.
Igor Skochinsky

Jawaban:

14
  1. Lebih mahal, seperti yang sudah Anda ketahui. Tapi itu harus memberi Anda tingkat keandalan tertinggi: karena pengawas benar-benar independen dari mikrokontroler, ia akan tetap berjalan, dan mengatur ulang mikrokontroler ketika yang terakhir terbakar, bisa dikatakan. Lihat 4)
  2. Brian menentangnya, tetapi ada mikrokontroler murah dalam satu paket kecil, seperti PIC10F200 di SOT-23, yang dapat Anda gunakan sebagai MMV yang dapat diperbaiki (monostable multivibrator), yang sebenarnya merupakan pengawas. Jika Anda mempertimbangkan 555, 10F200 lebih baik: tidak ada bagian eksternal, dan waktu yang lebih akurat (akurasi 1%).
  3. a 555? Serius?
  4. Pengawas internal akan melakukannya jika IC khusus terlalu mahal. Jika Anda benar-benar paranoid, Anda bisa memikirkan skenario di mana beberapa kesalahan perangkat keras akan mengunci mikrokontroler dan pengawas dengan itu. Saya tidak pernah tahu ini terjadi, tetapi saya tidak tahu seberapa baik Anda tidur.

Seperti pjc50mengatakan 6 detik adalah waktu yang lama. Sebuah mikrokontroler yang khas akan mengeksekusi puluhan juta instruksi pada waktu itu, dan kemudian banyak kesalahan. Misalkan Anda mengendalikan beberapa beban dengan PWM, dan siklus kerja 10% yang rendah membuat pembuangannya rendah. Mikrokontroler menghasilkan pisang dan output macet pada tingkat tinggi, siklus tugas 100%. Beban tidak menyukainya, dan mati. Anda tidak ingin menunggu 6 detik untuk itu terjadi. Seharusnya ada beberapa bagian dari kode Anda di mana Anda melewatkan lebih banyak frekuensi. Loop utama mungkin sesingkat 10 ms, maka Anda dapat mengatur batas waktu pengawas di 100 ms, misalnya. Jika Anda menendang anjing sekali setiap 10 ms, maka batas waktu berarti Anda melewatkannya 10 kali! Sekali, OK, tapi sepuluh kali bencana, dan Anda harus mengambil tindakan. Beban akan dimatikan setelah 100 ms, bukan 6 detik,

stevenvh
sumber
2
@Nick - Senang Anda menyukainya, tetapi sebenarnya saya memang menghabiskan lebih banyak waktu untuk menulis sisa jawaban :-).
stevenvh
1
Apa yang salah dengan 555 timer? :)
Justin ᚅᚔᚈᚄᚒᚔ
3
@Justin - Ada orang-orang yang beragama 555: Anda bisa menyelesaikan semua masalah dunia dan sebagian lagi dengan 555. Yah, 555 cukup serbaguna, aplikasi tipikal adalah multivibrator yang dapat dimonitor dan astabil, PWM, tapi itu bukan yang terbaik untuk segala sesuatu. Dalam pertanyaan / jawaban ini OP menghabiskan beberapa minggu untuk merancang sirkuit 555 untuk tugas yang tidak dibuat. Pekerjaan yang sama bisa diprogram menjadi mikrokontroler dalam satu jam. Saya tidak mempertanyakan keterampilan OP di sini atau pendekatannya, karena saya mengerti dia harus menggunakan 555 ...
stevenvh
2
Setiap kali seseorang menggunakan kata-kata seperti "mutlak", saya merasa terdorong untuk menemukan contoh tandingan. Dalam hal ini: Mikrokontroler lebih sensitif terhadap sinar kosmik dan radiasi daripada 555, jadi IMO dalam beberapa aplikasi 555 akan lebih disukai dalam hal keandalan.
apalopohapa
2
@apalopohapa - Saya berdiri dikoreksi. Dalam pesawat ruang angkasa 555 mungkin merupakan pilihan yang lebih baik daripada mikrokontroler. Tentu saja, komputer yang terbuat dari 555-an adalah (perkiraan) 15 order besarnya kurang akurat , lebih besar, lebih haus daya, dan tidak begitu mudah diprogram dalam C ++ atau Ada ... :-)
stevenvh
5
  1. Timer Watchdog sederhana, berfungsi, murah. Pilihan luar biasa.
  2. Mikrokontroler tambahan berlebihan. Ini tidak membantu karena Anda harus memprogramnya, itu lebih mahal, lebih banyak area.
  3. Ini masuk akal. Tapi saya akan melakukan 1 sebagai gantinya. Lebih modern.
  4. Saya akan menggunakan ini jika berhasil. Mereka hanya mempertanyakan apakah dapat diatur ke 6 detik.
Brian Carlton
sumber
Terima kasih atas perbandingannya. Satu-satunya hal adalah bahwa # 1 tampaknya tidak murah! Saya belum menemukan IC pengawas waktu-timer dengan penetapan harga kurang dari satu dolar seperti yang saya sebutkan, sedangkan seperti yang mungkin Anda ketahui, ada banyak mikrokontroler (untuk opsi # 2) yang kurang dari USD 0,50.
boardbite
2

Jika sirkuit / perangkat Anda tidak mengendalikan perangkat keras yang sangat penting, Anda mungkin dapat menggunakan pengawas internal. Kalau tidak (atau sebenarnya, bagaimanapun juga) periksa dua artikel hebat dari Jack Ganssle ini:

http://www.ganssle.com/watchdogs.htm

http://www.ganssle.com/articles/watchdogsredux.htm

Ngomong-ngomong, jika Anda tidak bisa menyetel anjing penjaga ke interval yang lama, Anda bisa mencoba pendekatan bangun cukup sering untuk menendang anjing penjaga, tetapi hanya melakukan pengukuran penuh / menulis catatan harian sekali-sekali.

Igor Skochinsky
sumber