adam śmiałek MUZYKANT 10

prev up next

Co to jest?

„Muzykant 10” to prosty dekoder sygnałów midi przeznaczony do samodzielnego montażu. Układ rozpoznaje 24 komunikaty ze stałej listy na wybranym kanale z czterech dostępnych. Komunikaty zostały wybrane z uwzględnieniem typowych potrzeb użytkowników systemu midi. Układ został maksymalnie uproszczony, a cena części potrzebnych do jego zbudowania jest wyjątkowo niska, dzięki czemu dekoder jest możliwy do zbudowania także przez początkujących elektroników.

A po co to?

Wiele osób budujących elektroniczne urządzenia muzyczne boryka się z problemem sterowania tychże za pomocą protokołu midi. Dla nich głównie powstał projekt „Muzykant 10” umożliwiający sprzęgnięcie swoich urządzeń z systemem midi.

Zastosowania dekodera chyba najlepiej wyjaśnić na kilku przykładach:

Jak więc widać to proste urządzenie może mieć sporo praktycznych zastosowań ułatwiających życie osobom muzykującym i majsterkującym jednocześnie, którzy ze względu na powszechność systemu midi bardzo często mają możliwości skorzystania z jego dobrodziejstw.

___ jak to działa ________________

Na wstępnie pragnę wspomnieć, że do wykonania urządzenia wystarczy podstawowa wiedza na temat jego budowy i sposobu działania. Dlatego poniższy opis będzie traktował temat pobieżnie i zupełnie pominie zagadnienia programu mikrokontrolera.

Sercem układu jest mikroprocesor firmy Atmel, ze znanej i popularnej rodziny „51”. Poza procesorem w układzie pracuje już tylko kilka elementów. Na większości nóżek procesora pojawiają się napięcia bądź określone przebiegi w zależności od przychodzących komunikatów. Dwa przełączniki określają jeden z czterech kanałów midi, a jedno wyjście zasila diodę świecącą informującą o rozpoznaniu komunikatu.

A tak wygląda schemat urządzenia:

Jak widać układ zawiera 13 elementów, z czego do pracy niezbędnych jest 11. Zielona część układu to wskaźnik pracy na diodzie świecącej. Nie jest niezbędny, ale znacznie ułatwia orientację co do działania dekodera. Niebieska część schematu obrazuje połączenie układu z komputerem PC, niezbędne tylko podczas programowania układu, które zwykle będzie przeprowadzane raz, podczas uruchamiania dekodera.

Poniżej znajduje się lista wszystkich komunikatów które dekoder rozpoznaje.

Przyciski P35 i P36 określają kanał midi na którym pracuje dekoder:

___ robimy zakupy ________________

Poniżej znajduje się lista elementów oznaczonych zgodnie ze znajdującym się wyżej schematem:

Do wykonania kabla programującego potrzebne będą:

___ budujemy ________________

W przeciwieństwie do większości pozostałych „Muzykantów” dekoder jest jedynie częścią projektów, w których będzie pracował. Dlatego też pomijam dokładny opis jego budowy, gdyż projekt jest kierowany do nieco bardziej zaawansowanych konstruktorów. W każdym wypadku pewne wyjścia mikroprocesora w jakiś sposób będą sterować urządzeniami. Przedstawiam zatem najbardziej typowe sytuacje.

Sterowanie przekaźnikiem. To typowy sposób przełączania torów we wzmacniaczach gitarowych, omijania efektów itp. Jest prosty w realizacji i daje izolację części cyfrowej od analogowej, co sprawia, że tor audio nie otrzymuje żadnych zakłóceń.

Gdybyśmy chcieli otrzymać układ analogiczny, lecz sterowany „odwrotnie” (czyli wyłączony w chwili, gdy układ poprzedni jest włączony) należy skorzystać z poniższego schematu.

Wyjścia PWM z zasady swego działania wymagają filtrów dolnoprzepustowych. Przy częstotliwościach na których pracuje PWM w dekoderze filtrem takim może być oświetlony żaróweczką fotorezystor, co stosuje się i dziś przy sterowaniu urządzeń analogowych. Jeśli układ ma sterować światłem częstotliwość rzędu 200Hz nie będzie powodowała efektu migania. Reflektory led dadzą jednak niekorzystny efekt stroboskopowy, dlatego polecam zastosować filtr o niewielkiej stałej. Podobnie w przypadku użycia użycia szybkich układów sprzęgających należy zadbać o odpowiednie filtrowanie sygnału. Poniżej widzimy schemat prostego filtra zasilającego diodę świecącą (otwartą bądź będącą częścią transoptora). Wartość pojemności jest kompromisem między szybkością zmian (latencją), a skutecznością filtrowania przebiegu. W przypadku rozwiązań wymagających bardzo dobrej filtracji (bezpośrednie sterowanie torem audio) filtr należy rozbudować o jeszcze jeden rezystor i kondensator i użyć układu 89S8253, który zapewni dwukrotnie wyższą częstotliwość PWM. W każdej sytuacji należy rozważyć jaka latencja jest najkorzystniejsza, ponieważ jej zwiększenie oprócz filtracji przebiegu PWM złagodzi nam niewielką, siedmiobitową rozdzielczość przebiegu ograniczoną przez standard midi.

W ten sposób poprzez transoptor czy optotriak możemy podłączać elementy większych mocy. Konkretne rozwiązania są powszechnie dostępne na stronach dla elektroników. Przy wykorzystywaniu większej ilości wyjść warto zamiast tranzystorów użyć scalonych buforów np. ULN2803, co uprości montaż i podniesie niezawodność.

___ zasilamy ________________

Dekoder wymaga napięcia zasilającego w zakresie 4 - 5,5V. W praktyce zakres ten jest szerszy, ale dobrym zwyczajem jest przyjęcie napięcia 5V, które jest jednym ze standardów zasilających dla urządzeń cyfrowych. W tym celu do wytworzenia napięcia najlepiej użyć najpopularniejszego stabilizatora scalonego 7805.

___ programujemy ________________

Na czas programowania układu musimy zadbać o to, by napięcie zasilające było zbliżone do 5V. Proces programowania może nieco odstraszać, jest to jednak czynność bardzo prosta, ponieważ nie potrzeba żadnych specjalistycznych narzędzi poza nieskomplikowanym kablem, którego schemat zaznaczono wyżej na niebiesko, a który widzimy poniżej:

Poniżej znajduje się schematyczny widok wtyku DB25 male (pasującego do portu parallel) od strony lutowania przewodów. Czerwonym kolorem oznaczono styki, do których należy przylutować przewody wedle niebieskiej części schematu powyżej.

Kabel zaopatrzony jest w podstawkę, którą należy założyć na układ jak na poniższym zdjęciu:

Krokodylkiem należy chwycić przewód masowy (ujemny biegun zasilania). Pomyłki nie spowodują uszkodzeń więc nie ma się czego obawiać. Zamiast stosowania podstawki i krokodylka możemy na chwilę kable przylutować. Teraz należy sobie pobrać następujące pliki:

Tutaj należy podać adres mailowy, na który zostanie przesłany programator naszego mikroprocesora. Można go pobrać także stąd.

Tutaj znajduje się program, który będziemy ładować do mikroprocesora.

Po ściągnięciu pliki: „aec_isp.exe” oraz „program.zip” kopiujemy je do dowolnego katalogu. Następnie podłączamy wtyk DB25 male do gniazda parallel komputera PC (zwanego też LPT, ECP, printer port, port równoległy) i załączamy zasilanie. Uruchamiamy program „aec_isp.exe”. Ukazuje się nam poniższe okienko:

Wybieramy opcję „Setup”.

Ustawiamy parametry jak powyżej oczywiście wybierając typ mikroprocesora, który posiadamy. Zapisujemy ustawienia opcją „Save setup”.

Wybieramy opcję „Load Hex file to Flash buffer”.

Wpisujemy nazwę „program.zip”.

Taki ekran oznacza, że plik został znaleziony, jest poprawny i załadował się. Wciskamy cokolwiek.

Wybieramy opcję „Program”. Programowanie jest procesem całkowicie bezpiecznym i może zostać przerwane w dowolnym momencie bez jakichkolwiek konsekwencji.

Czekamy kilkanaście sekund na taki ekran, który oznacza, że mikroprocesor został poprawnie zaprogramowany. Naciskamy cokolwiek, a następnie opcję „Quit”. Gdyby jednak programowanie się nie udało zapraszam niżej, do części poświęconej kłopotom.

___ używamy ________________

Dekoder jest zaprogramowany. Odłączamy podstawkę programatora, przyłączamy urządzenie midi. Jeśli podłączyliśmy diodę świecącą jak na schemacie, powinniśmy widzieć błyski w chwili, gdy dekoder odbiera któryś z komunikatów wyszczególnionych w liście powyżej. Stany poszczególnych końcówek układu powinny się zmieniać zgodnie z tą listą.

___ mamy kłopoty z uruchomieniem dekodera ________________

