![Mengukur Tegangan AC True-RMS: 14 Langkah Mengukur Tegangan AC True-RMS: 14 Langkah](https://i.howwhatproduce.com/images/001/image-1888-49-j.webp)
Daftar Isi:
- Langkah 1: Demonstrasi
- Langkah 2: Sumber Daya yang Digunakan
- Langkah 3: Blok Diagram
- Langkah 4: Skema
- Langkah 5: LM386 - Menyematkan
- Langkah 6: AmpOp - Diferensial (pengurang)
- Langkah 7: AmpOp - Penambah Inverter
- Langkah 8: Maple Mini - Pinage
- Langkah 9: Maple Mini - Pinning - a / D Digunakan dalam Menangkap
- Langkah 10: Perakitan
- Langkah 11: Grafik Dengan Data yang Diperoleh
- Langkah 12: Menghitung Nilai RMS
- Langkah 13: Kode Sumber
- Langkah 14: File
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
![Image Image](https://i.howwhatproduce.com/images/001/image-1888-51-j.webp)
![](https://i.ytimg.com/vi/4cesdyLJFFg/hqdefault.jpg)
![Demonstrasi Demonstrasi](https://i.howwhatproduce.com/images/001/image-1888-52-j.webp)
Hari ini, kita akan menggunakan STM32 Maple Mini untuk melakukan pembacaan AC. Dalam contoh kita, kita akan mendapatkan nilai RMS dari jaringan listrik. Ini sangat berguna bagi mereka yang ingin memantau jaringan listrik untuk Internet of Things. Kami kemudian akan membuat aplikasi menggunakan kekuatan komputasi Maple Mini, menerapkan sirkuit elektronik yang memungkinkan perolehan sinyal 127Vac, serta menerapkan perhitungan root mean square (RMS) pada sampel.
Langkah 1: Demonstrasi
Dalam perakitan kami hari ini, kami memiliki STM32, selain sirkuit analog kami untuk membuat input 110. Untuk menghindari guncangan, isolasi resistor yang masuk sebesar 110.
Sirkuit ini cukup sensitif. Saya masuk dengan 110, tetapi saya menguranginya 168 kali menggunakan pembagi tegangan dan memasukkannya ke dalam penguat operasional, yang memiliki beberapa fungsi.
Kami juga memiliki beberapa kapasitor opsional untuk penyaringan sumber. Jika sumber Anda berkualitas baik, Anda tidak perlu menggunakannya.
Input AD dihitung melalui osiloskop, di mana Anda melihat sinusoid, yang bukan 110 (tetapi terbentuk dengan baik). Hal lain adalah tegangan di jaringan listrik kita tidak 110 (sebenarnya 127 volt). Tapi saat kita menjalani stabilizer, itu akan menyesuaikan ke 115V.
Nilai yang ditampilkan pada monitor serial adalah yang dihitung dalam RMS, yaitu nilai yang diidentifikasi oleh Fluke Meter.
Langkah 2: Sumber Daya yang Digunakan
![Sumber Daya yang Digunakan Sumber Daya yang Digunakan](https://i.howwhatproduce.com/images/001/image-1888-53-j.webp)
• Jumper
• Sebuah Maple Mini
• Protoboard
• Penguat LM386
• Sumber simetris (+ 5V dan -5V)
• Sebuah trimpot multi-putaran 10k (atau potensiometer)
• Empat kapasitor poliester 100nF
• Tiga resistor 10k
• Empat resistor 470k
• Satu resistor 5k6
• Satu dioda zener 1n4728A
Langkah 3: Blok Diagram
![Diagram Blok Diagram Blok](https://i.howwhatproduce.com/images/001/image-1888-54-j.webp)
Langkah 4: Skema
![Skema Skema](https://i.howwhatproduce.com/images/001/image-1888-55-j.webp)
Ini adalah rangkaian yang saya kembangkan berdasarkan spesifikasi yang saya yakini adalah yang terbaik untuk pengukuran ini, tetapi ada beberapa contoh lain yang dapat ditemukan di internet.
Langkah 5: LM386 - Menyematkan
![LM386 - Menyematkan LM386 - Menyematkan](https://i.howwhatproduce.com/images/001/image-1888-56-j.webp)
LM386 memiliki dua amplifier untuk pengkondisian atau penguatan sinyal.
Langkah 6: AmpOp - Diferensial (pengurang)
![AmpOp - Diferensial (pengurang) AmpOp - Diferensial (pengurang)](https://i.howwhatproduce.com/images/001/image-1888-57-j.webp)
Langkah 7: AmpOp - Penambah Inverter
![AmpOp - Penambah Inverter AmpOp - Penambah Inverter](https://i.howwhatproduce.com/images/001/image-1888-58-j.webp)
Langkah 8: Maple Mini - Pinage
![Maple Mini - Pinage Maple Mini - Pinage](https://i.howwhatproduce.com/images/001/image-1888-59-j.webp)
Pin ditandai pada:
Merah >> Toleransi 3V3
Hijau >> Toleransi 5V
Langkah 9: Maple Mini - Pinning - a / D Digunakan dalam Menangkap
![Maple Mini - Pinning - a / D Digunakan dalam Menangkap Maple Mini - Pinning - a / D Digunakan dalam Menangkap](https://i.howwhatproduce.com/images/001/image-1888-60-j.webp)
Saya tekankan di sini bahwa pin yang saya gunakan adalah D11 yang (dalam nomenklatur STMicroelectronics) adalah PA0.
Langkah 10: Perakitan
![perakitan perakitan](https://i.howwhatproduce.com/images/001/image-1888-61-j.webp)
Untuk sirkuit kami, Anda akan memerlukan sumber simetris, seperti yang kami buat untuk proyek ini. Jika tidak, Anda memerlukan dua sumber.
Langkah 11: Grafik Dengan Data yang Diperoleh
![Grafik Dengan Data yang Diperoleh Grafik Dengan Data yang Diperoleh](https://i.howwhatproduce.com/images/001/image-1888-62-j.webp)
Langkah 12: Menghitung Nilai RMS
![Menghitung Nilai RMS Menghitung Nilai RMS](https://i.howwhatproduce.com/images/001/image-1888-63-j.webp)
Langkah 13: Kode Sumber
Kode sumber - Definisi dan konstanta
Pada awalnya, kami mendefinisikan pembacaan pin sebagai D11, serta berbagai konstanta yang digunakan dalam perhitungan.
#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 Tenso 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 percakapan yang dilakukan AD = 3.3 / 4095.0 const float fatorAD = Vcc / 4095.0; const int amostras = 71429; //hasil dari 1, 027 segundos para cada atualização //const int amostras = 35715; //hasil em 0, 514 segundos para cada atualização
Kode sumber - Variabel global
Sekarang, kita mendefinisikan beberapa variabel global.
float Vrms = 0,0; //armazena o valor rms da tensãofloat Vmax = 0.0; //armazena o valor máximo detectado float Vmin = 10000.0; //armazena o valor mínimo detectado float Vmed = 0.0; //armazena o valor médio entre Vmáx e Vmín
Kode Sumber - Pengaturan ()
Mulai port serial pada 1Mbps. Kami menyesuaikan port AD sebagai input dan menunggu 5 detik sebelum mulai mengumpulkan data. Waktu siaga adalah opsional.
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. (opsional) }
Kode Sumber - Loop () - Memulai variabel pengumpulan data
Dalam Loop, kami memiliki variabel untuk iterasi. Di sini, kami juga menyimpan pembacaan AD di 0.0 dan me-restart variabel VRMS juga di 0.0.
void loop() { int i = 0; //variável para iteração float leitura = 0.0; //armazena seperti yang biasa dilakukan AD Vrms = 0.0; //reinicia a variável Vrms
Kode Sumber - Menangkap dan menjalankan perhitungan individual untuk setiap sampel
Pada tahap ini, jika i lebih kecil dari sampel, kita memulai siklus sampling sampai i mencapai jumlah sampel. Kami menjalankan analogRead untuk membaca port analog dan menghitung jumlah kuadrat dari tegangan baca. Akhirnya, kami meningkatkan iterator.
while (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(leitur); //Descomente se quiser ver o sinal bruto do AD Vrms = Vrms + pow(((leitura * fatorAD) - offSet), 2.0); //hitung a soma dos quadrados das tensões lidas i++; //tambahan atau iterador }
Kode sumber - Perhitungan umum sampel dan identifikasi maksimum, minimum, dan rata-rata
Kami menerapkan fakta perkalian untuk menentukan nilai sebenarnya dari tegangan. Kami mendeteksi apakah nilainya maksimum atau minimum, dan kami menghitung rata-rata nilai maksimum dan minimum saat ini.
//Aplicando fator de multiplicação para determinar o valor real das tensões Vrms = (sqrt(Vrms / amostras)) * fatorMultiplicacao; //deteksi se é um valor é máximo if (Vrms > Vmax) { Vmax = Vrms; } //deteksi se é um valor mínimo if (Vrms < Vmin) { Vmin = Vrms; } //hitung media dos valores máximo e mínimo atuais Vmed = (Vmax + Vmin) / 2.0;
Kode Sumber - Opsi Keluaran
Kami memiliki tiga opsi untuk "merencanakan" nilai output. Kami memiliki output yang diformat ke plotter serial Arduino IDE, seperti CSV atau Jason.
//saída formatada untuk 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(milis()); 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); */ }
Langkah 14: File
Unduh file:
SAYA TIDAK
Direkomendasikan:
Monitor Tegangan untuk Baterai Tegangan Tinggi: 3 Langkah (dengan Gambar)
![Monitor Tegangan untuk Baterai Tegangan Tinggi: 3 Langkah (dengan Gambar) Monitor Tegangan untuk Baterai Tegangan Tinggi: 3 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/005/image-12694-j.webp)
Monitor Tegangan untuk Baterai Tegangan Tinggi: Dalam panduan ini saya akan menjelaskan kepada Anda bagaimana saya membuat monitor tegangan baterai untuk longboard listrik saya. Pasang sesuka Anda dan sambungkan hanya dua kabel ke baterai Anda (Gnd dan Vcc). Panduan ini mengasumsikan bahwa tegangan baterai Anda melebihi 30 volt, w
Menggunakan Sirkuit untuk Mengukur Tegangan Gerbang Digital: 7 Langkah
![Menggunakan Sirkuit untuk Mengukur Tegangan Gerbang Digital: 7 Langkah Menggunakan Sirkuit untuk Mengukur Tegangan Gerbang Digital: 7 Langkah](https://i.howwhatproduce.com/images/008/image-21368-j.webp)
Menggunakan Sirkuit untuk Mengukur Tegangan Gerbang Digital: Sirkuit digital umumnya menggunakan suplai 5 volt. Tegangan digital yang berasal dari 5v -2,7 volt dalam seri TTL (sejenis chip terintegrasi digital) dianggap tinggi dan memiliki nilai 1.Tegangan digital bentuk 0-0,5 dianggap rendah dan memiliki
Catu Daya DC Tegangan Disesuaikan Menggunakan Regulator Tegangan LM317: 10 Langkah
![Catu Daya DC Tegangan Disesuaikan Menggunakan Regulator Tegangan LM317: 10 Langkah Catu Daya DC Tegangan Disesuaikan Menggunakan Regulator Tegangan LM317: 10 Langkah](https://i.howwhatproduce.com/images/010/image-28726-j.webp)
Catu Daya DC Tegangan Disesuaikan Menggunakan Regulator Tegangan LM317: Pada proyek ini, saya telah merancang catu daya DC tegangan sederhana yang dapat disesuaikan menggunakan IC LM317 dengan diagram rangkaian catu daya LM317. Karena rangkaian ini memiliki penyearah jembatan bawaan sehingga kita dapat langsung menghubungkan suplai AC 220V/110V pada input
4 Langkah Mengukur Resistansi Internal Baterai: 4 Langkah
![4 Langkah Mengukur Resistansi Internal Baterai: 4 Langkah 4 Langkah Mengukur Resistansi Internal Baterai: 4 Langkah](https://i.howwhatproduce.com/images/001/image-1847-33-j.webp)
4 Langkah Mengukur Tahanan Dalam Baterai: Berikut adalah 4 langkah sederhana yang dapat membantu Anda mengukur tahanan dalam adonan
Mengukur Tegangan DC Dengan Arduino dan Node-RED: 8 Langkah (dengan Gambar)
![Mengukur Tegangan DC Dengan Arduino dan Node-RED: 8 Langkah (dengan Gambar) Mengukur Tegangan DC Dengan Arduino dan Node-RED: 8 Langkah (dengan Gambar)](https://i.howwhatproduce.com/images/004/image-9432-34-j.webp)
Mengukur Tegangan DC Dengan Arduino dan Node-RED : Ada banyak sekali tutorial pengukuran tegangan DC dengan Arduino, dalam hal ini saya menemukan tutorial yang saya anggap sebagai metode fungsional terbaik untuk mengukur DC tanpa memerlukan input nilai resistansi, hanya membutuhkan beberapa resistansi dan multimeter