Isi kandungan:

Jam Arduino 60Hz: 8 Langkah
Jam Arduino 60Hz: 8 Langkah

Video: Jam Arduino 60Hz: 8 Langkah

Video: Jam Arduino 60Hz: 8 Langkah
Video: 8x8x8 LED CUBE WITH ARDUINO UNO 2024, November
Anonim
Jam Arduino 60Hz
Jam Arduino 60Hz

Jam digital berasaskan Arduino ini diselaraskan oleh talian kuasa 60Hz. Ia mempunyai paparan segmen 4 digit 7 anod biasa yang sederhana dan murah yang menunjukkan jam dan minit. Ia menggunakan alat pengesan silang untuk mengesan bila gelombang sinus 60Hz yang masuk melintasi titik voltan sifar dan memperoleh gelombang persegi 60 Hz.

Dalam jangka masa yang singkat, frekuensi gelombang sinus yang masuk dari saluran kuasa mungkin sedikit berbeza disebabkan oleh beban, tetapi dalam jangka masa yang panjang rata-rata hingga 60Hz sangat tepat. Kita boleh memanfaatkan ini untuk mendapatkan sumber masa untuk menyegerakkan jam kita.

Langkah 1: Langkah 1: Skematik

Langkah 1: Skematik
Langkah 1: Skematik

Terdapat dua versi litar bergantung pada sama ada anda ingin menggunakan pengubah dengan paip tengah atau satu tanpa, sama ada operasi litar hampir sama. Untuk membina ini, saya menggunakan penyesuai dinding (tanpa paip tengah) yang menghasilkan 12V AC. Saya akan menggunakan reka bentuk ini (Digital Clock1 Circuit Diagram) untuk penerangan litar. Perhatikan bahawa penting untuk menggunakan penyesuai dinding yang mengeluarkan 12V AC bukan 12V DC sehingga kita dapat memanfaatkan gelombang sinus AC untuk pemasaan. Anda mungkin juga boleh menggunakan transformer yang mengeluarkan 9V AC, mengeluarkan R19 dan membuatnya berfungsi juga, tetapi 12V sangat biasa didapati. Ini adalah bagaimana litar berfungsi:

