project beschijving (Toestel of techniek)
Hallo forum lezers.
Na diverse klokken gemaakt te hebben met alleen datum/tijd was het nu tijd om iets te doen met de meegestuurde weersvoorspelling. Deze weerberichten worden (zwaar) gecodeerd meegestuurd. Ik heb gekozen om het signaal zelf te decoderen en maak daarbij gebruik van de programmeertaal basic.
In totaal had zijn er 4700 programma regels gemaakt.
Het DCF-signaal geeft per seconde een digitale 1 of 0 door de maximale tijd hiervoor is 200 ms. Per seconden is er dus 800 ms beschikbaar voor decoderen en presentatie. Als processor is de AT MEGA M644P gebruikt. De processor heeft 4* 8 poorten.
Het gecodeerde signaal komt binnen via 14 ongebruikte seconde. Drie van deze blokken vormen een bericht voor een land/stad. Na decodering zijn dit 21 bits met een weersvoorspelling.
Er worden berichten/voorspellingen gemaakt voor de dag/avond en dat voor 4 dagen. Het aantal landen waarvoor weerberichten gemaakt worden is 59.
Na 24 uur is er voor een land alle benodigde berichten binnen. Dus voor de dag/avond en voor 4 dagen. Is een bericht van Nederland fout dan wordt de voorspelling van de dag daarvoor gebruikt. Alle fout ontvangen berichten worden opgeteld en op een scherm weergegeven. Zo kan de kwaliteit van de ontvangst bepaald worden.
Hoe de codering/decodering plaats vindt, kan ik niet vertellen ik denk dat daar copyright op van toepassing zijn. Ik zal dus ook mijn programma nooit publiceren.
Als display heb ik gekozen voor (al weer) een antiek soort van Siemens type DL2416T. Totaal zijn er 28 displays met 4 karakters gebruikt. De 3 *4 karakters op de eerste regel geven de menukeuze weer. Op de overige regels komen de resultaten. Als alle karakters aan zijn dan loopt er 1,5 A bij 5 Volt. Na 3 minuten wordt het display automatisch uitgeschakeld om het stroomverbruik te beperken.
De 28 displays zijn in een matrix met elkaar doorverbonden en worden, via rij, kolom, karakter, aangestuurd met 28 poorten van de microprocessor.
[img]images/uploaded/2014020416430852f10a8c0c753.jpg[/img
Rechts van de 3*4 karakters op de eerste rij zitten twee touch toetsen. Hiermee kan je naar voren en achteren bladeren in het menu (12 mogelijkheden).
Uiteindelijk komt er een verstrooischerm voor het display de touch toetsen werken door dit scherm heen. Bij benaderen van een touch toets licht de LED in het midden van de toets op.
Om de zaak praktisch te houden komt bij de eerste menukeuze naar achteren het overzicht van de maan en zon opkomst tijden op het display.
Is gekozen voor Zon en maan tijden dan verschijnt de opkomst en ondergang tijden van de maan en zon. Deze zijn gebaseerd op de coördinaten waar ik woon. Ook de zichtbaarheid van de maan in % wordt weergegeven. Deze programma onderdelen heb ik niet zelf geschreven maar vertaald van C-programma’s naar Basic.
Bij een tweede keuze naar achteren komt de huidige datum/tijd.
Bij de eerste keuze naar voren komt de weersvoorspelling voor de dag en daarna de avond en daarna morgen, etc. zie de foto’s aan het eind van dit verhaal
De processor kijkt tijdens de eerder genoemde beschikbare tijd van 800 ms of er een toets is ingedrukt. Is er nog voldoende tijd over dan wordt de gehele taak uitgevoerd, anders wordt alleen de menutekst geplaatst en wordt gewacht op de volgende seconde om de rest uit te voeren.
De ontvangst kwaliteit is bij het DCF signaal erg belangrijk. Bij de presentatie van de klok/datum kan je nog wel iets bedenken (via een software klok) als de ontvangst een paar minuten fouten heeft ontvangen.
Bij het verzamelen van het weerbericht voor een land (bijvoorbeeld Nederland) is een ontvangen fout een stuk ernstiger. Immers verdeeld over de dag komen er 8 berichten. En bij foute ontvangst moet je 24 uur wachten voor het volgende bericht.
Bij vorige klok ontwerpen werkte de ontvanger nooit in de omgeving van de klok. Er kwamen vaak te veel stoorsignalen van bijvoorbeeld de nixiebuizen af. Ik had gehoopt dat dit met het LED-display wel mee zou vallen maar helaas! In ieder display-IC zit een oscillator en totaal is er zoveel straling dat de DCF-ontvanger daar last van heeft.
Experimenten met een ontvanger/zender op 445 MHz zijn mislukt. Dus ergens op een goede plaats voor de DCF-ontvanger een koppeling met een 445MHz zender. En de 445 ontvanger in het weerstation. Helaas blijken de 445MHz zender/ontvanger niet goed te kunnen werken met lage data snelheden.
Ik heb nu twee wireless module 2,4 GHz transceiver besteld. Deze modulen moet je aansturen met een microprocessor en er zijn dan veel mogelijkheden voor data overdracht. Misschien wordt dat de oplossing. Dus ergens een goede plaats voor de DCF-ontvanger en via 2,4GHz overal in huis via kleine ingebouwde 2,4GHz weer het DCF-signaal storing vrij ontvangen
Hierna zie je de overige plaatjes van de menukeuze:
Bij de weersvoorspelling komt op de onderste regel eventuele extra waarschuwingen te staan zoals: zware storm/ straling,etc.
Menukeuze weervoorspelling vandaag
Menukeuze weervoorspelling vanavond
Menukeuze weervoorspelling morgen
Menukeuze weervoorspelling morgenavond
Menukeuze weervoorspelling woensdag
Menukeuze weervoorspelling woensdagavond
Menukeuze weervoorspelling donderdag
Menukeuze weervoorspelling donderdagavond
De laatste twee menu keuzen zijn eigenlijk alleen nodig geweest tijdens het bouwen.
Je kan de kwaliteit van het DCF-signaal mee bepalen en de werking van de decoder controleren.
Menukeuze DCF-ONTV_STA
Dit display geeft een beeld van de ontvangstatus.
2e regel:
Voor een weerbericht zijn altijd 3 aaneengesloten blokken van 14 bits nodig. Lukt dit niet dan is er een blokfout (BLK).
3e regel:
Bij iedere minuut wordt een pariteitcontrole uitgevoerd. Bij de rij PAR worden de goede en fouten pariteit waarde geteld
4e regel :
Een foute pariteit zal ook een CRC fout tot gevolg hebben (fout in één van de 3*14 bits) voor het gedecodeerde weerbericht. In de Rij CRC worden de fouten en goede CRC geteld.
5e en 6e regel:
In de rij daaronder zie je de dagen (MA,DI, etc.) waarvoor de decoder voor Nederland de juist (J) of fout (0) waarde gevonden heeft. Is er een waarde van de vorige dag beschikbaar dan staat er een (G). Menukeuze CONTRO-GETA
2e tot 5e regel :
Op dit display zijn de gedecodeerde 22 bits waarde in HEX te zien voor alle weerberichten.
Met vriendelijke groet,
Loek
Complete draad:
- project beschijving -
loek,
04-02-2014, 16:04
- project beschijving -
Maarten Bakker,
04-02-2014, 17:07
- project beschijving - franshack, 04-02-2014, 17:31
- project beschijving - Sietze Osinga, 04-02-2014, 18:07
- project beschijving -
petrus bitbyter,
05-02-2014, 08:34
- project beschijving - Maarten Bakker, 05-02-2014, 10:46
- project beschijving - loek, 05-02-2014, 18:32
- project beschijving -
Maarten Bakker,
04-02-2014, 17:07