Saya sedang mengerjakan proyek ATMega yang akan menjaga waktu dan saya mencoba membuatnya sehingga Anda memiliki pilihan untuk waktu perangkat lunak (berbasis millis ()), DS1307, atau DS3231 (ChronoDot) RTC.
Yang paling mendasar, yang ingin saya lakukan adalah memiliki header untuk ChronoDot yang tersedia untuk disolder dan entah bagaimana dalam perangkat lunak mendeteksi apakah ChronoDot terpasang dan beralih untuk menggunakannya. Biasanya cukup mudah untuk memeriksa apakah DS1307 atau DS3231 hadir karena mereka menggunakan register I2C yang sama, tetapi setelah pemeriksaan awal mereka sedikit menyimpang satu sama lain dan yang terakhir memiliki lebih banyak fitur. Jadi saya masih ingin menentukan yang terhubung. Secara umum, saya berencana memiliki tempat langsung untuk menyolder di DS1307 sebagai opsi default dan dukungan DS3231 akan dengan ChronoDot lengkap hanya melalui header 4 pin ganda. ChronoDot pada dasarnya akan sesuai dengan tempat di mana DS1307 biasanya pergi (tidak akan dihuni dalam kasus ini). Alasan utama saya berfokus pada ChronoDot secara khusus adalah karena ' populer, mudah didapat dan tidak memerlukan solder SMD untuk pengguna akhir (ini jika untuk kit). Jadi, inilah yang saya pikirkan ...
Baik DS1307 dan DS3231 memiliki garis Vbat pada chip, tetapi tidak benar-benar diperlukan untuk apa pun. Namun, ChronoDot memiliki pin VBat yang sebenarnya di papan breakout. Saya mungkin hanya bisa menghubungkan Vbat dari header ChronoDot dan bukan DS1307 dan menghubungkannya ke pin input digital pada ATMega saya. Tetapi apakah pin input ditarik ke tanah oleh resistor (tidak benar-benar yakin apa nilai ... mungkin 4.7k?). Jika teori EE saya benar maka saya dapat membaca pin itu dan jika saya mendapatkan rendah, tidak ada chronodot tetapi jika saya mendapatkan tinggi, ada.
Sesuatu seperti ini:
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Pertanyaan utama saya di sini adalah apakah melakukan ini hanya akan menghabiskan baterai cadangan pada RTC? Biasanya tidak akan ada arus yang diambil dari baterai cadangan sementara daya utama, 5V, disediakan tetapi apakah menghubungkan ini ke input digital membuatnya menarik daya dari baterai sepanjang waktu? Atau, apakah ada mode yang perlu saya masukkan pin setelah membaca darinya untuk "memutuskan", jadi untuk berbicara? Saya tahu saya bisa mengubahnya ke output, tapi saya percaya bahwa jika itu ditetapkan sebagai output dan rendah saya pada dasarnya akan membumikan baterai.
Bagaimanapun, kursus EE saya sudah lama sekali. Setiap bantuan teori di sini akan dihargai.