Table des matières:
- Étape 1: Transformateurs de courant
- Étape 2: Conditionnement du signal
- Étape 3: Alimentation
- Étape 4: Convertisseurs analogiques-numériques
- Étape 5: Microcontrôleur
- Étape 6: Assemblage
- Étape 7: Téléchargement du code
- Étape 8: Étalonnage
- Étape 9: Terminer
Vidéo: Enregistreur de données de surveillance du courant alternatif : 9 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
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
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
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
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
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
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
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
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
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é:
La différence entre (courant alternatif et courant continu): 13 étapes
La différence entre (courant alternatif et courant continu) : Tout le monde sait que l'électricité est principalement du courant continu, mais qu'en est-il d'un autre type d'électricité ? Connaissez-vous Ac ? Que signifie AC ? Est-il utilisable alors DC? Dans cette étude, nous connaîtrons la différence entre les types d'électricité, les sources, les applications
Comment faire un enregistreur de données en temps réel d'humidité et de température avec Arduino UNO et carte SD - Simulation d'enregistreur de données DHT11 dans Proteus : 5 étapes
Comment faire un enregistreur de données en temps réel d'humidité et de température avec Arduino UNO et carte SD | Simulation de l'enregistreur de données DHT11 dans Proteus : Introduction : salut, c'est Liono Maker, voici le lien YouTube. Nous réalisons un projet créatif avec Arduino et travaillons sur des systèmes embarqués. Enregistreur de données : un enregistreur de données (également un enregistreur de données ou un enregistreur de données) est un appareil électronique qui enregistre des données au fil du temps avec
Lecteur/enregistreur ScanUp NFC et enregistreur audio pour aveugles, malvoyants et autres : 4 étapes (avec photos)
Lecteur/enregistreur ScanUp NFC et enregistreur audio pour aveugles, malvoyants et autres : j'étudie le design industriel et le projet est le travail de mon semestre. L'objectif est de soutenir les personnes malvoyantes et aveugles avec un appareil, qui permet d'enregistrer de l'audio au format .WAV sur une carte SD et d'appeler cette information par un tag NFC. Alors dans
Faire un enregistreur de données avec le Raspberry Pi : 3 étapes (avec photos)
Faire un enregistreur de données avec le Raspberry Pi : Cet enregistreur de données simple prend des mesures de lumière régulières avec un LDR analogique (photorésistance) et les stocke dans un fichier texte sur votre Raspberry Pi. Cet enregistreur de données mesurera et enregistrera le niveau de lumière toutes les 60 secondes, vous permettant de surveiller l'h
Utilisation du courant alternatif avec des LED (partie 4) - les nouvelles technologies : 6 étapes (avec photos)
Utilisation du courant alternatif avec des LED (partie 4) - les nouvelles technologies : Certains des obstacles à l'acceptation générale des LED dans la maison ont été le coût relativement élevé par lumen et les systèmes de conversion de puissance compliqués et maladroits. Au cours des derniers mois, un certain nombre de nouveaux développements promettent de nous rapprocher de