V.O.15/09/2013
Last UpDate : 12 avril 2014
Mesure
de la tension secteur avec
PIC18F26K22 ( MPLAB C18)
Pour ne pas s'electrocuter, l'usage d'un transfo de mesure est
vivement recommandé !
Description de l'Interface Hardware et
resultat sur excel :
1 transfo 230V/9V de quelques VA
1 potar de 2,2K à 4.7K (voir 10K maxi) 3tours 1W pour mettre à
l'echelle le signal AC utile
2 R de 1K 0,5W pour realiser le point milieu de 2,5V
Amelioration possible :
utiliser un AOP rail to Rail monté en suiveur pour elaborer le
+2,5V sous basse impedance.
Le signal additionné : composante continue de 2,5V + le signal
AC de 1,6V, est aiguillé sur l'entre ANA RA0
references tension = +5V et 0V alim PIC
Reglage potar : 1,6V efficace (soit ~4,5V cr cr ) pour 235V au
primaire
Le timer1 calibré pour 20mS ( 19,99mS) permet d'accumuler les
acquisitions pendant ce temps là , à toute berzingues..mais pas
trop !
20mS seront toujours suffisant pour capter un maxi et un mini
espacés de 10mS !
Par contre il ne faudrait pas que
des parasites s'en melent .
Les mesures sont stockées dans un table (180 maxi)
Avec Quartz=10Mhz , j'obtiens 172 mesures , sans avoir cherché
à optimiser.
Voir avec Q=16Mhz ?
J'extirpe de cette table de mesures le mini et le maxi pour en
deduire la valeur peak à peak (crete-crete)
Valeur mesuree peak to peak = 928 points
C'est cette valeur de base , qui servira de calibration et donc
d'afficher la valeur du secteur (en Volts)
Constante => 235 (volts)/ 928 (points)
Factor de calibration FC= 235/928=
0,25323276
V= (pk2pk value)* FC.
On voit à l'osccilo un leger ecrasement des sommets
de la sinusoide.. distortion du à ?
idem connecté le secondaire 9V , à vide .
Signal oscillo
1,6V efficace autour de la composante continue de +2,5V
calibre voie B : 1V / div
mode DC
source C18 : 18F26K22_Mesure_secteur_50Hz_130916.c
Résultat obtenu sur le terminal :
Résultat sur le LCD4x20 :
Evolution:
Pour eviter toute saturation du signal, j'ai
finalement calibré à 1,5V cr cr le signal AC.
J'ai enlevé un delai intercalaire dans la mesure ADC,et de ce
faut j'obtiens maintenant 290 mesures en 20mS
sans pour cela, affecter la stabilité de mesure de l'ADC..
Attention: il faut de la RAM .disponible...
tableau dimensionné à 300 entiers .. 600 bytes !
Toutes les secondes,on obtient la valeur mini,maxi ecart en
points et la valeur en volt efficace,
la moyenne de 10 mesures apparait toute les 10 secondes.
Le nouveau coefficeint de calibration devien 235/890.
Il est affiché au lancement du programme sur le LCD et UART.
J'ai rajouté un test sur l'entree RB1, pour ne sortir les
valeurs individuelles (290 valeurs) de la sinusoide captée
que si cette entree est à ZERO.
source C18 : 18F26K22_Mesure_secteur_50Hz_130917.c
chargeur: 18F26K22_Secteur_50Hz-130917.hex
Resultat avec chrono via Vbray
Terminal avec RB1 tiré au +5V