31 lipca 2010

Old Time Player - kontrowersje

Przeczytaj oryginalny artykuł Old Time Player z EdW 7/1010
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 7/2010:

Witam! W związku z zapowiedzianą publikacją "Old Time Playera" w lipcowym numerze EdW chciałbym zwrócić uwagę Redakcji, na potencjalnie szkodliwe skutki takich opisów. Wielu posiadaczy starego sprzętu radiotechnicznego dopiero teraz zaczyna odkrywać jego wartość, głównie za sprawą internetowych portali aukcyjnych. Dzięki temu stare radia, radiole, gramofony i, o zgrozo, cudem ocalałe radia przedwojenne(!) coraz rzadziej trafi ają na złomowiska i wysypiska śmieci. Niestety, zdarzają się techniczni wandale, którzy rozbierają sprawne lub nadające się do naprawy radia, licząc na większy zysk ze sprzedaży poszczególnych części. Innym przejawem braku świadomości (bo chyba nie bezmyślności?) jest "przerabianie" takich zabytków na meble, obudowy komputerów lub odtwarzacze CD/MP3. Pragnę gorąco zaprotestować przeciwko propagowaniu takiej działalności na łamach "Elektroniki dla Wszystkich" - pisma, które cenię i które jest znacząco opiniotwórcze dla młodego pokolenia elektroników ! Mojego zdania nie zmieni popularne stwierdzenie, że do takich przeróbek wykorzystuje się zazwyczaj obudowę radia nienadającego się do naprawy. Każde radio można naprawić i poddać renowacji. Jeśli nie teraz, to za 10, może 20 lat, gdy właściciel do tego dojrzeje. W najgorszym wypadku jego podzespoły, łącznie z elementami obudowy, można wykorzystać, by przywrócić do życia inny egzemplarz tego typu. Potrafi my hołubić wychodek i pałac sprzed 50 lat, kawałek papieru, drewna, cegły lub żelastwa sprzed 200 lat i nikomu nie przyjdzie do głowy ustawiać na tym doniczek z kwiatkami jak to się dzieje z niemal 100-letnimi radiami. W wolnej chwili polecam uwadze wątek na forum Trioda: http://www.trioda.com/forum/viewtopic.php?f=12&t=9332

T.G.

[Interesujące fragmenty są pod powyższym linkiem pomiędzy stronami 13 a 15]

Komentarz redakcji:

W pełni zgadzamy się z wnioskami, że stary sprzęt przede wszystkim warto reanimować do oryginalnej postaci. W EdW, w numerach 6...11 z roku 2000 przedstawiony był obszerny cykl "Radio retro - Ożywianie odbiorników lampowych", zawierający mnóstwo cennych informacji praktycznych dotyczących renowacji starych odbiorników radiowych - PDF-y dostępne są dla wszystkich w Elportalu (Radio Retro).


Ciąg dalszy "dyskusji" miał miejsce w numerze EdW 8/2010 - najpierw komentarz redakcji:

Zapowiedź z EdW 6/2010: "Old Time Player - Urządzenie łą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" wywołała ogromne poruszenia na jednym ze znanych portali elektronicznych. Poniżej kilka wybranych wpisów:
  • "Niech ich szlag, z jednej strony opisują działanie lampy elektronowej, budowę wzmacniaczy i innych rzeczy na lampach, a tutaj rozbebeszają Pionierka! Dajcie mi do nich adres e-mail!"
  • "Po co te emocje! Może się okazać, że ktoś miał po prostu obudowę i zamiast ją wyrzucić, coś sobie w niej zrobił, będę miał ten numer, to wam powiem, co tam napisane jest"
  • "Zasypmy redakcję listami protestacyjnymi, to jedyne, co można zrobić"
  • "Hm, ja myślę, że niepotrzebne są aż takie emocje - spokojnie poczekać na artykuł. Sam mam dwa Pionierki bez chassis. A choćbyśmy nie wiem, co robili, to ze swoją własnością każdy może zrobić co mu się podoba"
  • "50-letni Pałac Kultury zrobiono zabytkiem, a niemal 100-letnie radia nadal robią za podstawki do kwiatów..."

Obarczony takimi zarzutami pozwoliłem sobie "wysmażyć" taką odpowiedź:

W numerze 7/2010 EdW ukazał się mój artykuł "Old Time Player". W artykule tym opisałem urządzenie, które w swojej konstrukcji łączy pewne epoki w rozwoju elektroniki i informatyki. Użyłem współczesnego mikrokontrolera AVR, starego komputera PC-486 (lata 90.), elementów stacji dyskietek i systemu operacyjnego DOS (lata 80.), wyświetlaczy LED (wynalazek lat 70.) oraz obudowy radia lampowego z przełomu lat 50./60. I właśnie zastosowanie tej obudowy, którą można było zobaczyć w zapowiedzi artykułu, wywołała ostry sprzeciw wyrażony w liście do redakcji, opublikowanym w Poczcie EdW 7/2010. Celem mojego artykułu było zainspirowanie młodych Czytelników do nietypowego wykorzystania starego komputera i jego części - nie zaś zachęcanie do przerabiania starych odbiorników radiowych. Absolutnie zgadzam się z autorem listu, co do kwestii zapobiegania bezmyślnemu dewastowaniu starego, zabytkowego sprzętu elektronicznego. Przedmiotem takich działań padają często nieliczne, unikatowe przedwojenne odbiorniki radiowe. Niemniej jednak nie mogę się zgodzić z tezą, że każdy egzemplarz starego radia należy koniecznie przywrócić do życia. Radio Pionier U2, którego obudowę wykorzystałem, raczej nie jest urządzeniem unikatowym. Sporo takich odbiorników w dobrym stanie technicznym można odnaleźć chociażby na znanym portalu aukcyjnym. Gdyby ktoś chciał takie urządzenie reaktywować, musi pamiętać, iż w jego wnętrzu - na metalowym chassis - może wystąpić niebezpieczne napięcie sieci. Jest to konsekwencją uproszczonej konstrukcji pozbawionej transformatora sieciowego. Po udanym uruchomieniu takiego odbiornika, oprócz satysfakcji, czeka go jednak smutna prawda: na pasmach radiowych, które on odbiera, wśród mnóstwa zakłóceń ciężko znaleźć nieliczne stacje, które jeszcze tam nadają... Egzemplarz Pioniera, którego obudowę wykorzystałem, trafił do mnie w opłakanym stanie. Został wypatroszony już dawno - wewnątrz brakowało głośnika z transformatorem i części lamp. Kondensator strojeniowy był pogięty, a części bierne pourywane. Obudowa była w równie kiepskim stanie. Radio długo leżało w piwnicy, gdzie kurz i wilgoć zrobiły swoje. Niestety do renowacji w całości się nie nadawało. Postanowiłem uratować chociaż rozbitą skrzynkę, która o mało co nie trafiła do pieca! Użyta przeze mnie obudowa nie jest tylko oprawą całości. Dużo pracy włożyłem w to, aby urządzenie zachowało charakter starego radia. Oryginalna skala jest podświetlana żarówką, ma obrotową wskazówkę, a do sterowania służą gałki. Wyświetlacz LED może być wyłączony, a wtedy grające urządzenie do złudzenia przypomina stary odbiornik radiowy. Przy tym można się cieszyć nie tylko z jego wyglądu, ale i funkcji użytkowej.

Komentarz redakcji:

Emocje były rzeczywiście niepotrzebne. Stanowisko Redakcji jest niezmienne i było przedstawione przez Naczelnego we wstępniaku 7/2010 "Już przy okazji zadań 149 i 150 Szkoły Konstruktorów wyraźnie podkreślałem, że należy przywracać stary sprzęt, zwłaszcza lampowy, do jego pierwotnego stanu. A tylko przy absolutnym braku możliwości, tak jak w przypadku prezentowanego projektu, można wykorzystać obudowę czy inne części, do budowy rozmaitych hybryd. Młodzi Czytelnicy może jeszcze tego nie czują, ale przywrócenie staremu radiu lampowemu jego dawnej świetności daje niepomiernie więcej satysfakcji niż wykorzystanie jego części do dziwnych konstrukcji".


To niestety nie ostatni skrytykowany projekt mojego autorstwa...
Zobacz reakcję czytelnika po publikacji projektu Zegarek naręczny z wyświetlaczem binarno-widmowym

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.