Pokazywanie postów oznaczonych etykietą komputerowy. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą komputerowy. Pokaż wszystkie posty

31 maja 2017

Przełącznik USB

Dość często zdarza się, że trzeba pracować na dwóch komputerach jednocześnie. W takiej sytuacji są profesjonaliści pracujący na maszynach firmy Apple. Z uwagi na niekompatybilność zmuszeni są oni równolegle używać również PC-tów. Także hobbyści konfigurujący popularne komputerki Raspberry Pi w praktyce równolegle do nich używają normalnego dużego komputera. Na biurku muszą się znaleźć dwa monitory oraz zestaw dwóch klawiatur i myszy. Poza brakiem miejsca dochodzi problem omyłkowych prób użycia niewłaściwej klawiatury lub myszy. Każdy, kto musiał kiedyś pracować w ten sposób, zna te problemy.

Rozwiązaniem może być korzystanie z tylko jednego zestawu urządzeń konsolowych (ekran plus klawiatura i mysz). Współczesne monitory komputerowe mają z reguły kilka gniazd wejściowych, a przełączenie źródła sygnału odbywa się jednym przyciskiem. Jednak klawiaturę czy mysz trzeba przepinać ręcznie, co jest niezbyt wygodne. Opisane w tym artykule urządzenie rozwiązuje ten problem. Pozwala ono przełączyć mysz i klawiaturę z komputera na komputer naciśnięciem przycisku.

Jak to działa

Gniazda USB (w standardzie 1.1 i 2.0) mają cztery styki: VCC, GND oraz różnicową parę D+ i D-. Wystarczy zatem przełączać te cztery przewody jednocześnie i w ten sposób odłączyć fizycznie klawiaturę USB od jednego komputera i podłączyć do drugiego. W praktyce wystarczyłoby zastosować przełącznik obrotowy lub isostat, ale wtedy byłoby to urządzenie mechaniczne, a nie elektroniczne. W prezentowanym przełączniku zastosowane zostały sterowane elektronicznie elektromechaniczne przekaźniki bistabilne. Przekaźnik, w odróżnieniu od przełączników półprzewodnikowych, zapewnia całkowitą separację dielektryczną obwodów sterowanych od sterujących. Cewka przekaźnika bistabilnego potrzebuje zasilania tylko na czas przełączenia, co nie tylko oszczędza energię, ale również eliminuje wpływ stałego pola magnetycznego generowanego przez nią na czułe obwody przełączane.
Rys1. Schemat urządzenia
Schemat urządzenia przedstawiony jest na rysunku 1. W tym projekcie użyto dwóch jednocewkowych, bistabilnych przekaźników PR1 i PR2. Każdy z nich ma dwa niezależne obwody przełączające (PR1 przełącza VCC i GND, a PR2 sygnały D+ i D-). Zatem urządzenie ma dwa gniazda wyjściowe USB typu B (USB1 i USB2 do podłączenia komputerów) oraz gniazdo wejściowe USB3 typu A. Zamiast gniazda wejściowego można zastosować hub USB, dzięki któremu można jednocześnie przełączać mysz i klawiaturę.

W jednocewkowych przekaźnikach bistabilnych przełączenie następuje poprzez zmianę polaryzacji cewki. Został do tego wykorzystany nieco nietypowy mostek H. Nietypowość polega na użyciu dwóch niezależnych napięć zasilających, "podbieranych" z dwóch różnych portów wyjściowych USB (a raczej z komputerów do nich podłączonych). O tym, czy dany port USB jest zasilany z komputera informują świecące diody LED1 i LED2, podłączone poprzez rezystory ograniczające ich prąd R1 i R2.

Aby przełączyć układ na port USB1, należy nacisnąć przycisk S1. Prąd zaczyna płynąć przez rezystor R3, otwierając tranzystory npn T3 i T5. Otwarty tranzystor T3 poprzez rezystor R4 otwiera także tranzystor T1. Zatem prąd może płynąć od VCC portu USB1 przez tranzystor T1, cewki przekaźników, a poprzez tranzystor T5 zamyka obwód do GND portu. Po zwolnieniu przycisku tranzystory się zamykają, ale bistabilne przekaźniki pozostają przełączone. Analogicznie następuje przełączenie na port USB2, ale tym razem użyty przycisk chwilowy S2 otwiera tranzystory T6, T2 oraz T4, a prąd płynie przez cewki przekaźników w odwrotnym kierunku, korzystając z otwartych tranzystorów T4 i T2.
Rys2. Projekt płytka przełącznika USB
Problematyczne może być niezamierzone naciśnięcie obu przycisków naraz. Otwarte zostaną wtedy jednocześnie górne i dolne tranzystory, co spowoduje zwarcie linii zasilania do mas. Przed takim zdarzeniem mają zabezpieczać polimerowe bezpieczniki B1 i B2, lecz nie należy świadomie doprowadzać do takiej sytuacji. Cewkiobu przekaźników połączone są równolegle, z kolei równolegle do nich podłączony jest przeciwsobny zestaw diod Zenera – DZ1 i DZ2. Jest to zabezpieczenie tranzystorów sterujących przed napięciem indukującym się w cewkach przekaźników w momencie rozłączenia. Kondensatory C1 i C2 podłączone równolegle do zacisków przycisków S1 i S2 zabezpieczają układ przed konsekwencjami drgań styków w przyciskach, a rezystory R13 i R14 zapewniają polaryzację tranzystorów T3 i T6.
Rys3. Położenie elementów od spodu płytki
Omówienia wymaga jeszcze z pozoru dziwny układ dwóch tranzystorów T7 i T8. Jest to prawie klasyczny przerzutnik typu Flip-Flop, a jego zadaniem jest pamiętanie, który przycisk był ostatnio naciśnięty i załączenie odpowiedniej diody LED. Działa to następująco: tranzystory T7 i T8 w konfiguracji inwertera są połączone wzajemnie: kolektor jednego poprzez rezystor (R11 i R12) z bazą drugiego i na odwrót. Układ ten ma dwa stany stabilne, czyli otwarty naraz może być tylko jeden z tranzystorów. Aby wymusić otwarcie tranzystora T7, należy na chwilę podać na jego bazę napięcie (tutaj z przełącznika S1 poprzez diodę D3 i rezystor R9). Tranzystor T7 zostanie wówczas otwarty, a przepływ prądu przez jego bazę i rezystor R12 wymusi spadek napięcia na kolektorze tranzystora T8, uniemożliwiając jego otwarcie. Po zwolnieniu przycisku S1 prąd w obwodzie bazy T7 będzie nadal płynąć poprzez rezystor R12. Stan taki będzie stabilny do czasu naciśnięcia przełącznika S2, kiedy to poprzez diodę D4 i rezystor R10 prąd popłynie w obwodzie bazy tranzystora T8. Otwarty tranzystor T8 poprzez rezystor R11 wymusza spadek napięcia na kolektorze tranzystora T7, w rezultacie powodując jego zamknięcie. Mimo zwolnienia przycisku S2 prąd bazy tranzystora T8 nadal będzie płynąć poprzez rezystor R11.
Fot4. Płytka od strony lutowania - elementy SMD
Obwody kolektorów tranzystorów T7 i T8 zasilane są wspólnie za pomocą diod prostowniczych D1 i D2 oraz rezystorów R7 i R8 ograniczających prąd. Diody świecące LED3 i LED4 są włączone, nieco nietypowo, w obwody emiterów tranzystorów T7 i T8. Zadaniem tych diod jest sygnalizacja, który tranzystor jest otwarty, czyli który przycisk był ostatnio naciśnięty (a tym samym który port USB jest aktywny).

