Isi kandungan:

4 Ch DMX Dimmer: 6 Langkah
4 Ch DMX Dimmer: 6 Langkah

Video: 4 Ch DMX Dimmer: 6 Langkah

Video: 4 Ch DMX Dimmer: 6 Langkah
Video: Unboxing dmx dimmer pack 4chanel lighting system 2024, Julai
Anonim
4 Ch DMX Dimmer
4 Ch DMX Dimmer

Konsepnya adalah untuk merancang dan membuat dimmer mudah alih.

Keperluan:

  • DMX512 Boleh Dikawal
  • 4 Saluran
  • Mudah alih
  • Mudah untuk digunakan

Saya mengemukakan idea ini kepada profesor saya di WSU kerana saya ingin menggabungkan minat saya untuk teater dan komputer. Projek ini bertindak seperti projek senior saya di jabatan teater. Sekiranya anda mempunyai komen atau pertanyaan, saya ingin membantu.

Pembangunan masa depan boleh merangkumi lebih banyak saluran, penyambung DMX 5 pin, jalan masuk DMX, 8 suis dip untuk menukar saluran, papan litar bercetak.

Saya telah memindahkan projek ini dari https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html kerana masih popular, saya rasa. Saya juga kehilangan fail benih iWeb saya sehingga saya tidak dapat mengemas kini lagi dengan mudah. Adalah baik untuk membiarkan orang berkongsi soalan mereka mengenai projek itu antara satu sama lain.

Langkah 1: Mengumpulkan Perkakasan

Mengumpulkan Perkakasan
Mengumpulkan Perkakasan

Perkakasan yang Digunakan: Sebahagian besarnya dipesan dari Tayda Electronics. Saya suka mereka lebih baik daripada DigiKey kerana pilihan yang lebih kecil dan lebih mudah difahami.

  1. ATMEGA328, Pengawal mikro
  2. MOC3020, TRIAC Optocoupler. Bukan ZeroCross.
  3. MAX458 atau SN75176BP, Penerima DMX
  4. ISP814, AC Optocoupler
  5. 7805, Pengatur 5v
  6. BTA24-600, 600V 25A TRIAC
  7. Kristal 20MHz
  8. Bekalan kuasa 9V

Beberapa rintangan dan pelajaran yang dipelajari sepanjang perjalanan

  • Sekiranya anda bukan pakar daftar, ikuti ATMEGA328P
  • Optocouplers yang salah. Anda tidak mahu Zero Cross
  • Saluran tinggi tidak stabil. Beralih dari 16MHz ke 20MHz menyelesaikan masalah ini
  • Tidak dapat menyalakan status DMX kerana panggilan gangguan mesti cepat
  • Daya DC mesti sangat stabil, sebarang riak akan menyebabkan isyarat DMX menjadi sangat bising

Reka bentuk TRIAC berasal dari MRedmon, terima kasih.

Langkah 2: Reka Bentuk Litar

Reka Bentuk Litar
Reka Bentuk Litar

Saya menggunakan Fritzing 7.7 di Mac untuk merancang litar saya.

MAX485 di bahagian atas digunakan untuk menukar isyarat DMX menjadi sesuatu yang dapat dibaca oleh Arduino.

4N35 di sebelah kiri digunakan untuk mengesan isyarat silang sifar AC sehingga Arduino akan tahu pada masa apa untuk meredupkan output gelombang sinus. Lebih lanjut mengenai bagaimana perkakasan dan perisian berinteraksi di bahagian perisian.

Saya mendapat soalan adakah projek ini akan berfungsi di Eropah dengan 230V dan 50Hz? Saya tidak tinggal di Eropah, dan juga tidak kerap berkunjung ke sana untuk dapat menguji reka bentuk ini. Ia mesti berfungsi, anda hanya perlu mengubah garis masa kod kecerahan untuk kelewatan masa frekuensi yang berbeza.

Langkah 3: Reka Bentuk Litar Kovari

Reka Bentuk Litar Kovari
Reka Bentuk Litar Kovari
Reka Bentuk Litar Kovari
Reka Bentuk Litar Kovari

Melalui proses membina laman web saya, saya dapat melakukan beberapa perbualan e-mel. Salah satunya adalah dengan Kovari Andrei yang membuat reka bentuk litar berdasarkan projek ini dan ingin berkongsi reka bentuknya. Saya bukan pereka papan litar tetapi ia adalah projek Eagle. Beritahu saya bagaimana ia berfungsi untuk anda jika anda menggunakannya.

Langkah 4: Reka Bentuk Litar Giacomo

Reka Bentuk Litar Giacomo
Reka Bentuk Litar Giacomo

Dari masa ke masa orang akan menghantar pesanan kepada saya dengan penyesuaian menarik yang telah mereka lakukan dengan arahan ini dan saya fikir saya harus berkongsi dengan anda semua.

Giacomo mengubah suai litar sehingga pengubah yang diketuk tengah tidak diperlukan. PCb adalah satu sisi dan boleh menjadi penyelesaian yang lebih berpatutan bagi mereka yang tidak dapat membuat dua sisi di rumah (agak sukar).

Langkah 5: Perisian

Perisian
Perisian

Saya jurutera perisian mengikut perdagangan jadi bahagian ini adalah yang paling terperinci.

