19/02/2018
rev 05/05/2021

Modification Horloge 6 digits, basée sur un AT89C2051


Voir Programmateur 18F46K22 en C, pour AT89C2051
Hardware Horloge SH -E-878 6 digits à base de AT89C2051
Test commande et chainage des CD4015, interface 60 leds
Logiciels de programmation AT89C2051
Nouvelle programmation AT89C2051 pour Horloge avec MikroC 8501
Design Horloge en Raytracing . (30/03/2018)
Cablage et Montage Hardware de l'Horloge modifiée (07/06/2018)
+ protectioon plexiglass
l
ien sur Horloge PIC18F26K22 ..avec RTC


 


BUT :
Modifier une HORLOGE SH E-878 equipée d'un AT89C2051
pour commander un interface Hardware pilotant 60 leds ,indiquant les Secondes

HARDWARE :

Schema original modifié :
rev 23/02/2018
images/t_Horloge_Paul_6digits_Schema_et_links_180223.gif

Achetée sur ALIEXPRESS (mais dispo aussi ailleurs!)
HORLOGE 5 V-12 V AT89C2051 6xLED SH-E 878 LP063367754GB Numerous Creation Store 3,85€
Achat aussi de 5 MCU AT89C2051 pour 2,82 € .. la ruine !

L'horloge avec le MCU original :

images/t_Horloge_SH_E_878_Photo_180212.gif

Le regulateur 78L05 n'est pas monté, strappé, car usage alim exterrne 5V (direct)
Les diodes leds D1,D8 ne sont pas installées
Les diodes Leds D2,D4,R2 restent en place = charge de la sortie P1.7 qui sera affectée à pulse 1HZ.= avance du compteur 60 leds
Le Buzzer n'est pas monté, car il est recupérée pour faire office de RAZ pour le compteur 60 leds.
ATTENTION:
Circuit imprimé FRAGILE .. 3 pistes coupées à ras la pastille recevant une resistance..
Bien plaquer les resistances sur le circuit .. rajout de colle .
C'est maintenant plus chiant avec la soudure sans plomb !

l'AT89C2051 livré avec l'horloge :
La lecture du programme ne m'apprendra RIEN du tout , car Locké !!:

Terminal log file
Date: 11/02/2018 - 15:47:47
-----------------------------------------------
Waiting input 3

SIGNATURE BYTES

1E ATMEL DEVICE
21 89C2051
FF
POWER DOWN
Waiting input 1

CODE DATA :
0000 FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC
0010 FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC
... etc ...
07E0 FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC
07F0 FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC
POWER DOWN

-----------------------------------------------
Date: 11/02/2018 - 15:48:12
End log file

Le programme MCU doit etre verrouillé par les Lock Bits ..
Mais il faut effacer le programme pour deverouiller le MCU .. sniff
Je vais donc repartir de zero , et m'interesser à la programmation 8051 ..
donc un NEWBIE en la matiere
Le but est de garder les memes fonctions, secondes,minutes,heures, issue d'un timer interrupt 4mS,
pour assmer aussi le multiplexage des 6 afficheurs , en 6x4=24mS , periode de rafraichissement
mais surtout : rajouter une sortie 1Hz et une sortie RAZ
pour gérer ensuite le Hardware pilotant les 60 leds affichant les "Secondes" avec 8 x CD4015.




SOFTWARE :


Logiciel :
Essai préalable de differents logiciel de programmation :

*ASEM51 programmation en ligne (connecté au Web) , rine à charger sur le PC
outil tres agreable et performant pour ecrire en assembleur , delivre un fichier HEX directement chargeable.

*KEIL version 5 , ce serait un tres bon outil, si je pouvais charger une vieille version UV2 ou UV4 ,
permettant de mieux traiter le VIEUX AT89C2051 ..

* uC51 : un ensemeble d'outils simples , mais performant , permettant de programmer en ASM ou C.
dispose d'un Simulateur 8051 avec P0,P1,P2,P3 .. trop uptodate pour le AT89C2051, mais tres utile pour de petits tests.

*MikroC 8051 .. pour garder un environnement connu (MikroC Pro for PIC )
Quelques difficultes d'adaptation .. 1er test allumer 3 leds ..problematique
Il faut une definition Rudimentaire des E/S (limités à 8 bits E/S sur P1 et à 7 bits E/S sur port P3 !)
L'exemple proposé par mikroC, ne marchait pas ..prevu pour un 80C51 !
usage de #define au lieu de sbit .
Mon choix final se porte naturellement ur MikroC for 8051 ,
gratuit jusqu'à 2K de code = le maxi du AT89C2051. ( j'ai aussi MikroC Pro à 250 boules !)
sinon, il me faudrait apprendre tous les codes mCU AT89C2051,
et j'ai déja donnée avec les PIC .. et leur predecesseurs !


Application MikroC:

1er test :
allumage segments sur les 6 afficheurs ...
table de definition 7 segment :
NE PAS UTILISER l'outil 7 segment de MikroC
feuille excel => codage modifié pour adapter à ce hardware .

images/t_Encodage_7seg_Digit_Horloge.gif

de plus : logique négative ( un zero allume le segment, un zero selectionne le digit)..OK
2) test IRQ :
Interruption Timer1
quelque galère ..mais finalement ..OK
3) test Gestion S,M,H
.. affichage ..OK
4) test Sortie 1Hz
sur P1.7
sans interferer avec les segments (sur 7 bits du port P1) .. OK
5)test sortie RAZ
... au passage de 59sec à 0 sec => top RAZ sur P3.7
galere à cause de problemes Hardware .. coupure piste/pastille... reparée => OK


Check avec analyser SQA IKALOGIC :

images/t_SQA_signal_1Hz_et_RAZ_sur_1minute.gif images/t_SQA_signal_1Hz_et_RAZ_Zoom_RAZ.gif
capture HZ et RAZ sur > 60 sec details TOP 1Hz et RAZ

en vert , signal de commande d'un afficheur (Anode) => taux de rafraichissement des digits


Phase 1/3 :
Le programme Horloge (seule) ,phase 1 :
Projet : _Horloge_SH_E878_Phase1.zip
Source : Horloge_6digits_SHE878_180219.c
Chargeur : Horloge_6digits_SHE878_phase1.hex



La phase 2/3:
Tester le hardware compteur 60 leds .. mais avec 8 seulement.. je n' ai qu'un CD4015 à disposition.
et verifier le sens d'action des pulses 1Hz et RAZ

Test Chainage de 2 CD4015



CD4015 Logic Diagram
Datasheet link

images/t_Tests_Chainage_2xCD4015_180120.gif

details Test 2 CD4015 chainés => 16 leds ..s'allument progressivement de 1 à 16 sec:

avec interface signaux 1hz et RAZ ( 2 Tr 2N2222)

images/t_Test_2_compteurs_CD4015_180326.gif images/t_Proto_Test-2xCD4015.gif
le schema (testé OK sous 5V et sous 12V) le proto en action (Horloge en 5V !!)

au passage de 59 à 00 secondes, les 8 leds sont eteintes, puis s'allument progressivement
au rythme des secondes .. arrivé à 8 ..restent ensuite allumées , jusqu'au prochain passage de 59 à 00..

Suite au test, Modif du programme pour inversion sens pulse RAZ ,
de sorte à ce qu'elle soit disponible sur la sortie ex-Buzzer , plutot q'en sortie MCU.

video : Test_chainage_2_xCD4015_1Hz_et_RAZ.webm


ATTENTION :
=> modif SOFT : Inversion des signaux Hz et RAZ dans le programme .. puisque l'etage interface transitor, inverse le sens d'action ..

rappel : schema Horloge
* infos 1Hz et RAZ sur la carte Horloge

images/t_HORLOGE_modifie_Links_1Hz_et_RAZ.gif

