30 Juillet 2014 Rev 0.1
avec Version MikroC 6.40
Prototype Hardware
jusqu'à plus de 4000 serie de : 3 mesures ANA + 8E +8S
avec une periode de 400mS à 6.4secondes, ce qui donne
26Mniutes à 296 jours
Autonome sans terminal PC,une fois lancé..
![]() |
![]() |
prototype sur breadboard |
PIC 18F252
28 pins 32K rom 1536 bytes RAM 256 bytes Eeprom
Q=10Mhz + 2x27pF
Alim +5V
Liaison UART TTL vers interface 2T
et/ou liaison BlueTooth HC06 .
Liaison I2C vers Eeeprom 24LC256 et LCD4x20 (PCF8754) et
.DS1307 RTC + .... futur MCP23017
Module Tiny
RTC DS1307 + Eeeprom 24C32 + Pile LIR2032
Emplacement pour HC-05 BlueTooth
Potar 470 ohms pour 0 à 5V sur EA0
Potar 470 ohms pour 0 à 5V sur EA1
EA2 non conncetée (en l'air)
100µF + 100nF +2,2µF goutte
Led rouge presence 5V
Led blanche sur sortie RA4
Bouton M/A
Schema correspondant :
nota: schema realisé avec ISIS lite (SANS SIMULATEUR
Proteus!)
Description :
Log pour 3 mesures analogiques 10 bits , 8
entrees et 8 sorties
Stockage sur EEprom 24LC256
32K bytes en Dip8
Adresse I2C = 0xA2 car une 24C32 (4Kbytes) existe deja
sur la platine DS1307 à l'adresse (soudee) 0xA0.
24C32 testée OK mais non utilisée ici..
Horodatage issu de la RTC DS1307 ,sauvegardée
par Pile Litium 3,6V LIR2032
format AA/MM/JJ HH:MM:SS sur LCD ou
terminal
mais reduit à MM/JJ HH:MM sur Eeeprom 24LC256.
L'index (adresse de stockage ) de l'Eeprom 24LC256 est
stocké dans les 2 derniers Bytes de l'Eeprom du PIC18
Il est relu à la mise sous tension pour le reactualiser
..
L'eeprom est organisée en 512 pages de 64 bytes..
Au START, demarrage stockage on stocke en premier
l'Horodatage ..qui prend 14 bytes.. et on arrondi à 16
car les mesures representent EA0=2 bytes EA1=2bytes
EA2=2bytes, 8E=1byt 8S=1byte => total =8 bytes
On peut donc ranger : 8 mesures par page, sauf si on
stocke l'hordatage => 7 mesures
ce qui donne un maxima de 56 + 510*8 = 4136
mesures !
evolution envisagée: definir le temps en mS de 0250
à 9999 mS
Les datas collectees sont :
- Affichees sur le LCD
- Envoyees sur l'UART1 .. COM du PC terminal
- evolution .. envoi via BlueTooth HC05
Le Terminal n'est utile que pour envoyer des commandes ou
modifier la periode d'echantillonage.
Cette periode peut prendre 6 valeurs differentes:de 3 à
7 correspondant à 400mS jusqu'à 6400mS
avec une progression exponentielle double à chaque pas.
Ce qui peut donner une duree maxi d'enregistrement de :
avec SPT=3 => 400 ms x 4000 =>1600 sec soit
26 Minutes
avec SPT=7 => 6400 ms x 4000=> . 296 jours
Le mini, du au ralentissement de l'affichage LCD ne
permet pas de descndre en dessous de 200mS..
A voir une option High Speed , en strapant l'affichage
LCD ?
Dialogue Operateur :
Depuis le terminal connecté sur la liaison RS232 , on
peut passer des commandes en ASCII.
L'usage des macros pour definir les touches de fonctions
du terminal Vbray, rend les choses aisées:
SPT SamPle Time : Reglage de l'interval
de mesure de 2 à 7 soit respectivement
200,400,800,1600,3200 et 6400mS
Help=H .pour lister l'aide tres succinte! .. à
implementer
Exx= Ecriture dans PCF854 de la valeur definie en
Hexadecimal par les 2 caracteres suivant tapés au
clavier... à implementer
E00 = eteint toutes les leds
E01= allume led 1
E0F=allume les leds 1,2,3,4
EFF= allume Toutes les leds
E0A=allume led 4 et led 1
TIM Affiche la date et l'heure en cours
sur la sortie UART1
STA STArt stockage en Eeprom depuis le
dernier Index sauvé En Eeeprom du PIC, et stocke
horodatage
HAL HALTE stockage en EEprom 24LC256 et
stocke l'index 24LC256 dans l'Eeeprom du PIC
RAZ RAZ index pointeur Eeprom 24LC256
LEC LECture de l'Eeeprom jusqu'au
dernier index sauvegardé
MAJRTC envoi la sequence de mise à jour
DS1307 sous la forme U;20;07;14;00;09;39#
Toutes les commandes se terminent par <CR>
Liaison Bluetooth
:
Init du module Bluetooth
HC06 integrée
Dialogue possible avec PC terminal en BlueTooh via Appli
BlueSoleil et Port Virtuel COM4
La sortie UART pouvant etre aiguillée en meme temps sur
un terminal local COM1 du PC !
L'interface 2T peut servir à tester directement le
module BT HC06 , mais il faut l'alimenter en 3,3V au lieu
de 5V.
Attention: La sortie UART du PIC etant en
5V TTL, il faut mettre un diviseur pour attaquer en 3,3V
maxi l'entree RX du HC06.
Test avec sortie UART vers COM1 terminal connecté sur
l'interface 2T (alim en 5V)
![]() |
![]() |
![]() |
Le Programme de chargement se fiat via la liaison ICSP et
le Pickit2
Résultat
Compilation
:
usage de Splitlog.exe pour remise en page du resultat de
compilation
Log Resultats sur
terminal
Problemes rencontrés:
Interface 2T alimenté en 5V , ne repond pas au niveau 3V
du TX HC06, il faut alors alimenter l'interface 2T en
3,3V
Probleme de duplicata d'adresse ( choisie pour 24LC256
0xA0) avec celle deja installée sur le module Tiny RTC
DS1307
=> decalage adresse 24LC256 -> 0xA2..OK
Probleme avec mon bootloader 18F252 .. => effacé!
usage de ICSP Pickit2..
nota: beaucoup moins de probleme avec ce PIC par rapport
au 16F877qui est moins puissant
et surtout avec moins de RAM et ROM, celui ci est
relativement confortable avec plus de 1500 bytes de RAM
et 32K de ROM
A suivre
Evolution : dialogue avec tablette Archos
et application en RFObasic