Đồ án tốt nghiệp: Nghiên cứu hệ thống nhúng trên kit NI myRIO

Tài liệu chi tiết nghiên cứu, thiết kế hệ thống nhúng trên kit NI myRIO. Hướng dẫn lập trình LabVIEW, kết nối cảm biến và các module liên quan.

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2016

85
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Kit NI myRIO và LabVIEW

Kit NI myRIO 1900 là một nền tảng hệ thống nhúng tiên tiến được phát triển bởi National Instruments, kết hợp công nghệ FPGA và vi xử lý ARM để tạo ra một công cụ mạnh mẽ cho các ứng dụng công nghiệp và giáo dục. LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) là một phần mềm lập trình trực quan, cho phép các kỹ sư và sinh viên phát triển các ứng dụng điều khiển tự động một cách hiệu quả. Sự kết hợp giữa kit myRIO và LabVIEW tạo ra một giải pháp toàn diện cho thiết kế hệ thống nhúng, từ việc điều khiển cảm biến cho đến giao tiếp dữ liệu thời gian thực. Đây là một công cụ lý tưởng cho sinh viên ngành công nghệ kỹ thuật máy tính muốn thực hành các kỹ năng lập trình nhúng và thiết kế điều khiển tự động.

1.1. Thông số kỹ thuật Kit myRIO

Kit NI myRIO 1900 được trang bị vi xử lý ARM Cortex-A9 tốc độ cao và FPGA Xilinx để xử lý các tác vụ thời gian thực. Nó hỗ trợ các chuẩn giao tiếp như I2C, SPI, UART, và PWM, giúp kết nối dễ dàng với các module cảm biến khác nhau. Thiết bị có khả năng xử lý tín hiệu analog và digital, với các port mở rộng MXP và MSP cho phép người dùng tùy chỉnh chức năng. Năng lượng tiêu thụ thấp và kích thước nhỏ gọn làm cho myRIO trở thành lựa chọn lý tưởng cho các dự án nhúng di động.

1.2. Ứng dụng của LabVIEW trong Hệ thống Nhúng

LabVIEW cung cấp môi trường lập trình trực quan với giao diện drag-and-drop, giúp giảm thiểu độ phức tạp của mã lệnh. Phần mềm này cho phép tạo giao diện người dùng chuyên nghiệp trên Front Panel và thiết kế logic điều khiển trên Block Diagram. LabVIEW hỗ trợ giao tiếp mạng TCP/IPtruy cập từ xa, giúp giám sát và điều khiển hệ thống từ máy tính bảng hoặc điện thoại thông minh. Khả năng tích hợp với các sensor và thiết bị ngoại vi làm cho LabVIEW trở thành công cụ lý tưởng cho phát triển ứng dụng IoTtự động hóa công nghiệp.

II. Các Module Cảm Biến và Linh Kiện Chính

Hệ thống NI myRIO có thể tích hợp nhiều module cảm biến để mở rộng khả năng ứng dụng. Các module quan trọng bao gồm PmodTMP3 để đo nhiệt độ, PmodALS để phát hiện ánh sáng, và Sharp GP2Y0A21 để đo khoảng cách hồng ngoại. Ngoài ra, Module cầu H (PmodHB5) được sử dụng để điều khiển động cơ DC, trong khi LCD PmodCLS hiển thị thông tin trên màn hình. Module RTC DS1307 cung cấp chức năng đồng hồ thời gian thực, và PmodKYPD cho phép nhập liệu qua bàn phím. Các module này được kết nối với myRIO thông qua các port mở rộng, tạo nên một hệ thống linh hoạt và có thể mở rộng.

2.1. Module Cảm Biến Nhiệt Độ và Ánh Sáng

PmodTMP3 là cảm biến I2C có độ chính xác cao, cho phép đo nhiệt độ từ -55°C đến +125°C. Cảm biến này sử dụng giao thức I2C để truyền dữ liệu, giúp tiết kiệm chân kết nối. PmodALS phát hiện cường độ ánh sáng và chuyển đổi thành tín hiệu số, hữu ích cho các ứng dụng điều khiển ánh sáng tự động. Cả hai module đều nhỏ gọn và dễ lắp đặt trên port MXP của myRIO, tích hợp seamlessly với LabVIEW thông qua các VI (Virtual Instrument) được cung cấp sẵn.

