Menu English Ukrainian Rosyjski Strona główna

Bezpłatna biblioteka techniczna dla hobbystów i profesjonalistów Bezpłatna biblioteka techniczna


ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ
Darmowa biblioteka / Schematy urządzeń radioelektronicznych i elektrycznych

Działanie ADC z portem COM, prosty system akwizycji danych. Encyklopedia elektroniki radiowej i elektrotechniki

Bezpłatna biblioteka techniczna

Encyklopedia radioelektroniki i elektrotechniki / Komputery

Komentarze do artykułu Komentarze do artykułu

Ten artykuł jest skierowany głównie do początkujących. Dla tych, którzy postanowili spróbować swoich sił w tworzeniu systemu akwizycji danych, wprowadzaniu sygnałów analogowych do komputera, ich przetwarzaniu itp. Zostanie to omówione w tym artykule, a my postaramy się zrobić wszystko sami.

Ogólnie rzecz biorąc, informacji na ten temat jest całkiem sporo w Internecie i literaturze... Zwłaszcza jeśli posługujesz się językiem Visual Basic. Postaram się zatem choć częściowo wypełnić tę lukę.

Zacznijmy więc…

Niezależnie od celu, najpierw musisz kupić odpowiedni przetwornik analogowo-cyfrowy (ADC). Zainstaluj także na swoim komputerze środowisko programistyczne Visual Basic 6.0. Musisz także być w stanie po prostu poruszać się po tym środowisku programistycznym... ponieważ... Artykuł ma na celu zapewnienie czytelnikowi przynajmniej podstawowej wiedzy z zakresu programowania w języku Visual Basic. Polecam także zapoznać się z literaturą [1], [3].

Polecam zakup TLC549IP jako ADC. Jest to 8-bitowy szeregowy przetwornik ADC z prostym protokołem komunikacyjnym. Zostanie to omówione w artykule. Oczywiście można zastosować inne przetworniki ADC po odpowiednich zmianach w obwodzie i kodzie. Więcej na ten temat można przeczytać w [1].

Po znalezieniu ADC należy zmontować osprzęt naszego układu akwizycji danych, czyli obwód pokazany na rys. 1.

Praca ADC z portem COM, prosty system akwizycji danych. Sprzęt komputerowy
(kliknij, aby powiększyć)

Schemat został zapożyczony z [1] z niewielkimi zmianami. Diody VD1, VD2, VD6 - KD521, dowolne diody Zenera dla stabilizacji napięcia 3...5 V. Zamiast 78L05 można zastosować KREN5A. Rezystory R1, R2 z tolerancją 1% lub wybór spośród kilku o najbliższej wartości rezystancji. Od nich będzie zależeć dokładność pomiarów. Rezystor R3 jest korzystnie wieloobrotowy.

regulacja: podłączając zasilanie do płytki, mierzymy napięcie na pinie wyjściowym stabilizatora DA1. Wynikową wartość napięcia zapisujemy z dokładnością do 3 miejsc po przecinku, będzie nam ona potrzebna później. Na pinie 1 mikroukładu DD1 za pomocą rezystora R3 ustawiamy napięcie równe dokładnie połowie stabilizatora zmierzonej na pinie Out.

Przejdźmy teraz do właściwej części oprogramowania. Ogólnie rzecz biorąc, na początek należy używać interfejsów komunikacyjnych, takich jak RS-232, I2C, Micro Ware itp. Uważam to za niewłaściwe, ponieważ Przy niewielkiej komplikacji kodu programu sprzęt może stać się poważnie bardziej skomplikowany. Dlatego użyjemy najprostszego protokołu wymiany wziętego z „arkusza danych” do ADC. Mianowicie jego prosta implementacja. Oczywiście przy takim protokole nie da się osiągnąć dużych prędkości; w tym przypadku ograniczenia narzuca sam Visual Basic, ale aby uzyskać pierwsze rezultaty przy minimalnym nakładzie czasu i wysiłku, a także zmierzyć stosunkowo wolno zmieniające się procesy, jest całkiem odpowiedni. Protokół komunikacyjny przetwornika ADC TLC549IP pokazano na ryc. 2.

Praca ADC z portem COM, prosty system akwizycji danych. Protokół komunikacyjny ADC TLC549IP
(kliknij, aby powiększyć)

W stanie pojedynczym rzeczywista konwersja następuje na pinie CS (wybór chipa) przetwornika A/D. Wyjście danych rozpoczyna się od niskiego poziomu CS wraz z pojawieniem się impulsu zegarowego, jeden bit na każdy impuls. Aby wygenerować 8-bitowy kod, potrzeba 8 impulsów zegarowych. Po czym CS można przenieść do pojedynczego stanu i wykonać następującą transformację. Więcej szczegółów na temat działania ADC można znaleźć w [1].

Z tego wszystkiego wynika, że ​​konieczne jest napisanie programu sterownika, który będzie generował niezbędne ciągi impulsów we właściwych momentach, po czym będziemy mogli jedynie odbierać dane.

Uruchom środowisko programistyczne Visual Basic i utwórz standardowy projekt EXE. Dodaj kontrolkę MSComm. Możesz dodać go do panelu komponentów w następujący sposób: Projekt-->Komponenty-->wybierz z listyMicrosoft Comm Kontrola 6.0. Umieść go na formularzu wraz z 2 etykietami i 2 licznikami czasu. Pozostaw nazwy domyślne.

Teraz możesz zacząć pisać kod dla prostego woltomierza.

Ustawmy zmienne: Wymiar b1, b2, b3, b4, b5, b6, b7, b8, suma, Ud As Single

Umieść następujący kod w procedurze ładowania formularza:

Prywatna podformularz_Load ()

MSComm1.DTREnable = True 'wartość początkowa - wysoki poziom CS

Timer1.Interval = 100 ' Interwał timera 1ms

Timer2.Interval = 1 ' Interwał timera 100ms

MSComm1.Settings = "1200,N,8,1" ' ustawienia przesyłania danych

MSComm1.CommPort = 1 'Numer portu COM

MSComm1.PortOpen = Prawda 'otwarty port COM

End Sub

W procedurze Timer1 wstawia kod:

Prywatny zegar pomocniczy1_Timer()

MSComm1.DTREnable = False „Utwórz niski CS

Label2.Caption = "" 'śmieci z powodu początkowego opóźnienia

MSComm1.RTSEnable = True „Wysoki zegar pierwszego impulsu zegara”

Jeśli MSComm1.CDHolding = True Następnie b1 = 1 Inaczej b1 = 0 'Odpytaj o wartość jedną lub zero na wejściu CD (wyjście ADC)

MSComm1.RTSEnable = Fałsz „Niski zegar pierwszego impulsu zegara”

MSComm1.RTSEnable = Prawda

Jeśli MSComm1.CDHolding = True To b2 = 1 Inaczej b2 = 0

MSComm1.RTSEnable = Fałsz

MSComm1.RTSEnable = Prawda

Jeśli MSComm1.CDHolding = True To b3 = 1 Inaczej b3 = 0

MSComm1.RTSEnable = Fałsz

MSComm1.RTSEnable = Prawda

Jeśli MSComm1.CDHolding = True To b4 = 1 Inaczej b4 = 0

MSComm1.RTSEnable = Fałsz

MSComm1.RTSEnable = Prawda

Jeśli MSComm1.CDHolding = True To b5 = 1 Inaczej b5 = 0

MSComm1.RTSEnable = Fałsz

MSComm1.RTSEnable = Prawda

Jeśli MSComm1.CDHolding = True To b6 = 1 Inaczej b6 = 0

MSComm1.RTSEnable = Fałsz

MSComm1.RTSEnable = Prawda

Jeśli MSComm1.CDHolding = True To b7 = 1 Inaczej b7 = 0

MSComm1.RTSEnable = Fałsz

MSComm1.RTSEnable = Prawda

Jeśli MSComm1.CDHolding = True To b8 = 1 Inaczej b8 = 0

MSComm1.DTREnable = True 'Utwórz wysoki CS

MSComm1.RTSEnable = Fałsz „Niski zegar pierwszego impulsu zegara”

'konwertuj bity na format dziesiętny, korzystając ze wzoru na rozwinięcie

suma = (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(suma * 5.083 / 255, "##0.000") 'oblicz wartość proporcjonalną

Label1.Caption = CStr(Ud) & „Volt” „wyświetla wynikową wartość

End Sub

Kod w Timerze1 jest rzeczywistym sterownikiem. Który okresowo się powtarza, generuje impulsy zegarowe i odbiera bity danych. Ud to napięcie na wejściu ADC, w przypadku zastosowania 10, 12-bitowych przetworników ADC, liczba 225 zostanie zastąpiona odpowiednio przez 1024, 4096. W przypadku 10, 12-bitowych przetworników ADC należy dodać brakujące bity do kodu , kierując się ich „kartami danych”. Wartość 5.083 to wartość napięcia, którą uzyskałem na wyjściu Out stabilizatora. Wpisz tutaj swoją wartość.

Do zasilania płytki można użyć osobnego źródła lub zasilić ją bezpośrednio z portu COM. W tym celu w procedurze Timer2 umieszczamy następujący kod:

Prywatny zegar pomocniczy2_Timer()

MSComm1.Output = Chr(0) & Chr(0) 'tworzą impulsy na pinie TX (3) w celu zasilania płytki ADC

End Sub

Trzeba pamiętać, że port COM nie może być mocno obciążony... maksimum na jakie można liczyć to 20 mA. W trybie pracy obwód pobiera prąd nie większy niż 5 mA.

Teraz podłącz płytkę do portu COM i uruchom projekt. Zmierz napięcie na pinie IN stabilizatora DA1, powinno być nie mniejsze niż 6.5 V. Jeżeli tak nie jest, użyj osobnego źródła zasilania. Zmieniając napięcie na wejściu ADC upewnij się, że program działa i pokazuje napięcie na ekranie. Dokładność odczytu napięcia przy zastosowaniu 8-bitowego ADC wynosi 20 mV, przy 10-bitowym ADC - 5 mV, 12-1.2 mV

Trochę o pracy w Visual Basic i stworzonej aplikacji z portem com

Jak zapewne już zrozumiałeś, do pracy z portem COM potrzebny jest komponentMicrosoft Comm Control mianowicie plik MSCOMM32.ocx, który po zainstalowaniu Visual Basica znajduje się w katalogu C:\Windows\system32. Mam przez to na myśli to, że jeśli skopiujesz program bez tworzenia instalatora na inny komputer, który nie posiada Visual Basica, nie będzie on działać. Musisz także skopiować ten plik do tego samego katalogu, co na Twoim komputerze, tj. w systemie32. Lub utwórz instalator.

Teraz kilka poleceń:

Komenda ustalająca kurs wymiany danych:

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

Polecenie wskazujące numer portu COM

MSComm1.CommPort = 1

Polecenia otwierania i zamykania portu COM

MSComm1.PortOpen = Prawda

MSComm1.PortOpen = Fałsz

Polecenia wysyłające +12 V na odpowiedni pin złącza com:

MSComm1.RTSEnable = True RTS (7) - nazwa i numer pinu

MSComm1.DTREnable = True DTR(4)

Polecenia wyprowadzające -12V

MSComm1.RTSEnable = Fałsz         

MSComm1.DTREwłączony = Fałsz

Można odpytywać piny CD (1), CTS (8), DSR (6) pod kątem obecności stanu pojedynczego lub zerowego.

Jeśli MSComm1.CDHolding = True Then (jeśli jeden, to…)

Jeśli MSComm1.CDHolding = False Then (jeśli zero, to…)

Przesyłanie kodu ASCII znaku lub ciągu znaków na wyjście Tx (3):

MSComm1.Wyjście = "A"

Liczby

MSComm1.Output = Chr(10) liczba może wynosić od 0…255

Wpisując takie polecenie w timerze i zmieniając liczbę lub symbol, możesz stworzyć modulację PWM. Więcej szczegółów na temat poleceń znajdziesz pobierając opis sterowania  Microsoft Comm Control.

Teraz, mając ten kod, możesz napisać szereg programów do zbierania danych. Np. woltomierz, amperomierz, miernik temperatury, prosty oscyloskop, zapisz dane do pliku. Pomiary można przeprowadzać raz na 1 ms lub raz na godzinę i dzień, monitorując w ten sposób procesy długoterminowe.

Do pracy z napięciami przemiennymi (przechodzącymi przez 0), a także do rozszerzenia granic pomiaru, wymagany jest wzmacniacz wejściowy, którego obwód można pobrać z [1]. Aby pracować z napięciem sieciowym lub z urządzeniami, które nie są odizolowane galwanicznie od sieci, konieczne jest optoizolowanie obwodu od komputera.

Działanie ADC z portem COM, prosty system akwizycji danych

Działanie ADC z portem COM, prosty system akwizycji danych

Pobierz kody źródłowe przykładowych programów (8 kB)

literatura

  1. Gell P. Jak zamienić komputer osobisty w kompleks pomiarowy: Tłum. od ks. - wyd. 2, wyd. - M.: DMK Press, 2001. - 144 s.: il.
  2. An P. Łączenie komputera PC z urządzeniami zewnętrznymi: Tłum. z angielskiego - M.: DMK Press, 2001 - 320 s.: il.
  3. Visual Basic 6.0: Tłumaczenie z angielskiego - St. Petersburg: BHV - St. Petersburg, 2000. - 992 s.: il.

Autor: =ShooRooP=, evei [pies] mail.ru; Publikacja: cxem.net

Zobacz inne artykuły Sekcja Komputery.

Czytaj i pisz przydatne komentarze do tego artykułu.

<< Wstecz

Najnowsze wiadomości o nauce i technologii, nowa elektronika:

Maszyna do przerzedzania kwiatów w ogrodach 02.05.2024

We współczesnym rolnictwie postęp technologiczny ma na celu zwiększenie efektywności procesów pielęgnacji roślin. We Włoszech zaprezentowano innowacyjną maszynę do przerzedzania kwiatów Florix, zaprojektowaną z myślą o optymalizacji etapu zbioru. Narzędzie to zostało wyposażone w ruchome ramiona, co pozwala na łatwe dostosowanie go do potrzeb ogrodu. Operator może regulować prędkość cienkich drutów, sterując nimi z kabiny ciągnika za pomocą joysticka. Takie podejście znacznie zwiększa efektywność procesu przerzedzania kwiatów, dając możliwość indywidualnego dostosowania do specyficznych warunków ogrodu, a także odmiany i rodzaju uprawianych w nim owoców. Po dwóch latach testowania maszyny Florix na różnych rodzajach owoców wyniki były bardzo zachęcające. Rolnicy, tacy jak Filiberto Montanari, który używa maszyny Florix od kilku lat, zgłosili znaczną redukcję czasu i pracy potrzebnej do przerzedzania kwiatów. ... >>

Zaawansowany mikroskop na podczerwień 02.05.2024

Mikroskopy odgrywają ważną rolę w badaniach naukowych, umożliwiając naukowcom zagłębianie się w struktury i procesy niewidoczne dla oka. Jednak różne metody mikroskopii mają swoje ograniczenia, a wśród nich było ograniczenie rozdzielczości przy korzystaniu z zakresu podczerwieni. Jednak najnowsze osiągnięcia japońskich badaczy z Uniwersytetu Tokijskiego otwierają nowe perspektywy badania mikroświata. Naukowcy z Uniwersytetu Tokijskiego zaprezentowali nowy mikroskop, który zrewolucjonizuje możliwości mikroskopii w podczerwieni. Ten zaawansowany instrument pozwala zobaczyć wewnętrzne struktury żywych bakterii z niesamowitą wyrazistością w skali nanometrowej. Zazwyczaj ograniczenia mikroskopów średniej podczerwieni wynikają z niskiej rozdzielczości, ale najnowsze odkrycia japońskich badaczy przezwyciężają te ograniczenia. Zdaniem naukowców opracowany mikroskop umożliwia tworzenie obrazów o rozdzielczości do 120 nanometrów, czyli 30 razy większej niż rozdzielczość tradycyjnych mikroskopów. ... >>

Pułapka powietrzna na owady 01.05.2024

Rolnictwo jest jednym z kluczowych sektorów gospodarki, a zwalczanie szkodników stanowi integralną część tego procesu. Zespół naukowców z Indyjskiej Rady Badań Rolniczych i Centralnego Instytutu Badań nad Ziemniakami (ICAR-CPRI) w Shimla wymyślił innowacyjne rozwiązanie tego problemu – napędzaną wiatrem pułapkę powietrzną na owady. Urządzenie to eliminuje niedociągnięcia tradycyjnych metod zwalczania szkodników, dostarczając dane dotyczące populacji owadów w czasie rzeczywistym. Pułapka zasilana jest w całości energią wiatru, co czyni ją rozwiązaniem przyjaznym dla środowiska i niewymagającym zasilania. Jego unikalna konstrukcja umożliwia monitorowanie zarówno szkodliwych, jak i pożytecznych owadów, zapewniając pełny przegląd populacji na każdym obszarze rolniczym. „Oceniając docelowe szkodniki we właściwym czasie, możemy podjąć niezbędne środki w celu zwalczania zarówno szkodników, jak i chorób” – mówi Kapil ... >>

Przypadkowe wiadomości z Archiwum

Meteoryt z jeziora Tagish 01.08.2001

W nocy 18 stycznia 2000 roku na lód kanadyjskiego jeziora Tagisz spadł duży meteoryt. Oblicza się, że przed wejściem w ziemską atmosferę ważył około 200 ton, ale na Ziemię dotarły tylko fragmenty.

Wkrótce na scenie pojawił się astronom-amator mieszkający w pobliżu, a potem przybyli profesjonaliści. Zebrali wiele fragmentów lodu, szczególnie cennych, ponieważ spadły na teren mało dotknięty przez człowieka i wkrótce zostały wyłowione, nie mając czasu na pozbycie się ziemskich zanieczyszczeń.

Opublikowano pierwsze wyniki badań znaleziska. Meteoryt, jak się okazało, należy do chondrytów węglowych - rzadkiej klasy meteorytów bogatych w związki organiczne. Jego wiek szacuje się na 4,5 miliarda lat, czyli jest starszy niż planety Układu Słonecznego. W wybranych fragmentach było wiele cząsteczek węglowodorów, mikroskopijnych kryształów diamentu, pyłu międzygwiazdowego i czegoś w rodzaju gliny.

Szczególnie interesująca jest ta ostatnia: glina zwykle tworzy się tylko w zbiornikach wodnych, a przynajmniej w obecności wody. Znaleziono również ślady aminokwasów. Zakłada się, że taki skład jest charakterystyczny dla jąder kometarnych.

Inne ciekawe wiadomości:

▪ Osuwisko pod kontrolą

▪ System identyfikacji i komunikacji bezprzewodowej Texas Instruments RF430F5978

▪ Stan nadtwardości uzyskany w warunkach doświadczalnych

▪ Pasta z małży

▪ Cichy dron zasilany jonami

Wiadomości o nauce i technologii, nowa elektronika

 

Ciekawe materiały z bezpłatnej biblioteki technicznej:

▪ sekcja witryny Urządzenia komputerowe. Wybór artykułów

▪ artykuł Goes-buzzes Zielony szum. Popularne wyrażenie

▪ artykuł Co jedzą ryby? Szczegółowa odpowiedź

▪ artykuł Akokantera abisyński. Legendy, uprawa, metody aplikacji

▪ artykuł Zaawansowana sonda logiczna TTL. Encyklopedia elektroniki radiowej i elektrotechniki

▪ artykuł Przedrostek do sterowania mikrowiertłami. Encyklopedia elektroniki radiowej i elektrotechniki

Zostaw swój komentarz do tego artykułu:

Imię i nazwisko:


Email opcjonalny):


komentarz:





Wszystkie języki tej strony

Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn

www.diagram.com.ua

www.diagram.com.ua
2000-2024