Table des matières:

Enregistreur de données de surveillance du courant alternatif : 9 étapes (avec photos)
Enregistreur de données de surveillance du courant alternatif : 9 étapes (avec photos)

Vidéo: Enregistreur de données de surveillance du courant alternatif : 9 étapes (avec photos)

Vidéo: Enregistreur de données de surveillance du courant alternatif : 9 étapes (avec photos)
Vidéo: VidéoSurveillance / CCTV : Installation et Configuration d'un NVR HIKVision 2024, Novembre
Anonim
Enregistreur de données de surveillance de courant altern-t.webp
Enregistreur de données de surveillance de courant altern-t.webp

Salut tout le monde, bienvenue dans mon premier instructable ! Le jour, je suis ingénieur d'essai pour une entreprise qui fournit des équipements de chauffage industriel, la nuit, je suis un passionné de technologie et un bricoleur. Une partie de mon travail consiste à tester les performances des appareils de chauffage, à cette occasion, je voulais pouvoir surveiller le courant RMS de 8 appareils sur 1000 heures et enregistrer les données pour représenter graphiquement les résultats plus tard. J'ai accès à un enregistreur de données mais il était déjà engagé dans un autre projet et j'avais besoin de quelque chose à faible coût, j'ai donc décidé de bricoler cet enregistreur de données de base.

Le projet utilise un Arduino Uno pour lire les capteurs analogiques via un convertisseur analogique-numérique (ADC) et enregistre les données avec un horodatage sur une carte SD. Il y a beaucoup de théorie et de calcul impliqués dans la conception des circuits, donc au lieu d'expliquer absolument tout, je vais juste vous montrer comment le faire. Si vous êtes intéressé à voir le hit COMPLET, faites-le moi savoir dans les commentaires et je vous expliquerai plus en détail.

REMARQUE:

J'ai eu beaucoup de questions sur les calculs True RMS. Cet appareil utilise un redresseur demi-onde pour capturer le pic de l'onde, qui peut ensuite être multiplié par 0,707 pour donner RMS. Par conséquent, il ne donnera un résultat précis qu'avec des charges linéaires (c'est-à-dire que le courant mesuré est une onde sinusoïdale pure). Les alimentations ou charges non linéaires qui donnent des formes d'onde triangulaires, rectangulaires ou toute autre forme d'onde non sinusoïdale ne donneront pas un vrai calcul RMS. Cet appareil mesure uniquement le courant alternatif, il n'est pas conçu pour mesurer la tension. Par conséquent, il ne calcule ni ne mesure le facteur de puissance. S'il vous plaît voir mon autre instructable sur la façon de créer un compteur de facteur de puissance qui peut être utilisé pour ce faire. Beaucoup de gens ont également dit qu'un couplage CA droit avec une ligne centrale de 2,5 V est meilleur, mais cela introduit des complications car il implique d'avoir un taux d'échantillonnage numérique suffisamment rapide, une moyenne/lissage des données robuste, etc. et l'incertitude que cela introduit est beaucoup plus élevée que la mesure la valeur brute. Personnellement, je préfère les solutions matérielles et un code plus simple lorsque cela est possible, donc je ne suis pas intéressé par cette méthode. En termes de précision, je pense que c'est bien mieux que ce dernier et vous verrez plus tard dans mes résultats qu'il y a un coefficient de régression proche de 1,0 après l'étalonnage.

Étape 1: Transformateurs de courant

Transformateurs de courant
Transformateurs de courant
Transformateurs de courant
Transformateurs de courant

Ce projet utilise le transformateur de courant HMCT103C 5A/5MA. Il a un rapport de tours de 1:1000, ce qui signifie que pour chaque 5A de courant circulant dans le conducteur, 5mA traverseront le CT. Une résistance doit être connectée aux deux bornes du TC pour permettre la mesure d'une tension à ses bornes. A cette occasion j'ai utilisé une résistance de 220 Ohm, donc en utilisant la loi d'Ohm V=IR, la sortie du CT sera de 1,1 Volts AC, pour chaque 5mA de courant CT (ou chaque 5A de courant mesuré). Les CT ont été soudés pour dénuder la carte avec la résistance et un fil d'instrument pour faire des fils volants. J'ai terminé les fils avec des prises jack audio mâles de 3,5 mm.

Voici la fiche technique du transformateur de courant

Fiche technique

Étape 2: Conditionnement du signal

Conditionnement de signal
Conditionnement de signal
Conditionnement de signal
Conditionnement de signal

