Daftar Isi:
Video: Pwm2pwm: 4 Langkah
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-10 13:47
Ubah sinyal input PWM ke output sinyal PWM lain dengan Encoder.
Proyek ini lahir ketika saya membeli pemotong laser pertama saya. Tidak mudah untuk mengatur daya PWM, pada saat pertama, sesuai dengan bahan yang ingin Anda potong. Jadi saya ingin membuat perangkat kecil untuk mengubah daya selama eksekusi.
Langkah 1: Daftar Komponen
Untuk proyek ini Anda perlu:
- 1 x layar Oled, dalam kasus saya I2C
- 1 x Arduino, dalam kasus saya arduino mini pro untuk dimensi kecil.
- 1 x Pemangkas dengan tombol.
- Resistor 3 x 10k, 2 untuk pull-up pemangkas dan satu untuk pull-down.
Dalam gambar langkah ini Anda melihat Arduino mini pro lain, yang disebut laser, karena saya mensimulasikan keterampilan pengontrol laser (sinyal pwm) dengan Arduino ini.
Langkah 2: Koneksi
Ingatlah untuk menghubungkan 3 resistor, pull-up dan pull-down, dalam skema ini.
Untuk pertama kalinya, saya menyarankan Anda untuk menghubungkan Arduino kedua (disebut laser pada langkah sebelumnya) untuk menguji apakah kode dan koneksi bekerja sama juga.
Jika Anda lebih terbiasa dengan tampilan skema, buka pwmTOpwm.svg.
Langkah 3: Sketsa Arduino
Anda dapat dengan mudah menyalin kode saya dari halaman GitHub:
Keterampilan utama kode ini adalah integrasi perintah "pulseIn", info lebih lanjut:
Ketika Anda mencoba mengukur sinyal PWM yang masuk ke Mikrokontroler Anda perlu menghitung berapa lama sinyal tetap naik (atau turun) dalam periode tersebut. Anda dapat menggunakan perintah "pulseIn".
Jika Anda mencoba memplot sinyal pulseIn, Anda dapat melihat sesuatu yang tidak stabil.
Untuk memperbaiki masalah ini kita perlu menggunakan filter median, dalam kasus saya rata-rata bergerak eksponensial (EMA).
Anda dapat mencoba filter keren dan mudah ini dengan contoh ini:
Jangan khawatir, filter sudah terintegrasi dalam kode:p.
Jika Anda menggunakan Arduino (laser) kedua, Anda dapat mengunggah di Arduino itu contoh ini:
Langkah 4: PCB
Saya ingin membuat PCB untuk proyek ini, dengan KiCad, dan membagikannya.
Jika saya membuat perubahan pada PCB, saya akan membagikannya di halaman GitHub.