Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino DCF77 Analyzer Klok MK2

Componenten en benodigdheden

Arduino Nano R3
Ik heb Atmega 328 IC's gebruikt, maar een Nano of UNO kan worden gebruikt. de Superfilter NANO/UNO heeft een kwartskristal nodig, geen resonator aan boord.
× 1

Over dit project

Zie mijn site voor deze klok Arduino DCF77 Analyzer Clock Sitehttp://www.brettoliver.org.uk/DCF77_Analyzer_Clock_Mk2/Arduino_DCF77_Analyzer_MK2.htm

Deze klok geeft de DCF77-tijdcode weer op 2 ringen van 60 LED's op een grote wijzerplaat met een diameter van 12 "(305 mm). De binnenste ring toont de live-tijdcode voor de volgende minuut zoals deze wordt ontvangen en de buitenste ring toont de huidige tijd zo lang aangezien de vorige minuut foutloos werd ontvangen.

Nog eens 24 LED's geven de status van de decoder en tijdinfo weer. Gedecodeerde tijd en datum worden weergegeven op 2 grote 8-cijferige 7-segmentsdisplays, terwijl DCF77-pulstimings en bitinformatie worden weergegeven op nog eens 2 kleinere 8-cijferige 7-segmentdisplays.

De klok gebruikt 2 x Atmega 328 microprocessors (Arduino Uno), 1 om de DCF77 Analyzer aan te sturen en 1 om een ​​Udo Klein Super Filter aan te sturen. Het Super Filter maakt geavanceerde DCF77-signaalverwerking mogelijk en ook het afstemmen van het Arduino-kwartskristal. Het filter is schakelbaar en heeft 10 status-LED's om de status van de signaalontvangst en de kwaliteit van de output aan te geven. De klok slaat ook de uren, kwartieren en seconden die tikken via 2 losse JQ6500-geluidsmodules.

De meeste elektronica is aan de achterkant van de wijzerplaat gemonteerd, zodat de klok op veel verschillende kaststijlen kan worden gemonteerd.

Ik heb ontwerpen opgenomen voor klokken in retro en moderne stijl. het retro-ontwerp is in een oude wijzerplaat geplaatst, terwijl het moderne ontwerp in een zwarte fotolijst is geplaatst.

Stap 1:Tegoed

Deze klok is gebaseerd op de DCF77 Analyzer Clock van Erik de Ruiter en is een bijgewerkte versie van mijn Mk1 DCF77 Analyzer klok.

boven de DCF77-analyseklok van Erik de Ruiter onder mijn MK1 DCF77-analyseklok.

Erik heeft volledige details van zijn klok op GitHub verstrekt

Verschillen tussen Erics klok en mijn klok

Hoewel ik gebaseerd ben op Eric's klok, heb ik een paar wijzigingen in de hardware aangebracht. Mix en match de optie die bij uw behoeften past, maar zorg ervoor dat u de code naar wens aanpast.

Ik gebruik twee op maat gemaakte Arduino UNo's op het Veroboard in plaats van een Uno en een Mega.

Ik gebruik overal goedkope 7-segment-displays en dot-matrixmodules uit China en heb de code aangepast. Zie het gedeelte over weergavefouten, want ze werken echt goed als deze mods eenmaal zijn uitgevoerd.

Ik gebruik 2x JQ6500-modules in plaats van het Adafruit-geluidsbord. Omdat een van mijn boards softwaregestuurd is, zijn er enkele softwarewijzigingen en moet er nog een bibliotheek worden geladen.

Omdat ik een Arduino Uno heb in plaats van een Arduino Mega, heb ik niet alle reservepinnen om de decoder-LED's aan te sturen, dus gebruik ik in plaats daarvan een 3e dot-matrixmodule.

Ik heb Udo Klein's Super Filter aangepast door extra staus LED's toe te voegen. De helderheid van deze LED's wordt PWM geregeld door de DCF77-decoder Uno via 2 transistoren niet de Super Filter Uno.

Er is ook een LED-testfunctie toegevoegd aan de Super Filter die overeenkomt met de DCF77-decodertestfunctie.

Ik gebruik alleen LED's van 3 mm en heb gekozen voor LED's met aangepaste helderheid om te proberen de helderheid uniform te houden.

Ik heb 4 afzonderlijke intensiteitsniveaus toegevoegd in de software, zodat de Ring/Status-LED's, de grote 7-segmentsdisplays, de kleine 7-segmentsdisplays en de Super Filter-LED's allemaal aangepaste helderheidsniveaus hebben, afhankelijk van de metingen van de enkele LDR.

Ik heb geen temperatuur- of weeknummerweergave op mijn klok en heb de code aangepast.

Ik heb extra monitor-LED's aan mijn Super Filter toegevoegd, dus op mijn klok is er alleen een optie voor gesynthetiseerde en niet-gesynthetiseerde uitvoer. Dit is geen optie om van modus te wisselen volgens de klok van Erik.

Het DCF77-geluid op mijn klok is aangepast om het verschil tussen de inkomende nullen en enen te accentueren. Wanneer de klok een 1 detecteert, speelt hij gewoon een iets langer geluid dan 200 mS.

Stap 2:Video

De video laat de klok zien lopen met het tikgeluid aan en ook de klok die het volledige kwartier en het hele uur aangeeft.

Het toont ook de indeling van de wijzerplaat en informatie over het aflezen van de displays.

Video 2

Video met opstarten, displaytest en tijd/datum-decodering

