Pengukuran arus AC menggunakan avr. Cara Mengukur Tegangan Negatif Menggunakan ADC

Voltmeter tegangan bolak-balik sederhana dengan frekuensi 50 Hz dibuat dalam bentuk modul built-in yang dapat digunakan baik secara terpisah atau dibangun menjadi perangkat jadi.
Voltmeter dirakit pada mikrokontroler PIC16F676 dan indikator 3 digit dan tidak mengandung banyak bagian.

Karakteristik utama voltmeter:
Bentuk tegangan yang diukur adalah sinusoidal
Nilai maksimum tegangan terukur adalah 250 V;
Frekuensi tegangan terukur - 40…60 Hz;
Resolusi menampilkan hasil pengukuran adalah 1 V;
Tegangan suplai voltmeter adalah 7…15 V.
Konsumsi arus rata-rata adalah 20 mA
Dua pilihan desain: dengan dan tanpa catu daya terpasang
PCB Satu Sisi
Desain kompak
Tampilan nilai terukur pada indikator LED 3 digit

Diagram skema voltmeter untuk mengukur tegangan bolak-balik


Pengukuran langsung tegangan bolak-balik dilakukan dengan perhitungan selanjutnya nilainya dan keluarannya ke indikator. Tegangan terukur disuplai ke pembagi masukan yang dibuat pada R3, R4, R5 dan melalui kapasitor pemisah C4 disuplai ke masukan ADC mikrokontroler.

Resistor R6 dan R7 menghasilkan tegangan 2,5 volt (setengah daya) pada input ADC. Kapasitor C5, dengan kapasitas yang relatif kecil, melewati input ADC dan membantu mengurangi kesalahan pengukuran. Mikrokontroler mengatur pengoperasian indikator dalam mode dinamis berdasarkan interupsi dari pengatur waktu.

--
Terima kasih atas perhatian Anda!
Igor Kotov, pemimpin redaksi majalah Datagor


🕗 01/07/14 ⚖️ 19.18 Kb ⇣ 239 Halo pembaca! Nama saya Igor, umur saya 45 tahun, saya orang Siberia dan insinyur elektronik amatir yang rajin. Saya membuat, membuat, dan memelihara situs luar biasa ini sejak tahun 2006.
Selama lebih dari 10 tahun, majalah kami hanya ada atas biaya saya.

Bagus! Hadiah gratis sudah berakhir. Jika Anda menginginkan file dan artikel bermanfaat, bantu saya!

Menghubungkan sensor arus ke mikrokontroler

Setelah memahami dasar-dasar teori, kita dapat beralih ke masalah membaca, mengubah, dan memvisualisasikan data. Dengan kata lain, kita akan merancang pengukur arus DC sederhana.

Output analog dari sensor dihubungkan ke salah satu saluran ADC mikrokontroler. Semua transformasi dan perhitungan yang diperlukan diimplementasikan dalam program mikrokontroler. Indikator LCD karakter 2 baris digunakan untuk menampilkan data.

Desain eksperimental

Untuk bereksperimen dengan sensor arus, perlu dirakit struktur sesuai diagram yang ditunjukkan pada Gambar 8. Penulis menggunakan papan tempat memotong roti dan modul berbasis mikrokontroler (Gambar 9).

Modul sensor arus ACS712-05B dapat dibeli jadi (dijual sangat murah di eBay), atau Anda dapat membuatnya sendiri. Kapasitansi kapasitor filter dipilih menjadi 1 nF, dan kapasitor pemblokiran 0,1 µF dipasang untuk catu daya. Untuk menunjukkan daya hidup, LED dengan resistor pemadaman disolder. Catu daya dan sinyal keluaran sensor dihubungkan ke konektor di salah satu sisi papan modul, konektor 2-pin untuk mengukur arus yang mengalir terletak di sisi berlawanan.

Untuk percobaan pengukuran arus, kami menghubungkan sumber tegangan konstan yang dapat disesuaikan ke terminal pengukur arus sensor melalui resistor seri 2,7 Ohm / 2 W. Output sensor dihubungkan ke port RA0/AN0 (pin 17) mikrokontroler. Indikator LCD karakter dua baris terhubung ke port B mikrokontroler dan beroperasi dalam mode 4-bit.

Mikrokontroler ditenagai oleh tegangan +5 V, tegangan yang sama digunakan sebagai referensi untuk ADC. Perhitungan dan transformasi yang diperlukan diimplementasikan dalam program mikrokontroler.

Ekspresi matematika yang digunakan dalam proses konversi diberikan di bawah ini.

Sensitivitas sensor arus Sens = 0,185 V/A. Dengan suplai Vcc = 5 V dan tegangan referensi Vref = 5 V, hubungan yang dihitung adalah sebagai berikut:

Kode keluaran ADC

Karena itu

Jadi rumus menghitung arus adalah sebagai berikut:

