Saya menggunakan penghitung waktu 555 untuk sensor / penghitung frekuensi (16bit).
Ini bekerja dengan menghitung jumlah pulsa yang dibaca dalam waktu sampel 125 ms yang ditetapkan oleh penghitung waktu 555; atur ulang & ulangi ...
Saya menggunakan timer dalam operasi astabil.
TH (time pulse high) adalah sinyal ON sampling.
Waktu ini diatur dan dipangkas (+/- 5% rentang penyesuaian) dengan POT berkualitas tinggi.
Tepi jatuh TL (waktu pulsa rendah) memulai pembacaan data-latch -> kemudian operasi reset reset
Saat ini saya memilikinya di papan roti. Saya membuat PCB untuk desain akhir dan saya ingin menyelesaikan masalah berikut untuk desain PCB.
Inilah masalahnya:
Frekuensi yang diukur tidak super stabil (+/- ~ 3Hz @ 25kHz) dan perlu beberapa saat untuk menyelesaikannya.
Saya pikir itu karena waktu sampel semakin dipengaruhi oleh kebisingan pada Vdd rail. Saya memiliki topi decoupling pada semua IC tetapi pada papan roti sehingga ini bisa diharapkan. Untuk tata letak PCB saya ingin memastikan timer 555 pada 5v yang solid dan output converter DCDC stabil.
Berikut adalah beberapa ide yang saya miliki tentang cara melakukan ini.
- Gunakan opamp rail-rail dan referensi 4v7 untuk mengatur Timer Vdd @ 4v7
- Gunakan manik-manik ferit untuk memisahkan Timer dan semua IC lainnya dari satu sama lain.
- Gunakan konverter DCDC terpisah untuk penghitung waktu.
- Gunakan IC regulator linier untuk Timer Vdd.
Manakah dari ini akan menjadi praktik terbaik untuk mengasuransikan nilai Vdd timer konstan?
Jawaban:
Stabilitas jangka pendek terukur Anda adalah sekitar +/- 0,01%, yang tidak buruk untuk timer RC yang tidak dikompensasi.
Anda dapat memperbaikinya dengan menggunakan koefisien dan kapasitor koefisien suhu rendah dalam rangkaian pengaturan waktu, mungkin dengan mem-bypass pin 5 ke ground, dengan mengisolasi sirkuit secara termal dan elektrik, dalam pengontrol suhu yang ekstrem dalam oven, menyalakannya dari baterai dengan baterai. regulator linear kebisingan ultra-rendah dan tahap pengganda kapasitansi, dan menggunakan isolasi-opto pada output.
Tapi itu konyol. Gunakan kristal, mereka murah dan pesanan besarnya lebih baik. Misalnya, kristal 100kHz , osilator ( 74HCU04 + beberapa resistor + penutup beban) dan pembagian-oleh-empat (mis. 74HC74). Toleransi (akurasi absolut) dari kristal tertaut khusus itu adalah +/- 30ppm atau sekitar 0,75Hz dalam 25kHz. Stabilitas jangka pendek akan jauh lebih baik lagi.
Ada juga produk osilator yang dapat diprogram yang dapat Anda pesan, mungkin ada satu dalam kisaran yang berguna untuk Anda.
sumber
Saya tidak berpikir Anda akan pernah mendapatkan akurasi dan stabilitas yang Anda inginkan dari timer 555. Lebar pulsa ditentukan oleh nilai-nilai resistor dan kapasitor, dan nilai-nilai elemen ini akan berubah dengan suhu dan dari waktu ke waktu.
Untuk durasi pulsa yang tepat, Anda harus melihat osilator kristal dengan penghitung digital untuk menghasilkan pulsa yang diinginkan.
sumber
Meskipun saya memiliki banyak kenangan indah menggunakan timer 555, sayangnya, mikrokontroler yang sangat murah dengan kristal hampir selalu menjadi pilihan yang lebih baik untuk timer saat ini.
Seri PIC16 memiliki beberapa anggota yang memiliki rentang tegangan sangat lebar (3,3-18V +) dan tersedia untuk satu dolar dan perubahan.
sumber
Ini lebih merupakan kesimpulan daripada solusi ...
Saya tidak punya cukup waktu untuk merancang sirkuit baru menggunakan kristal, jadi saya membuat PCB dengan perubahan berikut untuk membuatnya lebih baik:
resistor presisi lebih tinggi untuk sirkuit RC. Saya menggunakan toleransi 0,1% ketimbang 1%. Mereka juga memiliki 4x stabilitas suhu.
Regulator tegangan 4v untuk timer 555. Ini mengisolasi rel tegangan 555 dari sisa barang digital dengan faktor 100 (regulasi garis 1%).
Menggunakan pot 5k bukan pot 20k untuk memotong waktu nadi. Mengurangi kesalahan yang disebabkan oleh ketidakstabilan pot.
Output yang disangga untuk sinyal pulsa penghitung waktu 555. Saya menggunakan LT1630 untuk menggerakkan timing timing ke semua gerbang sehingga IC Timer tidak menggerakkan arus apa pun. Input gerbang dapat berinteraksi satu sama lain jika input drive tidak cukup rendah. Saya mendapat ~ 7 input gerbang yang terhubung ke pulsa timing sehingga saya ingin menjamin sinyal yang kuat.
Hasil: Saya mendapatkan akurasi sekitar ~ .04% (nilai 1 toggle @ ~ 2500dec di bus). Untuk sirkuit pertama saya mendapatkan sekitar 0,5% akurasi (akurasi yang saya posting awalnya salah) dan nilainya terus melayang. Sirkuit baru tidak memiliki arus yang terlihat. Jadi sebagai kesimpulan menggunakan komponen kualitas yang lebih baik saya meningkatkan akurasi hingga ~ 10x dan membuatnya stabil dan benar-benar dapat digunakan.
Saya tahu ini bukan metode terbaik atau bahkan paling sederhana untuk membuat penghitung frekuensi tetapi murah dan efektif. Saya mungkin akan menggunakannya lagi ketika saya perlu melakukan pengukuran frekuensi kasar.
Nilai dibaca oleh port DB25 dengan 8bits Hi / Lo pilih. LED hanya untuk debugging. Saya selalu menambahkan LED di mana pun itu bisa membuat hidup saya lebih mudah.
sumber