Video 3

Video die laat zien hoe het Udo Klein Super-filter op deze klok werkt

Video 4

De video toont de klok van de fotolijst die loopt met het tikgeluid aan en ook de klok die het volledige kwartier en het hele uur aangeeft.

Het toont ook de indeling van de wijzerplaat en informatie over het aflezen van de displays.

Video 5

Deze korte video toont mijn DCF77-analysatorklok die het DCF77-signaal weergeeft en decodeert. Alle geluiden zijn buiten het DCF77 live-signaal.

Stap 3:Bediening

De klok wordt aangestuurd door 7 schakelaars die op een metalen staaf zijn gemonteerd. De schakelaars zijn bevestigd aan de binnenkant van een scharnierende deur die onder de klok kan worden neergeklapt voor toegang.

Bij de versie met fotolijst zijn de schakelaars in een uitsparing aan de zijkant van de klok gemonteerd.

Schakelaars regelen het volgende

Tikgeluid aan/uit

Tik op Volume

Bel 24/7 of timer

Belvolume

DCF77-geluid aan/uit

Superfilter of analyser resetten

DCF77 Bron van Filter, Uit of Analyser

Schakelfuncties

Tik geluid

Schakelt het tiktokgeluid in en uit (haalt de stroom naar de JQ6500-module weg)

Vink Volume niet vergrendelend aan

Zet het tick-tock-volume hoger en lager (Tick-geluidsschakelaar moet aan staan)

Gongbediening

Uit-gong is uitgeschakeld

24/7 belsignalen zijn 24/7 aan

Het klokkenspel van de timer is alleen aan op vaste tijden van de dag, b.v. 's nachts uit

Gongvolume niet vergrendelend

Omhoog zet het volume hoger

Omlaag zet het volume lager

Na elke druk op de knop wordt een testgeluid afgespeeld, zodat u de nieuwe volume-instelling kunt horen

DCF77-geluid

Aan speelt het DCF77-geluid dat wordt ontvangen als piepjes via de piëzo-elektrische sirene.

0 is 100 mS en 1 wordt afgespeeld als een pieptoon van 500 mS om het gemakkelijker te maken onderscheid te maken tussen de ontvangen 0 en 1s.

Uit de DCF77-pieptoon is Uit

Niet-vergrendelend resetten

Filter reset het DCF77 Super Filter waardoor het opnieuw synchroniseert met het DCF77-signaal

Analyzer reset de DCF77 Analyzer, te beginnen met een displaytest indien ingeschakeld en vervolgens een hersynchronisatie van de klok. De RTC-tijd wordt weergegeven vanaf de tijd die is opgeslagen in de realtimeklok

DCF77-bron

Uit ontkoppelt het DCF77-signaal van de klok

Analyser het DCF77-signaal wordt rechtstreeks naar de klok gestuurd zonder enige filtering

Filter het DCF77-signaal wordt van het Super Filter gehaald en als het Super Filter is gesynchroniseerd, wordt dit signaal gesynthetiseerd tot het juiste foutvrije signaal

Stap 4:Schema's

Er zijn 3 schema's voor deze klok. Het moederbord, de dot matrix-modules en de 7-segments display-modules.

De 2e is erg groot voor en kan hier op ware grootte worden bekeken 4000x4000 schematisch. Ik heb het op deze manier ingedeeld om het gemakkelijk te kunnen bedraden.

Stap 5:Atmega-pinverbindingen

Deze klok gebruikt 2 Atmega 328 IC's op aangepaste vero-borden. Een standaard UNO kan worden gebruikt voor het analysatorgedeelte van de klok, maar een UNO met een kwartskristal in plaats van een resonator moet worden gebruikt voor het superfiltergedeelte van de klok. Bekijk hier hoe u een kwartskristal aan een Arduino UNO toevoegt http://www.brettoliver.org.uk/Master_Clock_MK2/Master_Clock_MK2.htm#Mod

Stap 6:Vero-bordlay-outs

Veel van de modules voor dit project zijn vooraf gebouwd en hoeven alleen maar te worden aangesloten, maar het moederbord voor de Arduino's, geluidsmodules en de 3e LED-matrix moeten op Vero-bord worden gebouwd.

De LED's worden alleen ter referentie op het moederbord gemonteerd weergegeven.

Alle bedrading naar andere kaarten vanaf het moederbord gaat via PCB-headerconnectoren. De verbindingen van het moederbord naar het schakelpaneel zijn direct bedraad. Hierdoor kunnen het moederbord en het schakelpaneel worden verwijderd voor onderhoud.

Merk op dat deze zijn geconfigureerd als Arduino UNO's en hoewel vooraf gebouwde Unos of Nanos kunnen worden gebruikt, moet de Super Filter Arduino een kwartskristal hebben en geen resonator voor nauwkeurigheid, zie Atmega-pinverbindingen hierboven.

Zie de info op mijn Master Clock-site Arduino-kwartskristalmodificatie

Opmerking De RTC is hier gemonteerd, maar alleen aangesloten via de header-kabel.

Stap 7:Vooraf gebouwde modules

Vooraf gebouwd bord en modules

LM2596 Regulator Module verlaagt de spanning tot 5v. Deze wordt afgesteld door de 10K vooringestelde weerstand op de module en gemeten na de achteruitrijbeveiligingsdiode D4. Pas dit aan voordat u de Arduino's aan het bord toevoegt.

De klok gebruikt ongeveer 450 mA max met LED's op volledige helderheid en zakt terug tot ongeveer 80 mA met de displays uit.