Catatan penting. Hubungan di atas didasarkan pada asumsi bahwa tegangan suplai dan tegangan referensi untuk ADC sama dengan 5 V. Namun, ekspresi terakhir yang menghubungkan arus I dan kode keluaran ADC Count tetap valid meskipun tegangan suplai daya berfluktuasi. Hal ini telah dibahas pada bagian teoritis dari uraian tersebut.

Dari ekspresi terakhir terlihat bahwa resolusi sensor saat ini adalah 26,4 mA, yang setara dengan 513 sampel ADC, yang berarti satu sampel lebih banyak dari hasil yang diharapkan. Dengan demikian, kita dapat menyimpulkan bahwa implementasi ini tidak memungkinkan pengukuran arus kecil. Untuk meningkatkan resolusi dan sensitivitas saat mengukur arus kecil, Anda perlu menggunakan penguat operasional. Contoh rangkaian seperti itu ditunjukkan pada Gambar 10.

Program mikrokontroler

Program mikrokontroler PIC16F1847 ditulis dalam bahasa C dan dikompilasi di lingkungan mikroC Pro (mikroElektronika). Hasil pengukuran ditampilkan pada indikator LCD dua baris dengan akurasi dua tempat desimal.

KELUAR

Dengan arus masukan nol, tegangan keluaran ACS712 idealnya harus benar-benar Vcc/2, yaitu Seharusnya angka 512 terbaca dari ADC. Penyimpangan tegangan keluaran sensor sebesar 4,9 mV menyebabkan hasil konversi bergeser 1 bit paling tidak signifikan dari ADC (Gambar 11). (Untuk Vref = 5,0 V, resolusi ADC 10-bit adalah 5/1024 = 4,9 mV), yang setara dengan arus input 26 mA. Perhatikan bahwa untuk mengurangi pengaruh fluktuasi, disarankan untuk melakukan beberapa pengukuran dan kemudian membuat rata-rata hasilnya.

Jika tegangan keluaran dari catu daya yang diatur diatur sebesar 1 V, melalui
resistor harus membawa arus sekitar 370 mA. Nilai arus yang diukur dalam percobaan adalah 390 mA, yang melebihi hasil yang benar sebesar satu unit digit terkecil ADC (Gambar 12).

Gambar 12.

Pada tegangan 2 V, indikator akan menunjukkan 760 mA.

Demikianlah pembahasan kita tentang sensor arus ACS712. Namun, kami tidak menyentuh masalah lain. Bagaimana cara mengukur arus AC menggunakan sensor ini? Ingatlah bahwa sensor memberikan respons seketika sesuai dengan arus yang mengalir melalui kabel pengujian. Jika arus mengalir dalam arah positif (dari pin 1 dan 2 ke pin 3 dan 4), sensitivitas sensor positif dan tegangan keluaran lebih besar dari Vcc/2. Jika arus berubah arah, sensitivitas akan menjadi negatif dan tegangan keluaran sensor akan turun di bawah level Vcc/2. Artinya ketika mengukur sinyal AC, ADC mikrokontroler harus mengambil sampel dengan cukup cepat agar dapat menghitung nilai RMS arus.

Unduhan

Kode sumber program mikrokontroler dan file untuk firmware -

Voltmeter AC

N.OSTROUKHOV, Surgut

Artikel ini menjelaskan tentang voltmeter tegangan bolak-balik. Itu sudah dirakit
mikrokontroler dan dapat digunakan sebagai alat ukur yang berdiri sendiri
atau sebagai voltmeter internal pada generator frekuensi rendah.

Voltmeter yang diusulkan dirancang
untuk mengukur tegangan bolak-balik sinusoidal dengan frekuensi dari 1 Hz sampai
800 kHz. Interval tegangan terukur - 0…3 V (atau 0…30 V dengan eksternal
pembagi tegangan 1:10). Hasil pengukuran ditampilkan
indikator LED empat digit. Akurasi pengukuran ditentukan
parameter ADC yang dibangun ke dalam mikrokontroler dan sumber referensi
tegangan dan sama dengan 2 mV (untuk interval 0...3 V). Voltmeter ditenagai oleh
sumber tegangan stabil 5 V dan mengkonsumsi arus 40...65 mA V
tergantung pada indikator yang digunakan dan kecerahan cahayanya. Konsumsi saat ini
dari konverter polaritas internal, tidak melebihi 5 mA.