Le signal du CT sera faible et doit donc être amplifié. Pour cela, j'ai soudé un circuit amplificateur simple à l'aide d'un ampli op à double rail uA741. Dans ce cas le gain est donc fixé à 150 en utilisant la formule Rf/Rin (150k/1k). Cependant, le signal de sortie de l'amplificateur est toujours en courant alternatif, la diode sur la sortie de l'ampli-op coupe le demi-cycle négatif du courant alternatif et transmet la tension positive à un condensateur de 0,1 uF pour lisser l'onde en un signal continu ondulé. Voici les pièces qui composent le circuit:

  • V1 - Ceci est arbitraire dans ce diagramme, il représente simplement la tension du signal qui est introduite dans l'entrée non inverseuse de l'ampli-op.
  • R1 - Ceci est connu comme la résistance de rétroaction (Rf) et est réglé sur 150k
  • R2 - Ceci est connu comme la résistance d'entrée (Rin) et est réglé sur 1k
  • 741 - Ceci est le circuit intégré uA741
  • VCC - Rail d'alimentation positif +12V
  • VEE - Rail d'alimentation négatif -12V
  • D1 - La diode de signal de redressement d'onde haf 1N4001 est-elle
  • C3 - Ce condensateur maintient le signal CC pendant une durée définie

Sur la photo 2, vous pouvez voir qu'il a été assemblé à l'aide de Veroboard et de fil de cuivre étamé. 4 trous ont été percés pour les supports PCB afin qu'ils puissent être empilés (car il y a huit canaux, il doit y avoir huit circuits amplificateurs au total.

Étape 3: Alimentation

Source de courant
Source de courant
Source de courant
Source de courant
Source de courant
Source de courant

Si vous n'avez pas envie de le faire à partir de zéro, vous pouvez acheter la carte pré-assemblée en Chine comme celle illustrée ci-dessus, mais vous aurez toujours besoin du transformateur 3VA (abaissez 240V à 12V). Celui sur la photo m'a coûté environ 2,50 £

Pour alimenter le projet, j'ai décidé de créer ma propre alimentation 12VDC à double rail. C'était pratique car les amplificateurs opérationnels nécessitent +12V, 0V, -12V, et l'Arduino Uno peut accepter n'importe quelle alimentation jusqu'à 14 VDC. Voici les pièces qui composent le circuit:

  • V1 - Ceci représente l'alimentation de la prise secteur 240V 50Hz
  • T1 - C'est un petit transformateur 3VA sur lequel j'avais traîné. Il est important que le transformateur ait une prise centrale sur le secondaire qui sera connectée au 0V c'est-à-dire à la masse
  • D1 à D4 - Il s'agit d'un pont redresseur pleine onde utilisant des diodes 1N4007
  • C1 & C2 - Condensateurs électrolytiques 35V 2200uF (doit être de 35V car le potentiel entre positif et négatif atteindra 30V)
  • U2 - LM7812, est un régulateur de tension positive 12V
  • U3 - LM7912, est un régulateur de tension négative 12V (attention à noter les différences de broches entre les IC 78xx et 79xx !)
  • C3 & C4 - Condensateurs de lissage 100nF électrolytique 25V
  • C5 & C6 - Condensateurs à disque céramique 10uF

J'ai soudé les composants sur un stripboard et j'ai joint les pistes verticales avec du fil de cuivre étamé à un noyau nu. L'image 3 ci-dessus montre mon alimentation DIY, désolé il y a beaucoup de cavaliers sur la photo !

Étape 4: Convertisseurs analogiques-numériques

Convertisseurs analogiques-numériques
Convertisseurs analogiques-numériques
Convertisseurs analogiques-numériques
Convertisseurs analogiques-numériques

L'Arduino Uno dispose déjà d'un CAN 10 bits intégré, mais il n'y a que 6 entrées analogiques. Par conséquent, j'ai choisi d'utiliser deux évasions ADC avec l'ADS1115 16 bits. Cela permet à 2^15 = 32767 bits de représenter les niveaux de tension de 0 à 4,096 V (4,096 V est la tension de fonctionnement du breakout), cela signifie que chaque bit représente 0,000125 V ! De plus, parce qu'il utilise le bus I2C, cela signifie que jusqu'à 4 CAN peuvent être adressés, ce qui permet de surveiller jusqu'à 16 canaux si vous le souhaitez.

J'ai essayé d'illustrer les connexions à l'aide de Fritzing, mais en raison des limitations, il n'y a pas de pièces personnalisées pour illustrer un générateur de signaux. Le fil violet est connecté à la sortie du circuit amplificateur, le fil noir à côté illustre que tous les circuits amplificateurs doivent partager une masse commune. J'ai donc utilisé une maquette pour illustrer comment j'ai fait les points d'attache. Cependant, mon projet actuel a les évasions assises dans des en-têtes femelles, soudées au Veroboard, et tous les points d'attache sont soudés sur le veroboard.

Étape 5: Microcontrôleur

Microcontrôleur
Microcontrôleur

Comme mentionné ci-dessus, le contrôleur que j'ai choisi était un Arduino Uno, c'était un bon choix car il a beaucoup de fonctionnalités intégrées et intégrées qui auraient autrement dû être construites séparément. De plus, il est compatible avec de nombreux « boucliers » spécialement construits. À cette occasion, j'avais besoin d'une horloge en temps réel pour horodater tous les résultats et d'un graveur de carte SD pour enregistrer les résultats dans un fichier.csv ou.txt. Heureusement, le blindage d'enregistrement de données Arduino a les deux dans un blindage qui s'insère sur la carte Arduino d'origine sans soudure supplémentaire. Le shield est compatible avec les librairies RTClib et carte SD donc pas besoin de code spécialisé.