Budowa dekodera jest wyjątkowo prosta, jednakże kłopoty z uruchomieniem układu mogą się zdarzyć. Należy zadbać o to, by części były sprawne. Przed montażem pasywne komponenty należy sprawdzić za pomocą choćby najprostszego multimetru. Lutowanie należy przeprowadzić dokładnie i starannie nie przepalając przy tym lutów zbyt długim procesem podgrzewania. Aby zyskać pewność co do poprawności montażu i części naszego dekodera proponuję zrobienie prostej sondy jak na schemacie poniżej:

Diody świecące mogą świecić w dowolnym kolorze. Ze względu na niewielki prąd sondy należy wybrać diody o większej efektywności.

Gdy już przygotujemy sobie sondę możemy przejść do następujących testów:

Jedną z końcówek sondy podłączamy do wyprowadzenia 30 (ALE) mikroprocesora, drugą naprzemiennie do zasilania i masy. Układ dekodera będzie zmontowany poprawnie, jeśli za każdym razem jedna z diod będzie się świecić. Jeśli tak nie będzie należy przejść do następnych testów.

Jedną z końcówek sondy podłączamy do masy, drugą przykładamy do wyprowadzenia 9 (RST) mikroprocesora. Kilkukrotnie podłączamy i odłączamy zasilanie dekodera. Za każdym razem, gdy napięcie zostanie podłączone, jedna z diod powinna krótko, lecz wyraźnie błysnąć. Brak błyśnięcia oznacza problemy z kondensatorem C3, uszkodzenie mikroprocesora bądź nieprawidłowy montaż.

Podłączamy na chwilę wyprowadzenie 31 (EA) mikroprocesora do masy. Jedną z końcówek sondy podłączamy do zasilania, drugą przykładamy do kolejnych wyprowadzeń portów P2 i P0. Jedna z diod powinna się świecić, przy czym na części portu P2 powinniśmy widzieć wyraźne miganie, najwolniejsze (o częstotliwości około 28Hz) na wyprowadzeniu 28 (P27). Następnie przykładamy sondę do kolejnych wyprowadzeń portów P1 i P3. W żadnym wypadku diody nie powinny się świecić. Inne reakcje sondy oznaczają problemy z kwarcem X1, kondensatorami C1 i C2, uszkodzenie mikroprocesora bądź nieprawidłowy montaż.

___ mamy kłopoty z zaprogramowaniem mikroprocesora ________________

Najczęstszą przyczyną problemów z zaprogramowaniem mikroprocesora jest nieprawidłowo funkcjonujący kabel połączeniowy pomiędzy komputerem PC, a mikroprocesorem. Kabel ten nie może być zbyt długi, musi być dokładnie wykonany, a połączenia (zwłaszcza od strony mikroprocesora) muszą być pewne. W razie problemów z podstawką stanowiącą końcówkę kabla możemy ów kabel przylutować na chwilę bezpośrednio do odpowiednich nóżek mikroprocesora. Istnieje możliwość, że port parallel w komputerze nie będzie chciał poprawnie współpracować z mikroprocesorem. Pozostanie nam wtedy szukać innego komputera do zaprogramowania układu.

Poniżej znajdują się komunikaty błędów aplikacji programującej z wyjaśnieniem przyczyn tych błędów.

Plik zawierający program mikrokontrolera jest uszkodzony. Prawdopodobnie został przekłamany podczas ściągania ze strony, należy go pobrać ponownie.

Całkowity brak komunikacji komputera PC z mikroprocesorem. Prawdopodobnie podstawka na końcu kabla programującego jest niedokładnie założona, połączenia są pomylone, zwarte lub przerwane, mikroprocesor lub port parallel w komputerze PC jest uszkodzony, napięcie zasilania układu jest zbyt małe, układ jest nieprawidłowo zbudowany.

Połączenie komputera PC z układem jest niepewne lub zbyt długie.

Połączenie komputera PC z układem jest niepewne lub zbyt długie, układ ma przekroczoną ilość gwarantowanych zapisów do pamięci (układ może być zapisywany około tysiąca razy).

___ mamy kłopoty ze stabilną pracą dekodera ________________

Dekoder midi pracuje często w środowisku o dużym poziomie zakłóceń elektrycznych. Może to wpłynąć na prawidłowe jego działanie, co w niektórych przypadkach (np. podczas koncertu) byłoby niedopuszczalne. Zawsze odpowiednio wcześniej należy dokładnie sprawdzić, jak urządzenie zachowuje się w danych warunkach. Istnieją sposoby na ograniczenie ryzyka kłopotów. W sytuacjach, gdy niezawodność układu jest sprawą priorytetową proponuję skorzystać z poniższych porad.