Perangkat termasuk (lihat diagram di
beras. 1) termasuk konverter tegangan AC-DC, buffer
Penguat tegangan DC, voltmeter digital dan konverter
polaritas tegangan suplai. Konverter tegangan AC ke AC
konstanta dikumpulkan pada komparator DA1, generator pulsa pada elemen
DD1.1-DD1.4 dan mengganti transistor VT1. Mari kita lihat karyanya
keterangan lebih lanjut. Misalkan tidak ada sinyal pada input perangkat. Lalu ketegangannya
pada masukan pembalik komparator DA1 sama dengan nol, dan pada masukan non pembalik ditentukan
pembagi tegangan R19R22 dan dengan peringkat yang ditunjukkan pada diagram sekitar -80
mV. Dalam hal ini, terdapat level rendah pada keluaran pembanding, yaitu
memungkinkan generator pulsa beroperasi. Keunikan generator adalah kapan
setiap penurunan tegangan pada keluaran komparator DA1 pada keluaran generator (pin 8
elemen DD1.2) satu pulsa dihasilkan. Kalau pada saat reda ada hari libur
keadaan komparator tidak akan berubah, pulsa berikutnya akan dihasilkan, dll.

Durasi pulsa tergantung pada
nilai elemen R16, C5 dan kira-kira 0,5 s. Pada tingkat rendah
tegangan pada output elemen DD1.2, transistor VT1 terbuka. Denominasi
resistor R17, R18 dan R20 dipilih sehingga melalui transistor terbuka
arus 10 mA mengalir, yang mengisi kapasitor C8 dan C11. Selama masa berlakunya
Setiap pulsa mengisi kapasitor ini dengan sepersekian milivolt. Dalam keadaan stabil
mode, tegangan pada mereka akan meningkat dari -80 mV ke nol, tingkat pengulangan
pulsa generator akan berkurang dan pulsa arus kolektor transistor VT1
hanya akan mengkompensasi pelepasan lambat kapasitor C11 melalui resistor
R22. Jadi, karena offset negatif awal yang kecil,
meskipun tidak ada sinyal input, inverter beroperasi secara normal
mode. Ketika tegangan input AC diterapkan karena perubahan tingkat pengulangan
pulsa generator, tegangan pada kapasitor C11 berubah sesuai dengan
amplitudo sinyal masukan. Filter lolos rendah R21C12 memperhalus tegangan keluaran
konverter Perlu dicatat hanya itu saja
setengah gelombang positif dari tegangan masukan, jadi asimetris
relatif terhadap nol, kesalahan tambahan akan muncul.

Penguat penyangga dengan penguatan
roda gigi 1.2 dirakit pada op-amp DA3. Dioda VD1 yang terhubung ke outputnya melindungi
input mikrokontroler dari tegangan polaritas negatif. Dari keluaran op-amp DA3
melalui pembagi tegangan resistif R1R2R3 dan tegangan konstan R4R5
tiba di jalur PC0 dan PC1 dari mikrokontroler DD2, yang dikonfigurasi sebagai
masukan ADC. Kapasitor C1 dan C2 juga menekan interferensi dan interferensi. Sebenarnya
voltmeter digital dirakit pada mikrokontroler DD2 yang menggunakan
ADC 10-bit bawaan dan sumber tegangan referensi 1,1 V internal.

Program untuk mikrokontroler
ditulis menggunakan lingkungan BASCOM-AVR dan memungkinkan penggunaan tiga atau
indikator LED digital empat digit dengan common anode atau common
katoda dan memungkinkan Anda menampilkan arus (untuk sinyal sinusoidal) atau
nilai amplitudo tegangan sinyal input, serta perubahan kecerahan
lampu indikator Tingkat logis sinyal pada jalur PC3 menentukan jenis yang diterapkan
indikator - dengan anoda bersama (rendah) atau dengan katoda bersama (tinggi), dan di saluran
PC4 adalah jumlah digitnya, empat untuk rendah dan tiga untuk tinggi. Program
di awal pekerjaan, baca level sinyal pada garis ini satu kali dan sesuaikan
mikrokontroler untuk bekerja dengan indikator yang sesuai. Untuk empat-bit
indikator, hasil pengukuran ditampilkan dalam bentuk X.ХХХ (B), untuk tiga digit
- XXX (mV) sampai dengan 1 V dan Х.ХХ (V), jika tegangan lebih dari 1 V. Bila digunakan
dari indikator tiga digit, terminal dari digit-digitnya dihubungkan sebagai terminal tiga digit
bit paling signifikan dari empat-bit pada Gambar. 1.

Level sinyal pada kontrol jalur PC2
mengalikan hasil pengukuran dengan 10, yang diperlukan saat menggunakan eksternal
pembagi tegangan 1:10. Ketika levelnya rendah, hasilnya tidak dikalikan Sinyal
garis PB6 mengontrol kecerahan indikator; pada tingkat tinggi
berkurang. Perubahan kecerahan terjadi sebagai akibat dari perubahan rasio antara
waktu penyalaan dan waktu pemadaman indikator dalam setiap siklus pengukuran.
Dengan konstanta yang ditentukan dalam program, kecerahan berubah kira-kira dua kali lipat.
Nilai efektif tegangan masukan ditampilkan ketika diterapkan ke saluran PB7
tingkat tinggi dan amplitudo - rendah. Level sinyal pada jalur RS2, PB6 dan
Program PB7 menganalisis pengukuran pada setiap siklus, dan oleh karena itu dapat dilakukan
diubah kapan saja, sehingga nyaman untuk menggunakan sakelar. Durasi
satu siklus pengukuran sama dengan 1,1 detik. Selama waktu ini, ADC melakukan sekitar 1100
sampel, maksimum dipilih dan dikalikan, jika perlu, dengan
koefisien yang diperlukan.

Untuk pengukuran konstan
tegangan akan cukup untuk satu pengukuran untuk seluruh siklus, dan untuk pengukuran bolak-balik
dengan frekuensi kurang dari 500 Hz, tegangan melintasi kapasitor C8. C11 berubah secara nyata
selama siklus. Oleh karena itu, 1100 pengukuran pada interval 1 ms memungkinkan
catat nilai maksimum untuk periode tersebut. Konverter polaritas
tegangan suplai dirakit pada chip DA2 sesuai dengan rangkaian standar. Ini hari liburnya
tegangan -5 V memberi daya pada komparator DA1 dan op-amp DA3. Konektor XP2 ditujukan untuk
pemrograman dalam perangkat keras mikrokontroler.

Voltmeter menggunakan konstanta
resistor C2-23, MLT, tuning - Bourns seri 3296, oksida
kapasitor diimpor, selebihnya K10-17. Sirkuit mikro 74AC00 bisa
ganti dengan KR555LAZ, transistor KT361G - dengan seri KT3107 mana pun. Dioda 1N5818
ganti dengan dioda germanium atau Schottky dengan arus searah yang diizinkan minimal
50 mA. Penggantian chip ICL7660 tidak diketahui penulisnya, melainkan konverternya
polaritas tegangan +5/-5 V dapat dikumpulkan sesuai dengan salah satu yang dipublikasikan di
skema majalah "Radio". Selain itu, konverter bisa dihilangkan
sepenuhnya, menggunakan catu daya stabil bipolar. Khususnya
Anda harus fokus memilih pembanding, karena rentangnya bergantung padanya
frekuensi operasi. Pemilihan komparator LM319 (analog KA319, LT319) disebabkan oleh dua hal
kriteria - kecepatan dan ketersediaan yang diperlukan. Pembanding LM306,
LM361, LM710 lebih cepat, tetapi ternyata lebih sulit untuk mendapatkannya karena
selain itu, harganya lebih mahal. Yang lebih mudah diakses adalah LM311 (analog domestik KR554SAZ) dan
LM393. Saat memasang komparator LM311 ke dalam perangkat, seperti yang diharapkan,
rentang frekuensi menyempit menjadi 250 kHz. Resistor R6 memiliki relatif
sedikit hambatan karena perangkat ini digunakan sebagai perangkat bawaan
voltmeter di generator woofer. Saat menggunakan perangkat dalam meteran yang berdiri sendiri, itu
resistansi dapat ditingkatkan, tetapi kesalahan pengukuran akan meningkat karena relatif
arus masukan besar dari komparator DA1.

Rangkaian pembagi tegangan 1:10
ditunjukkan pada Gambar. 2. Di sini fungsi resistor R2 pada pembagi dilakukan oleh resistor
R6 (lihat Gambar 1). Pembagi tegangan diatur dalam urutan tertentu.
Pulsa persegi panjang dengan frekuensi beberapa kilohertz disuplai ke inputnya,
amplitudo 2...3 V (sinyal kalibrasi seperti itu tersedia dalam banyak
osiloskop), dan input osiloskop dihubungkan ke output (ke pin 5 DA1). Pengaturan
kapasitor C1 mencapai bentuk pulsa persegi panjang. Osiloskop mengikuti
gunakan dengan pembagi tegangan input 1:10. Semua bagian kecuali indikator sudah terpasang
pada prototipe papan sirkuit berukuran 100×70 mm menggunakan kabel
instalasi Tampilan salah satu opsi perangkat ditunjukkan pada Gambar. 3. Untuk
untuk kemudahan penyambungan indikator digital, digunakan konektor (tidak ditunjukkan pada diagram
ditampilkan). Selama pemasangan, kabel umum dari steker masukan XP1 dan terminal kapasitor yang sesuai
C8, C10, C11 dan C13 harus dihubungkan ke kabel biasa di satu tempat dengan kabel
panjang minimum. Elemen VT1, R20, C8, C10, C11 dan C13 dan komparator DA1
harus ditempatkan sekompak mungkin, kapasitor C3, C6 - semaksimal mungkin
lebih dekat ke terminal komparator DA1, dan C4, C14, C15 - ke terminal mikrokontroler
DD2. Untuk mengaturnya, masukan perangkat ditutup, keluaran umum dari probe osiloskop
terhubung ke terminal positif kapasitor C13, dan terminal sinyal ke emitor
transistor VT1. Pulsa polaritas negatif akan muncul di layar
dengan amplitudo sekitar 0,6 V dan durasi 0,5 s. Jika karena frekuensi rendah
rangkaian pulsa akan sulit diamati, kemudian paralel untuk sementara
Sebuah resistor dengan hambatan 0,1...1 kOhm dihubungkan ke kapasitor C11. Tegangan
pada kapasitor C12 dikontrol dengan voltmeter impedansi tinggi, seharusnya
mendekati nol (plus atau minus beberapa milivolt).

