TEKST PO POLSKUKażdy, kto wszedł w posiadanie starego zegara dworcowego (w dzisiejszych czasach ze względu na modę na „retro” jest to dość popularny element dekoracji wnętrz) spotkał się z pewnością z problemem uruchomienia go. Nie jest to zwykły zegarek na baterie, zatem z tyłu obudowy nie zastaniemy nic poza prostym mechanizmem i dwoma zaciskami do przewodów, po podłączeniu do których zasilania w zasadzie na ogół nic się nie dzieje. Po zapytaniu Google jak to uruchomić z pewnością natrafiliście na informację, iż taki zegar aby chodzić potrzebuje… drugiego zegara zwanego „matką”. Z tego tekstu dowiesz się jak uruchomić swój zegar bez wydawania góry pieniędzy na zegar sterujący lub specjalizowany sterownik. |
ENGLISHEveryone who just bought or even get old railway clock (these days such „vintage” equipment is very often wanted by people who like to put it into the loft or are just railway enthusiasts) faced a problem that on the backplate there is no quartz mechanism but something strange with coils and 2-wire connector. After some crawling at Internet you probably know – you need a second clock called „mother clock”. Here’s how to solve the problem – bring second life to your clock without spending a lot of money. |
Jak to działa?Zegary dworcowe co do zasady pracują zwykle w sieci. Każdy zegar widoczny w hali peronowej dworca jest tzw. wtórnym i są one sterowane z jednego zegara centralnego (matki), który umożliwia ustawianie czasu w jednym miejscu. Jest to przydatne szczególnie przy zmianach czasu z pory letniej na zimową i odwrotnie. Zegar wtórny to de facto silnik krokowy, skonstruowany tak, aby przy podaniu napięcia wykonać przesunięcie o krok (minutę) do przodu (nie ma znaczenia czy mówimy tu o zegarach wskazówkowych czy klapkowych). Wykonanie kolejnego ruchu ze względu na prostą konstrukcję mechaniczną wymaga jednak odwrócenia polaryzacji (zamiany) napięcia zasilającego. W Polsce i krajach ościennych standardowo stosuje się napięcie stałe 24V, w praktyce cewki reagują jednak od 18-19V. W przypadku zegarów z tarczą (wskazówkowych) pewnym rozwiązaniem jest zamiana mechaniki zegara na mechanizm kwarcowy (mnie udało się w ten sposób przerobić już 2-3 zegary), jednak gdy chodzi o zegar klapkowy nie ma innej opcji, jak posiadanie zegara sterującego lub jakiegokolwiek układu wysyłającego co minutę impuls i zamieniającego biegunowość następnego. |
How it works?Basically, every wall clock at railway station is a secondary one. It means it was designed to work in the network, together with other secondary clocks. All are driven from one master clock called „mother”. It allows i.e. set all up and simple time change from summer to winter time and vice versa. Secondary clocks are in fact simple stepper motors, that should need to move by one minute forward (doesn’t matter here if we’re talking about clock with dial or flipping one) after receiving a pulse of electric energy from master (in Poland and neighbor countries usually 24V DC is used). So connecting it to battery or other source of electric power gives you one move and stop. But, what it makes it more complicated, next move require reverse polarity. So you need to swap somehow polarity with every pulse. Usually if you have clock with dial it can be always converted to quartz mechanism (I did it with 2-3 of them), but if you want to keep it original or own a flipping one, there’s no other option – you need to have master clock or any kind of driver. |
|
|
Uniwersalny sterownik tak prosty jak tylko się daSzukając sterownika z pewnością natrafiłeś w internecie na wiele projektów – od tanich po rozwiązania profesjonalne za konkretne sumy pieniędzy. Większość z nich to typowe układy zegarów, czasem z synchronizacją po NTP (internet)/GPS (satelitarną) lub DCF77 (radiową). W tym przypadku tego nie potrzebujemy, gdyż wymagane jest jedynie coś, co wyśle na zegar co minutę impuls, a przy wysyłaniu następnego odwróci polaryzację. Uruchomienie sprowadza się jedynie do właściwego nastawienia czasu i niczego więcej. Jedyne o czym trzeba pamiętać, to że mechanizmy tych zegarów chodzą wyłącznie do przodu. Czyli jeśli jest 11:00, a zegar wskazuje 12:00, to aby go ustawić trzeba wysłać 60*11 lub 60*23 impulsów w zależności od typu zegara (12 lub 24h). Mój sterownik jest reultatem wielu przemyśleń – ma być prosty, uniwersalny i niedrogi. Ostatnie oznacza nie tylko koszt budowy, lecz również poboru energii podczas pracy. Stąd też 3 wersje możliwe do zbudowania – w zależności od potrzeb możesz wybrać między wersją z modułem RTC (zegara czasu rzeczywistego), bądź liczącą czas na podstawie częstotliwości sieci zasilającej (50Hz). Płytka drukowana jest nieduża – można ją śmiało zamontować z tyłu tarczy, bądź w obudowie zegara klapkowego. Może być również złożona przez osobę, która posiada podstawową wiedzę z zakresu elektroniki – w zasadzie wszystko co potrzeba to mieć lutownicę i przylutować poprawnie elementy.
|
Universal driver as simple as canProbably you have seen many projects at the Internet – from cheap to expensive professional solutions. Many of them are typical clocks, sometime with synchronization of time via NTP (internet)/GPS (satellite) or DCF77 (radio). We don’t need that. All you need is something that send a pulse every minute, and can allow you to do initial setup of time. Please remember – you can set it only by going forward. Old clocks do not have ability to go back in time 🙂 My driver is result of few thoughts – it need to be simple, universal, and cost efficient. Last one mean it should be cheap but also not consuming a lot of energy. You can also choose between version that uses RTC module or pulse is synchronized via network frequency (50Hz). PCB is not to big – it allows you to mount it on the backplate or inside chassis of flipping clock. What makes it also simple, it can be assembled with person who do not have a lot of skills with electronics – all you need to know is how to use soldering iron and multimeter.
|
|
|
Jeden sterownik, kilka wersjiKtórą mam wybrać? + ENERGY EFFICIENT – dla tych którzy lubią zaoszczędzić kilka watów rocznie. Wymagana jest wiedza jak przylutować mikroprocesor w obudowie TQFP32 i zaprogramować go w układzie przez złącze ISP 6 pin. + NERD (BUILD COST EFFICIENT) / POWERED by AC – jeśli posiadasz transformator lub inne źródło prądu zmiennego dostarczające ~24V i chcesz synchronizować zegar na podstawie częstotliwości sieci (50Hz). Ostatecznie wybierz to rozwiązanie jeśli jesteś Januszem liczącym każdy cebulion w portfelu, bo trzeźwo licząc jest to oszczędność na poziomie pojedynczych złotówek. Dla osób nie posiadających zdolności manualnych i nie obeznanych mocno z elektroniką rekomenduję wybranie wersji REGULAR FIT. Dla każdej wersji lista komponentów nieznacznie się różni (szczegóły poniżej), dobrą wiadomością jest to, iż płytka jest jedna dla wszystkich wersji (w zależności od wersji nie wszystkie komponenty są wymagane). |
One driver, many facesWhich one to choose? Depend of what version you’ve chosen (I strongly recommend to start with REGULAR FIT if you’re not familiar with DIY or do not have electronics skills) part list is slightly different. Good news is that PCB is one for all, but some components not need to be mounted. |
Ozn./ Parametry/ Część/ Obudowa/ Wersja sterownika/ Part Value Device Package Clock driver version (REGULAR/COST EFF/NERD) B1 DBDB107G Mostek prostowniczy Full bridge rectifier DB R,C,N C1 2200uF / 35V Kondensator elektr. E7,5-18 R,C,N C2 100uF / 16V Kondensator elektr. E2,5-7 R,C,N C3 18p Kond. ceramiczny C1206 R,C,N C4 18p Kond. ceramiczny C1206 R,C,N C5 100n Kondensator C025-030X050 R,C,N C6 100n Kondensator C050-035X075 R,C,N CLOCK JUMPER-2PTH 1X02 R,C,N EXT_LIGHT JUMPER-2PTH 1X02 R,C,N F1 0,3A BEZPIECZNIK / FUSE GSH15 R,C,N IC1 L293D Układ scalony DIL16 R,C,N IC2 NANO ARDUINO NANO NANO R,N IC3 MEGA8-AI ATMEGA8-AI TQFP32-08 C IC4 7805T Układ scalony TO220H R,C,N ISP1 AVRISP-6 Złącze 2x3pin AVRISP C J1 J2X2MM 04C KEYBOARD Złącze 2X5 2X05 R KEYBOARD1 Złącze 2X5 2X05 R,C,N LED1 Dioda LED LED3MM R LIGHT_SENS BPX81/ Fototranzystor BPX81 R,C,N FR65 30-50K Fotorezystor FR65 R,C,N OK1 PC817 TRANSOPTOR/ OPTOPCOUPLER DIL04 N POWER_IN M023.5MM M023.5MM SCREWTERMINAL-3.5MM-2 R,C,N Q1 8MHz REZONATOR KWARCOWY/ XTAL/S QS C R1 510R Rezystor 0204/7 R,C,N R2 510R Rezystor 0204/7 R,C,N R3 510R Rezystor 0204/7 R,C,N R4 33k Rezystor 0207/10 N R5 1k Rezystor 0207/10 R,C,N R6 1k Rezystor 0207/10 R R7 47 / 100K Pot. montażowy TRIM_EU-CA6V R,C,N R8 10k Rezystor 0207/10 N RTC MODUŁ RTC DS3231 RTC DS3231 MODULE R,C S1 START / STOP / CANCEL Przycisk TACTILE-PTH-LED-12MM-EZ R,C,N S2 WAIT 1HR Przycisk TACTILE-PTH-LED-12MM-EZ R,C,N S3 +1HR Przycisk TACTILE-PTH-LED-12MM-EZ R,C,N S4 +1MIN Przycisk TACTILE-PTH-LED-12MM-EZ R,C,N |
|
POWER SUPPLY – jakikolwiek zasilacz dający napięcie stałe 24V/0.5A. Osobiście używam zasilacza do Ubiquiti – PoE Gigabit 24V 0,5A i sprawuje się dobrze – główną zaletą jest niski pobór energii w stanie „czuwania”. Jedynym minusem jest konieczność dorobienia kabla wyposażonego we wtyk RJ45 aby „wyciągnąć” zasilanie z gniazda PoE. |
POWER SUPPLY – any kind of power supply giving you 24VDC/0.5A. I’m using Ubiquiti PoE Gigabit 24V 0,5A PSU and it works well with low consumption of power when idle. For those who want to use it – you need to make dongle to get 24V from RJ45 PoE socket. |
Jak zamówić płytkę drukowaną?Płytkę drukowaną można wykonać samemu (wersja opisana „TERMOTRANSFER”) lub też zamówić w firmie wykonującej płytki prototypowe (wersja „GERBER”). Odpowiednie pliki są dostępne pod linkami poniżej. Konstrukcja jest dość prosta – płytka jest dwustronna, jednowarstwowa z soldermaską w dowolnym kolorze (ja wybrałem biały). Ze swej strony polecam zamówienie płytki w jlcpcb.com, za 2 dolary otrzymujemy 5 sztuk. Jedyny minus, to czas oczekiwania na dostawę z Chin w przypadku wybrania opcji z darmową przesyłką – u mnie zajęło to ok. 2-3 tygodni. Po otrzymaniu płytkę z klawiaturą trzeba odciąć, można też w trakcie zamawiania poprosić o rozcięcie (może się to wiązać z dodatkowymi kosztami). |
How to order PCB?You can do it by yourself (THERMOTRANSFER version) or order PCB via internet (GERBER version) from many places. Please download proper version from links below. PCB is simple – double sided (top+bottom), one layer only with soldermask. I recommend order PCB from jlcpcb.com – for $2 you’ll get 5 pieces with any soldermask color you prefer (I’ve chosen white). Only one drawback is delivery time if you choose cheapest option. In my case it took 2-3 weeks to deliver it from China to Poland. After delivery you need to cut out keyboard module from main PCB (you can also ask manufacturer to do it for you, but usually it is an extra cost). |
Montaż płytkiMontaż rozpoczynamy od sprawdzenia czy posiadamy wszystkie elementy konieczne do złożenia danej wersji. Elementy lutujemy do płytki wg zasady – od najmniejszych do największych. Przy lutowaniu kondensatorów zwracamy uwagę na polaryzację. Pod Arduino oraz IC1 dajemy podstawki (pod OK1 też można). Stabilizator 7805 dobrze jest przymocować do płytki stosując pastę termoprzewodzącą. W zasadzie nie powinien się grzać – dodatkowy radiator nie jest wymagany. Przed włożeniem układu L293D (IC1) oraz modułów RTC i Arduino (względnie montażem IC3) warto wstępnie uruchomić płytkę i sprawdzić napięcia zasilające układy. W tym celu podłączamy zasilanie do zacisków POWER (biegunowość nie ma znaczenia) i sprawdzamy miernikiem uniwersalnym napięcia (zakres DC): -IC4 (7805) między VIN (lewa nóżka patrząc od góry) a GND (środkowa nóżka) powinno być napięcie zasilania. MIędzy GND a VOut (prawa nóżka) powinno być +5V. Jeśli wszytsko się zgadza, można odłączyć napięcie zasilania, poczekać z minutę aby kondensatory w obwodzie stabilizacji napięcia się rozładowały i można zamontować moduł RTC oraz układy scalone. |
AssemblyBefore soldering please verify you have all components required to do particular version. You need to start soldering from smallest parts to big ones. Watch for polarity when soldering capacitors. For Arduino module and IC1 it’s good to solder additional sockets. When mounting 7805 voltage stabilizer, please add some thermal grease between PCB and IC. It should not gets so hot during normal operation, so additional radiator is not required. Before placing IC1, Arduino, RTC (or IC3 depending of version) module please supply power to POWER socket (polarity doesn’t matter) and check DC voltages: If everything is as above you can disconnect power, wait minute for capacitance discharge and put other IC’s and modules. |
Zakładam, iż wersję ENERGY EFFICIENT z procesorem Atmega wybierają osoby posiadające narzędzia i wiedzę w programowaniu tego typu układów stąd też opiszę jedynie poniżej jak zaprogramować moduł Arduino.
Programujemy moduł ArduinoNowy moduł Arduino Nano jest zazwyczaj zaprogramowany przykładowym kodem „blink”, który powoduje mruganie diodą LED po podłączeniu kabla USB. Aby moduł działał w sterowniku zegara należy go zaprogramować, lecz wcześniej należy ściągnąć i zainstalować najnowszą wersję oprogramowania Arduino IDE ze strony https://www.arduino.cc/en/main/software. Po zainstalowaniu Arduino, jeśli planujemy zbudować sterownik oparty o moduł zegara czasu rzeczywistego DS3231 (wersja REGULAR FIT lub ENERGY EFFICIENT), trzeba wgrać bibliotekę DS3231 Real-Time-Clock, którą można pobrać ze strony autora – https://github.com/jarzebski/Arduino-DS3231. Ostatnią rzeczą, którą należy pobrać z Internetu jest kod sterownika dostępny poniżej: |
Zakładam, iż wersję ENERGY EFFICIENT z procesorem Atmega wybierają osoby posiadające narzędzia i wiedzę w programowaniu tego typu układów stąd też opiszę jedynie poniżej jak zaprogramować moduł Arduino.
Programming Arduino NanoArduino Nano usually come pre-programmed with „Blink” program (it blinks an onboard LED after applying the power). To make driver living, you need to program Arduino using Arduino IDE software available here: After download, if you plan to build an RTC based driver (REGULAR FIT or Last thing you need is to download the Flipping Clock driver code from one of the links below. |
DownloadREGULAR • ENERGY EFFICIENT • NERD JAK ZAPROGRAOWAĆ ARDUINO? SZCZEGÓŁY NA TYM FILMIE |
|
UruchomienieJeśli wykonano wszystkie kroki zgodnie z powyższymi instrukcjami sterownik powinien zacząć działać od razu po zaprogramowaniu procesora lub Arduino i nie wymaga żadnych dodatkowych działań. Na ogół najczęstsze błędy i problemy wynikają z instalacji nieprawidłowej biblioteki DS323`1 (niezgodnie z opisem powyżej). W przypadku problemów zachęcam do samodzielnego poszukiwania rozwiązań m.in. przy pomocy wyszukiwarki Google (autor sterownika ze względu na permanentny brak czasu nie wspiera dłużej tego typu zapytań). Krótkie wytłumaczenie jak działają przyciski:
Dla tych, którzy zamiast słów wolą ruchomy obraz – POKAZ NA ŻYWO jak to działa 🙂 |
First runIf you followed carefully with all steps previously described, driver should start working right after microprocessor/Arduino programming and do not require any additional steps. Most common problems related to programming leigh on installation of wrong DS3231 library or having different one already installed. In case of problems please use Google to find a reason and proper solution (author will not support such cases any longer). How to use a keyboard:
|
Zastrzeżenia prawnePROJEKT STANOWI WŁASNOŚĆ INTELEKTUALNĄ – AUTOR ZEZWALA NA JEGO WYKORZYSTANIE WYŁĄCZNIE W CELACH NIEKOMERCYJNYCH. W PRZECIWNYM WYPADKU – MÓJ PRAWNIK ZAPUKA PO TANTIEMY. |
DisclaimerALL RIGHTS RESERVED. YOU CAN USE THIS PROJECT FOR NON-COMMERCIAL PURPOSES ONLY. OTHERWISE – MY LAWYER SEND YOU A BILL. |
NAJCZĘŚCIEJ ZADAWANE PYTANIA
|
Q&A
|
PROSTY STEROWNIK ZEGARA DWORCOWEGO/KOLEJOWEGO
SIMPLE RAILWAY CLOCK DRIVER
Jak zaadoptować ten sterownik do zegara klapkowego o napięciu cewki 60 V ?
Najpierw zaczął bym sprawdzając od jakiego napięcia cewka 60V zareaguje – w niektórych zegarach na 24V przełączanie następowało już przy 15. Być może ma też odczepy na inne napięcia zasilania – pytanie jak duży jest to zegar.
Sterownik był projektowany do zegarów z cewkami na 24V i wytrzyma podanie maks. 35V na wejście.
Przy wyższym napięciu przełączania trzeba uwględnić dopasowanie zasilacza sterownika i w miejsce L293D wstawić mostek H (można to zrobić przy pomocy 4 tranzystorów MOSFET),
który pozwoli obsłużyć przełączanie napięcia 60V a także tzw. udar prądowy, przewidziany dla zegara o którym piszesz. Alternatywnie można też użyć 2 przekaźników jeśli ich hałas nie będzie przeszkadzał.
To ten zegar :
http://vi.vipr.ebaydesc.com/ws/eBayISAPI.dll?ViewItemDescV4&item=262742210092&t=1483906236000&category=20561&seller=painther-art&excSoj=1&excTrk=1&lsite=3&ittenable=false&domain=ebay.pl&descgauge=1&cspheader=1&oneClk=2&secureDesc=0
Jeszcze go nie mam, więc nie mogę sprawdzić, być może tak jak mówisz ma odczepy na cewce.
Twój projekt jest genialny w funkcjonalności i prostocie.
Dziękuję za podzielenie się swoją wiedzą.
Pod spodem jest napisane że cewka może być zasilana 12/24/60.
Z tego co widze po Internecie IPJ0612 standardowo miał sterowanie 24V DC także powinien działać ze sterownikiem bez problemu i dodatkowych przeróbek.
Genialne! Fantastycznie, że podzielił się Pan swoją wiedzą i pracą!
Piękna sprawa! Właśnie stoję przed problemem budowy takiego sterownika a tutaj już gotowy piękny i elegancki 🙂
Mam pytanie – z jakim zużyciem prądu trzeba się liczyć? Chciałbym zasilić sterownik z baterii albo ogniw (z ewentualnym użyciem przetwornicy step up do uzyskania 24V) i zastanawiam się jak często trzeba będzie te ogniwa ładować.
Generalnie sterownik nie był projektowany do zasilania z typowych baterii (mam na myśli 1.5V AA lub AAA), ze względu na pobór prądu przez cewkę podczas cyklu pracy mechanizmu. Wersja ENERGY EFFICIENT bez poboru prądu do podświetlenia tarczy pobiera 15mA między cyklami gdzie wysyłany jest sygnał na cewkę. Podczas impulsu pobór wzrasta chwilowo proporcjonalnie do prądu branego przez cewkę i jest to zależne od modelu itd.. więc długo to nie pociągnie. Podejrzewam, że można by zejść do połowy tych 15mA wylutowując diodę LED na module RTC. Generalnie to gdyby chcieć zasilać to z baterii należałoby usypiać procesor, pobawić się w obsługę przerwań z klawiatury, itd. Bardziej jednak obawiam się, że gdyby zrobić super oszczędny sterownik to biorąc pod uwagę sprawność przetowrnicy step up będzie ona sama „zjadać” kilka do kilkunastu mA na potrzeby własne i baterie będą za chwilę do wymiany.
15 mA to faktycznie całkiem sporo. Zbuduję, pobawię się i zobaczę z ciekawości do ilu mA da się zejść.
Proszę dać znać jak tam efekty – też jestem ciekaw🙂
Wielkie dzięki za opracowanie i opublikowanie sterownika. Zmontowałem płytkę zgodnie z wytycznymi. W podanych punktach pomiarowych zamiast 5V mam 4,6V. Pewnie to sprawa stabilizatora zamontowałem 7805CV. Ale mam ostatni problem. Przy programowaniu Arduino wyskakuje błąd. Oto kilka końcowych wierszy z wydruku: „Flipping_Clock_driver_DS3231:2:10: fatal error: DS3231.h: No such file or directory
#include
^~~~~~~~~~
compilation terminated.
Użycie biblioteki Wire w wersji 1.0 z folderu: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.49.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire
exit status 1
DS3231.h: No such file or directory”
Proszę o poradę Panie Tomaszu.
Witam. Brakuje w Arduino biblioteki RTCLib – jest o tym mowa w akapicie dotyczącym programowania.
Witam,
Panie Tomku dziękuję za fajne opracowanie jednak są problemy.
W Arduino jak kolega wcześniej napisał po wgraniu biblioteki RTCLib – jest komunikat o prawidłowym wgraniu biblioteki nadal wyświetla przy weryfikacji DS3231.h: No such file or directory.
Jak dodam biblioteke DS2321 – jest widoczna w Przesłane biblioteki DS2321 oraz RTCLib byNeiroN wyświetla komunikat:
'class DS3231′ has no member named 'begin’
Proszę o jakieś sugestie
W Arduino jest prawdopodobnie zainstalowana inna biblioteka wykorzystująca plik DS3231.h.
Zachęcam ZAWSZE do wpisania komunikatu błędu w Google – najczęściej są podane przyczyny i rozwiązania.
Ktoś może mi wytłumaczyć, po co na liście elementów znajduje się fotorezystor? Nawet nie jest ujęty na schemacie.
Jest ujęty. Można użyć go zamiast fototranzystora mierzącego natężenie oświetlenia zewnętrznego.
Jest to element umieszczany poza płytką drukowaną i podłącza się go do złącza EXT_LIGHT.
Jeszcze jedna rzecz, która mnie nurtuje. Czy Rezonator jest rzeczywiście potrzebny w wersji „Regular” w której nie ma układu Atmega8. Jak sądzę rezonator ma taktować właśnie ten układ.
Oczywiście nie jest potrzebny, już poprawiłem.