2.2. Module Điều Khiển Động Cơ và Cảm Biến Khoảng Cách

PmodHB5 (Module cầu H) cung cấp khả năng điều khiển hai động cơ DC độc lập thông qua PWM signals. Module này cho phép đảo chiều quay và điều chỉnh tốc độ động cơ một cách chính xác. Sharp GP2Y0A21 là cảm biến hồng ngoại sử dụng phương pháp tam giác đo để xác định khoảng cách từ 10cm đến 80cm. Cảm biến này tạo ra tín hiệu analog, được chuyển đổi thành giá trị số qua ADC trên myRIO, giúp robot hoặc hệ thống tự động tránh vật cản một cách hiệu quả.

III. Thiết Kế và Kết Nối Hệ Thống trên LabVIEW

Quá trình thiết kế hệ thống nhúng trên LabVIEW bắt đầu từ việc vẽ sơ đồ khối hệ thống (Block Diagram), xác định các module cảm biến và thiết bị ngoại vi cần tích hợp. Tiếp theo, cần thiết lập giao tiếp IP giữa kit myRIO và máy tính qua NI MAX (Measurement & Automation Explorer). Trong LabVIEW, người dùng tạo giao diện Front Panel để hiển thị dữ liệu cảm biến và nút điều khiển, sau đó xây dựng logic điều khiển trên Block Diagram bằng cách sử dụng các hàm VI có sẵn. Giao diện NI Data Dashboard trên máy tính bảng iOS cho phép giám sát và điều khiển từ xa hệ thống một cách thuận tiện.

3.1. Thiết Lập Giao Tiếp và Cấu Hình myRIO

Để bắt đầu, cần kết nối kit myRIO với máy tính qua USB hoặc Ethernet và sử dụng NI MAX để gán địa chỉ IP. Sau đó, khởi động LabVIEW và tạo New Project, chọn myRIO làm target. LabVIEW sẽ tự động nhận diện các port kết nối (MXP A, MXP B, MSP C). Cần cấu hình các I/O pins theo yêu cầu của hệ thống, như PWM output cho điều khiển động cơ, I2C input cho cảm biến nhiệt độ, và Analog Input cho cảm biến khoảng cách.

3.2. Xây Dựng Giao Diện Front Panel và Block Diagram

Front Panel được thiết kế bằng cách kéo các Control (nút bấm, slider) và Indicator (đồ thị, hiển thị số) vào canvas. Ở Block Diagram, các phần tử được kết nối bằng đường dây dữ liệu để tạo luồng thông tin. Sử dụng các khối VI như I2C Read/Write, PWM Output, ADC Read để giao tiếp với các module cảm biến. Cấu trúc While Loop với timing control giúp tạo vòng lặp realtime để xử lý dữ liệu liên tục từ các cảm biến.

IV. Ứng Dụng Thực Tế và Giám Sát từ Xa

Một trong những ứng dụng thực tế của hệ thống NI myRIO là xây dựng robot tự tránh vật cản sử dụng cảm biến khoảng cáchđộng cơ DC. Hệ thống có thể đọc nhiệt độ, cường độ ánh sáng, và thời gian thực từ các cảm biến, hiển thị trên LCD PmodCLS. Data Dashboard trên iPad cho phép giám sát từ xa các thông số cảm biến thông qua kết nối mạng TCP/IP, đồng thời cho phép người dùng điều khiển các tham số của hệ thống. Phương pháp này giúp tối ưu hóa chi phí phát triển sản phẩm và tăng tính linh hoạt trong các ứng dụng IoTtự động hóa.

4.1. Ứng Dụng Robot Tự Động Tránh Vật Cản

Hệ thống robot sử dụng Sharp GP2Y0A21 để phát hiện vật cản phía trước, kết hợp với PmodHB5 điều khiển động cơ DC để điều hướng. LabVIEW xử lý dữ liệu từ cảm biến khoảng cách, so sánh với ngưỡng cảnh báo, và phát ra lệnh điều khiển cho động cơ để đảo chiều hoặc thay đổi tốc độ. LCD hiển thị khoảng cách và trạng thái hoạt động của robot, giúp người dùng giám sát realtime.

4.2. Giám Sát và Điều Khiển từ Máy Tính Bảng

NI Data Dashboard trên iOS kết nối với myRIO qua TCP/IP, cho phép hiển thị biểu đồ thời gian thực các thông số cảm biến như nhiệt độ, ánh sáng, và khoảng cách. Người dùng có thể điều khiển LED, thay đổi tốc độ motor, hoặc kích hoạt chế độ khác nhau từ giao diện iPad. Công nghệ này mở rộng ứng dụng của hệ thống, cho phép quản lý từ xa các thiết bị công nghiệp hoặc các dự án home automation.

22/12/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan về tình hình nghiên cứu hiện nay, mục đích, nhiệm vụ, đối tượng phạm vi tìm hiểu,… Chương 2: Giới thiệu về phần mềm lập trình. Chương 3: Giới thiệu kit và các module liên quan. Chương 4: Thiết kế hệ thống. Chương 5:Kết luận và hướng phát triển.

Chương 6:Kết quả và nhận xét. 3 CHƯƠNG 2: PHẦN MỀM LẬP TRÌNH LABVIEW 2.1 Phần mềm lập trình Labview [1] 2.1 Giới thiệu Hình 2.1: Labview khi khởi động LabVIEW 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à 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 ngôn ngữ C, thay vì lập trình bằng các từ khóa cố định thì Labview sử dụng các khối hình ảnh sinh động kết hợp với các dây nối để tạo ra các lệnh, các hàm. Cũng chính vì điều này giúp cho việc lập trình trở nên trực quan, sinh động hơn, giúp cho việc lập trình một cách nhanh gọn, sáng tạo, dễ hiểu nhờ các khối hình ảnh có tính gợi nhớ theo kiểu dòng dữ liệu (data flow) lần lượt từ trái qua phải.

Các thuật toán này sau đó được áp dụng lên các mạch điện và cơ cấu chấp hành nhờ vào việc kết nối hệ thống thật với Labview thông qua nhiều chuẩn giao tiếp như chuẩn giao tiếp RS232 (giao tiếp qua cổng Com), chuẩn USB, chuẩn TCP/IP, UDP, TCP, GPIB… Vì vậy Labview là một ngôn ngữ đa kênh.Labview hỗ trợ hầu hết các hệ điều hành (Windows, Linux, MacOS, Window Mobile, Window Embedded). Trong đồ án này, nhóm thực hiện đề tài sử dụng phiên bản Labview 2014.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ử, robotics, vật lý, toán học, sinh học, vật liệu ô tô. Nhìn chung: Labview giúp người lập trình 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 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)… Labview hỗ trợ các giao tiếp khác nhau RS232, RS485, TCP/IP, PCI, PXI,… Labview đã trở nên phổ biến ở các phòng thí nghiệm ở Nhật, Hàn, Mỹ, Anh, Đức,… ở Việt Nam, Labview đang dần tiếp cận với sinh viên, kỹ sư.

Có thể kể tên một số đề tài đã được thực hiện như: Ứng dụng đo lường: thu thập dữ liệu các thông tin cần thiết của tàu vũ trụ cỡ nhỏ tại cơ quan hàng không và vũ trụ NASA, Hoa Kỳ. Ứng dụng mô phỏng 3D: mô phỏng cánh tay robot đơn giản do Thạc sĩ Đỗ Trung Hiếu thực hiện. Ứng dụng điều khiển phương tiện không người lái: mô tả ứng dụng Labview điều khiển robot không người lái nhằm dò tìm và khám phá dưới nước của tập đoàn Nexans. Ứng dụng thu thập hình ảnh và mô phỏng động lực học: mô phỏng hệ thống lái không trục lái trong ô tô.

