Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 gru 2024, o 16:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 4 cze 2017, o 21:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2017
Posty: 368
Lokalizacja: Gliwice
Pomógł: 34

I. Wstęp.

Komputerami do zadań multimedialnych (HTPC – Home Theatre Personal Computer) interesuję się już od bardzo dawna..
https://en.wikipedia.org/wiki/Home_theater_PC
W prapoczątkach tej dziedziny, gdzie królowały jeszcze filmy w formacie DIVX, podstawowym sprzętem do odtwarzania filmów był komputer klasy PC. Wyświetlaczem był monitor wykonany w technologii CRT o niewielkich, jak na obecne czasy, rozmiarach. Urządzeniami wejściowymi były klawiatura oraz myszka.
W tych zamierzchłych czasach mało, kto myślał o tym, by komputer PC pojawił się w salonie. Jeśli już ktoś myślał, to trzeba było za takie pomysły słono płacić.
Już w tych dawnych czasach mocno zastanawiałem się, w jaki sposób zrobić komputer do salonu, który będzie dobrze wyglądał, szybko się uruchamiał, będzie sterowany łatwiej niż z klawiatury i myszki. Już wtedy wiedziałem, że odpowiednim systemem będzie Linux.
Pierwsze próby, przystosowania Linuxa do tego celu, niestety nie były udane. Pomysł musiał zaczekać na lepszy czas, lepsze technologie.
Może pojawić się pytanie: a dlaczego nie Windows? Cóż, Windows zawsze swoje kosztował, w erze dysków talerzowych nie uruchamiał się zbyt szybko, ogólnie idea zastosowania takiej „kobyły” nie była w mojej opinii zbyt dobra, brakowało w niej nawet trochę pewnego rodzaju wyzwania :).

Odpowiednie czasy przyszły w okolicach 2011, kiedy to światło dzienne ujrzał system operacyjny Openelec.
https://en.wikipedia.org/wiki/OpenELEC.
Idei działania tego systemu było bardzo blisko do po,ęcia firmware’u w, stniejących już, od pewnego czasu, urządzeniach stacjonarnych do odtwarzania płyt DVD oraz plików DIVX.
Mały rozmiar, praca w trybie do odczytu głównego systemu plików, możliwość łatwiej aktualizacji to główne zalety takiego rozwiązania.

System ten nie istniałby gdyby nie inny ciekawy program, czyli XBMC (obecnie Kodi).
https://pl.wikipedia.org/wiki/Kodi.
Czasy jego rozwoju sięgają aż 2003 roku, niestety na porządne wsparcie w postaci lekkiego systemu operacyjne musieliśmy czekać właśnie do ok. 2011 roku.

Pierwsze wersje Openelec miały sporo ograniczeń, głównie, co do wspieranych platform sprzętowych. Najlepsze wyniki można było uzyskać na platformie nVidii ION oraz później ION2. Oprócz dobrego wsparcia w postaci sterowników, również do systemu Linux, sprzęt ten cechował się bardzo niskim poborem prądu, w okolicach 25W, przy pełnym obciążeniu. Wsparcie programowe również było na dobrym poziomie, ilość wspieranych kodeków audio i wideo była, co najmniej dobra.
To wszystko to był tylko jednak początek prawdziwej idei HTPC, a era tej idei dopiero miała nadejść :)
Obecnie sytuacja wygląda zgoła inaczej. Openelec, Kodi dostępne są na wielu platformach. Oprogramowanie ma ogromne wsparcie sprzętowe, możemy wybierać od małych urządzeń na Androidzie, poprzez telefony, aż do komputerów PC. Oczywistym jest, że nie wszystkie platformy mają podobne możliwości. Wybór rozwiązania zaproponowany przeze mnie to pewnego rodzaju złoty środek, a elementem centralnym projektu jest wykonanie we własnym zakresie obudowy dla HTPC. Czym się powinna cechować taka obudowa opiszę w dalszej części wpisu.