120V AC pada 60Hz ditukar menjadi 12V AC oleh transformer TR1. Ini diumpankan ke diod D4 dan diperbaiki sehingga hanya voltan + ve yang dimasukkan, dan dilancarkan ke sekitar DC dengan riak, oleh kapasitor C3. Voltan pada C3 dimasukkan ke pengatur voltan 7805 (U6) melalui perintang R19. R19 digunakan untuk mengurangkan voltan pada C3 yang dalam kes saya diukur pada sekitar 15VDC. Ini dapat diatur oleh 7805 tetapi dengan tahap input ini 7805 harus turun sekitar 10VDC dan hasilnya menjadi sangat panas. Dengan menggunakan R19 untuk menjatuhkan voltan ke sekitar 10VDC, kita menghalang U6 terlalu panas. Jadi ini bukan teknik penukaran kuasa yang cekap, tetapi berfungsi untuk tujuan kita. CATATAN: gunakan sekurang-kurangnya perintang 1 / 2W atau lebih di sini. Litar menarik kira-kira 55 ma, jadi pelesapan kuasa di R19 adalah sekitar 1 / 3W berdasarkan P = I ** 2 * R atau P = 55ma x 55ma x 120 ohm = 0.363W. U6 seterusnya mengeluarkan DC 5V tulen dengan C4 dan C5 pada output untuk menyaring sebarang bunyi pada talian kuasa 5V. 5V DC ini memberi kuasa kepada semua IC di papan. Dari TR1 kami juga mengambil sampel sinyal AC yang tidak difilter dan memasukkannya ke potensiometer RV1 yang digunakan untuk menyesuaikan tingkat yang dimasukkan ke pengesan silang. R18 dan R17 membentuk pembahagi voltan untuk mengurangkan lagi tahap voltan AC yang masuk. Ingat ini masuk pada 12V AC dan kita perlu mengurangkannya hingga kurang dari 5 V supaya ia dapat berfungsi dengan pengesan silang kita yang hanya dikuasakan oleh 5VDC. R15 dan R16 memberikan had semasa sementara D1 dan D2 bertujuan untuk mencegah pemacu op-amp U5 yang berlebihan. Dalam konfigurasi yang ditunjukkan output U5 pada pin 1 akan bergantian antara + 5V dan 0V setiap kali gelombang sinus masuk berubah dari positif ke negatif. Ini menghasilkan gelombang persegi 60 Hz yang dimasukkan ke mikrokontroler, U4. Program yang dimuat di U4 kemudian menggunakan gelombang persegi 60Hz ini untuk meningkatkan jam setiap minit dan jam. Bagaimana ini dilakukan akan dibincangkan di bahagian program perisian dan dalam komen perisian. U7 the 74HC595 shift register digunakan kerana kami memiliki sejumlah kecil pin digital pada mikropemproses, sehingga digunakan untuk memperluas jumlah output. Kami menggunakan 4 pin digital pada mikropemproses tetapi dapat mengawal 7 segmen pada paparan melalui 74HC595. Ini dicapai dengan mengalihkan corak bit yang telah ditentukan, disimpan dalam mikrokontroler, dan yang mewakili setiap digit yang akan ditampilkan, ke dalam daftar shift. Paparan yang digunakan di sini adalah anoda biasa, jadi kita perlu membalikkan tahap isyarat yang keluar dari 74HC595 untuk menghidupkan segmen. Apabila segmen harus dihidupkan, isyarat yang keluar dari pin output 74HC595 akan berada di + 5V, tetapi kita memerlukan pin yang dimakannya pada layar agar berada pada 0V untuk menghidupkan segmen paparan itu. Oleh itu, kita memerlukan penyongsang hex U2 dan U3. Malangnya satu IC penyongsang hanya dapat menangani 6 penyongsangan jadi kita memerlukan dua daripadanya walaupun pada yang kedua kita hanya menggunakan salah satu dari 6 pintu. Pembaziran malangnya. Anda mungkin bertanya mengapa tidak menggunakan paparan jenis katod biasa di sini dan menghilangkan U2 dan U3? Jawapannya ialah anda boleh, kebetulan saya mempunyai jenis anod biasa dalam bekalan alat ganti saya. Sekiranya anda mempunyai atau ingin menggunakan paparan jenis katod biasa, hapuskan U2 dan U3 dan rewire Q1 - Q4 supaya pengumpul transistor disambungkan ke pin paparan dan pemancar transistor disambungkan ke tanah. Q1 - Q4 mengawal mana dari empat paparan 7 segmen yang aktif. Ini dikendalikan oleh mikrokontroler, melalui pin yang dihubungkan ke dasar transistor Q1 - Q4. Butang kenaikan dan set akan digunakan untuk mengatur waktu jam yang betul secara manual ketika benar-benar menggunakan jam. Apabila butang Set ditekan sekali butang Kenaikan dapat digunakan untuk melewati jam-jam yang ditunjukkan pada paparan. Apabila butang Set ditekan lagi, butang kenaikan dapat digunakan untuk menelusuri minit yang ditunjukkan pada paparan. Apabila butang Set ditekan untuk kali ketiga, waktunya ditetapkan. R13 dan R14 menarik pin mikrokontroler yang berkaitan dengan butang ini rendah apabila tidak digunakan. Perhatikan bahawa di sini kami telah mengeluarkan U4 (Atmega328p) dari papan prototaip Arduino UNO khas dan meletakkannya di papan prototaip dengan litar kami yang lain. Untuk melakukan ini, sekurang-kurangnya kita harus menyediakan kristal X1 dan kapasitor C1 dan C2 untuk menyediakan sumber jam untuk mikrokontroler, tali pengikat 1, pin tetapan semula, tinggi dan memberikan kuasa 5VDC.

Langkah 2: Langkah 2: Prototaip Breadboard

Langkah 2: Prototaip Breadboard
Langkah 2: Prototaip Breadboard
Langkah 2: Prototaip Breadboard
Langkah 2: Prototaip Breadboard

Tidak kira sama ada anda membuat litar tepat seperti yang ditunjukkan dalam rajah litar atau mungkin menggunakan pengubah, jenis paparan atau komponen lain yang sedikit berbeza, anda harus membuat litar terlebih dahulu untuk memastikan ia berfungsi dan anda memahami bagaimana ia berfungsi.

Dalam gambar anda dapat melihat bahawa papan roti keseluruhan memerlukan beberapa papan dan juga papan Arduino Uno. Oleh itu, untuk memprogram mikrokontroler atau bereksperimen atau membuat perubahan pada perisian, anda pada awalnya memerlukan IC mikrokontroler pada papan UNO supaya anda dapat menyambungkan kabel USB ke komputer dan komputer anda untuk memuat naik program atau membuat perubahan perisian. Setelah jam berfungsi di papan roti dan mikrokontroler anda diprogramkan, anda boleh mencabutnya dan memasangkannya ke soket pada jam terakhir terakhir anda di papan prototaip. Pastikan anda mengikuti langkah berjaga-jaga anti-statik semasa anda melakukan ini. Gunakan tali pergelangan tangan anti-statik semasa mengendalikan mikropemproses.

Langkah 3: Langkah 3: Pembinaan Akhir

Langkah 3: Pembinaan Akhir
Langkah 3: Pembinaan Akhir
Langkah 3: Pembinaan Akhir
Langkah 3: Pembinaan Akhir

Litar ini dibina pada sekeping papan prototaip dan titik berwayar ke titik menggunakan wayar pembungkus dawai # 30 AWG. Ia memberikan hasil yang sukar dan boleh dipercayai. Kerana pengubah yang saya miliki mempunyai palam 5mm lelaki di hujung kabel, saya memasang wadah wanita yang sesuai di bahagian belakang papan dengan memotong, membongkok dan menggerudi sekeping jalur aluminium rata selebar 1/2 untuk membuat kebiasaan pendakap dan kemudian melekatkannya ke papan dengan kacang dan baut 4-40 kecil. Anda hanya boleh memotong penyambung dan menyisipkan baki kabel elektrik ke papan dan menjimatkan masa kerja lebih kurang 20 minit, tetapi saya tidak mahu pengubah dipasang secara kekal ke dewan.

Langkah 4: Langkah 4: Membuat Soket untuk Paparan dan Memberi Kaki

Langkah 4: Membuat Soket untuk Paparan dan Memberi Kaki
Langkah 4: Membuat Soket untuk Paparan dan Memberi Kaki
Langkah 4: Membuat Soket untuk Paparan dan Memberi Kaki
Langkah 4: Membuat Soket untuk Paparan dan Memberi Kaki
Langkah 4: Membuat Soket untuk Paparan dan Memberi Kaki
Langkah 4: Membuat Soket untuk Paparan dan Memberi Kaki

Kerana paparannya memiliki 16 pin, 8 satu sisi, dengan jarak pin yang lebih lebar daripada soket IC 16 pin standard, kita perlu menyesuaikan ukuran soket agar sesuai dengan layar. Anda boleh melakukannya dengan hanya menggunakan sepasang pemotong wayar untuk memotong plastik yang menghubungkan kedua-dua sisi soket, memisahkannya dan menyoldernya secara berasingan ke papan dengan jarak yang sepadan dengan jarak pin pada paparan. Adalah menguntungkan untuk melakukan ini sehingga anda tidak perlu menyolder terus ke pin paparan dan memaparkan paparan ke panas yang berlebihan. Anda dapat melihat soket yang saya buat ini di bahagian atas papan pada gambar di atas.

Agar paparan dapat berdiri tegak, saya mengaitkan dua baut 1 ke lubang dua sudut bawah papan prototaip seperti yang ditunjukkan dalam foto untuk membuat pendirian yang sederhana. Ini cukup tipis, jadi jika anda melakukan ini, anda mungkin mahu meletakkan sesuatu yang berat di bahagian belakang selak untuk menstabilkannya.

Langkah 5: Langkah 5: Memeriksa Pendawaian Papan Litar dan Bersedia untuk Mengkalibrasi

Langkah 5: Memeriksa Pendawaian Papan Litar dan Bersedia untuk Mengkalibrasi
Langkah 5: Memeriksa Pendawaian Papan Litar dan Bersedia untuk Mengkalibrasi

Setelah papan litar disambungkan tetapi sebelum memasang IC atau memaparkan atau menghidupkannya, adalah idea yang baik untuk memeriksa sambungan papan dengan DVM. Anda boleh menetapkan kebanyakan DVM agar berbunyi apabila terdapat kesinambungan. Tetapkan DVM anda dalam mod ini dan kemudian ikuti rajah litar anda, periksa seberapa banyak sambungan litar yang mungkin. Periksa litar terbuka, atau dekat dengannya, antara titik +5V dan Ground. Periksa secara visual bahawa semua komponen disambungkan ke pin yang betul.

Seterusnya sambungkan pengubah anda ke litar dan hidupkan. Periksa sama ada anda mempunyai DC 5V pada rel kuasa 5V dengan skop atau DVM sebelum anda memasang sebarang IC atau paparan. Pasang seterusnya HANYA IC Op-Amp U5 sebagai persediaan untuk langkah seterusnya. Di sini kita akan memeriksa bahawa litar silang silang kita menghasilkan gelombang persegi dan menyesuaikan potensiometer RV1 untuk isyarat 60 Hz yang bersih.

