Daftar Isi:

PIC16F877 Multimeter: 6 Langkah
PIC16F877 Multimeter: 6 Langkah

Video: PIC16F877 Multimeter: 6 Langkah

Video: PIC16F877 Multimeter: 6 Langkah
Video: How to check speaker ohm's with multimeter 2024, Juli
Anonim
PIC16F877 Multimeter
PIC16F877 Multimeter

Pengenalan PICMETER

Proyek PICMETER ini telah berkembang menjadi alat yang berguna dan dapat diandalkan untuk setiap penggemar elektronik.

  • Ini berjalan pada pengontrol mikro PIC16F877 / 877A.
  • Ini adalah sistem pengembangan PIC
  • Ini adalah multi-meter 19-fungsi (voltmeter, pengukur frekuensi, generator sinyal, termometer …)
  • Ini adalah pemeriksa komponen (R, L, C, dioda …) dengan hingga 5 rentang pada setiap fungsi.
  • Ini memiliki radio ASK band 433MHz, yang menunggu beberapa jenis aplikasi.
  • Ini adalah sistem akuisisi jarak jauh, di mana komputer lain (PC) dapat mengumpulkan data melalui port serial untuk tampilan grafis. (Ini telah digunakan sebagai ujung depan proyek EKG).
  • Memiliki fasilitas logging (untuk data logging selama berjam-jam), hasilnya diupload dari EEPROM.
  • Ini menghasilkan sinyal uji untuk menggerakkan beberapa motor.
  • Ini diuji secara menyeluruh, lihat foto-foto di Langkah 5.
  • Perangkat lunak ini dirilis sebagai Open Source

Instruksi ini adalah versi singkat dari Dokumentasi Lengkap. Ini menggambarkan perangkat keras dan perangkat lunak yang cukup bagi orang lain untuk membangunnya baik sebagai proyek yang telah selesai, atau menggunakannya sebagai sistem pengembangan untuk membuat perubahan lebih lanjut, atau hanya mencari ide untuk digunakan pada proyek lain.

Perlengkapan

Satu-satunya chip penting yang harus dibeli adalah Microchip PIC16F877A-I/P

  • A = revisi selanjutnya yang berbeda dari aslinya dalam definisi bit konfigurasi.
  • I = Kisaran suhu industri
  • P= 40-Lead Plastic Dual In-line Package, 10 MHz, batas VDD normal.

Juga LCD Hitachi LM032LN 20 karakter dengan 2 baris yang telah dibangun di pengontrol HD44780.

Bagian lainnya hanyalah komponen listrik generik, PCB strip-board, LM340, LM311, LM431, transistor daya rendah tujuan umum, dll.

Langkah 1: Deskripsi PICBIOS

Deskripsi PICBIOS
Deskripsi PICBIOS

Deskripsi PICBIOS

Perangkat lunak ini berjalan pada papan PIC16F877 dan menempati 4k bawah memori program. Ini menyediakan lingkungan perangkat lunak untuk program aplikasi yang menempati bagian atas memori program. Idenya mirip dengan PC-BIOS dengan beberapa "debug" seperti perintah untuk pengembangan program dan memiliki 5 komponen:

  1. Menu Booting
  2. Program pengaturan
  3. Antarmuka Baris Perintah (melalui port serial)
  4. Driver kernel dan perangkat
  5. Antarmuka pemrograman aplikasi

Langkah 2: Deskripsi PICMETER

Deskripsi PICMETER
Deskripsi PICMETER

Deskripsi PICMETER

pengantar

Seperti multimeter (volt, amp, ohm) ini memiliki banyak fungsi yang dipilih melalui sistem menu. Tetapi menjadi kombinasi perangkat keras dan perangkat lunak membuatnya sangat serbaguna, misalnya fitur seperti masuk dalam waktu lama dan mengirim data serial tersedia.

Menu adalah "hati" di mana fungsi dipilih melalui tombol [kiri] dan [kanan]. Kemudian untuk setiap fungsi rentang yang berbeda dipilih oleh tombol [inc] dan [dec]. Misalnya kapasitor diukur dari sekitar 0,1nF hingga 9000uF dengan menggunakan 5 rentang terpisah.

2.1 Perangkat Lunak PICMETER

Ini diatur sebagai program aplikasi yang menempati 4k atas memori program dan bergantung pada fungsi PICBIOS untuk perangkat I/O dan penanganan interupsi. Ini terdiri dari bagian menu yang berjalan sebagai tugas latar belakang dan polling tombol setiap 20ms. Ketika sebuah tombol ditekan untuk mengubah fungsi atau mengubah rentang, rutinitas yang sesuai dipanggil. Ketika tidak ada tombol yang ditekan, pembacaan terukur diperbarui pada interval sekitar 0,5 detik. Pada dasarnya menu adalah tabel pencarian.

2.2 Fungsi Meter - bagian

Ada banyak fungsi sehingga bagian ini dibagi menjadi beberapa bagian, masing-masing berhubungan dengan fungsi yang serupa. Ini adalah daftar singkat bagian, lihat Dokumentasi Lengkap untuk melihat bagaimana setiap bagian bekerja secara detail. Karena keterbatasan port, ada 3 variasi proyek (lihat Dokumentasi Lengkap). Fungsi dalam font normal adalah umum untuk semua proyek. Fungsi yang DIBAWAHKAN hanya disertakan dalam proyek PICMETER1. Fungsi dalam ITALICS hanya disertakan dalam proyek PICMETER2 atau PICMETER3.

Bagian VoltMeter - File sumber adalah vmeter.asm

Berisi fungsi-fungsi yang didasarkan pada pengukuran tegangan menggunakan ADC.

  • Tegangan ADC (membaca tegangan pada input tertentu, AN0 hingga AN4)
  • AD2 Dual (menampilkan tegangan pada AN0 dan AN1 secara bersamaan)
  • Termometer TMP -10 hingga 80? degC (2N3904 atau transduser LM334 ganda)
  • LOG – mengatur interval logging
  • OHM – Pengukuran resistansi (metode potensiometer) dari 0Ω hingga 39MΩ dalam 4 rentang
  • DIO – Diode, mengukur tegangan maju (0-2.5V)
  • CON – Kontinuitas (bip ketika resistensi kurang dari ambang batas 25, 50 atau 100)

Komponen Meter1 - File sumber adalah meter1.asm

Pengukuran kapasitor, induktor dan resistor menggunakan rangkaian komparator LM311. Berdasarkan pengukuran waktu satu siklus pengisian.

  • CAL – kalibrasi – mengukur 80nf dan 10μF tetap untuk pengujian & penyesuaian mandiri
  • Cx1 – pengukuran kapasitor dari 0.1nF hingga 9000μF dalam 5 rentang
  • Lx1 – pengukuran induktor dari 1mH ke ?? mH dalam 2 rentang
  • Rx1 – pengukuran resistor dari 100Ω hingga 99MΩ dalam 3 rentang

Komponen Meter2 Sumber file Meter2.asm

Pengukuran komponen menggunakan osilator relaksasi LM311 alternatif dan osilator Colpitts. Berdasarkan pengukuran periode waktu N siklus. Ini sedikit lebih akurat daripada metode di atas karena waktu N= hingga 1000 siklus diukur. Ini lebih merupakan solusi perangkat keras dan membutuhkan lebih banyak konstruksi.

  • Cx2 – pengukuran kapasitor dari 10pF hingga 1000 F dalam 5 rentang.
  • Rx2 – pengukuran resistor dari 100 ohm hingga 99M dalam 5 rentang.
  • Lx2 - pengukuran induktor dari 1mH hingga 60mH dalam 1 rentang.
  • osc - pengukuran induktor (metode Colpitts) dari 70μH hingga 5000μH ? dalam 2 rentang.

Pengukur Frekuensi - file sumber Fmeter.asm

Berisi fungsi yang menggunakan penghitung dan pengatur waktu PIC, dan sedikit lainnya;

  • FREQ - Pengukur frekuensi dari 0Hz hingga 1000kHz dalam 3 rentang
  • XTL - mengukur frekuensi kristal LP (tidak diuji)
  • SIG – generator sinyal dari 10Hz ke 5KHz dalam 10 langkah
  • SMR - motor stepper - arah mundur
  • SMF – motor stepper- arah maju.

Komunikasi - File sumber adalah comms.asm

Berfungsi untuk mengirim/menerima sinyal untuk menguji periferal serial dan SPI;

  • UTX uji serial TX & inc dan laju bit Desember dari 0,6 hingga 9,6k
  • URX uji serial RX & inc dan laju bit Desember dari 0,6 hingga 9,6k
  • SPM - menguji SPI dalam mode master
  • SPS - menguji SPI dalam mode budak

Modul Radio FSK - File sumber adalah Radio.asm

Fungsi menggunakan radio RM01 dan RM02 menerima dan mengirimkan modul. Antarmuka modul ini melalui SPI, yang menggunakan sebagian besar pin Port C.

  • RMB – setel tingkat BAUD modul radio
  • RMF – mengatur frekuensi RF modul radio
  • RMC - mengatur frekuensi jam modul radio
  • XLC - menyesuaikan beban kapasitansi kristal
  • POW - mengatur daya pemancar
  • RM2 - mengirimkan data uji (modul RM02)
  • RM1 – menerima data uji (modul RM01)

Modul Kontrol - File sumber control.asm

  • SV1 - Output Servo (menggunakan CCP1) dari 1 md hingga 2 md dalam langkah 0,1 md
  • SV2 - Keluaran Servo (menggunakan CCP2) dari 1 md hingga 2 md dalam langkah 0,1 md
  • PW1 - Output PWM (menggunakan CCP1) dari 0 hingga 100% dalam 10% langkah
  • PW2 - Output PWM (menggunakan CCP2) dari 0 hingga 100% dalam 10% langkah

Akuisisi Data Jarak Jauh - File sumber adalah remote.asm

Mode jarak jauh (Rem) - seperangkat perintah sehingga pengukur dapat dioperasikan dari komputer melalui antarmuka serial. Satu perintah mengumpulkan data yang masuk ke EEPROM selama beberapa jam. Perintah lain membaca tegangan dengan kecepatan penuh dari ADC ke buffer memori, kemudian mengirimkan buffer ke PC, di mana hasilnya dapat ditampilkan secara grafis. Secara efektif ini adalah osiloskop, bekerja pada rentang frekuensi audio

Waktu - File sumber adalah time.asm

Tim – hanya menampilkan waktu dalam format jj:mm:dd dan memungkinkan perubahan menggunakan 4 tombol

Langkah 3: Deskripsi Sirkuit

Deskripsi Sirkuit
Deskripsi Sirkuit
Deskripsi Sirkuit
Deskripsi Sirkuit

Deskripsi Sirkuit

3.1 Papan Pengembangan Dasar

Gambar 1 menunjukkan papan pengembangan dasar untuk menjalankan PICBIOS. Ini sangat standar dan mudah, sumber daya yang diatur 5V dan kapasitor decoupling, C1, C2 ….

Jamnya adalah kristal 4 MHz, sehingga TMR1 berdetak dalam interval 1us. Kapasitor 22pF C6, C7 direkomendasikan oleh Microchip, tetapi tampaknya tidak benar-benar diperlukan. Header ICSP (in-circuit-serial-programming) digunakan untuk memprogram PIC kosong dengan PICBIOS.

Port serial (COM1) – note TX dan RX ditukar, yaitu COM1-TX terhubung ke Port C-RX, dan COM1-RX terhubung ke Port C-TX (biasa disebut sebagai “modem null”). Juga level sinyal yang diperlukan untuk RS232 harus benar-benar +12V (spasi), dan -12V (tanda). Namun level tegangan 5V (spasi) dan 0V (tanda) tampaknya cukup untuk semua PC yang saya gunakan. Jadi level sinyal RX dan TX hanya dibalik oleh line driver (Q3) dan line receiver (Q2).

LCD LM032LN (2 baris 20 karakter) menggunakan standar "antarmuka HD44780". Perangkat lunak ini menggunakan mode nibble 4-bit dan hanya tulis, yang menggunakan 6 pin port D. Perangkat lunak ini dapat dikonfigurasi untuk nibble low (Port D bit 0-3) atau nibble high (Port D bit 4-7) seperti yang digunakan di sini.

Sakelar tombol tekan menyediakan empat input untuk pemilihan menu. Gunakan push untuk membuat sakelar saat perangkat lunak mendeteksi tepi yang jatuh. Resistor pull-up (=25k) adalah internal ke PORT B. Port RB6 tidak dapat digunakan untuk sakelar, karena tutup 1nF (yang direkomendasikan untuk ICSP). Tidak perlu saklar reset?

tombol0

opsi menu tersisa [◄]

tombol1

pilihan menu kanan [►]

tombol2

rentang kenaikan/nilai/pilih [▲]

tombol3

rentang penurunan/nilai/pilih [▼]

3.2 Input Analog dan Pemeriksa Komponen – Papan 1

Gambar 2 menunjukkan sirkuit analog untuk PICMETER1. Input analog AN0 dan AN1 digunakan untuk pengukuran tegangan tujuan umum. Pilih nilai resistor untuk attenuator untuk memberikan 5V pada pin input AN0/AN1.

Untuk rentang input 10V, m = 1 + R1/R2 = 1 + 10k/10k = 2

Untuk rentang input 20V, m = 1 + (R3+R22)/R4 = 1 + 30k/10k = 4

AN2 digunakan untuk pengukuran suhu menggunakan transistor Q1 sebagai transduser suhu “kasar”. Koefisien suhu transistor NPN pada 20 celcuis = -Vbe/ (273+20) = - 0,626/293 = -2,1 mV/K. (lihat pengukuran suhu di bagian Analog). LM431 (U1) menyediakan referensi tegangan 2.5V pada AN3. Akhirnya AN4 digunakan untuk atau pengujian komponen di bagian Analog.

Untuk pengukuran komponen, komponen uji dihubungkan melalui RE2 (D_OUT) dan Input AN4. Resistor R14 hingga R18 memberikan lima nilai resistansi yang berbeda yang digunakan untuk pengukuran resistansi (metode potensiometer) di bagian Analog. Resistor "terhubung dalam rangkaian" dengan mengatur pin Port C/Port E sebagai Input atau Output.

Meter1 melakukan pengukuran komponen dengan mengisi berbagai kombinasi kapasitor dan resistor yang diketahui/tidak diketahui. LM311 (U2) digunakan untuk membuat interupsi CCP1 ketika kapasitor mengisi ke ambang atas (75% VDD) dan melepaskan ke ambang bawah (25% VDD) Tegangan ambang ini diatur oleh R8, R9, R11 dan potensiometer R10 yang memberikan sedikit pengaturan. Saat menguji kapasitor, kapasitor C13 (= 47pF) ditambah kapasitansi nyasar papan memberikan trim 100pF. Ini memastikan bahwa, ketika komponen uji dihapus, interval antara interupsi CCP1 melebihi 100us, dan tidak membebani PIC. Nilai trim ini (100pF) dikurangi dari pengukuran komponen oleh perangkat lunak. D3(1N4148) menyediakan jalur pelepasan saat menguji induktor dan melindungi D_OUT, mencegah tegangan menjadi negatif.

λΩπμ

Langkah 4: Panduan Konstruksi

Panduan Konstruksi
Panduan Konstruksi
Panduan Konstruksi
Panduan Konstruksi

Panduan Konstruksi

Hal yang baik adalah bahwa proyek ini dibangun dan diuji secara bertahap. Rencanakan proyek Anda. Untuk instruksi ini saya berasumsi Anda sedang membangun PICMETER1, meskipun prosedurnya serupa untuk PICMETER2 dan 3.

4.1 Papan Pengembangan PCB

Anda perlu membuat papan pengembangan dasar (Gambar 1) yang harus sesuai dengan ukuran standar PCB 100 kali 160mm, rencanakan tata letaknya agar tetap rapi. Bersihkan PCB dan timah Anda semua tembaga, gunakan komponen dan konektor yang andal, diuji jika memungkinkan. Gunakan soket 40 pin untuk PIC. Periksa kontinuitas semua sambungan yang disolder. Mungkin bermanfaat untuk melihat foto tata letak papan saya di atas.

Anda sekarang memiliki PIC kosong dan Anda perlu memprogram PICBIOS ke dalam memori flash. Jika Anda sudah memiliki metode pemrograman – baiklah. Jika tidak, saya merekomendasikan metode berikut yang telah saya gunakan dengan sukses.

4.2 AN589 Pemrogram

Ini adalah rangkaian antarmuka kecil yang memungkinkan PIC untuk diprogram dari PC menggunakan port printer (LPT1). Desain awalnya diterbitkan oleh Microchip dalam Catatan Aplikasi. (referensi 3). Dapatkan atau buat programmer yang kompatibel dengan AN589. Saya telah menggunakan desain AN589 yang lebih baik yang dijelaskan di sini. Ini adalah ICSP – artinya Anda memasukkan PIC ke dalam soket 40 pin untuk memprogramnya. Kemudian sambungkan kabel printer ke input AN539 dan kabel ICSP dari AN589 ke development board. Desain programmer saya mengambil kekuatannya dari papan pengembangan melalui kabel ICSP.

4.3 Pengaturan PICPGM

Anda sekarang memerlukan beberapa perangkat lunak pemrograman untuk dijalankan di PC. PICPGM bekerja dengan berbagai programmer termasuk AN589, dan dapat diunduh secara gratis. (Lihat Referensi).

Dari Menu Perangkat Keras, Pilih Programmer AN589, pada LPT1

Perangkat = PIC16F877 atau 877A atau autodetect.

Pilih File Hex: PICBIOS1. HEX

Pilih Erase PIC, lalu Program PIC, lalu Verify PIC. Dengan sedikit keberuntungan, Anda mendapatkan pesan penyelesaian yang berhasil.

Lepaskan kabel ICSP, Restart PIC, semoga Anda melihat tampilan PICBIOS di LCD, jika tidak, periksa koneksi Anda. Periksa menu boot dengan menekan tombol kiri dan kanan.

4.4 Koneksi Serial (Hyperterminal atau Putty)

Sekarang periksa koneksi serial antara PIC dan PC. Hubungkan kabel serial dari PC COM1 ke papan pengembangan dan jalankan program komunikasi, seperti Win-XP Hyper-Terminal lama, atau PUTTY.

Jika menggunakan Hyperterminal, konfigurasikan sebagai berikut. Dari menu utama, Panggil > Putus. Kemudian File> Properties> Hubungkan ke tab. Pilih Com1, lalu klik tombol Konfigurasi. Pilih 9600 bps, tanpa paritas, 8 bit, 1 stop. Kontrol aliran perangkat keras”. Kemudian Panggil > Panggil untuk menghubungkan.

Jika menggunakan Putty, Connection > Serial > Connect to COM1, dan 9600 bps, no parity, 8 bit, 1 stop. Pilih “RTS/CTS”. Kemudian Sesi> Serial> Buka

Pada menu PICBIOS Boot, pilih “Command Mode”, lalu tekan [inc] atau [dec]. Pesan prompt "PIC16F877>" akan muncul di layar (jika tidak periksa antarmuka serial Anda). Tekan ? untuk melihat daftar perintah.

4.5 Program PICMETER

Setelah koneksi serial berfungsi, memprogram memori flash semudah mengirim file hex. Masukkan perintah "P", yang merespons dengan "Kirim file hex…".

Menggunakan hyper-terminal, dari menu Transfer > Kirim file teks > PICMETER1. HEX >Open.

Kemajuan ditunjukkan oleh ":." karena setiap baris kode hex diprogram. Akhirnya Load Sukses.

Jika Anda menggunakan Putty, Anda mungkin perlu menggunakan Notepad dan menyalin/menempelkan seluruh isi PICMETER1. HEX ke dalam Putty.

Demikian pula untuk memverifikasi, Masukkan Perintah "V". Di hyper-terminal, dari menu Transfer > Kirim file teks > PICMETER1. HEX > OK.

Warning = xx…Jika Anda memprogram chip 16F877A, Anda akan mendapatkan beberapa pesan peringatan. Ini berkaitan dengan perbedaan antara 877 dan 877A, yang diprogram dalam 4 blok kata. Sayangnya linker tidak menyelaraskan awal bagian pada 4 batas kata. Solusi sederhananya adalah memiliki 3 instruksi NOP di awal setiap bagian, jadi abaikan saja peringatannya.

Mulai ulang dan pada menu boot BIOS, pilih "Jalankan aplikasi". Anda akan melihat PICMETER1 pada LCD.

4.6 Jalankan PICMETER1

Sekarang mulailah membangun lebih banyak bagian dari papan pengembangan (Gambar 2) untuk mendapatkan Voltmeter, fungsi Pengukur Komponen berfungsi sesuai kebutuhan.

Meter1 membutuhkan kalibrasi. Pada fungsi "Cal", sesuaikan R10 untuk memberikan pembacaan sekitar 80,00, 80,0nF, dan 10.000uF. Kemudian baca 100pF kecil pada fungsi Cx1. Jika pembacaan keluar, ganti tutup trim C13, atau ubah nilai "trimc" di meter1.asm.

Sekarang jalankan PICBIOS Setup, dan ubah beberapa pengaturan kalibrasi di EEPROM. Kalibrasi suhu dengan menyesuaikan offset 16-bit (format tinggi, rendah). Anda mungkin juga perlu mengubah nilai "delayt".

Jika niat Anda adalah membangun proyek apa adanya – Selamat - Anda telah selesai ! Ceritakan tentang kesuksesan Anda di Instructables.

4.7 MPLAB

Tetapi jika Anda ingin membuat perubahan, atau mengembangkan proyek lebih lanjut, Anda perlu membangun kembali perangkat lunak menggunakan MPLAB. Unduh MPLAB dari Microchip. Ini adalah yang "lama" yang sederhana dan mudah digunakan. Saya belum mencoba alat pengembangan labx baru yang terlihat jauh lebih rumit.

Detail tentang cara membuat proyek baru, lalu menambahkan file ke proyek dalam Dokumentasi Lengkap.

Langkah 5: Foto Pengujian

Foto Pengujian
Foto Pengujian
Foto Pengujian
Foto Pengujian
Foto Pengujian
Foto Pengujian

Foto di atas termometer, membaca 15 degC

Frekuensi pengujian, pembacaan = 416k

Menguji induktor bertanda 440uF, membaca 435u

Menguji resistor 100k, membaca 101k, itu mudah.

Pengujian kapasitor 1000pF, pembacaan 1,021nF

Langkah 6: Referensi dan Tautan

6.1 Lembar Data PIC16F87XA, Microchip Inc.

ww1.microchip.com/downloads/en/devicedoc/39582b.pdf

6.2 Spesifikasi Pemrograman Memori PIC16F87XA FLASH, Microchip

ww1.microchip.com/downloads/en/devicedoc/39589b.pdf

6.3 Catatan Aplikasi AN589, Microchip Inc.

ww1.microchip.com/downloads/en/appnotes/00589a.pdf

6.4 Unduh PICPGM

picpgm.picprojects.net/

6.5 MPLab IDE v8.92 unduhan gratis, Microchip

pic-microcontroller.com/mplab-ide-v8-92-free-download/

6.6 Lembar data untuk modul Hope RFM01-433 dan RFM02-433, Solusi RF

www.rfsolutions.co.uk/radio-modules-c10/hope-rf-c238

6.7 LT Spice, Perangkat Analog

www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html

6.8 Sirkuit pemrogram gambar berdasarkan AN589, Proyek Mikrokontroler Terbaik

www.best-microcontroller-projects.com/pic-programmer-circuit.html

6.9 File Sumber Terbuka

open_source

Direkomendasikan: