Bonjour,
j'aimerai réaliser un multimetre numerique (utilisant le(s) CAN d'un microcontroleur) me permetant de connaitre la puissance consommée par un apareil électrique (230Vac ; 1kW) avec une précision entre 0.1W et 0.5W
quel montage me conseillez vous pour ce projet?
Merci.
Multimetre numerique
Modérateur : Modérateur
- Zera
- REGULIER
- Messages : 132
- Inscription : 18 avr. 2006 14:03
- Localisation : France - Alsace
- Contact :
Salut
Tout d'abord, parlons de la précision désirée. Je prend en exemple le CAN d'un Atmel atmega 128 : résolution 10 bits, précision 2xLSB.
Imaginons un câblage simple, avec diviseur d'impédance RC (type ceux qu'on mets sur les oscillos) pour la mesure de tension : 230 V alternatifs donnent un crête à environ 320 V. Ta mesure de tension peut avoir une précision de l'ordre du volt. Pour le courant, tout dépend du type de mesure. Pince ampèremétrique (active ou passive) ? Résistance en série avec le circuit ? Dans le second cas, le plus simple, on pourrait espérer une précision de l'ordre de quelques dizaines de mA.
La question de la sécurité entre aussi en compte à mon avis. Si une pince ampèremétrique isole la mesure du courant, pour la tension, ce n'est pas le cas. Personnellement j'opterai pour une partie de circuit dédiée à la mesure, avec un CAN type de ceux que commercialise Maxim-IC, connectée à un microcontrôleur via isolation galvanique réalisée par les opto-coupleurs, mais utiliser directement le micro n'est pas forcément beaucoup plus dangereux. Il faut faire attention aux masses, selon le mode d'alimentation.
Ce circuit de mesure est-il dédié à la charge donnée, ou doit-il être plus polyvalent ?
Tout d'abord, parlons de la précision désirée. Je prend en exemple le CAN d'un Atmel atmega 128 : résolution 10 bits, précision 2xLSB.
Imaginons un câblage simple, avec diviseur d'impédance RC (type ceux qu'on mets sur les oscillos) pour la mesure de tension : 230 V alternatifs donnent un crête à environ 320 V. Ta mesure de tension peut avoir une précision de l'ordre du volt. Pour le courant, tout dépend du type de mesure. Pince ampèremétrique (active ou passive) ? Résistance en série avec le circuit ? Dans le second cas, le plus simple, on pourrait espérer une précision de l'ordre de quelques dizaines de mA.
La question de la sécurité entre aussi en compte à mon avis. Si une pince ampèremétrique isole la mesure du courant, pour la tension, ce n'est pas le cas. Personnellement j'opterai pour une partie de circuit dédiée à la mesure, avec un CAN type de ceux que commercialise Maxim-IC, connectée à un microcontrôleur via isolation galvanique réalisée par les opto-coupleurs, mais utiliser directement le micro n'est pas forcément beaucoup plus dangereux. Il faut faire attention aux masses, selon le mode d'alimentation.
Ce circuit de mesure est-il dédié à la charge donnée, ou doit-il être plus polyvalent ?
Sur mon site tu trouveras une carte à tout faire avec un exemple de voltmètre numérique (hard et soft). Tu peux t'en servir de base tout en tenant compte des remarque de zera sur les mesures de tensions et de courant. Bien sur tu peux prendre un µC moins gros et moins cher que l'atmega8535.
Vince
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
Salut! et merci de m'avoir répondu si vite
Pour commencé, en ce qui concerne la précision d'un ATmega 128 pourquoi n'est-elle pas d'1LSB?
ceci dit le fait quelle soit d'une précision de 2LSB signifie donc une erreur 1/256 par rapport a la tension de référence c'est bien ça?
et donc pour une tension de référence pour le CAN (exemple 5V) correspondant par exemple à une tension d'origine de 240Vac j'obtiendrai une précision légèrement inférieur à 1 volt?
En ce qui concerne le diviseur d'impédence je ne connai pas, aurai-tu un pti schéma?
Pour le courant j'avai déja pensé à une résistance en série et en fesant kelke recherches je me suis aperçu que c'était une méthode courante. Cependant existet-il des résistance de précision directement utiliseable en série avec un apareil d'1kW? ou faut-il modifier un peut la configuration? oubien encore cumuler plusieur résistance en // le tout en série avec l'apareil?
Coté sécurité il y aura effectivement un microcontroleur dédié au calcul de puissance et j'ai quelques opto-coupleurs à dispo (c'était prévu). Mais qu'entend tu exactement par faire attention aux masse selon le mode d'alim?
Enfin ce circuit de mesure est (pour le moment) dédié à la charge donnée qui en réalité ne devrai pas exeder les 800W max et 500W en fonctionnement normal, mais si il peut être plus polyvalent (plus particulierement pour des puissance beaucoup plus faible) sans pour autant entrainé beaucoup de modification suplémentair et en respectant toujour une précision du même ordre alors cela serait idéal.
Pour vincevg :
Je n'ai pas trouvé l'exemple de volmetre numerique, j'ai sans doute encor été trop vite! peut tu joindre le racourci?
merci pour tout!
Pour commencé, en ce qui concerne la précision d'un ATmega 128 pourquoi n'est-elle pas d'1LSB?
ceci dit le fait quelle soit d'une précision de 2LSB signifie donc une erreur 1/256 par rapport a la tension de référence c'est bien ça?
et donc pour une tension de référence pour le CAN (exemple 5V) correspondant par exemple à une tension d'origine de 240Vac j'obtiendrai une précision légèrement inférieur à 1 volt?
En ce qui concerne le diviseur d'impédence je ne connai pas, aurai-tu un pti schéma?
Pour le courant j'avai déja pensé à une résistance en série et en fesant kelke recherches je me suis aperçu que c'était une méthode courante. Cependant existet-il des résistance de précision directement utiliseable en série avec un apareil d'1kW? ou faut-il modifier un peut la configuration? oubien encore cumuler plusieur résistance en // le tout en série avec l'apareil?
Coté sécurité il y aura effectivement un microcontroleur dédié au calcul de puissance et j'ai quelques opto-coupleurs à dispo (c'était prévu). Mais qu'entend tu exactement par faire attention aux masse selon le mode d'alim?
Enfin ce circuit de mesure est (pour le moment) dédié à la charge donnée qui en réalité ne devrai pas exeder les 800W max et 500W en fonctionnement normal, mais si il peut être plus polyvalent (plus particulierement pour des puissance beaucoup plus faible) sans pour autant entrainé beaucoup de modification suplémentair et en respectant toujour une précision du même ordre alors cela serait idéal.
Pour vincevg :
Je n'ai pas trouvé l'exemple de volmetre numerique, j'ai sans doute encor été trop vite! peut tu joindre le racourci?
merci pour tout!
- Zera
- REGULIER
- Messages : 132
- Inscription : 18 avr. 2006 14:03
- Localisation : France - Alsace
- Contact :
Il s'agit de précision absolue. Le CAN pourra détecter une faible variation (d'1 LSB), mais sa valeur pourra être incorrecte, d'où la précision absolue de 2 LSB.lguenhael a écrit :Pour commencé, en ce qui concerne la précision d'un ATmega 128 pourquoi n'est-elle pas d'1LSB?
CAN 10 bits : LSB = 1/1024. 2LSB = 1/512.lguenhael a écrit :ceci dit le fait quelle soit d'une précision de 2LSB signifie donc une erreur 1/256 par rapport a la tension de référence c'est bien ça?
au mieux. Après, il faut aussi prendre ne compte la qualité de la tension que tu donneras en référence au CAN, la non linéarité de ce dernier, etc.lguenhael a écrit :précision légèrement inférieur à 1 volt?
L'entrée d'un composant numérique peut généralement être schématisée par une résistance ainsi qu'une capacité en parallèle. Pour diviser la tension, il faut donc également utiliser une résistance et une capacité en parallèle. Il faudra vérifier les caractéristiques d'entrée du CAN du microcontrôleur.lguenhael a écrit :En ce qui concerne le diviseur d'impédence je ne connai pas, aurai-tu un pti schéma?
Il existe des résistance de puissance, de valeur inférieure à 1ohm et pouvant supporter une puissance relativement importante.lguenhael a écrit :Cependant existet-il des résistance de précision directement utiliseable en série avec un apareil d'1kW?
Si tu utilises une alimentation à découpage pour ton montage, il se peut que la masse que tu obtiendras ne soit pas la même que celle du réseau électrique (du type TN). A vérifier selon le type d'alimentation ... personnellement je prendrai une pile, cela résout bien des problèmes.lguenhael a écrit :Mais qu'entend tu exactement par faire attention aux masse selon le mode d'alim?
/*AVRGCC********************************************
Projet :Voltmètre numérique
Commentaires :
Version : 1
Date : 17 mai 2006
Heure : 16h55
Auteur : Frank SAURET
Compagnie: Lycée Aristide BRIAND - St Nazaire -
Micro Contrôleur : ATMEGA8535
Matériel : Maquette ABriand V3
Entrée de la tension à mesurer sur PA0
Affichage sur afficheur LCD mode 4 bits Port C
*********************************************/
#include <avr/io.h> //Cette ligne est obligatoire. Elle permet de
// n'écrire qu'un programme pour tous les AVR.
#include <sup_avr/lcd.c>
#include <sup_avr/stdlib2.h>
#include <sup_avr/CanM8535.h>
// Variables globales
char *ChaineTension ="0,0000000000"; // Prototyper ici l'affichage de la tension Si le prototype ne correspond pas au ftoa ça ne marchera pas
int main(void)
{
// Configuration des ports
DDRA=0xFF; // Tout en sortie.
PORTA=0x00; // Pas de Pull-Up.
DDRB=0xFF; // Tout en sortie.
PORTB=0x00; // Pas de Pull-Up.
DDRC=0xFF; // Tout en sortie.
PORTC=0x00; // Pas de Pull-Up.
DDRD=0xFF; // Tout en sortie.
//Inactivation du clavier
DDRA|=_BV(PA7);
PORTA|=_BV(PA7);
// Afficheur LCD
lcd_init(LCD_DISP_ON); // Initialisation
lcd_ChargeAccentsFrancais();
lcd_EcrisAuCentre("Voltmètre",0); // Ecriture de Voltmètre 1ème colonne 1ème ligne
lcd_EcrisTexteLong("V",13,1,0,0);// Ecriture de V 7ème colonne 2ème ligne
InitCAN(AVcc,Div4,Libre,10);
while (1)
{
ftoa (ConvertirVoieVolt(0),10, ChaineTension); // convertir en chaine de caractères la tension de la voie 0
lcd_EcrisTexteLong(ChaineTension,0,1,0,0);
}
}
Projet :Voltmètre numérique
Commentaires :
Version : 1
Date : 17 mai 2006
Heure : 16h55
Auteur : Frank SAURET
Compagnie: Lycée Aristide BRIAND - St Nazaire -
Micro Contrôleur : ATMEGA8535
Matériel : Maquette ABriand V3
Entrée de la tension à mesurer sur PA0
Affichage sur afficheur LCD mode 4 bits Port C
*********************************************/
#include <avr/io.h> //Cette ligne est obligatoire. Elle permet de
// n'écrire qu'un programme pour tous les AVR.
#include <sup_avr/lcd.c>
#include <sup_avr/stdlib2.h>
#include <sup_avr/CanM8535.h>
// Variables globales
char *ChaineTension ="0,0000000000"; // Prototyper ici l'affichage de la tension Si le prototype ne correspond pas au ftoa ça ne marchera pas
int main(void)
{
// Configuration des ports
DDRA=0xFF; // Tout en sortie.
PORTA=0x00; // Pas de Pull-Up.
DDRB=0xFF; // Tout en sortie.
PORTB=0x00; // Pas de Pull-Up.
DDRC=0xFF; // Tout en sortie.
PORTC=0x00; // Pas de Pull-Up.
DDRD=0xFF; // Tout en sortie.
//Inactivation du clavier
DDRA|=_BV(PA7);
PORTA|=_BV(PA7);
// Afficheur LCD
lcd_init(LCD_DISP_ON); // Initialisation
lcd_ChargeAccentsFrancais();
lcd_EcrisAuCentre("Voltmètre",0); // Ecriture de Voltmètre 1ème colonne 1ème ligne
lcd_EcrisTexteLong("V",13,1,0,0);// Ecriture de V 7ème colonne 2ème ligne
InitCAN(AVcc,Div4,Libre,10);
while (1)
{
ftoa (ConvertirVoieVolt(0),10, ChaineTension); // convertir en chaine de caractères la tension de la voie 0
lcd_EcrisTexteLong(ChaineTension,0,1,0,0);
}
}
Vince
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.
http://anyedit.free.fr/
http://electropol.free.fr/
Les amis, ça va, ça vient, mais les ennemis, ça s’accumule.