Tải bản đầy đủ (.docx) (22 trang)

Thiết kế chương trình mô phỏng 8 kênh đo và hiển thị nhiệt độ trong phòng dùng cảm biến nhiệt độ LM35 ứng dụng phân mềm LabVIEW.

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 (1.16 MB, 22 trang )

Đề tài: Thiết kế chương trình mô phỏng 8 kênh đo và hiển thị nhiệt độ trong
phòng dùng cảm biến nhiệt độ LM35 ứng dụng phân mềm LabVIEW.
Mục lục

1


Danh mục hình ảnh

Danh mục bảng

2


Chương 1
Giới thiệu phần mềm LabVIEW, Proteus, IDE (Integrated Development
Environment)
1.1.
-

-

-

-

LabVIEW là gì?

LabVIEW (viết tắt của nhóm từ Laboratory Virtual Instrumentation
Engineering Workbench) là một phần mềm máy tính được phát triển bởi công ty
National Instruments, Hoa kỳ. LabVIEW còn được biết đến như là một ngôn


ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền
thống như ngôn ngữ C, Pascal.
LabVIEW là một môi trường lập trình đồ họa mà bạn có thể sử dụng để tạo các
ứng dụng với giao diện người dùng chuyên nghiệp một cách nhanh chóngvà
hiệu quả. Hàng triệu kỹ sư và nhà khoa học sử dụng LabVIEW để phát triển các
ứng dụng đo lường, kiểm thử, và điều khiển tinh vi bằng cách sử dụngcác biểu
tượng trực quan và dây nối tín hiệu. Ngoài ra, LabVIEW có thể được mở
rộng cho nhiều nền tảng phẩn cứng và hệ điều hành khác nhau. Trong thực
tế, nền tảng LabVIEW có khả năng tích hợp với hàng nghìn thiết bị phần
cứng và cung cấp hàng trăm thư viện được xây dựng sẵn để phân tích nâng
cao và hiển thị dữ liệu giúp bạn tạo ra các thiết bị ảo có thể tùy chỉnh theo nhu
cầu của mình.
- Bởi vì chương trình LabVIEW mô phỏng giao diện và hoạt động của
các thiết bị thực, chẳng hạn như dao động ký và thiết bị đo đa năng, chương
trìnhLabVIEW được gọi là thiết bị ảo (Virtual Instrument), thường gọi tắt
là VI. VI có Front Panel và Block Diagram. Front Panel là giao diện người
dùng. Block Diagram là chương trình phía sau giao diện người dùng. Sau
khi bạn xây dựng Front Panel, bạn thêm mã (code) để điều khiển các đối tượng
trên Front Panel bằng cách sử dụng các hình đồ họa đại diện cho các hàm. Mã
trên Block Diagram là mã dạng đồ họa, thường được biết đến là G code (mã G)
hoặc Block Diagram code.
Khác với các ngôn ngữ lập trình dạng văn bản, như C++ và Visual
Basic, LabVIEW sử dụng các biểu tượng thay vì các dòng văn bản để tạo ra các
ứng dụng. Trong lập trình dạng văn bản, thứ tự các dòng lệnh xác định trình tự
thực hiện chương trình. LabVIEW sử dụng lập trình đồ họa dạng dòng chảy dữ
liệu. Trong lập trình đồ họa dạng dòng chảy dữ liệu, dòng chảy của dữ liệu
qua các nút trên Block Diagram xác định trình tự thực hiện chương trình. Lập
trình đồ họa và thực thi dạng dòng chảy dữ liệu là hai đặc
tính chính làm LabVIEW khác với hầu hết ngôn ngữ lập trình đa dụng khác.
LabVIEW để tạo ra các ứng dụng thu thập dữ liệu đơn giản một cách hiệu

quả với ba bước: thu thập, phân tích, và hiển thị. Mặc dù giáo trình này được
giảng dạy trên Windows, LabVIEW hỗ trợ nhiều nền tảng. Bạn có thể phát
triển các ứng dụng trên Windows, Mac OS, hoặc Linux. Hơn nữa, bạn có thể
3


triển khai các ứng dụng LabVIEW cho một loạt các nền tảng thời gian thực
và FPGA.
- Đặc điểm của LabVIEW
Chương trình LabVIEW có các đặc điểm sau:
o Đồ họa và biên dịch
o Lập trình theo dạng dòng chảy dữ liệu hướng
o Đa mục tiêu và nhiều nên tảng
o Hướng đối tượng
o Khả năng đa luồng
1.2.
-

-

Tạo một Project Explorer

VI là những chương trình LabVIEW, và bạn có thể sử dụng nhiều VI với nhau
để tạo ra một ứng dụng LabVIEW. Để nhóm các VI liên quan với nhau, sử
dụng LabVIEW project (dự án LabVIEW). Khi bạn lưu một dự án LabVIEW từ
cửa sổ Project Explorer, LabVIEW tạo ra một tập tin dự án (.lvproj), bao gồm tất
cả các tập tin LabVIEW và các tập tin khác trong dự án, thông tin cấu
hình, thông tin về xây dựng (để tạo ra các file thực thi .EXE, tạo ra file setup,
tạo ra tập tin .DLL, …), và các thông tin triển khai.
Một số ứng dụng LabVIEW, chẳng hạn các VI đơn giản, không cần phải sử

dụng một dự án LabVIEW. Tuy nhiên, bạn phải sử dụng một dự án để xây
dựng các ứng dụng độc lập và thư viện chia sẻ. Ngoài ra, bạn phải sử dụng một
dự án để làm việc với mục tiêu phần cứng không phải là máy tính phát triển như:
thiết bị thời gian thực, FPGA. Tham khảo các tài liệu về các mô-đun cụ thể để
biết thêm thông tin về việc sử dụng các dự án với LabVIEW Real-Time, FPGA.
- Cửa sổ Project Explorer:
+ Các dự án trong LabVIEW bao gồm VI, các tập tin cần
thiết để những VI này chạy đúng, và các tập tin bổ sung như tài liệu hoặc các
liên kết có liên quan.Sử dụng cửa sổ Project Explorer để quản lý dự
án trong LabVIEW.
+ Theo mặc định, cửa sổ Project Explorer bao gồm các mục sau đây:

Project root - Chứa tất cả các mục khác trong cửa sổ Project Explorer. Nhãn
trên project root là tên tập tin của dự án.
• My Computer - Đại diện cho máy tính như là một mục tiêu trong dự án.
• Dependencies - Bao gồm các VI và các mục mà VI trong mục tiêu yêu cầu.
• Build Specifications -Bao gồm cấu hình xây dựng cho việc phân
phối mã nguồn và các loại cấu hình khác có sẵn trong các mô-đun và toolkit của
LabVIEW. Nếu bạn đã cài LabVIEW Professional Development
System hoặc Application Builder, bạn có thể sử dụng Build
Specifications để cấu hình các ứng dụng độc lập, thư viện chia sẻ, trình cài
đặt, và các tập tin nén (zip).


4


- Hoàn thành các bước sau đây để sử dụng cửa sổ Project Explorer trong
việc tạo và chỉnh sửa các dự án LabVIEW:
1. Chọn File»Create Project để hiển thị hộp thoại Create Project. Hộp

thoại Create Project hiển thị một danh sách các chương trình mẫu và các ví
dụ mà bạn có thể sử dụng để đảm bảo rằng dự án bạn tạo ra sử dụng thiết
kế đáng tin cậy và phương thức lập trình chính thống.
2. Tìm dự án mẫu thích hợp với mục tiêu mà bạn muốn thực hiện với dự
án. Sử dụng các tính năng sau đây để tìm kiếm các dự án mẫu:
Filters – Chỉ hiển thị chỉ kết quả của một loại nhất định, chẳng hạn như các dự
án mẫu cho một mục tiêu cụ thể.
• Additional Search - Tìm kiếm theo các từ khóa, tiêu đề, và mô tả của các kết
quả đã lọc.
• More Information - Mở tập tin trợ giúp cho các mục. Xem lại các tập tin trợ
giúp để đảm bảo rằng dự án mẫu thích hợp với mục tiêu mà bạn muốn dự án
thực hiện.


3. Nhấn nút Next hay Finish để cấu hình chi tiết cho dự án, bao gồm
cách lưu dự án. Sau khi bạn hoàn thành việc cấu hình dự án, LabVIEW lưu dự
án vàmở cửa sổ Project Explorer.
4. Sử dụng cửa sổ Project Explorer để chỉnh sửa dự án. Tham
khảo các ghi chú trên block diagram của VI trong dự án mẫu để biết thêm thông
tin về cách chỉnh sửa dự án. Tham khảo thêm thư mục Project
Documentation trong cửa sổ Project Explorer để biết thêm thông tin về cách
chỉnh sửa dự án.
1.3.

Các thành phần của một VI

Một VI bao gồm ba thành phần chính:
• Cửa số front panel
• Cửa số block diagram
• Icon/connector pane

- Cửa sổ Front panel
Cửa số Front panel là giao diện người dùng cho VI

5


Hình 1.1 Cửa sổ front panel
Cửa số block diagram

Hình 1.2 Cửa số block diagram
1.4.
-

-

Phần mềm Proteus

Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm
phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như
MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của
Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng,
đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola. Phần mềm bao
gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES dùng để vẽ mạch
in. Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt, nó hỗ trợ
các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430,
ARM7/LPC2000 ... các giao tiếp I2C, SPI, CAN, USB, Ethenet,... ngòai ra còn
mô phỏng các mạch số, mạch tương tự một cách hiệu quả. Proteus là bộ công cụ
chuyên về mô phỏng mạch điện tử.
Proteus có hai phần bao gồm:
6



+ ISIS cho phép mô phỏng hoạt động của các hệ vi điều khiển, cũng như hoạt
động của các linh kiện điện tử như led, tụ điện, điện trở….Chọn đối tượng và
thiết lập thông số cho đối tượng dễ dàng. ISIS tích hợp nhiều công cụ giúp cho
việc quản lý mạch điện lớn, mạch điện có thể lên đến hàng ngàn linh kiện

Hình 1.3 ISIS trong phần mềm Proteus
+ ARES dùng để vẽ mạch in và sắp xếp chúng

Hình 1.4 ARES trong phần mềm Proteus
1.5.

Phần mềm IDE

-

Arduino IDE Arduino Integrated Development Environment) là một trình soạn
thảo văn bản, giúp bạn viết code để nạp vào bo mạch arduino.

-

Một trương trình viết bởi Arduino IDE được gọi là sketch, sketch được lưu dưới
định dạng .ino.
Verify
Kiểm tra lỗi và biên dịch code
Upload
Dịch và upload code vào bo mạch đã được cài
đặt sẵn
New

Tạo sketch mới

7


Open
Mở một sketch có sẵn
Save
Lưu sketch
Serial Monitor
Mở serial monitor

-

Nạp Sketch:

+ Trước khi nạp Sketch bạn phải chọn tên bo mạch, và cổng com:
+ Từ menu chính chọn Tools > Board và Tools > Port
-

Libraries:

+ Là những thư viện bổ sung thêm những chức năng để sử dụng trong sketch, ví
dụ làm việc với màn hình LCD bạn phải cần có một thư viện để điều khiển nó.
Để dùng library, bạn chọn Sketch->import Library.
+ Đây là danh sách những thư viện thông dụng bạn nên biết. Một số thư viện có
sẵn với Arduino IDE. Một số khác bạn có thể tải thêm từ internet hoặc thông
qua Library Manager. Xem thêm hướng dẫn cài đặt Library.
-


Serial Monitor:

+ Là hộp thoại để hiện thị dữ liệu được gửi từ bo mạch Arduino, hoặc gửi dữ
liệu từ máy tính tới bo mạch của bạn.
1.6.

Phần mềm Configure Virtual Serial Port Driver

-

Virtual Serial Port Driver là phần mềm hữu hiệu để tạo ra các cổng nối tiếp ảo
và kết nối chúng theo cặp thông qua dây cáp null-modem ảo. Các ứng dụng trên
cả hai đầu của cặp đó sẽ có thể trao đổi dữ liệu cho nhau. Khi đó, dữ liệu được
ghi trên cổng đầu tiên sẽ xuất hiện ở cổng thứ hai và ngược lại.

-

Tất cả các cổng nối tiếp ảo đều hoạt động chính xác như những cổng thực, mô
phỏng các thiết lập của chúng. Do đó, bạn có thể tạo ra bao nhiêu cặp cổng ảo
theo ý muốn mà không cần phải sử dụng phần cứng bổ sung nào.

8


Hình 1.5 Giao diện phần mềm Virtual Serial Port Driver

9


Chương 2

Cảm biến LM35 và bo mạch Arduino Mega2560
2.1.
-

Sơ đồ chân LM35

Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp
đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng
không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh. Cảm biến
LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân
Vout (chân giữa) ứng với mỗi mức nhiệt độ.
- Sơ đồ chân của cảm biến LM35 các loại:

Hình 2.1 Sơ đồ chân của 4 loại cảm biến nhiệt độ LM35
Chân
Tên
TO46
TO92
TO220
SO8
VOUT
2
2
3
1
GND
3
3
2
4

+VS
1
1
1
8
Bảng 2.1 Danh sách chân của 4 loại cảm biến nhiệt độ LM35
2.2.
-

Thông số kỹ thuật LM35
Lựa chọn cảm biến có sơ đồ chân TO-92 có thông số kỹ thuật:

Điện áp đầu vào
Điện áp ra
Dòng tiêu thụ
Độ phân giải điện áp đầu ra
Độ chính xác cao
Trở kháng đầu ra thấp
Độ chính xác thực tế

4V đến 30V
-1V đến 6V
60uA
10mV/oC
ở 25 oC là 0.5 oC
0.1R cho 1mA tải
1/4°C ở nhiệt độ phòng và 3/4°C
ngoài khoảng -55°C tới 150°C
Bảng 2.2 Bảng thông số kỹ thuật của cảm biến LM35
10



2.3.
-

Bo mạch Arduino Mega2560
Thành phần Arduino Mega2560

Hình 2.2 Bo mạch Arduino Mega2560
Arduino Mega2560 là một vi điều khiển bằng cách sử dụng ATmega2560.

-

-

Bao gồm:



54 chân digital (15 có thể được sử dụng như các chân PWM)



16 đầu vào analog



4 UARTs (cổng nối tiếp phần cứng)




1 thạch anh 16 MHz



1 cổng kết nối USB



1 jack cắm điện



1 đầu ICSP



1 nút reset

-

Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển.

Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng
FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng
ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB. Ngoài
ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng
chân và nhiều tính năng mạnh mẽ hơn, nên các bạn vẫn có thể lập trình cho con
vi điều khiển này bằng chương trình lập trình cho Arduino Uno R3.


11


-

Arduino Megas có sơ đồ linh kiện như các hình sau đây.

Hình 2.3 Một số linh kiện trên bo mạch Arduino Mega 2560

Hình 2.4 Sơ đồ chân của bo mạch Arduino Mega 2560


5 Chân GND



3 chân 5V



1 chân 3.3v



1 nút reset



16 chân analog




4 chân UART
12




54 Chân digital trong đó có 15 chân chúng ta có thể sử dụng như PWM



6 Chân lập trình ISP

2.4.

Cách mắc cảm biến LM35 với Arduino Mega2560

Hình 2.5 Sơ đồ mắc cảm biến LM35 với bo mạch Arduino Mega2560
+ Chân thứ 2 (chân giữa của cảm biến LM35) sẽ được nối vào chân AI (analog
input) của bo mạch Arduino Mega2560.

13


Chương 3
Chương trình thực hiện
3.1.
-


Chương trình thực hiện trên phân mềm LabVIEW
Chương trình viết trên Block Diagram

Hình 3.1 Chương trình viết trên Block Diagram
VISA resource name
Chỉ định cổng com để kết nối LabVIEW với Proteus
VISA serial
Khởi tạo cổng nối tiếp được chỉ định bởi VISA resource
name để cài đặt cổng được chỉ định.
VISA read
Đọc số được chỉ định của những byte gửi từ thiết bị hoặc
giao tiếp được chỉ định bởi VISA resource name và trả lại
dữ liệu trên bộ đệm
Match Pattem
Tìm kiếm biểu thức thường trong chuỗi bắt đầu ở giá trị đối
trọng. Nếu chức năng tìm thấy khớp, nó chia chuỗi thành 3
chuỗi con.
Decimal String To Number
Chuyển ký tự số trong chuỗi, đang bắt đầu ở giá trị đối
trọng, để một số nguyên thập phân và trả lại nó trong số
thập phân.
SubVI
Chương trình con có nhiệm vụ chuyển bất ký một số nào
trong dải 0-300 sang dài 0-128.
Px (x=1-8)
Hiển thị nhiệt độ
Greater
Trả lại là đúng nếu giá trị x lớn hơn giá trị y. Nếu không thì,
trả giá trị sai (nếu đúng thì đầu ra là 1 nếu không thì đầu ra
14



là 0).
Boolean
Nếu giá trị đầu vào là 1 thì đèn sáng, nếu là 0 thì tắt
Merge Signals
Hợp nhất 2 hoặc nhiều hơn tín hiệu hỗ trợ, như là số vô
hướng
Wavefrom Charts
Hiểm thị chuỗi dữ liệu đưa vào theo biểu đồ dạng sóng
Boolean
Đưa ra giá trị True nếu được nhấn và False nếu không nhấn
VISA Close
Đóng một phiên làm việc của thiết bị hoặc đối tượng sự
kiện được chỉ định bằng VISA recource name
While Loop
Vòng lặp
Bảng 3.1 Bảng giải thích các khối cơ trong Block Diagram
+ Nguyê lý hoạt động: Khi cổng com được chỉ định nó sẽ được thiết lập bởi Visa
serial đưa vào vòng lặp While loop đến khối VISA Read dữ liệu sẽ được đưa vào
bộ đệm, dữ liệu vào sẽ được giới hạn tùy theo byte count. Sau đó đưa tới khối
Match Pattem tìm kiếm kỹ tự khớp với ký tự đã đặt và chia nó làm 3 phần rồi
chuyển đến khối chuyển đổi dữ liệu từ dạng chuỗi sang dạng số để hiển thị.
-

Chương trình hiển thị trên Front Panel

Hình 3.2 Chương trình hiển thị trên Front Panel

15



3.2.

Chương trình thực hiện trên phần mềm Proteus

Hình 3.3 Chương trình thiết kế trên phần mềm Proteus
+ Cơ chế hoạt động: Đầu tiên nhiệt độ sẽ được cảm biến đo và trả về giá trị điện
áp tương ứng 10mV/oC chuyển tới đầu vào analog của bo mạch Arduino
Mega2560 tương ứng với giá trị từ 0-1023 và được chuyển chân TX của bo
mạch Arduino Mega2560.
3.3.

Chương trình viết trên phần mềm IDE

int kenh1;
int kenh2;
int kenh3;
int kenh4;
int kenh5;
int kenh6;
int kenh7;
int kenh8;
// khai báo 8 biến đầu vào theo kiểu số nguyên(integer)
// với arduino mega 2560 nó chiếm 4 byte bộ nhớ
void setup() {
Serial.begin(9600);
// thiết lập tốc độ baud là 9600
}
void loop() {

kenh1 = analogRead(A0);
16


kenh2 = analogRead(A1);
kenh3 = analogRead(A2);
kenh4 = analogRead(A3);
kenh5 = analogRead(A4);
kenh6 = analogRead(A5);
kenh7 = analogRead(A6);
kenh8 = analogRead(A7);
// đọc tín hiệu analog bằng hàm analogRead
// tín hiệu đọc được lưu vào biến tương ứng
// giá trị trả về là một số nguyên nằm trong khoảng 0->1023
Serial.print(kenh1);
Serial.print(",");
Serial.print(kenh2);
Serial.print(",");
Serial.print(kenh3);
Serial.print(",");
Serial.print(kenh4);
Serial.print(",");
Serial.print(kenh5);
Serial.print(",");
Serial.print(kenh6);
Serial.print(",");
Serial.print(kenh7);
Serial.print(",");
Serial.println(kenh8);
}

3.4.
-

Thực hiện chạy chương trình
B1: Biên dịch Code trên phần mềm IDE

17


Hình 3.4 Biên dịch Code trên phần mềm IDE
-

B2: Ghép đôi cổng COM1 và COM2 trong phần mềm Configure Virtual Serial
Port Driver

Hình 3.5 Ghép đôi cổng COM1 và COM2 trên phần mềm Virtual Serial Port
Driver
-

B3: Chạy chương trình trên phần mềm Proteus

+ Nạp file .HEX cho bo Arduino Mega2560

18


Hình 3.6 Nạp file .HEX cho bo Arduino Mega2560
+ Chỉ định cổng COM cho Compim

Hình 3.7 Chọn cổng COM cho COMPIM

+ Chạy chương trình trong phần mềm Proteus

Hình 3.8 Chạy chương trình trên phần mềm Proteus
-

Bước 4: Chạy chương trình trong phần mềm LabVIEW

+ Lựa chọn cổng COM2

19


Hình 3.9 Lựa chọn cổng COM trên LabVIEW để kết nối ảo với phần mềm
Proteus
+ Chạy chương trình

Hình 3.10 Chạy chương trình hiện thị nhiệt độ trên phần mềm LabVIEW

20


Kết luận
Sau ba tháng tìm hiểu và nghiên cứu cùng với sự hướng dẫn của thầy PGS.TS
Trần Sinh Biên, nhóm đã hoàn thành xong bài tập lớn môn Điều khiển Sản Xuất
Tích Hợp Máy Tính. Trong quá trình làm bài tập lớn, mặc dù nhóm đã cố gắng
nhiều, song do kiến thức cũng như về tầm nhìn thực tế còn hạn chế, nên không
tránh khỏi những khiếm khuyết. Nhóm rất mong có thể nhận được các ý kiến
đóng góp, giúp đỡ của các thầy cô trong khoa để đề tài bài tập lớn được hoàn
thiện hơn nữa.
Em xin trân thành cảm ơn!


21


Tài liệu tham khảo
[1]. Tài liệu học tập, Điều khiển sản xuất tích hợp máy tính, NXB Hàng Hải.
[2]. Nguyễn Bá Hải, Lập trình LabVIEW, NXB Đại học quốc gia T.P Hồ Chí
Minh, 2010.
[3].
[4].
[5].

22



×