Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

Zegar widmowy - Propeller Clock

mb1988 17 Lut 2008 16:00
  • Zegar widmowy - Propeller Clock



    Na początku chciałbym się przywitać, ponieważ jak widzicie jest to mój pierwszy post. Po elektrodzie buszuję już od dawna, ale nigdy się nie udzielałem na forum. Dzisiaj postanowiłem zrobić krok naprzód, pokazać się z czymś konkretnym.

    Idea projektu stara jak świat, wielokrotnie wałkowana na forum. Mimo to chciałbym pokazać swoją realizację tego pomysłu.

    Układ składa się z dwóch głównych części: programowanego śmigła i z części napędowej.

    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

    :arrow: Śmigło:

    Zegar widmowy - Propeller Clock

    Zegar widmowy - Propeller Clock



    Sercem układu jest mikrokontroler ATMEGA32 zarządzający treścią wyświetlacza. Steruje on 32 niebieskimi diodami smd poprzez 4 szeregowe LED drivery MBI5170. Czas pobierany jest z układu RTC DS1307, z uC łączy go magistrala I2C. Synchronizacja obrazu jest oczywiście realizowana poprzez czujnik optoelektroniczny. 32 KB pamięci flash w atmedze umożliwiają obsługę wielu trybów wyświetlania.


    :arrow: Silnik:

    Zegar widmowy - Propeller Clock

    Zegar widmowy - Propeller Clock



    Próbowałem wielu rozwiązań i najlepszym okazał się silnik z HDD. Pracuje prawie bezgłośnie, ma duża prędkość obrotową, 6 gwintowanych otworów umożliwiających łatwe przymocowanie śmigła. Użycie takiego silnika wiązało się jednak zastosowaniem specjalnego sterowania. Optymalnym rozwiązanie wydało mi się użycie dedykowanego sterownika PHILIPS TDA5140A pracującego w standardowej konfiguracji (choć nie do końca, ponieważ uzwojenie w silniku połączone jest trójkąt, więc trzeba było stworzyć jeszcze punkt sztucznego środka). Transport energii realizowany jest za pomocą szczotek. Zdaję sobie sprawę w niedoskonałości takiego rozwiązania, jednak nie chciałem dodatkowo komplikować projektu. W tej kwestii zostawiam sobie otwartą furtkę w projektowaniu następnej wersji.


    :arrow: Obudowa:

    Zegar widmowy - Propeller Clock



    Jak widać, obudowa wykonana jest w 15 milimetrowej pleksi. Tak grube ścianki sprawiają, że przy 50 obrotach na sekundę poziom hałasu produkowanego przez zegar utrzymuje się na bardzo przyzwoitym poziomie. Dodatkowo, gdyby przypadkiem coś się w środku urwało nikt w otoczeniu głowy nie straci. Tylna pokrywa mocowana jest na 4 śrubach, reszta konstrukcji klejona klejem ACRIFIX 192.

    Ponieważ nie jestem profesjonalistą dokumentacja stworzona podczas produkcji zegara posiada wiele uchybień, dlatego też nie załączam jej jeszcze. Postaram się ją trochę dopracować i wtedy umieszczę ją na forum.

    Jestem otwarty na wszelkie sugestie dotyczące projektu.

    Poniżej znajduje sie llink do filmiku przedstawiającego pracę zegara:

    http://pl.youtube.com/watch?v=no2_M_b059g



    ========
    Dodałem dokumentację. Z góry przepraszam, za wszelkie niedociągnięcia.

    Pozdrawiam
    mb1988

  • #2 17 Lut 2008 16:30
    lucas_mcs
    Poziom 22  

    Projekt świetny, sam przymierzam się do takiego, czy mógłbyś coś więcej powiedzieć odnośnie sterowania silnikiem z HDD?

  • #3 17 Lut 2008 16:38
    mb1988
    Poziom 12  

    lucas_mcs napisał:
    Projekt świetny, sam przymierzam się do takiego, czy mógłbyś coś więcej powiedzieć odnośnie sterowania silnikiem z HDD?

    Na początku myślałem, że sam zbuduję sterownik, który będzie w stanie dobrze wysterować taki silnik. Jednak jak się później okazało, obsługa tej całej elektronicznej komutacji nie jest wcale taka prosta. Wtedy postanowiłem wykorzystać ten układ (

    http://www.ortodoxism.ro/datasheets/philips/TDA5140A_2.pdf

    ) i nie zagłębiać się dalej w samą istotę jego działania. W pokazanym projekcie układ pracuje nawet z elementami o wartościach podanych w przykładowej aplikacji w nocie katalogowej.

  • #5 17 Lut 2008 17:50
    mb1988
    Poziom 12  

    Całość napisana w C.

  • #6 17 Lut 2008 18:40
    gromleon
    Poziom 31  

    Bardzo ładnie. Sam bym chyba tego nie zrobił. filmik powala. Pewnie program w C jest mocno skomplikowany.
    Czekam z niecierpliowscią na wiecej materiałow na temat tego zegarka.

  • #7 17 Lut 2008 18:43
    Uszol 1990
    Poziom 29  

    :D
    witam
    konstrukcja elegancka :D
    filmik extra :) najbardziej mi sie kwadrat spodobał i YouTube na końcu. :) naprawdę fajne :) pozdrawiam

    ps.
    Na kod i pcb można liczyć ?

  • #8 17 Lut 2008 18:48
    mb1988
    Poziom 12  

    Uszol 1990 napisał:
    Na kod i pcb można liczyć ?

    Oczywiście, tylko tak jak wspomniałem, muszę doprowadzić go do stanu, w którym można go komuś pokazać :P.

  • #9 17 Lut 2008 19:08
    Uszol 1990
    Poziom 29  

    a jeszcze jedno pytanie
    jak ty to wyważyłeś że to tak idealnie chodzi ? dużo roboty z tym miałeś ?

  • #10 17 Lut 2008 19:24
    lucas_mcs
    Poziom 22  

    Uszol 1990 napisał:
    a jeszcze jedno pytanie
    jak ty to wyważyłeś że to tak idealnie chodzi ? dużo roboty z tym miałeś ?


    To chyba nie kwestia wyważenia, tylko tego, że jest tak solidnie zamocowane, no i w końcu silnik od HDD jest dość mocny.

    Ja mam jeszcze pytanie, jak wygląda synchronizacja wyświetlania z tym układem optoelektronicznym? Wiem, że czujnikiem sie wykrywa że się płytka obróciła (wykonała koło) i chyba potem się wylicza prędkość obrotową? Ale jak się synchronizuje to wszytko żeby te litery i wskazówki się nie rozjeżdżały?? Wiem, że na elce był projekt w którym ktoś miał zrobioną taką synchronizację niezależnie od szybkości obrotów zawsze wyświetlało poprawnie, właśnie dzięki temu czujnikowi. Jeśli miałbym sam coś takiego oprogramować to nawet nie wiedziałbym jak sie za to zabrać :) Mógłbyś bardziej szczegółowo ten proces programowania omówić?

  • #11 17 Lut 2008 19:43
    Twizzter
    Poziom 12  

    Jestem pod wrazeniem, konstrukcja dobrze zaprojektowana i jaka efektowna! ;) Trzeba przyznac, ze masz umiejetnosci, jesli chodzi o programowanie, a w widmowych zegarach kwestia softu - co widac na Twoim przykladzie - potrafi zrobic roznice. Pozdrawiam i zycze dalszych, samych udanych projektow.

  • #12 17 Lut 2008 19:44
    mithcrist
    Poziom 13  

    No niesamowite... szacuneczek:D

    Mam jedno pytanie: czy można by było wykorzystac zamiast silnika z HDD jakiś silnik z większego wentylatora komputerowego np. 12cm?
    Sam bym sobie zrobił taki zegarek ale nie mam takich zdolności manualnych, miałbym problem z mechaniką układu.

  • #13 17 Lut 2008 20:05
    mb1988
    Poziom 12  

    lucas_mcs napisał:
    To chyba nie kwestia wyważenia, tylko tego, że jest tak solidnie zamocowane, no i w końcu silnik od HDD jest dość mocny.

    Jest w tym sporo prawdy. Śmigło jest przykręcone w kilku miejscach a dodatkowo silnik ten ma tak zwartą konstrukcję, że mam wrażenie, że samochód mógłby po nim przejechać. Mimo to projektując płytkę starałem się rozmieścić elementy w miarę przystępnie, tak aby zminimalizować drgania. Nie korzystałem przy tym jednak z jakiś zaawansowanych narzędzi, raczej robiłem to na oko i chłopski rozum :).

    Przedstawię model oprogramowania. Na wstępie dodam, że atmega pracuje z zewnętrzym 16 MHz kwarcem, a wszystkie liczniki pracują na preskalerze f/8.

    Kluczowym elementem jest czujnik optoelektroniczny (nic innnego jak dioda IR i fototranzystor w jednej zwartej obudowie) który w momencie, gdy śmigło przechodzi przez godzinę 12 ustawia stan wysoki na nodzę INT0 wywołując odpowiednie przerwanie. W przerwaniu tym zerowany jest stan 16-bitowego licznika TIMER1. Następnie nic się nie dzieje aż do kolejnego przerwania pochodzącego z INT0. Wówczas program sprawdza wartość TCNT1. Jeśli jest ona zbyt duża lub też zanotowano przepełnienie tego licznika, oznacza to, że śmigło kręci się zbyt wolno, by cokolwiek na nim wyświetlać, ponieważ uzyskany obraz byłby niskiej jakości z uwagi na mruganie. Jeśli jednak wartość TCNT1 jest poniżej progowej wartości układ działa w następujący sposób:

    1) zapisuje do globalnej zmiennej wartość gClicksPerStep = TCNT1 / 240;
    2) inicjuje tą wartości 8 bitowy licznik TIMER0, TCNT0 = 255 - gClicksPerStep;
    3) uaktywnia przerwanie wynikające z przepełnienia TIMER0
    4) zeruje TCNT1;

    Tym sposobem z każdym obrotem śmigła w zmiennej gClicksPerStep zawsze trzymana jest aktualna ilość cylki zegarowych (z preskalerem) które układ potrzebuje na pokonanie 1,5 stopnia kątowego (wyższe rozdzielczości nie poprawiają już jakości obrazu).

    Pozostaje tylko w przerwaniu TIMER0 obsłużyć diody, sprawdzając najpierw w którym kroczku znajduje się śmigło a następnie przesłać do led driverów korespondujące dane.

    Dodano po 10 [minuty]:

    mithcrist napisał:
    Mam jedno pytanie: czy można by było wykożystac zamiast silnika z HDD jakiś silnik z większego wentylatora komputerowego np. 12cm?

    Pierwszą wersję (PCB było jeszcze wtedy w kształcie koła) napędzałem takim właśnie silnikiem. Jednak nie mogłem przy stosunkowo niskim napięciu uzyskać wysokich prędkości obrotowych przez co widać było, jak obraz mruga. Poza tym montowanie śmigła było kłopotliwe.

  • #14 17 Lut 2008 20:30
    pawelj
    Poziom 15  

    Chylę czoła kolego. Rewelacja. Filmik robi wrażenie powalające.
    Wykonanie też takie że nie ma się do czego czepić.
    Piękna rzecz

  • #15 17 Lut 2008 20:59
    Dariusz Goliński
    Poziom 22  

    Bardzo ładna konstrukcja.
    Napisz czy dużym problemem jest zastosowanie grafiki w projekcie.
    Tą którą przedstawiłeś jest jak dla mnie rewelacją, nie spotkałem się z zegarem wyświetlającym taką grafikę.
    Jak myślisz ? ile ten zegar może wytrzymać przy założeniu że będzie działał 24/24h.
    Czy zmiany pokazane na filmie w wyświetlaniu treści były wpisane do programu czy może przełączałeś je dodatkowym impulsem w zasilaniu ? Odbiornika IR się nie dopatrzyłem.

  • #16 17 Lut 2008 21:15
    mb1988
    Poziom 12  

    Grafika nie była wielkim problemem. Napisanie prostego konwertera w C++ z monochromatycznej bitmapy na coś, co mogę wgrać do procka było kwestią jednego wieczoru stukania. Obracający się sześcian jest złożony z 15 klatek (wystarczyło tylko tyle, z uwagi na jego symetrię).

    Trwałość, ze wględu na zastosowane szczotki, pewnie nie będzie zachwycająca, ale trzeba się cieszyć póki świeci :P.

    Na filmiku tryby przełączają się same. W ostatecznej wersji przy każdym włączeniu urządzenia program czyta z wewnętrznego eeproma w jakim trybie pracował ostatnio, przechodzi do kolejnego po czym zapisuje go z powrotem do eeproma, i tak w kółko.

  • #17 17 Lut 2008 21:56
    HakuS492
    Poziom 12  

    Nie no cudownie to wygląda :P ale zastanawia mnie jak długo wytrzyma ten pierścień który jest stykiem do szczotek :) może dało by sie go czymś pokryć póki sie nie starł wydaje mi sie że co jakiś czas trzeba będzie odnowić ten styk :( Ale za konstrukcje daje 11 /10 :) normalnie rewelacja i czekam na kosztorys.:) oraz PCB i wsad.

  • #18 17 Lut 2008 22:40
    Twizzter
    Poziom 12  

    Kiedys, bodajze na Youtubie, pokazany byl filmik ukazujacy ciekawe felgi - pimpstar. Pomysl opieral sie na wyswietlaczu widmowym, tyle ze skladal sie ze trzech linijek swietlnych, wyposazonych dodatkowo w diody wielokolorowe. Wygladalo to niezle, mozna bylo importowac bitmapy. Tak sobie pomyslalem, ze moze bedzie to dla Ciebie inspiracja, jesli tego nie widziales ;)

  • #19 17 Lut 2008 22:53
    marcindc
    Poziom 2  

    Musze pogratulować bo cała konstrukcja na bardzo wysokim poziomie !! Sam chciałem zrobić coś podobnego ale to jak na razie ponad moje siły. Interesował by mnie jeszcze koszt budowy tego cudeńka :D

  • #20 17 Lut 2008 22:55
    lisek1988
    Poziom 14  

    Naprawde jestem pod wielkim wrazeniem...pomyslec ze jestes w moim wieku:) SZOK...

    Zastanawia mnie tylko ile ta miedz ktora styka sie z okregiem wytrzyma bo widac ze juz jest troche przetarta...

  • #21 17 Lut 2008 23:20
    mb1988
    Poziom 12  

    Miedź jest stosunkowo miękka, jednak szczotki działają na komutator ze znikomą siłą dlatego myśle, że przez dłuższą chwilę będę mógł się cieszyć działającym jeszcze zegarem. Ale tak czy siak, szczotki to szczotki, kiedyś na pewno się zużyją.

    Określienie ceny budowy jest nieco kłopotliwe. O ile koszt śmigła i sterownika silnika mogę ocenić na podstawie ceny części (50-60 zł) o tyle reszta pochodzi z domowego złomu. Silnik został wymontowany ze zesputego dysku Seagate 120 GB (4 lata temu kosztował ponad 400 zł :P) a obudowa została wykonana z kawałka plexi, które leżał tak długo, że nawet folia ochronna się na nim zeschła i popękała. Użyty klej został brutalnie wyduszony z pustej już na pozór tubki :P. Czasami dobrze przelecieć się po domu i pozbierać stare graty, nigdy nie wiadomo, co ciekawe można z nich poskładać :).

  • #22 17 Lut 2008 23:48
    mb1988
    Poziom 12  

    Układ podłączany jest do zasilacza atx i pobiera:

    5V / 250mA (silnik)
    12V / ~80mA (w zależności, od ilosci używanych diód)

  • #23 18 Lut 2008 01:32
    symndz
    Poziom 16  

    haaaaaa .. 11/10!

    a moze by tak dolozyc zewnetrzne czujniki przyspieszenia G na x-y? (by uniezaleznic wyswietlanie od polozenia)

    Marcin

  • #24 18 Lut 2008 02:30
    mirekk36
    Poziom 42  

    Witam, oczywiście świetna robota! gratulacje, ale dopytam jeszcze jednak o sterowanie tego silnika z HDD.... podałeś PDFka i fajnie tylko, której aplikacji użyłeś tej ze strony nr.9 czy tej ze strony nr.11

    różnią się strochę - mógłbyś to dokładniej naświetlić? czy też powiedzieć na co zwrócić uwagę - bo mam jakieś stare HDD i też bym z chęcią to wykorzystał do takich "niecnych" celów ;)

    pozdrawiam

  • #25 18 Lut 2008 06:45
    teorom
    Poziom 13  

    Witam
    Bardzo fajny projekt, swego czasu tez wykonalem podobna zabawke tyle ze wyswietlajaca obraz 3D - uzylem kilku lini diod zamontowanych na roznych wysokosc.
    Teodor

  • #26 18 Lut 2008 08:19
    traax
    Poziom 20  

    ja się już nie moge doczekać kiedy autor udostępni pelne schematy, pcb i kod, jestem początkującym elektronikiem i chcialbym sobie takie coś zbudować. Coś wspaniałego.

  • #27 18 Lut 2008 09:07
    netMaster
    Poziom 12  

    Jak wygląda ustawianie i zapmiętanie godziny??

  • #28 18 Lut 2008 10:11
    Dariusz Goliński
    Poziom 22  

    Można by do tego dorobić albo trafko takie jak w głowicach video tylko zrobione odpowiednio lub magnesiki neodymowe na podstawie i cewki na śmigle.

  • #29 18 Lut 2008 10:56
    mb1988
    Poziom 12  

    Cytat:
    podałeś PDFka i fajnie tylko, której aplikacji użyłeś tej ze strony nr.9 czy tej ze strony nr.11
    Faktycznie, zapomniałem, że są dwie. Ja użyłem tej najprostszej, ze strony 9. Nie za bardzo jest co opisywać, obudować układ kilkoma pasywnymi elementami i już można podłączyć do silnika.

    Cytat:
    Jak wygląda ustawianie i zapmiętanie godziny??
    Godzina ustawiana jest programowo. Wygląda to tak:
    1) wgrywam program, w którym godzina jest ustawiana np na 12:00
    2) włączam zegarek o 12:00
    3) nie wyłączając wgrywam nowy program, który już nie ustawia godziny.

    Czas przetrzymywany jest w układzie DS1307, a dzięki zastosowaniu baterii podtrzymującej (widocznej na zdjęciu) pozostaje on tam bardzo długo. Dokładność zegarka jest satysfakcjonująca.

  • #30 18 Lut 2008 11:39
    mirekk36
    Poziom 42  

    ok dzięki miałem nadzieję, że to będzie ten prostszy układ ze str nr.9 ;)

    a jeszcze jedno pytanko - dlaczego jako drivery LED użyłeś akurat tych scalaków MBI... a nie np 74595?? czy innych typu 74164 ??? jakaś specyficzna potrzeba czy akurat takie poprostu miałeś pod ręką??

    pozdrawiam

  Szukaj w 4mln produktów
Przeglądaj produkty