Projektem, który tu przedstawiam jest tablica wyników (z góry przepraszam za jakość zdjęć robionych w ciemności "z ręki"). W temacie mamy przymiotnik "prosta". Rzeczywiście tablica miała spełniać tylko podstawowe i niezbędne funkcje - tak też się stało. Ale do rzeczy...
Chcę zaznaczyć, że jest to moje pierwsze w życiu zaprojektowane i wykonane urządzenie.
Natchnienie na ten właśnie projekt wzięło się z przyczyn czysto praktycznych. Bardzo często z kolegami spotykamy się na sali gimnastycznej aby pograć w siatkówkę. Za każdym razem rodzi się konflikt przy wyznaczaniu osoby odpowiedzialnej za zliczanie punktów. W efekcie tej sytuacji zrodził się pomysł na tablicę wyników.
W początkowej fazie projekt miał za zadanie spełniać prostą funkcję tablicy wyników. Miał to być prosty, zintegrowany układ o jak najmniejszym poborze prądu. W dalszej części rozważań postanowiłem zmodyfikować trochę moją koncepcję, w wyniku czego powstały dwa osobne projekty, które razem tworzą programowalną tablicę wyników. Pierwszy z tych projektów to uniwersalny sterownik, który w moim projekcie posłuży jako mózg całego systemu. Sterownik ten posiada gniazdo, za pomocą którego będę sterował tablicą wyświetlającą - będącą drugim projektem.
Po zaprogramowaniu sterownika dla sterowania tablicą, całość posiada następujące funkcje:
- wyświetlanie “małych punktów” w secie na dwóch dużych podwójnych wyświetlaczach
- wyświetlanie punktów setowych na małych pojedynczych wyświetlaczach
- dwie diody sygnalizujące stronę zagrywki/serwisu
- przyciski umożliwiające inkrementacje i dekrementację punktów na każdym wyświetlaczu
- przyciski resetujące stany punktowe oraz cały układ
- możliwość przełączania zliczania punktów do 25(siatkówka) bądź do 15), sygnalizowane przez diodę
- brzęczyk sygnalizujący wygraną seta oraz inne zdarzenia
- trzykolorowe duże wyświetlacze
- po każdym zdobytym punkcie urządzenie wykrywa, czy set został wygrany oraz wskazuję poprzez diody stronę zagrywki
- zasilanie z gniazdka sieciowego 230V bądź z baterii (wybierane przełącznikiem)
- przycisk włączający i wyłączający układ przy podłączonym zasilaniu
Ta część projektowania pochłonęła wiele czasu. Już na tym etapie musiałem ostatecznie zdecydować co i jak ma działać, co z czym połączyć i jakich elementów w tym celu użyć. Ponieważ z góry założyłem, że projekt będzie rozbudowywany krok po kroku, musiałem doprowadzić go do takiego formatu, aby w miarę łatwy sposób można było rozszerzyć go później o nowe elementy. Powstała koncepcja dwóch projektów. Jednym z nich jest uniwersalny sterownik, drugim tablica wyników (która w przyszłości będzie modyfikowana - powiększana). Decyzję o zbudowaniu "wstępnego" projektu i późniejszym jego rozbudowaniu o nowe elementy(m.in. większe wyświetlacze) podjąłem przyczyn finansowych.
Koszta. Jakiś czas temu, gdy oglądałem ceny sklepowe takich tablic wyników, przeraziłem się. Ceny te sięgały 1000zł. Teraz jednak wiem, że nie były one wygórowane. Początkowy mój pomysł przewidywał dosyć dużą tablicę wyników z wyświetlaczami o wysokości przynajmniej 20cm i 10cm. Bardzo trudno było znaleźć te wyświetlacze. Napisałem w tym celu do kilku firm. Od paru dostałem odpowiedzi, że nie prowadzą sprzedaży detalicznej, od innych dostałem cennik, po lekturze którego wiedziałem, że nie wydolę finansowo chcąc od razu stworzyć projekt ostateczny. Ceny te opiewały na 60zł za jeden wyświetlacz. Później pojawiły się na allegro wyświetlacze nieco tańsze, za 50zł. Ale ta cena również była dla mnie zbyt wysoka.
Wybór części. Po przeanalizowaniu pomysłu pozostał do przemyślenia aspekt elementów, które zamierzałem użyć w projekcie. Standardowo potrzebnych było kilkadziesiąt oporników, kilka kondensatorów, tranzystorów, itp., które dzięki dokumentacjom i standardowym schematom dobrałem bez większych problemów. Poza tym musiałem wybrać rodzaj i wielkość wyświetlaczy. Udało mi się znaleźć na allegro wyświetlacze WA dwukolorowe w cenie 6zł/szt. Od razu przypadły mi do gustu więc nie wahając się, dokonałem zakupu. Ponieważ potrzebowałem sporo nóżek uC, do sterowania wyświetlaczami zdecydowałem się użyć dekodera BCD 7447. Następnym problemem był dobór mikrokontrolera. Po przeanalizowaniu ilości potrzebnych nóżek i pamięci, doszedłem do wniosku, że najodpowiedniejszy będzie tu model ATMEGA16. Do projektu były potrzebne też diody, kilkanaście przycisków i buzzer. Ostatnim problemem był problem zasilania. Pomyślałem że można zintegrować układ zasilający ze sterownikiem, dzięki czemu Tablice będzie można zasilać wprost z sieci 230V. W tym celu należało jeszcze dokupić transformator(wybrałem transformator 230V->8V, 2W), mostek Gretza, kondensatory elektrolityczne i stabilizator na 5V.
Zamieszczam schematy ideowe. Format jpg choć wykonane w Eagle'u. Nie umieszczam tutaj plików Eagla bo była to moja pierwsza przygoda z tym oprogramowaniem i sporo tam namieszałem
Ponieważ Eagle i cały jego autorouting nie przypadł mi do gustu, płytki zaprojektowałem ręcznie w programie graficznym. Może nie jest to optymalna metoda ale myślę że warto choć raz spróbować i się pomęczyć z czymś takim :rofl: . Płytki zaprojektowałem dwuwarstwowo.
PCB Sterownik:
PCB Tablica Wyświetlaczy:
UMIESZCZENIE ELEMENTÓW I ŁĄCZEŃ:
Z tych rysunków można dowiedzieć się gdzie i co umieścić a także które otwory powinny łaczyć obie warstwy płytki.
Wytawianie. Płytki drukowane wykonałem samodzielnie. Skorzystałem z najpopularniejszej chyba metody druku i żelazka. Gotowy schemat płytki wydrukowałem drukarką laserową na folii a następnie przy pomocy rozgrzanego żelazka przeniosłem wydruk na laminat. Nie było to łatwe zadanie gdyż obydwie płytki zostały wykonane dwuwarstwowo i musiałem uważać, żeby obydwie strony się odpowiednio pokrywały. Płytkę wytrawiłem w roztworze nadsiarczanu sodu w temp. 40st C. Wytrawiony układ został następnie przetestowany pod kątem przewodzenia ścieżek. Następnie należało wywiercić otwory na nóżki elementów.
Lutowanie. Czynność ta zajęła mi dość dużo czasu - pierwszy raz w ręku miałem 40W lutownicę kolbową. Pierwsze luty nie były zadowalające ale dosyć szybko można nabrać w tej czynności wprawę. W miejscach gdzie dwie strony płytki powinny się łączyć jako materiał łączący zastosowałym zwykły biurowy spinacz pocięty na kilkumilimetrowe kawałki przylutowane po obydwu stronach płytki
Obudowa. Obudowę urządzenia sporządziłem własnoręcznie, korzystając z zestawu podręcznych narzędzi. Szkielet obudowy został złożony z części wyciętych w czarnej płycie wiórowej. Reszta obudowy została stworzona z zalaminowanego papieru z odpowiednimi nadrukami.
ZMONTOWANY PROJEKT:
Panel przedni:
:morning: PROGRAMOWANIE
Wszelkie kwestie programowe rozwiązywałem przy pomocy pakietu WINAVR. Program napisałem w języku C pod Programmers Notepad. Plik Makefile utworzyłem przy pomocy MFile. Skompilowany plik programu w postaci HEX wgrałem na ATMEGE16 przez złącze ISP, korzytając z programu PONYProg oraz programatora STK200. Fusy również ustawiłem poprzez Ponyprog'a i wyglądają one tak:
Spakowane pliki hex i .c :
Fajne? Ranking DIY