DMX Sistemi Nedir, DMX512 Işık Kontrol Sistemleri.

DMX Sinyal protokolü, genellikle Işık kontrol sistemlerinde kullanılır. Bunu biraz irdelemek gerekir. Yanlış bilgilenmeyi önlemek için.
Işık sistemlerinde deyince, sadece ışığın aydınlatma bilgisi geliyor diye düşünürseniz yanlış olur. Bir çok işte kullanılabilir. Örnek olarak, aşağıdaki gibi bir ışık sisteminiz var. Bu sistem ışık veriyor sağa,sola,yukarı ve aşağı hareket ediyor. Bu sistemin RGB olduğunu düşünürsek her bir parça için, adres tanımlaması yapılmaktadır. R=1. adres, G=2.adres, B=3.adres, 1. motor=4. adres, 2. motor=5.adres gibi düşünebilirsiniz. Tabii ki bunlardan bir çoğunun yan yana olduğunu da düşünebilirsiniz. Konser sahnelerinde olduğu gibi. Bu sistemler DMX sinyaliyle bir program dahilinde çalışabiliyor. Programı gönderen hat üzerinde hangi adreslerin yer aldığını ve bu adreslerde hangi zamanda neler yapılacağını bildiğinden animasyonunu hazırlar.

DMX512 sistemi ilk olarak 1986 yıllarında ortaya çıkmış bir sistemdir. Konsollarla (verici) , dimmerler (alıcı), kendi aralarında kolay kablo bağlantısıyla, haberleşiyordu. Bazı problemleri giderilerek 1990 yılında standart haline geldi. 
Bu protokol sadece 1 gönderimde 512 adrese bilgi yollayabilir. Fakat daha fazla alıcı ünitemiz varsa ne yapabiliriz.
UNIVERSE denilen bir bağlantı durumu kullanılır. Bu da 512 adresli vericiler olarak düşünülebilir. Alıcı ünitelere DMX adresleri verilirken UNIVERSE bilgisi verilmez. Sadece adres bilgisi verilir. Şu şekilde bakabiliriz. elinizde RGB 3 adet DMX protokolü kullanan armatür var. Bunların her birine R=1, G=2, B=3 adresleri verebilirsiniz.
Bu durumda tek bir universe (verici) varsa, 3 armatürü hatta bağladığınızda adresler aynı olduğundan hepsi aynı anda aynı ışığı verecektir. Bu armatürlerin farklı yanmasını istiyorsanız ayrı universe(vericilere) bağlamanız gerekir. 1 hat üzerinde, 512 adresten sadece birer tane olmalı. Birden fazla olursa aynı adresli olanlar aynı zamanda ışık vereceklerdir. Bundan dolayı verici sistemlerinde UNIVERSE ayrımı vardır. Bu universe sistemi, alıcılarda yoktur. Sadece kablolama yapılırken her universe bağlı cihazlar birbirine bağlanır.
UNIVERSE KANALLARI
1-) 1-512
2-)  513-1024
3-) 1025-1536
4-) 1537-2048
5-) 2049-2560
6-) 2561-3072 … vb.
Fakat bu rakamların büyüklüğüne bakmayın. Her biri 512 adresten oluşur. Yani protokole bakarsanız adres olarak hiç bir zaman 600. adres yoktur. Bu sayılar lamba adetlerini gösterir.

DMX512 Protokolü :
Sinyal sürekli olarak tekrarlanan bir sinyaldir. Saniyede 44 kez tekrarlanabilir. Bu sistem bir posta sistemine benzetilebilir. Bir postacı 512 adresin posta kutusuna, adreslerine göre 512 mektup bırakır.

& h01 … & h02 … & h03 … & h04 … & h05 …

& h06 … & h07 … & h08 … & h09 … & h0A …

Sinyal seri bir formatta bulunur. Her bir bit 4usn uzunluğundadır. Bu da haberleşmenin 250KB =250000baud hızında olduğunu gösterir.
Sistem bu kadar hızlı bir şekilde çalışırken bazı belirteçlere ihtiyaç duyar. Başlangıç palsi gibi.
Sinyalin bölümlerini inceleyelim.
1) IDLE veya NO DMX durumu: Geçerli bir DMX paketinin yokluğunda bir DMX hattının çıkışı sürekli bir HI sinyali olacaktır.
2) BREAK: Bir DMX paketinin başlangıcı, MINIMUM 88 usn bir süre boyunca sinyali LOW durumuna gönderir. Bu, 22 adet x4usn  LOW bitinin arka arkaya verildiği anlamına gelir. Bu BREAK olarak bilinir. BREAK daha uzun olabilir ancak 88 usn den az olamaz. Deneyimler, bir konsoldan gönderilen biraz daha uzun sinyalin (88 usn üstünde) daha iyi olduğunu göstermektedir, çünkü alıcı cihazlara genellikle “BREAK” 88 us veya 22 pals, algoritması verilir.
3) BREAK sonrası MARK (MAB): MAB, BREAK ten sonra , minimum 8 usn veya 2 puls süresince HIGH durumuna getirerek izler. Bu MAB biraz problemlidir çünkü orijinal DMX512 ve mevcut DMX512 (1990) standartları arasındaki fark paketin bu periyodu ile ilgilidir. Orijinal 4 usn veya 1 darbeye ayarlandı. Bu, bazı alıcılarda algılama için çok kısa bir MAB olması nedeniyle ortaya çıkan sorunlar yarattı ve 1990’da 8 usn ya da 2 darbeye yükseltildi.
Sorun daha eski alıcıların daha yeni alıcılarla ya da tam tersi şekilde kullanılması durumunda ortaya çıkıyor. Yanlış veri yanlış kanala gidiyor. Bu da verilerin yanlış algılanmasına sebep oluyor. Bazı alıcılar, bu parametreyi her iki zamanlama için ayarlamak üzere bir dip anahtarına sahiptir. Maksimum MAB uzunluğu 1 saniye bile olabilir. İdeal zamanlama 8usn olsa da kendi vericinizi oluşturuyorsanız bunu 12usn olarak yapabilirsiniz.
4) BAŞLANGIÇ KODU (SC) : SC, tüm bireysel kanal verilerinin aynı formata sahip olduğu gerçek veri akışının başlangıcı olduğunu hatırlamak daha kolaydır. BREAK ve MAB farklı zamanlamalara sahipti, ancak SC’den itibaren tüm format, 11 darbe veya 44 usn genişlikte aynı yapıya ve zamanlamaya sahip olacak. Birincisi, LOW seviyesinde bir kanal olan ve SC’yi temsil eden kanal No=0 için veri olarak adlandırılabilir.

Bu resimde gördüğünüz üzere SC en başta değer olarak da sıfır veriye sahiptir. Aynı zamanda da 0. adres olarak tanımlanır. Yani paket şekline bakarsak gerçek adreslerimiz 1 den 512 ye kadar sıralanmış olacaktır. Alıcı adresleriniz hiç bir zaman 0. adrese sahip olamaz. 

Şimdi de gönderilen bitleri inceleyelim. (1 çerçeve için.)
Her adres için 11 bit gönderilir (9+2) olarak ifade edilir. ( Hatırlarsanız rs232 kullandığınız yerlerde 8+1 kullanılıyordu)  Bu bitlerden ilki, mutlaka sıfırdır. Arkasından gelen 8 bitlik data bilgisidir. (0-255 sayısına ulaşabilecek şekilde) Daha sonra gelen 2 HIGH durdurma biti ile tamamlanır.
SC, sinyal protokolünde ayıraç olarak kullanılır. Bu ne demektir. Işık sistemlerinde verici olarak alıcılara bilgi gönderiyorsa, SC=0 olacaktır. Fakat DMX sinyalleri 2 yönlü de çalışabilmektedir. RDM denilen bu sistemde, Programlar hat üzerinde hangi adreslerin olduğunu öğrenmek için bazı kodlar yollayarak, sistemin bağlı olan bileşenlerinden bilgi isteyebilirler. Bunu yaparken SC kısmını kullanırlar. Bu konumuzun şu anda dışındadır. İleride bu konuda da bilgi eklenebilecektir.

DMX512 sinyali, RS485 olarak bilinir, EIA485 olarak bilinen endüstri standardı arayüzü ile iletilir. RS485 standardı, dijital HIGH ve LOW iletmek için iki ya da üç kablo kullanır.
1) + sinyal kablosu (+ s)
2) – sinyal kablosu (- s)
3) 0 kablosu veya topraklama kablosu (0v)
(+ s) kablosu, (- s) kablosundan daha yüksek bir potansiyelde olduğunda, dijital 1 (HIGH) gönderilir.
(+ s) kablosu, (- s) kablosundan daha düşük bir potansiyelde olduğunda dijital 0 (LOW) gönderilir.

Bu iki veri kablosu arasındaki fark, ÖNEMLİDİR; Bu potansiyel farklar, basitçe bir referans noktası olan topraklama kablosu arasındaki fark DEĞİLDİR. Topraklama kablosu bazı EIA485 kurulumlarında mevcut olmayabilir.

Çalışma sistemi bu resimde ifade edilmiştir. 75176 ya da max485 gibi entegreler bu şekilde çıkış verirler. Ya da Giriş alırlar.

Kablolama :  Burada toprak sadece blendaj olarak kullanılır. Bu da gürültüyü azaltmaya yarar. Aynı zamanda iyi bir kablo ile uzun mesafeye bağlantı yapılırken, EIA485, standardı der ki fark,  200 milivolt tan aşağı olmamalı.
Kablo seçimini yaparken, 3 kablolu bir sistem yapıyorsanız audio kablolarını tercih ederseniz sonuç kötü olacaktır. DMX kabloları kendi içerisinde çapraz bir şekilde birbirine geçerek ilerler bu gürültüyü azaltacaktır, aynı zamanda örgülü topraklama ile de gürültüyü azaltıp sinyaldeki kaliteyi iyileştirecektir.

XLR denilen konnektör sistemleri kullanılır. Bu konnektörlerin bağlantı şekilleri için bu sayfaya bakabilirsiniz. DMX out yani verici kısım konnektörü daima FEMALE (dişi) olarak seçilir. DMX IN (Alıcı) konnektörü ise daima MALE (erkek) seçilir.

Bütün bu kaliteyi arttırıcı tedbirleri aldınız. Ne kadar mesafeye gidebilirsiniz. Kablo olarak değil, öncelikle ünite olarak bir kısıtlamanız olmaktadır. 32 adet üniteyi birbirine bağladığınızda sinyal seviyesi düşeceğinden sorun ortaya çıkabilecektir.
Ayrıca bir de sonlandırma direnci mevcut olmalıdır. Bu da hattın sonlandırılmasını sağlayacaktır.

120ohm sonlandırma direnci. toprağa bağlanıyor.
120ohm sonlandırma direnci. toprağa bağlanıyor.

 

Diyeceksiniz ki 512 adres var, sonuna kadar bağlayamıyor muyum. Elbette ki bağlayabilirsiniz. Bunun için arada yükseltici kullanmanız gerekmektedir. Bu yükselticinin adı splitter olarak bilinir. Splitter dediğimiz yükselticide giriş ve çıkış arasında DC izolasyon yapılması çok daha iyi olacaktır. Bunun için 5V dc dc çevirici kullanılır. Sebebi ise bağlantılı olan grupta bir problem olduğunda gelen sinyalin etkilenmemesidir. Şöyle örnek verebiliriz. splitter bağlı aynı dmx sinyalini kullanan 10 grup var. Bu gruplardan biri, armatürlerin açık alanda çalışması sebebiyle suya maruz kaldı ve sinyal zayıfladı hatta kısa devre oldu. İzolasyon olduğundan dolayı çıkıştaki bu olay girişi etkilemediği için gelen DMX sinyali düzgün bir şekilde çalışacak demektir. Bir de splitter de bunu sağlamak için optokuplör kullanılır. Bütün bu izolasyonlar Gelen DMX sinyalinin zayıflamaması içindir. 10 tane ürün devre dışı kalacakken, bu izolasyon olmazsa yüzlerce ürün sorunlu hale gelir. Tabii ki 10 tane üründe sorun aramak varken, yüzlerce armatürden birinde sorun olacağı ve bizim daha çok uğraşacağımız hale gelir. İdeal bir izolasyonlu splitter devresi için buraya bakabilirsiniz.
Bu dokümanda gördüğünüz devrede DC izolasyon için 2 çıkışlı trafo kullanılmış. Ayrı ayrı dc regülatör kullanılmış. Bunun yerine DC DC çevirici komponentler kullanılabilir.

