Isi kandungan:

Wort-Uhr: 5 Langkah
Wort-Uhr: 5 Langkah

Video: Wort-Uhr: 5 Langkah

Video: Wort-Uhr: 5 Langkah
Video: как сделать Propeller LED Pendulum Clock, используя Arduino NANO, JLCPCB 2024, November
Anonim
Wort-Uhr
Wort-Uhr

Halo bersama!

Ini akan menjadi petunjuk pertama saya dan jika anda mempunyai idea bagaimana memperbaikinya atau membuatnya lebih mudah difahami, jangan ragu menghubungi saya!

Pada mulanya, "jam" seperti ini bukan idea saya! Saya telah melihat banyak internet melalui internet dan mereka boleh memesan hanya dengan beberapa dolar di kedai-kedai web yang berbeza. Tetapi saya tidak mahu membelinya, saya mahu membuatnya sendiri untuk belajar dan memahami cara kerjanya.

Satu kata untuk anggota "bukan Jerman" … Maaf kerana ini hanyalah "German Wort Uhr". Ia mungkin dengan mudah ditukarkan ke bahasa Inggeris atau bahasa lain, tetapi kerana saya orang Jerman saya membuatnya dalam bahasa saya. Sekiranya anda memerlukan sokongan untuk bahasa anda, hubungi saya dan saya akan berusaha membantu anda.

Jadi mari kita mulakan …

Langkah 1: Skematik

Skema
Skema

Skematiknya lurus ke depan dan jika gambarnya buruk untuk dibaca, terdapat juga fail PDF.

Mari bermula di sudut kiri bawah. Terdapat bekalan kuasa sederhana menggunakan LM7805 untuk menghasilkan output 5V yang stabil untuk PIC, shift shift (74HC164) dan cip masa nyata DS3231. Semua LED juga dibekalkan dari bahagian ini. D22 di hujung kanan hanya untuk menunjukkan bekalan kuasa dan mudah dibiarkan jika tidak mahu.

Anda boleh menggunakan sebarang bekalan kuasa DC untuk jam dengan kurang dari 40V, tetapi anda harus memilih nilai yang sesuai untuk C7. Ia mesti mempunyai nilai voltan sekurang-kurangnya dua kali ganda daripada voltan masukan dan ingat bahawa anda menghasilkan haba di LM7805 jadi anda harus berusaha mengekalkan voltan input serendah mungkin kerana yang lain hanyalah pembaziran tenaga. Paling sesuai adalah antara 9V dan 12V DC.

Jangan repot-repot mengenai kekutuban bekalan kuasa anda … MOSFET saluran p (Q1) bertindak sebagai perlindungan kekutuban palsu dan jam tidak akan berfungsi dan tidak akan mengalami kerosakan. Anda boleh menyemaknya pada LED "power" D22 jika dipasang.

Di sebelah kanan skema terdapat register peralihan bersiri-dalam selari-keluar. Saya memutuskan untuk menggunakannya kerana saya tidak mahu menggunakan PIC yang besar dengan banyak I / O-Ports. Saya mahu menggunakan yang lebih kecil dan saya masih mempunyai 16F1829 di rumah jadi pilihannya sudah jelas. Data (IN_1, IN_2 dan IN_3) disediakan oleh PIC (lihat bahagian kod di bawah) dan REGISTER_CLK juga. Untuk kesederhanaan dalam susun atur kod dan PCB saya, saya menggunakan dua dari 74HC164 selama berjam-jam dan yang terakhir untuk "logik".

Di sudut kiri atas terdapat PIC dan semua bahagian yang diperlukan. Saya menggunakan jam dalaman sehingga tidak diperlukan pengayun. Hanya tiga perintang untuk SCL, SDA dan MCLR. Untuk fakta bahawa saya menggunakan 32kHz sebagai petunjuk "detik tepat" tidak perlu frekuensi yang cukup stabil dan tepat untuk PIC.

Di tengahnya terdapat DS3231 dengan minimum pada bahagian luaran. Sebenarnya saya hanya menggunakan input SDA dan SCL untuk komunikasi melalui I²C dan output 32kHZ sebagai rujukan jam luaran untuk Pemasa1 PIC16F1829. Untuk keluaran ini, lembaran data mengatakan bahawa diperlukan perintang tarik luaran. Keluaran lain yang tidak saya gunakan dalam projek ini dan membiarkannya tidak berkaitan.

Juga di tengahnya, LED… Seperti yang anda baca dalam skema saya menggunakan LED biru (yang mempunyai perumahan yang jelas) dan nilai perintang 1k Ohms. Sekiranya anda berhasrat untuk membuat projek ini sendiri, anda harus memilih nilai perintang ini mengikut warna dan jenis LED yang anda pilih. Ingat juga di mana anda mahu jam dipasang. Saya berdiri di bilik tidur saya kerana itu saya tidak mahu LED terlalu terang dan memilih nilai yang lebih besar untuk perintang. Buat percubaan di papan roti dengan LED dan nilai perintang sebelum memasangnya di PCB.

Langkah 2: Susun atur

Susun atur
Susun atur
Susun atur
Susun atur
Susun atur
Susun atur

Setelah menyelesaikan skematik, inilah masanya untuk mengarahkan PCB. Untuk itu saya menggunakan KiCAD (untuk skema juga). Tidak banyak yang boleh dikatakan, hanya jalankan laluan.

Kerana saya mencetak perumahan jam dengan sendirinya, sangat penting di mana LED pada lapisan atas berada. Saya hanya meletakkan LED dan perintang pada lapisan atas, kerana saya memerintahkan PCB saya dipasang sebahagian (semua bahagian SMD) dan kerana syarikat yang saya pilih untuk itu hanya meletakkan bahagian pada satu sisi dan bukan dua sisi.

Anda dapat melihat penempatan dalam dua gambar 3 dimensi yang saya buat dari KiCAD.

Sekiranya anda berminat… Adalah mungkin untuk mengeksport PCB KiCAD ke Eagle dan cukup mudah untuk membina perumahan, kerana anda mempunyai rujukan dari PCB.

Langkah 3: "Logik" dari "Wort-Uhr"

Bahagian terbesar untuk projek ini adalah kod untuk PIC…

Mula-mula mencari "logik" masa bertutur dalam bahasa Jerman dan menerjemahkannya ke kod.

Sayangnya tidak dapat memuat naik fail Excel secara langsung, tetapi saya harap eksport PDF dapat dibaca cukup untuk anda. Sekiranya tidak, sila hubungi saya dan saya akan menghantar fail Excel yang asal. Dalam PDF anda dapat melihat bagaimana saya mengatur logik untuk jam saya. Anda dapat melihat bagaimana saya melalui langkah-langkah masa yang berbeza dan bagaimana ejaannya. Pengiraan di dalam kod (terutamanya pernyataan if-else) boleh diambil dari maklumat di sebelah kanan jadual. Satu bahagian adalah selama beberapa minit dan satu bahagian selama berjam-jam.

Seperti yang anda lihat, ini bukan sihir dan dapat dikodkan dengan mudah dalam C. Titik "paling sukar" di dalam logik adalah bagaimana menangani jam seperti yang anda lihat dalam fail bahawa hanya pada awal satu jam jam sebenar ditunjukkan. Dalam bahasa Jerman (mungkin ini hanya perkara khusus Bavaria) "jam berikutnya" digunakan lebih awal.

Untuk pengekodan saya menggunakan MPLABX sebagai IDE pilihan saya.

Langkah 4: Coretan Kod

Coretan Kod
Coretan Kod
Coretan Kod
Coretan Kod

Saya tidak akan menghantar kod saya di sini, tetapi jika anda berhasrat untuk menulis kod anda sendiri, saya akan memberi anda beberapa petunjuk mengenai apa yang saya "tersandung" semasa pembangunan …

Mula-mula mengisi "register":

Sekiranya anda memindahkan data baru ke daftar terlalu kerap dan dalam kitaran yang terlalu pendek, saya membuat pengalaman, bahawa LED mula berkedip. Oleh itu, saya membuat beberapa "bendera penyekat", yang hanya beberapa minit "pengiraan" masa lisan baru dilakukan dan kemas kini pendaftaran dibuat.

Kod untuk mengisi daftar terdapat dalam gambar di atas. Seperti yang anda lihat, saya mengisi semua 3 register secara selari jadi saya memerlukan 3 pin PIC untuk data dan 1 pin untuk CLK. 74HC164 mengambil alih data baru mengenai peralihan pada garis CLK dari 0 hingga 1.

Selebihnya kod adalah sebahagian besarnya bergantung kepada PIC, "logik masa" - logik dan pengendalian komunikasi dan butang. Komunikasi terutamanya diberikan oleh Microchip MPLABX kerana saya menggunakan modul MSSP.

Idea yang baik adalah membaca lembar data DS3231 kerana data disimpan di dalam sebagai BCD sehingga anda mungkin harus "mengubah" ini dalam kod anda. Sejauh yang saya fikirkan, saya adalah seorang lelaki "belajar dengan melakukan" dan KURSUS tidak membaca lembaran data … Saya perlu banyak kesukaran dan berjam-jam.

Seperti yang anda perhatikan, ada dua cara untuk "menjaga waktu dalam perjalanan" dengan pelaksanaan ini.

  1. Anda boleh membaca masa sebenar DS3231
  2. Anda boleh "mengira detik" dalam PIC itu sendiri dan hanya menyegerakkan waktu dengan DS3231 dari semasa ke semasa

Terserah kepada anda dan kedua-dua cara praktikal dan lurus ke hadapan. Saya menggunakan pilihan pertama dan hanya masa yang disegerakkan ketika menyesuaikan masa melalui butang (masa menulis ke DS3231) atau setiap 24 jam (waktu membaca dari DS3231), kerana saya ingin menerapkan lebih banyak logik oleh saya sendiri. Saya juga menghidupkan jam saya pada waktu malam (23:00 hingga 05:00) sehingga sedikit lebih mudah pada pendapat saya.

Langkah 5: Perumahan

Yang terakhir tetapi tidak kalah pentingnya untuk melihat perumahan secara ringkas.

Seperti yang saya nyatakan di atas, saya membuat perumahan itu sendiri (menggunakan Eagle) dan mencetaknya dengan Pencetak 3D saya jadi saya mesti terus melihat kedudukan LED yang berbeza.

Dilampirkan anda boleh menemui fail STL jika anda ingin menggunakannya.

Semoga instruksional ini dapat membantu anda ketika membina "Wort-Uhr" anda sendiri. Sekiranya masih ada "soalan terbuka" jangan ragu untuk menghubungi saya. Cara terbaik untuk memberi komen di bawah, kerana mungkin anda bukan satu-satunya yang mempunyai soalan tertentu.

Disyorkan: