Tải bản đầy đủ (.pdf) (37 trang)

nghiên cứu carb usb 6008 và lập trình lapview

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.1 MB, 37 trang )


BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ ĐIỆN TỬ



Tiểu luận môn: Đo lường và điều khiển máy tính







GVHD : Th.s Huỳnh Minh Ngọc.
SVTH : Huỳnh Văn Điệp 09079241
Trần Trọng Phú Thắng 09078671
Lê Văn Niên 09077801

Tp.HCM, tháng 10 năm 2013

Mục lục:
CHƢƠNG I: Tìm hiểu về Card USB-6008 3
1.1 Giới thiệu tổng quát: 3
1.2 Mô tả: 4
1.2.1 Mô tả phần mềm: 4
1.2.2 Mô tả phần cứng: 5
CHƢƠNG II: Sử dụng card USB 6008 bằng LabView 8
2.1.Tìm hiểu chung về LabView: 8
2.1.1 Giới thiệu: 8


2.1.2 Ứng dụng của LabView: 9
2.2. Sử dụng card USB 6008 bằng LabView: 10
2.2.1 Kết nối card USB 6008: 10
2.2.2 Viết chương trình chạy USB 6008 bằng Labview. 13










CHƯƠNG I: Tìm hiểu về Card USB-6008
1.1 Giới thiệu tổng quát:


Hình 1: Card NI USB 6008


 Bộ đếm 32 bit.
 Kết nốivới cổng USB của máy tính để bàn ( Destop) hoặc Laptop.
 Đọc 8 kênh analog vào card ( độ phân giải 14 bit, 48kS/s ).
 Xuất 2 analog ( 12 bit, 150kS/s).
 12 kênh xuất/nhập tín hiệu số ( digital I/O).
 Sử dụng phần mềm Labview, LabWindows/CVI, Measurement Studio cho
Visual Studio.Net . Tƣơng thích với NI-DAQmx driver software và NI
Labview Signal Express software.



1.2 Mô tả:
1.2.1 Mô tả phần mềm:
Thiết bị thu thập dữ liệu đa chức năng National Instruments USB-6008 cung
cấp khả năng thu thập dữ liệu tin cậy với giá thành thấp. Với kiểu kết nối USB, thiết
bị này đủ đơn giản để thực hiện đo lƣờng nhanh, nhƣng cũng đủ linh hoạt để thực
hiện các ứng dụng đo lƣờng phức tạp.
Khi cần đo tín hiệu analog nhƣ tín hiệu điện áp của bất kỳ cảm biến nào. Ví dụ:
cảm biến nhiệt độ, cảm biến độ ẩm, áp suất,… NI 6008 cho phép thực hiện nhu cầu
trên với các tính năng và ƣu điểm sau:
 Thực hiện việc giao tiếp với máy vi tính thông qua cổng USB với thời gian
lấy mẫu nhanh, độ chính xác cao.
 Truy xuất dữ liệu, phân tích, hiển thị, thu thập dữ liệu bằng ngôn ngữ
Labview.
 Thực hiện thí nghiệm trong trƣờng học, công ty, gia đình.
 Chạy trên hệ điều hành Windows, Linux, Mac.
NI USB-6008 sử dụng NI-DAQmx Base, một driver đa nền tảng với một giao
diện lập trình NI-DAQmx. Ngƣời sử dụng có thể dùng NI-DAQmx để triển khai tùy
ý các ứng dụng thu thập dữ liệu với môi trƣờng triển khai National Instruments
LabVIEW hoặc C. NI-DAQmx Base bao gồm một ứng dụng bộ nhập dữ liệu sẵn
sàng hoạt động để thu thập và nhập tín hiệu lên đến 8 kênh dữ liệu tƣơng tự.


1.2.2 Mô tả phần cứng:
USB-6008 có bộ nối di động dạng bắt vít cho phép kết nối tín hiệu dễ dàng. Để
tăng khả năng linh hoạt khi thao tác thiết lập nhiều dây nối, NI đƣa ra phụ kiện bao
gồm 2 bộ nối bắt vít, nhãn dán và một dụng cụ vặn.
Thêm nữa, USB-6008 Prototyping Accessory cung cấp các ngăn trống cho
nhiều mạch điện đến ngõ vào của USB-6008.



Tóm tắt thông số kỹ thuật:
Thông số chung

Chuẩn kết nối
USB
Hỗ trợ hệ điều hành
Windows, Linux, Mac, Pocket PC
Kiểu đo
Điện áp xung
Họ DAQ
B Series
Đọc tín hiệu analog

Số kênh
8 SE/4 DI
Tốc độ lấy mẫu
48kS/s
Độ phân giải
14 bits

Trích mẫu đồng thời
Không
Ngƣỡng điện áp giới hạn nhất
-10 tới 10V
Độ chính xác
138 mV
Ngƣỡng điện áp nhỏ nhất
-1…1 V
Độ chính xác

37.5 mV
Số giới hạn
8
Bộ nhớ tích hợp
512B
Xuất tín hiệu analog

Số kênh
2
Tốc độ cập nhật
150 kS/s
Độ phân giải
12 bits
Ngƣỡng điện áp giới hạn hạn nhất
0…5 V
Độ chính xác
7 mV
Ngƣỡng điện áp giới hạn nhỏ nhất
0…5 V
Độ chính xác
7 mV
Tín hiệu điều khiển dòng điện
5 mA/10 mA
Các chân xuất/nhập tín hiệu số

Số kênh
12 DIO
Timing
Software
Logic Levels

TTL
Ngƣỡng điện áp vào giới hạn lớn nhất
0…5 V
Ngƣỡng điện áp ra giới hạn lớn nhất
0…5 V
Dòng điện vào
Sinking, Sourcing
Bộ lọc vào lập trình đƣợc
No

Output Current Flow
Sinking, Sourcing
Dòng điện (Kênh/Tổng)
8.5 mA/102 mA
Bộ đếm và bộ hẹn (định) giờ

Số bộ đếm/hẹn giờ
1
Độ phân giải
32 bits
Tần số nguồn lớn nhất
50 MHz
Độ rộng xung vào nhỏ nhất
100 ns
Mức logic
TTL
Ngƣỡng cực đại
0…5V
Độ ổn định
50 ppm

Cho phép thực hiện nhớ tạm (đệm)
Yes
Tác động (Triggering)
Digital
Kích thước card NI 6008

Dài
8.51 cm
Rộng
8.18 cm
Cao
2.31 cm
Đầu nối vào ra
Sử dụng tua vit để mở dễ dàng







CHƯƠNG II: Sử dụng card USB 6008 bằng LabView
2.1.Tìm hiểu chung về LabView:
2.1.1 Giới thiệu:
LabVIEW (viết tắt của Laboratory Virtual Instrumentation Engineering
Workbench) là môi trƣờng ngôn ngữ đồ họa hiệu quả trong việc giao tiếp đa kênh
giữa con ngƣời, thuật toán và các thiết bị
.
Gọi LabVIEW là ngôn ngữ đồ họa hiệu quả vì về cách thức lập trình, LabVIEW
khác với các ngôn ngữ C (hay Python, Basic, vv.) ở điểm thay vì sử dụng các từ

vựng (từ khóa) cố định thì LabVIEW sử dụng các khối hình ảnh sinh động và
các dây nối để tạo ra các lệnh và các hàm.




Cũng chính vì sự khác biệt này mà LabVIEW đã giúp cho việc lập trình trở
nên đơn giản hơn bao giờ hết, đặc biệt, LabVIEW rất phù hợp đối với kỹ sƣ, nhà
khoa học, hay giảng viên.
Chính sự đơn giản, dễ học, dễ nhớ đã giúp cho LabVIEW trở thành một trong
những công cụ phổ biến trong các ứng dụng thu thập dữ liệu từ các cảm biến,phát
triển các thuật toán, và điều khiển thiết bị tại các phòng thí nghiệm trên thế giới.
2.1.2 Ứng dụng của LabView:
Labview đƣợc sử dụng trong các lĩnh vực đo lƣờng, tự động hóa, cơ điện tử,
robo, vật lý, toán học, sinh học, vật liệu, ôtô, v.v.

Hình - Thu thập dữ liệu tại Cơ quan hàng không và vũ trụ NASA

Labview có thể đƣợc sử dụng để xử lý các kiểu dữ liệu nhƣ tín hiệu tƣơng tự
(analog), tín hiệu số (digital), hình ảnh (vision), âm thanh (audio), v.v.




Labview giúp kỹ sƣ kết nối bất kỳ cảm biến, và bất kỳ cơ cấu chấp hành nào
với máy tính.
Labview hỗ trợ các giao thức giao tiếp khác nhau nhƣ RS232, RS485, TCP / IP,
PCI, PXI,v.v. Bạn cũng có thể tạo ra các thực thi độc lập và các thƣ viện chia sẻ (ví
dụ thƣ viện liên kết động DLL), bởi vì LabVIEW là một trình biên dịch 32-
bit. LabVIEW đã trở nên phổ biến trong các phòng thí nghiệm của các quốc gia phát