Étape 6: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

J'ai utilisé du PVC rigide de densité moyenne/basse de 5 mm (parfois appelé panneau de mousse) pour visser la plupart de mes composants et les couper à une taille pratique avec un cutter. Tous les composants ont été construits de manière modulaire pour le prototype car cela permet de retirer des pièces individuelles en cas de problème, mais ce n'est pas aussi efficace ou ordonné qu'un PCB gravé (travail supplémentaire), cela signifie également beaucoup de fils de liaison entre les composants.

Étape 7: Téléchargement du code

Téléchargez le code sur l'Arduino ou obtenez le code à partir de mon référentiel Github

github.com/smooth-jamie/datalogger.git

Étape 8: Étalonnage

Étalonnage
Étalonnage
Étalonnage
Étalonnage
Étalonnage
Étalonnage

Théoriquement, le courant mesuré sera le résultat de plusieurs éléments combinés:

Ampères mesurés = (((a *0.45)/150)/(1.1/5000))/1000 où 'a' est la tension du signal de l'amplificateur

0,45 est la valeur efficace du Vout du circuit amplificateur, 150 est le gain de l'amplificateur opérationnel (Rf/Rin = 150k/1k), 1,1 est la tension de sortie pleine échelle du TC lorsque les ampères mesurés sont de 5A, 5000 est simplement 5A dans mA, et 1000 est le nombre de tours dans le transformateur. Cela peut être simplifié en:

Ampères mesurés = (b * 9,216) / 5406555 où b est la valeur rapportée par l'ADC

Cette formule a été testée à l'aide de l'ADC 10 bits Arduino et une différence entre les valeurs du multimètre et les valeurs générées par Arduino a été observée de 11%, ce qui est un écart inacceptable. Ma méthode préférée pour l'étalonnage consiste à enregistrer la valeur ADC en fonction du courant sur un multimètre dans une feuille de calcul et de tracer un polynôme du troisième ordre. À partir de là, la formule cubique peut être utilisée pour donner de meilleurs résultats lors du calcul du courant mesuré:

(ax^3) + (bx^2) + (cx^1) + d

Les coefficients a, b, c et d sont calculés dans Excel à partir d'un simple tableau de données, x est votre valeur ADC.

Pour obtenir les données, j'ai utilisé une résistance variable en céramique 1k (rhéostat) et un transformateur 12v pour abaisser la tension alternative du secteur de 240V, ce qui me permettra de générer une source de courant variable de 13mA à 100mA. Plus il y a de points de données collectés, mieux c'est, mais je suggère de collecter 10 points de données pour obtenir une tendance précise. Le modèle Excel ci-joint calculera les coefficients pour vous, il ne reste plus qu'à les saisir dans le code arduino

Sur la ligne 69 du code vous verrez où entrer les coefficients

float chn0 = ((7.30315 * pow(10, -13)) * pow(adc0, 3) + (-3.72889 * pow(10, -8) * pow(adc0, 2) + (0.003985811 * adc0) + (0.663064521)));

qui est la même que la formule dans la feuille 1 du fichier excel:

y = 7E-13x3 - 4E-08x2 + 0,004x + 0,663

Où x = adc0 de n'importe quel canal que vous calibrez

Étape 9: Terminer

Finir
Finir
Finir
Finir
Finir
Finir
Finir
Finir

Mettez-le dans une enceinte de projet. J'ai terminé l'alimentation par un interrupteur à bascule pour allumer/éteindre le tout au niveau de l'alimentation, et un connecteur IEC "figure 8" pour l'entrée secteur. Vissez le tout ensemble et vous êtes prêt à le tester.

La poursuite des travaux

L'ensemble du projet a été modélisé assez rapidement, il y a donc beaucoup de place pour l'amélioration, un circuit gravé, de meilleurs composants. Idéalement, le tout serait gravé ou soudé sur FR4 plutôt que des charges de cavaliers. Comme je l'ai dit plus tôt, il y a beaucoup de choses que je n'ai pas mentionnées, mais s'il y a quelque chose de spécifique que vous aimeriez savoir, faites-le moi savoir dans les commentaires et je mettrai à jour l'instructable !

Mise à jour 2016-12-18

J'ai maintenant ajouté un écran LCD 16x2 utilisant le "sac à dos" I2C pour surveiller les quatre premiers canaux, j'en ajouterai un autre pour surveiller les quatre derniers lorsqu'il arrivera par la poste.

Crédits

Ce projet a été rendu possible par tous les auteurs des bibliothèques utilisées dans mon sketch Arduino, y compris la bibliothèque DS3231, la bibliothèque Adafruit ADS1015 et la bibliothèque Arduino SD

Conseillé: