Mục lục:
- Bước 1: Thu thập phần cứng
- Bước 2: Thiết kế mạch
- Bước 3: Thiết kế vi mạch của Kovari
- Bước 4: Thiết kế vi mạch của Giacomo
- Bước 5: Phần mềm
- Bước 6: Đóng gói nó lên
Video: 4 Ch DMX Dimmer: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Ý tưởng là thiết kế và tạo ra một bộ điều chỉnh độ sáng di động.
Yêu cầu:
- DMX512 có thể điều khiển
- 4 kênh
- Cầm tay
- Dễ sử dụng
Tôi đề xuất ý tưởng này với giáo sư của mình tại WSU vì tôi muốn kết hợp niềm đam mê của mình với sân khấu và máy tính. Dự án này hoạt động hơi giống với dự án cấp cao của tôi trong bộ phận sân khấu. Nếu bạn có bất kỳ nhận xét hoặc câu hỏi, tôi rất muốn giúp đỡ.
Sự phát triển trong tương lai có thể bao gồm nhiều kênh hơn, đầu nối DMX 5 chân, chuyển qua DMX, 8 công tắc nhúng để thay đổi kênh, bảng mạch in.
Tôi đã di chuyển dự án này từ https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html vì nó vẫn còn phổ biến, tôi đoán vậy. Ngoài ra, tôi đã mất tệp hạt giống iWeb của mình nên tôi không thể dễ dàng cập nhật nó nữa. Rất vui nếu mọi người chia sẻ câu hỏi của họ về dự án với nhau.
Bước 1: Thu thập phần cứng
Phần cứng được sử dụng: Hầu hết nó được đặt hàng từ Tayda Electronics. Tôi thích chúng hơn DigiKey vì lựa chọn nhỏ hơn và dễ hiểu hơn.
- ATMEGA328, Bộ điều khiển vi mô
- MOC3020, TRIAC Optocoupler. Không phải ZeroCross.
- MAX458 hoặc SN75176BP, Bộ thu DMX
- ISP814, AC Optocoupler
- Bộ điều chỉnh 7805, 5v
- BTA24-600, 600V 25A TRIAC
- Tinh thể 20MHz
- Nguồn điện 9V
Một số trở ngại và bài học kinh nghiệm trong quá trình này
- Nếu bạn không phải là chuyên gia đăng ký, hãy gắn bó với ATMEGA328P
- Bộ ghép ảnh sai. Bạn không muốn Zero Cross
- Các kênh cao không ổn định. Chuyển từ 16MHz sang 20MHz đã giải quyết được vấn đề này
- Không thể có đèn trạng thái DMX vì cuộc gọi ngắt phải rất nhanh
- Nguồn DC phải cực kỳ ổn định, bất kỳ gợn sóng nào cũng sẽ khiến tín hiệu DMX trở nên rất nhiễu
Thiết kế TRIAC đến từ MRedmon, cảm ơn bạn.
Bước 2: Thiết kế mạch
Tôi đã sử dụng Fritzing 7.7 trên Mac để thiết kế mạch của mình.
MAX485 ở trên cùng được sử dụng để chuyển đổi tín hiệu DMX thành thứ mà Arduino có thể đọc được.
4N35 ở bên trái được sử dụng để phát hiện điểm chéo 0 của tín hiệu AC, do đó Arduino sẽ biết tại thời điểm nào để làm mờ đầu ra sóng Sine. Tìm hiểu thêm về cách phần cứng và phần mềm tương tác trong phần phần mềm.
Tôi đã nhận được câu hỏi liệu dự án này có hoạt động ở Châu Âu với 230V và 50Hz không? Tôi không sống ở Châu Âu và cũng không thường xuyên đi du lịch để có thể thử nghiệm thiết kế này. Nó sẽ hoạt động, bạn chỉ cần sửa đổi dòng mã thời gian độ sáng cho độ trễ thời gian tần số khác nhau.
Bước 3: Thiết kế vi mạch của Kovari
Thông qua quá trình nâng cấp trang web của mình, tôi đã có thể có một vài cuộc trò chuyện qua email. Một là với Kovari Andrei, người đã thiết kế mạch điện dựa trên dự án này và muốn chia sẻ thiết kế của anh ấy. Tôi không phải là nhà thiết kế bảng mạch nhưng đó là một dự án Eagle. Hãy cho tôi biết nó hoạt động như thế nào nếu bạn sử dụng nó.
Bước 4: Thiết kế vi mạch của Giacomo
Đôi khi, mọi người sẽ nhắn tin cho tôi về những điều chỉnh thú vị mà họ đã thực hiện với tài liệu hướng dẫn này và tôi nghĩ tôi nên chia sẻ chúng với tất cả các bạn.
Giacomo đã sửa đổi mạch điện để không cần một máy biến áp điều chỉnh trung tâm. PCb là một mặt và có thể là một giải pháp hợp lý hơn cho những người không thể thực hiện hai mặt ở nhà (một chút khó khăn).
Bước 5: Phần mềm
Tôi là một kỹ sư phần mềm theo thương mại nên phần này là chi tiết nhất.
Summery: Khi Arduino khởi động lần đầu, phương thức setup () được gọi. Trong đó, tôi thiết lập một số biến và vị trí đầu ra sẽ được sử dụng sau này. zeroCrossInterupt () được gọi / chạy mỗi khi AC chuyển từ điện áp dương sang điện áp âm. Nó sẽ đặt cờ zeroCross cho mọi kênh và khởi động bộ đếm thời gian. Phương thức loop () được gọi là liên tục mãi mãi. Để bật đầu ra, TRIAC chỉ phải được kích hoạt trong 10 micro giây. Nếu đã đến lúc kích hoạt TRIAC và zeroCross đã xảy ra, đầu ra sẽ bật cho đến khi kết thúc pha AC.
Có một vài ví dụ trực tuyến mà tôi đã sử dụng để bắt đầu dự án này. Điều chính mà tôi không thể tìm thấy là có nhiều đầu ra TRIAC. Những người khác đã sử dụng chức năng trì hoãn để PWM đầu ra, nhưng điều đó sẽ không hoạt động trong trường hợp của tôi vì ATMEGA luôn phải lắng nghe DMX. Tôi đã giải quyết điều này bằng cách xung TRIAC ở rất nhiều ms sau khi không chéo. Bằng cách tạo xung TRIAC gần đến 0-cross, càng có nhiều sóng sin được phát ra.
Đây là nửa sóng sin 120VAC trông như thế nào trên máy hiện sóng, ở trên.
ISP814 được kết nối với ngắt 1. Vì vậy, khi nó nhận được tín hiệu rằng AC chuyển đổi từ tích cực sang tiêu cực hoặc ngược lại, nó sẽ đặt zeroCross cho mỗi kênh thành true và bắt đầu đồng hồ bấm giờ.
Trong phương thức loop (), nó kiểm tra mọi kênh nếu zeroCross là true và thời gian để nó kích hoạt đã trôi qua, nó sẽ xung TRIAC trong 10 micro giây. Điều này là đủ để bật TRIAC. Khi TRIAC được bật, nó sẽ tiếp tục bật cho đến zeroCross. Ánh sáng sẽ nhấp nháy khi DMX ở mức khoảng 3% vì vậy tôi đã thêm phần cắt bớt vào đó để ngăn chặn điều đó. Điều này đã làm cho Arduino quá chậm và xung đôi khi sẽ kích hoạt sóng sin tiếp theo thay vì 4% cuối cùng của sóng.
Cũng trong vòng lặp () tôi đặt giá trị PWM của các đèn LED trạng thái. Các đèn LED này có thể sử dụng PWM bên trong do Arduino tạo ra vì chúng ta không phải lo lắng về zeroCross của AC. Khi PWM được thiết lập, Arduino sẽ tiếp tục ở độ sáng đó cho đến khi được thông báo khác.
Như đã lưu ý trong các nhận xét trên cùng để sử dụng ngắt DMX trên chân 2 và chạy ở 20MHz, bạn sẽ phải chỉnh sửa một số tệp ứng dụng Arduino. Trong HardwareSerial.cpp, một đoạn mã phải bị xóa, điều này cho phép chúng ta viết lệnh gọi ngắt của riêng mình. Phương thức ISR này nằm ở cuối mã để xử lý ngắt DMX. Nếu bạn định sử dụng Arduino làm lập trình viên ISP, hãy đảm bảo hoàn nguyên các thay đổi của bạn thành HardwareSerial.cpp, nếu không ATMEGA328 trên bảng mạch bánh mì sẽ không thể truy cập được. Sự thay đổi thứ hai là một sự thay đổi lớn hơn. Tệpboards.txt phải được thay đổi thành tốc độ đồng hồ 20MHz mới.
độ sáng [ch] = bản đồ (DmxRxField [ch], 0, 265, 8000, 0);
Độ sáng ánh xạ tới 8000 vì đó là lượng micro giây của 1/2 một sóng sin AC ở 60hz. Vì vậy, ở độ sáng đầy đủ 256 DMX, chương trình sẽ để 1/2 sóng sin AC BẬT cho 8000us. Tôi đã đưa ra 8000 thông qua phỏng đoán và kiểm tra. Thực hiện phép toán 1000000us / 60hz / 2 = 8333 để đó có thể là một con số tốt hơn, nhưng có thêm 333us trên đầu cho phép TRIAC mở và bất kỳ jitter nào trong chương trình có lẽ là một ý tưởng hay.
Trên Arduino 1.5.3, họ đã di chuyển vị trí của tệp HardwareSerial.cpp. Bây giờ nó là /Application/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Bạn sẽ cần phải nhận xét toàn bộ điều này nếu khối bắt đầu bằng dòng 39: #if được định nghĩa (USART_RX_vect)
Nếu không, bạn sẽ gặp phải lỗi này: core / core.a (HardwareSerial0.cpp.o): Trong hàm `_vector_18 ':
Bước 6: Đóng gói nó lên
Tôi chọn hộp dự án màu xám ở Menards trong phần điện của họ. Tôi đã sử dụng một cái cưa pittông để khoét các lỗ cắm điện. Hộp đựng có một kẹp c của rạp hát được gắn vào đầu để treo. Đèn trạng thái cho mọi đầu vào và đầu ra để giúp chẩn đoán nếu có sự cố. Một nhà sản xuất nhãn đã được sử dụng để giải thích các cổng khác nhau trên thiết bị. Các số bên cạnh mỗi phích cắm đại diện cho số kênh DMX. Tôi dán bảng mạch và máy biến áp bằng một ít keo nóng. Các đèn LED được dán vào vị trí với các giá đỡ đèn LED.
Đề xuất:
DIY AC Light Dimmer: 4 bước
Bộ điều chỉnh ánh sáng AC tự làm: Trong tập này của Tự làm hoặc Mua, chúng ta sẽ xem xét kỹ hơn một bộ điều chỉnh ánh sáng AC thông thường và tìm hiểu cách hoạt động của nó. Sau đó, tôi sẽ giới thiệu cho bạn một thiết kế hiện đại hơn, kỹ thuật số, tự làm của bộ điều chỉnh độ sáng AC như vậy và chế tạo nó để tìm hiểu khi
DIY Trailing Edge Dimmer: 5 bước
DIY Trailing Edge Dimmer: Trong dự án này, chúng ta sẽ xem xét kỹ hơn những thách thức về điện mà bóng đèn AC LED cung cấp khi làm mờ chúng. Điều đó có nghĩa là tôi sẽ cho bạn biết một chút về cách chúng được xây dựng và chúng tôi cũng sẽ xác định sự khác biệt giữa lợi thế hàng đầu
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
DIY Smart LED Dimmer Điều khiển thông qua Bluetooth: 7 bước
DIY Smart LED Dimmer Điều khiển qua Bluetooth: Tài liệu hướng dẫn này mô tả cách chế tạo một bộ điều chỉnh độ sáng kỹ thuật số thông minh. Dimmer là một công tắc đèn phổ biến được sử dụng trong nhà ở, khách sạn và nhiều công trình kiến trúc khác. Các phiên bản cũ hơn của công tắc điều chỉnh độ sáng là thủ công và thường sẽ kết hợp công tắc xoay
Tất cả trong một · DMX Terminator & DMX Tester: 3 bước
Tất cả trong một · DMX Terminator & DMX Tester: Là một kỹ thuật viên chiếu sáng, đôi khi bạn cần biết các kết nối dmx của bạn giữa các thiết bị cố định tốt như thế nào. Đôi khi, do chính dây dẫn, thiết bị cố định hoặc do dao động điện áp, hệ thống DMX gặp nhiều sự cố và lỗi. Vì vậy, tôi đã làm