Langkah 6: Langkah 6: Kalibrasi Litar

Langkah 6: Kalibrasi Litar
Langkah 6: Kalibrasi Litar
Langkah 6: Kalibrasi Litar
Langkah 6: Kalibrasi Litar

Satu-satunya penentukuran yang perlu dilakukan ialah menyesuaikan potensiometer RV1 untuk tahap isyarat yang betul yang memberi makan pengesan silang. Terdapat dua cara untuk melakukan ini:

1. Letakkan probe skop pada pin 1 U5 dan pastikan untuk menyambungkan wayar ground probe skop ke ground ground. Seterusnya sesuaikan RV1 sehingga anda mempunyai gelombang persegi bersih seperti yang ditunjukkan dalam gambar di atas. Sekiranya anda menyesuaikan RV1 terlalu jauh dengan satu cara atau yang lain, anda tidak akan mempunyai gelombang persegi atau gelombang persegi yang terdistorsi. Pastikan frekuensi gelombang kuasa dua ialah 60 Hz. Sekiranya anda mempunyai ruang lingkup moden mungkin akan memberitahu anda kekerapannya. Sekiranya anda mempunyai ruang lingkup kuno seperti saya, maka pastikan tempoh gelombang persegi lebih kurang 16.66ms atau 1/60 saat. 2. Menggunakan pembilang frekuensi atau DVM dalam mod Frekuensi mengukur frekuensi pada Pin 1 dari U5 dan sesuaikan RV1 dengan tepat 60 Hz. Setelah penentukuran ini dilakukan, matikan litar dan pasangkan semua IC dan paparan untuk menyelesaikan pembinaan litar.

Langkah 7: Langkah 7: Program Arduino

Program ini dikomentari sepenuhnya sehingga anda dapat mengetahui perincian setiap langkah. Oleh kerana kerumitan program sukar untuk menggambarkan setiap langkah, tetapi pada tahap yang sangat tinggi inilah cara ia berfungsi:

Mikroprosesor menerima gelombang 60 Hz persegi yang masuk dan mengira 60 kitaran dan menambah jumlah detik selepas setiap 60 kitaran. Setelah kiraan detik mencapai 60 saat, atau 3600 kitaran, kiraan minit meningkat dan kiraan detik diset semula ke sifar. Setelah kiraan minit mencapai 60 minit, kiraan jam meningkat dan kiraan minit diset semula ke sifar. kiraan jam ditetapkan semula menjadi 1 selepas 13 jam, jadi ini adalah jam 12 jam. Sekiranya anda mahukan jam 24 jam, ubah program untuk menetapkan semula jam menjadi sifar setelah 24 jam. Ini adalah projek eksperimental, jadi saya cuba menggunakan gelung Do-While untuk menekan lantunan suis pada butang Set dan Kenaikan. Ia berfungsi dengan baik. Apabila butang Set ditekan sekali, butang Kenaikan dapat digunakan untuk melewati jam yang ditunjukkan pada paparan. Apabila butang Set ditekan lagi, butang kenaikan dapat digunakan untuk menelusuri minit yang ditunjukkan pada paparan. Apabila butang Set ditekan untuk kali ketiga, waktunya ditetapkan dan jam mula berjalan. Corak 0 dan 1 yang digunakan untuk memaparkan setiap nombor pada paparan 7 segmen disimpan dalam array yang disebut Seven_Seg. Bergantung pada waktu jam semasa, corak ini dimasukkan ke IC 74HC595 dan dihantar ke paparan. Manakah dari 4 digit paparan yang dihidupkan pada satu-satu masa untuk menerima data ini dikendalikan oleh mikropemproses melalui paparan Dig 1, 2, 3, 4 pin. Apabila litar dihidupkan, program ini pertama kali menjalankan rutin ujian yang disebut Test_Clock yang mengirimkan digit yang betul untuk menerangi setiap paparan dengan kiraan dari 0 hingga 9. Oleh itu, jika anda melihat ini semasa anda menghidupkan, anda tahu bahawa anda telah membina semuanya dengan betul.

Langkah 8: Langkah 8: Tawaran PCBWay

Itu menyimpulkan catatan ini, tetapi penaja projek ini adalah PCBWay yang, pada masa itu merayakan ulang tahun ke-5 mereka. Lihat di https://www.pcbway.com/anniversary5sales.html dan jangan lupa perkhidmatan pemasangan mereka kini serendah $ 30.

Disyorkan: