projekt.cvut.org
Přílohy
1. Popis modulu KM-1 (.pdf)
2. Popis modulu UMS2 od firmy Asix s.r.o. (.pdf)
3. Princip krokových motorků
4. Zapojení elektrické síťové zásuvky (typ E)
5. Zdrojový kód programu pro modul KM-1
Tato práce má za cíl najít co nejefektivnější způsob řízení světelných efektů za účelem podbarvení hudby. Je zbytečné vymýšlet něco co je již hotové, proto se při této práci snažím využít již hotových prostředku které by usnadnily tvorbu tohoto projektu a jeho dovedení do využívatelné podoby popřípadě rozšířily jeho možnosti. Proto jako komunikační protokol jsem se rozhodl použít standardní DMX512, jehož rozbor naleznete níže, neboť je nímž již skoro veškerá profesionální technika ovládána a k jeho řízení dostupné PC. Efektivnost je také v jednoduchosti ovládání. Snažím se tedy také vytvořit SW, který by analyzoval hudbu a pokud možno sám, bez dalšího zásahu osvětlovače by dokázal vytvořit srozumitelnou a pro oko příjemnou světelnou scénu vhodnou pro daný hudební žánr.
(čerpáno ze serveru www.mcu.cz, autor Milan Kostomlatský)
Protokol
DMX512 byl navržen v roce 1986 institutem USITT,
jako základ řízení stmívačů a dalších světelných efektů v divadlech pomocí
digitálního rozhraní. Měl nahradit do té doby používané analogové řízení.
Přinesl první digitální standard do džungle výrobců konzolí, stmívačů a
efektů používaných nejen na prknech znamenajících svět.
DMX512 není v žádném
případě dokonalý protokol, ale potřebám pro které byl
navržen, vyhovuje. ESTA si je jeho nedokonalostí vědoma a
připravuje nové standardy založené na TCP/IP. Na druhou stranu je tento
protokol ve své implementaci tak jednoduchý a spolehlivý, že umožnil použití
světelné techniky v místech opravdu nečekaných.
Základem DMX512 je
jeho elektrická specifikace. Ta vychází z osvědčeného průmyslového
standardu EIA485 (RS485). Vzhledem k širokému použití tohoto standardu v
průmyslu jsou technické prostředky pro jeho implementaci velmi levné a
přizpůsobené pro nejtvrdší podmínky nasazení.
Základní
charakteristiky EIA485
Nedílnou součástí
specifikace DMX512 je i stanovení doporučených konektorů a obsazení jejich
pinů. Standardně jsou doporučeny konektory XLR. A to v pěti pinové verzi. U
starších zařízení je možné nalézt i tří pinovou verzi těchto konektorů.
Rozložení pinů a přiřazení signálů je popsáno v následující tabulce.
Pohled na konektory z "vnějšku" |
|||
|
|
|
|
Přiřazení
pinů XLR konektoru Pin |
Vodič |
Signál |
1 |
Stínění |
zem / 0V |
2 |
1 pár
(black) |
Data - |
3 |
1 pár
(white) |
Data + |
4 |
2 pár
(green) |
*Data - |
5 |
2 pár
(red) |
*Data + |
Standardně je k
přenosu signálu použit jeden pár kroucené dvojlinky (1 pár). Ve specifikaci je
pamatováno na případná rozšíření a je uvažován i druhý datový pár (2 pár)
v tabulce označen jako *Data. Využití tohoto doplňkového páru není přesně
definováno a je na vůli výrobce jak jej použije.
Pro převod úrovní
EIA485 na běžnou TTL úroveň je možné použít standardní průmyslové obvody -
například SN75176B od Texas
Instruments, případně řadu ekvivalentů. V případě galvanického
oddělení existuje řada obvodů řešících vše potřebné na jednom čipu -
například ISO485P od Burr-Brown.
Často použité přímé
připojení optočlenu na linku DMX512 je možné použít pouze za předpokladu, že
jste schopni zajistit přímé propojení jednoho vysílače na jeden přijímač. V
opačném případě toto zapojení dramaticky snižuje počet současně připojených
přijímačů a zvyšuje možnost vzniku chyb.
Formát dat
Vlastní přenos informace je asynchronní s jedním start bitem, osmi datovými
bity, bez parity a se dvěma stop bity. Bitová rychlost je stanovena na 250
kBd/s, tedy poměrně vysoko. Jeden bit má dobu trvání 4_s a jeden datový bajt je
přenesen za 44_s (11 bitů). Datové bity jsou vysílány od
nejméně významného (D0) k nejvýše významnému (D7).
Reprezentace datového bajtu s hodnotou 91 (DEC)
Start a stop bity
jsou využívány k synchronizaci vysílače a přijímače. Klidová úroveň
na lince je "1" Na následujících obrázcích je zobrazen stav na
lince při vysílání dvou mezních hodnot
|
|
Formát DMX512
paketu
Formát paketu je hlavní přínos
standardu DMX512. V podstatě se jedná o jednoduchý "vláček" datových
bajtů uvozený synchronizační mezerou a startovacím kódem.
Specifikace časování |
Min |
Max |
Break |
88_s |
1s |
Mark-after-break |
8_s |
1s |
Inter-frame-time |
0_s |
1s |
Výskyt vysoké, nebo nízké
úrovně na lince po dobu delší než jedna sekunda je vyhodnocen jako ztráta
signálu (chyba). Koncová zařízení (stmívače, efekty) se při ztrátě signálu
chovají naprosto nevyzpytatelně. Některá automaticky nastavují vše na nulovou
úroveň, některá udržují stav dle posledně přijaté hodnoty a některá se prostě
"zblázní".
Slovo závěrem
Instalace DMX512 je kapitola sama pro
sebe. Hodně chyb se dělá v nepochopení termínu sběrnice - není možné
zapojit koncová zařízení stylem "hvězda". Jednoduchá aplikace Ohmova zákona vysvětlí
proč. Je bezpodmínečně nutné používat zakončovací odpory - to co Vám bez
problému funguje v testovacím provozu na stole se bude naprosto jinak chovat v
prostředí, kde zapínání a vypínání tisíců watů je dílem okamžiku. Používejte
rozbočovače (Splitters) a opakovače (Repeaters). Používejte optická
oddělení.
Typická instalace DMX512
(čerpáno ze stránky http://www.niehoff.nl/tips/DMX-512_duits.htm)
č. |
Popis |
Min. |
Typ. |
Max. |
Jednotky |
1 |
Reset (Break) |
88 |
88 |
|
us |
2 |
MAB |
8 |
- |
1 s |
us |
3 |
Rámec |
43,12 |
44,0 |
44,48 |
us |
4 |
Start bit |
3,92 |
4,0 |
4,08 |
us |
5 |
LSB (první datový bit) |
3,92 |
4,0 |
4,08 |
us |
6 |
MSB (poslední datový bit) |
3,92 |
4,0 |
4,08 |
us |
7 |
Stop bit |
3,92 |
4,0 |
4,08 |
us |
8 |
MTBF (mezera mezi rámci) |
0 |
0 |
1,00 |
s |
9 |
MTBP (mezera mezi pakety) |
0 |
0 |
1,00 |
s |
Význam zkratek:
MAB – Mark After Break
MTBF - MARK TIME BETWEEN FRAMES
MTBP - MARK TIME BETWEEN PACKETS
Pozor! Převodní jednotka „k“ má podle trvání bitu (4 us)
hodnotu
(Tedy
rychlost je 250 000 bps a ne 256 000 bps.)
(Volně přeloženo z manuálových listů výrobce American DJ)
Zapojení kabelu je na obr. 5. Na uzemnění se nepoužívá zemnící vývod konektoru XLR. Nezapojujte tedy stínění (zem) na kovový kryt konektoru, může to způsobit zkrat nebo nevyzpytatelné chování. Stínění se připojuje na pin číslo 1.
Obr. 5: Zapojení kabelu DMX
Při připojení delších kabelů je
třeba použít terminátor (pro impedanční přizpůsobení vedení) na konec vedení.
Terminátor je odpor 90 – 120 Ohmů,
¼ W připojený mezi piny
Někteří výrobci používají
5-pinový XLR DMX konektor pro přenos dat, místo 3-pinového. Standardní 5-pinový
XLR konektor může být implementovaný do 3-pinového pomocí kabelového adaptéru.
Zapojení pinů pro
Conductor |
3-Pin XLR Female (Out) |
5-Pin XLR Male
(In) |
Ground/Shield |
Pin 1 |
Pin 1 |
Data Compliment (- signal) |
Pin 2 |
Pin 2 |
Data True (+ signal) |
Pin 3 |
Pin 3 |
Not Used |
|
Do Not Use |
Not Used |
|
Do Not Use |
Tab. 11: Zapojení konektoru XLR
Co se týká HW řešení je tedy pevně daný cíl: Vytvořit interface DMX a PC. Na PC lze pro tento účel využít výstupy LPT, MIDI, USB, Ethernet. Využívá se také COM portu, neboť jde o sériové rozhraní stejně jako v případě DMX. Bohužel nedosahuje takové rychlosti jako DMX, musí se tedy stejně použít mikrořadiče který posílá opakovaně stejná data pro dosažení potřebné rychlosti. LPT port je již zastaralý a nemusí být vždy dostupný, např. při použití notebooku. MIDI běžně na PC nenalezneme a Ethernet je příliš složitý. Nejvhodněji se tedy jeví USB. V tomto případě se jako nejednodušší způsob jeví použít obvod od fy. FTDI, které do ČR distribuuje firma ASIX s.r.o. Na jejich stránkách www.asix.cz naleznete také popis k těmto obvodům. Firma FTDI vyrábí obvody FT8U245BM a FT8U232BM. První je konvertor USB – FIFO s 8-bitovou obousměrnou sběrnicí a maximální přenosovou rychlostí až 1 MByte/s. Druhý obvod pro naše použití vhodnější je konvertor USB – UART s přenosovou rychlostí 300 Bd až 3 MBd. Tyto obvody obsahují buffer 384 bajtů směrem k PC a 128 bajtů směrem opačným. Konkrétní technické řešení je rozepsáno v kapitole Interface DMX - USB
HW řešení vychází z doporučeného zapojení obvodu FT8U232BM, doplněného o obvod SN75176 zajištující správné napěťové úrovně pro standard EIA485 (RS485) a je uvedeno na obr. 6. Při konstrukci bylo využito hotového modulu UMS2 fy. Asix. Tento modul představuje doporučené zapojení obvodu FT8U232BM zapájeného do patice DIL 28. Tím se složitost celého zapojení velice zjednodušila a ani není třeba pájet náročné SMD součástky. Odpory R2,R3,R4 jsou připojeny pro ochranu obvodu. Zařízení však pracuje i bez těchto odporů a i výstup z U1 je odolný proti zkratu. Odpor R5 zaručuje impedanční přizpůsobení na straně vysílače. Dioda D1 rychlým blikáním signalizuje vysílání nebo příjem obvodu FT8U232BM a v ostatních případech je odpojená. Ovládání diody je implementováno v samotném obvodu. V amatérských podmínkách funguje celé zapojení i bez těchto externích součástek. Stačí tedy propojit obvody U1 a U2.
Schéma modulu UMS2 je uvedeno na obr. 7. Bližší parametry pro případné další využití jsou na stránkách výrobce www.asix.cz.
Obr. 6 Interface USB - DMX
U1 SN75176
U2 modul UMS2
D1 LED
R1 390 R
R2 10 R
R3 10 R
R4 10 R
R5 120 R
DMX konektor XLR
USB konektor USB
Obr. 7 Modul UMS2
Obr. 8 Modul UMS2 – konstrukce
Obr. 9 Kompletní schéma interface USB – DMX 512
Obr. 10
Fotky - konstrukce USB – DMX 512
Open source zdrojové kódy pro Borland C++ naleznete např. na stránce http://www.enttec.com/dmxusb.php
Na vývoji software se bude pracovat i mimo rozsah tohoto projektu. Pro odzkoušení a využití základních možností DMX lze použít např. program Simple DMX http://www.chromakinetics.com/DMX/
Program pro řízení světelné techniky hudbou naleznete na stránce http://www.svetla.org/
Pro řízení krokových motorků, dekodér DMX na analogové řízení 0 – 10 V apod.
lze využít SN75176 + mikrořadič a obvod zajišťující dostatečnou výkonovou úroveň výstupů.
V mém případě jsem využil obvod ATmega8 a výkonové budiče v obvodu ULN2003.
Viz schéma na obr. 12.
K naprogramování obvodu je použit program SP12 (http://www.xs4all.nl/~sbolt/e-spider_prog.html) a schéma uvedené na obr. 11. Napájení mikrořadiče je z konektoru USB.
Na stránce programátoru SP12 jsou uvedeny i jiné varianty programátorů.
Obr. 11 Programátor AVR přes LPT
Datasheet ATmega8 ( http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf )
Datasheet ULN2003 ( http://wwww.ges.cz/sheet/u/uln2003.pdf )
Datasheet SN75176 (http://www.datasheetarchive.com/datasheet/pdf/65/650737.html )
Tento modul
nazvaný KM-1 (Krokový Motor I) je určen pro univerzální využití, kde je potřeba
řídit krokové motorky pomocí protokolu DMX-512. Zapojení je navrženo
s miktořadičem ATmega8, který je dostatečně rychlý a i univerzální pro
další rozšíření zapojení. V mikrořadiči ATmega8 se využívá sériového
kanálu UART pro dekódování protokolu DMX-
Asembler:
http://projekt.cvut.org/sources/DMX_Steep_Motor.asm
http://projekt.cvut.org/sources/DMX_Steep_Motor.hex
WinAVR GCC:
http://projekt.cvut.org/sources/stappen.c
http://projekt.cvut.org/sources/stappen.hex
Obr. 12 Dekodér DMX
U1 ULN2003A*
U2 SN75176
IC1 ATmega8 - DIL28
C1 100 uF / 16 V
C2 100 nF
C3 100 nF
D1 Zenerova dioda 12V (možná lépe propojit
přímo bez diody <- bude odstraněna
ze schématu)
*vhodnější obvod lze použít např. L298
Napájení přípravku 5 V
Napájení krokového motorku max. 50 V
Odběr korkového motorku max. 500 mA
Řídící signál – dle normy DMX min +- 200 mV
Vstupní odpor > 12
kOhmů
Obr. 13 Náhled na zapojení ve zkušebním poli
Obr. 14 Dekodér DMX 512 s ATmega8
(pozor, zenerova dioda D14 je potřeba přemostit odporem, třeba 30k)
Stmívač je určený pro připojení k univerzálnímu dekodéru DMX 512. Maximální výkon na kanál je 1 kW a celkový maximální výkon 3,6 kW. Napájení stmívače je potřeba připojit přes síťový odrušovací filtr, viz. web: http://wes.feec.vutbr.cz/UREL/EncyklopedieEMC/index.php?soubor=4.3.1.htm
Obr. 15 Karta s triakovými regulátory pro Dekodér DMX 512
Obr. 16 Prototyp stmívače - měření
Program stmívače (ATmega 8, univerzální dekodér DMX512) od pana Zdenka
Novotného: http://projekt.cvut.org/sources/dimmer.asm
Jedná se o sériový
protokol s rychlostí 250 kbps. K přenosu půjde zřejmě použít třeba
některých modulů CzechLabs http://www.czechlabs.cz/.
Zajímavá by byla pro přenos technologie Bluetooth. Šlo by třeba upravit řízení světel
pomocí nějakého PDA apod., avšak dosah pro technologii Bluethoot je ve třídě 1
max.
USB prakticky s obvody FTDI 1. díl, David Matoušek, BEN
Mikrokontroléry ATMEL AVR, Vladimír Váňa, BEN
Amatérská rádia pro konstruktéry a praktická elektronika
Katalog firmy GES elektronics
Katalog firmy GM elektronic
Seznam použitých odkazů:
http://www.niehoff.nl/tips/DMX-512_duits.htm
http://www.mujweb.cz/kultura/svetla/index.htm
http://avr.hw.cz/programy/uart/uart.html
http://www.enttec.com/dmxusb.php
…a mnohé další
Schémata uvedená na této stránce naleznete v lepším rozlišení také
na http://projekt.cvut.org/obrazky2/
Fotky konstrukcí naleznete na http://projekt.cvut.org/obrazky3/
Další schémata jsou na http://projekt.cvut.org/obrazky4/
Zdrojové kódy některých programu najdete na:
http://projekt.cvut.org/sources/
Některé dotazy k projektu FAQ:
Poslední změna 20.4.2008
Pokud jste stránku již jednou navštívili, nezapomeňte pro jistotu stisknout tlačítko reload, aby se Vám nezobrazovala stará data.
----- NA PROJEKTU SE STÁLE PRACUJE.
DOTAZY, NÁPADY A PŘIPOMÍNKY PIŠTE NA EMAIL: dmx@cvut.org ------