Daftar Isi:
- Langkah 1: Mengumpulkan Perangkat Keras
- Langkah 2: Desain Sirkuit
- Langkah 3: Desain Sirkuit Kovari
- Langkah 4: Desain Sirkuit Giacomo
- Langkah 5: Perangkat Lunak
- Langkah 6: Mengemasnya
Video: 4 Ch DMX Dimmer: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Konsepnya adalah merancang dan membuat dimmer portabel.
Persyaratan:
- DMX512 Terkendali
- 4 Saluran
- portabel
- Mudah digunakan
Saya mengusulkan ide ini kepada profesor saya di WSU karena saya ingin menggabungkan hasrat saya untuk teater dan komputer. Proyek ini bertindak sedikit seperti proyek senior saya di departemen teater. Jika Anda memiliki komentar atau pertanyaan, saya akan dengan senang hati membantu.
Pengembangan di masa depan dapat mencakup lebih banyak saluran, konektor DMX 5 pin, passthrough DMX, sakelar 8 celup untuk mengubah saluran, papan sirkuit cetak.
Saya telah memigrasikan proyek ini dari https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html karena masih populer, saya kira. Saya juga kehilangan file benih iWeb saya sehingga saya tidak dapat dengan mudah memperbaruinya lagi. Akan lebih baik jika orang-orang saling berbagi pertanyaan tentang proyek mereka.
Langkah 1: Mengumpulkan Perangkat Keras
Perangkat Keras yang Digunakan: Sebagian besar dipesan dari Tayda Electronics. Saya lebih menyukainya daripada DigiKey karena pilihannya yang lebih kecil dan lebih mudah dipahami.
- ATMEGA328, Mikro-kontroler
- MOC3020, Optocoupler TRIAC. Bukan Zero Cross.
- MAX458 atau SN75176BP, Penerima DMX
- ISP814, AC Optocoupler
- 7805, Pengatur 5v
- BTA24-600, 600V 25A TRIAC
- Kristal 20MHz
- Catu daya 9V
Beberapa rintangan dan pelajaran yang dipetik di sepanjang jalan
- Jika Anda bukan ahli register, gunakan ATMEGA328P
- Optocoupler yang salah. Anda tidak ingin Zero Cross
- Saluran tinggi tidak stabil. Beralih dari 16MHz ke 20MHz memecahkan masalah ini
- Tidak dapat memiliki lampu status DMX karena panggilan interupsi harus sangat cepat
- Daya DC harus sangat stabil, riak apa pun akan menyebabkan sinyal DMX menjadi sangat bising
Desain TRIAC berasal dari MRedmon, terima kasih.
Langkah 2: Desain Sirkuit
Saya menggunakan Fritzing 7.7 di Mac untuk mendesain sirkuit saya.
MAX485 di bagian atas digunakan untuk mengubah sinyal DMX menjadi sesuatu yang dapat dibaca oleh Arduino.
4N35 di sebelah kiri digunakan untuk mendeteksi zero cross dari sinyal AC sehingga Arduino akan tahu jam berapa meredupkan output gelombang sinus. Lebih lanjut tentang bagaimana perangkat keras dan perangkat lunak berinteraksi di bagian perangkat lunak.
Saya mendapat pertanyaan apakah proyek ini akan bekerja di Eropa dengan 230V dan 50Hz? Saya tidak tinggal di Eropa, saya juga tidak sering bepergian ke sana untuk menguji desain ini. Seharusnya berfungsi, Anda hanya perlu memodifikasi garis waktu kecerahan kode untuk penundaan waktu frekuensi yang berbeda.
Langkah 3: Desain Sirkuit Kovari
Melalui proses pembuatan situs web saya, saya dapat melakukan beberapa percakapan email. Salah satunya dengan Kovari Andrei yang melakukan desain sirkuit berdasarkan proyek ini dan ingin membagikan desainnya. Saya bukan perancang papan sirkuit tetapi ini adalah proyek Eagle. Beri tahu saya cara kerjanya untuk Anda jika Anda menggunakannya.
Langkah 4: Desain Sirkuit Giacomo
Dari waktu ke waktu orang akan mengirimi saya pesan tentang adaptasi menarik yang telah mereka lakukan dengan instruksi ini dan saya pikir saya harus membaginya dengan Anda semua.
Giacomo memodifikasi sirkuit sehingga transformator yang disadap tengah tidak diperlukan. PCB satu sisi dan bisa menjadi solusi yang lebih terjangkau bagi yang tidak bisa membuat dua sisi di rumah (agak sulit).
Langkah 5: Perangkat Lunak
Saya seorang insinyur perangkat lunak berdasarkan perdagangan jadi bagian ini adalah yang paling detail.
Summery: Saat Arduino pertama kali mem-boot, metode setup() dipanggil. Di sana saya mengatur beberapa variabel dan lokasi output untuk digunakan nanti. zeroCrossInterupt() dipanggil/ dijalankan setiap kali AC melintasi dari tegangan positif ke negatif. Ini akan mengatur bendera zeroCross untuk setiap saluran dan memulai penghitung waktu. Metode loop() dipanggil terus menerus selamanya. Untuk mengaktifkan output, TRIAC hanya perlu dipicu selama 10 mikrodetik. Jika saatnya untuk memicu dia TRIAC dan zeroCross telah terjadi output akan menyala sampai akhir fase AC.
Ada beberapa contoh online yang saya gunakan untuk memulai proyek ini. Hal utama yang tidak dapat saya temukan adalah memiliki beberapa keluaran TRIAC. Lainnya menggunakan fungsi penundaan untuk PWM output, tapi itu tidak akan bekerja dalam kasus saya karena ATMEGA harus mendengarkan DMX sepanjang waktu. Saya memecahkan ini dengan menggerakkan TRIAC pada banyak ms setelah zero-cross. Dengan menekan TRIAC lebih dekat ke zero-cross, semakin banyak gelombang sin yang dihasilkan.
Inilah yang tampak seperti gelombang sin setengah 120VAC pada osiloskop, di atas.
ISP814 terhubung ke interupsi 1. Jadi ketika menerima sinyal bahwa AC bertransisi dari positif ke negatif atau sebaliknya, ia menetapkan zeroCross untuk setiap saluran ke true dan memulai stopwatch.
Dalam metode loop(), ia memeriksa setiap saluran apakah zeroCross benar dan waktu untuk mengaktifkannya telah berlalu, ia akan mengirimkan pulsa ke TRIAC selama 10 mikrodetik. Ini cukup untuk menghidupkan TRIAC. Setelah TRIAC dihidupkan, TRIAC akan tetap menyala hingga zeroCross. Lampu akan berkedip ketika DMX sekitar 3% jadi saya menambahkan pemotongan di sana untuk mencegahnya. Hal ini menyebabkan Arduino menjadi terlalu lambat, dan pulsa beberapa kali akan memicu gelombang dosa berikutnya, bukan 4% terakhir dari gelombang.
Juga di loop() saya mengatur nilai PWM dari LED status. LED ini dapat menggunakan PWM internal yang dihasilkan oleh Arduino karena kita tidak perlu khawatir tentang zeroCross AC. Setelah PWM diatur, Arduino akan melanjutkan pada kecerahan itu sampai diberitahukan sebaliknya.
Seperti disebutkan di komentar atas untuk menggunakan interupsi DMX pada pin 2 dan berjalan pada 20MHz, Anda harus mengedit beberapa file aplikasi Arduino. Di HardwareSerial.cpp sepotong kode harus dihapus, ini memungkinkan kita untuk menulis panggilan interupsi kita sendiri. Metode ISR ini ada di bagian bawah kode untuk menangani interupsi DMX. Jika Anda akan menggunakan Arduino sebagai programmer ISP, pastikan untuk mengembalikan perubahan Anda ke HardwareSerial.cpp jika tidak, ATMEGA328 di papan roti tidak akan dapat dijangkau. Perubahan kedua adalah yang lebih mudah. File boards.txt harus diubah ke kecepatan clock 20MHz yang baru.
kecerahan[ch]=peta(DmxRxField[ch], 0, 265, 8000, 0);
Kecerahan dipetakan ke 8000 karena itu adalah jumlah mikrodetik 1/2 gelombang sinus AC pada 60hz. Jadi pada kecerahan penuh 256 DMX program akan membiarkan 1/2 gelombang sinus AC ON selama 8000us. Saya datang dengan 8000 melalui menebak dan memeriksa. Melakukan matematika 1000000us/60hz/2 = 8333 sehingga mungkin menjadi angka yang lebih baik, tetapi memiliki 333us ekstra di atas kepala memungkinkan TRIAC untuk membuka dan setiap jitter dalam program mungkin merupakan ide yang bagus.
Pada Arduino 1.5.3 mereka memindahkan lokasi file HardwareSerial.cpp. Sekarang /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Anda perlu mengomentari keseluruhan ini jika blok dimulai dengan baris 39: #if didefinisikan(USART_RX_vect)
Jika tidak, Anda akan mendapatkan kesalahan ini: core/core.a(HardwareSerial0.cpp.o): Dalam fungsi `_vector_18':
Langkah 6: Mengemasnya
Saya mengambil kotak proyek abu-abu di Menards di bagian listrik mereka. Saya menggunakan gergaji bolak-balik untuk memotong lubang colokan listrik. Kasingnya memiliki c-clamp teater yang terpasang di bagian atas untuk tujuan menggantung. Lampu status untuk setiap input dan output untuk membantu mendiagnosis jika ada masalah. Pembuat label digunakan untuk menjelaskan berbagai port pada perangkat. Angka di sebelah setiap colokan mewakili nomor saluran DMX. Saya menempelkan papan sirkuit dan transformator dengan lem panas. LED terjebak di tempat dengan pemegang led.
Direkomendasikan:
Dimmer AC Digital Kuat Menggunakan STM32: 15 Langkah (dengan Gambar)
Peredup AC Digital Kuat Menggunakan STM32: Oleh Hesam Moshiri, [email protected] memuat langsung bersama kami! Karena mereka ada di mana-mana di sekitar kita dan setidaknya peralatan rumah tangga disuplai dengan daya listrik. Banyak jenis peralatan industri juga ditenagai dengan 220V-AC fase tunggal
Membuat Dimmer LED Ganda (Jungkat-jungkit) Anda Sendiri: 4 Langkah
Membuat Sendiri (Jungkat-jungkit) Double LED Dimmer: Hari ini, saya akan menunjukkan cara membuat Double LED Dimmer hanya dengan chip 555timer beserta komponen umum.Mirip dengan MOSFET/Transistor Tunggal (Baik PNP, NPN, P-channel, atau N-Channel) yang mengatur kecerahan LED, yang satu ini menggunakan dua MOS
Dimmer Bohlam LED: 3 Langkah
LED Bulb Dimmer: Ini adalah dimmer bola lampu LED sederhana. Anda dapat melihat bagaimana sirkuit bekerja di video. Saya mendapatkan ide ini setelah membaca artikel berikut: https://www.instructables.com/id/LM350-Power-Supply/https://www.instructables. com/id/Transistor
Light Dimmer (Tata Letak PCB): 3 Langkah
Light Dimmer (PCB Layout): Halo teman-teman!! Di sini saya menunjukkan kepada Anda tata letak PCB dari rangkaian Light dimmer menggunakan IC timer paling populer 555. Sirkuit ini juga dapat digunakan untuk mengontrol kecepatan motor DC peringkat daya rendah. IC timer dapat dioperasikan dalam tiga mode: AstabilM
Semua dalam Satu · Terminator DMX & Penguji DMX: 3 Langkah
All in One · DMX Terminator & DMX Tester: Sebagai teknisi pencahayaan, terkadang Anda perlu mengetahui seberapa sehat koneksi dmx Anda di antara perlengkapannya. Terkadang, karena kabel, perlengkapan itu sendiri, atau fluktuasi tegangan, sistem DMX mengalami banyak masalah dan kesalahan. Jadi saya membuat