Daftar Isi:
- Langkah 1: Langkah 1: Skema
- Langkah 2: Langkah 2: Prototipe papan tempat memotong roti
- Langkah 3: Langkah 3: Konstruksi Akhir
- Langkah 4: Langkah 4: Membuat Soket untuk Tampilan dan Memberikannya Kaki
- Langkah 5: Langkah 5: Memeriksa Pengkabelan Papan Sirkuit dan Mempersiapkan Kalibrasi
- Langkah 6: Langkah 6: Kalibrasi Sirkuit
- Langkah 7: Langkah 7: Program Arduino
- Langkah 8: Langkah 8: Penawaran PCBWay
Video: Jam Arduino 60Hz: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Jam digital berbasis Arduino ini disinkronkan dengan saluran listrik 60Hz. Ini memiliki tampilan 4 digit 7 segmen anoda umum yang sederhana dan murah yang menunjukkan jam dan menit. Ini menggunakan detektor silang untuk mendeteksi ketika gelombang sinus 60Hz yang masuk melintasi titik tegangan nol dan menghasilkan gelombang persegi 60 Hz.
Selama periode waktu yang singkat, frekuensi gelombang sinus yang masuk dari saluran listrik mungkin sedikit berbeda karena beban, tetapi dalam jangka waktu yang lama rata-ratanya mencapai 60Hz dengan sangat tepat. Kita dapat memanfaatkan ini untuk mendapatkan sumber waktu untuk menyinkronkan jam kita.
Langkah 1: Langkah 1: Skema
Ada dua versi sirkuit tergantung pada apakah Anda ingin menggunakan transformator dengan keran tengah atau tanpa, dalam kedua kasus operasi sirkuit hampir identik. Untuk build ini saya menggunakan adaptor dinding (tanpa center tap) yang menghasilkan 12V AC. Saya akan menggunakan desain ini (Digital Clock1 Circuit Diagram) untuk deskripsi rangkaian. Perhatikan bahwa penting untuk menggunakan adaptor dinding yang mengeluarkan 12V AC bukan 12V DC sehingga kita dapat memanfaatkan gelombang sinus AC untuk pengaturan waktu. Anda mungkin juga dapat menggunakan transformator yang menghasilkan 9V AC, melepas R19 dan membuatnya berfungsi juga, tetapi 12V sangat umum tersedia. Ini adalah cara kerja sirkuit:
120V AC pada 60Hz diubah menjadi 12V AC oleh trafo TR1. Ini diumpankan ke dioda D4 dan disearahkan sehingga hanya tegangan +ve yang diumpankan ke, dan dihaluskan hingga mendekati DC dengan riak, oleh kapasitor C3. Tegangan pada C3 diumpankan ke regulator tegangan 7805 (U6) melalui resistor R19. R19 digunakan untuk mengurangi tegangan pada C3 yang dalam kasus saya diukur sekitar 15VDC. Ini dapat diatur oleh 7805 tetapi dengan tingkat input ini, 7805 harus turun sekitar 10VDC dan akibatnya menjadi cukup panas. Dengan menggunakan R19 untuk menurunkan tegangan hingga sekitar 10VDC, kami mencegah U6 menjadi terlalu panas. Jadi ini bukan teknik konversi daya yang efisien, tetapi ini berfungsi untuk tujuan kita. CATATAN: gunakan setidaknya resistor 1/2W atau lebih di sini. Rangkaian menarik sekitar 55 ma, jadi disipasi daya di R19 adalah sekitar 1/3W berdasarkan P=I**2*R atau P = 55ma x 55ma x 120 ohm = 0,363W. Selanjutnya U6 mengeluarkan DC 5V murni dengan C4 dan C5 pada output untuk menyaring kebisingan apa pun pada saluran listrik 5V. DC 5V ini memberi daya pada semua IC di papan. Dari TR1 kami juga mengambil sampel sinyal AC tanpa filter dan memasukkannya ke potensiometer RV1 yang digunakan untuk mengatur level yang diumpankan ke detektor cross over. R18 dan R17 membentuk pembagi tegangan untuk lebih mengurangi level tegangan AC yang masuk. Ingat ini masuk pada 12V AC dan kita perlu menguranginya menjadi kurang dari 5 V sehingga akan bekerja dengan detektor cross over kita yang hanya didukung oleh 5VDC. R15 dan R16 memberikan pembatasan arus sementara D1 dan D2 dimaksudkan untuk mencegah overdriving op-amp U5. Pada konfigurasi yang ditunjukkan output U5 pada pin 1 akan bergantian antara +5V dan 0V setiap kali gelombang sinus yang masuk berubah dari positif ke negatif. Ini menghasilkan gelombang persegi 60 Hz yang diumpankan ke mikrokontroler, U4. Program yang dimuat pada U4 kemudian menggunakan gelombang persegi 60Hz ini untuk meningkatkan jam setiap menit dan jam. Bagaimana ini dilakukan akan dibahas di bagian program perangkat lunak dan di komentar perangkat lunak. U7 register geser 74HC595 digunakan karena kami memiliki jumlah pin digital yang terbatas pada mikroprosesor, sehingga digunakan untuk memperluas jumlah output. Kami menggunakan 4 pin digital pada mikroprosesor tetapi dapat mengontrol 7 segmen pada layar melalui 74HC595. Hal ini dicapai dengan menggeser pola bit yang telah ditentukan sebelumnya, disimpan dalam mikrokontroler, dan yang mewakili setiap digit yang akan ditampilkan, ke dalam register geser. Tampilan yang digunakan di sini adalah anoda umum, jadi kita perlu membalikkan level sinyal yang keluar dari 74HC595 untuk mengaktifkan segmen. Ketika sebuah segmen harus dihidupkan, sinyal yang keluar dari pin keluaran 74HC595 akan berada pada +5V, tetapi kita membutuhkan pin yang diumpankan pada layar berada pada 0V untuk mengaktifkan segmen tampilan itu. Jadi untuk melakukan ini kita membutuhkan inverter hex U2 dan U3. Sayangnya satu IC inverter hanya bisa menangani 6 inversi sehingga kita membutuhkan dua buahnya meskipun pada yang kedua kita hanya menggunakan salah satu dari 6 gerbang tersebut. Sial sayangnya. Anda mungkin bertanya mengapa tidak menggunakan tampilan jenis katoda umum di sini dan menghilangkan U2 dan U3? Jawabannya adalah Anda bisa, kebetulan saya memiliki jenis anoda yang sama di pasokan suku cadang saya. Jika Anda memiliki atau ingin menggunakan tampilan tipe katoda umum, hilangkan saja U2 dan U3 dan rewire Q1 - Q4 sehingga kolektor transistor terhubung ke pin display dan emitor transistor terhubung ke ground. Q1 - Q4 mengontrol mana dari empat tampilan 7-segmen yang aktif. Ini dikendalikan oleh mikrokontroler, melalui pin yang terhubung ke basis transistor Q1 - Q4. Tombol kenaikan dan setel akan digunakan untuk secara manual mengatur waktu jam yang benar ketika benar-benar menggunakan jam. Ketika tombol Set ditekan sekali, tombol Increment dapat digunakan untuk melewati jam-jam yang ditampilkan di layar. Saat tombol Set ditekan lagi, tombol kenaikan dapat digunakan untuk menelusuri menit yang ditampilkan di layar. Ketika tombol Set ditekan untuk ketiga kalinya, waktu diatur. R13 dan R14 menarik pin mikrokontroler yang terkait dengan tombol ini rendah saat tidak digunakan. Perhatikan bahwa di sini kami telah mengambil U4 (Atmega328p) dari papan prototipe Arduino UNO yang khas dan meletakkannya di papan prototipe dengan sisa sirkuit kami. Untuk melakukan ini minimal kita harus menyediakan kristal X1 dan kapasitor C1 dan C2 untuk menyediakan sumber clock untuk mikrokontroler, tie pin 1, pin reset, high dan memberikan daya 5VDC.
Langkah 2: Langkah 2: Prototipe papan tempat memotong roti
Terlepas dari apakah Anda sedang membangun sirkuit persis seperti yang ditunjukkan pada diagram sirkuit atau mungkin menggunakan trafo, jenis tampilan, atau komponen lain yang sedikit berbeda, Anda harus membuat papan tempat memotong roti terlebih dahulu untuk memastikannya berfungsi dan Anda memahami cara kerjanya.
Dalam gambar Anda dapat melihat bahwa papan tempat memotong roti semuanya membutuhkan beberapa papan serta papan Arduino Uno. Jadi untuk memprogram mikrokontroler atau bereksperimen atau membuat perubahan pada perangkat lunak, pada awalnya Anda memerlukan IC mikrokontroler pada papan UNO sehingga Anda dapat menghubungkan kabel USB ke sana dan komputer Anda untuk mengunggah program atau membuat perubahan perangkat lunak. Setelah jam bekerja di papan tempat memotong roti dan mikrokontroler Anda diprogram, Anda dapat mencabutnya dan mencolokkannya ke soket pada jam permanen final Anda di papan prototipe. Pastikan untuk mengikuti tindakan pencegahan anti-statis saat Anda melakukan ini. Gunakan gelang antistatis saat menangani mikroprosesor.
Langkah 3: Langkah 3: Konstruksi Akhir
Sirkuit dibangun di atas papan prototipe dan kabel titik ke titik menggunakan kawat pembungkus kawat #30 AWG. Ini memberikan hasil yang tangguh dan dapat diandalkan. Karena transformator yang saya miliki memiliki steker 5mm jantan di ujung kabel, saya memasang wadah betina yang sesuai di bagian belakang papan dengan memotong, menekuk, dan mengebor sepotong strip aluminium datar lebar 1/2 untuk membuat kustom braket dan kemudian dibaut ke papan dengan mur dan baut kecil 4-40. Anda bisa memotong konektor dan menyolder kabel daya yang tersisa ke papan dan menghemat waktu sekitar 20 menit kerja, tetapi saya tidak ingin trafo terpasang secara permanen ke papan.
Langkah 4: Langkah 4: Membuat Soket untuk Tampilan dan Memberikannya Kaki
Karena layar memiliki 16 pin, masing-masing 8 pin, dengan jarak pin yang lebih lebar dari soket IC 16 pin standar, kita perlu menyesuaikan ukuran soket agar sesuai dengan tampilan. Anda dapat melakukan ini hanya dengan menggunakan sepasang pemotong kawat untuk memotong plastik yang menghubungkan kedua sisi soket, memisahkannya dan menyoldernya secara terpisah ke papan dengan jarak yang sesuai dengan jarak pin pada layar. Hal ini menguntungkan untuk melakukan ini sehingga Anda tidak perlu menyolder langsung ke pin layar dan memaparkan layar ke panas yang berlebihan. Anda dapat melihat soket yang telah saya lakukan ini di bagian atas papan pada gambar di atas.
Agar tampilan berdiri dengan benar, saya memasang dua baut 1 ke dua lubang sudut bawah papan prototipe seperti yang ditunjukkan pada foto untuk membuat dudukan sederhana. Ini cukup miring, jadi jika Anda melakukan ini, Anda mungkin ingin meletakkan sesuatu yang berat di belakang baut untuk menstabilkannya.
Langkah 5: Langkah 5: Memeriksa Pengkabelan Papan Sirkuit dan Mempersiapkan Kalibrasi
Setelah papan sirkuit disambungkan tetapi sebelum mencolokkan IC atau menampilkan atau menyalakannya, ada baiknya untuk memeriksa koneksi papan dengan DVM. Anda dapat mengatur sebagian besar DVM agar berbunyi bip saat ada kontinuitas. Atur DVM Anda dalam mode ini dan kemudian ikuti diagram sirkuit Anda, periksa sebanyak mungkin koneksi sirkuit. Periksa sirkuit terbuka, atau dekat dengannya, antara +5V dan titik Ground. Periksa secara visual bahwa semua komponen terhubung ke pin yang benar.
Selanjutnya hubungkan transformator Anda ke sirkuit dan nyalakan. Periksa apakah Anda memiliki tepat 5V DC pada rel daya 5V dengan cakupan atau DVM sebelum Anda mencolokkan IC atau layar apa pun. Selanjutnya tancapkan HANYA IC Op-Amp U5 sebagai persiapan untuk langkah selanjutnya. Di sini kita akan memeriksa bahwa rangkaian cross over kita menghasilkan gelombang persegi dan menyesuaikan potensiometer RV1 untuk sinyal 60 Hz yang bersih.
Langkah 6: Langkah 6: Kalibrasi Sirkuit
Satu-satunya kalibrasi yang harus dilakukan adalah menyesuaikan potensiometer RV1 untuk tingkat sinyal yang benar yang mengumpankan detektor silang. Ada dua cara untuk melakukannya:
1. Letakkan probe scope pada pin 1 dari U5 dan pastikan untuk menghubungkan kabel ground probe scope ke ground sirkuit. Selanjutnya sesuaikan RV1 sampai Anda memiliki gelombang persegi yang bersih seperti yang ditunjukkan pada gambar di atas. Jika Anda menyesuaikan RV1 terlalu jauh dengan satu atau lain cara, Anda tidak akan memiliki gelombang persegi atau gelombang persegi yang terdistorsi. Pastikan frekuensi gelombang persegi adalah 60 Hz. Jika Anda memiliki ruang lingkup modern, itu mungkin akan memberi tahu Anda frekuensinya. Jika Anda memiliki lingkup kuno seperti yang saya lakukan maka pastikan periode gelombang persegi kira-kira 16,66 ms atau 1/60 detik. 2. Menggunakan penghitung frekuensi atau DVM dalam mode Frekuensi, ukur frekuensi pada Pin 1 dari U5 dan sesuaikan RV1 untuk tepat 60 Hz. Setelah kalibrasi ini selesai, matikan sirkuit dan colokkan semua IC dan layar untuk menyelesaikan konstruksi sirkuit.
Langkah 7: Langkah 7: Program Arduino
Program ini sepenuhnya dikomentari sehingga Anda dapat mengetahui detail setiap langkah. Karena kerumitan program, sulit untuk menggambarkan setiap langkah, tetapi pada tingkat yang sangat tinggi, inilah cara kerjanya:
Mikroprosesor menerima gelombang persegi 60 Hz yang masuk dan menghitung 60 siklus dan menambah hitungan detik setelah setiap 60 siklus. Setelah hitungan detik mencapai 60 detik, atau 3600 siklus, hitungan menit bertambah dan hitungan detik diatur ulang ke nol. Setelah hitungan menit mencapai 60 menit, hitungan jam bertambah dan hitungan menit disetel ulang ke nol. hitungan jam disetel ulang ke 1 setelah 13 jam, jadi ini adalah jam 12 jam. Jika Anda ingin jam 24 jam hanya mengubah program untuk mengatur ulang jam ke nol setelah 24 jam. Ini adalah proyek eksperimental, jadi saya mencoba menggunakan loop Do-While untuk menekan tombol bouncing pada tombol Set dan Increment. Ini bekerja dengan cukup baik. Ketika tombol Set ditekan sekali, tombol Increment dapat digunakan untuk menelusuri jam-jam yang ditampilkan di layar. Saat tombol Set ditekan lagi, tombol kenaikan dapat digunakan untuk menelusuri menit yang ditampilkan di layar. Ketika tombol Set ditekan untuk ketiga kalinya, waktu diatur dan jam mulai berjalan. Pola 0 dan 1 yang digunakan untuk menampilkan setiap angka pada tampilan 7-segmen disimpan dalam larik yang disebut Seven_Seg. Tergantung pada waktu jam saat ini, pola ini diumpankan ke IC 74HC595 dan dikirim ke layar. Manakah dari 4 digit tampilan yang dihidupkan pada satu waktu untuk menerima data ini dikendalikan oleh mikroprosesor melalui tampilan Dig 1, 2, 3, 4 pin. Saat rangkaian dinyalakan, program pertama-tama menjalankan tes rutin yang disebut Test_Clock yang mengirimkan digit yang benar untuk menerangi setiap tampilan dengan hitungan dari 0 hingga 9. Jadi jika Anda melihat ini saat menyalakan, Anda tahu bahwa Anda telah membuat semuanya dengan benar.
Langkah 8: Langkah 8: Penawaran PCBWay
Itu mengakhiri posting ini, tetapi sponsor proyek ini adalah PCBWay yang pada saat itu merayakan ulang tahun ke-5 mereka. Lihat di https://www.pcbway.com/anniversary5sales.html dan jangan lupa layanan perakitan mereka sekarang serendah $30.
Direkomendasikan:
Cara Membuat Jam Analog & Jam Digital Dengan Led Strip Menggunakan Arduino: 3 Langkah
Cara Membuat Jam Analog & Jam Digital Dengan Led Strip Menggunakan Arduino : Hari ini kita akan membuat Jam Analog & Jam digital dengan modul Led Strip dan MAX7219 Dot dengan Arduino. Ini akan mengoreksi waktu dengan zona waktu lokal. Jam Analog bisa menggunakan strip LED yang lebih panjang, sehingga bisa digantung di dinding menjadi karya seni
Jam Jaringan ESP8266 Tanpa RTC - Nodemcu NTP Jam Tidak Ada RTC - PROYEK JAM INTERNET: 4 Langkah
Jam Jaringan ESP8266 Tanpa RTC | Nodemcu NTP Jam Tidak Ada RTC | INTERNET CLOCK PROJECT : Pada project ini akan dibuat project clock tanpa RTC, akan memakan waktu dari internet menggunakan wifi dan akan ditampilkan pada layar st7735
Membuat Jam Dengan M5stick C Menggunakan Arduino IDE - Jam Waktu Nyata RTC Dengan M5stack M5stick-C: 4 Langkah
Membuat Jam Dengan M5stick C Menggunakan Arduino IDE | Jam Waktu Nyata RTC Dengan M5stack M5stick-C: Hai teman-teman dalam instruksi ini kita akan belajar cara membuat jam dengan papan pengembangan m5stick-C dari m5stack menggunakan Arduino IDE. Jadi m5stick akan menampilkan tanggal, waktu & minggu dalam sebulan di layar
Jam Digital Arduino Disinkronkan dengan Power Line 60Hz: 8 Langkah (dengan Gambar)
Jam Digital Arduino Disinkronkan dengan Saluran Listrik 60Hz: Jam digital berbasis Arduino ini disinkronkan dengan saluran listrik 60Hz. Ini memiliki tampilan 4 digit 7 segmen anoda umum yang sederhana dan murah yang menunjukkan jam dan menit. Ini menggunakan detektor cross over untuk mendeteksi ketika gelombang sinus 60Hz masuk
Jam Digital 12 Jam Menggunakan Arduino: 3 Langkah
Jam Digital 12 Jam Menggunakan Arduino: Ini adalah proyek berbasis papan tempat memotong roti yang menggunakan Atmel Atmega 2560 (Arduino Mega) dan Layar LCD 16x2 untuk membuat jam digital 12 jam tanpa perlu periferal tambahan. Kami juga dapat mengatur dan memodifikasi waktu dengan bantuan dua tombol tekan. Seluruh