Basit bir örnek Devre aşağıdaki şekildedir. Bu bağlantıya dikkat ederseniz gelen sinyal hem splitter’e hem de bir sonraki cihaza gidiyor. Bağlantı bu şekildedir. Aydınlatma üniteleri yapılırken üzerinde giriş ve çıkış konektörleri bulunur. Bu konektörler, seri bağlanan cihazların kolaylıkla birbirine bağlanmasını sağlar. Tabii ki bu giriş çıkışlar direkt birbirine bağlandığından alıcı cihazda bir yükseltme işlemine tabi tutulamaz. Splitter giriş kısmında bunu görebilirsiniz.
Splitter devreleri 1 giriş 4 kanal çıkış gibi yapılabilir. Bu da farklı hatların oluşmasını sağlar. Her bir kanal 32 cihaza kadar kontrol edebilir. Tabii ki bu 1 universe olarak 512 adresten fazla kontrol edemeyeceğimiz gerçeğini değiştirmez.

Örnek splitter devresi

 

Şimdi ise USB den çalışan bir verici yaparak, alıcı cihazlarımızı nasıl çalıştırabileceğimizi görelim.
Bunun için Öncelikle OPEN DMX denilen sisteme bakalım. Bu sistem ENTTEC firmasının sistemi diyebiliriz. Bu sistem için RS485 verici modülü gerekecektir. Fakat piyasada satılan bu tip olanı USB RS485 çeviriciyi, DMX verici programlar tanımıyor. 
Bunun yerine FT232RL tipi USB seri çeviricilerden bulunması lazım. FTDI denilen sistemin driver ları hem windowsunuzda hem de internette bulunuyor. Aşağıda bu tip bir verici şeması göreceksiniz. İsterseniz hazır modül alırsınız, isterseniz de bazılarının yaptığı gibi FT232 entegresini alıp kendiniz pcb monte edebilirsiniz.

 

Burada vereceğim devrenin ilki benim kullandığım devredir. Benzer devreler internette bulunabilir. Aşağıdaki TXT Dosyasında bulunan linkler bu konuda yazılmış kaynakları bulmanızı kolaylaştıracaktır.

Bu sparksfun FT232 breakout board diye geçer. Uçlarına bakıp diğer FT232 modüllerle de yapılabilir.
Bu resim yukarıdaki resimdeki bağlantı isimlerini gösterir.
Türkiyede daha çok bulabileceğiniz bu tip FT232RL modülü de burada kullanabilirsiniz. Ben bu tip bir USB çevirici kullandım.
Bu daha farklı bir devre olmasına rağmen sistem olarak benzerdir.

Yukarıdaki devrelerde dikkat edeceğiniz bir nokta vardır. Max485 ya da 75176 nın 2. ve 3. bacakları entegrenin çıkış ya da giriş olarak kullanılmasını sağlar. yani dmx in ve dmx out durumuna göre değişen bir gerilim uygulanır. Bağlantı noktaları Bazen RST bazen de burada olduğu gibi Cbus2 ucuna bağlanmış olabilir. Bu önemlidir. FTDI driver hangisini kullanıyor buna bakılması lazım. Bazı kişiler devrelerini yayınlıyorlar ve FT232 entegresindeki programı kendilerine göre değiştirebiliyorlar. Bundan dolayı normal driver ile çalışmayabilir. Bu konuda denemelerim olmadığından dikkat etmeniz gerekmektedir. Bu konuda Yardımcı olamayacağım. 