Summery: Semasa Arduino melakukan boot, kaedah setup () dipanggil. Di sana saya menyiapkan beberapa pemboleh ubah dan lokasi output yang akan digunakan kemudian. zeroCrossInterupt () dipanggil / dijalankan setiap kali AC melintas dari voltan positif ke negatif. Ia akan menetapkan bendera zeroCross untuk setiap saluran dan memulakan pemasa. Kaedah gelung () dipanggil berterusan selama-lamanya. Untuk menghidupkan output, TRIAC hanya perlu dipicu selama 10 mikrodetik. Sekiranya sudah tiba masanya untuk mencetuskan dia TRIAC dan zeroCross telah berlaku output akan menyala sehingga akhir fasa AC.

Terdapat beberapa contoh dalam talian yang saya gunakan untuk memulakan projek ini. Perkara utama yang tidak dapat saya temui ialah mempunyai banyak output TRIAC. Yang lain menggunakan fungsi kelewatan untuk PWM output, tetapi itu tidak akan berfungsi dalam kes saya kerana ATMEGA harus selalu mendengar DMX. Saya menyelesaikannya dengan menggerakkan TRIAC pada begitu banyak ms selepas titik silang. Dengan berdenyut TRIAC lebih dekat ke titik silang, semakin banyak gelombang sinus yang dihasilkan.

Inilah rupa gelombang sinus 120VAC separuh pada osiloskop, di atas.

ISP814 dihubungkan untuk mengganggu 1. Oleh itu, apabila menerima isyarat bahawa AC beralih dari positif ke negatif atau sebaliknya, ia menetapkan zeroCross untuk setiap saluran menjadi benar dan memulakan jam randik.

Dalam kaedah gelung (), ia memeriksa setiap saluran jika zeroCross benar dan masa untuk mengaktifkannya telah berlalu maka nadi TRIAC selama 10 mikrodetik. Ini cukup untuk menghidupkan TRIAC. Setelah TRIAC dihidupkan, ia akan tetap hidup hingga zeroCross. Lampu akan berkedip ketika DMX sekitar 3% jadi saya menambahkan pemotongan di sana untuk mengelakkannya. Ini menyebabkan Arduino terlalu perlahan, dan nadi kadang-kadang akan mencetuskan gelombang sin seterusnya dan bukannya 4% gelombang yang terakhir.

Juga dalam gelung () saya menetapkan nilai PWM LED status. LED ini boleh menggunakan PWM dalaman yang dihasilkan oleh Arduino kerana kita tidak perlu risau tentang zeroCross AC. Setelah PWM ditetapkan, Arduino akan berterusan pada kecerahan itu sehingga diberitahu yang lain.

Seperti yang dinyatakan dalam komen teratas untuk menggunakan gangguan DMX pada pin 2 dan berjalan pada 20MHz, anda harus mengedit beberapa fail aplikasi Arduino. Dalam HardwareSerial.cpp sebahagian kod mesti dipadamkan, ini membolehkan kita menulis panggilan gangguan kita sendiri. Kaedah ISR ini berada di bahagian bawah kod untuk menangani gangguan DMX. Sekiranya anda akan menggunakan Arduino sebagai pengaturcara ISP, pastikan untuk mengembalikan perubahan anda ke HardwareSerial.cpp jika tidak, ATMEGA328 pada papan roti tidak dapat dihubungi. Perubahan kedua adalah lebih mudah. Fail boards.txt mesti ditukar kepada kelajuan jam 20MHz yang baru.

kecerahan [ch] = peta (DmxRxField [ch], 0, 265, 8000, 0);

Kecerahan peta menjadi 8000 kerana itu adalah jumlah mikrodetik 1/2 gelombang sinus AC pada 60hz. Oleh itu, pada kecerahan penuh 256 DMX, program akan membiarkan 1/2 gelombang sinus AC AKTIF selama 8000us. Saya datang dengan 8000 melalui tekaan dan periksa. Melakukan penghitungan 1000000us / 60hz / 2 = 8333 sehingga mungkin nombor yang lebih baik, tetapi dengan kelebihan 333us di atas kepala memungkinkan TRIAC dibuka dan sebarang kegelisahan dalam program ini mungkin merupakan idea yang baik.

Pada Arduino 1.5.3 bahawa mereka memindahkan lokasi fail HardwareSerial.cpp. Sekarang /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Anda perlu mengulas keseluruhan ini jika blok bermula dengan baris 39: #if ditentukan (USART_RX_vect)

Jika tidak, anda akan mengalami ralat ini: core / core.a (HardwareSerial0.cpp.o): Dalam fungsi `_vector_18 ':

Langkah 6: Mengemasnya

Mengemasnya
Mengemasnya
Mengemasnya
Mengemasnya
Mengemasnya
Mengemasnya

Saya mengambil kotak projek kelabu di Menards di bahagian elektrik mereka. Saya menggunakan gergaji timbal balik untuk memotong lubang palam elektrik. Sarung itu mempunyai c-clamp teater yang terpasang di bahagian atas untuk tujuan menggantung. Lampu status untuk setiap input dan output untuk membantu mendiagnosis jika ada masalah. Pembuat label digunakan untuk menjelaskan pelbagai port pada peranti. Nombor di sebelah setiap palam mewakili nombor saluran DMX. Saya melekatkan papan litar dan pengubah dengan beberapa gam panas. LED terpasang di tempat dengan pemegang dipimpin.

Disyorkan: