Schéma zapojení DMX splitteru
Splitter není nijak náročný. V
příloze máte jednoduché schéma s obvody SN75176, nebo vylepšenou verzi s optoizolací naleznete třeba na http://www.dmx512-online.net/article.php3?id_article=18&lang=fr
Obvod SN75176 zapojený jako
vysílač by měl být shodný s jeho zapojením v interface USB-DMX a SN75176
zapojený jako přijímač by měl být shodný se zapojením v dekodéru DMX 512 ze
stránky http://projekt.cvut.org/
Interface USB-DMX512:
umí alespoň 256 či 512 DMX kanálů?
Není důvod proč by interface USB – DMX512 s obvodem FT232BM nemohl umět 512 kanálů.
Dekodér DMX512 dotaz
Jak asi tušíte z mého předešlého
zájmu zkonstruoval jsem dle vašich návodů kompletní projekt. Až na pár
kosmetických úprav a koncového stmívače který je sestaven dle konkrétních
potřeb. KDE JE ZAKOPANÝ PES??? Jedna se o
universální DMX dekodér ke kterému jsem připojil stmívač prozatimě vybavený LEDky místo optočlenů. Zjistil jsem, že dekodér na výstup generuje bez
ohledu zda je připojen kabelem DMX periodický signál který vypadá takto:
kanál stmívače: 0 1 2 3 4 5
6 7
krok1-------------: 0 0 0 0 0 1 0 0
krok2-------------: 0 0 0 0 1
1 0 0
krok3-------------: 0 0 0 0 1
0 0 0
krok4-------------: 0 0 0 0 0 0 0 0
krok5-------------: 0 0 1 0 0 0
0 0
krok6-------------: 0 0 1 0 0 1 0 0
krok má cca 1s (0a1
naznačuje svit led v pozici optočlenu) Domnívám se,
že je to ňáké chybové hlášení a na to se vás právě
chci optat. Programování pomocí SP12 kodem Steeper.hex proběhlo úspěšně jen
jsem z důvodu nekompatibility musel dekodér pod taktovat z 8MHz na 6MHz.
Odpověď:
možná došlo k menšímu
nedorozumění. Kód steeper má společný kód pro příjem signálu
z DMX512. Na druhé straně se však snaží ovládat krokový motorek... :-) Tuším,
že jste se mne tenkrát ptal na dekódování DMX512, proto jsem Vás odkázal na
tento soubor. Program stepper je navržen tak, aby v
případě, že je bez signálu DMX512, stále pomalu otáčel krokovým motorkem což
zřejmě odpovídá signálu, který dostáváte, až na to že vám nejde zřejmě kanál 3.
Aplikace tedy zřejmě běží dobře. Myslel jsem ale že si zdrojový kód upravíte
pro vaší aplikaci. V příloze Vám posílám .asm, .c i .hex pro Dimmer (http://projekt.cvut.org/sources/ATmega-gcc-stmivac/USART1.c). Jde však o rozpracovaný program pro
mikroprocesor, možná Vám bude stmívat pro první půlku DMX hodnot a od cca 120 bude
již svítit... nebo bude stmívat sice dobře ale přes celou periodu (toho si ale
možná ani nevšimnete - program byl napsán při chybějícím přemosťovacím odporu
přes zenerovu diodu D14 = napětí nemuselo vždy klesnout až na log. 0). Jde jen o dosud
neopravenou drobnost v programu.
Co se týká rychlosti, je
nutné, aby běžel procesor na 8 MHz, neboť z této
frekvence se odvíjí i rychlost komunikace po sběrnici DMX512! Pro jiný takt je
nutné upravit program.
Ještě poznámka:
V případě, že dekodér přijme
data z DMX512, výstupní sekvence z dekodéru by měla přestat, a krokový motorek
v programu stepper by měl být řízen již pouze z
DMX512. Po opětovném zapnutí se zase spustí pomalá sekvence až do okamžiku
příjmu dat z DMX512.
převodník LPT -> DMX
odkaz na ten převodník LPT
-> DMX je tady http://www.freedmx.com/
není ve schematu USB >DMX INTERFACE
opomenuto napajeni obvodu SN15176?
obvod SN75176 je samozřejmě
potřeba napájet. Napájení se pro lepší přehlednost u obvodů vždy nezakreslují.
V datasheetu
(http://www.datasheetarchive.com/search.php?q=sn75176&sType=part&ExactDS=Starts)
máte napájecí piny označeny.
kolko závitov má tá odrušovacia
cievka v stmievači?
Odrusovaci civky
jsou pro zakladni odruseni pouzity 100 uH /
¨
Problém s EEPROM u FT232BM?
je zde mozny
problem s pripojenou
EEPROM. Pokud tato pamet není predem
naprogramovana, nemusi jit
ve Windows vůbec nainstalovat ovladac, a tedy tuto pamet dodatecne preprogramovat. Interface funguje ale i bez EEPROM! Nelze však
zařízení pojmenovat. Více informací na http://dmx512.cvut.org/USB-DMX512-navod.htm
Dekodér 0–10V
Dekodér 0-10V jsem zatím zadny nenavrhoval. Stmívaní je pomoci PWM.
Jeden takovy
dewkoder na 0-10V je navrzen
s x51 v v ARadiu.
Nedari se mi vytvorit z uvedenych
kodu funkcni soubor typu *.hex. Program sp12 mi stale pise,
ze mam nespravne formatovani.
asm je zdrojový kód. Mám za to
že programátor SP12 pracuje již pouze se zkompilovaným kódem do .hex Pomocí AVR Studia, které je zdarma ke stažení na
stránce http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
můžete jak zkompilovat asm do hex, tak i simulovat
funkci mikrořadičů ATmega.
V příloze Vám posílám hex soubor, ale je uveřejněn i
na stránce ke stažení.
Dekodér DMX512 dotaz
2:
Pomocí
osciloskopu jsem zjistil, že mi signal jde až na
vstupní svorky obvodu sn75176 ale z výstupu jsem již nedetekoval signál(jen ss. napětí o cca 3V). Vedení je správně zatíženo koncovým
odporem. Uchyluji se k doměnce, zě
by na 30cm volných nestíněných vodičů docházelo k takovému rušení, že již obvod
SN75176 tento signál nezpracuje. Však nechce se mi tomu věřit. Dalším poněkud barbarsým poznatkem, kdy sem se snažil překlenout
přenosovou cestu DMX a napojil jsem napřímo výstup obvodu FTDI se vstupem
ATmega8. K mému údivu na tento "čerstvý" signal
procesor nezareágoval ani u jednoho programu (stepper ani dimmer). Procesor se mi však zdá být v pořádku
jelikož jde bez problému přeprogramovat a i automatický cykl
u stepper beží v pořádku.
DPS jsem již na přechodové odpory, svody a správnost zapojení kontroloval
dvakrát. Obvod sn75176 jsem osadil celkem třemy
obvody a všecny se stejným výsledkem.
Odpověď:
rušením to určitě nebude.
Zrovna tuto sobotu se mi podařilo zapomenout koncový terminátor 120 R. Bylo
zapojeno 7 zařízení (5 profi + dimmer a stepper) a vše běželo. Samotný program do univ. decodéru není zatím nijak
dokonale vyladěný. Zkuste např. nějakou jinou profi
techniku. Propojení FTDI přímo s ATmega8 (bez SN75176) je také možné, sám jsem
to měl na počátku takto zapojené. Máte správný kmitočet 8 MHz
u ATmega8? V případě že ano, zkuste ještě, zda-li Vám ATmega
reaguje vůbec obecně na stav napětí na nějakém pinu.
Najděte si nebo napište jednoduchý program, který Vám bude rozsvěcovat LED
podle toho zda-li bude třeba na pinu PD0 nebo jiném
napětí 0 či 5 V.
Dekodér DMX512 dotaz
3:
musím se vás zeptat jakým
způsobem máte ošetřené piny RESET a AREF či jsouli jinné maličkosti které se nazekreslují do schémat. Procesor mi chvíly
běží podle vnitřních hodin.
Vstup reaguje již na
přiblížený prst aktivováním druhého kanálu.
Však hlavním problémem je, zě procesor vůbec nenapájý
krystal ani DIP přepínače.
Odpověď:
některé návrhy nejsou úplně dotažené
do konce. Dekódování DMX512 probíhá v případě správného signálu dobře, avšak
není ošetřeno to, když se na vstupu objeví nesmyslný signál. Vstup je velmi
citlivý, proto reaguje již na pouhý dotyk prstem náhodným nastavením kanálů.
Návrh dekodéru DMX512 je asi dva roky starý, ošetření pinů
RESET a AREF mám za to že není třeba. Pro správnou funkci externího krystalu je
potřeba nastavit fuse bits. V příloze Vám posílám
výpis základního nastavení ATmega8, snad třeba pomůže. DIP přepínač se
zkontroluje při zapnutí (nebo po resetu) a pak je již
odpojen - je to pro možnost sdílet vývody i pro jinou aplikaci. Dá se samozřejmně program upravit i tak, aby se adresa nastavená
na DIP přepínači kontrolovala po celou dobu běhu.
Základní nastavení
ATMega8:
External crystal 8 Hhz
----------------------
E:\>sp12 -rL -rF -rH
SP12 version 2.0.7 performing init...
Path to _sp12rc and _sp12dev: D:\Program Files\SP12_AVR\
Running in SP12 cable/dongle compatible mode.
Enabling AVR serial reading/programming...
The device code bytes 0,1,2: 0x1e, 0x93, 0x7 were read
from parallel port 0x378 and indicate the following:
You have connected an ATmega8
The device was made by Atmel
111111 are the lock bits read from an ATmega8
xxxx11 - no lock
xxxx10 - write protected
xxxx00 - read/write protected
BTLKxx - Boot lock, datasheet p116
11111111 are the fuse bits read from an ATmega8
0xxxxxxx - BODLEVEL 4V (default 2.7V)
x0xxxxxx - brownout detection enabled
xxSUxxxx - reset delay, datasheet p28
xxxxCKSE - clock select, datasheet p24
1011001 are the high fuse bits read from an ATmega8
0xxxxxx - WDT always on
x0xxxxx - serial programming enabled
xx0xxxx - CKOPT max, datasheet p24
xxx0xxx - eeprom not erased
xxxxBZx - boot size, datasheet p215
xxxxxx0 - reset at boot loader, p204
Note: RSTDISBL is 1
Writing 0000 (0, B00000000) to the parallel port data bits.
ZAPIS:
E:\>sp12 -wF11111111
Zpět na stránku: http://projekt.cvut.org/