Daftar Isi:
- Langkah 1: Diagram Sirkuit
- Langkah 2: Breadboard Sirkuit Anda
- Langkah 3: Konstruksi Sirkuit pada Protoboard
- Langkah 4: Membuat Soket untuk Tampilan dan Memberikannya Kaki
- Langkah 5: Memeriksa Pengkabelan Papan Sirkuit dan Mempersiapkan Kalibrasi
- Langkah 6: Kalibrasi Sirkuit
- Langkah 7: Program Arduino
- Langkah 8: Daftar Bagian
Video: Jam Digital Arduino Disinkronkan dengan Power Line 60Hz: 8 Langkah (dengan Gambar)
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: Diagram Sirkuit
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: Breadboard Sirkuit Anda
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: Konstruksi Sirkuit pada Protoboard
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: 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: 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: 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: 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: Daftar Bagian
1 - Transformer 120VAC ke 12VAC kira-kira 100mA atau lebih1 - Papan prototipe kira-kira 3,5" x 3,5"1 - 4 digit tampilan 7 segmen YSD-439K2B-35 atau setara (Sparkfun)2 - Tombol tekan dudukan PCB kecil NO (apa saja)4 - 2N3904 Transistor NPN8 - resistor 330 ohm2 - 74LS04 Inverter hex1 - 74HC595 serial ke paralel 8 bit register geser 1 - LM358 OP-AMP (Pembanding)1 - Mikrokontroler ATMEGA328P (Creatron)4 - resistor 4.7K7 - resistor 10K1 - 1N4007 atau dioda 1N40012 - 1N4148 dioda1 - 120 ohm, resistor 1/2W atau 1W1 - dudukan PCB potensiometer 10K1 - 470uF kapasitor 25V1 - 7805 TO220 paket pengatur tegangan1 - 10uF 10V kapasitor2 - 0,1 uF 10V kapasitor1 - kristal 16MHz (Sparkfun)2 - kapasitor 22pF1 - Soket listrik perempuan (Opsional untuk memasang steker laki-laki jika ada di trafo dinding Anda) Soket IC 2 - 16 pin 2 - Soket IC 14 pin1 - Soket IC 8 pin1 - Soket IC 28 pin2 - 1" panjang kira-kira #4 atau #6 baut dan mur yang cocok2 - 1/ 4" panjang #4-40 baut dan mur yang cocok1 - potongan strip aluminium datar lebar 1/2" yang dipotong khusus dan dibor sesuai ukuran
#30 AWG wire wrap wire#22 AWG wireSolder
Direkomendasikan:
Pertunjukan Cahaya Natal yang Disinkronkan dengan Musik!: 4 Langkah
Pertunjukan Cahaya Natal yang Disinkronkan dengan Musik!: Dalam instruksi ini, saya akan menunjukkan kepada Anda bagaimana membuat pertunjukan cahaya Natal disinkronkan dengan musik Natal menggunakan piksel RGB. Jangan biarkan nama itu membuat Anda takut! Tidak terlalu sulit untuk mempelajari cara melakukannya. Saya akan memperingatkan Anda bahwa ini bisa sangat
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: 11 Langkah (dengan Gambar)
Jam Animasi LED SMART yang Terhubung ke Web Dengan Panel Kontrol Berbasis Web, Server Waktu Disinkronkan: Kisah jam ini kembali ke masa lalu - lebih dari 30 tahun. Ayah saya mempelopori ide ini ketika saya baru berusia 10 tahun, jauh sebelum revolusi LED - kembali ketika LED di mana 1/1000 kecerahan kecemerlangan menyilaukan mereka saat ini. Benar
DIY MusiLED, LED Musik yang Disinkronkan Dengan Aplikasi Windows & Linux Sekali Klik (32-bit & 64-bit). Mudah Dibuat Ulang, Mudah Digunakan, Mudah Dipindahkan.: 3 Langkah
DIY MusiLED, LED Musik yang Disinkronkan Dengan Aplikasi Windows & Linux Sekali Klik (32-bit & 64-bit). Mudah Dibuat Ulang, Mudah Digunakan, Mudah Dipindahkan.: Proyek ini akan membantu Anda menghubungkan 18 LED (6 Merah + 6 Biru + 6 Kuning) ke Papan Arduino Anda dan menganalisis sinyal waktu nyata Kartu Suara komputer Anda dan menyampaikannya ke LED untuk menyalakannya sesuai dengan efek ketukan (Snare, High Hat, Kick)
Buat Pertunjukan Cahaya yang Disinkronkan dengan Musik Menggunakan Stop Motion: 6 Langkah
Buat Pertunjukan Cahaya yang Disinkronkan dengan Musik Menggunakan Stop Motion: Jadi pada dasarnya jika Anda menyukai film-film di youtube dengan lampu Natal yang disinkronkan dengan sebuah lagu, ini adalah Instruksi untuk Anda! Ini mengambil konsep lampu yang dikendalikan komputer dan membuatnya lebih mudah (menurut saya, karena saya belum pernah melakukan co
Speaker Stereo Dengan Pencahayaan LED yang Disinkronkan: 8 Langkah
Speaker Stereo Dengan Pencahayaan LED yang Disinkronkan: Ini adalah panduan langkah demi langkah untuk membuat sepasang speaker stereo dua arah, dengan LED yang disinkronkan ke audio. LED dapat dimatikan saat musik tanpa pencahayaan diinginkan. Pada speaker ini digunakan akrilik bening sehingga seluruh interior dapat