Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh nền khoa học kỹ thuật và sản xuất công nghiệp chuyển dịch mạnh mẽ theo hướng tự động hóa và hiện đại hóa, nhu cầu nghiên cứu, ứng dụng các hệ thống nhúng và xử lý thông minh (như nhà thông minh, xe thông minh) ngày càng trở nên cấp thiết. Tại thời điểm nghiên cứu (năm 2016), phần lớn các bộ kít vi điều khiển và hệ thống nhúng phổ biến tại Việt Nam (như Arduino, Raspberry Pi, Xbee) đều sử dụng các ngôn ngữ lập trình dạng văn bản truyền thống (như C, C++, Python). Việc tiếp cận kit NI myRIO-1900 của hãng National Instruments – một nền tảng phần cứng tích hợp cả vi xử lý ARM và vi mạch logic lập trình được (FPGA) cùng môi trường lập trình đồ họa LabVIEW – mang lại hướng tiếp cận mới trong thiết kế hệ thống nhúng, rút ngắn thời gian phát triển và trực quan hóa quy trình xử lý dữ liệu.
Mục tiêu nghiên cứu
Đề tài xác định các mục tiêu cụ thể cần hoàn thành bao gồm:
- Nắm vững phương pháp lập trình trên phần mềm LabVIEW, phương thức giao tiếp, điều khiển và các thông số kỹ thuật của kit NI myRIO cùng các module ngoại vi (mạch cầu H, cảm biến hồng ngoại IR, động cơ servo, cảm biến nhiệt độ, cảm biến ánh sáng, bàn phím ma trận, màn hình LCD).
- Thực hiện giao tiếp không dây giữa kit NI myRIO và máy tính thông qua mạng Wi-Fi; triển khai giao diện điều khiển trên máy tính bảng iPad qua phần mềm NI Data Dashboard để điều khiển các cơ cấu chấp hành (động cơ DC và servo).
- Rèn luyện kỹ năng nghiên cứu, tra cứu và tổng hợp tài liệu kỹ thuật chuyên ngành.
- Thiết kế giao diện phần mềm trực quan hỗ trợ người dùng theo dõi dữ liệu cảm biến và điều khiển phần cứng.
Nhiệm vụ nghiên cứu
Để hiện thực hóa các mục tiêu trên, tác giả đề ra 6 nhiệm vụ nghiên cứu:
- Nghiên cứu tài liệu hướng dẫn sử dụng kit NI myRIO về cấu tạo phần cứng và đặc tính kỹ thuật.
- Tìm hiểu phần mềm lập trình LabVIEW và phương pháp lập trình luồng dữ liệu (Dataflow) cho hệ thống nhúng.
- Nghiên cứu ứng dụng NI Data Dashboard trên hệ điều hành di động.
- Khảo sát nguyên lý hoạt động và sơ đồ kết nối của các module linh kiện đi kèm (Servo GWS S03N, cảm biến Sharp GP2Y0A21, mạch cầu H PmodHB5/L298, PmodTMP3, PmodALS, PmodCLS, RTC DS1307, PmodKYPD).
- Cấu hình thông số mạng để thiết lập giao tiếp không dây giữa kit NI myRIO, máy tính cá nhân và máy tính bảng.
- Xây dựng thuật toán, thiết kế lưu đồ giải thuật và viết mã nguồn chương trình (Virtual Instruments - VIs).
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Nền tảng phần cứng NI myRIO-1900, môi trường phần mềm LabVIEW 2014, ứng dụng NI Data Dashboard trên iOS, các giao thức truyền thông nối tiếp (I2C, SPI, UART, PWM) và các module cảm biến/chấp hành ngoại vi.
- Phạm vi nghiên cứu: Lập trình điều khiển và thu thập dữ liệu trên mô hình phần cứng nhúng cơ bản; thử nghiệm cấu hình mạng truyền thông Wi-Fi và xây dựng giao diện điều khiển giám sát từ xa trên thiết bị di động (máy tính bảng iPad).
Cơ sở lý thuyết và phương pháp
Nền tảng phần cứng và lý thuyết truyền thông
Nghiên cứu dựa trên cấu trúc phần cứng của kit NI myRIO-1900, sử dụng chip Xilinx Zynq-7010 kết hợp bộ xử lý lõi kép Dual-core ARM Cortex-A9 (tốc độ 667 MHz) và khối FPGA chứa 28.000 tế bào logic lập trình được. Hệ thống sở hữu 512 MB bộ nhớ RAM DDR3 (xung nhịp 533 MHz, bus 16-bit) và 256 MB bộ nhớ bất biến (Non-volatile memory).
Kit hỗ trợ kết nối qua 2 cổng mở rộng MXP (myRIO Expansion Port A, B) và 1 cổng MSP (Mini System Port C), tích hợp các chuẩn giao tiếp công nghiệp:
- Chuẩn I2C (Inter-Integrated Circuit): Giao tiếp nối tiếp 2 dây (SDA, SCL), hỗ trợ các chế độ Standard mode (100 kbps), Fast mode (400 kbps) và High-Speed mode (lên đến 3,4 Mbps) với định địa chỉ 7-bit.
- Chuẩn SPI (Serial Peripheral Interface): Giao tiếp nối tiếp đồng bộ 4 dây (SCK, MISO, MOSI, SS), hỗ trợ truyền song công (Full Duplex) với 4 chế độ hoạt động (Mode 0, 1, 2, 3) dựa trên cực tính xung nhịp (CPOL) và pha xung nhịp (CPHS), tần số tối đa 4 MHz.
- Chuẩn UART: Truyền thông nối tiếp không đồng bộ với cấu hình khung truyền mặc định 115200 baud, 8 data bits, 1 stop bit, không dùng kiểm tra luồng (flow control).
- Điều chế độ rộng xung (PWM): Điều khiển công suất và vị trí động cơ với tần số hoạt động lên tới 100 kHz.
| Thông số kỹ thuật |
Cổng mở rộng MXP (Port A & B) |
Cổng Mini System MSP (Port C) |
| Kênh Analog Input (AI) |
4 kênh đơn cực (0 – 5V), 12-bit, 500 kS/s |
2 kênh vi phân (±10V), 12-bit, 500 kS/s |
| Kênh Analog Output (AO) |
2 kênh (0 – 5V), 12-bit, 345 kS/s |
2 kênh (±10V), 12-bit, 345 kS/s |
| Đường Digital I/O (DIO) |
16 đường/port (3.3V LVTTL, chịu mức vào 5V) |
8 đường (3.3V LVTTL, trở kháng kéo xuống 40 kΩ) |
| Âm thanh (Audio I/O) |
Không tích hợp |
1 ngõ vào Stereo (±2.5V), 1 ngõ ra Stereo |
| Giao tiếp ngoại vi |
UART, SPI, I2C, PWM |
Audio In/Out, DIO, Analog In/Out |
Phương pháp nghiên cứu
Khóa luận áp dụng phương pháp nghiên cứu thực nghiệm kết hợp thiết kế kỹ thuật:
- Thu thập và tổng hợp tài liệu: Khảo sát tập lệnh phần mềm LabVIEW, tài liệu kỹ thuật (datasheet) của kit NI myRIO và các module cảm biến/chấp hành.
- Phương pháp mô hình hóa và thiết kế giải thuật: Xây dựng sơ đồ khối tổng quát của hệ thống; phân rã thành các khối chức năng độc lập; vẽ lưu đồ giải thuật đọc cảm biến, xuất tín hiệu điều khiển động cơ và đóng gói thành các SubVI trong LabVIEW.
- Thực nghiệm và đo kiểm: Kết nối trực tiếp phần cứng, cấu hình địa chỉ IP tĩnh/động thông qua tiện ích NI Network & Hardware Configuration Utility (NI MAX), kiểm thử khả năng đáp ứng của chương trình và phân tích tín hiệu điều khiển trên mô hình thực tế.
Thiết kế và triển khai hệ thống
Kiến trúc phần cứng và kết nối ngoại vi
Hệ thống nhúng được thiết kế xoay quanh khối xử lý trung tâm NI myRIO, liên kết với các khối chức năng thông qua cổng MXP A, MXP B và MSP C:
[Máy tính bảng iPad / NI Data Dashboard]
[Kit điều khiển NI myRIO-1900]
- PmodTMP3 (Nhiệt) - PmodALS (Ánh sáng) - Servo GWS S03N
- RTC DS1307 - Màn hình LCD - Mạch cầu H (Động cơ DC)
- Bàn phím Ma trận - Cảm biến IR GP2Y0A21
- Khối điều khiển động cơ DC: Sử dụng mạch cầu H (IC L298 / MOSFET) điều khiển đảo chiều và tốc độ động cơ DC. Mạch hoạt động trong dải điện áp +5V đến +35V, dòng điện tải tối đa 2A mỗi cầu, công suất tiêu tán 20W. Tín hiệu kích hoạt (Enable) nối với chân DIO2 (chân 15 trên cổng MXP), hai tín hiệu logic điều khiển chiều quay (IN1, IN2) nối lần lượt với DIO0 (chân 11) và DIO1 (chân 13).
- Khối chấp hành Servo GWS S03N STD: Hoạt động ở điện áp 4.8V – 6V, nhận xung điều khiển PWM tần số 50 Hz (chu kỳ 20 ms) từ các chân xuất xung chuyên dụng (chân 27, 29 hoặc 31 trên MXP). Độ rộng xung biến thiên từ 1.0 ms (quay hết sang một hướng) đến 2.0 ms (quay hết sang hướng đối diện), tại 1.5 ms servo giữ vị trí cân bằng trung tâm (trung vị).
- Khối cảm biến và hiển thị ngoại vi:
- Cảm biến nhiệt độ PmodTMP3: Giao tiếp I2C, đo nhiệt độ môi trường.
- Cảm biến ánh sáng PmodALS: Tích hợp bộ chuyển đổi ADC 8-bit, truyền dữ liệu quang thông qua giao tiếp SPI về kit myRIO.
- Cảm biến khoảng cách Sharp GP2Y0A21: Xuất tín hiệu điện áp tương tự tỷ lệ nghịch với khoảng cách vật cản, kết nối trực tiếp vào kênh Analog Input (AI0).
- Đồng hồ thời gian thực RTC DS1307: Giao tiếp I2C lưu trữ và cập nhật thời gian thực độc lập.
- Màn hình PmodCLS và Bàn phím ma trận PmodKYPD: Xuất dữ liệu ngày giờ/trạng thái và nhập dữ liệu tương tác qua các chân DIO/UART.
Triển khai phần mềm và điều khiển không dây
- Lập trình LabVIEW 2014: Thiết kế giao diện Front Panel chứa các nút bấm điều khiển (Control) và màn hình đồ thị/đèn báo trạng thái (Indicator). Phần xử lý luồng dữ liệu Block Diagram xây dựng cấu trúc vòng lặp điều khiển thời gian thực, đọc dữ liệu ADC từ cảm biến khoảng cách, tính toán góc lái và điều biến độ rộng xung PWM.
- Cấu hình mạng không dây: Thiết lập kit NI myRIO phát mạng Wi-Fi chuẩn IEEE 802.11 b/g/n (băng tần 2.4 GHz, độ rộng kênh 20 MHz, công suất phát tối đa +10 dBm, bảo mật WPA2) thông qua NI MAX. Trong chế độ kết nối cáp USB, kit sử dụng địa chỉ IP mặc định
172.22.11.2.
- Giao diện NI Data Dashboard trên iOS: Sử dụng cơ chế biến chia sẻ mạng (Shared Variables) của LabVIEW để đồng bộ hóa dữ liệu thời gian thực giữa kit myRIO và máy tính bảng iPad. Ứng dụng cho phép hiển thị dữ liệu đo đạc (nhiệt độ, ánh sáng, khoảng cách vật cản) và cung cấp các nút bấm ảo/thanh trượt để điều khiển xe tiến, lùi, rẽ trái, rẽ phải từ xa qua sóng Wi-Fi.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Trình bày tổng quan về tình hình nghiên cứu tự động hóa trong và ngoài nước; phân tích tính cấp thiết của việc làm chủ các nền tảng nhúng hiện đại; xác định mục tiêu, nhiệm vụ, đối tượng, phạm vi nghiên cứu và phương pháp triển khai của đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính.
Chương 2: Phần mềm lập trình LabVIEW
Giới thiệu môi trường lập trình đồ họa LabVIEW 2014 (cơ chế luồng dữ liệu, Front Panel, Block Diagram, Controls, Indicators, cấu trúc hàm SubVI); phân tích các lĩnh vực ứng dụng của LabVIEW trong công nghiệp và nghiên cứu; hướng dẫn sử dụng công cụ NI MAX để cấu hình địa chỉ IP, thiết lập mạng Wi-Fi và liên kết giao tiếp giữa kit myRIO với PC; giới thiệu ứng dụng NI Data Dashboard trên hệ điều hành di động (iOS, Android, Windows Phone) và phương thức liên kết thông qua Shared Variables.
Chương 3: Kit myRIO và các linh kiện
Khảo sát cấu trúc phần cứng và bảng thông số kỹ thuật của kit NI myRIO-1900 (chip Zynq-7010, cấu hình chân kết nối cổng MXP A/B, cổng MSP C, module Wi-Fi, cảm biến gia tốc 3 trục onboard dải đo ±8g); phân tích đặc tính và giao thức của các chuẩn truyền thông I2C, SPI (4 chế độ hoạt động), UART và Bluetooth; trình bày chi tiết thông số kỹ thuật, cấu tạo và nguyên lý hoạt động của các linh kiện: mạch cầu H PmodHB5/L298, động cơ DC, Servo GWS S03N STD, cảm biến khoảng cách Sharp GP2Y0A21, PmodTMP3, PmodALS, RTC DS1307, PmodKYPD, PmodCLS.
Chương 4: Thiết kế hệ thống
Xây dựng sơ đồ khối tổng quát và phân tích yêu cầu kỹ thuật của hệ thống; trình bày chi tiết sơ đồ nối dây phần cứng, lưu đồ giải thuật xử lý và kết quả mô phỏng/thực thi cho từng khối chức năng (module nhiệt độ PmodTMP3, góc quay servo GWS S03N, cảm biến Sharp GP2Y0A21, mạch cầu H điều khiển động cơ DC, màn hình hiển thị LCD, module ánh sáng PmodALS, đồng hồ thời gian thực RTC DS1307, bàn phím PmodKYPD); thiết kế lưu đồ thuật toán và bố trí giao diện điều khiển xe mô hình trên phần mềm NI Data Dashboard trên iPad.
Chương 5: Kết luận và hướng phát triển
Đánh giá tổng kết mức độ hoàn thành các mục tiêu nghiên cứu đã đề ra trong đồ án; thảo luận về những mặt đạt được trong việc làm chủ phần cứng NI myRIO, ngôn ngữ LabVIEW và kết nối mạng không dây; chỉ ra các điểm tồn tại và định hướng các nội dung nghiên cứu mở rộng trong tương lai.
Chương 6: Kết quả và nhận xét
Trình bày kết quả thử nghiệm thực tế của toàn bộ hệ thống; phân tích, đánh giá độ ổn định của các khối chức năng khi hoạt động đồng thời; nhận xét về khả năng đáp ứng của giao tiếp không dây qua NI Data Dashboard; đính kèm phụ lục hướng dẫn sử dụng thiết bị và toàn bộ mã nguồn chương trình (Block Diagram/SubVIs).
Kết quả và đóng góp
Kết quả kỹ thuật đạt được
- Làm chủ nền tảng phần cứng và phần mềm mới: Khai thác thành công các tính năng phần cứng của kit NI myRIO-1900, bao gồm các kênh Analog Input/Output, cổng I/O số (DIO), giao tiếp I2C, SPI, UART và khối phát xung PWM.
- Xây dựng hoàn chỉnh các khối điều khiển và thu thập dữ liệu:
- Đọc chính xác dữ liệu từ cảm biến nhiệt độ PmodTMP3 (I2C), cảm biến ánh sáng PmodALS (SPI), cảm biến thời gian thực RTC DS1307 (I2C) và cảm biến khoảng cách quang học Sharp GP2Y0A21 (Analog Input).
- Xuất dữ liệu hiển thị lên màn hình LCD PmodCLS và nhận tín hiệu điều khiển từ bàn phím ma trận PmodKYPD.
- Điều khiển động cơ DC chạy thuận/nghịch thông qua mạch cầu H và điều khiển góc lái servo GWS S03N bằng băm xung PWM ở tần số 50 Hz với độ rộng xung 1.0 – 2.0 ms.
- Thiết lập hệ thống giám sát và điều khiển không dây: Cấu hình thành công mạng Wi-Fi trên myRIO, sử dụng các biến chia sẻ (Shared Variables) để đồng bộ hóa dữ liệu 2 chiều với ứng dụng NI Data Dashboard trên iPad, thực hiện điều khiển mô hình từ xa ổn định.
Đóng góp của đề tài
- Cung cấp một tài liệu tổng hợp có tính hệ thống bằng tiếng Việt về quy trình kết nối phần cứng, cấu hình truyền thông và lập trình đồ họa cho kit NI myRIO-1900 tại thời điểm nền tảng này còn rất mới đối với sinh viên trong nước.
- Chứng minh tính khả thi của phương pháp lập trình đồ họa (Dataflow) kết hợp điều khiển giám sát qua thiết bị di động thông minh trong việc giảm thiểu thời gian phát triển các ứng dụng nhúng và tự động hóa.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Đề tài tập trung chủ yếu vào việc nghiên cứu, thử nghiệm và tích hợp các module chức năng cơ bản; mức độ ứng dụng thực tế và tính phức tạp của thuật toán điều khiển tự động chưa cao.
- Chưa khai thác sâu năng lực xử lý phần cứng của khối FPGA trên chip Zynq-7010 ngoài các hàm cấu hình I/O tiêu chuẩn do thư viện LabVIEW myRIO hỗ trợ.
Hạn chế và hướng nghiên cứu tiếp theo do tác giả đề xuất
- Tích hợp thêm các thuật toán điều khiển tự hành thông minh, nâng cao độ chính xác trong điều hướng và tránh vật cản.
- Nghiên cứu ứng dụng xử lý ảnh số (Vision) thông qua cổng USB camera và xử lý tín hiệu âm thanh (Audio I/O) tận dụng tốc độ tính toán cao của FPGA Zynq-7010.
- Phát triển mô hình hoàn chỉnh ứng dụng trong các hệ thống giám sát môi trường, nhà thông minh hoặc robot công nghiệp thực tế.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo hữu ích cho:
- Sinh viên và học viên ngành Công nghệ Kỹ thuật Máy tính, Điện tử - Viễn thông, Tự động hóa, Cơ điện tử: Cung cấp tài liệu thực hành chi tiết về phương pháp lập trình đồ họa LabVIEW và cách thức điều khiển ngoại vi trên kit NI myRIO.
- Người thực hiện các đề tài nghiên cứu về hệ thống nhúng và IoT:
- Chương 3 và Chương 4: Đáng tham khảo về bảng sơ đồ kết nối chân cổng MXP/MSP, nguyên lý giao tiếp I2C/SPI/UART/PWM và lưu đồ thuật toán đọc các cảm biến Pmod.
- Chương 2 và Chương 4: Cung cấp quy trình từng bước cấu hình địa chỉ IP, thiết lập mạng Wi-Fi và phương pháp cấu hình Shared Variables để kết nối LabVIEW với ứng dụng NI Data Dashboard trên thiết bị di động iOS.
Câu hỏi thường gặp
1. Kit NI myRIO-1900 sử dụng vi xử lý và cấu trúc phần cứng lõi nào?
Kit NI myRIO-1900 trang bị chip SoC Xilinx Zynq-7010 tích hợp bộ vi xử lý lõi kép Dual-core ARM Cortex-A9 tốc độ 667 MHz cùng khối FPGA với 28.000 tế bào logic lập trình được, đi kèm 512 MB bộ nhớ RAM DDR3 và 256 MB bộ nhớ bất biến.
2. Độ rộng xung và tần số PWM tối ưu để điều khiển động cơ servo GWS S03N STD trong đồ án là bao nhiêu?
Động cơ servo GWS S03N STD hoạt động tối ưu ở tần số xung 50 Hz (chu kỳ 20 ms). Tín hiệu điều khiển được băm xung với độ rộng biến thiên trong khoảng từ 1.0 ms đến 2.0 ms (tương ứng với các góc quay giới hạn hai bên) và giữ ở mức 1.5 ms khi servo ở vị trí cân bằng trung tâm.
3. Giao tiếp giữa phần mềm LabVIEW trên kit myRIO và ứng dụng NI Data Dashboard trên iPad được thực hiện thông qua cơ chế nào?
Hệ thống sử dụng mạng Wi-Fi tích hợp trên myRIO (chuẩn IEEE 802.11 b/g/n băng tần 2.4 GHz) để kết nối không dây và sử dụng cơ chế chia sẻ biến qua mạng (Shared Variables) của LabVIEW để truyền nhận trạng thái cảm biến cũng như lệnh điều khiển hai chiều.
4. Địa chỉ IP mặc định của kit NI myRIO khi kết nối với máy tính bằng cáp USB là gì?
Khi kết nối trực tiếp với máy tính cá nhân qua cáp USB, kit NI myRIO được gán địa chỉ IP mặc định là 172.22.11.2.
5. Các module cảm biến nhiệt độ PmodTMP3 và cảm biến ánh sáng PmodALS sử dụng những chuẩn truyền thông nào để kết nối với kit myRIO?
Module cảm biến nhiệt độ PmodTMP3 giao tiếp với kit myRIO thông qua chuẩn giao tiếp nối tiếp 2 dây I2C, trong khi module cảm biến ánh sáng PmodALS sử dụng chuẩn giao tiếp nối tiếp 4 dây SPI.
Kết luận
Đồ án tốt nghiệp "Nghiên cứu hệ thống nhúng trên kit NI myRIO" của tác giả Hoàng Tuấn Đạt đã hoàn thành việc khảo sát đặc tính phần cứng, cấu hình mạng truyền thông và phương pháp lập trình đồ họa luồng dữ liệu trên phần mềm LabVIEW 2014. Tác giả đã tích hợp và điều khiển thành công hệ thống phần cứng bao gồm các module cảm biến nhiệt độ, ánh sáng, khoảng cách, cơ cấu chấp hành động cơ DC và servo. Công trình cũng triển khai hoàn chỉnh giải pháp điều khiển và giám sát từ xa qua mạng Wi-Fi bằng ứng dụng NI Data Dashboard trên máy tính bảng iPad, tạo tiền đề tài liệu tham khảo cho các nghiên cứu ứng dụng hệ thống nhúng tiếp theo.