Tegangan keluaran op amp DA3
(yang tidak boleh melebihi beberapa milivolt) dengan resistor R27
ditetapkan sama dengan nol. Mode operasi mikrokontroler yang diperlukan
diatur dengan memasok level yang diperlukan ke jalur PB6, PB7, RS2-RS4, yang mana mereka
dihubungkan ke kabel biasa atau ke saluran listrik +5 V melalui resistor
resistansi 20...30 kOhm. Yang patut dicontoh terhubung ke input perangkat
voltmeter dan berikan tegangan konstan 0,95...1 V. Resistor substring
R4 menyamakan pembacaan kedua voltmeter. Kemudian tegangan dinaikkan menjadi
2.95...3 V dan resistor R1 kembali menyamakan pembacaan. Pilihan resistor
R8-R15 Anda dapat mengatur kecerahan indikator yang diinginkan. Pertama mereka memilih
denominasi yang diperlukan hanya salah satunya, dan kemudian atur sisanya. Pada
seleksi, harus diingat bahwa arus keluaran maksimum dari port yang diterapkan
mikrokontroler tidak boleh melebihi 40 mA, dan total konsumsi arus - 200
mA.

Dari editor. Program untuk mikrokontroler ada di kami
FTP-cep-vere di ftp://ftp.radio.ru/pub/ 2011/02/Vmetr.zip

Kata pengantar

Di jaman dulu, sebelum adanya digital, kita semua pasti puas dengan alat ukur penunjuk, mulai dari jam tangan biasa, timbangan dan diakhiri dengan… hmm, jadi saat itu juga kita bahkan tidak bisa menemukan batasan kegunaannya! Katakanlah - laboratorium mikro atau bahkan lebih mengesankan - picoammeter. Dan kelas akurasinya cukup banyak, tergantung tujuannya.

Misalnya, indikator biasa jumlah bahan bakar dalam tangki mobil adalah contoh paling jelas dari ketidakakuratan pembacaan maksimum! Saya tidak tahu satu pun pengendara yang mengandalkan "pengukur tampilan" ini dan tidak mau mengisi bahan bakar terlebih dahulu. Pengemudi yang sangat pesimis tidak pernah pergi tanpa tabung bahan bakar di bagasi!

Namun di laboratorium, khususnya di Komite Verifikasi Negara, terdapat switchmen dengan skala cermin dan kelas akurasi yang jauh lebih baik dari 0,5.

Dan hampir semua dari kami merasa puas dan bahagia. Dan jika mereka tidak puas, maka mereka membeli instrumen yang lebih akurat, tentu saja, jika memungkinkan!

Namun kini era digital telah tiba. Kami semua senang dengan hal ini - sekarang kami dapat langsung melihat angka-angka pada indikator dan senang dengan “akurasi” yang ditawarkan kepada kami. Selain itu, di zaman modern, “alat digital” yang ada di mana-mana ini harganya jauh lebih murah dibandingkan dengan “tukang pengganti yang tidak akurat” yang sudah langka. Namun, hanya sedikit orang yang berpikir bahwa besaran yang ditunjukkan kepada kita dalam angka masih tetap analog, baik itu berat atau kekuatan arus - tidak masalah. Artinya besaran tersebut masih diukur secara analog! Dan hanya untuk pemrosesan dan penyajiannya diubah menjadi nilai digital. Di sinilah kesalahan tersembunyi, membuat kita terkejut ketika dua termometer ruangan berbeda di tempat yang sama menunjukkan nilai berbeda!

Jalur dari nilai terukur ke indikator

Mari kita lihat keseluruhan proses indikasi pengukuran. Apalagi saya sengaja memilih besaran listrik. Pertama, kami masih berada di lokasi insinyur elektronik, bukan fisikawan termal atau pembuat roti, semoga mereka memaafkan izin perbandingan saya! Kedua, saya ingin memperkuat alasan saya dengan contoh-contoh dari pengalaman pribadi.

Pertama, saya memilih kekuatan saat ini!

