świetlny sekwencer MIDI.pdf

(185 KB) Pobierz
Świetlny sekwencer MIDI
P R O J E K T Y C Z Y T E L N I K Ó W
Świetlny sekwencer MIDI
åwiat³o sta³o siÍ
nieod³¹cznym elementem
koncertÛw muzycznych.
Profesjonalne grupy
zatrudniaj¹ nawet specjaln¹
osobÍ, odpowiedzialn¹ za
oúwietlenie. Nawet najlepszy
inøynier oúwietlenia
korzysta jednak z dobrze
przygotowanej przed
koncertem sekwencji efektÛw
úwietlnych. Prezentowany
sterownik pomoøe
uatrakcyjniÊ odbiÛr muzyki
grup, ktÛre podczas
koncertÛw uøywaj¹
sekwencera MIDI.
G³Ûwnymi za³oøeniami
projektu by³a prostota
konstrukcji i†minimalizacja
kosztÛw wykonania.
Informacje
o†MIDI
Standard
MIDI jest od-
mian¹ interfejsu
szeregowego,
ktÛry rÛøni siÍ
tylko parametra-
mi elektryczny-
mi od popular-
nego RS232.
W†RS232 infor-
macja przesy³a-
na jest przez
zmianÍ napiÍcia ±12V
wzglÍdem masy,
a†w†przypadku MIDI wyko-
rzystano pÍtlÍ pr¹dow¹ 5mA,
co sprawia, øe jest bardziej
odporny na zak³Ûcenia. PrÍd-
koúÊ transferu MIDI wynosi
31250 bodÛw. PrÍdkoúci tej
nie moøna uzyskaÊ w†stan-
dardowym interfejsie RS232
zainstalowanym w†PC. Jed-
nak wiÍkszoúÊ kart muzy-
cznych -nawet tych najtaÒ-
szych - ma wbudowany inter-
fejs MIDI w†standardzie TTL.
Wystarczy prosty przetwornik
TTL/pÍtla pr¹dowa 5mA, aby
mÛc pod³¹czyÊ prezentowany
przeze mnie sterownik do
PC-ta.
Projekt
063
Pod-
stawowa ram-
ka danych w†MI-
DI sk³ada siÍ z:†1 bit
startu, 8 bitÛw informacji
oraz 1 bit stopu, bez bitu pa-
rzystoúci. Rozkaz MIDI najczÍ-
úciej sk³ada siÍ z†3 bajtÛw:
nale MIDI, ktÛrego dotyczy
ten rozkaz. St¹d moøliwoúÊ
sterowania 16 kana³Ûw. Po-
zosta³e 3 bity informuj¹
o†tym, jaki to jest rozkaz.
W†sterowniku wykorzysta-
³em nastÍpuj¹ce rozkazy:
Pierwszego statusowego,
ktÛry w†odrÛønieniu od po-
zosta³ych ma ustawiony naj-
bardziej znacz¹cy bit. Czte-
ry najmniej znacz¹ce bity
przesy³aj¹ informacje o†ka-
Elektronika Praktyczna 6/99
87
39513052.021.png 39513052.022.png
P R O J E K T Y C Z Y T E L N I K Ó W
Rys. 1. Trzy fazy wysterowania
triaka. Na rysunku “a” impulsy
wyzwalające pojawiają się
później niż na rysunku “b”.
reaktancyjny charakter obci¹-
øenia. Z†za³oøenia przyjmujÍ
wiÍc moment przejúcia napiÍ-
cia przez zero, jako moment
synchronizacji. Od tego mo-
mentu zaczyna byÊ odliczane
opÛünienie k¹ta wysterowania
triaka w danym pÛ³okresie.
W†programie pÛ³okres zosta³
podzielony na 140 czÍúci.
W†standardzie MIDI informa-
cja o†sile nacisku - wykorzy-
stywana w†niniejszym stero-
wniku do okreúlania natÍøe-
nia oúwietlenia - okreúlana
jest na†7 bitach, co daje roz-
dzielczoúÊ 128 krokÛw. RÛø-
nica miÍdzy rozdzielczoúci¹
MIDI a†przyjÍt¹ w†programie
sterownika (140) stanowi mar-
gines bezpieczeÒstwa. Zbyt
pÛüne podanie impulsu steru-
j¹cego moøe byÊ powodem za-
³¹czenia triaka w†kolejnym
pÛ³okresie.
000 - note on (wciúniÍto
klawisz) - zapala grupÍ oú-
wietleniow¹,
001 - note off (zwolniono
klawisz) - gasi grupÍ oú-
wietleniow¹,
011 - control change (roz-
kaz kontrolny)- zeruje
kontroler.
Drugi bajt przesy³a informa-
cje o†numerze wciúniÍtego
klawisza, a†w†przypadku
sterownika numer grupy oú-
wietleniowej, do ktÛrej od-
nosi siÍ rozkaz.
Opis uk³adu sterownika
Schemat elektryczny ste-
rownika przedstawiono na
rys. 2 . Na wejúciu zasilaj¹cym
zastosowano filtr LC typu ìTî,
ktÛrego zadaniem jest odfil-
trowanie wyøszych harmoni-
cznych pr¹du powstaj¹cych
podczas impulsowego za³¹-
czania triakÛw.
W†filtrze sieciowym uøyto
d³awika z†popularnych wy³¹-
cznikÛw dotykowych. Wyko-
rzystano w†nim rdzeÒ z†blach
transformatorowych o†przekro-
ju 10x10mm, na ktÛry nawi-
niÍto w†dwÛch rzÍdach 40
zwojÛw drutu o†úrednicy
1mm. Dodatkowo, w†obwodzie
kaødej grupy oúwietleniowej,
zastosowano d³awik, w†ktÛrym
wykorzystano karkasy cewek
radiowych z†prÍtem ferryto-
wym o†úrednicy 7,5mm, na
ktÛrych nawiniÍto 30 zwojÛw
w†dwÛch rzÍdach drutem
o†úrednicy 0,75mm. PrzekrÛj
drutu zastosowanego w†d³awi-
kach decyduje o†obci¹øalnoúci
uk³adu. Chc¹c wykorzystaÊ
w†pe³ni dopuszczaln¹ obci¹-
øalnoúÊ triakÛw (najlepiej nie
przekraczaÊ 0,5Idop) naleøa³o-
by odpowiednio zwiÍkszyÊ
przekrÛj drutu w†d³awikach.
Zadaniem uk³adu zbudo-
wanego na tranzystorach T1
i†T2 jest generowanie impul-
sÛw o†stromym zboczu opa-
daj¹cym, ktÛre inicjuje prze-
rwanie INT0 w†mikroproceso-
rze. Uk³ad ten jest synchroni-
zowany napiÍciem wtÛrnej
strony transformatora, wypro-
stowanym dwupo³Ûwkowo
( rys. 3 ).
Standard MIDI wymaga
zastosowanie na wejúciu uk-
Trzeci bajt informuje o†sile,
z†jak¹ zosta³ wciúniÍty kla-
wisz ustawiaj¹cy jasnoúÊ
úwiecenia grupy.
Po rozkazie control chan-
ge pojawia siÍ jeden z†bajtÛw:
7Bh- all notes off (wy³¹cza
wszystkie grupy oúwietle-
niowe),
79h- reset controler.
Sterowanie triakami
P³ynn¹ regulacjÍ mocy do-
starczanej do grup oúwietle-
niowych dokonuje siÍ impul-
sami steruj¹cymi podawanymi
na bramkÍ triaka. Im wiÍksze
jest opÛünienie impulsu wy-
zwalaj¹cego w†stosunku do
momentu przejúcia pr¹du ob-
wodu grupy oúwietleniowej
przez zero, tym mniejsza jest
dostarczana moc do tej grupy,
a†tym samym mniejsze natÍ-
øenie úwiecenia.
Na rys. 1 przedstawiono
trzy fazy wysterowania triaka.
Na rys. 1a impulsy wyzwala-
j¹ce pojawiaj¹ siÍ pÛüniej niø
na rys. 1b.
W†projekcie przyj¹³em za-
³oøenia uproszczaj¹ce, øe nie
ma przesuniÍcia fazowego
miÍdzy pr¹dem a†napiÍciem
obwodu grupy oúwietlenio-
wej. Taka sytuacja wystÍpuje,
gdy obci¹øenie ma charakter
czysto rezystancyjny, co jest
spe³nione w†przypadku zasto-
sowania zwyk³ych lub halo-
genowych øarÛwek. Problem
moøe siÍ pojawiÊ w†przypad-
ku zastosowania zbyt d³ugich
kabli po³¹czeniowych, mog¹-
cych wprowadzaÊ bardziej
Rys. 2. Schemat ideowy sterownika.
88
Elektronika Praktyczna 2/98
Elektronika Praktyczna 6/99
39513052.023.png 39513052.024.png 39513052.001.png 39513052.002.png 39513052.003.png 39513052.004.png 39513052.005.png 39513052.006.png 39513052.007.png 39513052.008.png 39513052.009.png 39513052.010.png 39513052.011.png 39513052.012.png 39513052.013.png 39513052.014.png 39513052.015.png 39513052.016.png 39513052.017.png 39513052.018.png 39513052.019.png
 
P R O J E K T Y C Z Y T E L N I K Ó W
Rys. 3. Przebiegi na wejściu układu synchronizacji oraz na
wyjściu podłączonego do wejścia INT0 mikroprocesora.
siÍ, nastÍpuje ustawienie bitu
note on. W†przypadku, gdy
wartoúÊ kolejnego bajtu komu-
nikatu odpowiada liczbom
przyporz¹dkowanym grupom
oúwietleniowym, ustawiany
jest bit by2. WartoúÊ trzeciego
bajtu komunikatu wpisywana
jest do rejestru odpowiadaj¹-
cemu grupie oúwietleniowej.
Przerwanie INT0 rozpo-
czyna kolejny okres trwaj¹cy
10ms (czas trwania pÛ³okre-
su) generowania impulsÛw
steruj¹cych triaki. Procedura
przerwania INT0 zeruje mas-
kÍ przerwania zegara T0, ktÛ-
re z†kolei generuje przerwa-
nia co 10/140ms, zmniejsza-
j¹c za kaødym razem wartoúÊ
rejestru sync, do ktÛrego wpi-
sywana jest wartoúÊ #140
w†procedurze INT0. Procedu-
ra T0 porÛwnuje wartoúÊ re-
jestru sync z†wartoúci¹ reje-
stru kaødej grupy oúwietlenio-
wej. Jeøeli s¹ rÛwne, wpisy-
wane jest ì0î do bitu steru-
j¹cego bramkÍ triaka, co z†ko-
lei za³¹cza dan¹ grupÍ oúwiet-
leniow¹. Bity steruj¹ce bram-
kami ustawiane s¹ w†proce-
durze INT0. W†przypadku
braku jednego lub wielu im-
pulsÛw synchronizacji
w†okreúlonym czasie (z†powo-
du np. zak³Ûcenia), procedura
T0 wpisuje wartoúÊ #148 do
rejestru sync i†rozpoczyna
okres generowania impulsÛw
wyzwalaj¹cych triaki od po-
cz¹tku. WartoúÊ ta zosta³a
okreúlona doúwiadczalnie tak,
aby uk³ad rozsynchronizowa³
siÍ moøliwie najpÛüniej.
Zapalanie diody LED na-
stÍpuje po naciúniÍciu dowol-
nego klawisza, kiedy kana³y
MIDI, zarÛwno klawiatury jak
i†sterownika, s¹ te same. Nie
dysponuj¹cy klawiatur¹ MIDI
mog¹ wykorzystaÊ komputer
lub sekwencer z†odpowiednio
wczeúniej przygotowan¹ sek-
wencj¹ MIDI.
Uwaga!
Podczas uruchamiania
uk³adu naleøy zachowaÊ
szczegÛln¹ ostroønoúÊ, gdyø
na kaødym jego elemencie
moøe pojawiÊ siÍ napiÍcie
sieci.
³adu separuj¹cego galwani-
cznie, ktÛry najczÍúciej jest
realizowany na transoptorze.
W³aúciwoúÊ ta pozwoli³a mi
na obniøenie kosztÛw wyko-
nania sterownika i†rezygnacji
z†separacji galwanicznej ste-
rownik - uk³ad wykonawczy.
Moøe to w†pewnym stopniu
wp³yn¹Ê na awaryjnoúÊ uk³a-
du, gdyø przepiÍcia od strony
sieci mog¹ staÊ siÍ przyczyn¹
uszkodzenia mikroprocesora.
Z†tego teø powodu zastosowa-
³em warystor w†filtrze napiÍ-
cia sieci sterownika. W†celu
zapewnienia bezpieczeÒstwa
ekspoloatacji musia³em zre-
zygnowaÊ z†MIDI THRU, ktÛ-
re wymaga³oby dodatkowego
uk³adu steruj¹cego, oddzielo-
nego galwanicznie od stero-
wnika.
Triaki sterownika monto-
wane s¹ na wspÛlnym nie-
wielkim radiatorze, ktÛry jest
oddzielony galwanicznie od
obudowy kaødego triaka pod-
k³adk¹ mikow¹ z†dodatkiem
smaru silikonowego dla zape-
wnienia lepszego oddawania
ciep³a.
Podczas projektowania
p³ytki naleøy zwrÛciÊ uwagÍ
na gruboúÊ úcieøek obwodÛw
silnopr¹dowych. W†moim pro-
jekcie przyj¹³em 300W na gru-
pÍ, a†wiec kaøda grupa bÍdzie
obci¹øaÊ sieÊ pr¹dem ok. 1,5A
przy pe³nym wysterowaniu.
Dla obwÛdu na laminacie po-
krytym foli¹ miedzian¹ o†gru-
boúci 0,07mm, obci¹øalnoúÊ
úcieøki o†szerokoúci 1mm mo-
øe wynieúÊ 350mA, przy za³o-
øeniu gÍstoúci pr¹du 5A/mm 2 .
Uk³ad z†powodzeniem
moøe kontrolowaÊ osiem grup
oúwietleniowych. Wymaga to
nieznacznej modyfikacji pro-
gramu sterownika i†uk³adu
elektronicznego. Z†myúl¹
o†modyfikacji, z†gÛry przyj¹-
³em moøliwie najwyøsz¹ czÍ-
stotliwoúÊ pracy zegara mikro-
procesora, tj. 24MHz. Przy
wstÍpnych prÛbach z†kwar-
cem 12MHz uk³ad dzia³a³ po-
prawnie. O†doborze kwarcu
decyduje nie tylko wymagana
moc obliczeniowa mikropro-
cesora, ale takøe szybkoúÊ
przesy³ania informacji inter-
fejsem MIDI.
Przygotowanie sekwencji
MIDI
Najprostszym sposobem
jest skojarzenie danej grupy
oúwietleniowej z†instrumen-
tem perkusyjnym, np.: wer-
blem lub stop¹. Naleøy pamiÍ-
taÊ, øe zapalenie siÍ grupy na-
stÍpuje z†pewnym opÛünie-
niem w†stosunku do wys³ane-
go komunikatu MIDI, gdyø øa-
rÛwki zapalaj¹ siÍ z†pewn¹
zw³ok¹. Aby wiÍc uzyskaÊ pe³-
n¹ synchronizacjÍ oúwietlenia
z†muzyk¹, naleøy odpowie-
dnio wyprzedziÊ wysy³anie
komunikatÛw MIDI do stero-
wnika. K³opotliwe moøe byÊ
uzyskanie efektu p³ynnego
úciemniania lub rozjaúniania.
Wysy³aj¹c komunikaty, w†ktÛ-
rych zmienia siÍ p³ynnie Ve-
locity, zamiast uzyskaÊ ocze-
kiwany efekt p³ynnej zmiany
natÍøenia úwiecenia, uzyska-
my raczej seriÍ migniÍÊ. Dzie-
je siÍ tak dlatego, poniewaø
komunikaty MIDI wysy³ane s¹
parami NoteOn-NoteOff. No-
teOff zeruje Velocity, a†wiÍc
wy³¹cza dan¹ grupÍ. NiektÛre
sekwencery (np.: Cubase) daj¹
moøliwoúÊ ustawienia Veloci-
tyOff, a†wiÍc wartoúci Veloci-
ty wysy³anej wraz z†komuni-
katem NoteOff (w†Cubase trze-
ba takøe ìodhaczyÊî NoteOff
w†MIDI Setup). Naleøy w†ta-
kim przypadku we wspomnia-
nej serii komunikatÛw ustawiÊ
VelocityOn=VelocityOff.
Jeøeli nie moøna zmusiÊ
uøywanego sekwencera do
ustawiania wartoúci Veloci-
tyOff, jedynym rozwi¹zaniem
jest wykorzystanie innego ko-
munikatu MIDI (np. Control
Change Expression) odpowie-
dnio modyfikuj¹c program
sterownika.
Piotr Swadźba,
pswadzba @ friko6.onet.pl
Opis programu
sterownika
Po uruchomieniu stero-
wnika nastÍpuje skonfiguro-
wanie portu szeregowego,
odblokowanie przerwaÒ
INT0 i†wpisanie kana³u MI-
DI, ustawionego na prze³¹-
czniku DIP1, do rejestru ka-
nal. W†czasie pracy stero-
wnika zmiana kana³u MIDI
jest ignorowana. Ponowne
wpisanie kana³u MIDI do re-
jestru kanal nastÍpuje dopie-
ro po wys³aniu komunikatu
MIDI Reset controler lub rÍ-
cznym wyzerowaniu mikro-
procesora.
Pojawienie siÍ opadaj¹ce-
go zbocza na wejúciu INT0
uruchamia procedurÍ inte,
ktÛra odblokowuje przerwania
T0. Od tego momentu mikro-
procesor oczekuje komunika-
tÛw MIDI, ktÛre generuj¹
w†mikroprocesorze przerwa-
nie dla portu szeregowego
sint. Procedura obs³ugi prze-
rwania sint sprawdza naj-
pierw kana³ MIDI, ktÛrego do-
tyczy komunikat i†porÛwnuje
z†wartoúci¹ rejestru kanal. Je-
øeli obie wartoúci zgadzaj¹
Uruchamianie
Najpierw pod³¹czamy uk-
³ad do sieci bez mikroproce-
sora w†podstawce, w†celu
sprawdzenia poprawnoúci
pracy zasilacza. Powinno po-
jawiÊ siÍ napiÍcie 5V na za-
ciskach 10 i†20 podstawki.
Uk³ad podczas uruchamiania
nie wymaga øadnych regula-
cji, dlatego po w³oøeniu mi-
kroprocesora, jeøeli nie pope³-
niono pomy³ki w†montaøu,
powinno wszystko dzia³aÊ.
Aby to sprawdziÊ pod³¹czamy
klawiaturÍ MIDI, ustawiamy
te same kana³y MIDI na ste-
rowniku i†klawiaturze. Po na-
ciúniÍciu na odpowiednie kla-
wisze powinny zapalaÊ siÍ
odpowiadaj¹ce im grupy oú-
wietleniowe, ktÛrym przypo-
rz¹dkowane s¹ nastÍpuj¹ce
klawisze:
Grupa1 - 64 = E3
Grupa2 - 65 = F3
Grupa3 - 66 = Fis3
Grupa4 - 67 = G3
Rys. 4. Wartość rejestru “sync” podczas jednego półokresu.
Przerywana krzywa pokazuje przebieg impulsów synchronizacji,
linia ciągła napięcie na grupie oświetleniowej. Wyzwolenie
triaka następuje, gdy wartość rejestru jest równa 100.
Program ürÛd³owy dla mi-
krokontrolera jest dostÍpny pod
adresem www.ep.com.pl/ftp.
Elektronika Praktyczna 6/99
89
39513052.020.png
Zgłoś jeśli naruszono regulamin