nota: j'ai repéré mes differents MCU avec une pastille de couleur (ici BLEU)
Version Horloge avec sorties RAZ et HZ (sans la mise à l'heure par les switches )
source: Horloge_6digits_SHE878_BLEU_180220.c
chargeur : Horloge_6digits_SHE878_BLEU_180220.hex

Modification :
Pour version alim. 12V des CD4015 ( pour piloter 3 leds en serie sur chaque sortie ) :

Necessite une adaptation des niveaux CMOS 5V => pour une commande en 12V
Circuit imprimé (realisé par Geamel)
le 2N2369 peut etre remplacé par 2N2222 (NPN)

images/t_CI_CD4015_60leds_Geamel.gif
modif pour niveaux 12V Circuit Imprimé Cde pour 60 leds conçu par Geamel



La phase 3/3:
Gerer les 3 switchs S1,S2,S3 pour la mise à l'heure HH et MM de l'horloge.
(Les secondes seront remises à zero )
J'envisage d'utiliser S1 switch sur P32 pour entrer dans un mode "Mise à Jour de l'horloge",
puis SW2 pour incrementer les Minutes et SW3 pour incrementer les Heures .
.. c'est fait :

Mise à Jour Horloge via les 3 switches
S1 (à droite) appuyé pendant 2sec permet d'entrer dans le mode de reglage
les secondes continuent de s'afficher
S2 incrementer les minutes
S3 incremente les heures

il sufiit de ne rien toucher pendant ~20 secondes pour voir l'affichage s'eteindre rapidement
et se reafficher avec les HH MM reglées avec Secondes = 00
S2 et S3 sont alors redevenus inopérants .



SOFTWARE :
Projet complet (tourne OK mais trop d'erreur de comptage) :_Horloge_SH_E878_180223.zip
voir Correctif du 07/06/2018


L'editeur de texte Notepad ++ permet de lire facilement les fichier intel HEX !



log (sur terminal) d'un chargement de programme (*.HEX) :
Horloge_6digits_SHE878_ATMEL_JAUNE_180223_c.log

autres détails :
sur posts FuturaScience

.. je vais pouvoir démonter mon prototype de programmateur AT sur breadboard ... et ADIEU AT89C2051 ..




Cablage et Montage HARDWARE :


*** En option :
L'adaptation pour gros afficheur 7 segments , en 12V

Schema:

images/t_Schema_Interface_Horloge_vers_BIG_afficheurs.gif images/t_Geamel_CI_CD4015_et_Afficheurs_180329.gif
schema de principe, circuit 60leds + gros afficheurs conçu par (c) Geamel

Les switches ,sur le schema, representent les état 0 ou 1 des sorties MCU AT89C2051 ..commande segment et commande Anode
voir plus haut ,le schema original de l'horloge (non modifiée) ,


Préparation carte interface de commande des 60 leds ( avec 8 CD4015 )
Mise en place des 41 straps
des7 condos 100nF, et 2 de 47µF sur les rails d'alimentation.

images/t_Micro_Atelier_180330.gif images/t_Montage_etape_1_180330.gif
micro atelier ! les straps et condos en place

A suivre ...

Preparation du SUPPORT Horloge :

Utilisation du Raytracing pour elaborer le projet.

Le Support d'horloge = 1 plateau de dessous de POT de fleurs. de 260x260 mm
Les 60 leds sont sur un diametre de 200 mm . (centré sur la "punaise " !)
Essayez de disposer d'une façon réguliere 60 leds sur la circonférence ... essai avec compas et rapporteur ...trop CHIANT !
J'ai donc imprimé la vue de face , de MORAY ( image de synthese) qui est ajustée pile poil , pour pouvoir faire le percage ,
avec le maximum de precision..
Toutes les leds feront 3,5mm (percage à 3,5mm) pour rentrer en forcant .
Je compte mettre un fil de cuivre 1,5mm² (en O ring ), autour des 60 leds = Commun 0V.
donc Cablage Cathode led direct dessus.

../RAY/images/t_Projet_Ray_Horloge_Face_180325.gif images/t_Montage_Gabarit_percage_180331.gif
Etude: Image raytracée depuis POVRAY Gabarit de percage = issu de MORAY

Ces afficheurs remplacent les afficheurs double (originaux) de hauteur 9,1mm

Nouveau des Nouveaux Afficheurs 20mm

images/t_Montage_Percage_decoupe_180331.gif images/t_Adaptation_Nouveaux_Afficheurs_20mm.gif images/t_Montage_Cablage_new_afficheurs_180401.gif
Percage et decoupe pour 6 afficheurs 20mm correspondance de cablage 6 x7 segments et 6 anodes reliées..en fil à fil

..Apres demontage des anciens afficheurs doubles de 9,1mm, sur la carte Horloge AT89C2051..

C'est un montage de RECUPERATION , je vous l'accorde : un nouveau circuit imprimé eut été plus mieux bien ..

pas facile suivant la qualité du fil .. test avec
fil etamé 0,2mm .. tres dificile à dénuder ( isolant kynar) , et fil trop cassant ,
fil emaillé 0,15mm .. brûler le vernis .. moins facile à souder , car non pré-étamé,
fil à wrapper 0,12mm ..facile à dénuder avec l'outil "denuder" , facile à enrouler autour de la pin Afficheur et souder .
La luminosité est plus que confortable .. un peut trop forte d'ailleurs ..
Apres recablage de chaque digits , .. test Horloge OK

images/t_Montage_Horloge_running_180402.gif

En attendant, je passe commandes pour la partie carte interface Leds,
du fil souple multibrins 30AWG pour le cablage des leds ., car le fil rigide à wrapper est trop CASSANT..
3x 10 m/lot UL 1007 30AWG 10 Couleurs Fil Électrique Câble ligne Étamé Cuivre PCB Fil RoHS UL.. 6.06€
de 50 Resistances de 2 K (si 1 seul led rouge en serie => 1,75mA mesuré )
et de 30 Resistances de 1K (si 2 leds en serie : 1 rouge + 1 orange => 1,7mA mesuré)
3x Ensemble 600 pcs 30 Genre x20 1/4 W Résistance 1% Metal Film Resistor Assortis .. 9,16€

images/t_Horloge_Montage_95_Leds_180416.gif
Yeux en place ! ..leds ..en cours de montage 12+1+12=1+60+9= 95 leds installées connectées


Cablage 1 ere partie ,
23/04/2018
pour validation de la carte interface CD4015

Montage en cours, à cette heure ci , j’ai soudé les 60 resistances
j’ai 1K pour les endroits ou j’ai 2 leds en serie : led rouge + led Orange (les 2 yeux et le sourire) , et 2K pour led seules .
Je n’ai cablé pour l’instant que les 12 premiers leds et les 4 dernieres .

images/t_Horloge_Montage_1er_test_180423.gif


Mise sous tension :
Au début je n’affichais rien coté Leds, bien que la partie HORLOGE 7seg soit OK .?
puis j’ai vu que mon signal RAZ n’etait pas bon, inversé ... constament en mode RAZ
De plus j’ai ELIMINE la resistance de rappel au +5V sur le signal entree RAZ
car dans mon cas je n’ai pas l’etage amplificateur Inverseur ( puisque en 5V)

j’ai testé donc avec le signal RAZ , en amont de la commande buzzer (R17) , soit la sortie directe MCU .. et c’etait OK , le comptage demarrait.
j’ai remplacé mon MCU AT89 modele Jaune (par le modele BLEU qui inverse le RAZ)pour me connecter directement sur la sortie Buzzer ..

Couleur = type de programme.
car j’avais fait 2 versions , modele BLEU: dont une qui inversait le sens du signal RAZ, pour utiliser directement la sortie
correspondant au buzzer .. en mode 5V
L'autre pour utiliser l'ampli de niveau TTL/12V , en cas d'alim 12V des CD4015
et j’ai cablé 12 sorties leds ( 1K+ Rouge + orange)..
le comptage s’effectue bien .. sur les premieres leds
Les 4 dernieres leds ne s’affichaient pas ..
Verifié en testant à l’ohmetre la ligne RAZ pin 6 de chaque CD4015 ( platine hors tension!!)
probleme décelé: une mauvaise soudure dans l’avant dernier strap de liaison RAZ ...

maintenant, J’affiche donc aussi les 4 dernieres leds .
Le comptage continue donc apres les 12 premieres
et la RAZ s’effectue de 59 à Zero, eteint donc toutes les leds
et ça repart en comptage..
J’alimente le MCU et la carte CD4015 en 5V .( la meme alim !)
Ceci prouve que le circuit imprimé CD4015 est OK.
(meme si je n’ai pas encore connecté toutes les leds.)

Nota: L’affichage de l’horloge HH MM SS n’est pas perturbée par la carte CD4015.

Cablage final :
25/04/2018
Le cablage est assez fastidieux, d'autant qu'il faut bien verifier la continuite de l'ordre de cabalage,
sachant que les 4 prmeiers CD4015 sont chainé de gauche à droite, et les 4 autres de droite à gauche,
de plus, les 4 fils de gauche sont à croiser ave les 4 fils de droite sur les 8 sorties CD4015
Le mieux est d'alimenter de temps en temps l'horloge , pour verifier sir les secondes evoluent bien dans le bons sens (HORAIRE !).
J'ai preparé d'abord les 60 fils de connections, pré-étamé les 2 bouts,
puis soudé un coté sur la carte CD4015
Fixé la carte : Montage mecanique de la carte CD4015 sur 2 vis de 3mm x 30mm avec contre ecrous (equivalent entretoise)
et soudé ensuite chaque fil sur chaque led ..Cela fait une bonne paillasse de fil . (fil AWG 30 multiibrins tres souple)

Alimentation Horloge (5V)et carte CD4015 (meme 5V) reliées sur un sucre.
Il m'a fallu quand meme plus de 4H00 pour finaliser le cablage.

Nota: Ce petit fer à souder 8W alim 5V USB 2A tres pratique , mais a tendance à surchauffer.
voir cette nette Amelioration apportée par TempsX , ICI .

En plein jour, la luminosité est trop faible, mais tres suffisante si un peu à l'abri de la lumiere directe.
Je verrai par la suite si je dois passer l’alim en 9V ou 12V pour les CD4015
auquel cas , il faudra que je rajoute l’interface 2 transistors pour adapter les niveaux 5V MCU de “RAZ” et “1HZ”.
et que je deplace le signal RAZ en amontr de R17 ( sortie MCU pour commande du transistor Buzzer).
pour garder le meme signe de varaiation sur l'impulse RAZ.

images/t_Horloge_180425_face.gif images/t_Horloge_180425_cablage.gif images/t_Horloge_180425_run_48.gif
face avant face arriere (cablage) running


Protection Plexiglass sur la face arriere :

23/06/2018

images/t_Horloge_run_plexi_180623a.gif images/t_Horloge_run_plexi_180623b.gif images/t_Horloge_run_plexi_180623c.gif
plexiglass e=3mm , monté sur entretoises 3 trous acces pour remise à l'heure vue de coté


Fixation module Alim 5V , sur le plexiglass arriere :

images/t_Horloge_AT89_60leds_1808_TOP_View.gif images/t_Horloge_AT89_60leds_1808_Rear_View.gif
Top View Rear Vieaw



Par la suite, je vais peindre les vis, en face avant, de la meme couleur que le fond gris
Le bemol de ce montage :
le support pas assez rigide , pas assez epais , pour bien "coincér" les leds dans leurs trous
ou utilisation de support de leds ?
Une mise en Boite Rectangulaire , fermée sur les cotés ?


Video sur un cycle > à 1minute : Horloge_180425_running.webm


En bref, un boulot de romain .. mais heureux quand même d'etre allé jusqu'au bout .
et avec une horloge UNIQUE au monde !


../common/GIF/Grrrr25.gif

Ô rage ! ô désespoir ! ô viellesse ennemie ! 
N'ai-je donc tant vécu que pour cette infamie ....  
et observer un tel décalage de l'heure affichée sur une periode de 24H00 ? 30 minutes ???
et dire que j'ai démonté mon programmateur d' AT89C2051 ! ...

je ne pouvais pas laisser cela comme çà ! .. et avoir des remords !




Correction du programme :
07/06/2018

Modification Programme 18F26K22 ( Programmateur AT89C2051 ) :
Dans un premier temps, j'ai été obligé de remonter mon programmateur AT89 à base de PIC18F
mais ,cette fois, pour simplifier un peu la connection hardware, je n'utilise plus le protocole Hardware CTS/RTS
pour la lecture du fichier HEX -> RX UART , mais le protocole Software XON_XOFF, qui fonctionne donc
avec un cordon Prolific standard 3 fils (TX,RX,0V)
Le reste du programme n'a que tres peu changé..
gestion de CTS remplacé par XON XOFF
delay de 30 sec pour entrer le nom du fichier, au lieu de 20sec

voir Lien sur Programmateur


Les Modifications de programme HORLOGE AT89C2051

avec MikroC for 8051:
Les modifications portent principalement sur les test dans l'interruption Timer :.
* Affinage de l'interruption 4mS => 3,997 mS
* Reactivation immediate du timer , juste apres sa reinitialisation .
* Correction erreur sur Seconde ecoulée: test Count1>250 => Count1> 249
* Remplacement comptage Minute apres 60 secondes , par un coomptage Nombre d'interrupt 4mS
Le test Minute porte donc maintenant sur 15000 interruptions à 4mS => 60 000 mS => 60 secondes => 1 minute
Le compteur seconde est mis à zero en meme temps que le changement de minute..
* Augmentation largeur impulsion RAZ : de 2x4 =8mS à 50x4=200 mS, pour avoir le temps de visulaiser la 60em led
avant l'evenement RAZ.


Problemo :

0 122 Compilation Started Horloge_SHE878_AT89C2051_180606.c
0 1004 interrupt handler (Interrupt_Timer1 at 0x001B) Horloge_SHE878_AT89C2051_180606.c
439 123 Compiled Successfully Horloge_SHE878_AT89C2051_180606.c
0 102 Finished (with errors): 07 juin 2018, 10:20:46 Horloge_SHE878_AT89C2051_1806.mcp51

apres quelques recherches et comparaison avec ancienne version compilée OK
il manquerai cette ligne : -IP"D:\_MikroC PRO for 8051\" "Horloge_.......c" "

le remede: il FAUT activer dans
TOOLS
OPTIONS
Buid all files as library


Why ? .. je ne sais pas.

La compilation passe alors OK
........
0 125 Project Linked Successfully Horloge_SHE878_AT89C2051_1806.mcp51
0 128 Linked in 15 ms
0 129 Project 'Horloge_SHE878_AT89C2051_1806.mcp51' completed: 437 ms
0 103 Finished successfully: 07 juin 2018, 10:47:56 Horloge_SHE878_AT89C2051_1806.mcp51




New SOFTWARE:
Le projet zipé: Horloge_SHE878_AT89C2051_180606.zip
Le chargeur : Horloge_SHE878_AT89C2051_1806.hex
Le source : Horloge_SHE878_AT89C2051_180606.c
J'ai donc rechargé cette version sur un nouveau AT89C2051 (pastille jaune) et re mis sur mon Horloge..
Dans la foulée ,j'en ai preparé un autre ( Pastille Orange)

Fichier log du chargement programme dans AT89C2051 Pastille Jaune , issu de la capture terminal Vbray
relié au Programmateur 18F46K22 pour AT89C2051, via un cordon Prolific TTL/USB .
AT89C2051_Jaune_Programmer_18F46K22_Vbray_1800606.log


Mesures de derives :

Test 1 :
programme: Synchro Horloge AT89C2051 (Jaune) avec IT à 3,997mS


Test 2 :
Modif AT89C2051 (Orange) pour IT= 3,977mS ( avec +0,56%)



Test 3
Derniere modif de programme pour corriger de +0,08% !
Je remodifie une DERNIERE FOIS , le MCU JAUNE .. Timer avec 3.974 ms (pour 4,000 theorique)

Last chek: 30/06/2018 ,
Apres 21 Jours de test , l'horloge reste dans la meme minute que l'horloge DCF77 .. OK !
Resultat SATISFAISANT pour une horloge de base à 3,85€,
car il ne fallait pas s'attendre à avoir déja un quartz 12MHz de qualité , sur cette Horloge en KIT (from RPC)
conclusion finale :
Je laisse comme cela... FIN, FERTIG, END.

je passe à HORLOGE PIC + DS3231 ( Nouvelle horloge)
Lien vers _Horloge_18F26K22_60leds\Horloge_60leds_PIC18F.htm...




Simili Horloge ATMEL avec un PIC18F26K22

Je profite donc du Passage sur PIC18F26K22 avec une RTC DS1307
pour avoir l'heure RTC sous la main ( dans le soft!) et faire la partie similaire au programme ATMEL AT89C2051
c'est à dire , utiliser une interruption à 4mS , pour elaborer les SS,MM,HH et activer un balayage des afficheurs 7 segments
6 afficheurs en 6x4=24mS .. pour comparer les resultats .( RTC et Comptage IT)
Au depart.. 1er bug :
teste sur Count1> 250 pour le test du changement de seconde , au lieu de > 249 , car on compte de 0 à 249
ensuite au lieu de definir 1mn si Sec>59, j'utilise un doublon de compteur IT 4mS pour decider de la minute si Count2>14999
sachant que 15 000 x 4 mS = > 60 sec => 1minute.
il s'avere qu'avec un pilote quartz 8MHz x 4 PLL=32MHz , j'observe un decalage de -0,8% en 24 Heures
Un correctif CountMn pré-initialisé dans le code à 14920 ( au lieu de 15000) reduit l'erreur à < 0,01%.
Ce correctif est dans l'eeprom du PIC, modifiable via la commande terminal C=14920<CR>

SOFTWARE:
projet zipé : Horloge_18F26K22_RTC_DS1307_60leds_CD4015_simili_AT89_180510.zip

la partie interrupt simili ATMEL




Version avec simulation du meme programme utilisé avec ATMEL ,
pour comparaison avec RTC


Pour verifier la derive, les registre RTC H,M,S sont copiés dans les registres H,M,S utilisés par l'interrupt ; à la detection de seconde=0
à gauche date et heure RTC, puis HH MM SS issus de Interrupt Timer2 at 4mS
De sorte , apres quelques heures, de pouvoir en visualiser, mesurer l'ecart.
Au lancement du programme, on voit le correcteur CountMn affiché . ici vaut 14910 pour une valeur theorique de 15000 ( 15000x4=60 000 ms =60sec=1minute)

via le keyboard Terminal, on peut modifier ce correctif ..dans la gamme 14900 .. 15000
exemple de commande : C=14930<CR>

La conclusion est que le Quartz PIC 8MHz n'est pas assez precis .. quartz RPC à 8.000 MHz +- xx ppm ?

SOFTWARE
Test avec terminal PC.
Source: Horloge_18F26K22_RTC_DS1307_60leds_CD4015_simili_AT89_180510.c
chargeur : Horloge_18F26K22_60leds_180501.hex
Annexes:
Tiny_RTC_DS1307_180510.c
Horloge_18F26K22_60leds_Eeprom.ihex



 

 

 

 

 


La même HORLOGE semi-virtuelle sur un LCD 240x320

piloté par un PIC18F26K22
60 leds secondes + 12 OeilG + 12 Oeil D + 9 sourire + 2 pupilles => 95 leds
1 led = 1 cercle plein de rayon 4 pixels

images/t_LCD_ILI9341_Horloges_1804.gif

voir les details de realisation ICI .
et la video




../common/GIF/LTC1286p.jpg

retour a l'index