Saya harus mengulangi basa-basi bahwa untuk mendapatkan representasi digital dari kuantitas analog, Anda memerlukan konverter analog-ke-digital (ADC). Tapi karena itu sendiri masih tidak banyak berguna bagi kita, kita memerlukan node lain untuk menyelesaikan semua yang direncanakan. Yaitu:

  1. di depan ADC itu sendiri, Anda memerlukan perangkat normalisasi, katakanlah: penguat atau attenuator normalisasi, tergantung pada rasio nilai input dengan rentang konversi ADC;
  2. decoder setelah ADC, untuk mewakili persamaan numerik yang dikonversi ke dalam kode digital dari indikator yang sesuai.

Ada sirkuit mikro siap pakai yang menggabungkan ADC dan decoder. Misalnya, ICL7136 atau sejenisnya, digunakan pada multimeter.

Pada dasarnya, semua node ini, dalam satu atau lain bentuk, adalah suatu keharusan. Saya belum menyebutkan nama sensor itu sendiri - dalam hal ini, konverter arus ke tegangan, atau sekadar shunt.

Jadi, mari kita bahas secara singkat keseluruhan rantainya. Arus yang mengalir melalui shunt (resistor kuat dengan resistansi sangat rendah) menciptakan beda potensial pada kutub-kutubnya. Guten Tag, Tuan Ohm! Namun perbedaan ini cukup kecil dan tidak semua ADC mampu mengkonversi nilai ini sepenuhnya, sehingga sinyal (tegangan) dari shunt harus diperkuat hingga nilai yang dapat diterima. Oleh karena itu diperlukan penguat normalisasi. Sekarang ADC, setelah menerima tegangan input yang dapat dicerna, akan melakukan konversi dengan kesalahan seminimal mungkin. Pada outputnya kita mendapatkan nomor yang sesuai dengan nilai arus yang diukur dalam rentang yang dipilih, yang harus didekodekan agar dapat ditampilkan pada indikator. Misalnya, ubah menjadi kode indikator tujuh segmen.

Di sini saya tidak melihat perlunya membahas lebih detail setiap tahapan di atas, karena dalam artikel saya mengejar tujuan yang berbeda. Dan detailnya dapat ditemukan berlimpah di Internet.

Spesifik

Saya memiliki apa yang disebut beban elektronik dengan indikator aliran arus. Ada diagram dasar beban itu sendiri, tetapi di sana Anda memerlukan ammeter eksternal untuk mengatur arus dengan lebih akurat. Saya memutuskan untuk menghubungkan kedua perangkat untuk menghemat ruang dan tidak memiliki banyak multimeter.

Ammeter bawaan saya dirakit dan diprogram pada Tiny26L MK. Bagian dari ammeter ini adalah op-amp kedua (gratis) dari chip LM358, yang merupakan bagian dari rangkaian pemberat dasar. Itu. Ini adalah penguat standar saya karena penurunan tegangan maksimum pada shunt (5A x 0,1 ohm) hanya 0,5 volt, yang jelas tidak cukup untuk rentang konversi penuh dengan tegangan referensi internal.

Menurut T.O. (Bahasa Indonesia = Datasheet) tegangan nominal sumber referensi bawaan (ION) adalah 2,56 volt. Ukuran yang sangat nyaman! Namun, dalam praktiknya ternyata tidak terlalu bagus: tegangan ION yang disesuaikan pada MK saya ternyata 2,86 volt! Bagaimana saya menentukan ini adalah topik tersendiri. Mari kita kembali ke 2,56 volt yang nyaman. Lihat apa yang terjadi: maksimum 0,5 volt turun pada shunt, ADC mengubah maksimum 2,56 volt. Penguat normalisasi dengan penguatan 5 menunjukkan dirinya sendiri, maka angka yang diperoleh selama konversi tidak memerlukan aritmatika lanjutan untuk mewakili hasilnya: 5 ampere = 2,5 volt = 250 unit (untuk konversi 8-bit). Anda hanya perlu mengalikan hasilnya dengan dua dan meletakkan koma desimal di antara ratusan dan puluhan untuk mendapatkan representasi yang sangat mudah: satuan, sepersepuluh, dan seperseratus ampere. Transformasi terakhir menjadi rambu tujuh segmen adalah masalah teknologi. Semuanya baik-baik saja, Anda bisa mengimplementasikannya di perangkat keras!

Namun, seperti yang telah saya tunjukkan dengan contoh ION bawaan, tidak mudah untuk mendapatkan akurasi yang dapat diterima (apalagi tinggi!) dengan komponen yang digunakan. Anda dapat mengambil jalur kompensasi kesalahan secara matematis, menggunakan program di MK, meskipun ini memerlukan kalibrasi. Jalur ini cukup mudah diimplementasikan dalam C dan bahasa tingkat tinggi lainnya. Namun bagi saya, seorang assembler yang keras kepala, mengutak-atik matematika menggunakan instruksi RISC adalah hal yang sangat memusingkan!

Saya memilih jalur yang berbeda - koreksi penguatan penguat normalisasi (NA). Anda tidak perlu banyak untuk ini – satu resistor pemangkas! Nilainya harus dipilih dengan benar agar rentang penyesuaiannya memadai, tetapi tidak berlebihan.

Pemilihan elemen penguat normalisasi

Jadi, perlu untuk menentukan rentang penyesuaian. Langkah pertama adalah menentukan toleransi komponen. Misalnya, shunt saya memiliki toleransi kesalahan sebesar 1%. Resistor lain dalam rangkaian penguat normalisasi mungkin memiliki toleransi hingga 10%. Dan jangan lupakan ketidakakuratan ION kami, yang dalam kasus saya hampir +12%! Ini berarti jumlah konversi sebenarnya akan berkurang hampir 12%. Tapi karena saya sudah tahu error ini, saya perhitungkan di gain NU yang seharusnya 5.72. Dan karena kesalahan sebenarnya dari komponen lain tidak diketahui, maka tetap mencari kesalahan total maksimum yang mungkin untuk menghitung rentang penyesuaian.

Jumlah sederhana dari “persentase” ini menunjukkan dirinya sendiri: 1% dari shunt ditambah 2 kali 10% dari resistor umpan balik op-amp. Jumlah: 21%.

Mari kita lihat apakah ini benar. Untuk melakukan ini, mari kita lihat bagian diagram di mana NU dengan nilai yang sudah dipilih disajikan:

Seperti yang Anda lihat, terdapat penguat non-pembalik dengan koefisien transmisi yang dapat disetel, secara teoritis dapat disesuaikan dari 4,979 hingga 6,735 pada peringkat yang ditunjukkan dalam diagram. Namun, jika kita memperhitungkan ±10% kemungkinan kesalahan masing-masing resistor, kita mendapatkan, dengan kombinasi terburuk, Ku = 5,864 - 8,009, yang jelas melebihi koefisien yang disyaratkan! Jika kombinasi ini terjadi, maka Anda harus mengambil denominasi lain. Sebaiknya segera naikkan nilai tuning resistornya, misalnya menjadi 39k. Maka batas bawah Ku adalah 5,454 yang sudah dapat diterima.

Ya, saya – seorang “pecandu radio sejati” – harus memilih pemangkas dari apa yang tersedia, dan cukup beruntung untuk berinvestasi pada produk tersebut! Jika saya memiliki pemangkas yang nilainya berbeda, tidak masalah, saya akan menghitung ulang R2 dan R3, yang dalam kasus saya memiliki toleransi 5%, jadi saya tidak perlu mengambil pemangkas lagi.

Mengatasi kekurangan dan kelalaian Anda

Tampaknya semuanya telah dipikirkan dan diperhitungkan - tambahkan biaya. Mari kita uji desain ini pada papan tempat memotong roti terlebih dahulu! Tidak lama setelah diucapkan, dilakukan! Ku sedang dibangun kembali tidak seperti yang diharapkan, tetapi dalam batas yang diperlukan. Namun, indikator tidak akan menunjukkan 0,00 ketika tidak ada arus beban! Pertama-tama, saya curiga programnya ada di MK, tetapi ketika input ADC dihubung pendek ke kabel biasa, angka nol yang berharga muncul. Artinya ada sesuatu yang masuk ke input MK, selain nol volt. Pengujian dengan multimeter mengkonfirmasi asumsi ini dan menetapkan tugas selanjutnya. Tanpa merinci penelitian saya, saya hanya akan menjelaskan hasilnya.

Alasannya ternyata sebagai berikut: Saya sama sekali tidak memperhitungkan bahwa op-amp yang saya gunakan jauh dari kualitas terbaik. Dia bahkan tidak disebut demikian. "rel-ke-rel". Artinya potensi keluarannya tidak akan pernah mencapai salah satu kutub pasokan, yaitu dalam kasus saya tidak akan pernah sama dengan 0 volt! Sekarang, jika ditenagai oleh sumber bipolar, maka keluarannya akan menjadi nol. Tetapi catu daya saya unipolar dan saya tidak bermaksud mempersulit rangkaian dengan konverter apa pun. Solusinya ditemukan dalam penciptaan “tanah virtual”, yaitu Berkat sumber daya terpisah (berlawanan dengan rangkaian dasar), saya dapat menggunakan dioda untuk menggeser potensi kabel biasa relatif terhadap kutub negatif baterai.

Jadi, papan itu digores dan disolder. Saatnya untuk mengemas desain ini ke dalam case. Yang sebenarnya sudah selesai. Namun, selama operasi, kelemahan kecil lainnya muncul - penyimpangan rangkaian input op-amp. Hal ini tercermin dalam pergeseran pembacaan yang negatif, yaitu. pada arus beberapa puluh miliampere, indikatornya masih menunjukkan angka nol, yang tidak cocok untuk saya! Saya akan mengizinkan pergeseran beberapa mA - unit miliamp tetap tidak ditampilkan. Saya harus memperkenalkan rangkaian bias ke input NU.

Peringkat R4 dan RZ dipilih sedemikian rupa sehingga memberikan bias plus/minus beberapa puluh milivolt relatif terhadap “virtual ground”. Saya tidak punya keinginan untuk membuat ulang papan yang sudah jadi dan saya menambahkan pembagi yang dapat disesuaikan sebagai pengganti pengatur Ku.

Secara umum, perangkat yang dihasilkan memenuhi kebutuhan saya. Tentu saja bisa diperbaiki untuk waktu yang lama, tapi itu belum perlu!

Saya akan berbicara tentang bagian digital dan matematika lain kali menggunakan contoh volt-ampere meter di catu daya laboratorium.

Perangkat yang cukup sederhana yang mengukur tegangan, arus dan menunjukkan total daya yang dikonsumsi oleh beban pada frekuensi 50 Hz.

Selama pekerjaan perbaikan atau saat memeriksa dan menguji perangkat baru, sering kali diperlukan suplai tegangan dari LATR, dan perlu untuk mengontrol tegangan dan arus. Untuk keperluan tersebut dikembangkan dan dirakit voltmeter-ammeter pada mikrokontroler dengan indikator LCD. Karena tegangan dan arus diukur, daya total mudah dihitung. Hasilnya adalah meteran yang sangat kompak.
Spesifikasi
1. Batas perubahan tegangan terukur adalah 0 – 255 Volt, resolusi 0,5 volt. Pembacaan ditampilkan dalam peningkatan 1 volt.
2. Batasan perubahan arus terukur 0 – 10 Ampere, resolusi 20 mA. Pembacaan ditampilkan dalam peningkatan 10 mA.
3. Daya semu dihitung sebagai hasil kali arus dan tegangan dan hanya nilai bilangan bulat dalam Volt-Amps yang ditampilkan.

Diagram skematik

Fragmen dikecualikan. Majalah kami ada atas sumbangan dari pembaca. Versi lengkap artikel ini hanya tersedia


Diterapkan dalam skema pengukuran langsung tegangan dan arus AC mikrokontroler.
Tegangan terukur melalui pembagi R7, R9, R12 dan C12 disuplai ke input mikrokontroler melalui kapasitor C10. Kapasitor C12, bersama dengan pembagi tegangan input, membentuk rangkaian integrasi yang mencegah penetrasi derau impuls.

Arus terukur mengalir melalui shunt R1, tegangan yang dihilangkan darinya diperkuat oleh penguat operasional dan, melalui rantai R8 dan C8, disuplai ke input mikrokontroler. Tahap pertama pada OP1 adalah penguat pembalik dengan kapasitor pengintegrasi C3 pada rangkaian umpan balik. Karena ayunan tegangan yang dilepas dari OP1 harus sekitar 5 Volt, chip amplifier menerima peningkatan daya (9-15 Volt). Tahap kedua pada OP2 diaktifkan oleh repeater dan tidak memiliki fitur khusus. Kapasitor C3 berfungsi untuk mengurangi interferensi pada saat pengoperasian ADC mikrokontroler.

Input pengukuran RA0 dan RA1 menerima bias stabil konstan sebesar 2,5 volt melalui resistor R11 dan R13. Tegangan ini memungkinkan Anda mengukur setengah siklus tegangan input positif dan negatif dengan benar.
Layar LCD terhubung ke mikrokontroler PIC16F690, menampilkan 2 baris 16 karakter. Resistor R14 digunakan untuk mengatur kontras tampilan yang optimal. Resistor R15 menentukan arus lampu latar tampilan.
Perangkat ini diberi daya dari trafo 9-12 Volt terpisah. Stabilizer daya +5 Volt dirakit pada chip 78L05 dan tidak memiliki fitur khusus.


Saya menyalakan perangkat dari adaptor telepon. Karena papan memiliki jembatan Br1 sendiri, polaritas sambungan tidak menjadi masalah. Tegangan pada kapasitor C4 harus antara 10 dan 15 Volt.

--
Terima kasih atas perhatian Anda!


🕗 20/08/12 ⚖️ 18.04 Kb ⇣ 442 Halo pembaca!

--
Terima kasih atas perhatian Anda!
Igor Kotov, pemimpin redaksi majalah Datagor


🕗 20/08/12 ⚖️ 6.41 Kb ⇣ 457 Halo pembaca! Nama saya Igor, umur saya 45 tahun, saya orang Siberia dan insinyur elektronik amatir yang rajin. Saya membuat, membuat, dan memelihara situs luar biasa ini sejak tahun 2006.
Selama lebih dari 10 tahun, majalah kami hanya ada atas biaya saya.

Bagus! Hadiah gratis sudah berakhir. Jika Anda menginginkan file dan artikel bermanfaat, bantu saya!