Isi kandungan:

Pencatat Data Pemantauan Semasa AC: 9 Langkah (dengan Gambar)
Pencatat Data Pemantauan Semasa AC: 9 Langkah (dengan Gambar)

Video: Pencatat Data Pemantauan Semasa AC: 9 Langkah (dengan Gambar)

Video: Pencatat Data Pemantauan Semasa AC: 9 Langkah (dengan Gambar)
Video: 1 MENIT NGERTI VLOOKUP 🔥 2024, November
Anonim
Pencatat Data Pemantauan Semasa AC
Pencatat Data Pemantauan Semasa AC

Hai semua, selamat datang ke arahan pertama saya! Pada waktu siang saya adalah jurutera ujian untuk sebuah syarikat yang membekalkan peralatan pemanasan industri, pada waktu malam saya adalah penggemar teknologi yang gemar dan DIY'er. Sebahagian daripada kerja saya melibatkan pengujian prestasi pemanas, pada kesempatan ini saya ingin dapat memantau cabutan RMS semasa 8 peranti selama 1000 jam dan mencatat data untuk membuat grafik hasilnya kemudian. Saya mempunyai akses ke logger data tetapi ia telah dilakukan untuk projek lain dan saya memerlukan sesuatu yang murah, jadi saya memutuskan untuk menggabungkan penyusun data asas ini.

Projek ini menggunakan Arduino Uno untuk membaca sensor analog melalui analog ke digital converter (ADC) dan merekod data dengan cap waktu pada kad SD. Terdapat banyak teori dan perhitungan yang terlibat dalam merancang litar, jadi daripada menjelaskan semuanya, saya hanya akan menunjukkan kepada anda bagaimana membuatnya. Sekiranya anda berminat untuk melihat hit LENGKAP, beritahu saya di komen dan saya akan menerangkan lebih lanjut.

CATATAN:

Saya mempunyai banyak soalan mengenai pengiraan RMS Sejati. Peranti ini menggunakan penyearah setengah gelombang untuk menangkap puncak gelombang, yang kemudian dapat dikalikan dengan 0.707 untuk memberikan RMS. Secara kebetulan ia hanya akan memberikan hasil yang tepat dengan beban linear (iaitu arus yang diukur adalah gelombang sinus murni). Bekalan atau beban bukan linier yang memberikan bentuk gelombang segi tiga, segi empat tepat atau lain-lain tidak akan memberikan pengiraan RMS yang sebenar. Peranti ini mengukur arus AC sahaja, ia tidak dirancang untuk mengukur voltan, secara tidak langsung ia tidak mengira atau mengukur faktor kuasa. Lihat arahan saya yang lain mengenai cara membuat meter faktor kuasa yang boleh digunakan untuk melakukan ini. Banyak orang juga mengatakan bahawa gandingan AC lurus dengan garis pusat 2.5V lebih baik, namun ini menimbulkan komplikasi kerana ia melibatkan kadar persampelan digital yang cukup cepat, rata-rata yang kuat / kelancaran data, dan lain-lain dan ketidakpastian yang diperkenalkan ini jauh lebih tinggi daripada mengukur nilai mentah. Secara peribadi, saya lebih suka penyelesaian perkakasan dan kod yang lebih mudah jika boleh jadi saya tidak berminat dengan kaedah itu. Ketepatan yang tepat Saya percaya ini jauh lebih baik daripada yang terakhir dan anda akan melihat kemudian dalam hasil saya ada pekali regresi mendekati 1.0 berikut penentukuran.

Langkah 1: Transformer Semasa

Transformer Semasa
Transformer Semasa
Transformer Semasa
Transformer Semasa

Projek ini menggunakan pengubah arus HMCT103C 5A / 5MA. Ia mempunyai nisbah putaran 1: 1000 yang bermaksud untuk setiap arus 5A yang mengalir melalui konduktor, 5mA akan mengalir melalui CT. Perintang perlu disambungkan di kedua terminal CT untuk membolehkan voltan diukur di seberang. Pada kesempatan ini saya menggunakan perintang 220 Ohm, oleh itu menggunakan hukum Ohm V = IR, output CT akan menjadi 1.1 Volt AC, untuk setiap 5mA arus CT (atau setiap 5A arus yang diukur). CT disolder ke papan pelucut dengan perintang dan beberapa wayar instrumen untuk membuat petunjuk terbang. Saya menamatkan petunjuk dengan palam bicu audio lelaki 3.5mm.

Berikut adalah lembaran data untuk pengubah semasa

Lembaran data

Langkah 2: Penyamanan Isyarat

Penyediaan Isyarat
Penyediaan Isyarat
Penyediaan Isyarat
Penyediaan Isyarat

