ENSIKLOPEDIA ELEKTRONIK RADIO DAN KEJURUTERAAN ELEKTRIK Operasi ADC dengan port COM, sistem pemerolehan data yang mudah. Ensiklopedia elektronik radio dan kejuruteraan elektrik Ensiklopedia elektronik radio dan kejuruteraan elektrik / Komputer Artikel ini ditujukan terutamanya kepada pemula. Bagi mereka yang memutuskan untuk mencuba sendiri dalam mencipta sistem pemerolehan data, memasukkan isyarat analog ke komputer, memprosesnya, dsb. Ini akan dibincangkan dalam artikel ini, dan kami akan cuba melakukan semuanya sendiri. Secara umum, terdapat sedikit maklumat mengenai topik ini di Internet dan dalam kesusasteraan... Terutama jika anda menggunakan bahasa Visual Basic. Oleh itu, saya akan cuba mengisi, sekurang-kurangnya sebahagian, jurang ini. Jadi, mari kita mulakan… Walau apa pun matlamat anda, mula-mula anda perlu membeli penukar analog-ke-digital (ADC) sebenar. Dan juga, pasang persekitaran pembangunan Visual Basic 6.0 pada komputer anda. Anda juga perlu boleh menavigasi persekitaran pembangunan ini... kerana... Artikel ini direka untuk memastikan bahawa pembaca mempunyai sekurang-kurangnya pengetahuan asas pengaturcaraan dalam Visual Basic. Saya juga mengesyorkan membaca kesusasteraan [1], [3]. Saya mengesyorkan untuk membeli TLC549IP sebagai ADC. Ini ialah ADC bersiri 8-bit dengan protokol komunikasi yang mudah. Ini akan dibincangkan dalam artikel. Sudah tentu, anda boleh menggunakan ADC lain dengan perubahan yang sesuai dalam litar dan kod. Anda boleh membaca lebih lanjut mengenainya dalam [1]. Selepas anda menemui ADC, anda perlu memasang perkakasan sistem pemerolehan data kami, iaitu litar yang ditunjukkan dalam Rajah. 1. Skim ini dipinjam daripada [1] dengan perubahan kecil. Diod VD1, VD2, VD6 - KD521, sebarang diod zener untuk voltan penstabilan 3...5 V. Daripada 78L05, anda boleh menggunakan KREN5A. Perintang R1, R2 dengan toleransi 1%, atau pemilihan dari beberapa dengan nilai rintangan terdekat. Ketepatan ukuran akan bergantung kepada mereka. Perintang R3 sebaiknya berbilang pusingan. pelarasan: dengan menggunakan kuasa pada papan, kami mengukur voltan pada pin Keluar penstabil DA1. Kami menulis nilai voltan yang terhasil dengan 3 tempat perpuluhan, kami akan memerlukannya kemudian. Pada pin 1 litar mikro DD1, menggunakan perintang R3, kami menetapkan voltan sama dengan tepat separuh daripada penstabil yang diukur pada pin Out. Sekarang mari kita beralih ke bahagian perisian sebenar. Secara umumnya, pada mulanya, gunakan antara muka komunikasi seperti RS-232, I2C, Micro Ware, dll. Saya menganggap ia tidak sesuai, kerana Dengan sedikit kerumitan kod program, perkakasan boleh menjadi lebih rumit. Oleh itu, kami akan menggunakan protokol pertukaran termudah yang diambil daripada "lembaran data" kepada ADC. Iaitu, pelaksanaannya yang mudah. Sudah tentu, dengan protokol sedemikian anda tidak boleh mencapai kelajuan tinggi; dalam kes ini, batasan dikenakan oleh Visual Basic sendiri, tetapi ia agak sesuai untuk mendapatkan hasil pertama dengan masa dan usaha yang minimum, serta mengukur secara perlahan. proses yang berubah-ubah. Protokol komunikasi TLC549IP ADC ditunjukkan dalam Rajah. 2. Semasa keadaan tunggal, penukaran sebenar berlaku pada pin CS (pilihan cip) penukar A/D. Output data bermula pada tahap CS yang rendah dengan penampilan nadi jam, satu bit untuk setiap nadi. Untuk menghasilkan kod 8-bit, 8 denyutan jam diperlukan. Selepas itu CS boleh dipindahkan ke satu keadaan dan transformasi berikut boleh dilakukan. Butiran lanjut mengenai operasi ADC boleh didapati di [1]. Daripada semua ini, kita boleh menyimpulkan bahawa adalah perlu untuk menulis program pemacu yang akan menghasilkan urutan denyutan yang diperlukan pada masa yang tepat, selepas itu kita hanya boleh menerima data. Mulakan persekitaran pembangunan Visual Basic dan cipta projek EXE standard. Tambah Kawalan MSComm. Anda boleh menambahnya pada panel komponen seperti berikut: Projek-->Komponen-->pilih daripada senaraimicrosoft Kom Kawalan 6.0. Letakkannya pada borang, bersama-sama dengan 2 label dan 2 Pemasa. Biarkan nama sebagai lalai. Kini anda boleh mula menulis kod untuk voltmeter mudah. Mari kita tetapkan pembolehubah: Malapkan b1, b2, b3, b4, b5, b6, b7, b8, jumlah, Ud Sebagai Tunggal Letakkan kod berikut dalam prosedur pemuatan borang: Sub Form_Load() Persendirian MSComm1.DTREnable = Nilai awal 'benar - tahap CS tinggi Pemasa1.Selang = 100 ' selang pemasa 1ms Pemasa2.Selang = 1 ' selang pemasa 100ms MSComm1.Settings = "1200,N,8,1" ' tetapan pemindahan data MSComm1.CommPort = 1 ' Nombor port COM MSComm1.PortOpen = Benar ' port com terbuka Akhir Sub Dalam prosedur Pemasa1 meletakkan kod: Pemasa Kecil Peribadi1_Pemasa() MSComm1.DTREnable = Palsu 'Buat CS rendah Label2.Caption = "" 'sampah untuk kelewatan awal MSComm1.RTSEnable = Benar '1st clock pulse clock high Jika MSComm1.CDHolding = Benar Kemudian b1 = 1 Lain b1 = 0 'poll satu atau nilai sifar pada input CD (output ADC) MSComm1.RTSEnable = Palsu '1st clock pulse clock low MSComm1.RTSEnable = Benar Jika MSComm1.CDHolding = Benar Maka b2 = 1 Lain b2 = 0 MSComm1.RTSEnable = Palsu MSComm1.RTSEnable = Benar Jika MSComm1.CDHolding = Benar Maka b3 = 1 Lain b3 = 0 MSComm1.RTSEnable = Palsu MSComm1.RTSEnable = Benar Jika MSComm1.CDHolding = Benar Maka b4 = 1 Lain b4 = 0 MSComm1.RTSEnable = Palsu MSComm1.RTSEnable = Benar Jika MSComm1.CDHolding = Benar Maka b5 = 1 Lain b5 = 0 MSComm1.RTSEnable = Palsu MSComm1.RTSEnable = Benar Jika MSComm1.CDHolding = Benar Maka b6 = 1 Lain b6 = 0 MSComm1.RTSEnable = Palsu MSComm1.RTSEnable = Benar Jika MSComm1.CDHolding = Benar Maka b7 = 1 Lain b7 = 0 MSComm1.RTSEnable = Palsu MSComm1.RTSEnable = Benar Jika MSComm1.CDHolding = Benar Maka b8 = 1 Lain b8 = 0 MSComm1.DTREnable = Benar 'Buat CS tinggi MSComm1.RTSEnable = Palsu '8st clock pulse clock low 'tukar bit ke dalam format perpuluhan menggunakan formula pengembangan jumlah = (b1 * 2^7) + (b2 * 2^6) + (b3 * 2^5) + (b4 * 2^4) + (b5 * 2^3) + (b6 * 2^2) + (b7 * 2^1) + (b8 * 2^0) Ud = Format(jumlah * 5.083 / 255, "##0.000") 'kira nilai perkadaran Label1.Caption = CStr(Ud) & "Volt" 'memaparkan nilai yang terhasil Akhir Sub Kod dalam Pemasa1 ialah pemacu sebenar. Yang, berulang secara berkala, menjana denyutan jam dan menerima bit data. Ud ialah voltan pada input ADC; jika anda menggunakan 10, 12-bit ADC, nombor 225 akan digantikan dengan 1024, 4096, masing-masing. Untuk 10, 12-bit ADC, anda perlu menambah bit yang hilang pada kod , dipandu oleh "helaian data" mereka. Nilai 5.083 ialah nilai voltan yang saya dapat pada output Out penstabil. Masukkan nilai anda di sini. Untuk kuasa papan, anda boleh menggunakan sama ada sumber berasingan atau kuasakannya terus dari port COM. Untuk melakukan ini, kami meletakkan kod berikut dalam prosedur Timer2: Pemasa Kecil Peribadi2_Pemasa() MSComm1.Output = Chr(0) & Chr(0) 'membuat denyutan pada pin TX (3) untuk menghidupkan papan ADC Akhir Sub Harus diingat bahawa port COM tidak boleh dimuatkan dengan berat ... maksimum yang boleh anda harapkan ialah 20 mA. Dalam mod pengendalian, litar menggunakan arus tidak lebih daripada 5 mA. Sekarang sambungkan papan ke port COM dan jalankan projek. Ukur voltan pada pin IN penstabil DA1, ia hendaklah tidak lebih rendah daripada 6.5 V. Jika ini tidak berlaku, gunakan sumber kuasa yang berasingan. Dengan menukar voltan pada input ADC, pastikan program berfungsi dan menunjukkan voltan pada skrin. Ketepatan bacaan voltan apabila menggunakan ADC 8-bit ialah 20 mV, dengan ADC 10-bit - 5 mV, 12-1.2 mV Sedikit tentang bekerja dalam Visual Basic dan aplikasi yang dibuat dengan port com Seperti yang anda mungkin sudah faham, untuk bekerja dengan port com anda memerlukan komponenmicrosoft Kom Mengawal iaitu fail MSCOMM32.ocx yang, selepas memasang Visual Basic, terletak dalam direktori C:\Windows\system32. Apa yang saya maksudkan dengan ini ialah jika anda menyalin program anda, tanpa membuat pemasang, ke komputer lain yang tidak mempunyai Visual Basic, ia tidak akan berfungsi. Anda juga perlu menyalin fail ini ke direktori yang sama seperti pada komputer anda, i.e. dalam sistem32. Atau buat pemasang. Sekarang untuk beberapa arahan: Perintah menetapkan kadar pertukaran data: MSComm1.Settings = "1200,N,8,1" Perintah yang menunjukkan nombor port com MSComm1.CommPort = 1 Perintah untuk membuka dan menutup port com MSComm1.PortOpen = Benar MSComm1.PortOpen = Salah Perintah yang mengeluarkan +12V ke pin yang sepadan bagi penyambung com: MSComm1.RTSEnable = True RTS (7) - nama pin dan nombor pin MSComm1.DTREnable = DTR Benar(4) Perintah mengeluarkan -12V MSComm1.RTSEnable = Palsu MSComm1.DTREnable = Palsu Anda boleh meninjau pin CD (1), CTS (8), DSR (6) untuk kehadiran keadaan tunggal atau sifar. Jika MSComm1.CDHolding = Benar Kemudian (jika satu maka…) Jika MSComm1.CDHolding = Palsu Kemudian (jika sifar maka…) Menghantar kod ASCII aksara atau rentetan ke output Tx (3): MSComm1.Output = "A" Nombor MSComm1.Output = Nombor Chr(10) boleh berbeza daripada 0…255 Dengan menulis arahan sedemikian dalam pemasa dan menukar nombor atau simbol, anda boleh membuat modulasi PWM. Butiran lanjut tentang arahan boleh didapati dengan memuat turun penerangan kawalan microsoft Kom Mengawal. Sekarang, mempunyai kod ini, anda boleh menulis beberapa program untuk mengumpul data. Contohnya: voltmeter, ammeter, meter suhu, osiloskop mudah, simpan data ke fail. Pengukuran boleh dilakukan sama ada sekali setiap 1 ms atau sekali setiap jam dan hari, dengan itu memantau proses jangka panjang. Untuk bekerja dengan voltan berselang-seli (melepasi 0), serta untuk mengembangkan had pengukuran, penguat input diperlukan, yang litarnya boleh diambil dari [1]. Untuk bekerja dengan voltan sesalur atau dengan peranti yang tidak diasingkan secara galvani daripada rangkaian, adalah perlu untuk mengasingkan litar secara opto daripada komputer. Muat turun kod sumber program sampel (8 kB) Kesusasteraan
Pengarang: =ShooRooP=, evei [anjing] mail.ru; Penerbitan: cxem.net Lihat artikel lain bahagian Komputer. Baca dan tulis berguna komen pada artikel ini. Berita terkini sains dan teknologi, elektronik baharu: Cara Baharu untuk Mengawal dan Memanipulasi Isyarat Optik
05.05.2024 Papan kekunci Seneca Prime
05.05.2024 Balai cerap astronomi tertinggi di dunia dibuka
04.05.2024
Berita menarik lain: ▪ Penyesuai Bluetooth untuk telefon Motorola ▪ Sistem Penyejukan Noctua dengan Teknologi Pembatalan Bunyi Aktif ▪ Perlumbaan kereta molekul pertama Suapan berita sains dan teknologi, elektronik baharu
Bahan-bahan menarik Perpustakaan Teknikal Percuma: ▪ bahagian laman web Kawalan Radio. Pemilihan artikel ▪ artikel Biarkan dunia binasa, tetapi keadilan ditegakkan. Ungkapan popular ▪ artikel Bilakah baja pertama digunakan? Jawapan terperinci ▪ pasal rami. Legenda, penanaman, kaedah aplikasi ▪ artikel Arus elektrik melawan mutasi. Ensiklopedia elektronik radio dan kejuruteraan elektrik
Tinggalkan komen anda pada artikel ini: Semua bahasa halaman ini Laman utama | Perpustakaan | artikel | Peta Laman | Ulasan laman web www.diagram.com.ua |