Opisywane urządzenie – konwerter DMX/ Ethernet – umożliwia przesłanie sygnału DMX przez sieć Ethernet za pomocą protokołu TCP/IP. Co ważne, połączenie nie musi być wykonywane za pomocą kabla. Konwertery można dołączyć do punktów dostępowych pracujących w konfiguracji Access Point lub Bridge.
Schemat ideowy konwertera DMX/Ethernet pokazano na rysunku 1. Ma nieskomplikowaną budowę, a cała funkcjonalność jest skupiona w oprogramowaniu. Urządzenie składa się z kilku bloków funkcjonalnych:
- Zasilacza wykonanego z użyciem popularnego stabilizatora impulsowego MC34063 (U3). Układ przetwornicy pracuje w typowym układzie aplikacyjnym stabilizatora w konfiguracji step-down i dostarcza napięcie 3,3 V.
- Mikrokontrolera ATmega128 (U1), który koduje i dekoduje sygnał DMX oraz obsługuje transmisję przez Ethernet (transmisja danych za pomocą protokołów UDP, TCP/IP; konfiguracja konwertera za pomocą interfejsu WEB).
- Karty sieciowej z układem ENC28J60 (U2) i transformatorem J2.
- Konwertera sygnałów interfejsu RS485 (warstwa fizyczna DMX-512) na standard TTL zbudowanego w oparciu o układ scalony MAX3485 (U4).
Schemat montażowy konwertera pokazano na rysunku 2. Montaż jest typowy i nie wymaga omawiania. W początkowej fazie uruchamiania nie należy montować układów U1, U2 i U4, a uruchomienie konwertera najlepiej rozpocząć od zasilacza. Układy U1, U2 i U4 montujemy tylko wtedy, gdy zmierzone napięcie jest poprawne. Jeśli mimo zaleceń układy U1, U2 i U4 są wlutowane przed uruchomieniem zasilacza, to należy konwerter dołączyć do zasilacza laboratoryjnego. Ustawiamy na nim napięcie 4 V oraz ograniczenie prądowe 300 mA. Wolno podwyższając napięcie z zasilacza kontrolujemy napięcie wyjściowe stabilizatora. Jeśli ustabilizuje się ono na poziomie około 3,3 V (max 3,6 V) to wszystko jest w porządku. W przeciwnym wypadku należy sprawdzić poprawność montażu stabilizatora impulsowego, najprawdopodobniej w obwodzie dzielnika napięcia.
Mikrokontroler należy zaprogramować za pomocą programatora z interfejsem JTAG, np. AVT-5322. Dostępne są dwie wersje programu: Sender i Reciver. Ze względu na niewielką pojemność pamięci RAM w mikrokontrolerze, nie udało się zaimplementować możliwości wyboru trybu pracy Sender/ Reciver z poziomu menu konfiguracyjnego. Problem rozwiązałoby zastosowanie mikrokontrolera ATmega1280-16AU (8 kB RAM), ale jest on drogi. Kosztuje około 50 złotych, podczas gdy zastosowany w projekcie ATmega128- 16AU około 26 złotych. W takiej sytuacji lepszym rozwiązaniem byłoby użycie ATmega2560-16AU, który ma zbliżoną cenę, ale za to pamięć Flash o dwukrotnie większej pojemności.
Po zaprogramowaniu mikrokontrolera programem Sender, podłączamy konwerter do sieci Ethernet, w której znajduje się komputer PC, którym posłużymy się podczas konfigurowania konwertera. Sposób połączenia zworek na płytce konwertera opisano w tabeli 1.
Nadajnik po wgraniu firmware nadajnik (Sender) będzie widoczny pod adresem 192.168.3.99, natomiast odbiornik (Receiver) pod adresem 192.168.3.98 (maska podsieci 255.255.255.0). Jako nadajnik należy rozumieć urządzenie, które odbiera dane DMX i wysyła przez sieć Ethernet. Aby zmienić adres należy na komputerze podłączonym do tej samej sieci ustawić adres w tej samej sieci, co pokazano na zrzutach ekranowych, na rysunku 3.
Po powyższych czynnościach w oknie przeglądarki wpisujemy adres 192.168.3.99. Powinien pokazać się ekran jak na rysunku 4 wyświetlany w trybie nadajnika. Dla adresu 192.168.3.98 będzie to ekran pokazany na rysunku 5 wyświetlany w trybie odbiornika. Za ich pomocą można zmienić adresy MAC, IP, bramy domyślnej oraz komentarz (rysunek 6). Trzeba pamiętać, że adresy MAC i IP w ramach jednej podsieci nie mogą powtarzać się. Adres MAC adres modułów zakupionych w AVT jest ustalony na 00:51:56:54:00:00. Bajty 51, 56, 54 tworzą ciąg znaków "AVT". Gdy używamy jednego modułu, MAC nie musi być zmieniony. Jeśli będziemy stosowali kilka modułów w tej samej podsieci, adresy MAC zależy zmienić na unikatowe, niepowtarzalne wartości, które nie są włączone do podsieci.
Adres bramy jest istotny, jeśli konwerter ma komunikować się z innym modułem lub programem w sieci odległej. Maskę podsieci należy ustawię zgodnie z regułami obowiązującymi w danej sieci. Adresy IP należy ustawić tak, aby nie pokrywał się z adresem innego urządzenia. Po zmianie adresu IP lub MAC adresu, konwerter wykona restart. Ponowne uruchomienie trwa około 2 sekund. W wypadku zmiany adresu IP po restarcie konwertera można kliknąć w "Skocz pod nowe IP" (rysunek 7).
Trzeba pamiętać, że jeśli przy zmianie IP zmieniliśmy podsieć, to aby "dostać się" do konwertera należy zmienić ustawienia adresu IP komputera sposobem opisanym wcześniej. Adres można także zmienić w kodzie źródłowym w pliku endc.c. Należy odnaleźć tam #define STDIP i zmienić adres na inny, skompilować program i zaprogramować mikrokontroler. Jeśli podczas zmiany adresu popełnimy błąd albo zapomnimy, jaki adres ma konwerter, można go przywrócić przez założenie zworki na jumper J1 (INIT) i włączenie zasilania. Adres konwertera po wyzerowaniu zworką INIT jest ustawiany na zgodny z wpisanym w #define STDIP3tRST.
Po kliknięciu na przycisk Host (rysunek 8) możemy wpisać adres IP odbiornika. Może to być adres w sieci lokalnej lub zdalnej. W zakładce Host można też zmienić adres portu, za pomocą którego są wysyłane dane (UDP OUT). Ustawienie UDP IN dla nadajnika nie ma znaczenia. W wypadku odbiornika istotne jest tylko ustawienie UDP IN – znaczenia nie mają pozostałe okienka.
Funkcje sygnalizacyjne diod LED:
- Power: miga z częstotliwością 1 Hz podczas pracy
- Rx: rozbłyska na 30 ms po odebraniu danych po UDP
- Tx: rozbłyska na 30 ms po wysłaniu danych po UDP
- Dmx: w odbiorniku – świeci go odebrano sygnał DMX. W odbiorniku – świeci, gdy otrzymuje dane DMX z nadajnika.
- Status: miga, gdy błąd pamięci EEPROM, zgaszona podczas normalnej pracy.
Diody na gnieździe RJ45:
- Zielona "Link" – świeci po wykryciu poprawnego połączenia za pomocą Ethernet.
- Żółta "ACK" – zaświeca się podczas transmisji danych.
Wykaz elementów
Rezystory: (SMD 1206):
R2...R4: 1 Ω
R6: 1,5 kΩ/1%
R21: 2,2 kΩ/1%
R25, R27, R29: 10 kΩ
R11, R12, R20, R23, R24: 51 Ω
R22: 100 Ω/1%
R26, R28: 180 Ω
R19: 120 Ω/240 Ω
R1, R7...R10, R13...R16, R30, R31: 330 Ω
R17, R18: 470 Ω
R5: 910 Ω/1%
Kondensatory: (SMD 1206):
C1: 10 µF
C3, C8...C10: 1 µF
C4...C7: 22 nF
C11: 470 pF
C2, C13, C14: 470 µF/25 V (elektrolit.)
Półprzewodniki:
U1: ATmega128-16AU (PQFP64)
U2: ENC28J60-I/SO (SOIC28)
U3: MC34063AD
U4: MAX3485CPA+ (DIP-8)
D2, D3, D9: SS14 (dioda, DO21)
D4...D7: dioda LED zielona (SMD)
D8, D12: dioda LED żółta (SMD)
D1: dioda LED, niebieska (SMD)
D11: dioda LED, biała (SMD)
D13: dioda LED, czerwona (SMD)
Inne:
J2: moduł Ethernet 08D0-1X1T-06-F
Q1: rezonator kwarcowy 25 MHz
Q2: rezonator kwarcowy 16 MHz
L1: dławik 68 mH
L2: dławik 100 mH (np. DL22-100)
J5: gniazdo NS25-03
J1: listwa kołkowa goldpin 1×2
JP1: gniazdo 14 pin proste
JP2: gniazdo 10 pin proste
JP3: listwa kołkowa goldpin 2×4
J3: listwa zaciskowa rozłączalna TB-5.0-PP-2P-BL+ TB-5.0-PIN-2
Dodatkowe materiały na CD lub FTP:
ftp://ep.com.pl, user: 08252, pass: 852rja63
Sławomir Skrzyński, EP