Isyarat dari CT akan lemah sehingga perlu diperkuat. Untuk ini saya menyatukan litar penguat sederhana menggunakan amp rel uA741 dual rail. Dalam kes ini maka keuntungan ditetapkan menjadi 150 menggunakan formula Rf / Rin (150k / 1k). Walau bagaimanapun isyarat output dari penguat masih AC, dioda pada output op-amp memotong separuh kitaran negatif AC dan meneruskan voltan positif ke kapasitor 0.1uF untuk melancarkan gelombang menjadi isyarat DC yang bergelombang. Berikut adalah bahagian yang membentuk litar:

  • V1 - Ini sewenang-wenang dalam rajah ini, ia hanya mewakili voltan isyarat yang dimasukkan ke dalam input op-amp yang tidak terbalik.
  • R1 - Ini dikenali sebagai perintang maklum balas (Rf) dan ditetapkan kepada 150k
  • R2 - Ini dikenali sebagai perintang input (Rin) dan ditetapkan ke 1k
  • 741 - Ini adalah litar terpadu uA741
  • VCC - Rel bekalan positif + 12V
  • VEE - Rel bekalan negatif -12V
  • D1 - Adakah diod isyarat pembetulan gelombang haf 1N4001
  • C3 - Capactor ini menahan isyarat DC untuk masa yang ditetapkan

Dalam gambar 2 anda dapat melihatnya dipasang menggunakan papan Verob dan kawat tembaga kalengan. 4 lubang digerudi untuk PCB menonjol sehingga dapat ditumpuk (kerana ada lapan saluran perlu ada lapan rangkaian penguat sama sekali.

Langkah 3: Bekalan Kuasa

Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa

Sekiranya anda tidak suka membuatnya dari awal, anda boleh membeli papan yang dipasang sebelumnya dari China seperti yang digambarkan di atas, tetapi anda masih memerlukan pengubah 3VA (turun 240V hingga 12V). Yang digambarkan berharga saya sekitar £ 2.50

Untuk menjana projek, saya memutuskan untuk membuat bekalan kuasa 12VDC rel saya sendiri. Ini selesa kerana op-amp memerlukan + 12V, 0V, -12V, dan Arduino Uno dapat menerima bekalan sehingga 14 VDC. Berikut adalah bahagian yang membentuk litar:

  • V1 - Ini menunjukkan bekalan dari soket utama 240V 50Hz
  • T1 - Ini adalah pengubah 3VA kecil yang saya bohongi. Penting bahawa pengubah mempunyai keran tengah pada sekunder yang akan disambungkan ke 0V iaitu tanah
  • D1 hingga D4 - Ini adalah penerus jambatan gelombang penuh yang menggunakan dioda 1N4007
  • Kapasitor elektrolitik C1 & C2 - 35V 2200uF (mestilah 35V kerana potensi antara positif dan negatif akan mencapai 30V)
  • U2 - LM7812, adalah pengatur voltan positif 12V
  • U3 - LM7912, adalah pengatur voltan negatif 12V (berhati-hati untuk memperhatikan perbezaan pin antara IC 78xx dan 79xx!)
  • C3 & C4 - Kapasitor pelicin 100nF elektrolitik 25V
  • Kapasitor cakera seramik C5 & C6 - 10uF

Saya menyolder komponen ke papan jalur, dan menyatukan trek menegak dengan wayar tembaga tin satu teras kosong. Gambar 3 di atas menunjukkan bekalan kuasa DIY saya, maaf terdapat banyak penerjun dalam foto!

Langkah 4: Penukar Analog ke Digital

Penukar Analog ke Digital
Penukar Analog ke Digital
Penukar Analog ke Digital
Penukar Analog ke Digital

Arduino Uno sudah mempunyai ADC 10-bit, namun hanya terdapat 6 input analog. Oleh itu, saya memilih untuk menggunakan dua pelarian ADC dengan 16-bit ADS1115. Ini membolehkan 2 ^ 15 = 32767 bit mewakili tahap voltan dari 0-4.096V (4.096V adalah voltan operasi pelarian), ini bermaksud setiap bit mewakili 0.000125V! Juga, kerana ia menggunakan bus I2C, ini berarti hingga 4 ADC dapat ditangani, memungkinkan hingga 16 saluran dipantau jika dikehendaki.

Saya telah cuba menggambarkan hubungan menggunakan Fritzing, namun kerana keterbatasan tidak ada bahagian khusus untuk menggambarkan Generator Isyarat. Kawat ungu disambungkan ke output litar penguat, wayar hitam di sebelahnya menggambarkan bahawa semua litar penguat mesti mempunyai landasan bersama. Oleh itu, saya telah menggunakan papan roti untuk memberi gambaran bagaimana saya membuat mata pengikat. Walau bagaimanapun, projek saya yang sebenarnya mempunyai pelarian dalam header wanita, disolder ke Veroboard, dan semua titik dasi disolder ke papan kenyataan.

Langkah 5: Pengawal mikro

Pengawal mikro
Pengawal mikro

Seperti yang disebutkan di atas, pengawal yang saya pilih adalah Arduino Uno, ini adalah pilihan yang baik kerana ia mempunyai banyak fungsi dan dibangun dalam fungsi yang jika tidak perlu dibina secara terpisah. Selain itu, ia serasi dengan 'perisai' yang dibina khas. Pada kesempatan ini, saya memerlukan jam masa nyata untuk mencatat waktu semua hasil dan penulis kad SD untuk merakam hasilnya ke fail.csv atau.txt. Nasib baik, perisai pembalakan data Arduino mempunyai keduanya di perisai yang mendorong masuk ke papan Arduino yang asli tanpa pematerian tambahan. Perisai serasi dengan perpustakaan kad RTClib dan SD sehingga tidak memerlukan kod pakar.

Langkah 6: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Saya menggunakan PVC ketumpatan sederhana / rendah ridgid 5mm (kadang-kadang dikenali sebagai papan pelindung) untuk mengetuk sebahagian besar komponen saya dan memotongnya dengan saiz yang sesuai dengan pisau kraf. Semua komponen dibina secara modular untuk prototaip kerana ia membolehkan penyingkiran bahagian-bahagian individu jika berlaku, tetapi ia tidak begitu efisien atau kemas seperti PCB yang terukir (kerja selanjutnya) ini juga bermaksud banyak kabel jumper antara komponennya.

Langkah 7: Memuat naik Kod

Muat naik kod ke Arduino, atau dapatkan kod dari repo Github saya

github.com/smooth-jamie/datalogger.git

Langkah 8: Penentukuran

Penentukuran
Penentukuran
Penentukuran
Penentukuran
Penentukuran
Penentukuran

Secara teorinya arus yang diukur akan menjadi hasil gabungan beberapa perkara:

Amp diukur = (((a * 0,45) / 150) / (1,1 / 5000)) / 1000 di mana 'a' adalah voltan isyarat dari penguat

0.45 adalah nilai rms Vout litar penguat, 150 adalah keuntungan op-amp (Rf / Rin = 150k / 1k), 1.1 adalah output voltan skala penuh CT apabila amp diukur adalah 5A, 5000 hanya 5A di mA, dan 1000 adalah jumlah putaran dalam pengubah. Ini dapat dipermudahkan untuk:

Amp diukur = (b * 9.216) / 5406555 di mana b adalah nilai yang dilaporkan ADC

Formula ini diuji dengan menggunakan Arduino 10-bit ADC dan perbezaan antara nilai multimeter dan nilai yang dihasilkan Arduino diperhatikan oleh 11% yang merupakan penyimpangan yang tidak dapat diterima. Kaedah pilihan saya untuk penentukuran adalah merekodkan nilai ADC vs Semasa pada multimeter dalam hamparan dan merancang polinomial urutan ketiga. Dari ini formula kubik dapat digunakan untuk memberikan hasil yang lebih baik ketika menghitung arus yang diukur:

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

Pekali a, b, c, dan d dikira dalam excel dari jadual data mudah, x adalah nilai ADC anda.

Untuk mendapatkan data, saya menggunakan perintang variabel 1k seramik (rheostat), dan transformer 12v untuk menurunkan voltan AC utama dari 240V, yang akan memberi saya menjana sumber arus berubah dari 13mA hingga 100mA. Semakin banyak titik data yang dikumpulkan semakin baik, namun saya cadangkan mengumpulkan 10 titik data untuk memperoleh arah aliran yang tepat. Templat Excel yang dilampirkan akan mengira pekali untuk anda, maka hanya perlu memasukkannya ke dalam kod arduino

Pada baris 69 kod anda akan melihat di mana untuk memasukkan pekali

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

yang sama dengan formula dalam lembaran1 fail excel:

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

Di mana x = adc0 saluran apa pun yang anda buat

Langkah 9: Selesaikan

Selesai
Selesai
Selesai
Selesai
Selesai
Selesai
Selesai
Selesai

Letakkannya di kandang projek. Saya menamatkan bekalan kuasa dengan suis togol untuk menghidupkan / mematikan keseluruhan bekalan, dan penyambung IEC "gambar 8" untuk input utama. Kacau semuanya dan anda sudah bersedia untuk mengujinya.

Kerja selanjutnya

Keseluruhan projek ini diperolok-olokkan dengan cepat sehingga ada banyak ruang untuk diperbaiki, litar terukir, komponen yang lebih baik. Sebaik-baiknya semuanya akan terukir atau disolder ke FR4 dan bukannya banyak jumper. Seperti yang saya katakan sebelumnya ada banyak perkara yang belum saya nyatakan tetapi jika ada sesuatu yang spesifik yang anda ingin tahu beritahu saya dalam komen dan saya akan mengemas kini yang boleh difahami!

Kemas kini 2016-12-18

Saya sekarang telah menambahkan LCD 16x2 menggunakan "ransel" I2C untuk memantau empat saluran pertama, akan menambahkan satu lagi untuk memantau empat terakhir ketika sampai melalui pos.

Kredit

Projek ini dimungkinkan oleh semua penulis Perpustakaan yang digunakan dalam lakaran Arduino saya termasuk perpustakaan DS3231, perpustakaan Adafruit ADS1015 dan perpustakaan SD Arduino

Disyorkan: