ENCYCLOPEDIA VỀ ĐIỆN TỬ TRUYỀN THANH VÀ KỸ THUẬT ĐIỆN ADC hoạt động với cổng COM, hệ thống thu thập dữ liệu đơn giản. Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện Bách khoa toàn thư về điện tử vô tuyến và kỹ thuật điện / Máy tính Bài viết này chủ yếu dành cho người mới bắt đầu. Đối với những người đã quyết định thử tạo một hệ thống thu thập dữ liệu, nhập tín hiệu tương tự vào máy tính, xử lý chúng, v.v. Điều này sẽ được thảo luận trong bài viết này và chúng tôi sẽ cố gắng tự làm mọi thứ. Nói chung, có rất ít thông tin về chủ đề này trên Internet và trong tài liệu ... Đặc biệt nếu bạn sử dụng ngôn ngữ Visual Basic. Vì vậy, tôi sẽ cố gắng lấp đầy, ít nhất là một phần, khoảng trống này. Vì vậy, hãy bắt đầu… Dù mục tiêu của bạn là gì, trước tiên bạn cần mua bộ chuyển đổi tương tự sang số (ADC) thực tế. Ngoài ra, hãy cài đặt môi trường phát triển Visual Basic 6.0 trên máy tính của bạn. Bạn cũng cần có khả năng điều hướng trong môi trường phát triển này một cách cơ bản ... bởi vì. Bài viết được thiết kế để đảm bảo rằng người đọc ít nhất có kiến thức cơ bản về lập trình trong Visual Basic. Tôi cũng khuyên bạn nên đọc tài liệu [1], [3]. Là một ADC, tôi khuyên bạn nên mua TLC549IP. Đây là một ADC nối tiếp 8 bit với một giao thức truyền thông đơn giản. Nó sẽ được thảo luận trong bài báo. Tất nhiên, bạn có thể sử dụng các ADC khác với những thay đổi phù hợp về mạch và mã. Bạn có thể đọc thêm về nó trong [1]. Sau khi bạn đã xem qua ADC, bạn cần lắp ráp phần cứng của hệ thống thu thập dữ liệu của chúng tôi, cụ thể là mạch được hiển thị trong Hình. 1. Lược đồ được mượn từ [1] với những thay đổi nhỏ. Điốt VD1, VD2, VD6 - KD521, bất kỳ điốt zener nào cho điện áp ổn định 3 ... 5 V. Thay vì 78L05, bạn có thể sử dụng KREN5A. Điện trở R1, R2 với sai số 1% hoặc lựa chọn từ một số điện trở có giá trị điện trở gần nhất có thể. Độ chính xác của các phép đo sẽ phụ thuộc vào chúng. Điện trở R3 tốt nhất là nhiều vòng. điều chỉnh: sau khi cấp nguồn cho board ta đo điện áp tại đầu Out của ổn áp DA1. Chúng tôi viết ra giá trị điện áp thu được với 3 chữ số thập phân, chúng tôi sẽ cần nó trong tương lai. Ở chân 1 của vi mạch DD1, sử dụng điện trở R3, chúng tôi đặt điện áp bằng chính xác một nửa của bộ ổn định được đo ở chân Out. Bây giờ hãy giải quyết phần mềm thực tế. Nói chung, lúc đầu sử dụng các giao diện truyền thông như RS-232, I2C, Micro Ware, v.v. Tôi cho rằng nó không phù hợp, bởi vì với một sự phức tạp nhỏ của mã chương trình, phần cứng có thể trở nên phức tạp nghiêm trọng. Do đó, chúng tôi sẽ sử dụng giao thức trao đổi đơn giản nhất được lấy từ "bảng dữ liệu" trên ADC. Cụ thể, thực hiện đơn giản của nó. Tất nhiên, không thể đạt được tốc độ cao với một giao thức như vậy, trong trường hợp này, Visual Basic tự áp đặt các hạn chế, nhưng nó khá phù hợp để đạt được kết quả đầu tiên với thời gian và công sức tối thiểu, cũng như đo lường các quy trình thay đổi tương đối chậm. Giao thức truyền thông của TLC549IP ADC được hiển thị trong Hình. 2. Trong một trạng thái duy nhất, chuyển đổi thực tế xảy ra ở chân CS (chọn chip) của bộ chuyển đổi tương tự sang số. Đầu ra dữ liệu bắt đầu ở mức CS thấp với sự ra đời của xung đồng hồ, một bit cho mỗi xung. Để tạo mã 8 bit, bạn cần 8 xung nhịp tương ứng. Sau đó, CS có thể được chuyển sang một trạng thái duy nhất và quá trình biến đổi tiếp theo có thể được thực hiện. Thông tin chi tiết về hoạt động của ADC có thể được tìm thấy trong [1]. Từ tất cả những điều này, chúng ta có thể kết luận rằng cần phải viết một chương trình điều khiển để tạo ra các chuỗi xung cần thiết vào đúng thời điểm, sau đó chúng ta chỉ có thể nhận dữ liệu. Bắt đầu môi trường phát triển Visual Basic và tạo một dự án EXE tiêu chuẩn. Thêm một điều khiển MSComm. Bạn có thể thêm nó vào bảng thành phần như thế này Dự án -> Thành phần ->chọn từ danh sáchmicrosoft Thông tin liên lạc Kiểm soát 6.0. Đặt nó trên biểu mẫu, cũng như 2 nhãn và 2 Bộ hẹn giờ. Để tên như mặc định. Bây giờ bạn có thể bắt đầu viết mã cho một vôn kế đơn giản. Hãy đặt các biến: Dim b1, b2, b3, b4, b5, b6, b7, b8, tổng, Ud Như Đơn Đặt mã sau vào quy trình tải biểu mẫu: Private Sub Form_Load () MSComm1.DTREnable = True 'giá trị ban đầu - CS cao Timer1.Interval = 100 ' Khoảng thời gian hẹn giờ 1ms Timer2.Interval = 1 ' Khoảng thời gian hẹn giờ 100ms MSComm1.Settings = "1200,N,8,1" ' cài đặt giao tiếp MSComm1.CommPort = 1 'Số cổng COM MSComm1.PortOpen = True 'mở cổng com End Sub Trong thủ tục Timer1 đặt mã: Bộ hẹn giờ phụ riêng tư1_Timer () MSComm1.DTREnable = False 'Tạo CS thấp Label2.Caption = ""' rác cho độ trễ ban đầu MSComm1.RTSEnable = True 'mức xung nhịp đầu tiên của xung nhịp If MSComm1.CDHolding = True Then b1 = 1 Else b1 = 0 ' Thăm dò giá trị một hoặc không ở đầu vào CD (đầu ra ADC) MSComm1.RTSEnable = Sai 'Xung clock đầu tiên ở mức thấp MSComm1.RTSEnable = Đúng Nếu MSComm1.CDHolding = True Thì b2 = 1 Khác b2 = 0 MSComm1.RTSEnable = Sai MSComm1.RTSEnable = Đúng Nếu MSComm1.CDHolding = True Thì b3 = 1 Khác b3 = 0 MSComm1.RTSEnable = Sai MSComm1.RTSEnable = Đúng Nếu MSComm1.CDHolding = True Thì b4 = 1 Khác b4 = 0 MSComm1.RTSEnable = Sai MSComm1.RTSEnable = Đúng Nếu MSComm1.CDHolding = True Thì b5 = 1 Khác b5 = 0 MSComm1.RTSEnable = Sai MSComm1.RTSEnable = Đúng Nếu MSComm1.CDHolding = True Thì b6 = 1 Khác b6 = 0 MSComm1.RTSEnable = Sai MSComm1.RTSEnable = Đúng Nếu MSComm1.CDHolding = True Thì b7 = 1 Khác b7 = 0 MSComm1.RTSEnable = Sai MSComm1.RTSEnable = Đúng Nếu MSComm1.CDHolding = True Thì b8 = 1 Khác b8 = 0 MSComm1.DTREnable = True 'Tạo CS cao MSComm1.RTSEnable = Sai 'Xung clock đầu tiên ở mức thấp 'dịch các bit sang định dạng thập phân bằng công thức mở rộng tổng = (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") 'tính giá trị tỷ lệ Label1.Caption = CStr(Ud) & "Volt" 'hiển thị giá trị nhận được End Sub Mã trong Timer1 chính là trình điều khiển. Việc lặp lại định kỳ, tạo ra các xung đồng hồ và nhận các bit dữ liệu. Ud - điện áp ở đầu vào của ADC, nếu bạn áp dụng ADC 10, 12 bit thì số 225 sẽ lần lượt được thay thế bằng 1024, 4096. Đối với ADC 10, 12 bit, bạn cần thêm các bit còn thiếu vào mã, được hướng dẫn bởi "bảng dữ liệu" của họ. Giá trị 5.083 là giá trị điện áp mà tôi nhận được ở đầu ra Out của bộ ổn định. Nhập giá trị của bạn ở đây. Để cấp nguồn cho bo mạch, bạn có thể sử dụng nguồn rời hoặc cấp nguồn trực tiếp từ cổng COM. Để thực hiện việc này, chúng tôi đặt đoạn mã sau vào thủ tục Timer2: Bộ hẹn giờ phụ riêng tư2_Timer () MSComm1.Output = Chr(0) & Chr(0) 'ta tạo xung trên chân TX (3) để cấp nguồn cho board ADC End Sub Cần phải nhớ rằng cổng COM không thể được tải nhiều ... mức tối đa mà bạn có thể tin tưởng là 20 mA. Ở chế độ hoạt động, mạch tiêu thụ dòng điện không quá 5 mA. Bây giờ kết nối bảng với cổng COM và chạy dự án. Đo điện áp ở đầu IN của bộ ổn định DA1, điện áp tối thiểu phải là 6.5 V. Nếu không đúng như vậy, nên sử dụng nguồn điện riêng. Bằng cách thay đổi điện áp ở đầu vào của ADC, đảm bảo rằng chương trình hoạt động và hiển thị điện áp trên màn hình. Độ chính xác đọc điện áp khi sử dụng ADC 8 bit là 20mV, với ADC 10 bit - 5mV, 12-1.2 mV Một chút về cách làm việc trong Visual Basic và ứng dụng đã tạo với cổng com Như bạn có thể đã hiểu, để làm việc với cổng com, bạn cần một thành phầnmicrosoft Thông tin liên lạc Kiểm soát cụ thể là tệp MSCOMM32.ocx, sau khi cài đặt Visual Basic, nằm trong thư mục C:\Windows\system32. Tại sao tôi lại làm điều này, nhưng thực tế là nếu bạn sao chép chương trình của mình mà không tạo trình cài đặt sang một máy tính khác không có Visual Basic, thì nó sẽ không hoạt động. Bạn cũng phải sao chép tệp này vào cùng thư mục với trên máy tính của mình, tức là. trong hệ thống32. Hoặc tạo một trình cài đặt. Bây giờ cho một số lệnh: Lệnh đặt tốc độ trao đổi dữ liệu: MSComm1.Settings = "1200,N,8,1" Lệnh chỉ định số cổng com MSComm1.CommPort = 1 Các lệnh đóng mở cổng com MSComm1.PortOpen = Đúng MSComm1.PortOpen = Sai Các lệnh xuất +12V ra chân tương ứng của đầu nối com: MSComm1.RTSEnable = True RTS (7) - tên pin và số pin MSComm1.DTREnable = True DTR (4) Đầu ra lệnh -12V MSComm1.RTSEnable = Sai MSComm1.DTREnable = Sai Bạn có thể thăm dò sự hiện diện của đầu ra trạng thái đơn hoặc trạng thái không CD (1), CTS (8), DSR (6). If MSComm1.CDHolding = True Thì (nếu một thì…) If MSComm1.CDHolding = False Thì (nếu XNUMX thì…) Gửi mã ASCII Tx (3) của một ký tự hoặc chuỗi đến đầu ra: MSComm1.Output = "A" Số Số MSComm1.Output = Chr (10) có thể thay đổi từ 0… 255 Bằng cách viết một lệnh như vậy trong bộ đếm thời gian và thay đổi số hoặc ký hiệu, bạn có thể tạo điều chế PWM. Bạn có thể tìm thêm chi tiết về các lệnh bằng cách tải xuống mô tả của điều khiển microsoft Thông tin liên lạc Kiểm soát. Bây giờ, có mã này, bạn có thể viết một số chương trình để thu thập dữ liệu. Ví dụ: vôn kế, ampe kế, máy đo nhiệt độ, máy hiện sóng đơn giản, lưu dữ liệu vào tệp. Các phép đo có thể được thực hiện chỉ trong 1 ms và mỗi giờ và mỗi ngày một lần, do đó theo dõi các quy trình dài hạn. Để hoạt động với điện áp xoay chiều (đi qua 0), cũng như để mở rộng giới hạn đo, cần có bộ khuếch đại đầu vào, mạch có thể được lấy từ [1]. Để hoạt động với điện áp lưới hoặc với các thiết bị không được cách ly về mặt điện với mạng, bắt buộc phải thực hiện cách ly quang của mạch với máy tính. Tải xuống mã nguồn của các chương trình mẫu (8 kB) Văn chương
Tác giả: = ShooRooP =, evei [dog] mail.ru; Xuất bản: cxem.net Xem các bài viết khác razdela Máy tính. Đọc và viết hữu ích bình luận về bài viết này. Tin tức khoa học công nghệ, điện tử mới nhất: Da nhân tạo để mô phỏng cảm ứng
15.04.2024 Cát vệ sinh cho mèo Petgugu Global
15.04.2024 Sự hấp dẫn của những người đàn ông biết quan tâm
14.04.2024
Tin tức thú vị khác: ▪ S2-LP - Bộ thu phát băng hẹp 433/868 MHz ▪ Điện thoại tại vạch sang đường dành cho người đi bộ - bất hợp pháp Nguồn cấp tin tức khoa học và công nghệ, điện tử mới
Tài liệu thú vị của Thư viện kỹ thuật miễn phí: ▪ phần trang web Thiết bị máy tính. Lựa chọn bài viết ▪ bài viết Lượng calo ảnh hưởng đến cân nặng của chúng ta như thế nào? đáp án chi tiết ▪ Bài báo Ô nhiễm bụi và khí trong các cơ sở công nghiệp ▪ bài viết Phù hợp trong cân bằng. tiêu điểm bí mật
Để lại bình luận của bạn về bài viết này: Tất cả các ngôn ngữ của trang này Trang chủ | Thư viện | bài viết | Sơ đồ trang web | Đánh giá trang web www.diagram.com.ua |