Montaż i uruchomienie

W urządzeniu zastosowano płytkę jednostronną, którą przedstawia rysunek 2. Ponieważ większość użytych elementów jest typu SMD, ale zastosowano też duże przewlekane elementy, jej montaż będzie dwustronny. Lutowanie najlepiej rozpocząć właśnie od tych najmniejszych elementów do montażu powierzchniowego - płytka może wtedy leżeć płasko na stole. Pomoc we właściwym umiejscowieniu elementów SMD może stanowić rysunek 3. Zamiast zwory ZW można wlutować rezystor R0 1206. Prawidłowo zmontowany, ze sprawnych elementów, przełącznik powinien działać od razu po podłączeniu do komputerów. Nie jest konieczne, aby oba komputery były jednocześnie uruchomione. W takiej sytuacji po prostu nie będzie możliwe przełączenie na nieaktywne gniazdo USB. O tym, który komputer działa, informują świecące diody LED1 i LED2. Fotografia 5 pokazuje przełącznik w obudowie.
Fot5. Przełącznik USB w obudowie
Urządzenie „zapamiętuje” na czas wyłączenia, które gniazdo było aktywne ostatnim razem. Niestety zaraz po włączeniu diody wskazujące (LED3 i LED4) mogą nie spełniać swego zadania (świecić może ta niewłaściwa). Sytuację ratuje krótkie naciśnięcie przycisku S1 lub S2. Opisany przełącznik przeznaczony jest do użytku z urządzeniami USB o niskim poborze prądu jak klawiatura czy mysz. Z uwagi na zastosowanie delikatnych przekaźników absolutnie niedopuszczalne jest podłączenie do niego urządzeń wymagających sporego prądu np. zewnętrznego dysku twardego.


Powyższy artykuł ukazał się w czasopiśmie "Elektronika dla Wszystkich" w numerze 5/2017

Do pobrania z elportalu:

Wykaz elementów

T1,T4 . . . . . . . . . . . . . . . . . . . . . . . .BC807
T2,T3,T5,T6,T7,T8 . . . . . . . . . . . . . . . . . .BC847
D1,D2,D3,D4 . . . . . . . . . . . . dowolna dioda krzemowa
. . . . . . . . . . . . . . . . .w obudowie SOD-80 lub SMA
DZ1,DZ2 . . . . . . . . . . . . . . diody zenera 5V1 SOD80
LED1,LED2 . . . . . . . . . . . . . .zielone diody LED 3mm
LED3,LED4 . . . . . . . . . . . . . czerwone diody LED 3mm
B1,B2 . . . . . . . . . . . . . . .bezpieczniki polimerowe
. . . . . . . . . . . . . . . . . . . 100mA, 1812 lub 1206
R1,R2,R7,R8,R9,R10 . . . . . . . . . . . . . . . . 1k 1206
R3,R4,R5,R6,R11,R12 . . . . . . . . . . . . . . . 4k7 1206
R13,R14 . . . . . . . . . . . . . . . . . . . . . 47k 1206
C1,C2 . . . . . . . . . . . . . . . . . . . . . 100nF 0806
S1,S2 . . . . . . . . . . . . . .przyciski tact switch 6mm
PR1,PR2 . . . . . . . . . . . . . . przekaźniki bistabilne
. . . . . . . . . . . . . . . . . jednocewkowe 5V np. PL-5
USB1,USB2 . . . . . . . . .gniazda USB typu B (drukarkowe)
USB3 . . . . . . . . . . . . .gniazdo USB typu A (płaskie)
. . . . . . . . . . . . . . . lub opcjonalnie mały hub USB
ZW . . . . . . . . . . . . . .opcjonalnie rezystor 0R 1206

31 lipca 2016

USB Audio DAC czyli zewnętrzna karta muzyczna

Pierwsze komputery PC miały bardzo ubogie możliwości muzyczne. Ich jedynym urządzeniem dźwiękowym był mały głośniczek zwany PC Speaker, który wydawał z siebie jedynie awaryjne "piknięcia". Z czasem pojawiły się coraz bardziej zaawansowane muzyczne karty rozszerzające jak Creative Sound Blaster czy Gravis Ultrasound. Dziś, kiedy komputer równie często służy do rozrywki, jak i do pracy, nawet nie wyobrażamy sobie, że mógłby nie mieć karty muzycznej na pokładzie. Chipy do obsługi dźwięku są standardowo montowane na płytach głównych komputerów. Niestety bardzo często są to rozwiązania kiepskiej jakości - emitowany dźwięk pozostawia wiele do życzenia (brzmienie jest „płaskie”, mało dynamiczne, zaszumione a nawet słyszalne są trzaski związane pracą dysku). Rozwiązaniem jest podłączenie lepszej zewnętrznej karty muzycznej poprzez port USB. Dzięki temu tor audio, wyprowadzony z komputera, mniej jest narażony na zakłócenia.

Firma Texas Instruments ma w ofercie wiele układów scalonych umożliwiających zbudowanie zewnętrznej karty muzycznej. Jednym z nich jest seria PCM2706/PCM2707 która pozwala na uzyskanie znakomitych efektów przy sporej prostocie układowej. Zaprezentowane w tym artykule urządzenie to zewnętrzna karta muzyczna z interfejsem USB. Właśnie gniazdo USB typu B (drukarkowe) jest na stałe osadzone na płytce. Pozostałe sygnały, w tym wyjście analogowe audio, oraz cyfrowe S/P DIF lub I2S, są wyprowadzone na złączach typu goldpin. W założeniach tak skonstruowana karta służy do wbudowania do dowolnego urządzenia audio (np. fabrycznego lub samodzielnie skonstruowanego wzmacniacza), by podnieść jego funkcjonalność. Przy czym taka karta może pracować nie tylko z klasycznym komputerem PC. Ja wykorzystuję ją podłączoną do serwera Synology, z którym w duecie tworzy stację muzyczną - sterowaną zdalnie ze smartfona. Urządzenie również świetnie spisuje się wraz z minikomputerkiem Raspberry Pi, którego samodzielne możliwości muzyczne są mizerne.

Alternatywnie zamiast złącza audio na płytkę można wlutować gniazdo słuchawkowe mini-jack, dzięki czemu otrzymujemy kompletną kartę muzyczną. Dodatkowo dzięki zaimplementowaniu w układzie PCM2706 interfejsu HID USB (tutaj jako klawiatura multimedialna) może ona służyć także jako prosty pilot do sterowania odtwarzaniem dźwięku. Właśnie takie rozwiązanie jest zaprezentowane na fotografii tytułowej.

Jak to działa?

Sercem urządzenia jest układ scalony US1 - PCM2706 (lub kompatybilny z nim PCM2707). Jest to jeden z następców legendarnych już układów PCM2702 firmy Burr-Brown rozwijanych już po przejęciu tej firmy przez Texas Instruments. W jednej obudowie jest tu zawarty układ interfejsu USB, przetwornik cyfrowo-analogowy Delta-Sigma, bufor wyjściowy/wzmacniacz słuchawkowy audio oraz używane alternatywnie elementy takie jak enkoder S/P DIF i I2S czy interfejs HID. Sygnał cyfrowy z komputera jest przesyłany poprzez interfejs USB w specjalnym trybie - izochronicznym (układ akceptuje dane stereo z rozdzielczością 16 bitów i częstotliwością próbkowania 48, 44,1 lub 32 kHz). Przedstawiony na rysunku 1 schemat urządzenia to niemal standardowa aplikacja z noty katalogowej. Elementy R1-R4 stanowią o prawidłowej współpracy z interfejsem USB komputera podłączonego kablem typu A-B (drukarkowym) do gniazda USB płytki. Układ jest zasilany również z portu USB, a elementy C1-C6 są wykorzystywane w wewnętrznych obwodach zasilania US1. Układ scalony do swej pracy wymaga rezonatora kwarcowego Q - 12 MHz. Kwarc ten wraz z elementami towarzyszącymi R5, C7 i C8 stanowi elementy wewnętrznego generatora. Jego sygnał jest mnożony przez 8 i używany do zarówno do taktowania interfejsu USB jak i przetwornika C/A. Jak już wcześniej wspomniałem układy serii PCM2706/PCM2707 posiadają wbudowany wyjściowy bufor/wzmacniacz audio. Zatem można podłączyć do niego słuchawki o impedancji 32 omów lub większej. Niezbędne są tu jednak kondensatory separujące C9, C10 wraz z rezystorami zapewniającymi polaryzację R8-R11 oraz elementy C11-R6 i C12-R7 stanowiące wyjściowy filtr górnozaporowy obcinający szum kwantyzacji. Wyjście audio obecne jest na złączu AUDIO. Na płytce znalazło się jeszcze miejsce na opcjonalnie stosowanych kilka przycisków oraz stanowiące zespół wyjść cyfrowych złącze CONTROL, które wymaga osobnego omówienia.
Rys.1 Schemat urządzenia
Do poprawnej pracy układu niezbędna jest konfiguracja wejścia FSEL układu US1, dokonywana jumperem na złączu konfiguracyjnym SP_I2S. Standardowo wejście FSEL powinno być spolaryzowane dodatnio (zworka pomiędzy 1-2) - wówczas działają równolegle wyjścia analogowe audio i cyfrowe S/P DIF. W przypadku zwarcia wejścia FSEL układu US1 do masy (zworka pomiędzy 2-3) zamiast cyfrowego wyjścia S/P DIF, uaktywniane jest cyfrowe wyjście I2S którego sygnały są dostępne właśnie na złączu CONTROL. Dzięki temu możliwe jest użycie zewnętrznego przetwornika o jeszcze lepszych parametrach niż ten wbudowany w układ. Aby w trybie I2S dostępne było wyjście audio, należy połączyć wyjście DOUT z wejściem DIN (zewrzeć piny 1 i 10 złącza CONTROL). W zwykłym trybie (FSEL=1) złącze to może być użyte do sterowania odtwarzaczem, przy czym w układzie PCM2706 wystarczy prosta klawiatura, której kilka przycisków może być zamontowanych bezpośrednio na płytce. Układ PCM2707 może być sterowany poprzez interfejs SPI np. z mikroprocesora. Opis złącza CONTROL zawiera rysunek 2.

Numer pinuPCM2706PCM2707
CONTROLukładu US1FSEL=1 (1-2)FSEL=0 (2-3)FSEL=1 (1-2)FSEL=0 (2-3)
14play/pause digital IN   digital IN
25nex I2S LR CK   I2S LR CK
36mute mute SPI MS SPI MS
47volume up volume up SPI MC SPI MC
58volume downvolume downSPI MD SPI MD
619prev I2S BIT CK   I2S BIT CK
718stop I2S SYS CK   I2S SYS CK
820GND GND GND GND
911SSPND SSPND SSPND SSPND
1017S/P DIF I2S SDATA S/P DIFI2S SDATA
rys 2

Montaż i uruchomienie

Płytka karty dźwiękowej została zaprojektowana jako jednostronna, ale elementy znajdować się będą po obu stronach płytki - te do montażu powierzchniowego od spodu, a z wierzchu klasyczne elementy przewlekane. Widok płytki jest przedstawiony na rysunku 3.
Rys.3 Rysunek płytki urządzenia
Montaż należy rozpocząć od wlutowania układu US1. Układy serii PCM2706-07 są łatwiejsze do wlutowania od wcześniejszych modeli PCM2702-05. Mimo że obudowa TQFP32 ma 4 krawędzie wyprowadzeń, to ich raster jest szerszy niż w starszych układach. Lutowanie należy rozpocząć od jednego wyprowadzenia w narożu, a następnie sprawdzić czy wszystkie piny znajdują się na swoich padach. Jeśli nie, to położenie należy skorygować. Następnie należy przylutować wyprowadzenie układu naprzeciwko do uprzednio wlutowanego, po czym można przylutować już wszystkie pozostałe. W następnej kolejności trzeba wlutować resztę elementów montowanych powierzchniowo - rezystory i kondensatory. W trakcie lutowania płytka może leżeć gładko na stole, co na pewno ułatwia zadanie. Dopiero po zakończeniu montażu elementów SMD zabieramy się za części przewlekane, zaczynając od tych najmniejszych. Zatem na początek zworki ZW1-ZW4. Jeśli nie planujemy wykorzystywać złącza CONTROL, ani przycisków to można nie lutować zworek ZW2-ZW4. Zworkę ZW1 można zastąpić koralikiem filtrującym zasilanie. Jeśli nie planujemy używać interfejsu I2S, to można zastąpić złącze SP_I2S zworką pomiędzy pinami 1-2. Kondensatory elektrolityczne C6, C9, C10 można wlutować na leżąco - zwłaszcza jeśli planujemy użycie płaskiej obudowy. W takiej sytuacji należy też zastosować kwarc w niskiej obudowie. Wyjście audio można zrealizować dwojako; albo poprzez wlutowanie potrójnego złącza goldpin w środkowe piny złącza AUDIO, albo stosując gniazdko mini jack stereo.
Fot.4 Zmontowana płytka od spodu
Wlutowanie goldpinu CONTROL czy przycisków również jest opcjonalne. Oczywiście przyciski mają sens jedynie w przypadku użycia układu PCM2706. Przy zastosowaniu przycisków należy pamiętać o wlutowaniu nietypowo montowanej zworki ZW5, którą stosujemy na wyprowadzeniach przycisków NEXT i PLAY. Pomoc w lutowaniu mogą stanowić fotografia 4 oraz rysunki 5 i 6 prezentujące położenie elementów po obu stronach płytek. Ostatnim elementem do zamontowania jest przewlekane gniazdko USB typu B. Na fotografii 7 zaprezentowano dwie zmontowane płytki wzmacniacza w obu konfiguracjach – po prawej jako zewnętrzna karta muzyczna oraz po lewej jako interfejs USB do wbudowania wewnątrz wzmacniacza.
Rys.5 Schemat montażu - strona wierzchnia
Prawidłowo zmontowana karta powinna działać od razu po podłączeniu do komputera (oczywiście należy wcześniej założyć zworkę na złącze SP_I2S we właściwym położeniu - patrz rysunek 2).
Rys.6 Schemat montażu - strona spodnia
Karta poprawnie współpracuje z systemami Windows, Linux i OS X - wykrywana jest jako USB Audio DAC. Niekiedy potrzebne może być ustawienie jej jako głównego urządzenia odtwarzającego dźwięk w ustawieniach systemu lub w programie używanym do odtwarzania muzyki.
Fot.7 Dwie wersje urządzenia
Zastosowany w urządzeniu układ scalony gwarantuje bardzo przyzwoite parametry - dynamikę na poziomie 98 dB i zniekształcenia poniżej 0,025%. Dla obciążenia o większej impedancji - powyżej 10 kiloomów - charakterystycznej dla wejść wzmacniaczy, zniekształcenia będą jeszcze mniejsze - poniżej 0,006%. Przy takim rozwiązaniu można zmniejszyć wartość kondensatorów wyjściowych C9,C10 do wartości kilku-kilkunastu uF. Układ PCM2706 umożliwia podłączenie prostej klawiatury sterującej poprzez interfejs HID głośnością i funkcjami odtwarzacza. Dostępnych jest 7 przycisków - na płytce znalazło się miejsce dla 5 z nich, realizujących jednak najczęściej używane operacje.
Fot.8 Wnętrze obudowy
Na koniec jeszcze o obudowie urządzenia zaprezentowanej na fotografii 8 i fotografii tytułowej. Jest ona wykonana z odpowiednio przyciętego i wygiętego aluminiowego kątownika 15x15x1 który tworzy ścianki boczne. Dół stanowi cienka stalowa blaszka, a górę przezroczyste plexi, pod którym umieszczono wydruk z etykietami przycisków. W tak przygotowanej obudowie, urządzenie jest estetyczne i funkcjonalne, ale oczywiście można zastosować dowolną inną obudowę.


Powyższy artykuł ukazał się w czasopiśmie "Elektronika dla Wszystkich" w numerze 7/2016

Do pobrania z elportalu:

Wykaz elementów

R1,R2 . . . . . . . . . . . . . . . . . . . . 22R smd0805
R3,R4 . . . . . . . . . . . . . . . . . . . . 1k5 smd0805
R5 . . . . . . . . . . . . . . . . . . . . . . 1M smd1206
R6,R7 . . . . . . . . . . . . . . . . . . . . 16R smd0805
R8-R11 . . . . . . . . . . . . . . . . . . . .3k3 smd0805
R12 . . . . . . . . . . . . . . . . . . . . .000R smd1206
C1-C5 . . . . . . . . . . . . . . . . . . . . 1uF smd1206
C6 . . . . . . . . . . . . 10uF 6V elektrolit przewlekany
C7,C8 . . . . . . . . . . . . . . . . . . . .33pF smd0805
C9,C10 . . . . . . . . . .100uF 5V elektrolit przewlekany
C11,C12 . . . . . . . . . . . . . . . . . . 22nF smd0805
US1 . . . . .PCM2706 lub PCM2707 (bez obsługi przycisków)
Q . . . . . . . . . . . . . . . .kwarc 12 MHz przewlekany
USB . . . . . . . . . . . .gniazdo USB typu B przewlekane
Elementy opcjonalne (opis w tekście):
SP_I2S . . . . . . . . . . . . . . . goldpin 1x3 + jumper
- wersja do wbudowania:
AUDIO . . . . . . . . . . . . . . . . .goldpin 1x3 kątowy
CONTROL . . . . . . . . . . . . . . . goldpin 1x10 kątowy
- wersja słuchawkowa:
AUDIO . . . . . . . . . . . . . .gniazdo mini jack stereo
VOL_UP,VOL_DN,PREV,PLAY,NEXT . . . . . . . . . .przyciski
. . . . . . . . . . . . . . . . . . .tact-switch 6x6x12mm

1 października 2014

Dwa komputery na jednym kablu

Większość nowoczesnego sprzętu komputerowego posiada wbudowaną komunikację sieciową WiFi. Jest to najpopularniejszy i najwygodniejszy sposób komunikacji sieciowej i raczej niezastąpiony jeśli chodzi o smartfony czy tablety. Jednak komputery stacjonarne, drukarki czy np. telewizory smart lepiej podłączyć tradycyjnym kablem. Połączenie takie jest pewniejsze i bardziej stabilne. W szczególności grube ściany czy żelbetowe stropy stanowią poważną barierę dla WiFi. Nie bez znaczenia jest też tłok jaki panuje w "eterze", zwłaszcza w blokowiskach. Bywa że klasyczny kabel Ethernetowy jest jedynym rozwiązaniem. Niestety pomiędzy routerem a docelowym urządzeniem musi być "pociągnięty" kabel. Czasem zdarza się że w docelowej lokalizacji potrzebujemy podłączyć drugie urządzenie. Można pociągnąć drugi kabel. Można też na końcu istniejącego kabla zastosować tzw. switch, ale można też użyć innego rozwiązania - wykorzystać nieużywane żyły istniejącego już kabla.
Schemat rozdzielacza kabla RJ45
Kabel Ethernetowy to 4 pary skręconych wzajemnie przewodów. Wszystkie cztery pary przewodów są wykorzystywane w coraz popularniejszym standardzie 1Gbps. Ale w standardzie 100 Mbps wykorzystywane są tylko dwie pary przewodów: Tx+,Tx-,Rx+ i Rx- (odpowiednio numery 1,2,3 i 6 według obowiązującego standardu T568B). Pozostałe przewody bywają czasem wykorzystywane do zasilania urządzeń w standardzie PoE (ang. Power Over Ethernet), ale z reguły pozostają niewykorzystane.

Co zatem zrobić aby wykorzystać jeden kabel do podłączenia dwu komputerów? Pierwszy komputer będzie podłączony tradycyjnie do przewodów 1,2,3 i 6. Sygnał dla drugi zostanie przesłany przewodami 4,5,7 i 8 - odpowiednio będą to Tx-,Tx+,Rx+ i Rx-.
Wtyk RJ45 z zaciśniętymi z dwoma przewodami
Jak to zrobić w praktyce? Jeśli mamy gniazdko w ścianie do którego podłączamy komputer tzw. patchcordem możemy wykonać samemu specjalny rozgałęziający kabelek wg rysunku 1. Ponieważ w jednej wtyczce trzeba zacisnąć dwa kable można do tego wykorzystać cieńszy przewód ethernetowy w którym zamiast czterech są tylko dwie pary przewodów - zobacz fotografii 2.
Rysunek płytka rozdzielacza
Jeżeli dysponujemy kablem zakończonym wtykiem możemy wykonać specjalny rozdzielacz z gniazdem. Taki rozdzielacz z krótkimi odcinkami kabli potrzebny będzie też od strony routera/switcha. Na rysunku 2 przedstawiono rysunek płytki drukowanej takiego rozdzielacza w wersji potrójnej tzn. umożliwiającego podłączenie 6 komputerów za pomocą 3 kabli. (Oczywiście nadal potrzebujemy 6 gniazdek w swichu.) Do każdego z gniazdek przylutowane są po dwa kabelki z wtyczkami RJ45 (a właściwie to 8P8C). Kolejność podłączania to a1,a2,a3,a6,b1,b2,b3,b6 (patrząc na płytkę od strony elementów, a gniazdo mając na dole - patrz fotografii 4. Gotowe urządzenie prezentuje fotografia tytułowa.
Zmontowane urządzenie rozdzielacza

Do pobrania:
Schemat i rysunek płytki w formacie Eagle:

30 września 2013

Stacja dokująca dla tableta z systemem Android

Urządzenie to powstało jako rozwiązanie praktyczne zadania numer 199 cyklu "Szkoła konstruktorów" czasopisma "Elektronika dla Wszystkich". Tematem zadania było "Zaproponować urządzenie elektroniczne przydatne uczniom lub studentom".

Moja propozycja to stacja dokująca dla tableta z systemem operacyjnym Android. Co prawda urządzenie to może służyć nie tylko uczniom i studentom, ale jak wynika ze statystyk to właśnie uczniowie i studenci stanowią 80% użytkowników tabletów. Tablet z uwagi na małą masę i rozmiary może być zabierany do szkoły czy na uczelnię. Można na nim korzystać z internetu (poprzez WiFi lub modem GSM), czytać podręczniki lub dokumentację z plików PDF czy DOC, przygotowywać notatki i.t.d. Po powrocie do domu, internatu czy akademika i podłączenia tableta do stacji dokującej, całość tworzy system w wielu zastosowaniach zastępujący z powodzeniem komputer PC.

Zaprojektowana stacja dokująca w założeniach to połączenie w jednym urządzeniu zasilacza-ładowarki, hosta USB oraz wzmacniacza akustycznego wraz z głośnikami. Wszystko to w zgrabnej, gustownej obudowie stanowiącej jednocześnie podstawkę.

W konstrukcji obudowy zastosowałem połączenie aluminium i czarnej pleksi. Jest ona stylistycznie dopasowana do wyglądu samego tableta, a przy tym prezentuje się niezwykle szykownie. Zewnętrzna ramka jest wykonana z odpowiednio wygiętego aluminiowego kątownika. Spód to kawałek blachy stalowej przykręcony do kątownika za pomocą śrubek M3. Całość tworzy mocną i sztywną skrzynkę (fotografia 1). Akrylowa płyta wierzchnia posiada szereg otworków po obu stronach w miejscu gdzie znajdują się głośniki. Jest ona przykręcona do spodniej płyty za pomocą śrub imbusowych M4 poprzez dystansowe, przedłużone nakrętki. Tymi samymi śrubami przymocowane są też głośniki.
Fot.1 Stacja dokująca wewnątrz
Wewnątrz stacji dokującej, oprócz głośników z gąbkowym wytłumieniem, znalazło się też miejsce na elektronikę. Z prawej strony umieściłem fabryczny, 4-portowy hub USB. Gniazda USB są dostępne z zewnątrz poprzez prostokątne otwory wycięte w aluminiowym kątowniku. Hub jest połączony z tabletem za pomocą przewodu z wtykiem Micro-USB OTG. (Aby uaktywnić funkcję Hosta USB wtyk musi mieć zwarte piny nr 4 i 5).
Fot.2 Detal
Centralną część stacji (fotografia 2) zajmuje specjalnie zaprojektowana płytka elektroniki. Zawiera ona dwa scalone wzmacniacze akustyczne TBA820M do wysterowania głośników, oraz dwie przetwornice impulsowe na układach MC34063. Całość jest zasilana zewnętrznym zasilaczem wtykowym 12V. Przetwornice miały za zadanie zasilać: pierwsza - tableta (zamiast zewnętrznej ładowarki), a druga - Hub aktywny (aby dołączone do niego urządzenia USB nie obciążały baterii tableta). Schemat przedstawiono na rysunku 1.
Rys.1 Schemat urządzenia
Niestety urządzenie po zmontowaniu nie działało zgodnie z oczekiwaniami. Po podłączeniu przewodu USB lub DC do ładowania tableta w głośnikach słychać ostry pisk. Początkowo sądziłem że to przenoszenie się zakłóceń z przetwornicy impulsowej zasilacza na wzmacniacz akustyczny. Efekty dźwiękowe były dosyć przykre zatem postanowiłem pozbyć się kłopotliwej przetwornicy i zastąpić ją stabilizatorem liniowym.

Ale po tej modyfikacji nic się nie poprawiło. Prawdziwą przyczyną problemów z wzbudzaniem była bowiem pętla masy. Okazało się że tablet posiada inne potencjały masy cyfrowej (gniazdo USB) i analogowej (gniazdo słuchawkowe minijack). Ponieważ sygnał dla wzmacniacza był pobierany z gniazda słuchawkowego, to przy podłączonych obu wtyczkach do tableta masa zwierała się w obwodach stacji dokującej powodując nieprzyjemne efekty dźwiękowe.

Po bezskutecznej walce z rozdzieleniem mas postanowiłem zrezygnować z obwodów zasilających tablet i hub (przetwornic). Po tej modyfikacji urządzenie działa poprawnie, chociaż niestety bez pełnej zakładanej funkcjonalności...

30 lipca 2010

Old Time Player


Wielu z nas swoją przygodę z elektroniką rozpoczynała od układów audio. To ogromna satysfakcja słuchać muzyki z samodzielnie poskładanego wzmacniacza, na własnoręcznie zbudowanych kolumnach głośnikowych. Gdyby tak jeszcze odtwarzacz audio do kompletu też samemu skonstruować...

Urządzenie które pragnę zaprezentować łączy w sobie funkcję wzmacniacza i kolumny głośnikowej, ale przede wszystkim cyfrowego odtwarzacza plików muzycznych. A wszystko to w starej stylowej obudowie lampowego odbiornika radiowego. Model ten zbudowałem jako rozwiązanie zadania numer 163 Szkoły Konstruktorów, którego tematem było: "Wykorzystanie starego komputera". A stary komputer PC 486 jest zasadniczą częścią mojego odtwarzacza. Współpracując z modułem sterowania opartym na nieco młodszym procesorze od firmy Atmel tworzą razem zgrany duet.

Rozwiązania które zastosowałem są odrobinę nietypowe, ale mam nadzieję że zainspirują do działania niejednego czytelnika. Omawianie konstrukcji zacznę niejako od tyłu - od obudowy. A przechodząc przez wszystkie elementy dojdę do źródła... sygnału audio rzecz jasna :-). W drugiej części omówię w skrócie zastosowane przeze mnie oprogramowanie.

Konstrukcja urządzenia


Obudowa. Jakiś czas temu wszedłem w posiadanie resztek radioodbiornika Pionier, pochodzącego z lat 50-tych ubiegłego wieku. Obudowa była w bardzo złym stanie. Wewnątrz były resztki chasis i niekompletne gałki. Nie było głośnika. Zachowała się za to oryginalna szybka - ze stacją Stalinogród na skali! Obudowę odnowiłem - musiałem ją pokleić, poszpachlować, uzupełnić ubytki forniru i polakierować. W trakcie tej renowacji myślałem o wmontowaniu do środka jakiegoś radyjka, ale przy okazji tematu zadania szkoły konstruktorów wpadłem na bardziej szalony pomysł zbudowania stylowego odtwarzacza muzycznego.

Fot.1 Moduł sterownika
Moduł sterowania. Odbiornik Pionier oryginalnie posiadał dwie gałki. Jedna do regulacji głośności druga do strojenia. W mojej konstrukcji pierwsza gałka pełni taką samą funkcję jak w oryginale czyli wyłącznik i regulacja głośności. Pozostała druga gałka to jednak za mało do sterowania odtwarzaczem. Zdecydowałem się dorobić dodatkową trzecią. Na fotografii 1 widoczne są szczegóły konstrukcji modułu sterowania, umieszczonego na dość dużej płytce drukowanej. Dolną część tej płytki zajmują przełączniki gałek. Ich konstrukcję w zbliżeniu prezentuje fotografia 2. Przełączniki są sterowane poprzez obrót wałków, wykonanych ze skróconych gwoździ. Na wałki te nałożyłem tuleje ze śrubkami (wyjąłem je z dużej elektrycznej kostki zaciskowej). Właśnie te śrubki naciskają na odpowiedni przełącznik przy obrocie osi w lewo lub w prawo. Ponadto wałki-gwoździe opierają się na mikroprzyciskach przylutowanych bezpośrednio do płytki modułu sterowania i załączają je po naciśnięciu. Wałki obracają się swobodnie w tulejkach wklejonych distalem w kawałek pleksi. A pleksi przykręciłem, poprzez tulejki dystansowe, do płytki - w pewnej odległości od niej.

Fot.2 Budowa przełącznika obrotowego
Większy dylemat miałem z wyświetlaczem. Jak to zrobić, aby nie zepsuć oryginalnego wyglądu radioodbiornika? Na środku skali umieściłem obrotową wskazówkę - prawie jak w oryginale, a poniżej 8 sekcji wyświetlacza 7-segmentowego LED. Są one ukryte za maskownicą wykonaną z brązowego papieru. Gdy są wyłączone na skali widać tylko wskazówkę, gdy zaś są włączone - widać tylko aktywne czerwone segmenty, które ciekawie kontrastują z zielonymi napisami na skali i żółtawym podświetleniem (bo szybkę ze skalą podświetliłem - oczywiście żarówką).

Szybka ze skalą - widoczna stacja Stalinogród
Zasadniczą rolę w module sterowania pełni mikrokontroler ATmega8. Odbiera on poprzez port szeregowy od komputera dane do wyświetlania. Do konwersji poziomu napięć interfejsu RS232 wykorzystałem prosty układ z tranzystorem i diodą Zenera - rozwiązanie takie stanowi alternatywę dla układu MAX232. Dzięki taktowaniu mikrokontrolera zegarem 11,0592MHz zminimalizowałem ryzyko błędów transmisji. Wyświetlacze LED są multipleksowane, a do sterowania anodami wyświetlacza wykorzystałem rejestr przesuwny - dla 8 sekcji wyświetlacza to oszczędność 6 portów procesora. Widoczna na fotografii 1 biała plama to wklejona distalem rurka stanowiąca oś dla wspomnianej wcześniej, analogowej wskazówki. Do jej obracania wykorzystałem silnik krokowy, pochodzący ze starej stacji dyskietek 3,5 cala. Ponieważ taki silniczek po wymontowaniu traci swoją geometrię, wyciąłem cały fragment napędu głowic ze stacji.

Fot.3 Rozwiązanie przeniesienia napędu z mechanizmu silnika krokowego na wskazówkę
Mechanizm ten przykręciłem na plecach dużej płytki. W miejsce głowicy stacji dyskietek przykręciłem popychacz (wygięty ze spinacza biurowego). Popychacz przesuwa wskazówkę za pomocą krzywki. Krzywka ta została przykręcona do osi wskazówki zaciskiem śrubowym - wydłubanym z małej elektrycznej kostki zaciskowej. Szczegóły tego rozwiązania są widoczne na fotografii 3. Mechanizm taki jest prosty i skuteczny. Dodatkowo na wyciętym fragmencie stacji dyskietek znajduje się oryginalny wyłącznik krańcowy - transoptor szczelinowy. Wykorzystałem go odczytując napięcie na jego fotoelemencie za pomocą przetwornika A/C mikrokontrolera.

Rys.1 Schemat ideowy modułu sterownika
Na płytce modułu sterowania zabrakło miejsca na sterowanie silnikiem krokowym. Sterownik ten, w moim wykonaniu, to dwa mostki H - razem 12 tranzystorów. Wraz z gniazdem programowania mikrokontrolera umieściłem go na osobnej płytce umieszczonej przy ściance bocznej. Ponadto na tej małej płytce umieściłem dwa układy LM317, umożliwiające regulację napięcia dla zasilania wentylatorów chłodzących krytyczne elementy we wnętrzu. Dzięki obniżeniu napięcia wentylatory pracują wolniej ale ciszej. Schemat ideowy modułu sterownika jest zaprezentowany na rysunku 1, a regulatora na rysunku 2.
Rys.2 Schemat ideowy regulatora
Płytki drukowane zostały przeze mnie zaprojektowane w programie Eagle, wykonane metodą termotransferu, a po wytrawieniu zabezpieczone farbą IDEAvetro. Schemat montażowy sterownika przedstawiony jest na rysunku 3 a regulatora na rysunku 4.

Rys.3 Płytka drukowana modułu sterownika
Rys.4 Płytka drukowana regulatora
Wnętrze skrzynki odtwarzacza. Na fotografii 4 widoczne jest wnętrze odtwarzacza. Obie zielone płytki modułu sterowania zostały omówione szczegółowo powyżej. W dolnej części sterownika przylutowana jest szara taśma, służąca do sterowania, jej drugi koniec podłączony jest do komputera. Czerwono-czarny przewód z kolei to magistrala szeregowa po której od komputera wędrują informacje do wyświetlenia. Nad płytką widoczna jest rurkowa żarówka samochodowa 12V5W oświetlająca skalę. Żarówka ta podłączona do 12V świeciła zbyt mocno a na 5V zbyt słabo. W rezultacie podłączyłem ją pomiędzy przewody 5V i 12V, a na powstałej różnicy napięć (7V) świeci idealnie. Na prawo od płytki sterownika znajduje się głośnik, przykręcony od środka do maskownicy.

Fot.4 Wnętrze odtwarzacza, widoczna płytka sterownika, głołnik, zasilacz i wzmacniacz akustyczny
Płytka pod głośnikiem to komputerowy zasilacz AT. Byłem zmuszony płytkę zasilacza wymontować z oryginalnej obudowy, bo inaczej nie zmieściłbym się we wnętrzu. Jednak nie zalecam takiego rozwiązania, ponieważ na płytce zasilacza panuje niebezpieczne napięcie sieciowe!

Fot.5 .Płyta główna z procesorem 486, widoczne mocowanie dysku twardego
Z zasilacza kolorowe wiązki przewodów (oryginalne) rozprowadzają napięcia do wszystkich elementów systemu. Jednym z nich jest widoczny w prawym górnym rogu wzmacniacz audio - standardowa aplikacja na układzie TDA2030. Sygnał do niego jest doprowadzany z potencjometru znajdującego się we wcięciu dużej płytki sterownika. Jest to starego typu potencjometr z wyłącznikiem, który jednocześnie załącza napięcie sieciowe dla zasilacza. A sygnał na potencjometr trafia z karty muzycznej komputera...

Komputer. Jako bazy do konstrukcji użyłem blaszanego elementu starej obudowy desktop PC. W obudowach tego typu podstawa płyty głównej i tylna ściana do przykręcania kart rozszerzeń tworzyły jedną całość. Wyciąłem fragment z takiej obudowy tak, aby utworzyć tylną ściankę mojego odtwarzacza. Do elementu tego przykręcona jest płyta główna z procesorem 486DX133. Do płyty włożyłem karty rozszerzeń: muzyczną, sieciową oraz - tylko dla potrzeb serwisowych - graficzną. Ponadto do jednego ze slotów ISA zamontowałem na kawałku laminatu dysk twardy. Komputerowa tylna ścianka zamontowana jest na stalowym gwintowanym pręcie który stanowi zawias. Odchylając w bok tylną ściankę uzyskuje się dostęp do elementów komputera oraz wnętrza skrzynki odbiornika. Konstrukcja taka z odchylanym chassis stosowana była w starych lampowych telewizorach. Szczegóły tego rozwiązania są widoczne na fotografii 5.

Urządzenie z otwartą tylną pokrywę
Działanie. Na przedniej ściance urządzenia znajdują się 3 gałki. Pierwsza z nich, największa, okrągła to potencjometr, który służy do włączania i regulacji głośności. Po włączeniu musi się załadować system operacyjny komputera. Ale już po niespełna 20 sekundach z głośnika zaczyna wydobywać się muzyka (cóż - radio lampowe też musiało się rozgrzać :-)). Prawa gałka służy do zmiany odtwarzanego utworu: w lewo - poprzedni, w prawo - następny. Ponadto naciśnięcie tej gałki wstrzymuje/wznawia odtwarzanie. Środkową gałką analogicznie można zmieniać albumy (katalogi). Natomiast naciśnięcie środkowej gałki służy do zmiany trybu działania wyświetlacza. Można wybrać sekwencyjnie następujące tryby:

TIME - wyświetla czas bieżący utworu,
TITLE - nazwa wykonawcy i tytuł utworu (z ID3tag),
ALBUM - tytuł albumu,
SONG NBR  - numer bieżącego utworu - i ilość wszystkich,
SILENT - w trybie tym sygnalizowana jest tylko zmiana utworu i albumu jednorazowym jej wyświetleniem,
DISP.OFF  - wyświetlacz całkiem wyłączony (jest dostępne tylko wskazanie analogowe :-)).
Dłuższe przytrzymanie tego przycisku restartuje program odtwarzający muzykę.

Wyświetlacz LED prześwietlający brązową maskownicę pod skalą
Urządzenie zapamiętuje ostatnio wybrany tryb wyświetlania. Odczytywanie napisów przewijanych na takim wyświetlaczu wymaga pewnej wprawy, ale jest wystarczająco czytelne. Zajmująca centralną pozycję za szybką skali wskazówka pokazuje postęp słuchania - z każdym utworem przesuwa się w prawo, pokazując proporcjonalnie pozycję wśród odnalezionych na dysku plików audio.

Zastosowany wzmacniacz akustyczny
Ale co zrobić, gdy muzyka z dysku się znudzi? Wystarczy podłączyć do wbudowanej karty sieciowej kabel Ethernet lokalnej sieci (lub skrosowany kabel do komputera) i połączyć się z urządzeniem za pomocą dowolnego klienta FTP. Wymiana plików może następować w trakcie odtwarzania. Odtwarzacz świetnie sobie radzi z wszelkimi typami plików audio (mp3, aac, flac, wav i wiele innych). I jeszcze jedna zaleta DOS-a - nie trzeba go zamykać. Zatem odtwarzacz wyłączamy przekręcając gałkę potencjometru/wyłącznika.

Oprogramowanie urządzenia

Oprogramowanie odtwarzacza PC. Istnieje mnóstwo programów do odtwarzania muzyki na PC np. WinAmp, Foobar. Niestety pracują one w systemie Windows, a ten niezbyt dobrze nadaje się do pracy bez myszy i klawiatury. Ponadto w Windows mamy małą kontrolę nad uruchomianymi procesami, co powoduje długi start i zamykanie systemu oraz konieczność częstych interwencji w przebieg pracy (np. niechciane wyskakujące okienka).

Szukając oprogramowania do odtwarzania muzyki trafiłem na freeware'owy program Mpxplay. To konsolowy odtwarzacz rozmaitych plików audio. Posiada wbudowaną obsługę sprzętowych rozszerzeń jak wyświetlacze LCD, odbiorniki podczerwieni, czy klawiatury podłączane poprze porty LPT, RS232 czy port joystick'a. Program ten posiada wersję skompilowaną pod Win32 (tekstowa konsola systemu Windows), ale jego podstawowym systemem operacyjnym jest DOS.

DOS (ang. Disk Operation System) kojarzy się z prymitywnym systemem operacyjnym, który już dawno wyszedł z użycia, zastąpiony przez nowocześniejsze, wielozadaniowe, graficzne systemy operacyjne. Oryginalny MS-DOS powstał prawie 30 lat temu w firmie Microsoft. W międzyczasie powstało jednak wiele jego alternatywnych implementacji, a systemy te nadal są używane w specyficznych zastosowaniach. Jedną z jego wersji jest darmowy FreeDOS. Posiada on wiele innowacji których nie ma w oryginalnym DOS m in. obsługę FAT32, długich nazw plików, portu USB i sieci TCP/IP. Mpxplay posiada wbudowany serwer FTP zatem urządzenie zbudowane w oparciu o FreeDOS/Mpxplay można spróbować nazwać mianem "serwer muzyczny".