Đồng thời hình ảnh từ webcam được thu thập và đưa lên giao diện người dùng. Trong đề tài mà nhóm thực hiện, Labview sẽ xử lý tín hiệu tương tự đo được từ cảm biến khoảng cách, sau đó xử lý và truyền tín hiệu lại kit myRio để thực hiện các yêu cầu của người lập trình.3 Cách sử dụng phần mềm Labview Sau khi cài đặt xong phần mềm Labview, để khởi chạy, ta click vào biểu tượng của phần mềm (hình 2.2: Icon labview 2014 5 Để tạo project mới, chọn File -> New Vi (hoặc nhấn phím tắt Ctrl + N) Hình 2.3: Cửa sổ giao diện Labview khi mới khởi động Lúc này xuất hiện hai cửa sổ, màu xám (Front Panel) và màu trắng (Block diagram) như hình 2.Nhấn Ctrl+T để canh đều hai cửa sổ Front panel và Block diagram.4: Front Panel và Block Diagram Front Panel là nơi để thiết kế giao diện cho toàn bộ hệ thống, là một cửa sổ giao diện người dùng có thể tương tác, quan sát kết quả hiển thị từ các thiết bị ảo… Còn 6 Block Diagram có thể coi như là một sơ đồ khối gồm các thiết bị đầu cuối, subVis, nút, hàm chức năng, các hằng số, cấu trúc, dây kết nối, trong đó dữ liệu được truyền giữa các đối tượng khác nhau trong sơ đồ khối Trong Labview, các nút nhấn được gọi là các Control, đóng vai trò input (hay giá trị nhập vào), có thể đó là các tay nắm, nút ấn, thanh trượt, boolean, chuỗi… nó là công cụ mô phỏng thiết bị đầu vào và cung cấp dữ liệu cho sơ đồ khối của VI. Các LCD hiển thị được gọi là các Indicator, đóng vai trò output (giá trị hiển thị ra kết quả), đó có thể là các đồ thị, biểu đồ, đèn LED, chuỗi trạng thái. Để gọi các control và indicator ta click chuột phải trên cửa sổ Front Panel.

Các control thì luôn kết nối vào các nút bên trái của hàm, có các mũi tên lên xuống để tăng giảm giá trị và control thì có màu trằng. Còn các indicator thì luôn kết nối vào các nút bên phải của hàm, không thể nhập giá trị vào và có màu xám.5: Control và Indicator trên Front Panel Tương tự, để gọi hàm (Function), ta click chuột phải trên cửa sổ Block Diagram, hay còn gọi là cửa sổ chứa các sơ đồ khối, ta dùng các đường dây nối để tạo mối liên kết giữa các khối và hàm lại.6: Các hàm trên Block Diagram Từ đây, người lập trình sẽ gọi các control, indicator và các hàm để lập trình theo từng yêu cầu, từng mục đích của người thực hiện. Sau khi lập trình xong, để chạy chương trình, ta click vào Operate -> Run (hoặc nhấn phím tắt Ctrl + R) hoặc click vào biểu tượng như hình 2.7: Click Run để chạy chương trình Trong Labview, để lưu file ta chọn File -> Save. Chọn đường dẫn vị trí để lưu file và đặt tên cho file cần lưu rồi nhấn OK.

Đối với file chương trình Labview thì đuôi của nó là .8: Lưu file 8 Để tạo lưu file hiện tại đang mở thành một file mới ta chọn Save as, hộp thoại như hình 2. Ý nghĩa của ba lựa chọn trong mục copy là: Substitude… có nghĩa là file mới tạo sẽ được mở, file cũ sẽ đóng lại. Create… có nghĩa là file cũ sẽ được mở, file mới tạo sẽ được đóng lại. Open… có nghĩa là cả hai file cũ và mới tạo sẽ được mở.

Nếu chọn mục Rename thì không có file mới nào được tạo nhưng có thể thay đổi tên file hiện tại.9: Các lựa chọn khi lưu file bằng Save As Để mở File, chọn File -> Open và chọn file cần mở. Lưu ý là các file được lập trình bởi Labview phiên bản quá cũ sẽ không mở được bằng phần mềm Labview phiên bản cao, và cũng không thể mở các file được lưu bằng Labview có phiên bản cao hơn bằng Labview có phiên bản thấp hơn. Để khắc phục điều này, sử dụng chức năng Save for previous version (trong File) khi muốn file có thể mở bằng các phiên bản Labview thấp hơn. Để sử dụng Labview hiệu quả, rút ngắn thời gian, giảm bớt các công đoạn vào thư viện lấy control, indicator… thì cần phải nhớ các quy tắc: 9 Quy tắc 1: Right Click -> Create/Replace/Change to để lấy các khối, tạo khối, thay thế khối và đổi chức năng khối.

Quy tắc này giúp việc lập trình được nhanh hơn, hạn chế số lần click chuột để tìm các khối cần thiết trong lập trình. Quy tắc 2: Ctrl + H để xem sơ đồ chân của hàm và đọc hướng dẫn tóm tắt của một hàm bất kỳ (context help). Quy tắc 3: Search để tìm kiếm các đối tượng, các hàm.4 Giao tiếp giữa kit NI myRio với phần mềm Labview trên PC. Để cấu hình mạng cho NI myRio, sau khi kết nối kit myRio với PC bằng cáp USB, ta tìm và click vào biểu tượng NI MAX trên PC để cấu hình địa chỉ cho kit, ta được giao diện như 2.10: Giao diện cửa sổ NI MAX Trong mục Remote, ta chọn kit NI myRio đang kết nối, trong cửa sổ bên phải, ta tìm đến mục SSID và Network Security để thiết lập và đặt mật khẩu cho kit myRio phát wifi (theo các bước như hình 2.10) hoặc sử dụng địa chỉ mặc định 172.2 nếu sử dụng kit myRio kết nối với PC bằng cáp USB.11: Các bước thiết lập IP cho kit NI myRio Trên phần mềm Labview, để kết nối với kit myRio, ta cần gán địa chỉ của kit myRio để phần mềm Labview kết nối đến kit.

Click chuột phải vào kit đang kết nối đến PC trong cửa sổ project. Chọn properties, nhập vào địa chỉ của kit vào ô địa chỉ như hình 2.11 và nhấn OK, như vậy kit myRio đã kết nối thành công với phần mềm Labview trên PC.12: Gán địa chỉ kit myRio trên phần mềm Labview 2.2 Phần mềm tạo giao diện trên máy tính bảng (Data Dashboard trên iOS) NI Data Dashboard là một phần mềm được NI thiết kế sẵn dành cho cả 3 hệ điều hành cho thiết bị cầm tay lớn trên thị trường là Android, iOS và WindowPhone. 11 Với tính năng chia sẻ biến (Shared Variables) trên Labview, phần mềm NI Data Dashboard có thể biến thành một màn hình hiển thị trạng thái các dữ liệu thu được, hoặc khi thêm các nút nhấn, thanh trượt ta có thể điều khiển các biến chia sẻ đó theo mục đích.13: Giao diện ứng dụng NI Data Dashboard 12 CHƯƠNG 3: KIT MYRIO VÀ CÁC LINH KIỆN 3.1 Kit Nation Instruments myRio 1900 [2] 3.1 Giới thiệu Hình 3.1:Kit Nation Instruments myRio 1900 Nation Instruments myRio 1900 (NI myRio) sử dụng các công nghệ mới nhất từ Zynq Xilinx FPGA tích hợp hệ thống trên một chip với một bộ xử lý chạy một hệ điều hành thời gian thực. Công nghệ mạnh mẽ này kết hợp với một gia tốc onboard, đèn LED có thể lập trình, âm thanh I/O, analog và kỹ thuật số I/O, và cổng USB giúp hàng ngàn ý tưởng dự án đi vào cuộc sống.2 Thông số kỹ thuật NI myRIO sử dụng chip Xilinx Zynq – 7010 với một bộ vi xử lý dual-core Cortex-A9 ARM ®™ và một FPGA với 28.000 tế bào lập trình logic, 34 chân IO, trong đó có 4 chân vào, 1 chân ra tín hiệu tương tự, 10 chân vào tín hiệu số, các chân cấp nguồn 5V, 3,3V, chân GND, và các chân PWM, UART, I2C.

NI myRIO cũng bao gồm WiFi onboard, một cảm biến gia tốc ba trục, và một số đèn LED, nút nhấn. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho kit NI myRIO bằng ngôn ngữ LabView hoặc hoặc một số ngôn ngữ khác như C, C++.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