Warto zaznaczyć jeszcze, że społeczność miłośników odtwarzania plików wideo już we wczesnych czasach podzieliła się na tych, którym odpowiada idea HTPC i tych, którzy nadal woleli przeglądać multimedia za pomocą myszki i klawiatury.
Osobiście jestem zdecydowany orędownikiem tego pierwszego rozwiązania i zamierzam udowodnić, że dobrze wyglądający i sprawnie działający sprzęt multimedialny nie musi być drogi, ani wyglądać jak ciosany siekierą z pnia :)
Obrazek

II. Założenia.

Komputer HTPC powinien mieć następujące cechy:

1. Odpowiedni wygląd, tak by był ozdobą salonu. Wygląd powinien mieć cechy stacjonarnego sprzętu audio i to najlepiej, co najmniej średniej klasy.

2. Dostateczną wydajność, tak by odtwarzał najnowsze formaty audio i wideo.

3. Sterowanie za pomocą pilota IR lub radiowego. Inne formy sterowania, jak np. smarfonem, również są mile widziane, aczkolwiek, w mojej opinii, najwygodniejszym sterowaniem cechuje się właśnie pilot IR czy radiowy.

4. Sterowanie powinno być wbudowane. Żadne zewnętrzne odbiorniki na kablu USB, jakieś przejściówki pałętające się przy szafce. Nic z tych rzeczy.

5. Wbudowany wyświetlacz VFD – podstawowe informacje np. o odtwarzaniu powinny być łatwo dostępne, bez konieczności włączania telewizora czy też monitora. Ostatecznie może to być wyświetlacz OLED, LCD nie jest mile widziany z powodu swojego „przaśnego” wyglądu :)

6. Dostęp do sieci, co najmniej LAN.

7. Komputer powinien się szybko uruchamiać i zamykać (usypiać). Takie podstawowe funkcje MUSZĄ być obsługiwane zdalnie.

III. Wybór rozwiązań.

Żeby sprostać wymaganiom przedstawiony w punkcie II dokonałem następujących wyborów:

1. Wybór obudowy do projektu
Obecny rynek jest pełen gotowych produktów. Od tanich, plastikowych obudów do gotowych, drogich, aluminiowych rozwiązań z wyświetlaczami dotykowymi i innymi bajerami. Cena takich urządzeń może przyprawić o ból głowy :) .
Proponowanym przeze mnie rozwiązaniem jest wykonanie obudowy we własnym zakresie, bazując na istniejących rozwiązaniach. Należy wybrać odpowiedniego dawcę i dać mu nowe życie. Coś na zasadzie słynnego skądinąd Misio :)
http://mirekk36.blogspot.com/2014/07/ja ... eby-c.html

W opisywanym przypadku padło na obudowę, po uszkodzonym magnetofonie marki Universum, z serii 4096.
Na poniższych zdjęcia oryginał oraz owoc mojej pracy :)
ObrazekObrazek

UWAGA! W tym miejscu warto wspomnieć, że w niektórych kręgach, pewnie tych tzw. audiofilskich, operacja, którą przeprowadziłem to istna zbrodnia na sprzęcie audio. Użycie obudowy, wiercenie i robienie innych „brzydkich” rzeczy jest niedopuszczalne. Po trochu do takiej opinii się dołączam, ale tylko pod warunkiem, że obudowa zostanie zniszczona i efekt końcowy będzie po prostu nieodpowiedni. Zatem należy zadbać o odpowiedni poziom przeróbek, by sprzęt z godnością mógł wrócić do salonu. Uprzedzając nieco fakty, uważam, że w opisywanym przypadku tak się stało.

2. Wybór płyty głównej do projektu.
Wybór płyty głównej, a co za tym platformy sprzętowej, w moim wypadku był prosty. Znając rynek małych komputerków opartych na Arm’ach i innych wynalazkach musiało paść na płytę główną klasy PC. Rozmiar obudowy wymuszał również rozmiar płyty tzn. ITX. Płyty takie mają znormalizowany rozmiar 17x17 cm, mają wyprowadzony sygnał Power Buton i Reset, można podłączyć szybki dysk SSD, na płycie można zwykle znaleźć kilka wejść USB, również USB 3.0, interfejs PCI-e oraz MiniPci-e. Wszystkiego tego zwykle brakuje w mini komputerach opartych na Arm’ach. Najczęściej jest problem z softem i ze wsparciem. Jedyne sensowne platformy, w moim mniemaniu, to Raspberry PI, co najmniej w wersji 2 oraz te oparte na Amlogic S805. W tych produktach mamy dobre wsparcie oraz jest kilka modeli gotowych do pracy zaraz po wyjęciu z pudełka np. Wetek Play.
Wadą jest to, że wymiary nie są w żaden sposób znormalizowane i wymiana komputera zwykle będzie się wiązać z wymianą lub przeróbką obudowy.

Wracając do Mini ITX, ważną cechą tej platformy jest możliwość łatwej wymiany na inny, jeszcze bardziej wydajny egzemplarz, praktycznie w każdej chwili.
Wybierając płytę główną nie można zapomnieć o zasilaczu. Mój wybór padł na zasilacz klasy Pico PSU. Najważniejszą cechą takich zasilaczy jest wysoka sprawność, nawet więcej niż 90%. Można również zainwestować w płytę główną zasilaną z pojedynczego napięcia np. 12V, ale jest to opcja zwykle sporo droższa.

Podsumowując za i przeciw, wybrałem średni model Asus J1800-C. Wyposażyłem konfigurację w prosty dysk SSD 32GB oraz 4GB RAM

3. Wydajność platformy Asus J1800-C.
Pisząc krótko: jest wystarczająca.
Pozwala odtwarzać gęste formaty audio w trybie bitstream, klipy wideo Full HD/60 fps, klipy 4K/30fps. Można się również pokusić o instalację Windows do prostych zadań typu przeglądanie Internetu czy prac biurowych.
Procesor zastosowany na tej płycie to ciekawa konstrukcja o sporych możliwościach i rewelacyjnym poborze prądu pomiędzy 10 a 15 Wat pod obciążeniem.

4. Wybór wyświetlacza VFD
W niniejszym projekcie wykorzystałem wyświetlacze marki Noritake Itron. Swego czasu można było go kupić „za grosze” na portalach aukcyjnych. Chodzi tutaj o wyświetlacz z zgodny z interfejsem HD44780, model CU20025ECPB-W1J. Podczas pracy na sterownikiem okazało się, że popularne biblioteki do tego typu LCD nie do końca wspierają te wyświetlacze. Zastosowany sterownik LCD2USB potrafił „zawieszać” interfejs, dlatego tez musiałem opracować odpowiednie poprawki do sterownika, przy okazji implementując obsługę sterowania jasnością lamp VFD.

5. Zdalne sterowanie
W tym punkcie przechodzimy do sedna całego projektu. Spotykane w Internecie projekty DIY o podobnym charakterze, zwykle ten aspekt traktują po macoszemu dołączając tylko klawiaturę i myszkę, ewentualnie odbiorniki IR na USB czy też RS232. W niniejszym projekcie postawiłem na kompleksowe rozwiązanie. Zaprojektowałem i wykonałem we własnym zakresie odbiornik IR emulujący klawiaturę HID włącznie z opcją uczenia kodów dowolnego pilota zgodnego z zastosowaną biblioteką IRMP.
https://www.mikrocontroller.net/articles/IRMP_-_english

Odbiornik został umieszczony wewnątrz urządzenia, została zintegrowana obsługa klawiatury panela czołowego, został dołożony enkoder, tak by wszystkie elementy z płyty czołowej miały swoje funkcje. Wszystkie te cechy wymagały opracowania własnych schematów oraz PCB pasujących do zastosowanej płyty czołowej obudowy. Projekty płytek zostały zleconego lokalnej firmy, tak by całość nabrała odpowiedniej jakości.

IV. Szczegółowy opis konstrukcji.

1. Część mechaniczna.
Praktycznie większość szczegółów konstrukcyjnych dotyczących obudowy widać na załączonych zdjęciach i filmach. Warto tylko dodać, że szczególnej uwagi wymagał montaż wyświetlacza VFD, nie obyło się bez pracy z pilnikiem.
Obrazek