Jakość wykonania.

Każdy wie, że od jakości wykonania urządzenia zależy jego niezawodność, ale w praktyce różnie to bywa. Montaż musi być pewny i czysty..

Ekranowanie.

Ekranowanie to otoczenie układu przewodzącą osłoną, którą podłącza się do masy (ujemnego bieguna zasilania) tylko w jednym punkcie, w pobliżu kondensatora C5. W szczególności najlepszym rozwiązaniem jest metalowa obudowa. Dzięki ekranowaniu zwiększa się odporność na zakłócenia elektryczne pochodzenia zewnętrznego.

Kabel midi.

Teoretycznie drugie (środkowe) wyprowadzenie gniazda midi out powinno być połączone do masy. Gniazda midi in natomiast absolutnie nie powinny mieć kontaktu z masą urządzenia nadawczego. Czasem jednak tak nie jest, czasem też kabel midi ma zwarcia oplotu do obudowy wtyczki, która jest połączona z masą urządzenia. Przy dłuższych kablach zaleca się jednak połączyć drugie wyprowadzenie gniazda midi out z masą w okolicy kondensatora C5 pod następującymi warunkami: drugie wyprowadzenie gniazda midi in w urządzeniu podłączanym nie ma kontaktu z masą tego urządzenia oraz metalowa obudowa wtyczek kabla midi nie jest połączona z oplotem (przewodem, który jest połączony z wyprowadzeniami drugimi we wtyczkach). Dobrym pomysłem przy długich kablach będzie założenie pomiędzy rezystorami R1 i R2, a wyprowadzeniami 5 i 4 gniazda midi out dławików o indukcyjności około 150μH. Można jeszcze pomiędzy owe wyprowadzenia, a masę założyć kondensatory o pojemności 220pF, a pomiędzy same wyprowadzenia diodę prostowniczą skierowaną anodą do wyprowadzenia 5.

Dziwne komunikaty.

Odbieranie nietypowych komunikatów midi może być spowodowane nieprawidłową częstotliwością zegara układu, na którą wpływ ma kwarc X1 oraz kondensatory C1 i C2. Może się okazać, że konieczna jest wymiana kwarcu na taki, który nie sprawia kłopotów. Czasem wystarczy zwiększyć pojemności kondensatorów do około 40pF, czasem wręcz przeciwnie. Ważne by kwarc i kondensatory znajdowały się możliwie blisko układu.

Dekoder posiada zaimplementowany układ nadzorujący, który w razie zawieszenia czy też utraty sygnału midi w trakcie jego dekodowania zresetuje mikroprocesor po 1/4 sekundy.

___ 89S8253 ________________

Zastosowanie układu AT89S8253 da nam dwukrotnie wyższą częstotliwość PWM. Należy wtedy skorzystać z tego programu, a do zaprogramowania układu trzeba użyć tej aplikacji. Oczywiście nie musimy tworzyć programatora jak na schemacie tam zamieszczonym, możemy skorzystać ze sposobu podłączenia mikroproscesora jak w przypadku użycia aplikacji opisanej powyżej. Należy jedynie ustawić w menu programu podłączenie według standardu „AEC IPS”.

Aplikacja „AEC IPS” niestety nie wspiera układu AT89S8253.

___ dodatki ________________

Parametry elektryczne dekodera.

Istnieje możliwość użycia kompatybilnych mikroprocesorów o ile obciążalność wyjść będzie nie mniejsza niż w mikroprocesorach wymienionych w spisie elementów.

Tutaj znajduje się karta implementacyjna dekodera.

Pragnę przeprosić z góry za niemożliwość indywidualnej pomocy przy ewentualnych kłopotach związanych z budową dekodera, po prostu nie mam na to czasu. Chętnie natomiast poznam wszelkie sugestie, które być może uwzględnię w następnych projektach. Budując dekoder należy być świadomym tego, że odpowiedzialność za jakiekolwiek szkody związane z jego używaniem spoczywa na użytkowniku dekodera.

Wszelkie prawa do zamieszczonych na tej stronie materiałów, rozwiązań oraz do projektu strony, jeśli nie zaznaczono inaczej, należą do autora - Adama Śmiałka. Jakiekolwiek komercyjne ich wykorzystanie wymaga bezwzględnie wcześniejszego kontaktu ze mną na adres: jankomuzykant@wp.pl.

All Rights Reserved.