triển.
2.2. Sử dụng card USB 6008 bằng LabView:
2.2.1 Kết nối card USB 6008:
Bước 1: Kết nối card USB 6008 với máy vi tính.



Bước 2: Kiểm tra và cài Driver cho card.
Để xem nếu thiết bị USB-6008 đƣợc kết nối với máy tính, ta khởi động thƣ viện
NI-DAQ. Danh sách các thiết bị tiện ích thông qua Start / Programs / National
Instruments/NI-DAQmx.

Hình cho thấy cửa sổ do đó đƣợc mở ra. (VISA_USB6008 tên đã đƣợc định nghĩa)
 USB 6008 đƣợc kết nối với Labview qua thƣ viện NI Measurements / DAQmx
Base.







Bước 3: Cấu hình USB-6008:

Dùng NI-DAQmx Base Configuration Utility để điều chỉnh. Bạn sử dụng các Task
ứng dụng LabVIEW của bạn để tham khảo các hoạt động I/O. Mỗi task là tập các định
nghĩa thể hiện các khía cạnh khác nhau của tín hiệu đầu vào, hoạt động tín hiệu đầu ra
đƣợc thực hiện bởi các thiết bị I/O.



Bước 4: Sử dụng card USB 6008.
Card USB 6008 đƣợc dùng trong Labview từ file USB-600x Interactive Control.llb


2.2.2 Viết chương trình chạy USB 6008 bằng Labview.
Thí nghiệm 1 : Thiết kế bộ điều khiển ON-OFF điều khiển bật tắt Led thông qua
Card NI6008 chu kì 20ms


Kết nối phần cứng theo sơ đồ sau:


Tiến hành kết nối Card NI6008 với PC thông qua cổng USB. Khởi động LabVIEW
Bước 1:Tạo vòng lặp While Loop.
Bước 2: Add các DAQ I/O cho chương trình như sau với địa chỉ cho các I/O như trên
sơ đồ kết nối.
Phần này chúng ta làm tương tự như những bài thí nghiệm trước nhưng chúng ta
cần chú ý các đặc điểm sau:
 Địa chỉ của khối phải tương ứng với ngoại vị. Ví dụ nút Start cần phải thiết
lập đúng địa chỉ và sau này sử dụng các khối DAQ cũng đúng với thiết lập
đã định trước tránh nhầm lẫn.

o Port0/line0 là INPUT cho khối nút nhấn Start.
o Port0/line1 là INPUT cho khối nút nhấn Stop.
o Port0/line2 là OUTPUT cho khối LED.

 Thiết lập cấu hình cho 2 nút nhấn phải như sau:

Sở dĩ tùy chọn Acquisition Mode của group Timing Setting chúng ta chọn
là 1 Sample(on demand) là vì chúng ta sử dụng nút nhấn để tránh trường

hợp bị dội chúng ta chỉ cần lấy mẫu đúng 1 lần duy nhất.
Và Digital Line Input Setup chúng ta chọn InvertLine (tức là thuộc tính
đảo) vì nút nhấn chúng ta khi nhấn thì tín hiệu là 0 khi thả thì tín hiệu là 1
nên nếu chúng ta muốn sau này lập trình thuận tiện hơn nghĩa là khi nhấn
tín hiệu là true thì chúng ta tick chọn thuộc tính này.

Bước 3: Tạo hàm điều kiện Case với với true là:
Khối tạo sóng vuông với tần số là 25 Hz(tương ứng với chu kì on-off là
40ms thời gian sáng 20ms) và biên độ là 1.


 Trường hợp False của hàm Case cũng là hàm tạo sóng vuông với biên độ là 0:

Bước 4: Tạo ngõ vào cho cấu trúc Case bằng hàm Select với hồi tiếp:

Chúng ta thấy rằng khi nút Start được nhấn (1 lần) thì cấu trúc select sẽ có ngõ là là
true khi nút nhấn trở về trạng thái cũ, tức hàm select bên trên sẽ chọn điều khiện sai
tức là ngõ ra của hàm select bên dưới. Mặc khác ngõ ra của hàm select cũng chọn
điều kiện sai tức là stop chưa được nhấ, như vậy kết quả vẫn là True cho ngõ vào cấu
trúc case nhờ vòng hồi tiếp. Và tương tự khi stop được nhấn thì sự duy trì trạng thái
Stop vẫn tiếp tục.
Bước 5: Kết nối với các DAQ:
Ở những bài trước chúng ta đã làm quen với việc điều khiển từ ngoại vi, như vậy thì
cách kết nối và chuyển đổi dữ liệu cũng tương tự của bài hôm nay cũng tương tự như
vậy.

Bước 6: Chạy chương trình.
Phân tích và giải thích kết quả thí nghiệm:
 Khi nhấn Start khối DAQ xuất ra mảng tín hiệu này được chuyển thành dữ
liệu dạng boolean. Do khối DAQ chúng ta đã Invert tín hiệu nên chúng sẽ là

True khi nút Start được nhấn. Qua các khối Select thì như chúng ta đã giải
thích từ trước tín hiệu True sẽ được duy trì ngay cả khi nút nhấn thả ra. Vì vậy
điều kiện True trong cấu trúc Case sẽ được thực thi tức sẽ cấp một sóng
vuông chớp tắt đèn với chu kì on off là 40ms.
 Khi nhấn Stop thì tương tự trạng thái False của Case sẽ được thiết lập và duy
trì nên một sóng vuông với biên độ là 0V sẽ cấp cho LED tức chúng sẽ off cho
tới khi nhấn Start trở lại.

Thí Nghiệm 2: Sử Dụng bộ điều khiển PID trong thư viện LabVIEW để thực
hiện mô hình vòng kín với Card NI sau:





Với đối tượng giả lập là Card NI sử dụng ngõ ra để phát tín hiệu điều khiển u và đồng
thời Card NI cũng sử dụng ngõ vào như một cảm biến để thu thập tín hiệu điều khiển
u tức là hàm truyền đối tượng điều khiển là 1.
Kết nối sơ đồ phần cứng như sau:
Bộ Điều Khiển
PID
Đối Tượng


Tiến hành kết nối Card NI 6008 với PC thông qua cáp USB. Thực hiện trên máy tính
các bước sau:
Bước 1: Add thư viện PID cho LabVIEW bằng cách cài đặt công cụ LabVIEW PID
and Fuzzy Logic Toolkit. Lưu ý là cần cài đặt đúng phiên bản Toolkit cho
LabVIEW, nghĩa là LabVIEW phiên bản nào cần phải một toolkit đúng với phiến bản
ấy. LabVIEW PID and Fuzzy Logic Toolkit là một công cụ tính phí bạn có thể

download trên trang chủ của NI với một phiên bản dùng thử. File tải từ NI.com có
định dạng như sau yyyyPIDFuzzy.exe. yyyy là 4 số đại diện cho năm hay tên phiên
bản. Hãy truy cập NI.com sau đó tìm với cụm từ trên, ví dụ 2010 thì tìm là
2010PIDFuzzy bạn sẽ rút ngắn được quá trình tìm kiếm.
Bước 2: Add 2 DAQ tương ứng với ngõ vào và ngõ ra trên sơ đồ kết nối.
Chú ý:
 Với ngõ ra: chúng ta thiết lập điện áp từ 0 đến 5V.
 Với ngõ vào cần chú ý thuộc tính Terminal Configuration. Cần phải chọn là
RSE. Vì chúng ta kết nối ngõ vào input theo kiểu AI.0 và GND.

Bước 3: Add bộ điều khiển PID. Khi đã cài đặt xong Toolkit PID, Tại cửa sổ block
diagram: Right Click => Control Design and Simulation => PID => PID.vi để
tiến hành add .
Bước 4: Từ khối PID, từ mỗi ngõ vào của khối Right Click => Create => Control
để có được các khối thiết lập giá trị cho khối PID như sau:



Bước 5: Kết nối với các DAQ chúng được chương trình sau:

Bước 6: Chạy chương trình đã thực hiện:

Bước 7: Trong quá trình chạy từ đồ thị hiệu chỉnh thông số điều khiển PID và thời
gian lấy mẫu theo các hướng sau:
Thông số
Độ vọt lố
Thời gian
XL
Sai số XL
Độ ổn định

K
P
Tăng
Tăng
Giảm
Giảm
K
I

Tăng
Tăng
Giảm
Giảm
K
D

Giảm
Giảm
Không tác Động
Cải thiện
Hiệu chỉnh online để biết được vùng giá trị cho các thông số của bộ điều khiển. lưu ý
chúng ta cần dựa vào đồ thị.

×