Witam wszystkich jako nowy użytkownik tego forum (tym razem aktywnie) i chciałbym podzielić się swoim ostatnim projektem. Jako wielbiciel wszystkiego (no może prawie wszystkiego) co związane z koleją, stałem się jakiś czas temu posiadaczem starego zegara dworcowego. Chciałem go przywrócić do życia jednak przeszukiwanie internetu nie dało zadowalających rezultatów w postaci gotowego do wykonania projektu.
Jako nieelektronik nie mogłem liczyć na to, że zaprojektuję coś bardzo wyrafinowanego, więc nie siliłem się na skomplikowany układ i postawiłem na prostotę. Tak powstał mój własny sterownik zegarów wtórnych, czyli tzw. zegar matka.
Lista części:
- ATmega88PA z bootloaderem Arduino
- wąska podstawka DIL28 pod mikrokontroler
- moduł sterownika silnika DC (mostek H) – Pololu DRV8801
- moduł zegara czasu rzeczywistego – DS3231RTC
- przycisk astabilny – do ręcznego „popychania“ zegara
- rezystor 10K – do podciągnięcia przycisku (pull-down) do masy
- stabilizator L7805 – do zasilania części logicznej
- dwa kondensatory ceramiczne 100nF – do współpracy z L7805
- żeńskie złącza goldpin – do podłączenia modułów co umożliwia ich wyjmowanie
- dwa złącza goldpin 2pin (crimp) z kluczem – do podłączenia przycisku i gniazd cinch na zegary wtórne
- dwa wtyki gold-pin z kluczem do powyższych gniazd
- złącze IDC 10 pin – do podłączenia programatora USBasp
- gniazdo zasilania – do zasilacza 24V (u mnie działa ze starym zasilaczem 19V od laptopa)
- dwa gniazda cinch – do podłączenia zegarów wtórnych
- laminat jednostronny o wymiarach 85×55 cm
- obudowa
- programator USBasp AVR – do zaprogramowania mikrokontrolera
Wykonanie
Pierwszym i niezbędnym elementem całego systemu jest oczywiście zegar wtórny. W moim przypadku jest to Metron z cewką 24V.
Dla niewtajemniczonych, zegary wtórne potrzebują naprzemiennego podawania impulsu (u mnie wystarcza pół sekundy) o napięciu 24V (są też modele na inne napięcia np. 60V), raz na jeden, a raz na drugi zacisk cewki (zmiana polaryzacji co 1 minutę). Do tego zadania doskonale nadał się mostek H, który normalnie wykorzystuje taką zamianę aby zmienić kierunek obrotów silnika DC. W moim przypadku ta zmiana będzie powodowała przesuwanie wskazówki minutowej zegara. Aby zegar dokładnie pokazywał godzinę impuls powinien docierać do jego cewki regularnie co minutę i do tego wykorzystałem moduł DS3231RTC.
Układ sterownika można byłoby pewnie zbudować na surowych komponentach nie używając gotowych modułów, jednak ich cena była dość podobna do pojedynczych układów (mostka L293D oraz DS3231RTC) więc wybrałem moduły. Dzięki nim mogłem na początku testować wszystko na płytce stykowej bez używania dodatkowych elementów jak np. rezystory.
Pierwsze testy przeprowadziłem z użyciem Arduino UNO:
W kolejnym etapie zastąpiłem Arduino gołym mikrokontrolerem ATmega88PA na którym prowadziłem kolejne testy.
Programowanie mikrokontrolera poprzez programator USBasp zostało opisane np. tutaj.
Obsługa mikrokontrolerów ATmega88P (również ATmega88PA) w środowisku Arduino IDE 1.6 wymaga uzupełnienia oryginalnego katalogu hardware o zawartość pliku hardware.zip
Moduł zegara SD3231RTC został podłączony do mikrokontrolera poprzez interfejs I2C, a do sterowania modułem mostka H wykorzystane są dwa piny mikrokontrolera.
Aby impuls był wysyłany do zegara wtórnego to na pinie PWM modułu Pololu musi pojawić się stan wysoki. Polaryzacja (na który zacisk zegara będzie podane napięcie +24V, a na który masa) zależy od stanu na pinie DIR. Tak ustalony impuls trwa pół sekundy po czym następuje wyłączenie zasilania cewki zegara wtórnego. Po upływie kolejnej minuty cykl się powtarza z odwróconą polaryzacją. Szczegóły można prześledzić w kodzie miktokontrolera zamieszczonym na końcu tego opisu.
Impulsy do cewki zegara powinny mieć nominalne napięcie 24V (u mnie wszystko dobrze działa przy niecałych 20V), więc nie chcąc stosować oddzielnego zasilania części logicznej i wykonawczej, zastosowałem jeden zasilacz 19V od laptopa oraz stabilizator L7805 z dwoma kondensatorami filtrującymi.
Schemat całości prezentuje się następująco:
- J1 – gniazdo zasilania 24V
- J2 – wyjście do sterowania zegarem wtórnym
- J3 – 10-pinowe złącze ICSP do programowania mikrokontrolera
- J4 – opcjonalne złącze gold-pin np. do podłączenia wyświetlacza LCD
- SW1 – przycisk popychania zegara
Schemat dla programu ExpressSCH (moduł programu ExpressPCB) można pobrać tutaj.
Do powyższego schematu zaprojektowałem stosowną płytkę:
Gotowy projekt płytki dla programu ExpressPCB można pobrać tutaj.
Całość została zamknięta w zgrabnej obudowie. Brakuje tu jedynie podłączenia przycisku służącego do ręcznego przesuwania wskazówki minutowej. Przycisk będzie podłączony do wolnego złącza widocznego na środku płytki. Jego naciśnięcie (zwarcie tych pinów) powoduje przesuwanie się wskazówki minutowej w tempie jeden ruch co pół sekundy. Dzięki temu można ustawić (niestety tylko przesuwając do przodu) wszystkie podłączone zegary wtórne, np. po czasowym zaniku zasilania.
W obudowie zamontowałem dwa, równolegle spięte, gniazda cinch służące do podłączenia zegarów wtórnych.
Programowanie
Ze względu na nieznajomość innych sposobów programowania mikrokontrolerów wykorzystałem język Arduino. Cały kod prezentuje się następująco:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
/* Sterownik zegarów wtórnych PKP Mikrokontroler - ATmega88P @ Int 8MHz RTC - DS3231 http://electropark.pl/rtc-zegary-czasu-rzeczywistego/4409-modul-rtc-wysokiej-precyzji-z-i2c-ds3231.html Pololu DRV8801 http://electropark.pl/sterownik-silnikow-dc/8117-drv8801-sterownik-silnika-dc-modul-pololu.html Obsługa Wyświetlacza LCD-I2C i termometru z RTC */ #include <Wire.h> #include <DS3231.h> // http://www.jarzebski.pl/arduino/komponenty/zegar-czasu-rzeczywistego-rtc-ds3231.html #include <LiquidCrystal_I2C.h> // biblioteka I2C dla LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Ustawienie adresu ukladu na 0x27 DS3231 clock; RTCDateTime tm; // Wyprowadzenia mikrokontrolera int clockSET = 6; // przycisk popychania zegara - ATmega 12 int clockDIR = 7; // DIR na driverze silnika - ATmega 13 int clockPWM = 8; // PWM na driverze silnika - ATmega 14 // Ustawienia podstawowe int clockPOL = 0; // zmiana pozaryzacji cewki zegara int impuls = 300; // długość impulsu sterującego zegarami wtórnymi boolean zwloka = true; // zwłoka aby minuta nie przeskakiwała kilka razy int czekaj = 1100; // czas oczekiwania po wysłaniu impulsu aby działała zwłoka void setup() { pinMode(clockPWM, OUTPUT); pinMode(clockDIR, OUTPUT); pinMode(clockSET, INPUT); clockPOL = 0; digitalWrite(clockPWM, LOW); digitalWrite(clockDIR, LOW); zwloka = false; lcd.begin(16,2); // Inicjalizacja LCD 2x16 lcd.backlight(); // zalaczenie podwietlenia lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna) lcd.print("PKP Master Clock"); lcd.setCursor(0,1); // Ustawienie kursora w pozycji 0,0 (drugi wiersz, pierwsza kolumna) lcd.print("www.baur.pl"); delay(2000); lcd.clear(); // Inicjalizacja DS3231 clock.begin(); // Ustawiany date i godzine kompilacji szkicu // Należy usunąć komentarz z poniższego wiersza, załadować na mikrokontroler, a następnie załadować ponownie bez tego wiersza. // W innym przypadku zawsze po restarcie zegar będzie wracał do tej samej godziny i daty kompilacji //clock.setDateTime(__DATE__, __TIME__); } void loop() { tm = clock.getDateTime(); lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna) print2digits(tm.hour); lcd.write(':'); print2digits(tm.minute); lcd.write(':'); print2digits(tm.second); lcd.setCursor(0,1); //Ustawienie kursora w pozycji 0,1 (drugi wiersz, pierwsza kolumna) print2digits(tm.day); lcd.write('.'); print2digits(tm.month); lcd.write('.'); lcd.print(tm.year); clock.forceConversion(); lcd.setCursor(11,1); //Ustawienie kursora w pozycji 0,12 (drugi wiersz, 12 kolumna) lcd.print(clock.readTemperature()); if(zwloka == false) { if(tm.second == 0) { if (clockPOL == 0) { clockPOL = 1; digitalWrite(clockPWM, HIGH); digitalWrite(clockDIR, HIGH); delay(impuls); digitalWrite(clockPWM, LOW); digitalWrite(clockDIR, LOW); } else { clockPOL = 0; digitalWrite(clockPWM, HIGH); digitalWrite(clockDIR, LOW); delay(impuls); digitalWrite(clockPWM, LOW); digitalWrite(clockDIR, LOW); } zwloka = !zwloka; } } else { delay(czekaj); zwloka = !zwloka; } // Ręczne popychanie zegara int clockRST = digitalRead(clockSET); if (clockRST == HIGH) { if (clockPOL == 0) { digitalWrite(clockPWM, HIGH); digitalWrite(clockDIR, HIGH); delay(impuls); digitalWrite(clockPWM, LOW); digitalWrite(clockDIR, LOW); clockPOL = 1; } else { digitalWrite(clockPWM, HIGH); digitalWrite(clockDIR, LOW); delay(impuls); digitalWrite(clockPWM, LOW); digitalWrite(clockDIR, LOW); clockPOL = 0; } } } void print2digits(int number) { if (number >= 0 && number < 10) { lcd.write('0'); } lcd.print(number); } |
Powyższy kod jest gotowy do wykorzystania po pobraniu biblioteki modułu zegara RTC (http://www.jarzebski.pl/arduino/komponenty/zegar-czasu-rzeczywistego-rtc-ds3231.html)
Moduł RTC jest tu wykorzystywany w znikomy sposób i jego zadaniem jest odliczanie sekund tak, aby po każdej pełnej minucie program wykonał przełączenia kierunku na module Pololu DRV8801 i wysłania krótkiego impulsu do cewki zegara wtórnego. Po kolejnej minucie następuje zmiana polaryzacji i kolejny impuls przesuwa wskazówkę zegara o minutę i tak w kółko… chyba, że wyłączą prąd. Niestety nie zrobiłem jeszcze zasilania bateryjnego. Myślę o wykonaniu testów z podłączeniem 3 baterii 9V zamiast zasilacza aby sprawdzić żywotność takiego układu. Z moich szybkich pomiarów wynika, że cały układ z jednym zegarem pobiera w okresie między impulsami ok 19mA, a w trakcie przesuwania wskazówki ok 42mA.
Zastosowany kod pozwala na szybkie podłączenie wyświetlacza LCD (2×16) poprzez interfejs I2C (ja użyłem konwertera PCF8574), do czego służy złącze goldpin J4. Na wyświetlaczu prezentowana jest aktualna godzina, data oraz temperatura z układu RTC.
Cały układ działa już bez zarzutu od kilku tygodni i niebawem planuję testy z podłączeniem dwóch zegarów wtórnych.
Testy
Tak jak zapowiedziałem, tak też zrobiłem. Od dzisiaj już dwa zegary Metron cykają dzięki powyższemu sterownikowi.
A tak się całość prezentuje na żywo.
Testy zasilania bateryjnego
29. marca o godz. 23:00 podłączyłem dwie baterie 9V (zmierzone napięcie to 19,3V) zatem właśnie rozpoczynam testy na zasilaniu bateryjnym. Zobaczymy ile pociągną.
Z przykrością zawiadamiam, że o godz 5:15, po 30 godzinach i 15 minutach pracy zasilanie bateryjne wyzionęło ducha. Jak pokazał zakończony już test, dwie baterie 6LP3146 nie są sensowną alternatywą dla zasilacza sieciowego.
Uzupełnienia
Ostatnio zrobiłem jeszcze kilka podobnych zegarów ale każdy trochę inny. Zastosowałem mikrokontroler w wersji SMD (między innymi dla przećwiczenia lutowania takich układów), sprawdziłem rozwiązanie z popularnym mostkiem H – L293DNE i różnymi modułami na bazie zegara DS3231. Natknąłem się też na informacje o filtrowaniu zasilania samego mikrokontrolera i w związku z tym dodałem dodatkowe kondensatory. Zatem, dzięki zainteresowaniu różnych ludzi projekt, jakkolwiek dość prosty, cały czas żyje i się rozwija.
Tu można zobaczyć kolejne wcielenie, tym razem jako indywidualny moduł podłączony do jednego zegara wtórnego. Jak ktoś szuka wersji cichej, np. do sypialni to ten z Bydgoszczy jest znacznie przyjaźniejszy od Metrona.
Nowe wcielenie projektu
Jakiś czas temu mocno zmodernizowałem swój pierwotny projekt i teraz można zasilać sterownik z dowolnego zasilacza dającego napięcie od 7V do 12V (standardowo 9V).
Więcej można poczytać na końcu artykułu na mojej stronie http://baur.pl/zegar-wtorny-i-jego-sterowanie/
Świetne!
Fajna sprawa z tym zegarem, do odliczania sekund wystarczyłby sam kwarc taktujący uC. Chyba że w przyszłości będzie do czegoś użyty ten moduł RTC.
Zdaję sobie sprawę, że można byłoby zrobić to prościej, taniej, efektywniej itp. Moim celem bylo uruchomienie tego zegara, a nie optymalizacja rozwiązania. Nie będąc elektronikiem sam nie jestem w stanie zaprojektować cały układ od zera. Moduły i Arduino pozwoliło mi zrealizować cel w skończonym czasie. Pewnie jakbym znalazł gdzieś gotowy projekt to bym go odtworzył i wymyślał tej wersji ;)
Jak już wsadziłem RTC to dlatego wyprowadziłem gold-piny dla I2C bo zawsze można zmodyfikować kod i podpiąć wyświetlacz LCD. Wtedy sam sterownik poza popychaniem zegarów wtórnych będzie mógł stać się samodzielnym zegarem z podawaniem daty i temperatury.
Załóżmy, że to rozwojowy projekt ;)
Skąd wziąć taki zegar? :D
No najlepiej z… dworca ;)
Ja brałem z Allegro lub OLX.
Właśnie zdobyłem drugi i niebawem uzupełnię wpis jak to mi działa z dwoma zegarami :)
Mam taki zegar chyba nie używany
Testowales na zasilaniu z baterii?
Jeszcze nie, ale zakupiłem właśnie dwie baterie 9V i mam zamiar sprawdzić jak długo pociągną w zestawie z dwoma zegarami.
Teraz mogę już powiedzieć, że testowałem i… nie polecam ;)
Efekt testu opisałem na końcu artykułu.
Gratulacje za pomysł (jedynie dorzuciłbym synchronizację po DCF na przykład). Zachowuje się nie tylko mechanizm, ale też wskazówki. Wiele zegarów po przeróbkach na mechanizm kwarcowy dostępnych na Allegro ma wskazówki do niego dedykowane (węższe) i taki zegar traci mocno na estetyce i kolejowym charakterze. Pomijając już fakt, że nawet stylizowane na kolejowe zegary marki Mondaine (mają fabrycznie montowany mechanizm kwarcowy) trzeba przerabiać na płynący sekundnik jak to jest w oryginałach.
Potrzeba matką… czy jakoś tam ;) Tak czy inaczej, dziękuję za docenę.
Przy założeniu, że zastosowany DS3231RTC ma bardzo wysoką dokładność to nie widzę specjalnie potrzeby synchronizacji DCF. Tak czy inaczej raz na pół roku trzeba ręcznie przestawić system na czas letni/zimowy więc przez te pół roku nie przewiduję zauważalnego odchylenia.
Biorąc pod uwagę, że liczę się ze słabą żywotnością baterii i to, że układ będzie musiał jednak pracować z zasilaczem sieciowym to mogą zdarzyć się jakieś wyłączenia prądu i tym samym konieczność ponownego ustawienia zegarów.
6F22 mają małą pojemność, choć sam jestem ciekaw jak długo to pociągnie biorąc pod uwagę impulsowy charakter pracy. Zawsze można procesor usypiać i wybudzać przy pomocy przerwania INT czy z watchdoga (nie wiem jakie są możliwości manewru pod Arduino, bo korzystałem z tego robiąc zegar pod Bascomem). Przy zmianie DST zegar może się przestawiać sam, wystarczy zrobić obsługę daty :)
Wracając do tematu zegarów dworcowych, ostatnio jest na to boom do loftów. 10 lat temu kupiłem swoje za 50zł/szt, teraz widzę że ceny na Allegro znacznie poszybowały w górę ze względu na popyt.
Zobaczymy, testy trwają ale ja nie liczę, że dłużej niż kilka dni będzie działać.
Co do usypiania, to zastanawiałem się nad tym tylko pewnie wymagałoby to modyfikacji obwodu, żeby podciągnąć sygnał pod pin przerwania. Chyba, że jakoś wewnętrznie by to można zrobić.
Druga sprawa to użyty L7805, który sam chyba zjada ok 10mA, więc najwyżej zaoszczędzę kilka mA bo stabilizator, RTC i mostek H i tak będą pobierały prąd cały czas. No i oczywiście sam impuls do cewek zegarów nie da się ograniczyć. Zrobiłem go na 0,5s i nie wiem jak bardzo mógłbym go skrócić, żeby wskazówka skutecznie przeskoczyła (oryginalnie chyba taki impuls trwa nawet 2s). To wszystko może wydłuży czas pracy o kilka godzin albo dni bo to będzie nie więcej niż kilka/kilkanaście procent całkowitego zużycia
Co do samoczynnego przestawiania czasu, to zmiana z zimy na lato byłaby sprawna bo trzeba popchnąć o godzinkę, ale już z lata na zimę zegar musiałby się obrócić o 11 godzin bo on tylko przecież do przodu chodzi.
Jeśli masz jakiś pomysł na algorytm zmiany czasu to może go dla testów zaaplikuję.
No i tak jak przypuszczałem… zasilanie bateryjne nie jest w tym przypadku dobrym pomysłem. Ono jest generalnie bardzo złym, lub kosztownym pomysłem ;)
Oryginalnie to robi się tak jak piszesz – 11 godzin do przodu.
Operacja trwa ok 6 minut:
https://www.youtube.com/watch?v=cs8h9vY7MQ4
Mechanika inaczej nie pozwala.
Tak się zastanawiam…Oczywiście użycie RTC pozwala na dalszy rozwój projektu ale czy nie dało by się do “odliczania” użyć wbudowanego Timera odpowiednio dobierając taktowanie i wartość preskalera?
Na pewno da się to zrobić na wiele lepszych i bardziej optymalnych sposobów. Ja niestety inaczej nie potrafię ;)
Próbowałem coś na wewnętrznym oscylatorze zrobić albo wykorzystać pin PWM i z niego wysyłać 50% wypełnienie na pin analogowy (taki projekt znalazłem) jednak dokładność wszystkich takich rozwiązań była daleka od ideału.
Zastosowanie RTC dało mi od ręki dokładność taką, że od około miesiąca chodzi bez potrzeby korygowania. Patrząc na parametry uwzględniające korektę temperaturową to ten układ powinien chodzić dokładnie przez wiele miesięcy.
Jeśli ktoś ma pomysł na inne rozwiązanie na podawanie dokładnego impulsu co minutę to ja chętnie zobaczę.
Powiem szczerze, że jestem pod wrażeniem (marzenie mieć taki zegar w pokoju). Miałbym jednak pewien pomysł na modyfikacje. Zamiast RTC, po prostu zastosować mikrokontroler z kwarcem, żeby dokładnie odliczać, co jaki czas dać impuls. Oraz dodać samo zasilanie dla mikrokontrolera (bateryjne/akumulatorowe) i za pomocą któregoś z pinów analogowych wykrywać czy jest zasilanie cewki (zasilacz), czy nie. Zaznaczyć zmienną ile minęło czasu od odcięcia zasilania (z sieci), i po powrocie zasilania przestawić o odpowiednią “ilość czasu” zegar.
Widząc po jakości wykonania płytki wersja 2 na pewno będzie mieć tą funkcję :)
Zastosowanie samego kwarcu pewnie by dało oczekiwany efekt, ale ja nie wiem jak to podłączyć i dlatego pojawił się gotowiec w postaci RTC. Musiałbym pewnie znaleźć odpowiedni kwarc o stosownej częstotliwości i uzupełnić go o jakieś kondensatory, a później odpowiednio przeliczyć impulsy, żeby dały sygnał co 1 minutę. To jest teoria, ale przeniesienie jej na praktykę to raczej poza moimi kompetencjami ;)
Mnie cieszy, że układ działa i zegary chodzą dokładnie.
Miałem na myśli zastosowanie mikrokontrolera z kwarcem tzn mikrokontroler korzysta do swojego taktowania z kwarcu (tak jak w Arduino) odmierza czas oraz generuje impulsy. Zrobiłem kiedyś dla znajomego w ten sposób stoper na fotokomórkę (atmega328p i bootloader arduino UNO). Wystarczy odpowiednio wykorzystać millis();
Na stronach arduino znalazłem kiedyś taki przykład programu blink, bez delay(), idealny dla zastosowania z zegarem.
I jeszcze jedno co do działania z baterii a może zamiast baterii o wyższym napięciu dać przetwornicę, albo tranzystor gdybam, bo sam siedzę nad pewnym bateryjnym projektem. Ile prądu pobiera cewka??
Jakoś nie bardzo mi się chce kombinować z zasilaniem bateryjnym. Po tym co sprawdziłem wygląda, że musiałaby mieć duuużą pojemność.
Co do prądu to tak jak pisałem w tekście, bez załączonej cewki układ bierze niecałe 20mA, a po załączeniu jednej cewki ponad 40mA. Jak sądzę, przy 2 zegarach będzie to między 60, a 70 mA gdy obie cewki będą załączone.
Nie wiem co miałyby dać ta przetwornica i tranzystor?
Jeżeli dobrze zrozumiałem, Twój opis to wysokie napięcie na cewce jest potrzebne tylko do przestawienia wskazówki, i jest ono potrzebne co minutę przez kilka sekund (albo nawet części sekundy)
Pomysł z przetwornicą jest taki że zasilasz mikrokontroler z baterii/akumulatora, a przed przestawieniem wskazówki podajesz na bazę tranzystora z pinu mikrokontrolera stan wysoki tranzystor dołącza zasilanie do przetwornicy przetwornica zasila cewkę, przestawia wskazówkę, następnie podajesz na pin mikrokontrolera (ten od tranzystora) stan niski i “czekasz” (podobno prawdziwi programiści gardzą funkcją delay) kolejną minutę. To schemat uproszczony, ale jak znajdziesz (a było gdzieś na majsterkowie) silnik arduino to zamiast silnika można dać przetwornicę
W tym co pokazałeś 2 baterie 9V niestety dużo Energi marnowało się na regulatorze napięcia zamieniając w ciepło.
Przy tak małym prądzie (nawet dla dwóch cewek) prawdopodobnie można by było zastosować tylko tranzystory do ich uruchomienia ale niestety w tym nie pomogę bo to już są podstawy elektroniki analogowej.
Pozdrawiam
Mam 4 zegarki do sprzedania. Sprawne w stanie dobrym. Jeden taki jak na zdjeciu wyzej Meteron dwa troche mniejsze. Prosze o kontakt zainteresowanych. arkadiuszmnich@wp.pl
Aby przestawić czas letni na zimowy i odwrotnie to wystarczy popchnąć do przodu o godzine, albo …. zatrzymać na godzine zamiast pchać 11 godzin do przodu…
Tylko nadal szukam dobrego algorytmu, który pozwoli mi wymusić dwa razy do roku stosowne funkcje popychające. Jak ktoś zna to chętnie wykorzystam.
musisz napisać program zagara i kalendarza. nastepnie ustawić skok w programie do podprogramu zmiany czasu . dwa razy z czasu letniego na zimowy i odwrotnie. pamietaj że impulsy zmieniajace czas musza byc odpowiedniej częstotliwości . z byt duża czestotliwość powoduje indukcje i wszystko padnie . zależy to od iliści zegarów i ich odległości od zagara matki
chciałbym kupić zegar matkę do pragotronu – też działa na 24v. Pomimo że powyższy opis jest zacny, mi jako laikowi niewiele mówi. Maciek, zróbmy interes :)
Ostatnio chętnych się sporo zrobiło więc od czasu do czasu składam podobny zegar. Jak jest ktoś chętny to proponuję kontakt przez moją stronę baur.pl. Tam jest stosowny formularz kontaktowy.
“Jako nieelektronik….” Hehe dobre! :D
No taka prawda :)
Ale potrzeba matką jest… więc mając zegar musiałem się spiąć i coś wymyślić. Na szczęście jest Arduino ze swoją prostotą i dlatego to się udało. Oczywiście musiałem trochę pogrzebać po różnych projektach i złożyć całą układankę do kupki w jeden działający projekt.
Jaki jest koszt wykonania takiego sterownika? Konieczne jest osiadanie Arduino
Zależy kto robi. Podałem zestaw potrzebnych części więc można policzyć koszty materiałów. Arduino nie jest potrzebne bo jak pisałem użyłem czystego mikrokontrolera, a Arduino IDE użyłem tylko dlatego, że nie jestem zaznajomiony z innymi sposobami programowania.
Jeśli ktoś chciałby, żebym zrobił podobny zegarek to zapraszam do kontaktu przez moją stronę http://baur.pl
swego czasu stosowaliśmy do ustawienia prawidłowego wskazania czasu przy pomocy polowego aparatu telefonicznego – .
Prośba do autora o kontakt. podana strona nie działa. :)
Była chwilowa przerwa w działaniu ale już jest wszystko w porządku i można zaglądać na moją stronę. O sterownikach jest napisane tutaj > http://baur.pl/zegar-wtorny-i-jego-sterowanie/
Wspaniały pomysł na tchnienie nowego życia odrobiny nowoczesności w stary zegar.
Co do aktualizacji czasu po zaniku zasilania to pomyślałem ze moznaby zamontować co kwadransKontaktronyow z tylu cyferblatu.
Kontaktrony miałyby za zadanie po zaniku pozycjonowanie wskazówek zależnie od tego który kontaktron byłby wysterowany odpowiednio przesunąć wskazówki aby otrzymać prawidłowa godzinę.
Oczywiście wymagałoby to podtrzymania zegara rtc bateria oraz dodanie w programie instrukcji wykonywanych tylko po zaniku zasilania.
Oczywiście im więcej kontaktronow tym krótsze pozycjonowanie, a Kontaktrony musiałyby znajdować się na wysokości małej wskazówki i dużej oraz na wskazówkach magnesy. Oczywiście Kontaktrony są dosyć archaiczny rozwiązaniem i moznaby wykorzystać czujniki ale bynajmniej są tanie.
Ja myślałem raczej o zapisywaniu co minutę informacij o czasie w pamięci EEPROM, a po powrocie zasilania następowałoby automatyczne popychanie zegara do czasu osiągnięcia tej samej godziny, która została ostatnio zapisana w pamięci. Byłoby to rozwiązanie całkowicie niezależne od konstrukcji zegarów wtórnych. Widzę jednak problem z dużym obciążeniem pamięci EEPROM ciągłym zapisywaniem czasu i może to szybko uśmiercić mikrokontroler.
Witam mam zegar siemens s24529 e44 a15 i będę potrzebował do niego sterownik jest ktoś chetny zrobić odpowiedmi albo gdzie można kupić
Witam. Interesuje mnie zakup tego sterownika. Czy jest możliwość zakupu tego sterownika i jaki to koszt? Kontakt przez stronę nie działa
Pozdrawiam
witam tez interesuje mnie zakup tego sterownika mam zegar metron na 50v kontakt telefoniczny 603042080
Dzień dobry
Jak cena zasilacza wraz ze sterownikiem ?
Z poważaniem
Do kontaktu : stanislaw.szulc@wp.pl