![Μέτρηση True-RMS Τάση AC: 14 βήματα Μέτρηση True-RMS Τάση AC: 14 βήματα](https://i.howwhatproduce.com/images/001/image-1888-49-j.webp)
Πίνακας περιεχομένων:
- Βήμα 1: Επίδειξη
- Βήμα 2: Χρησιμοποιημένοι πόροι
- Βήμα 3: Διάγραμμα αποκλεισμού
- Βήμα 4: Σχέδιο
- Βήμα 5: LM386 - Καρφίτσωμα
- Βήμα 6: AmpOp - Διαφορικό (αφαιρετής)
- Βήμα 7: AmpOp - Inverter Adder
- Βήμα 8: Maple Mini - Pinage
- Βήμα 9: Maple Mini - Καρφίτσωμα - a / D Χρησιμοποιείται στη λήψη
- Βήμα 10: Συναρμολόγηση
- Βήμα 11: Γράφημα με τα δεδομένα που λαμβάνονται
- Βήμα 12: Υπολογισμός της τιμής RMS
- Βήμα 13: Πηγαίος κώδικας
- Βήμα 14: Αρχεία
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39
![Image Image](https://i.howwhatproduce.com/images/001/image-1888-51-j.webp)
![](https://i.ytimg.com/vi/4cesdyLJFFg/hqdefault.jpg)
![Επίδειξη Επίδειξη](https://i.howwhatproduce.com/images/001/image-1888-52-j.webp)
Σήμερα, θα χρησιμοποιήσουμε το STM32 Maple Mini για να κάνουμε ανάγνωση AC. Στο παράδειγμά μας, θα λάβουμε την τιμή RMS του δικτύου ισχύος. Αυτό είναι πολύ χρήσιμο για όσους θέλουν να παρακολουθούν το ηλεκτρικό δίκτυο για το Διαδίκτυο των Πραγμάτων. Στη συνέχεια, θα δημιουργήσουμε μια εφαρμογή χρησιμοποιώντας την υπολογιστική ισχύ του Maple Mini, θα εφαρμόσουμε ένα ηλεκτρονικό κύκλωμα ικανό να επιτρέψει την απόκτηση σήματος 127Vac, καθώς και να εφαρμόσουμε τον υπολογισμό του τελικού τετραγώνου (RMS) στα δείγματα.
Βήμα 1: Επίδειξη
Στη συναρμολόγησή μας σήμερα, έχουμε το STM32, εκτός από το αναλογικό μας κύκλωμα για να κάνουμε την είσοδο 110. Για να αποφύγετε τους κραδασμούς, απομονώστε την αντίσταση που εισέρχεται κατά 110.
Το κύκλωμα είναι αρκετά ευαίσθητο. Μπαίνω με 110, αλλά το μειώνω 168 φορές χρησιμοποιώντας το διαχωριστή τάσης και το βάζω στον λειτουργικό ενισχυτή, ο οποίος έχει αρκετές λειτουργίες.
Έχουμε επίσης μερικούς προαιρετικούς πυκνωτές για φιλτράρισμα πηγής. Εάν η πηγή σας είναι καλής ποιότητας, δεν χρειάζεται να τις χρησιμοποιήσετε.
Η είσοδος AD υπολογίζεται μέσω του παλμογράφου, στο οποίο βλέπετε ένα ημιτονοειδές, το οποίο δεν είναι 110 (αλλά είναι καλά σχηματισμένο). Ένα άλλο πράγμα είναι ότι η τάση στο ηλεκτρικό μας δίκτυο δεν είναι 110 (είναι στην πραγματικότητα 127 βολτ). Αλλά καθώς βρισκόμαστε σε έναν σταθεροποιητή, θα προσαρμοστεί στα 115V.
Η τιμή που εμφανίζεται στη σειριακή οθόνη είναι αυτή που υπολογίζεται σε RMS, δηλαδή αυτή που προσδιορίζεται από τον μετρητή Fluke.
Βήμα 2: Χρησιμοποιημένοι πόροι
![Πόροι που χρησιμοποιήθηκαν Πόροι που χρησιμοποιήθηκαν](https://i.howwhatproduce.com/images/001/image-1888-53-j.webp)
• Μπέρτες
• A Maple Mini
• Protoboard
• Ενισχυτής LM386
• Μια συμμετρική πηγή (+ 5V και -5V)
• Τρίποτ πολλαπλής στροφής 10k (ή ποτενσιόμετρο)
• Τέσσερις πυκνωτές πολυεστέρα 100nF
• Τρεις αντιστάσεις 10k
• Τέσσερις αντιστάσεις 470k
• Μία αντίσταση 5k6
• Μία δίοδος zener 1n4728A
Βήμα 3: Διάγραμμα αποκλεισμού
![Αποκλεισμός διαγράμματος Αποκλεισμός διαγράμματος](https://i.howwhatproduce.com/images/001/image-1888-54-j.webp)
Βήμα 4: Σχέδιο
![Σχέδιο Σχέδιο](https://i.howwhatproduce.com/images/001/image-1888-55-j.webp)
Αυτό είναι ένα κύκλωμα που ανέπτυξα με βάση τις προδιαγραφές που πιστεύω ότι είναι οι καλύτερες για αυτή τη μέτρηση, αλλά υπάρχουν πολλά άλλα παραδείγματα που μπορούν να βρεθούν στο διαδίκτυο.
Βήμα 5: LM386 - Καρφίτσωμα
![LM386 - Καρφίτσωμα LM386 - Καρφίτσωμα](https://i.howwhatproduce.com/images/001/image-1888-56-j.webp)
Το LM386 διαθέτει δύο ενισχυτές για κλιματισμό ή ενίσχυση σήματος.
Βήμα 6: AmpOp - Διαφορικό (αφαιρετής)
![AmpOp - Διαφορικό (αφαιρετής) AmpOp - Διαφορικό (αφαιρετής)](https://i.howwhatproduce.com/images/001/image-1888-57-j.webp)
Βήμα 7: AmpOp - Inverter Adder
![AmpOp - Inverter Adder AmpOp - Inverter Adder](https://i.howwhatproduce.com/images/001/image-1888-58-j.webp)
Βήμα 8: Maple Mini - Pinage
![Maple Mini - Pinage Maple Mini - Pinage](https://i.howwhatproduce.com/images/001/image-1888-59-j.webp)
Καρφίτσες σημειωμένες σε:
Κόκκινο >> 3V3 Ανεκτικό
Πράσινο >> 5V ανεκτικό
Βήμα 9: Maple Mini - Καρφίτσωμα - a / D Χρησιμοποιείται στη λήψη
![Maple Mini - Καρφίτσωμα - a / D Χρησιμοποιείται στη λήψη Maple Mini - Καρφίτσωμα - a / D Χρησιμοποιείται στη λήψη](https://i.howwhatproduce.com/images/001/image-1888-60-j.webp)
Τονίζω εδώ ότι η καρφίτσα που χρησιμοποίησα είναι η D11 που (στην ονοματολογία της STMicroelectronics) είναι η PA0.
Βήμα 10: Συναρμολόγηση
![Συνέλευση Συνέλευση](https://i.howwhatproduce.com/images/001/image-1888-61-j.webp)
Για το κύκλωμά μας, θα χρειαστείτε μια συμμετρική πηγή, όπως αυτή που δημιουργήσαμε για αυτό το έργο. Διαφορετικά, θα χρειαστείτε δύο πηγές.
Βήμα 11: Γράφημα με τα δεδομένα που λαμβάνονται
![Γράφημα με τα δεδομένα που λαμβάνονται Γράφημα με τα δεδομένα που λαμβάνονται](https://i.howwhatproduce.com/images/001/image-1888-62-j.webp)
Βήμα 12: Υπολογισμός της τιμής RMS
![Υπολογισμός της τιμής RMS Υπολογισμός της τιμής RMS](https://i.howwhatproduce.com/images/001/image-1888-63-j.webp)
Βήμα 13: Πηγαίος κώδικας
Πηγαίος κώδικας - Ορισμοί και σταθερές
Αρχικά, ορίσαμε την ανάγνωση του πείρου ως D11, καθώς και τις διάφορες σταθερές που χρησιμοποιούνται στους υπολογισμούς.
#define leituraTensao D11 // AD CH0 no pino PA0 // valor teórico divisor de tensão = 168.85714285714285714286 const float fatorDivisor = 168.40166345742404792461; // valor teórico do ganho de amplificação = 1.0 const float fatorAmplificador = 1.0; // Valor usado na multiplicação da leitura const float fatorMultiplicacao = fatorDivisor * fatorAmplificador; // Valor teórico da Tensão de alimentação Vcc = 3.3V const float Vcc = 3.3; // valor teórico do offset do amplificador = Vcc /2.0; const float offSet = 1,66; // fator teórico da conversão do AD = 3.3 / 4095.0 const float fatorAD = Vcc / 4095.0; const int amostras = 71429; // resulta em 1, 027 segundos para cada atualização // const int amostras = 35715; // resulta em 0, 514 segundos para cada atualização
Πηγαίος κώδικας - Καθολικές μεταβλητές
Τώρα, ορίζουμε ορισμένες γενικές μεταβλητές.
float Vrms = 0,0; // armazena o valor rms da tensãofloat Vmax = 0,0; // armazena o valor máximo deteado float Vmin = 10000.0; // armazena o valor mínimo deteado float Vmed = 0,0; // armazena o valor médio entre Vmáx e Vmín
Πηγαίος κώδικας - Ρύθμιση ()
Ξεκινήστε τη σειριακή θύρα στα 1Mbps. Προσαρμόσαμε τη θύρα AD ως είσοδο και περιμέναμε 5 δευτερόλεπτα πριν ξεκινήσουμε τη συλλογή δεδομένων. Ο χρόνος αναμονής είναι προαιρετικός.
void setup () {Serial.begin (1000000); // inicia a porta serial em 1Mbps pinMode (leituraTensao, INPUT); // ajusta a porta do AD como entrada delay (5000). // aguarda 5s antes de iniciar a coleta. (προαιρετικά)}
Πηγαίος κώδικας - Loop () - Ξεκινά τις μεταβλητές συλλογής δεδομένων
Στο βρόχο, έχουμε τη μεταβλητή για επανάληψη. Εδώ, αποθηκεύουμε επίσης τις ενδείξεις του AD σε 0,0 και κάνουμε επανεκκίνηση της μεταβλητής VRMS επίσης σε 0,0.
void loop () {int i = 0; // variável para iteração float leitura = 0,0; // armazena as leituras do AD Vrms = 0,0; // reinicia a variável Vrms
Πηγαίος κώδικας - Καταγράφει και εκτελεί τους μεμονωμένους υπολογισμούς για κάθε δείγμα
Σε αυτό το στάδιο, εάν το i είναι μικρότερο από το δείγμα, ξεκινάμε έναν κύκλο δειγματοληψίας μέχρι να φτάσω τον αριθμό των δειγμάτων. Τρέχουμε το analogRead για να διαβάσουμε την αναλογική θύρα και να υπολογίσουμε το άθροισμα των τετραγώνων των τάσεων ανάγνωσης. Τέλος, αυξάνουμε τον επαναληπτή.
ενώ (i <amostras) {// inicia um ciclo de amostragem até que i alcance o número de amostras leitura = analogRead (leituraTensao); // lê a porta analógica //Serial.println(leitura); // Descomente se quiser ver o sinal bruto do AD Vrms = Vrms + pow (((leitura * fatorAD) - offSet), 2.0); // calcula a soma dos quadrados das tensões lidas i ++; // incrementa o iterador}
Πηγαίος κώδικας - Γενικοί υπολογισμοί των δειγμάτων και προσδιορισμός μέγιστου, ελάχιστου και μέσου όρου
Εφαρμόζουμε το γεγονός του πολλαπλασιασμού για να καθορίσουμε την πραγματική τιμή των τάσεων. Ανιχνεύουμε αν η τιμή είναι μέγιστη ή ελάχιστη και υπολογίζουμε τον μέσο όρο των τρέχουσας μέγιστης και ελάχιστης τιμής.
// Aplicando fator de multiplicação para determinar o valor real das tensões Vrms = (sqrt (Vrms /amostras)) * fatorMultiplicacao; // detea se é um um um méximo if (Vrms> Vmax) {Vmax = Vrms; } // detea se é um um valor mínimo if (Vrms <Vmin) {Vmin = Vrms; } // calcula a média dos valores máximo e mínimo atuais Vmed = (Vmax + Vmin) /2.0;
Πηγαίος κώδικας - Επιλογές εξόδου
Έχουμε τρεις επιλογές για τη «σχεδίαση» της τιμής εξόδου. Έχουμε εξόδου μορφοποιημένο στο σειριακό plotter του Arduino IDE, όπως CSV ή Jason.
// saída formatada para plotter serial IDE Arduino Serial.print (Vrms, 3); Serial.print (","); Serial.print (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); /* // saída formatada como json Serial.print ("{" instante (ms) ":"); Serial.print (millis ()); Serial.print (","); Serial.print ("\" Vrms (V) ":"); Serial.print (Vrms, 3); Serial.print (","); Serial.print ("\" Vmax (V) ":"); Serial.print (Vmax, 3); Serial.print (","); Serial.print ("\" Vmin (V) ":"); Serial.print (Vmin, 3); Serial.print (","); Serial.print ("\" Vmed (V) ":"); Serial.print (Vmed, 3); Serial.println ("}"); * / /* // saída formatada como CSV Serial.print (millis ()); Serial.print (","); Serial.print (Vrms, 3); Serial.print (","); Serial.print (Vmax, 3); Serial.print (","); Serial.print (Vmin, 3); Serial.print (","); Serial.println (Vmed, 3); */}
Βήμα 14: Αρχεία
Κατεβάστε τα αρχεία:
ΕΓΩ ΔΕΝ
Συνιστάται:
Φορητή τάση και τρέχουσα πηγή 4-20mA: 7 βήματα
![Φορητή τάση και τρέχουσα πηγή 4-20mA: 7 βήματα Φορητή τάση και τρέχουσα πηγή 4-20mA: 7 βήματα](https://i.howwhatproduce.com/images/001/image-2938-4-j.webp)
Φορητή Τάση και Τρέχουσα Πηγή 4-20mA: Αυτό το διδακτικό αναφέρει λεπτομερώς πώς να φτιάξετε μια γεννήτρια σήματος 0-20mA +/- 10V χρησιμοποιώντας ένα φθηνό opamp LM324. Αυτοί οι τύποι γεννητριών σήματος είναι χρήσιμοι στη βιομηχανία για τη δοκιμή εισόδων αισθητήρων ή την οδήγηση βιομηχανικών ενισχυτών. Ενώ είναι δυνατό να αγοραστούν αυτά τα τ
DIY 8-κανάλια Αναλογική μέγιστη/ελάχιστη τάση παρακολούθησης: 13 βήματα
![DIY 8-κανάλια Αναλογική μέγιστη/ελάχιστη τάση παρακολούθησης: 13 βήματα DIY 8-κανάλια Αναλογική μέγιστη/ελάχιστη τάση παρακολούθησης: 13 βήματα](https://i.howwhatproduce.com/images/006/image-17309-j.webp)
DIY 8-κανάλια Analog Max/Min Voltage Monitor: Τα συστήματα ελέγχου και οι σχετικές συσκευές αντιμετωπίζουν πολλαπλές πηγές ενέργειας, όπως γραμμές πόλωσης ή μπαταρίες, και πρέπει να παρακολουθούν την υψηλότερη (ή τη χαμηλότερη) γραμμή μεταξύ ενός δεδομένου συνόλου. Για παράδειγμα, η εναλλαγή φορτίου σε ένα σύστημα με πολλαπλή μπαταρία απαιτεί να
Τάση εξόδου μετατροπέα DCDC Ελεγχόμενη από PWM: 3 βήματα
![Τάση εξόδου μετατροπέα DCDC Ελεγχόμενη από PWM: 3 βήματα Τάση εξόδου μετατροπέα DCDC Ελεγχόμενη από PWM: 3 βήματα](https://i.howwhatproduce.com/images/010/image-28318-j.webp)
Τάση εξόδου DCDC Converter Ελεγχόμενη από PWM: Χρειαζόμουν έναν ψηφιακά ελεγχόμενο μετατροπέα DCDC με μεταβλητή τάση εξόδου για ένα κύκλωμα φόρτισης … Έτσι έκανα ένα. Η ανάλυση τάσης εξόδου είναι εκθετικά χειρότερη όσο υψηλότερη είναι η έξοδος τάσης. Somethingσως κάτι να κάνει με τη σχέση LED
Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα
![Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα](https://i.howwhatproduce.com/images/010/image-28340-j.webp)
AVR Programmer W/High Voltage: This is my first Instructable. Ο πίνακας που σχεδίασα είναι προγραμματιστής AVR. Ο πίνακας συνδυάζει τις λειτουργίες 4 ξεχωριστών πρωτοτύπων πλακέτων που έχω κατασκευάσει τα τελευταία χρόνια: - Προγραμματιστής AVR υψηλής τάσης, που χρησιμοποιείται κυρίως σε συσκευές ATtiny για ρύθμιση τροφοδοσίας
Arduino Wattmeter - Τάση, ρεύμα και κατανάλωση ισχύος: 3 βήματα
![Arduino Wattmeter - Τάση, ρεύμα και κατανάλωση ισχύος: 3 βήματα Arduino Wattmeter - Τάση, ρεύμα και κατανάλωση ισχύος: 3 βήματα](https://i.howwhatproduce.com/images/011/image-31688-j.webp)
Arduino Wattmeter - Τάση, ρεύμα και κατανάλωση ισχύος: Μια συσκευή μπορεί να χρησιμοποιηθεί για τη μέτρηση της κατανάλωσης ενέργειας. Αυτό το κύκλωμα μπορεί επίσης να λειτουργήσει ως βολτόμετρο και αμπερόμετρο για τη μέτρηση της τάσης και του ρεύματος