Đề tài: Thiết kế chương trình mô phỏng việc điều khiển và giám sát hệ thống cấp nước tự động từ bể ngầm nên bể chứa trên cao (sử dụng 3 bơm nước ) ứng dụng phần mềm labview. Mục lục Chương 1: Giới thiệu phần mềm LabVIEW, Proteus, IDE (Integrated Development Environment) ............................................................................... 4 1.1. LabVIEW là gì? ..................................................................................... 4 1.2. Tạo một Project Explorer ....................................................................... 5 1.3. Các thành phần của một VI .................................................................... 7 1.4. Phần mềm Proteus.................................................................................. 8 1.5. Phần mềm IDE ....................................................................................... 9 1.6. Phần mềm Configure Virtual Serial Port Driver ................................... 10 Chương 2: Bo mạch Arduino Uno R3 và thuật toán điều khiển ........................ 11 2.1. Bo mạch Arduino Uno ......................................................................... 11 2.2. Thuật toán điều khiển ............................................................................ 15 Chương 3: Chương trình thực hiện ................................................................... 16 3.1. Chương trình thực hiện trên phân mềm LabVIEW ................................ 16 3.2. Chương trình thực hiện trên phần mềm Proteus ..................................... 18 3.3. Chương trình viết trên phần mềm IDE ................................................... 18 3.4. Thực hiện chạy chương trình ................................................................. 19 Kết quả ............................................................................................................. 22
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỰ ĐỘNG CÔNG NGHIỆP
==========o0o==========
BÀI TẬP LỚN
HỌC PHẦN ĐIỀU KHIỂN SẢN XUẤT TÍCH HỢP MÁY TÍNH
Sinh viên:
Giảng viên:
Trang 2LỜI NÓI ĐẦU
Trong mấy chục năm qua , khoa học máy tính và xử lý thông tin có nhữngbước tiến vược bậc và ngày càng có những đóng góp to lớn vào cuộc cách mạngkhoa học kỹ thuật hiện đại Đặc biệt sự ra đời và phát triển nhanh chóng của kỹthuật số làm cho ngành điện tử trở nên phong phú và đa dạng hơn Nó góp phầnrất lớn trong việc đưa kỹ thuật hiện đại thâm nhập rộng rãi vào mọi lĩnh vực củahoạt động sản xuất ,kinh tế và đời sống xã hội Từ những hệ thống máy tính lớnđến nhứng hệ thống máy tính cá nhân , từ những việc điều khiển các máy côngnghiệp đến các thiết bị phục vụ đời sống hằng ngày của con người Với mongmuốn tìm hiểu , ứng dụng những tiến bộ của khoa học kỹ thuật hiện đại vàophục vụ sản xuất và phục vụ đời sống con người
Với sự giúp đỡ của các thầy em đã hoàn thành thiết kế của mình Tuynhiên do kiến thức còn hạn chế nên không tránh khỏi sai sót mong quý thầy chỉbảo để em có thể hoàn thiện thiết kế của mình hơn Em xin chân thành cảm ơn
2
Trang 3Đề tài: Thiết kế chương trình mô phỏng việc điều khiển và giám sát hệ thống
cấp nước tự động từ bể ngầm nên bể chứa trên cao (sử dụng 3 bơm nước ) ứng dụng phần mềm labview
Mục lục
Chương 1: Giới thiệu phần mềm LabVIEW, Proteus, IDE (Integrated
Development Environment) 4
1.1 LabVIEW là gì? 4
1.2 Tạo một Project Explorer 5
1.3 Các thành phần của một VI 7
1.4 Phần mềm Proteus 8
1.5 Phần mềm IDE 9
1.6 Phần mềm Configure Virtual Serial Port Driver 10
Chương 2: Bo mạch Arduino Uno R3 và thuật toán điều khiển 11
2.1 Bo mạch Arduino Uno 11
2.2 Thuật toán điều khiển 15
Chương 3: Chương trình thực hiện 16
3.1 Chương trình thực hiện trên phân mềm LabVIEW 16
3.2 Chương trình thực hiện trên phần mềm Proteus 18
3.3 Chương trình viết trên phần mềm IDE 18
3.4 Thực hiện chạy chương trình 19
Kết quả 22
Tài liệu tham khảo 24
3
Trang 4Chươ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ônngữ 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ềnthố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 nhanhchóngvà hiệu quả Hàng triệu kỹ sư và nhà khoa học sử dụng LabVIEW để pháttriể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 Trongthự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ầncứ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ầucủa mình
- Bởi vì chương trình LabVIEW mô phỏng giao diện và hoạt động của cácthiết bị thực, chẳng hạn như dao động ký và thiết bị đo đa năng, chươngtrì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âydựng Front Panel, bạn thêm mã (code) để điều khiển các đối tượng trên FrontPanel 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 BlockDiagram 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 ứngdụ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
4
Trang 5hiệ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ácnút trên Block Diagram xác định trình tự thực hiện chương trình Lập trình tínhchí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ệuquả 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 đượcgiảng dạy trên Windows, LabVIEW hỗ trợ nhiều nền tảng Bạn có thể phát triểncác ứng dụng trên Windows, Mac OS, hoặc Linux Hơn nữa, bạn có thể triểnkhai 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ớinhau để 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 ratậ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âydự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
5
Trang 6- Cửa sổ Project Explorer:
• 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êucầu
- Hoàn thành các bước sau đây để sử dụng cửa sổ Project Explorer trong việctạ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ộpthoạ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ế đángtin 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áckế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 tintrợ 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ự ánthực hiện
3 Nhấn nút Next hay Finish để cấu hình chi tiết cho dự án, baogồ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 Thamkhảo các ghi chú trên block diagram của VI trong dự án mẫu để biết thêmthông tin về cách chỉnh sửa dự án Tham khảo thêm thư mục ProjectDocumentation trong cửa sổ Project Explorer để biết thêm thông tin vềcách chỉnh sửa dự án
6
Trang 71.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:
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ềukhiển
7
Trang 8như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử củaLancenter 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 baogồ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:
+ 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 choviệ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
+ ARES dùng để vẽ mạch in và sắp xếp chúng
8
Trang 9+ 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:
9
Trang 10+ 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ôngqua 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
10
Trang 11Chương 2: Bo mạch Arduino Uno R3 và thuật toán điều khiển
2.1 Bo mạch Arduino Uno
Arduino Uno là một bảng mạch vi điều khiển nguồn mở dựa trên vi điềukhiển Microchip ATmega328 được phát triển bởi Arduino.cc Bảng mạch đượctrang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với cácbảng mạch mở rộng khác nhau Mạch Arduino Uno thích hợp cho những bạnmới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở doArduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất (lập trình Robot, xe tự hành, điều khiển bật tắt led…)
❖ Thông số kỹ thuật:
11
Trang 12Điện áp hoạt động 5V
Dòng điện DC trên mỗi chân I/O 20 mA
12
Trang 13VIN: Chân này dùng để cấp nguồn ngoài (điện áp cấp từ 7-12VDC)
5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA)
3V3: Điện áp ra 3.3V (dòng điện trên mỗi chân này tối đa là 50mA)
GND: Là chân mang điện cực âm trên board
IOREF: Điệp áp hoạt động của vi điều khiển trên Arduino UNO và có thểđọc điện áp trên chân IOREF Chân IOREF không dùng để làm chân cấp nguồn
❖ Bộ nhớ:
Vi điều khiển ATmega328:
32 KB bộ nhớ Plash: trong đó bootloader chiếm 0.5KB
2 KB cho SRAM: (Static Random Access Menory): giá trị các biến khai báo
sẽ được lưu ở đây Khai báo càng nhiều biến thì càng tốn nhiều bộ nhớ RAM.Khi mất nguồn dữ liệu trên SRAM sẽ bị mất
1 KB cho EEPROM: (Electrically Eraseble Programmable Read Only Memory): Là nơi có thể đọc và ghi dữ liệu vào đây và không bị mất dữ liệu khimất nguồn
❖ Các chân đầu vào và đầu ra:
13
Trang 14Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chânđầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(),digitalRead() Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA
và bên trong có điện trở kéo lên là 20-50 ohm Dòng tối đa trên mỗi chân I/Okhông vượt quá 40mA để tránh trường hợp gây hỏng board mạch
❖ Ngoài ra, một số chân Digital có chức năng đặt biệt:
Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền
TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết
bị khác
Arduino Uno R3 có 6 chân Analog từ A0 đến A5, đầu vào cung cấp độphân giải là 10 bit
14
Trang 1515
Trang 16Chươ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:
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ị đốitrọng Nếu chức năng tìm thấy khớp, nó chia chuỗi thành 3chuỗi con
Decimal String To Number
Chuyển ký tự số trong chuỗi, đang bắt đầu ở giá trị đốitrọng, để một số nguyên thập phân và trả lại nó trong sốthập phân
16
Trang 17Nguyên 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:
17
Trang 183.2 Chương trình thực hiện trên phần mềm Proteus
Ở đây để mô phỏng 3 led để mô phỏng cho 3 bơm b1,b2,b3
• Cơ chế hoạt động:
Đầu tiên mức nước được cảm biến đo và chuyển thành tín hiệu điện áp vàchuyển tới đầu vào analog của bo mạch Arduino Uno Được chuyển tới chân TXcủa bo mạch Arduino Uno
3.3 Chương trình viết trên phần mềm IDE
int dienap = A0; int mucnuoc; void setup(){
while(Serial.available()){ char tinhieu =
(char) Serial.read(); if (tinhieu == '0'){
18
Trang 193.4 Thực hiện chạy chương trình
- B1: 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 ConfigureVirtual Serial Port Driver
19
Trang 20- B3: Chạy chương trình trên phần mềm Proteus
+ Nạp file HEX cho bo Arduino Uno
- B4: Chỉ định cổng COM cho Compim
20
Trang 21- B5: Chạy chương trình trên LabVIEW
21
Trang 22Kết quả
Với mức nước bằng 0 (bể cạn) thì cả 3 bơm đều hoạt động
Với mức nước bằng 1 thì bơm 1và bơm 2 hoạt động, bơm 3 dừng
22
Trang 23Với mức nước bằng 2 thì bơm 1 chạy, bơm 2 và bơm 3 dừng
Với mức nước bằng 3 (bể đầy) thì cả 3 bơm đều dừng
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
23
Trang 24[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] http://www.alldatasheet.com
[4] http://www.ni.com
[5] http://www.arduino.vn
24