System DOS. Jedną z podstawowych zalet systemu DOS są jego niskie wymagania sprzętowe. Do budowy systemu takiego jak mój wystarczy już jakieś stare Pentium 133 lub nawet 486. Instalacja i konfiguracja systemu DOS nie jest tak prosta jak Windowsa ale jeśli wiemy co i jak robić - trwa krócej :-).

System FreeDOS jest rozpowszechniany w internecie jako obraz płyty instalacyjnej CD lub dyskietki. Ja wybrałem tę drugą opcję - ale wymaga ona posiadania komputera ze stacją dyskietek, co może być problematyczne. Ponadto praca w czystym DOS polegająca na mozolnym wklepywaniu poleceń nie jest przyjemna. Ale od czego są menedżery plików? Ja używam klona programu Norton Commander o nazwie Volkov Commander w wersji 5 (a właściwie 4.99). To mały i zgrabny programik, który ma ponadto obsługę długich nazw plików (co nie jest typowe dla większości programów dla DOS). FreeDOS którego użyłem w moim urządzeniu został sporo okrojony. Zawartość mojego dysku C:\ wraz z opisem przedstawiam w tabeli 1. Pliki konfiguracyjne zawierają listing 1 - CONFIG.SYS oraz listing 2 - AUTOEXEC.BAT (komentarze zaczynają się słowem REM).

Program MPXPLAY. Program mpxplay posiada quasi-graficzny interfejs użytkownika. Ale do moich potrzeb byłby zbędny. Dlatego uruchamiam go z parametrami przełączającymi go w tryb uproszczony. Dla poprawnej współpracy mpxplay z modułem sterowania niezbędne są zmiany w pliku konfiguracyjnym MPXPLAY.INI. Na listingu 3 przedstawiam fragment zawierający najważniejsze ustawienia.

Program dla modułu sterowania. Program napisałem w języku C, wykorzystując środowisko WinAVR. Ma on dość prostą budowę. W funkcji głównej main() następuje konfigurowanie rejestrów procesora (porty, timery itd.) W pętli głównej tej funkcji obsługiwany jest jedynie przycisk do zmiany formatu wyświetlania. Najważniejsze operacje wykonują się w przerwaniach:
SIG_UART_RECV
Przerwanie wywoływane odbiorem znaku poprzez port szeregowy. Dane z PC są przesyłane w konsolowym formacie VT100. W formacie tym przesyłane są tylko informacje wymagające zmiany w stosunku do poprzednio odebranych. Dlatego wszystkie odebrane dane są buforowane w pamięci i modyfikowane fragmentami w razie potrzeby. Kluczowym znakiem jest #27 (ESC) który oznacza początek nowej sekwencji danych.
SIG_OVERFLOW0
Przerwanie od timera 0 służy do multipleksowania wyświetlacza LED. Dla dłuższych napisów obsługuje też ich przesuwanie. Samo wyświetlanie napisów na wyświetlaczu 7-segmentowym obarczone jest kompromisem. O ile część liter jak "A" "b" "h" czy "P" są raczej proste do przedstawienia, o tyle "K" "T" czy "Y" jest problematyczne. Ale jakoś sobie poradziłem. Wzorce liter zawarłem w pamięci programu: prog_uint8_t g_Digit[48].
SIG_OVERFLOW1
Przerwanie od timera 1 jest wykorzystywane do sterowania silnikiem krokowym. Zastosowałem sterowanie półkrokowe - jeden cykl pracy składa się z 8 kroków. Wzorce sekwencji sterujących zapisałem w pamięci programu: prog_uint8_t g_Steps[9].
SIG_ADC
Przerwanie od przetwornika A/C. Po uruchomieniu programu silnik krokowy zaczyna obracać wskazówką w lewo aż do zadziałania wyłącznika krańcowego - zasłonięciu szczeliny transoptora. Moment ten wykrywa przetwornik A/C mikrokontrolera. Od tej chwili program pamięta bieżącą pozycję wskazówki. Ponieważ wyłącznik krańcowy jest tylko z jednej strony, maksymalne położenie wskazówki w prawo ustaliłem empirycznie i zapisałem jako stałą w programie, który pilnuje aby jej nie przekroczyć. Kompletny kod źródłowy jest dostępny do zciągnięcia na elportalu - wraz z innymi materiałami.

Zakończenie

Zastosowanie tak starego komputera jak 486 oraz systemu operacyjnego DOS może się wydawać anachroniczne. Uważam jednak że DOS świetnie nadaje się do zabawy w łączenie komputera z elektroniką. Stare komputery posiadają komplet bardzo prostych w obsłudze portów (zarówno szeregowe jak i równoległy). Porty te w DOS dostępne są jako komórki pamięci komputera, dzięki czemu samodzielne ich oprogramowanie jest bardzo proste. Wbrew pozorom w sieci nie brakuje dokumentacji, ani gotowego oprogramowania. Np. program Mpxplay jest nieustannie rozwijany. Ja użyłem wersji 1.56, ale w chwili pisania tego artykułu (kwiecień 2010) dostępna była już beta wersji 1.57 z nowymi funkcjami (m.in. odtwarzanie plików z sieci). Gdyby ktoś chiał zbudować podobne urządzenie zalecam jednak trochę mocniejszy procesor, bo mój 486 ma problemy z plikami o większym bitrate. Zalecam procesor co najmniej Pentium 133. Nie od rzeczy jest też dobra karta muzyczna np. Sound Blaster Live. W takim zestawieniu odtwarzacz pod względem brzmienia bije na głowę większość tanich mp-trójek, miniwież czy odtwarzaczy dvd. Jak pisałem we wstępie - mam nadzieję że zainspirowałem do działania nie tylko siebie. Bo ja, zachęcony działaniem opisanej powyżej konstrukcji buduję sobie - tym razem rasowy - serwer muzyczny. Wyposażony będzie m.in. w wyświetlacz LCD, pilot IR, złącze USB, CD-ROM z możliwością odtwarzania i ripowania płyt CD, oraz możliwość odtwarzania plików z sieci. I tym razem w obudowie slim, pasującej do wieży audio. Oczywiście z FreeDOS i MpxPlay na pokładzie. Jego moduł sterowania będzie się kontaktował z komputerem wyłącznie poprzez port RS232 wykorzystując terminalowy protokół VT100. Ale to temat na inny artykuł...

Linki

Uwaga! Podczas użytkowania urządzenia w jego obwodach występują napięcia groźne dla życia i zdrowia.
Osoby niedoświadczone i niepełnoletnie mogą wykonać je wyłącznie pod kierunkiem wykwalifikowanego opiekuna, na przykład nauczyciela.



Powyższy artykuł ukazał się w czasopiśmie "Elektronika dla Wszystkich" w numerze 7/2010
Materiały dodatkowe: Do pobrania z elportalu: Film prezentujący urządzenie w działaniu:


Niestety z uwagi na prawa autorskie zmuszony byłem usunąć z filmu oryginalną ścieżkę dźwiękową...


Artykuł ten jeszcze przed ukazaniem się wzbudził kontrowersje o czym traktuje list napisany do redakcji czasopisma EdW przez jednego z oburzonych czytelników i opublikowany w tym samym numerze.