rev0 14/01/2014
Rev1 08 juin 2014

 

16F877 et IrDA Demo Board Microchip 102-00032

Fevrier 2008
Test avec le programme microchip livré avec la carte

images/Pickit2_MCP2150_demo_board.jpg images/MCP2150_demo_board_Test_Shanga.JPG
Connecteur RJ pour l' ICSP !! Test liaison IR avec PC et cle IR Shangai


Alim : 9V DC par pile ou bloc alim 9V DC AC/DC
OSCILLATOR 20MHZ TTL ECS-100AX-200 ECS Inc.
MCP2150 pour liaison IRDA avec coupleur optique en U14= TFDU4300
Emplacement pour EEprom 24LC256
docu technique Microchip ICI .
http://ww1.microchip.com/downloads/en/DeviceDoc/51516b.pdf

Le PC est equipé d'une clé à 10€, marque Shangai , qui necessite un driver KS-959.sys
les test realisées avec le logiciel Microchip pre-installé sur la carte et en face l'appli IRDA , sont OK.
Les sources ne sont pas fournies ! VRAIMENT DOMMAGE..

images/IRDA_board_16F877_a_schem.jpg images/IRDA_board_16F877_LCD_schem.jpg images/IRDA_Board_16F877_implantation.jpg
schema 1 Attention Mettre RD5=1 pour usage du LCD  


../common/GIF/lgreen_cligno.gif
14-01-2014
Test formatage de l'affichage en flottant sur le LCD
(avec MikroC version limitéee 2K )


utilise la librairie michrochip LCD , mais Attention: ne pas oublier RD5=1 , sinon affichage (quand meme) déroutant !!!
Ne pas oublier non plus de passer les Pin RA en TOR au lieu d'Analogique (par defaut au reset.) via ADCON=6.
source MikroC en version limitee 2K : 16F877_Irdaboared_Float2asc_140114.c
chargeur :16F877_Irdaboard_Float2asc.hex



Test mesure ADC channel 1 voie RA0

Cette voie est reliée au potar VR1 sur la carte..
Pour Conserver RA0 en ANA et RA1,2,3 en Sortie TOR , cette fois ADCON1=0x0E.
Usage de float2ascii,pour afficher 0,000 à 4.999V
source mikroC (version limitee 2K):16F877_Irdaboared_ADC1_140114.c
chargeur :16F877_Irdaboard_ADC.hex

images/IRDA_ADC0.jpg images/IRDABoard.jpg
Test reel, voie RA0 sur potar de la carte L'elastique,c'est pour tenir renfoncé la plug cassée


Juin 2014
Test avec version MikroC enregistrée, donc NON limitée..

Connection Interface 2T, sur RC7 et RC6 pour exploiter l'UART
raccordes sur J15, RC6 et RC7 ..vers interface 2T

images/IRDABoard_Test_140607.jpg images/IRDA_board_16F877_sch.jpg
carte raccordéee au Pickit2, alim 9V et interface 2T schema complet

Le module transmet bien sur TX vers le PC, mais la reception RX ne fonctionne pas ...
ATTENTION:
soit retirer le circuit MCP2150 qui interfere sur le niveau de RC7 RX
soit, solution soft, Mettre un 0 sur RC0 => Reset du MCP2150 en permanence, pour ne pas perturber le niveau de RC7.
Les tests de reception via interruptions sont alors OK

Rajout RTC DS1307 sur le bus I2C

Module RTC DS1307 Miniinthebox, alimenté via +5V et Gnd de J15
Raccordement SCL sur RC3 de J15
Raccordement SDA sur RC4 de J15

../common/GIF/DS1307_24C32_I2C_RTC_module.jpg ../common/GIF/DS1307_24C32_schema_RTC_Module.jpg
RTC DS 1307 with Lithium Ion Battery LIR2032 3.6V nota: with Eeprom 24C32 4K bytes at I2C @ 0xA0




Usage de SW2 = BP sur rentree RA5 , pour forcage Init RTC DS1307 à une date et heure par defaut
si il est maintenu appuyé pendant la phase d'initialisation => message "Init RTC DS1307 par defaut"
sinon, relit simplement le contenu du DS1307 , maintenu à jour grace à sa pile LIRC2032.
Affichage alternatif sur la 1ere ligne " LCD2x16 & UART" ou " Time: 17:10:35 ", toutes les 4 secondes .
Possibilité de remettre à la date et heure via la commande Terminal : U;07;06;14;6;19;09#035#013
( exemple pour le 7 juin 2014 à 19H09)

Acquisition voie 0 = Potar de la carte .
Moyennage sur 32 valeurs consecutives et affichage en point + Volts (en flottant) sur la 2em ligne du LCD
Envoi aussi sur le terminal des 32 valeurs intermediaires (en points) suivant l'etat d'un flag modifié par la commande DS1= visu, ou DS0 = pas visu
Les valeurs : moyenne en point et en flottant sont aussi affichées sur le terminal.

Commandes des leds LD0 à LD3 (sur RD0 ..RD3) via la commande terminal Dx1 ou Dx0, avec x representant le numero de led (ou bit)
D21 allume led 2 , D20 eteint led 2..
On ne commande pas Led D5 .. qui sert à valider l'affichage LCD..

Gestion EEPROM PIC 256 bytes
pour affichage des messages sur terminal ..permet d'economiser de la RAM ....no comment
D'autres messages sont en ROM Code

Rajout EEPROM I2C 24LC56 32Kbytes et Gestion stockage
ATTENTION : delai OBLIGATOIRE de 5mS apres chaque ecriture individuelle...
Rajout : sauvegarde date et heure dans les 6 premiers bytes de l'Eeprom au format : MMJJHHMMSS<CR>
puis chaque mesure moyenne en point..
Demarrage sauvegarde sur Eprom 24LC256 par appui sur SW2
On affiche alors en 1ere ligne LCD la valeur de l'index de stockage qui evoulue par pas de 2 , car stoke : 1 entier = 2 bytes
On peut stopper à tout moment le stockage , par appui sur SW2.
qui lance la relecture complete de l'EEPROM, avec affichage du contenu sur le terminal
date et heure de debut, Numero de mesure, et valeur en Volt (flottant) au format X.xxx
Une fois l'edition terminé , on revient en mode affichage alterné sur ligne 1 et stockage arreté.
Un nouvel aapui sur SW2 , relance, continue le stockage au point d'arret precedent , sans sauver date et heure
Un appui simultanné sur SW2 et SW3 , fait une RAZ Index de la memoire 24LC256 et stoppe le stockage
Un nouvel appui sur SW2 relancera donc le stockage de la date et heure au debut de l'eeprom..etc...

Resultat sur terminal VBRAY:

En resumé: Application point de depart ,pour Datalogger

Eeprom: 16F877_Irdaboard_EEPROM_RS.ihex
Source MikroC : 16F877_Irdaboard_Float_LCD_RS_PicEEprom_24LC256_DS1307_140607.c
Chargeur Hex : 16F877_IRDAboard_LCD_RS_ADC_PWM.hex

A Suivre : Liaison IRDA ! au lieu de liaison RS232


paulfjujo@free.fr