Đề 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
KHOA Đ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: Nhóm: Giảng viên: N01 LỜI NÓI ĐẦU Trong chục năm qua , khoa học máy tính xử lý thơng tin có bước tiến vược bậc ngày có đóng góp to lớn vào cách mạng khoa học kỹ thuật đại Đặc biệt đời phát triển nhanh chóng kỹ thuật số làm cho ngành điện tử trở nên phong phú đa dạng Nó góp phần lớn việc đưa kỹ thuật đại thâm nhập rộng rãi vào lĩnh vực hoạt động sản xuất ,kinh tế đời sống xã hội Từ hệ thống máy tính lớn đến nhứng hệ thống máy tính cá nhân , từ việc điều khiển máy công nghiệp đến thiết bị phục vụ đời sống ngày người Với mong muốn tìm hiểu , ứng dụng tiến khoa học kỹ thuật đại vào phục vụ sản xuất phục vụ đời sống người Với giúp đỡ thầy em hồn thành thiết kế Tuy nhiên kiến thức cịn hạn chế nên khơng tránh khỏi sai sót mong quý thầy bảo để em hồn thiện thiết kế Em xin chân thành cảm ơn 2 Đề tài: Thiết kế chương trình mơ việc điều khiển giám sát hệ thống cấp nước tự động từ bể ngầm nên bể chứa cao (sử dụng 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) 1.1 LabVIEW gì? 1.2 Tạo Project Explorer 1.3 Các thành phần VI 1.4 Phần mềm Proteus 1.5 Phần mềm IDE 1.6 Phần mềm Configure Virtual Serial Port Driver 10 Chương 2: Bo mạch Arduino Uno R3 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 16 3.1 Chương trình thực phân mềm LabVIEW 16 3.2 Chương trình thực phần mềm Proteus 18 3.3 Chương trình viết phần mềm IDE 18 3.4 Thực chạy chương trình 19 Kết 22 Tài liệu tham khảo 24 3 Chương 1: Giới thiệu phần mềm LabVIEW, Proteus, IDE (Integrated Development Environment) 1.1 LabVIEW gì? - LabVIEW (viết tắt nhóm từ Laboratory Virtual Instrumentation Engineering Workbench) phần mềm máy tính phát triển cơng ty National Instruments, Hoa kỳ LabVIEW biết đến ngơn ngữ lập trình với khái niệm hồn tồn khác so với ngơn ngữ lập trình truyền thống ngôn ngữ C, Pascal - LabVIEW mơi trường lập trình đồ họa mà bạn sử dụng để tạo ứng dụng với giao diện người dùng chuyên nghiệp cách nhanh chóngvà hiệu Hàng triệu kỹ sư nhà khoa học sử dụng LabVIEW để phát triển ứng dụng đo lường, kiểm thử, điều khiển tinh vi cách sử dụngcác biểu tượng trực quan dây nối tín hiệu Ngồi ra, LabVIEW mở rộng cho nhiều tảng phẩn cứng hệ điều hành khác Trong thực tế, tảng LabVIEW có khả tích hợp với hàng nghìn thiết bị phần cứng cung cấp hàng trăm thư viện xây dựng sẵn để phân tích nâng cao hiển thị liệu giúp bạn tạo thiết bị ảo tùy chỉnh theo nhu cầu - Bởi chương trình LabVIEW mô giao diện hoạt động thiết bị thực, chẳng hạn dao động ký thiết bị đo đa năng, chương trìnhLabVIEW gọi thiết bị ảo (Virtual Instrument), thường gọi tắt VI VI có Front Panel Block Diagram Front Panel giao diện người dùng Block Diagram chương trình phía sau giao diện người dùng Sau bạn xây dựng Front Panel, bạn thêm mã (code) để điều khiển đối tượng Front Panel cách sử dụng hình đồ họa đại diện cho hàm Mã Block Diagram mã dạng đồ họa, thường biết đến G code (mã G) Block Diagram code - Khác với ngơn ngữ lập trình dạng văn bản, C++ Visual Basic, LabVIEW sử dụng biểu tượng thay dịng văn để tạo ứng 4 dụng Trong lập trình dạng văn bản, thứ tự dịng lệnh xác định trình tự thực chương trình LabVIEW sử dụng lập trình đồ họa dạng dịng chảy liệu Trong lập trình đồ họa dạng dòng chảy liệu, dòng chảy liệu qua nút Block Diagram xác định trình tự thực chương trình Lập trình tí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 ứng dụng thu thập liệu đơn giản cách hiệu với ba bước: thu thập, phân tích, hiển thị Mặc dù giáo trình giảng dạy Windows, LabVIEW hỗ trợ nhiều tảng Bạn phát triển ứng dụng Windows, Mac OS, Linux Hơn nữa, bạn triển khai ứng dụng LabVIEW cho loạt tảng thời gian thực FPGA Đặc điểm LabVIEW Chương trình LabVIEW có đặc điểm sau: o Đồ họa biên dịch o Lập trình theo dạng dịng chảy liệu hướng o Đa mục tiêu nhiều nên tảng o Hướng đối tượng o Khả đa luồng 1.2 Tạo Project Explorer - VI chương trình LabVIEW, bạn sử dụng nhiều VI với để tạo ứng dụng LabVIEW Để nhóm VI liên quan với nhau, sử dụng LabVIEW project (dự án LabVIEW) Khi bạn lưu dự án LabVIEW từ cửa sổ Project Explorer, LabVIEW tạo tập tin dự án (.lvproj), bao gồm tất tập tin LabVIEW tập tin khác dự án, thông tin cấu hình, thơng tin xây dựng (để tạo file thực thi EXE, tạo file setup, tạo tập tin DLL, …), thông tin triển khai - Một số ứng dụng LabVIEW, chẳng hạn VI đơn giản, không cần phải sử dụng dự án LabVIEW Tuy nhiên, bạn phải sử dụng dự án để xây dựng ứng dụng độc lập thư viện chia sẻ Ngoài ra, bạn phải sử dụng dự án để làm việc với mục tiêu phần cứng khơng phải máy tính phát triển như: thiết bị 5 thời gian thực, FPGA Tham khảo tài liệu mô-đun cụ thể để biết thêm thông tin việc sử dụng dự án với LabVIEW Real-Time, FPGA - Cửa sổ Project Explorer: • My Computer - Đại diện cho máy tính mục tiêu dự án • Dependencies - Bao gồm VI mục mà VI mục tiêu yêu cầu - Hoàn thành bước sau để sử dụng cửa sổ Project Explorer việc tạo chỉnh sửa dự án LabVIEW: Chọn File»Create Project để hiển thị hộp thoại Create Project Hộp thoại Create Project hiển thị danh sách chương trình mẫu ví dụ mà bạn sử dụng để đảm bảo dự án bạn tạo sử dụng thiết kế đáng tin cậy phương thức lập trình thống Tìm dự án mẫu thích hợp với mục tiêu mà bạn muốn thực với dự án Sử dụng tính sau để tìm kiếm dự án mẫu: • Filters – Chỉ hiển thị kết loại định, chẳng hạn dự án mẫu cho mục tiêu cụ thể • Additional Search - Tìm kiếm theo từ khóa, tiêu đề, mơ tả kết lọc • More Information - Mở tập tin trợ giúp cho mục Xem lại tập tin trợ giúp để đảm bảo dự án mẫu thích hợp với mục tiêu mà bạn muốn dự án thực 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 bạn hồn thành việc cấu hình dự án, LabVIEW lưu dự án vàmở cửa sổ Project Explorer Sử dụng cửa sổ Project Explorer để chỉnh sửa dự án Tham khảo ghi block diagram VI dự án mẫu để biết thêm thông tin cách chỉnh sửa dự án Tham khảo thêm thư mục Project Documentation 6 cửa sổ Project Explorer để biết thêm thông tin cách chỉnh sửa dự án 1.3 Các thành phần 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 giao diện người dùng cho VI: Cửa số block 7 diagram 1.4 Phần mềm Proteus - Proteus phần mềm cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trình điều khiển cho họ vi điều khiển MCS-51, PIC, AVR, … Proteus phần mềm mô mạch điện tử Lancenter Electronics, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola Phần mềm bao gồm chương trình: ISIS cho phép mô mạch ARES dùng để vẽ mạch in Proteus công cụ mô cho loại Vi Điều Khiển tốt, hỗ trợ dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 giao tiếp I2C, SPI, CAN, USB, Ethenet, ngịai cịn mơ mạch số, mạch tương tự cách hiệu Proteus công cụ chun mơ mạch điện tử - Proteus có hai phần bao gồm: + ISIS cho phép mô hoạt động hệ vi điều khiển, hoạt động linh kiện điện tử led, tụ điện, điện trở….Chọn đối tượng 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 lên đến hàng ngàn linh kiện 8 + ARES dùng để vẽ mạch in xếp chúng 1.5 Phần mềm IDE - Arduino IDE Arduino Integrated Development Environment) 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 Arduino IDE gọi sketch, sketch lưu định dạng ino Verify Kiểm tra lỗi biên dịch code Upload Dịch upload code vào bo mạch cài đặt sẵn New Tạo sketch Open Mở sketch có sẵn Save Lưu sketch Serial Monitor Mở serial monitor - Nạp Sketch: + Trước nạp Sketch bạn phải chọn tên bo mạch, cổng com: + Từ menu chọn Tools > Board Tools > Port - Libraries: 9 + Là thư viện bổ sung thêm chức để sử dụng sketch, ví dụ làm việc với hình LCD bạn phải cần có thư viện để điều khiển Để dùng library, bạn chọn Sketch->import Library + Đây danh sách 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 tải thêm từ internet thơng qua Library Manager Xem thêm hướng dẫn cài đặt Library - Serial Monitor: + Là hộp thoại để thị liệu gửi từ bo mạch Arduino, gửi liệu từ máy tính tới bo mạch bạn 1.6 Phần mềm Configure Virtual Serial Port Driver - Virtual Serial Port Driver phần mềm hữu hiệu để tạo cổng nối tiếp ảo kết nối chúng theo cặp thông qua dây cáp null-modem ảo Các ứng dụng hai đầu cặp trao đổi liệu cho Khi đó, liệu ghi cổng xuất cổng thứ hai ngược lại - Tất cổng nối tiếp ảo hoạt động xác cổng thực, mô thiết lập chúng Do đó, bạn tạo cặp cổng ảo theo ý muốn mà không cần phải sử dụng phần cứng bổ sung 10 10 Chương 2: Bo mạch Arduino Uno R3 thuật toán điều khiển 2.1 Bo mạch Arduino Uno Arduino Uno bảng mạch vi điều khiển nguồn mở dựa vi điều khiển Microchip ATmega328 phát triển Arduino.cc Bảng mạch trang bị chân đầu vào/ đầu Digital Analog giao tiếp với bảng mạch mở rộng khác Mạch Arduino Uno thích hợp cho bạn tiếp cận đam mê điện tử, lập trình…Dựa tảng mở Arduino.cc cung cấp bạn dễ dàng xây dựng cho dự án nhanh ( 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 11 Chip điều khiển ATmega328P Điện áp hoạt động 5V Điện áp đầu vào(khuyên dùng) 7-12V Điện áp đầu vào (giới hạn) 6-20V Số chân Digital 14 (of which provide PWM output) Số chân PWM Digital Số chân Analog Dòng điện DC chân I/O 20 mA Dòng điện DC chân 3.3V 50 mA Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader SRAM KB (ATmega328P) EEPROM KB (ATmega328P) Tốc độ thạch anh 16 MHz LED_BUILTIN 13 Chiều dài 68.6 mm Chiều rộng 53.4 mm Cân nặng 25 g ❖ Power: LED: Có LED tích hợp bảng mạch nối vào chân D13 12 12 Khi chân có giá trị mức cao (HIGH) LED sáng LED tắt mức thấp (LOW) VIN: Chân dùng để cấp nguồn (điện áp cấp từ 7-12VDC) 5V: Điện áp 5V (dòng điện chân tối đa 500mA) 3V3: Điện áp 3.3V (dòng điện chân tối đa 50mA) GND: Là chân mang điện cực âm board IOREF: Điệp áp hoạt động vi điều khiển Arduino UNO đọc điện áp 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 nhớ Plash: bootloader chiếm 0.5KB KB cho SRAM: (Static Random Access Menory): giá trị biến khai báo lưu Khai báo nhiều biến tốn nhiều nhớ RAM Khi nguồn liệu SRAM bị KB cho EEPROM: (Electrically Eraseble Programmable Read Only 13 13 Memory): Là nơi đọc ghi liệu vào không bị liệu nguồn ❖ Các chân đầu vào đầu ra: Trên Board Arduino Uno có 14 chân Digital sử dụng để làm chân đầu vào đầu chúng sử dụng hàm pinMode(), digitalWrite(), digitalRead() Giá trị điện áp chân 5V, dòng chân 20mA bên có điện trở kéo lên 20-50 ohm Dòng tối đa chân I/O không vượt 40mA để tránh trường hợp gây hỏng board mạch ❖ Ngoài ra, số chân Digital có chức đặt biệt: Serial: (RX) (TX): Được sử dụng để nhận liệu (RX) truyền liệu (TX) TTL Ngắt ngoài: Chân PWM: 3, 5, 6, 11 Cung cấp đầu xung PWM với độ phân giải bit hàm analogWrite () SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Các chân hỗ trợ giao tiếp SPI thư viện SPI LED: Có LED tích hợp bảng mạch nối vào chân D13 Khi chân có giá trị mức cao (HIGH) LED sáng LED tắt mức thấp (LOW) TWI/I2C: A4 (SDA) A5 (SCL) hỗ trợ giao tiếp I2C/TWI với thiết bị khác Arduino Uno R3 có chân Analog từ A0 đến A5, đầu vào cung cấp độ phân giải 10 bit 14 14 15 15 Chương 3: Chương trình thực 3.1 Chương trình thực phân mềm LabVIEW - Chương trình viết 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 định VISA resource name để cài đặt cổng định VISA read Đọc số định byte gửi từ thiết bị giao tiếp định VISA resource name trả lại liệu đệm Match Pattem Tìm kiếm biểu thức thường chuỗi bắt đầu giá trị đối trọng Nếu chức tìm thấy khớp, chia chuỗi thành chuỗi Decimal String To Number Chuyển ký tự số chuỗi, bắt đầu giá trị đối trọng, để số nguyên thập phân trả lại số thập phân 16 16 Boolean Nếu giá trị đầu vào đèn sáng, tắt Tank Hiện thị mức nước Boolean Đưa giá trị true nhấn false không nhấn Boolean Đưa giá trị True nhấn False khơng nhấn VISA Close Đóng phiên làm việc thiết bị đối tượng kiện định VISA recource name While Loop Vòng lặp Nguyên lý hoạt động: Khi cổng com định thiết lập Visa serial đưa vào vòng lặp While loop đến khối VISA Read liệu đưa vào đệm, liệu vào 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 chia làm phần chuyển đến khối chuyển đổi liệu từ dạng chuỗi sang dạng số để hiển thị - Chương trình hiển thị Front Panel: 17 17 3.2 Chương trình thực phần mềm Proteus Ở để mô led để mơ cho bơm b1,b2,b3 • Cơ chế hoạt động: Đầu tiên mức nước cảm biến đo chuyển thành tín hiệu điện áp chuyển tới đầu vào analog bo mạch Arduino Uno Được chuyển tới chân TX bo mạch Arduino Uno 3.3 Chương trình viết phần mềm IDE int dienap = A0; int mucnuoc; void setup(){ Serial.begin(9600); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT);} void loop(){ dienap = analogRead(A0); mucnuoc = (dienap/1023.0)*3.0; Serial.print("a"); Serial.print(mucnuoc); while(Serial.available()){ char tinhieu = 18 18 (char) Serial.read(); if (tinhieu == '0'){ digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); } '1'){ if (tinhieu == digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); } if (tinhieu == '2'){ digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW);} if (tinhieu == '3'){ digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW);}}} 3.4 Thực chạy chương trình - B1: Biên dịch Code phần mềm IDE - B2: Ghép đôi cổng COM1 COM2 phần mềm Configure Virtual Serial Port Driver 19 19 - B3: Chạy chương trình phần mềm Proteus + Nạp file HEX cho bo Arduino Uno - B4: Chỉ định cổng COM cho Compim 20 20 - B5: Chạy chương trình LabVIEW 21 21 Kết Với mức nước (bể cạn) bơm hoạt động Với mức nước bơm 1và bơm hoạt động, bơm dừng 22 22 Với mức nước bơm chạy, bơm bơm dừng Với mức nước (bể đầy) bơm dừng 23 23 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] http://www.alldatasheet.com [4] http://www.ni.com [5] http://www.arduino.vn 24 24 ... thiện thiết kế Em xin chân thành cảm ơn 2 Đề tài: Thiết kế chương trình mơ việc điều khiển giám sát hệ thống cấp nước tự động từ bể ngầm nên bể chứa cao (sử dụng bơm nước ) ứng dụng phần mềm labview. .. Chạy chương trình LabVIEW 21 21 Kết Với mức nước (bể cạn) bơm hoạt động Với mức nước bơm 1và bơm hoạt động, bơm dừng 22 22 Với mức nước bơm chạy, bơm bơm dừng Với mức nước (bể đầy) bơm dừng 23 23. .. toán điều khiển 15 Chương 3: Chương trình thực 16 3. 1 Chương trình thực phân mềm LabVIEW 16 3. 2 Chương trình thực phần mềm Proteus 18 3. 3 Chương trình viết phần mềm