Oprócz tego montaż napędu Blu-ray oraz dysku SSD też wymagał zastosowania dodatkowej platformy (część mechaniczna stosowana w niektórych obudowach IBM) oraz zakupu aluminiowych profili o przekroju L. Do tego kilka otworów i nitonakrętek, przycięcie profili na odpowiedni wymiar tak, by montaż i demontaż platformy nie był zbyt czasochłonny.
ObrazekObrazek


Oczywiście te nieskomplikowane prace mechaniczne były poprzedzone dość długim procesem myślowym zgodnym z ideą Eda China z Fanów Czterech Kółek, która mówi o tym, żeby mierzyć kilka razy, a ciąć tylko raz :)
Podobna idea przyświecała mi podczas opracowywania wycinki w części tylnej obudowy pod panel złączy wyjściowych. Również i tu wiertarka, pilnik oraz suwmiarka, kilkadziesiąt minut pracy i wycięcie pod panel tylni było gotowe.
Obrazek


2. Część elektroniczna.
W części elektronicznej projektu musiałem postawić na zaprojektowanie dwóch urządzeń opartych na procesorach AVR. Jedno urządzenie to klawiatura HID sterowana przy pomocy pilota IR, drugie to sterownik LCD2USB przeznaczony do obsługi wyświetlacza VFD. Obie konstrukcje to można by rzecz szkolne, podstawowe wykonania bazujące na istniejących projektach:
http://code.birkler.se/usb-ir-hid/
http://www.harbaum.org/till/lcd2usb/index.shtml

Bazując na powyższych projektach i tak należało przygotować dedykowane schematy oraz obwody PCB.
Obrazek

Praca nad projektami PCB wymagała dużego nakładu pracy po to, by dopasować otwory znajdujące się w obudowie, do otworów w płytce drukowanej. Praca ta wymagała sporej ilości wydruków kontrolnych na drukarce i dopasowywania tak przygotowanych karteczek do obudowy. W kolejnej iteracji, trudno już powiedzieć której, otrzymano zadowalający poziom dopasowania tak, by oddać projekt PCB do wykonania.
Na przedstawionych zdjęciach widać wydruki kontrolne oraz już gotowe płytki PCB.
Obrazek

Płytka sterownika VFD jest też sprzętowo przygotowana do obsługi modułu z DS2321. W przyszłości planuję dodać obsługę programową zegara wraz z funkcją alarmu.

Oto zmontowane i gotowe do programowania płytki PCB.
ObrazekObrazek

Tutaj mamy już gotowy panel, wyposażony w elektronikę. Na zdjęciu również widać zamontowany moduł DS3231
Obrazek

Dzięki modułowej konstrukcji obudowy w ciągu kilku minut można cały komputer poskładać i zdemontować.
Na poniższym filmie, krótka prezentacja z montażu kluczowych elementów komputera.



3. Część programowa
W poprzednim punkcie wskazałem projekty bazowe, na których się wzorowałem.
Niemniej jednak kod, szczególnie w części dotyczącej sterowania, został napisany praktycznie od nowa. Kod został przygotowany już prawie dwa lata temu i w obecnej formie, pomimo, że poprawnie działający, nie nadaje się do publikacji, zresztą tematem przewodnim niniejszego opisu jest konstrukcja obudowy HTPC. Planuję dokonać uaktualnienia do nowszej wersji i następnie publikacji wyników pracy.
Obecna wersja powstała dzięki poradnikom z kanału https://www.youtube.com/user/mirekk36 oraz Bluebookowi :)

W obecnej wersji sterowniki realizują następujące funkcje:
a) Z komputerem PC komunikują się za pomocą interfejsu USB, dzięki bibliotece V-USB https://www.obdev.at/products/vusb/index.html.

b) Obsługa odbiornika podczerwieni oparta na IRMP, łącznie z funkcją uczenia kodów z dowolnego pilota zgodnego z biblioteką.

c) Obsługa klawiatury panelu czołowego.

d) Obsługa enkodera pełno lub półkrokowego.

e) Obsługa wyświetlacza VFD za pomocą biblioteki Petera Fleury.
http://homepage.hispeed.ch/peterfleury/ ... 44780.html Łącznie z autorskimi
poprawkami dotyczącymi poprawnej pracy z wyświetlaczami Noritake Itron.

f) Obsługa transoptora potrzebnego do włączania, wyłączania oraz usypiania urządzenia za pomocą przycisku Power jak i również pilota zdalnego sterowania.

g) Obsługa przełącznika suwakowego jako prostej klawiatury analogowej.

Większość funkcji gotowego urządzenia można zobaczyć na krótkiej prezentacji (tu jeszcze nie założona obudowa górna ):



V. Co jeszcze można poprawić?

Na całość projektu poświęciłem naprawdę sporo czasu. Niestety przedsięwzięcie było, jak na moje środki, dość skomplikowane, dlatego pozostało trochę niedoróbek:

a) Panel tylni obudowy powinien być wykonany od nowa. Mam już przygotowany wstępny rysunek techniczny, należy dopieścić szczegóły i zlecić wykonanie odpowiedniej blachy.

b) Oprogramowanie musi zostać uaktualnione do najnowszej wersji. Należy wykorzystać zdarzenia i callbacki

c) Można się pokusić o zeszlifowanie panelu przedniego i wykonanie dedykowanych napisów zgodnych z przeznaczeniem sprzętu. Niektórych pewnie rażą napisy na panelu, niezgodne ze swoimi funkcjami. Mnie nieco rażą 

d) Na ściance przedniej brakuje gniazda USB, najlepiej w wersji 3.0, tak by można było łatwiej podłączyć pamięć przenośną. Gniazdo można by umieścić w miejscu przycisku Open/Close

VI. Podsumowanie
To właściwie wszystko (jeśli o czymś sobie przypomnę to uzupełnię wpis :) ). Urządzenie nie powstało w tydzień czy miesiąc.
Pracowałem nad nim kilka lat, oczywiście z przerwami. Samo urządzenie jest ozdobą salonu właściwie już od dłuższego czasu.
To na tym projekcie szlifowałem swoje umiejętności zarówno w programowaniu jak i obsłudze programu Eagle.
To na razie początki w obu z tych dziedzin, ale dzięki również społeczności zebranej wokół forum Atnel znajduję na to czas i staram się przekazać swoje doświadczenia dalej :)
Mam nadzieję, że projekt oraz opis się spodoba i zachęci innych do prezentowania swoich konstrukcji DIY.
Z chęcią poznam inne opinie na temat mojej prezentacji.

PS
Ważne. Pewnie niektórzy spostrzegawczy czytelnicy zauważą, że zdjęcia pochodzą z różnych etapów pracy nad projektem.
Ostatecznie powstały dwie takie obudowy, z tym że druga nie jest jeszcze gotowa :)
Jeszcze kilka dodatkowych zdjęć.
ObrazekObrazekObrazek
Obrazek
ObrazekObrazekObrazek


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2017, o 21:22 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

Powiem krótko, jak się patrzy na projekty tego naszego kolegi Szymona - to szczęka opada ;) ... ja akurat nigdy się tym nie zajmowałem ale jak się tak popatrzy co kolega wyczynia - to aż się człowiekowi zachciewa takich rzeczy! GRATULACJE!

a ze swojej strony ślicznie dziękuję za publikację tych prac - dla mnie osobiście to spora gratka sobie o tym wszystkim poczytać, popatrzeć, pooglądać itp. Szacunek.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2017, o 21:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2017
Posty: 368
Lokalizacja: Gliwice
Pomógł: 34

mirekk36 napisał(a):
a ze swojej strony ślicznie dziękuję za publikację tych prac - dla mnie osobiście to spora gratka sobie o tym wszystkim poczytać, popatrzeć, pooglądać itp. Szacunek.

Mirku, cała przyjemność po mojej stronie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2017, o 05:46 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

Rewelacyjny opis i wykonanie. Gratuluję!

Sent from my Mi-4c using Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2017, o 08:52 
Offline
Użytkownik

Dołączył(a): 19 sty 2014
Posty: 83
Pomógł: 2

Kiedy zobaczyłem tytuł pomyślałem że będzie to opis jak złożyć komputer i w ogóle co to robi w dziale DIY.
Dalsza lektura szybko wyprowadziła mnie z błędu, widać ogrom pracy włożonej i perfekcjonizm .
Gratuluję projektu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO