Menü English Ukrainian Rusça Ana Sayfa

Hobiler ve profesyoneller için ücretsiz teknik kütüphane Ücretsiz teknik kütüphane


RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ
Ücretsiz kütüphane / Radyo-elektronik ve elektrikli cihazların şemaları

COM bağlantı noktasıyla ADC işlemi, basit bir veri toplama sistemi. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

Ücretsiz teknik kütüphane

Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Bilgisayarlar

makale yorumları makale yorumları

Bu makale esas olarak yeni başlayanlara yöneliktir. Bir veri toplama sistemi oluşturma, analog sinyalleri bir bilgisayara girme, bunları işleme vb. konusunda kendilerini denemeye karar verenler için. Bu, bu makalede tartışılacak ve her şeyi kendimiz yapmaya çalışacağız.

Genel olarak internette ve literatürde bu konuyla ilgili oldukça fazla bilgi var... Özellikle Visual Basic dilini kullanıyorsanız. Bu nedenle bu boşluğu en azından kısmen doldurmaya çalışacağım.

Öyleyse başlayalım…

Amacınız ne olursa olsun, öncelikle gerçek analogdan dijitale dönüştürücüyü (ADC) satın almanız gerekir. Ayrıca bilgisayarınıza Visual Basic 6.0 geliştirme ortamını yükleyin. Ayrıca bu geliştirme ortamında kolayca gezinebilmeniz gerekir... çünkü... Makale, okuyucunun Visual Basic'te en azından temel programlama bilgisine sahip olmasını sağlamak için tasarlanmıştır. Ayrıca literatürü okumanızı da tavsiye ederim [1], [3].

ADC olarak TLC549IP'yi satın almanızı öneririm. Bu, basit bir iletişim protokolüne sahip 8 bitlik bir seri ADC'dir. Bu makalede tartışılacaktır. Elbette devrede ve kodda uygun değişikliklerle diğer ADC'leri de kullanabilirsiniz. Bununla ilgili daha fazla bilgiyi [1]'de okuyabilirsiniz.

ADC'yi bulduktan sonra veri toplama sistemimizin donanımını yani Şekil 1'de gösterilen devreyi birleştirmeniz gerekir. XNUMX.

COM portu ile ADC çalışması, basit veri toplama sistemi. Donanım
(büyütmek için tıklayın)

Şema küçük değişikliklerle [1]'den ödünç alınmıştır. Diyotlar VD1, VD2, VD6 - KD521, stabilizasyon voltajı 3...5 V için herhangi bir zener diyot. 78L05 yerine KREN5A'yı kullanabilirsiniz. %1 toleranslı R2, R1 dirençleri veya en yakın direnç değerine sahip birkaç direnç arasından seçim. Ölçümlerin doğruluğu bunlara bağlı olacaktır. Direnç R3 tercihen çok turludur.

Ayar: Panele güç vererek DA1 stabilizatörün Out pinindeki voltajı ölçüyoruz. Ortaya çıkan voltaj değerini virgülden sonra 3 basamakla yazıyoruz, daha sonra ihtiyacımız olacak. DD1 mikro devresinin pin 1'inde, R3 direncini kullanarak voltajı, Çıkış pininde ölçülen dengeleyicinin tam yarısına eşitledik.

Şimdi asıl yazılım kısmına geçelim. Genel olarak konuşursak, ilk başta RS-232, I2C, Micro Ware vb. iletişim arayüzlerini kullanın. Uygunsuz olduğunu düşünüyorum çünkü Program kodundaki ufak bir komplikasyonla donanım ciddi anlamda daha karmaşık hale gelebilir. Bu nedenle “veri sayfasından” ADC'ye alınan en basit değişim protokolünü kullanacağız. Yani, basit uygulaması. Elbette böyle bir protokolle yüksek hıza ulaşamazsınız; bu durumda sınırlamalar Visual Basic'in kendisi tarafından uygulanır, ancak ilk sonuçların minimum zaman ve çabayla elde edilmesinin yanı sıra nispeten yavaş ölçüm yapılması için oldukça uygundur. değişen süreçler. TLC549IP ADC'nin iletişim protokolü Şekil 2'de gösterilmektedir. XNUMX.

COM portu ile ADC çalışması, basit veri toplama sistemi. ADC iletişim protokolü TLC549IP
(büyütmek için tıklayın)

Tek durum sırasında gerçek dönüşüm, A/D dönüştürücünün CS (yonga seçimi) pininde gerçekleşir. Veri çıkışı, her darbe için bir bit olmak üzere bir saat darbesinin ortaya çıkmasıyla düşük CS seviyesinde başlar. 8 bitlik bir kod üretmek için 8 saat darbesi gereklidir. Bundan sonra CS tek bir duruma aktarılabilir ve aşağıdaki dönüşüm gerçekleştirilebilir. ADC'nin çalışmasıyla ilgili daha fazla ayrıntıyı [1]'de bulabilirsiniz.

Bütün bunlardan, gerekli darbe dizilerini doğru zamanlarda üretecek ve bundan sonra yalnızca verileri alabileceğimiz bir sürücü programı yazmanın gerekli olduğu sonucuna varabiliriz.

Visual Basic geliştirme ortamını başlatın ve standart bir EXE projesi oluşturun. MSComm Denetimini ekleyin. Bunu bileşen paneline aşağıdaki şekilde ekleyebilirsiniz: Proje-->Bileşenler-->listeden seçMicrosoft İletişim Kontrol 6.0. 2 etiket ve 2 Zamanlayıcıyla birlikte forma yerleştirin. Adları varsayılan olarak bırakın.

Artık basit bir voltmetre için kod yazmaya başlayabilirsiniz.

değişkenleri ayarlayalım: Dim b1, b2, b3, b4, b5, b6, b7, b8, sum, Ud Tekli Olarak

Aşağıdaki kodu form yükleme prosedürüne yerleştirin:

Özel Sub Form_Load ()

MSComm1.DTREnable = Gerçek 'başlangıç ​​değeri - yüksek CS düzeyi

Timer1.Interval = 100' zamanlayıcı aralığı 1ms

Timer2.Interval = 1' zamanlayıcı aralığı 100ms

MSComm1.Settings = "1200,N,8,1" ' veri aktarım ayarları

MSComm1.CommPort = 1 ' COM bağlantı noktası numarası

MSComm1.PortOpen = True ' açık com bağlantı noktası

End Sub

prosedürde Timer1 kodu koydu:

Özel Alt Zamanlayıcı1_Timer()

MSComm1.DTREnable = False 'Düşük CS oluştur

Label2.Caption = "" 'ilk gecikme için çöp

MSComm1.RTSEnable = Gerçek '1. saat darbe saati yüksek

MSComm1.CDHolding = Doğruysa Sonra b1 = 1 Aksi takdirde b1 = 0 'CD girişinde (ADC çıkışı) bir veya sıfır değeri yoklayın

MSComm1.RTSEnable = False '1. saat darbe saati düşük

MSComm1.RTSEnable = Doğru

MSComm1.CDHolding = Doğruysa O halde b2 = 1 Değilse b2 = 0

MSComm1.RTSEnable = Yanlış

MSComm1.RTSEnable = Doğru

MSComm1.CDHolding = Doğruysa O halde b3 = 1 Değilse b3 = 0

MSComm1.RTSEnable = Yanlış

MSComm1.RTSEnable = Doğru

MSComm1.CDHolding = Doğruysa O halde b4 = 1 Değilse b4 = 0

MSComm1.RTSEnable = Yanlış

MSComm1.RTSEnable = Doğru

MSComm1.CDHolding = Doğruysa O halde b5 = 1 Değilse b5 = 0

MSComm1.RTSEnable = Yanlış

MSComm1.RTSEnable = Doğru

MSComm1.CDHolding = Doğruysa O halde b6 = 1 Değilse b6 = 0

MSComm1.RTSEnable = Yanlış

MSComm1.RTSEnable = Doğru

MSComm1.CDHolding = Doğruysa O halde b7 = 1 Değilse b7 = 0

MSComm1.RTSEnable = Yanlış

MSComm1.RTSEnable = Doğru

MSComm1.CDHolding = Doğruysa O halde b8 = 1 Değilse b8 = 0

MSComm1.DTREnable = True 'Yüksek CS oluştur

MSComm1.RTSEnable = False '8. saat darbe saati düşük

'genişletme formülünü kullanarak bitleri ondalık formata dönüştürün

toplam = (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(sum * 5.083 / 255, "##0.000") 'orantılı değeri hesapla

Label1.Caption = CStr(Ud) & "Volt" 'sonuç değerini görüntüler

End Sub

Timer1'deki kod gerçek sürücüdür. Periyodik olarak tekrarlanarak saat darbeleri üretir ve veri bitlerini alır. Ud, ADC girişindeki voltajdır; 10, 12 bit ADC kullanıyorsanız, 225 sayısı sırasıyla 1024, 4096 ile değiştirilecektir. 10, 12 bit ADC'ler için eksik bitleri koda eklemeniz gerekir. , "veri sayfaları" tarafından yönlendirilir. 5.083 değeri stabilizatörün Out çıkışında aldığım voltaj değeridir. Değerinizi buraya girin.

Panele güç sağlamak için ayrı bir kaynak kullanabilir veya doğrudan COM bağlantı noktasından çalıştırabilirsiniz. Bunu yapmak için Timer2 prosedürüne aşağıdaki kodu yerleştiriyoruz:

Özel Alt Zamanlayıcı2_Timer()

MSComm1.Output = Chr(0) & Chr(0) 'ADC kartına güç sağlamak için TX pininde (3) darbeler oluşturur

End Sub

COM bağlantı noktasının aşırı yüklenemeyeceği unutulmamalıdır... güvenebileceğiniz maksimum değer 20 mA'dır. Çalışma modunda devre 5 mA'dan fazla olmayan bir akım tüketir.

Şimdi kartı COM portuna bağlayın ve projeyi çalıştırın. DA1 dengeleyicinin IN pinindeki voltajı ölçün, 6.5 V'tan düşük olmamalıdır. Aksi takdirde ayrı bir güç kaynağı kullanın. ADC girişindeki voltajı değiştirerek programın çalıştığından ve voltajı ekranda gösterdiğinden emin olun. 8 bitlik bir ADC kullanıldığında voltaj okuma doğruluğu 20 mV'dir, 10 bitlik ADC - 5 mV, 12-1.2 mV ile

Visual Basic'te çalışmak ve bir com bağlantı noktasıyla oluşturulan uygulama hakkında biraz

Muhtemelen zaten anladığınız gibi, bir com port ile çalışmak için bir bileşene ihtiyacınız varMicrosoft İletişim Control yani MSCOMM32.ocx dosyası, Visual Basic yüklendikten sonra C:\Windows\system32 dizininde bulunur. Demek istediğim şu; programınızı kurulum dosyası oluşturmadan Visual Basic olmayan başka bir bilgisayara kopyalarsanız çalışmayacaktır. Ayrıca bu dosyayı bilgisayarınızdakiyle aynı dizine kopyalamanız gerekir; system32'de. Veya bir yükleyici oluşturun.

Şimdi bazı komutlar için:

Veri değişim oranını ayarlama komutu:

MSComm1.Settings = "1200,N,8,1"

Com port numarasını gösteren komut

MSComm1.CommPort = 1

Com portunu açma ve kapatma komutları

MSComm1.PortOpen = Doğru

MSComm1.PortOpen = Yanlış

Com konnektörünün karşılık gelen pinine +12V çıkış veren komutlar:

MSComm1.RTSEnable = True RTS (7) - pin adı ve pin numarası

MSComm1.DTREnable = Gerçek DTR(4)

-12V çıkış veren komutlar

MSComm1.RTSEnable = Yanlış         

MSComm1.DTREnable = Yanlış

Tek veya sıfır durumunun varlığı için CD (1), CTS (8), DSR (6) pinlerini yoklayabilirsiniz.

MSComm1.CDholding = True ise (eğer öyleyse…)

MSComm1.CDholding = False ise (sıfır ise…)

Bir karakterin veya dizenin ASCII kodunun Tx (3) çıkışına iletilmesi:

MSComm1.Output = "A"

Sayılar

MSComm1.Output = Chr(10) numarası 0…255 arasında değişebilir

Bir zamanlayıcıya böyle bir komut yazıp sayıyı veya sembolü değiştirerek PWM modülasyonu oluşturabilirsiniz. Komutlar hakkında daha fazla ayrıntıyı kontrol açıklamasını indirerek bulabilirsiniz.  Microsoft İletişim Control.

Artık bu koda sahip olarak veri toplamak için bir dizi program yazabilirsiniz. Örneğin: voltmetre, ampermetre, sıcaklık ölçer, basit osiloskop, verileri bir dosyaya kaydedin. Ölçümler 1 ms'de bir veya saatte ve günde bir gerçekleştirilerek uzun vadeli süreçler izlenebilir.

Alternatif voltajlarla (0'dan geçen) çalışmak ve ölçüm sınırlarını genişletmek için devresi [1]'den alınabilen bir giriş amplifikatörü gereklidir. Şebeke voltajıyla veya ağdan galvanik olarak yalıtılmamış cihazlarla çalışmak için devrenin bilgisayardan opto yalıtılması gerekir.

COM portu ile ADC çalışması, basit veri toplama sistemi

COM portu ile ADC çalışması, basit veri toplama sistemi

Örnek programların kaynak kodlarını indirin (8 kB)

Edebiyat

  1. Gell P. Kişisel bilgisayar bir ölçüm kompleksine nasıl dönüştürülür: Çev. fr. - 2. baskı, rev. - M.: DMK Press, 2001. - 144 s.: hasta.
  2. An P. Bir PC'yi harici cihazlarla arayüzleme: Transl. İngilizceden - M.: DMK Press, 2001 - 320 s.: hasta.
  3. Visual Basic 6.0: Çev. İngilizceden - St. Petersburg: BHV - St. Petersburg, 2000. - 992 s.: hasta.

Yazar: =ShooRooP=, evei [köpek] mail.ru; Yayın: cxem.net

Diğer makalelere bakın bölüm Bilgisayarlar.

Oku ve yaz yararlı bu makaleye yapılan yorumlar.

<< Geri

En son bilim ve teknoloji haberleri, yeni elektronikler:

Bahçelerdeki çiçekleri inceltmek için makine 02.05.2024

Modern tarımda, bitki bakım süreçlerinin verimliliğini artırmaya yönelik teknolojik ilerleme gelişmektedir. Hasat aşamasını optimize etmek için tasarlanan yenilikçi Florix çiçek seyreltme makinesi İtalya'da tanıtıldı. Bu alet, bahçenin ihtiyaçlarına göre kolayca uyarlanabilmesini sağlayan hareketli kollarla donatılmıştır. Operatör, ince tellerin hızını, traktör kabininden joystick yardımıyla kontrol ederek ayarlayabilmektedir. Bu yaklaşım, çiçek seyreltme işleminin verimliliğini önemli ölçüde artırarak, bahçenin özel koşullarına ve içinde yetişen meyvelerin çeşitliliğine ve türüne göre bireysel ayarlama olanağı sağlar. Florix makinesini çeşitli meyve türleri üzerinde iki yıl boyunca test ettikten sonra sonuçlar çok cesaret vericiydi. Birkaç yıldır Florix makinesini kullanan Filiberto Montanari gibi çiftçiler, çiçeklerin inceltilmesi için gereken zaman ve emekte önemli bir azalma olduğunu bildirdi. ... >>

Gelişmiş Kızılötesi Mikroskop 02.05.2024

Mikroskoplar bilimsel araştırmalarda önemli bir rol oynar ve bilim adamlarının gözle görülmeyen yapıları ve süreçleri derinlemesine incelemesine olanak tanır. Bununla birlikte, çeşitli mikroskopi yöntemlerinin kendi sınırlamaları vardır ve bunların arasında kızılötesi aralığı kullanırken çözünürlüğün sınırlandırılması da vardır. Ancak Tokyo Üniversitesi'ndeki Japon araştırmacıların son başarıları, mikro dünyayı incelemek için yeni ufuklar açıyor. Tokyo Üniversitesi'nden bilim adamları, kızılötesi mikroskopinin yeteneklerinde devrim yaratacak yeni bir mikroskobu tanıttı. Bu gelişmiş cihaz, canlı bakterilerin iç yapılarını nanometre ölçeğinde inanılmaz netlikte görmenizi sağlar. Tipik olarak orta kızılötesi mikroskoplar düşük çözünürlük nedeniyle sınırlıdır, ancak Japon araştırmacıların en son geliştirmeleri bu sınırlamaların üstesinden gelmektedir. Bilim insanlarına göre geliştirilen mikroskop, geleneksel mikroskopların çözünürlüğünden 120 kat daha yüksek olan 30 nanometreye kadar çözünürlükte görüntüler oluşturmaya olanak sağlıyor. ... >>

Böcekler için hava tuzağı 01.05.2024

Tarım ekonominin kilit sektörlerinden biridir ve haşere kontrolü bu sürecin ayrılmaz bir parçasıdır. Hindistan Tarımsal Araştırma Konseyi-Merkezi Patates Araştırma Enstitüsü'nden (ICAR-CPRI) Shimla'dan bir bilim insanı ekibi, bu soruna yenilikçi bir çözüm buldu: rüzgarla çalışan bir böcek hava tuzağı. Bu cihaz, gerçek zamanlı böcek popülasyonu verileri sağlayarak geleneksel haşere kontrol yöntemlerinin eksikliklerini giderir. Tuzak tamamen rüzgar enerjisiyle çalışıyor, bu da onu güç gerektirmeyen çevre dostu bir çözüm haline getiriyor. Eşsiz tasarımı, hem zararlı hem de faydalı böceklerin izlenmesine olanak tanıyarak herhangi bir tarım alanındaki popülasyona ilişkin eksiksiz bir genel bakış sağlar. Kapil, "Hedef zararlıları doğru zamanda değerlendirerek hem zararlıları hem de hastalıkları kontrol altına almak için gerekli önlemleri alabiliyoruz" diyor ... >>

Arşivden rastgele haberler

Güvenilir nükleer pil 19.01.2014

Tomsk Politeknik Üniversitesi (TPU) yüksek lisans öğrencisi Dmitry Prokopiev, yaklaşık 12 yıl stabil ve şarj olmadan çalışabilen ve tıpta, askeri teçhizatta ve uzayda kullanılabilecek bir nükleer pil geliştirdi.

"Bir 3D galyum arsenit dedektörü, trityum tarafından yayılan beta parçacıklarının enerjisini elektrik akımına dönüştüren, trityum ile dolu kapalı bir kasaya yerleştirilmiştir. Dedektörde çok sayıda kuyu oluşturulur. Kuyuların toplam yüzeyi yüzlercedir. Prokopyev gazetecilere verdiği demeçte, dedektörün alanından kat kat daha büyük ve bu nedenle bir nükleer pil etkili olabilir" dedi.

Yüksek lisans öğrencisi, silikon dedektörün kullanıldığı bu tip nükleer pillerin bilindiğini kaydetti. Genç bilim adamı, "Ancak silikon dedektörü, kullanımı sırasında bozulur (radyasyonun etkisi altında özelliklerini kaybeder) (silikon radyasyona dayanıklı bir malzeme değildir)," diye açıkladı.

Prokopiev, pilinin gücünün geleneksel pillerden çok daha az olduğunu, ancak 12 yıl boyunca şarj edilmeden çalışabileceğini ekledi - bu, trityumun yarı ömrüdür. Geliştirmenin yazarı, bu süre zarfında, galyum arsenit detektörlü bir pil parametrelerini korurken, silikon dedektörlü bir pilin parametreleri, çalışmaya başladıktan üç yıl sonra bozulmaya başlayacak.

Bu pilin temelini oluşturan dedektörlerin prototipleri, adını Budker'den alan Novosibirsk Nükleer Fizik Enstitüsü'nde ve Tomsk Devlet Üniversitesi Sibirya Fizik ve Teknoloji Enstitüsü'nde başarıyla test edilmiştir.

Prokopiev, böyle bir pilin, küçük bir akım tüketen, ancak örneğin kalp pillerinde on yıl boyunca güç kaynaklarını değiştirmeden çalışmaya zorlanan çeşitli elektronik cihazlarda kullanılabileceğini kaydetti.

Diğer ilginç haberler:

▪ Sürücü yolda uyuya kalmayacak

▪ Hızlı şarj istasyonu 300 kW

▪ Hidrojen motoru için yeni uygulama

▪ soulution 511 stereo güç amplifikatörü

▪ Galaxy Note tek elle kontrol edilir

Bilim ve teknolojinin haber akışı, yeni elektronik

 

Ücretsiz Teknik Kitaplığın ilginç malzemeleri:

▪ sitenin bölümü Hikayeleriniz. Makale seçimi

▪ Makale Atmosferik basınç. Bilimsel keşfin tarihi ve özü

▪ Bukalemun avını nasıl yakalar? ayrıntılı cevap

▪ makale Örgütteki işgücü koruma durumu üzerinde kontrol organizasyonu

▪ makale ADC KR572PV5'in uygulanması. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

▪ makale Ağızlık ve sigara. Odak sırrı

Bu makaleye yorumunuzu bırakın:

Adı:


E-posta isteğe bağlı):


Yorum:





Bu sayfanın tüm dilleri

Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri

www.diagram.com.ua

www.diagram.com.ua
2000-2024