Je zou veilig moeten zijn met een 1000mA DC PSU van 7-12volt (de LM2596 Regulator Module regelt de spanning)

RTC DS3231 I2CDeze module slaat de tijd van het gedecodeerde DCF77-signaal op. De ingebouwde klok heeft temperatuurcompensatie en heeft een batterij back-up in geval van stroomuitval. Merk op dat de RTC-module is aangepast om niet-oplaadbare batterijen te gebruiken.

MAX2719 Dot Matrix-module Deze modules sturen de binnenste en buitenste LED-ringen (2 modules) aan en de 3e module stuurt alle andere LED's aan, behalve de Super Filter-LED's. De LED-matrix wordt verwijderd en een PCB-header wordt op zijn plaats gesoldeerd.

RCWL 0516 Doppler-radarsensor MagnetronOm de klokdisplays alleen aan te zetten als de kamer bezet is, gebruik ik bewegingsdetectie. Je hebt de keuze tussen de RCWL 0516 hieronder die beweging van achter glas detecteert of de PIR-module hieronder.

PIR-module InfraroodDe PIR-module kan worden gebruikt in plaats van de bovenstaande Doppler-radarsensor. Het nadeel van dit apparaat is dat het niet achter glas of perspex enz. kan worden gebruikt.

Max2719 7 Segment Display 0,56"Dit is de grotere 0,56"-versie die wordt gebruikt voor de tijd- en datumweergave. Ik had er al een aantal van, maar er zijn vergelijkbare modules op tindie. Zorg ervoor dat u de grotere 0,56"-schermen krijgt. Let op:er kan een kleine wijziging nodig zijn om weergavefouten op deze modules te voorkomen. Zie de wijzigingsstap MAX2719.

Max2719 7 Segment Display 0.39"Dit is de kleinere 0.39"-versie die wordt gebruikt voor de bit-, fout- en pulsdisplays. Ze zijn overal op eBay en Amazon verkrijgbaar, zorg er gewoon voor dat je de modules krijgt met de header-pinnen niet gesoldeerd of de boards met de pinnen aan de achterkant van de module gesoldeerd. Merk op dat een kleine wijziging nodig kan zijn om weergavefouten op deze modules te voorkomen. Zie de wijzigingsstap MAX2719.

JQ6500 16p-modulesEen van deze modules wordt gebruikt om het tikkende geluid af te spelen en de andere de kwartier- en uurklokken. Met de geluidsbestanden die bij het project worden geleverd, zou je weg moeten kunnen komen met de goedkoopste 16p-module met 2M geheugen. De modules sturen elk een enkele 3W 8Ω-luidspreker aan. Geluiden worden geladen vanaf uw pc (niet MAC) via USB met behulp van een eenvoudig programma.

DCF77-ontvanger

Mijn DCF77-ontvangermodule van http://www.pvelectronics.co.uk

Deze items lijken niet meer beschikbaar te zijn, maar probeer Amazon

PV Electronics DCF77 Ontvanger Module aansluitingen Aansluitingen van links naar rechts

1.VDD 2.TCON 3.PON 4.GND 5.NC

Levert output in een omgekeerd formaat (output is laag en wordt één keer per seconde hoog).

Stand-bymodus met laag stroomverbruik - sluit PON aan op Vdd.

Sluit PON aan op GND voor normaal gebruik.

Houd de ontvanger ver uit de buurt van tv's, monitoren of andere elektrische ruis en zorg ervoor dat deze naar de DFC77-zender wijst.

Componenten

Lijst met componenten. Dit wordt gegenereerd door mijn schema-tekenprogramma LiveWire, dus het kan zijn dat er geen volledige details worden weergegeven als het component niet in de programmabibliotheek staat, zoals sommige schakelaars. Bekijk het schema voor details of neem contact met mij op.

De LED-kleur kan naar wens worden gekozen, maar zie de LED-sectie voor de daadwerkelijke LED's die ik heb gebruikt.

Stap 8:Bedrading bestellen

Met ongeveer 400 oneven draden om aan te sluiten, is er veel planning nodig om de bedrading in de openingen tussen de modules te passen.

Pas indien nodig aan en bevestig alle kaarten aan de achterkant van de wijzerplaat zodat de bedrading van de kabelboom zichtbaar is.

De dot-matrixborden worden verwijderd en weg van de klok bedraad.

Bedraad de Super Filter-LED's en plaats ze in de wijzerplaat.

Bedraad de DCF77-status-LED's en plaats ze in de wijzerplaat.

De Super Filter en DCF77 Status-LED's zijn via headerkabels aangesloten op het moederbord. Sluit alle LED's op dot-matrixmodule 3 aan en pas ze in de wijzerplaat.

Bedraad van dot-matrixmodule 3 naar het kleine breakout-verobord en bedraad vervolgens weg naar de LED's voor deze module die in de bovenstaande stap zijn aangebracht.

Bedraad de buitenste LED-ring en pas vervolgens in de wijzerplaat.

Bedraad het dot-matrixdisplay van de buitenste ring en laat de draaduiteinden lang genoeg om op de LED's van de buitenste ring te eindigen.

Plaats het dot-matrixdisplay van de buitenste ring terug en sluit de kabelboom aan op de led's van de buitenste ring.

Bedraad de binnenste LED-ring en pas dan in de wijzerplaat.

Bedraad het dot-matrixdisplay van de binnenring en laat de draadeinden lang genoeg om op de LED's van de binnenring te eindigen.

Plaats het dot-matrixdisplay van de binnenring terug en sluit de kabelboom aan op de LED's van de binnenring.

Sluit alle LED's op dot-matrixmodule 3 aan en pas ze in de wijzerplaat.

Bedraad van dot-matrixmodule 3 naar het kleine breakout-verobord en bedraad vervolgens weg naar de LED's voor deze module die in de bovenstaande stap zijn aangebracht.

Bouw header-kabels en sluit ze aan op alle boards.

Monteer het Vero-hoofdbord en sluit vervolgens de bedrading aan op het schakelpaneel. De LDR wordt gemonteerd door de scharnierende houten deur waar het schakelpaneel aan is bevestigd, dus deze is tegelijkertijd bedraad.

Monteer luidsprekers en sluit aan op het Vero-bord met de JQ6500-geluidsmodules.

Als u de juiste maat gaten in de wijzerplaat hebt geboord, zullen alle LED's zonder lijm op hun plaats worden geduwd. Zorg ervoor dat de binnenranden van de LED-gaten zijn bedekt met verf/vernis in de verffase om te helpen bij de wrijvingspassing.

Stap 9:Bedrading Max2719 Dot Matrix Module Modificatie

Voordat draden kunnen worden aangesloten op de MAX 2917-matrixmodules, moeten ze worden aangepast.

Verwijder de Dot Matrix-LED's omdat deze niet nodig zijn.

Twee sets van 8 90°-pins connectoren zullen aan de onderkant van de bestaande LED-matrixconnector worden gesoldeerd.

Gemodificeerde MAX7219-module met 90 ° pinconnectoren die op hun plaats zijn gesoldeerd aan de onderkant van de oude LED-matrixconnectoren. Draden worden van deze punten verwijderd naar de LED-matrix op het moederbord.

Zijaanzicht met de pinnen die aan de zijkant van de oude LED Matrix-connectorpinnen zijn gesoldeerd, net boven de PCB.

Stap 10:Bedrading Een bedradingsmal bouwen

De mal houdt de LED's op hun plaats met de juiste afstand, waardoor bedrading gemakkelijk weg van de klok kan zijn.

Een bedradingsmal bouwen voor de LED's

Print de wijzerplaat uit op een vel papier. Druk omgekeerd af of leg het papier achterstevoren, want u werkt vanaf de achterkant van de klok. Leg de plaat op een oud stuk hout of melamine. Centreer alle LED-centers en boor met een boor van 3 mm. Het gat moet een wrijvingspassing zijn op de LED's om gemakkelijke bedrading te garanderen. LED's verschillen in diameter, dus maak eerst een paar testgaatjes om de juiste maat voor uw LED's te krijgen.

Voltooide bedradingsmal.

Voltooide Inner &Outer LED-ringen op de mal. Het kan handig zijn om de LED-nummers en andere informatie op de mal te schrijven om ervoor te zorgen dat u de juiste LED's bedraden, aangezien de LED's aan de achterkant van de wijzerplaat zijn bevestigd en tegen de klok in draaien.

Ring van LED's verwijderd uit de mal, klaar om in de wijzerplaat te worden gestoken.

Stap 11:Bedrading LED binnenste en buitenste ring

Het schematische diagram hierboven toont de bedrading voor een sectie van 8 LED's van de buitenste LED-ring.

Duw eerst de acht LED's in de gaten in de mal. Buig alle anodes zodat ze volgens de shematic op elkaar aansluiten en soldeer ze op hun plaats. Een draad wordt later aangesloten op de acht aangesloten anodes van de LED-matrixmodule. Plaats een klein stukje isolatiehuls over de kathodes en buig deze poten vervolgens ongeveer 15 mm van de LED. Snijd ongeveer 5 mm van de bocht en soldeer een kort stuk draad dat lang genoeg is om de volgende batch van acht LED's te bereiken. Zie foto2.

Pic 1 Dit toont een voltooide sectie van 8 LED's bedraad op de mal met draden die leiden naar de volgende sectie van 8 LED's.

Pic 2 Herhaal het bovenstaande proces in batches van acht LED's.

Elke batch van acht LED's heeft zijn eigen aparte anodeverbinding met de dot-matrixmodule. Acht in totaal.

Pic 3 Buitenring-LED's voltooid samen met de 16 draden die zijn aangesloten op het dot-matrixdisplay.

De LED's worden vervolgens in de gaten in de wijzerplaat geduwd en de matrixmodule wordt terug op de wijzerplaat bevestigd. Eenmaal op hun plaats zijn de 16 draden van de dot-matrixmodule verbonden met de buitenste ring-LED's. Dit proces wordt herhaald voor de binnenste LED-ring.

De 16 draden van de dot-matrixmodule zijn klaar om te worden aangesloten over de 8 sets van 8 LED-secties. Let op de 8e set heeft slechts 4 LED's. Het volledige schema van 4000x4000 is hier te zien.

De LED's

Ik heb Vishay TLH44 serie High Efficiency LED's gebruikt in een Ø 3 mm getint diffuus pakket

OMSCHRIJVING De TLH.44.. serie is ontwikkeld voor standaard toepassingen zoals algemene indicatie- en verlichtingsdoeleinden. Het is gehuisvest in een 3 mm getint diffuus plastic pakket. De brede kijkhoek van deze apparaten zorgt voor een hoog aan-uit contrast.

Er worden verschillende selectietypes met verschillende lichtsterkten aangeboden. Alle LED's zijn ingedeeld in lichtsterktegroepen. Dat stelt gebruikers in staat om LED's samen te stellen met een uniforme uitstraling.

KENMERKEN

• Standaard Ø 3 mm (T-1) pakket

• Kleine mechanische toleranties

• Geschikt voor DC en hoge piekstroom

• Brede kijkhoek

Foto 1-4 hierboven toont de LED-kleuren en de onderstaande foto toont de tabel met de daadwerkelijke onderdeelnummers.

12:Bedrading 3e Dot Matrix-module

Bedrading van de 3e Dot Matrix-module

Deze module heeft slechts 24 LED's aangesloten van de 64.

De dag van de week LED's op de 1e sectie van 8 LED's (slechts 7 aangesloten)

De 2e van 8 LED's zijn CEST, CET Leap Yr, RTC Error, Synced, Error Period en Error Pulse Width (slechts 7 aangesloten)

De 3e van 8 LED's zijn Buffer Full, Parity 3 to 1 pass and fail en Buffer Oveflow (alle 8 LED's aangesloten)

De 4e van 8 LED's bevat slechts 2 LED's Minute marker en DCF77 Status

Ik had gewoon 3 sets van 8 LED's kunnen gebruiken, maar het gebruik van 4 sets maakte de bedrading eenvoudiger.

Deze LED's zijn bedraad op de bedradingsmal en vervolgens verbonden met een klein Vero-bord waar ze zijn verbonden met de Matrix-draden. Merk op dat dit bord ook dienst doet als houder voor de RTC.

Stap 13:Schakelpaneel bedraden

Het schakelpaneel klapt naar beneden onder de klok die aan de achterkant van de toegangsdeur is bevestigd. De bedrading is direct op het moederbord gesoldeerd en bevat de bedrading voor de LDR.

Schakelpaneel

Schakelpaneelbedrading in uitvoering

Schakelpaneel met voltooide bedrading getoond, gemonteerd op de deur aan de voet van de klok

Voltooide bedrading met de kabelboom voor de schakelaars die van het moederbord naar beneden kronkelen. Het schakelpaneel wordt opgevouwen in de klokkast weergegeven.

Stap 14:Chime en Tick Tock-geluiden op de JQ6500

Deze klok maakt gebruik van 2 x JQ6500-modules, één voor het tik-takgeluid en één voor de kwartier- en uurklokken. Het tik-takgeluid wordt door hardware bestuurd en de klokken worden door software bestuurd.

Gong Circuit

Schakelaar SW7 is een vergrendelingsschakelaar met 3 standen. De module wordt bestuurd via seriële hardware-pinnen 13 &14 op de Arduino. Let op de 1K-weerstand op het ontvangstcircuit. Zie hoofdschema. Uit - de JQ9500 is uitgeschakeld en de 24/7 /timer-pin wordt hoog gehouden om te voorkomen dat de Arduino-pin 24/7 blijft zweven - De gong klinkt de vier kwartalen en de uren 24/7 Getimed - De vier kwart en uurklokken klinken alleen van 05:15 tot 23:00 uur. (in code gezet) Het volume wordt softwarematig ingesteld via de Arduino en de Chime Volume omhoog of omlaag schakelaar.

Tick Tock Circuit

Dit is hardwarematig bestuurd rechtstreeks naar de JQ6500 Switch SW6 Tick On/Off verwijdert gewoon de stroom van de JQ6500. Tikvolume SW8 is een 3-weg centrale vergrendelingsschakelaar. Door de schakelaar omhoog of omlaag te bewegen, wordt het volume ingesteld via de ADKey-pin op de JQ6500. Het commando om het tik-takgeluid af te spelen komt elke 2 seconden binnen vanaf de Arduino. Het geluidsbestand moet korter zijn dan 2 seconden. Diode D15 isoleert de ADKey van de Arduino-uitgang.

Stap 15:Sprekers

De geluidsmodules zijn elk verbonden met een 3W 8Ω-luidspreker die aan de zijkant van de klokkast is bevestigd. Deze zijn per paar verkrijgbaar bij Amazon.

Deze foto toont de luidsprekerlocaties in de klokkast. Let op het omhooggeklapte bedieningspaneel aan de onderkant van de klok.

2 luidsprekerroosters bedekken de luidsprekers en waren ook van Amazon

Linkerkant van de klok met de locatie van de luidspreker. Dit wordt herhaald aan de andere kant.

Klok in fotolijststijl met de luidspreker aan de rechterkant.

Stap 16:JQ6500 Geluidsbestanden laden

Uw geluiden moeten op de JQ6500-module worden geladen.

Zie deze sites voor info en Arduino-bibliotheken voor deze modules.

Arduino Bibliotheek JQ6500_SerialAlgemene infoJQ6500 tools

Normaal gesproken is de JQ6500 voorgeladen met een muziek-uploadprogramma dat wordt geladen bij verbinding met uw pc (werkt niet op MAC's!). This is in Chinese there are instructions on my site here showing how to use the Chinese version.

My JQ6500s came without a loader program so I downloaded an English version from Nikolai Radke

You can get the zip file from here English Language MusicDownload.exe v1.2a

JQ6500_English_MusicDownload_V1_2a.zip

I just run this file from windows (no need to install it) and it runs in English see details below.

Insert your JQ6500 into PC via USB.

When the file is run this window will open. Click FILES

Click CHOSE FILES and shift select all the files you want to be copied to the module. Note make sure your files are named as below.

1 to 12 are the hour chimes. 13 to 16 are the quater chimes and 17 is the test chime used when setting the chime volume using the Chime Volume Switch.

Click OPEN above then click on the FLASH tab.

Click on FLASH and you should get a message saying FILE PROCESSING It the files will fit on the module the message will change to FLASHING RUN and a green bar will show progress.

When flashing is completed the message will change to READY......You can remove your module and plug it into sound board on the clock.

Repeat this for the Tick Tock sound (1 file this time) on the 2nd module.

Sound files are enclosed. I mixed these sound files up on Audacity pic 4 at 48KHz sample rate the max quality the JG6500 board can handle. The chimes were mixed on multiple channels to get the real harmonics then mixed back down to a single channel for the JQ6500.

bell.zip tick_tock.zip

Step 17:JQ6500 Library Modification

Modify the JQ6500_Serial.cpp file in your Arduino libray folder

Using the standard library every time a chime is played the library waits in case there is a reponse. This wait causes the clock run out of sync and any received data errors until the next minute.

I found this on google and is a reply from the author of the library. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Before sending a command, the library waits for up to 10ms to see if there is any left over data from the device... https://github.com/sleemanj/JQ6500_Serial/blob/ma... after sending the command the library waits for a response for up to 1000ms

https://github.com/sleemanj/JQ6500_Serial/blob/ma... and after that it will wait at least 150ms while reading the response

https://github.com/sleemanj/JQ6500_Serial/blob/ma... since in the case of playFileByIndexNumber you don't need a response at all

https://github.com/sleemanj/JQ6500_Serial/blob/ma... you could perhaps get away with adding if(!responseBuffer &&!bufferLength) return;immediately after the last command byte is written (currently line 263 of JQ6500_Serial.cpp)

https://github.com/sleemanj/JQ6500_Serial/blob/ma... that should reduce the time required to about 10-20ms probably.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

After adding the line after line 263 if(!responseBuffer &&!bufferLength) return; the clock worked fine.

Step 18:Modify the Real Time Clock RTC

Modification of DS3231 AT24C32 I2C Precision Real Time Clock Module

My clock uses a DS3231 AT24C32 I2C Precision Real Time Clock Module.The module comes supplied with a Lithium-Ion rechargeable battery see pic 1. I use a non rechargeable battery so have removed resistor R5 from the module as pic 2.

Step 19:Dial Construction Drawing

The dial requires oround 700 seperate drilling operations and numerous aounts of cutting and filling to complete.

I don't have a CNC machine so it was all done by hand.

The dial was drawn up on a Cad program (TurboCab) pic 4 and printed out onto injet water slide decal paper.

This shows a close up of dial printing with 3mm LEDs to give an idea of scale. The quality from the water slide decal paper is very good far better than my old ink jet can print.

The enclosed zip file contains the dial picture in various file formats including a 4000x4000 png file.

Contact me for other file types!

TurboCad_Drawings.zip

Step 20:Dial Construction Cutting Out &Drilling

The dial is cut from 1.5mm thick alluminium sheet as it has to carry the weight of all the electronics and wiring.

Make a template by printing out the dial from your CAD program onto A3 paper.Make sure it has center marks for the LED holes and also the cutouts for the 7 segment LED displays.

Carefully cutout the 7 segment display openings on the template with a craft knife.Place the template on the alluminium sheet and tape it down to stop it moving. Center punch all the center marks for the LEDs and draw around the openings for the 7 segment displays with a marker pen.

Remove the template to reveal the cutting/drilling marks on the alluminium sheets protective film.

Draw a circle the size of your dial with a compass using the center punch mark from the DCF77 symbel LED as a center point.

Cut out the circle with a hacksaw/jigsaw or bandsaw fitted with a metal cutting blade.

Cut out the 7 segment display openings with a coping/jig or fret saw. Take your time with this as it will save a lot of filing later.

Drill out all the holes for the LEDs. I start with a 1mm bit then a 2mm and then finally a 3mm bit.

This leaves the LEDs a friction fit once the paint and varnish is applied to the dial.

Mark center punch and drill 3 or 4 dial mounting holes.

With the holes drilled the protective film can be removed from the alluminium sheet and the dial rubbed down to remove all rough edges.

This will also give a good key for the paint.

Prime and paint with acrylic paint then a coat of matt varnish. Antique White looks better on old dials or use pure white on modern dials.

Step 21:Dial Construction Applying the Dial Transfer Decal

Water slide decals are printed out on special paper on an inkjet printer. Once dry they are soaked in water then slid into place.

They give a very detailed print and once given a coat of varnish are tough. Don't forget to order transparent tranfers so the dial colour can be seen through the transfer. Follow the instructions with the pack as they do vary.

On my transfers I print out the dial on transfer paper let it dry and then cut it out to just under the size of the dial. I then give it a coat of acrylic varnish. When the varnish is dry the transfer is soaked in water until the transparent transfer comes away from the white backing sheet.

Line up the transfer with the dial and slide it over the dial.

Make sure the center dots line up with the center of the holes in the dial then slide the backing sheet back off the transfer.

Carry out any final adjustments then remove any airbubbles.

Allow to dry then apply some clear acrylic varnish to protect the transfer. Once this dries carfully cut away the transfer around the 7 segment display cutouts with a craft knife. Then cut the transfer off all the LEDs hole. I used a leather punch just smaller than the hole. Give it another coat of varnish to seal all the cut edges Leave it overnight to dry.

Search for "Transparent Water Slide Decal Paper A3"

Step 22:Dial Construction PCB/Vero Board Mounts

The PCBs and Vero Boards are fixed to wooden mounting blocks cut from off cuts of timber.These block are glued to the dial with impact adhesive. Follow the instructions on the impact adhesive but normaly you apply to both surfaces leave until tacky then press together for an instant bond that hardens fully over night.

Lower modules in position on the wooden blocks ready to be secured by M2 screws.The main PCB fits on top of the lower 7 segment modules and is raised up on brackets.

JQ6500 sound module board and LED wiring board in place. RTC is mounted on the LED wiring board but connected on the main board.

Main board mounted on custom made standoff brackets.

Step 23:Dial Surround &Back Box Restoration

Dial Surround Restoration

I sourced my clock case from eBay. It had no dial or brass bezal and the rear box was broken.

The original Oak dial surround was covered in a thick coat of varnish and years of dirt.

I used paint stripper to remove the varnish and then wood bleach to get rid of the very dark areas of wood.

The surround was then varnished with matt acrylic to enhance the grain of the wood.

The back box was very badly damaged and had to be screwed and glued back together. I has to fill many hole and cracks in the wood work and decided to paint it matt black.

Step 24:Correcting MAX7219 7 Segment Module Display Errors

The 7 segment modules seem to work fine work fine on their own. However, once you start daisy chaining them together the displays tend to error.

0.39" Display

The datasheet calls for a 10μF and 0.1μ capacitor across the supply rails as close to the MAX7219 as possible.I notice the 0.1μF capacitor is in place but the 10μF capacitor is missing.

Add this capacitor in the 2 holes above the diode D1 on the rear of the display.

There is also a diode in series with the supply rail. When daisy chaining modules all these diodes are in series so the further down the line of modules the more volts are dropped causing display errors.

Remove this diode on each display and replace it with a wire strap.

0.56" Display

Note the black tape over the 3rd and 6th digit tp make colons.

10μF capacitor added to the rear of the PCB on the +&- pins of the MAX7219 IC

The 1N4148 diode is replaced by a wire link.

Step 25:Increasing the Constrast on the 7 Segment Modules

The 7 segment displays traditionally would have a sheet of red perspex to match the LED colour placed over the top of the display. This was designed to hide the not lit segments and provide contrast to the LED segments that are on.

In my clock I have used Neutral Density Heat Proof Dimming Transparent Acetate Sheet ND 0.9.

This hide the not lit LED segments and provides the contrast needed in bright conditions. It has the advantage that it work on all colour LEDs.

My 0.56" modules are a deeper red than the 0.39" modules so I would need 2 different matching red perspex to sheets to work well on both modules.

The acetae shhet is also very cheap the only disadvantage is that it is too flimsy to cover large areas without support.

The picture above shows the effect of the ND sheet. The lit LED segements have more contrast and the unlit LED segments are hidden. It also hides the black tape masking for the colon display.

Step 26:Modification of the RTC Time 7 Segment Display Module to Show Colon Digit Seperators

The standard display only has decimal points to separate the digits and has no colon that would normally be used in a clock display.

In code I have set digits 3 and 6 to always display a "o" lower case o

Black plastic tape is then cut with a craft knife and placed over the 2 digits leaving a small section showing

When the display is on these visible sections now display colons

Step 27:Dial &Case Fitting

The dial is hidden behind a brass bezal. The brass bezal was missing from my clock but I was able to get one from a horological supplier.

The brass bezal is held down by a brass catch set into the dial surround.

With the brass bezal removed you can see the recess cut in the surround for the brass bezal hidge. My new bezal hinge was a differnet shape to the original hinge so I had to cut it in with a chisle at the front and fill the rear in with a piece of wood stained to match the surround.

The dial has been removed showing the dial mounting holes on the wood surround and the wooden back box behind it.

Shows the surround removed revealing the back box construction. The switch panel can be seen folded up above the trap door in the base of the back box.

Shows the side view of the case with dial and wood dial surround locked in place. The dial surround is locked by the same type of catch used to lock the brass bezal in place. Note the small brass screw below the brass tag on the dial bezal. this ensurse the brass bezal lines up correctly with the dial when the brass bezal is closed.

Step 28:Dial &Case Fitting Modern Style Case and Surround

This case uses a large picture frame with a basic square back box to hold the electronics and to hold the dial away from the wall to give it some depth.

Outer frame and glass removed to reveal the thick photomount card over the dial (a thin ply or wood sheet can also be used with a routed edge)

Photo mount removed to show how the dial is fixed to the back plate with 4 small screws.

The backplate holds the dial and has a large circular cutout for the electronics.

It is hinged at one edge to the dial can swing out.

The speakers are mounted on both sides with holes and grills as per the other case.

The switches are mounted on the side in a cutout with the speaker grill above.

Step 29:DCF77 Filter

DCF77 Filter

When switched on the Udo Klein's Super Filter actively processes the incoming DCF77 signal from the antenna/receiver. After a few minutes of sampling the DCF77 signal the Super Filter will predict the DCF77 signal and use this to determine if the incoming signal contains any errors. The Super Filter will then synthesize a corrected DCF77 signal even if the signal is absent.

Super Filter Mod See the schematic. I have modified the Super Filter Code to add extra monitor LEDs. In order to do this I have removed 4 modes from the filter just leaving sythesized and inverted sythesized.

Note the PWM LED brightness control is via the Arduino controlling the DCF77 decoding not the Super Filter Arduino. I have also added an LED test to the Super Filter to Match the LED Test on the main clock. This activates on reset or power up. On power up the Supe Filter LED test starts and finishes then the main clock LED terst starts.

The filter will lock onto the DCF77 signal even if the signal is really noisy. As days progress the filter uses the incomming DCF77 signal to adjust the Arduino crystal frequncy.

This means the filter will stay in time even if the DCF77 signal is lost for many days. In my clock the DCF77 signal is alway fed to the Super Filter Arduino even if the DCF77 Source switch is set to off. This allows the Super Filter to stay in sync and keep adjusting the quartz crystal from the Arduino.

Filter On lights when the DCF77 Source switch is set to FILTER and means the Super Filter is decoding and synthesizing the DCF77 signal

DCF77 Filtered the DCF77 Synthesized signal comming out from the Super Filter

DCF77 Signal the DCF77 signal comming direct from the DCF77 receiver with no filter applied

Signal Difference the differnece between the incomming DCF77 signal and the Synthesized signal. In normal operation this will flash as the received signal shape is often slightly “wider” than the synthesized signal.

Filter Syncronized best possible quality, clock is 100% synced

Filter Locked clock driven by accurate phase, time is accurate but not all decoder stages have sufficient quality for sync

Sync Lost <200mS clock was once synced, inaccuracy below 200 ms, may re-lock if a valid phase is detected

Sync Lost>200mS clock was once synced but now may deviate more than 200 ms, must not re-lock if valid phase is detected Signal Dirtytime data available but unreliable Signal Bad waiting for good enough signal

More details on some of the above

Filter Syncronized - Timing is completely locked to DCF77 and the data is most up to date.

Filter Locked - If the quality factor of the decoder stages drops but the quality factor of the phase decoder stays high enough the clock will transition into the state locked. In this state it is still phase locked to DCF77 but it may become out of sync by a second but only if a leap second is transmitted.

Sync Lost <200mS - This indicates that the quality factor of the decoder stage and the quality factor of the phase decoder have dropped. In this state the timer relies on the quartz crystal timimgs and the clock will slowly drift out of phase with the DCF77 signal. This is a warning that the clock may be running slightly out of sync.

Sync Lost>200mS - Once the clock has started to drift out of phase for more than a set period of time (depending on the tuned accuracy of the quartz crystal) then this LED will light

Animation showing filter synchronized

Super Filter example

The top row shows the Super Filter turned on. Once synchronized and tuned into the signal the Super Filter will synthesize a good signal even when the signal is completely lost. On a noisy signal the Super Filter will search for known signal bits and keep itself synchronized to the transmitter. The bottom row shows the Super Filter turned off. Whatever signal is received (good or bad) is sent to the decoder.

Super Filter correcting a noisy signal as displayed on the DCF77 Scope included with the DCF77 library.

Normal Signal No super filter - Normal signal from the DCF77 reciever Noisy

Signal No Super Filter - The aerial is moved near a LCD screen to generate noiseover the signal

No Signal- The aerial is disconnected and moved connected via the super filter

Noise On Superfilter On- The noise is filtered out leaving a perfect signal.

Super Filter turned Off and a bad signal the clock errors and will reject this minutes data.Note the DCF77 Filtered LED pulses as normal but as the Filter is turned off the filtered signal is not fed to the clock's decoder.

Super Filter turned On and a bad signal the clock has no errors and the clock is able to decode the data as normal.Note the DCF77 Filtered LED pulses as normal and is fed to the clock's decoder

Step 30:DCF77 Time Code

This picture shows the dial code as it is displayed on my dial and allows you to read the incomming DCF77 signal.

Step 31:Code

There are 2 seperates codes to download one for the Superfilter and one for the Analyzer part of the clock.

DCF_77_ANALYZER_CLOCK_Mk2_43.zip Superfilter07DCF77AnalyzerMK2.zip

Code

  • DCF77 Decoder Code
  • Super Filter Code
DCF77 Decoder CodeArduino
This is the code loaded onto DCF77 analyzer Arduino
No preview (download only).
Super Filter CodeArduino
This is the code loaded onto DCF77 Super Filter Arduino
No preview (download only).
Github
https://github.com/sleemanj/JQ6500_Serialhttps://github.com/sleemanj/JQ6500_Serial

Aangepaste onderdelen en behuizingen

CAD files for the dial and dial template in CAD formats and also picture files turbocad_drawings_TESmpq119g.zipSound files for loading into the JQ6500 module for chimes bell_wYLvJG1pUl.zipSound files for loading into the JQ6500 module for tick tock sound tick_tock_FLj9XHTJoB.zip

Schema's

This is the main board schematic This is the schematic to show the MAX7219 dot matrix module wirng to the LEDs This shows the wiring for the MAX7219 7 segment display modules

Productieproces

  1. Koekoeksklok
  2. Arduino pov vision-klok
  3. DIY eenvoudigste IV9 Numitron-klok met Arduino
  4. Eenvoudige wandklok met Adafruit 1/4 60 Ring Neopixel
  5. Eenvoudige Word Clock (Arduino)
  6. Arduino klok met islamitische gebedstijden
  7. Arduino Spybot
  8. Hoofdklok
  9. Arduino Temp. Monitor en realtimeklok met 3.2-weergave
  10. 7-segment arrayklok
  11. Eenvoudige wekker met DS1302 RTC