MAJ: 24 aout 2011 test enregistrement sur 3 jours : batterie blanche 5elements de 1,2V : 6,12V au depart Lancement avec i=60 donc every Minute, date et heure alteres à partir du bloc 444 444*15 minutes soit apres 4.6 Jours puis valeurs aberantes à partir du bloc 495 (~12H00 apres) recuperation des datas OK .. mesure de Ubatterie : 3,56V seulement => prevoir le traitement de Ubatt <5,5V pour signaler puis stopper le reccording voir Datalogger_2011.xls -------- Last versus : datalog_16F628_2011.ASM --------- 07/01/2011 petit bug A la mise sous tension stockage directe en eeprom every 10 secondes attention pour redemarrer une serie de stockage criture et enlever la

ause -------- 21/03/2010 bug 2 fois le message date & time au debut de mise en page eeprom dont 1 altere consommation (avec RS232 active) ~13mA alim 6.5V ***************************************************** ** voir resultat compilation tout en bas de page ** **************************************************** 14/03/10 debug valeur temperature negative DS1624... teste OK avec FREEZER FRIGO bug = 04/03/10 23H22M06S Temp= 55,512 DegC !!! ----------------------- 05/12/2008 remplacement 2.7K par 5,6K sur led 1hz pour diminuer conso moyenne Accu 6V= 5.80V apres 3 jours alim 5V= 5.02V I=13.8mA avec LM335DZ connecté et liaison serie connectée to do passage en mode sleep pour reduction de la consommation si interval > 10" ----------------------- usage d'une reference 4.096V pour l' AD7896 (impedance d'entree > 1Mohm!) rev 5 nov 06 : Datalog6.asm en attendant le remplacement de l'ADC ou alim 4,.096V rajout d'un pont diviseur resitif 1Mohms serie avec 2x820K en // sur entree pour diviseur par 2 => recalibrage en 0-10V pour 4096 pts supprimer la tempo inter page en lecture eeprom ------------------------ test montage avec Circuit imprime OK Ualim Ureg (sortie regulateur LE50CV) 4.98V 4.93 ..OK 5.18 5.03 ..OK 5.31 5.05 ..OK 6.00 5.05 ..OK 9.00 5.05 ..OK consommation totale < 7mA (dont potar 10K 0.5mA + led &vec 2,7K 1hz ) Test avec alim pile 9V usagée U depart 8,88V start mesure 07/08/06 23H03M23S.. 48H apres 7,35V stop mesure 10/08/06 23H49M23S soit 3 jours ou 72H00 3340 pts pour 5,05V en entree ADC , alimenté en 5,05V ------------------------- rev 08 aout 2006 : Datalog6.asm suite creation circuit imprime et reorganisation E/S : croisement I2C : RA7= SDA et RA6=SCL, changement sortie RS232 sur RB1 , PB: plus de conversion ADC bug trouve dans SP NACK , "bsf PORTA,SDA" au lieu de bsf PORTB,SDA attention si RS232 croise (2-3) le circuit DS275 se renvoi l'echo tout seul !!! ---------------------------------- rev 30 juil 06 datalog5.asm … la mise sous tension ou reset, Intervval=10sec et mise en MEM d'office! rev 28 juillet datalog4 : rajout test drapeau:5 pour saisie 2 car => binaire ou BCD car nouveau bug constate suite correctif du 6 juillet la valeur interval est en binaire sur 1 octet provenant de la saisie BCD de 2 caracteres 00 a 99 il faut donc convertir le byte format BCD en binaire> MSB *10 + LSB alors que la saisie 2 car BCD pour mise à l'heure doit rester en BCD , donc un simple declage de quartet rev juillet 06 Datalog3 correction bug saisie interval Datalog2 Globalement OK mais bug dans Modifie_IntervalSec..a suivre test datalog1 ..OK ---------- file "C:\MPLAB722\_Datalogger\datalog5.hex". BUILD SUCCEEDED: Mon Aug 07 20:02:36 2006 --------------------------------------------- rev 21 mai rajout sauvegarde Mesure Ana (AD7896) dans EEPROM soit horodatage sur 4 octets + 15x2 mesures 16 bits -> 1 bloc de 64 octets rev 20 mai ..oubli config entree tor port A!!! voir ds16x_24.asm corrige un bug dans Modifie_IntervalSec mars 2006 c:\mplab722\DS1307\DS16xx_23.asm avec Quartz 6Mhz au lieu de 4Mhz pour 9600 bauds rajout ADC 12 bits AD7896 pour mesure distante Temp exterieure en mode simili SPI -------------------- 19 fev 06 DS16xx_22.asm consommation interface < a 3mA avec uniquement une Led sur sortie 1Hz (avec ou sans liaison RS232) rajout saisie Interval_Seconde en decimal 00 a 99 puis transf en Binaire ----------------- hardware : usage du DS275 en DIP8(seul)au lieu du Max232 DIP16 (avec4condos) 10 fev 2006 DS16xx_21.asm ... version testee OK rajout gestion timer0, interrupt par signal 1Hz du DS1307 pour reglage timming acquisition (initialisee a 2 => 3sec 512*30=15360 mesures => 12.5Heures si IntervalSec=99 => plus de 15 jours Program Memory Words Used: 1499 Program Memory Words Free: 549 EEprom 16F628 Used:127 Free : 1 RAM bank0 used :48 RAM bank1 used : 64 common RAM banks 0,1 used :16 ---------------------------------------------------------- Version OK...9 fev 2006 ds16x_20.asm fonctionne Ok avec EEprom 24LC256 Building DS16X_16.HEX... Compiling DS16X_16.ASM: Command line: "C:\MPLAB\MPASMWIN.EXE /e+ /l+ /x- /c+ /p16F628 /q C:\MPLAB\DS1307\DS16X_16.ASM" Build completed successfully. 11 janv 06 ..bug manipulation FSR en bank1 pour adresser A0h 09 janv 06 ..bug sur adresse device! attention au decalage a gauche version 16 du 28/12/05 corrections de bug, rajout Help menu... version ds16x_15.asm pour gestion MENU / clavier, gestion EEPROM ecr / lect et mise a l'heure sens Incremental version ds16x_14 .. OK avec saisie reverse Mise a l'heure! sens decremental 14 dec 05 rajout dialogue ASCII RS232 pour mise a l"heure 04 dec : rajout mise a l'heure par RS232 si RB1=0 02 dec 05 ACK apres lecture registre DS1307, NACK apres ecriture sur DS1307 28 nov 05... 26 sept 05... version 1624_5.asm ecriture en eeprom 24C256 version 1624_4.asm 25 sept 05 rajout stockage 32 mots bank1 -------------------------------------------------------------- 19 sept 2005 1624_3.asm rajout DS1307 RTC -------------------------------------------------------------- 16 sept 05 passage au PIC16F628 attention decalage debut RAM et mode lecture EEPROM PIC car pas assez de memoire programme et RAM pour rajouter EEPROM 24LC256 ---------------------------------------------------------------- 1624_2.asm avec PIC16F84 circuit avec resolution 13 bits! mise a l'echelle partie decimale! step mini lsb=8 soit 0,03125 degC Version 0.0 avec PIC16F84 05 sept 05 rev DS1621_6.asm -----------HARDWARE ---------------------------------------- ------- note I2C ---------------------------------------- L'adresse de l'esclave est determinee par A2 (pin 5), A1 (pin 6) et A0 (pin 7) sur le DS1624 Le bus SCL et SDA peut gerer jusqu'a 8 composants, chacun etant repere par son unique adresse definie par A2 A1 A0 relie au +5V par des R de rappel de 4,7K ---- Maitre I2C ----------- 3 esclaves sur le bus I2C -------------- PIC16F628 DS1624 24LC256 DS1307 RB7 (pin 13) -output->SDA (pin 1) -SDA (pin 5)-SDA (pin 5)-I2C Devices 2.7K pullup RB6 (pin 12)<-in/out->SCL (pin 2) -SCL (pin 6)-SCL (pin 6)-To Other .. 2.7K pullup ------- RB5 (pin 11) ----> output ----led--R--+5V RB4 (pin 10) ----> output ----led--R--+5V RB3 (pin 9) ----> output ---- not used RB2 (pin 8) <-+--- Input ----- pas de strap= 1 = Normal |---(Mettre entree a 0 pour 1ere Mise sous Tension INIT RTC) ------ interface RS232 --------- RB1 (pin 7) ----> Output -- Pin 3 DS275 7 >---Rx RS232 pin2 DB9F RB0 (pin 6) <---- Input -- Pin 1 DS275 5 <-- Tx RS232 pin3 DB9F ----- info horloge RTC DS1307 ---- RA4 (pin 3)<--+- input - info 1HZ du DS1307 (comptage Timer0) |--DS1307 Pin7 --Led + 6.2K -+5V led sur sortie 1Hz DS1307 ------ ADC 12 bits ------------------------------------ RA3 (pin 2) output libre RA2 (pin 1 ) ----> output --> ---SCLK -- (pin 4 )AD7689 RA1 (pin 18) <---- Input ---< ---DATA -- (pin 5 )AD7689 RA0 (pin 17) ----> output --> ---CS ---- (pin 7 )AD7689 Busy (pin 8 )AD7689 Vin (pin 1 )AD7689 VDD (pin 2 )AD7689 Gnd (pin 3-6)AD7689 attention DIFFERENCES avec 16F84 !! Attention dialogue en BANK 1 pour EEPROM 16F628 different du 16F84! attention config pour entree TOR et non ANA sur PIC16F628 voir "CMCON" attention debut Zone RAM differente de 16F84 b13 12 | 11 10 09 08 | 07 06 05 04 | 03 02 01 00 1 1 | 1 1 1 0 | 0 0 1 0 | 0 0 0 1 __CONFIG _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _EXTCLK_OSC & _XT_OSC __CONFIG 0x3F21 ERRORLEVEL -302 CONSTANT SDA=7 PORTB CONSTANT SCL=6 PORTB CONSTANT DATA_BUFF=0xA0 measurements saved to bank1 ! CONSTANT BUFF_SIZE=.64 number of measurements CONSTANT DI= 7 bit a entrer dans la DS_EEPROM CONSTANT DO= 6 bit a sortir de la DS_EEPROM CONSTANT TABUL =.9 caractere ascii tabulation ORG 0x2100 EEPROM_16F628 equ $ "1234567890123456" message taille 16 car maxi (LCD) EE0 DT "Datalog7 6Mhz AD7896",.0 EE1 DT "16F628_110824",.0 EE2 DT "EcriMem Page:",.0 EE3 DT "Pause:",.0 EE4 DT "LectMem Page:",.0 EE5 DT "Continue:",.0 EE6 DT "MAJ DS1307",.13,.10 EE7 DT "AAMMJJWWHHMMSS",.13,.10,.0 EE8 DT "Inter.Sec=",.0 EE9 DT "0210HHB",.0 16F628 avec point blanc finEEprom EQU $ EEpromLibre EQu 128-(finEEprom - EEPROM_16F628) END Resultat compilation : Language tool versions: MPASMWIN.exe v5.34, mplink.exe v4.34 Sun Mar 21 11:29:04 2010 Clean: Deleting intermediary and output files. Clean: Deleted file "C:\Mplab8\_Mesprojets\_Datalogger\datalog_16F628_2010.o". .. Clean: Done. Executing: "C:\Program Files\Microchip\MPASM Suite\MPASMWIN.exe" /q /p16F628 "datalog_16F628_2010.ASM" /l"datalog_16F628_2010.lst" /e"datalog_16F628_2010.err" /x"datalog_16F628_2010.xrf" /aINHX8M Executing: "C:\Program Files\Microchip\MPASM Suite\mplink.exe" /p16F628 /l"C:\Mplab8\MPASM Suite"/k" C:\Mplab8\MPASM Suite" "datalog_16F628_2010.o" /z__MPLAB_BUILD=1 /m" C:\MPLAB8\_Mesprojets\datalog_16F628_2010.map" /w /aINHX8M /o" C:\MPLAB8\_Mesprojets\datalog_16F628_2010.cof" /x MPLINK 4.34, Linker Copyright (c) 2009 Microchip Technology Inc. Errors : 0 Loaded C:\MPLAB8\_Mesprojets\datalog_16F628_2010.cof. Release build of project `C:\Mplab8\_Mesprojets\_Datalogger\Datalogger_16F628.mcp' succeeded. Language tool versions: MPASMWIN.exe v5.34, mplink.exe v4.34 Sun Mar 21 11:29:08 2010 BUILD SUCCEEDED