Farklı bir USB dmx devresine buradan ulaşabilirsiniz. 

Buradan da FTDI driver yükleme ve farklı bir DMX interface devresi görebilirsiniz.

BU sayfadan da ARDUINO ile nasıl yapılır örneğine ulaşabilirsiniz.

DMX ALICI DEVRELER.
Alıcı devreler 2 bölümden oluşur.
1-) Alıcı entegre ve adresleme kısmı. Bu adres sistemi entegre içinde olabildiği gibi dip switch kullanılarak da değiştirilebilir.
2-) Sürücü devre: Çıkıştaki aydınlatma ürünlerini çalıştırma.Çıkış devrenizin gücüne uygun seçeceğiniz mosfetlerle yapabilirsiniz.

Alıcı devre için program yapılması gerekir. Bu konuda Arduino örnekleri ve PIC örnekleri internette mevcuttur. PIC işlemciler için MICROCHIP firması AN1076 denilen bir PDF dosyasında örneği vermiştir. 
Bu alıcı ve verici, ASM örneklerine bakarak geliştirebilirsiniz.
İnternette hazır programlar da bulabilirsiniz.
ARDUINO üzerinde çalışabilecek DMX alıcı programları da mevcuttur. Önemli bir kaynak ise bu ARDUINO sayfasındadır. 
Ayrıca ARDUINO için bu örnek de mevcuttur.

DMX alıcı için örnek devre şeması budur. Kaynağına bakmak isterseniz Bu sayfaya bakabilirsiniz. 

DMX 4 kanal alıcı devresi

Videodaki gerçek devre. :

Yukarıdaki fotoğrafta, sol taraftaki PIC entegresi alıcı devresidir. Sağ taraftaki ise RGB için Mosfet sürücü devresidir. Altta ise sadece 75176 dmx giriş entegresi var. Bu devre biraz büyük, deneme devresi olduğundan ve tek yüzlü pcb olduğundan. Normalde çok daha küçük yere sığabilir hatta 4 renk yapılabilir RGBW olarak.

Bir de açıklamak istediğim animasyon programları var.
1-) Bunlardan profesyonel olanı MADRIX ışık kontrol programıdır. Bu program ile merkezi bir noktadan binlerce aydınlatma ürünü DMX ile kontrol edilmiştir. Kullanımı kolay bir programdır. Ücretli bir programdır. Fakat DEMO versiyonu bile tüm özelliklerinden faydalanılabilir durumdadır. Şayet ticari kullanmak isterseniz USB dongle denilen bir aparat gerekmektedir (Tabii ki yüksek fiyatlara) . Demo haliyle kullanacaksanız arasıra 5-10 sn olarak çıkışı durdurup tekrar çalıştırıyor. Bu da amatör denemelerde sorun yaratmamaktadır. MADRIX programının web sitesine gidip yeni versiyonu yükleyebilirsiniz. Ayrıca kullandığım tüm dosyaları buradan indirirseniz, MADRIX programının, windows xp ve win10 da çalışan versiyonunu kullanabilirsiniz. Ayrıca burada bulunan örnek animasyon dosyasını kullanabilirsiniz.

2. DMX animasyon programı FREESTYLER programıdır. Bana kullanımı zor gelse de çeşitli anlatım videolarını seyrederseniz, bir çok kişinin ücretsiz olarak kullandığını görebilirsiniz.
Buradan Freestyler programını alabilirsiniz.

3. program ise benim visual basic 6.0 kullanarak yaptığım basit bir programdır. Bu program ile DMX alıcılarınızın adreslerini tespit edebiliyorsunuz. Ayrıca animasyon olarak da bir kaç animasyon vardır. Bu program yapılırken OPEN DMX denilen sitenin hazırladığı kütüphane kullanıldı. Bu programa bakarak kendi programlarınızı yazabilirsiniz.
BİR KONUDA UYARMAM GEREKİR. VB6 kaynak dosyalarında sorun olmasa bile oluşturduğum EXE programda malware virüs var diyor. Kendi bilgisayarımda programı çalıştırırken virüs uyarısı almasam da kopyalama yaparken malware virus var diyor. Bu konuya dikkat edin. ben security360 kullanırken sorun görünmüyor. İnternette virüsü taradığımda ise visual basic formlarının yapısını, bazı virüs programlarının, virüse benzettiği için yanlış alarm verdiğine kanaat getirildiğini okudum. İnternetteki virus programlarıyla arattım bulamadım. Konuya dikkat çekmek istedim. 

4. Program ise QLC+ aydınlatma programıdır. Bunu hiç kullanmadım bilginiz olsun diye koyuyorum.

Tüm dosyalara buradan ulaşabilirsiniz. 

DMX sisteminin anlatımı ve Visual basic ile yaptığım programın çalışması :

MADRIX programı video:

DMX Gerçek devrenin anlatımı ve gerçek hızda sese göre dmx kontrolü.

DMX örneklerinden birkaçı, Ankara Kuzey Yıldızı Parkı. Su sistemi de DMX kontrollüdür. Ayrıca bu kadar büyük alanda kablolu bilgi aktarımı sorun olacağından Merkez bilgisayarı ile kontrol dolapları arasında Fiber optik sistemler kullanılarak, mesafe sorunu çözümlendi. 
 

 

Çeşitli dmx sayfaları.Bu linklerle araştırmalarınıza başlayabilirsiniz.

http://www.dmx512-online.com/

http://www.multi.fi/~mbc/personal_mini_usb_dmx.html

USB to DMX Interface Adapter/Converter (v1.0)
https://www.instructables.com/id/FTDI-USB-Adapter-Based-DMX-Transmitter-With-Isolat/ http://ricardo-dias.com/projects/opendmx/ http://openschemes.com/2011/06/17/homebrew-usb-dmx-interface-with-sparkfun-ft232rl/ ( benim adaptörüm) https://cpoint-lighting.com/downloads/index.htm http://www.hoelscher-hi.de/hendrik/english/openrdm.htm#hard http://mirvo.ru:85/ldc/unzip/ARHIVALL2/ARHIV2/files/DMX512/PonyProg2000+usb-dmx512/inf/usb-dmx512_dongle_files/ https://www.elektormagazine.com/labs/isolated-usb-to-dmx512-converter160493 http://uncleeugene.net/page/izolirovannyj-dmx-intrefejs-dlja-pc http://dmx512.cvut.org/USB-DMX512-navod.htm https://dargs.com.au/2016/08/28/arduino-dmx-mp3-receiver/ ARDUINO DMX https://github.com/dargs ARDUINO DMX http://sinforcon.com/news/html/431.html
Receptor DMX (DMX512)
http://www.todopic.com.ar/foros/index.php?topic=19672.90 https://forum.mikroe.com/viewtopic.php?t=9450 http://www.microchip.com/design-centers/intelligent-lighting-control http://ww1.microchip.com/downloads/en/appnotes/01076a.pdf ( dmx örnek program var. ) http://ww1.microchip.com/downloads/en/AppNotes/TB3204-DMX-512-using-UART-90003204A.pdf https://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_USB_RS485_CABLES.pdf https://interactive-online.com/blog/knowledgebase/dmx-512-connector-pinouts https://www.eldoled.com/cms_file.php?fromDB=9706&forceDownload ====================================== Youtube Video örnekler ===================================================== DMX PROGRAMLARI https://www.enttec.com/products/controls/dmx-usb-interfaces/open-dmx-usb/ https://www.madrix.com/support/download http://www.freestylerdmx.be/ https://www.dmxcontrol.de/en/downloads/file/202-dmxcontrol-3-1-3.html

 

 

8 Comments

  1. Bunca bilgi ve emek bir teşekkürü fazlasıyla hakediyor. Hiç soruya mahal bırakmamışsın üstad eline sağlık.

  2. emeğinize sağlık. böyle bir kaynak için çok geç kalındı ama yinede mükemmel bir çalışma olmuş.

  3. Bravo şafak emeğine sağlık muazzam bilgi sana ulaşabileceğmiz bir.platform var mı?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.