Điều khiển và giám sát động cơ servo trên LabVIEW sử dụng phần cứng arduino
Tóm tắt
Động cơ servo được ứng dụng nhiều trong rô bốt, công nghiệp, dân dụng, trên tàu thủy, Có
thể điều khiển động cơ servo trên các phần cứng khác nhau như PLC, vi điều khiển, phần
cứng của hãng National Instruments (NI). Hiện nay thiết kế hệ thống sử dụng phần mềm
LabVIEW đồng bộ với phần cứng NI đang trở nên phổ biến, tuy nhiên giá thành phần cứng
của LabVIEW rất đắt nên để lập trình ứng dụng với giá thành rẻ thì cần phải nghiên cứu để
tích hợp phần cứng, phần mềm của các hãng với nhau để tìm ra giải pháp tối ưu. Bài báo trình
bày cách thức để tích hợp phần mềm LabVIEW với phần cứng của hãng Arduino và thực hiện
mô hình ứng dụng trên cơ sở đã tích hợp thành công.
Bạn đang xem tài liệu "Điều khiển và giám sát động cơ servo trên LabVIEW sử dụng phần cứng arduino", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Điều khiển và giám sát động cơ servo trên LabVIEW sử dụng phần cứng arduino
CHÚC MỪNG NĂM MỚI 2019 20 Tạp chí khoa học Công nghệ Hàng hải Số 57 - 01/2019 ĐIỀU KHIỂN VÀ GIÁM SÁT ĐỘNG CƠ SERVO TRÊN LABVIEW SỬ DỤNG PHẦN CỨNG ARDUINO USING ARDUINO HARDWARE TO CONTROL AND MONITOR SERVO MOTOR ON LABVIEW VƯƠNG ĐỨC PHÚC Khoa Điện - Điện tử, Trường Đại học Hàng hải Việt Nam Email liên hệ: phucdtt@gmail.com Tóm tắt Động cơ servo được ứng dụng nhiều trong rô bốt, công nghiệp, dân dụng, trên tàu thủy, Có thể điều khiển động cơ servo trên các phần cứng khác nhau như PLC, vi điều khiển, phần cứng của hãng National Instruments (NI). Hiện nay thiết kế hệ thống sử dụng phần mềm LabVIEW đồng bộ với phần cứng NI đang trở nên phổ biến, tuy nhiên giá thành phần cứng của LabVIEW rất đắt nên để lập trình ứng dụng với giá thành rẻ thì cần phải nghiên cứu để tích hợp phần cứng, phần mềm của các hãng với nhau để tìm ra giải pháp tối ưu. Bài báo trình bày cách thức để tích hợp phần mềm LabVIEW với phần cứng của hãng Arduino và thực hiện mô hình ứng dụng trên cơ sở đã tích hợp thành công. Từ khóa: Động cơ servo, LabVIEW, giao diện người - máy, arduino R3. Abstract Servo motors are widely used in robots, industrial systems, ships, etc. It is possible to control servo motors on different hardware such as PLC, Microcontroller, NI’s hardware. Nowadays, system designing using LabVIEW software and NI’s hardware is becoming popular, but NI's hardware price is very expensive. Therefore, for programming applications at low cost, we need to study to integrate the hardware with LabVIEW software to find the optimal solution. This paper presents how to integrate LabVIEW software with Arduino hardware and to implement the application model on a successfully integrated basis. Keywords: Servo motor, LabVIEW, human machine interface, arduino R3. 1. Đặt vấn đề Ngày càng có nhiều thiết kế hệ thống sử dụng phần mềm LabVIEW [1,2] kết hợp phần cứng NI trên thế giới bởi ngôn ngữ lập trình dễ hiểu, có nhiều công cụ lập trình, đồ họa cung cấp cho người sử dụng linh hoạt, dễ sử dụng và có sự giúp đỡ từ cộng đồng mạng. Phần mềm LabVIEW thường sử lập trình điều khiển và giám sát các hệ thống như trên máy bay, ô tô, máy chuyên dụng, Với việc nhiều hãng chế tạo phần cứng tích hợp được với phần mềm LabVIEW như Adruino, nhóm LabVIEW của Việt Nam hocdelam, các ứng dụng người dùng tự làm, giúp cho phần mềm này thực sự phổ biến và có nhiều ứng dụng trong mọi lĩnh vực cuộc sống [3]. Phần cứng Arduino đã và đang được ứng dụng rộng rãi trên thế giới. Nó có nhiều ưu điểm vượt trội: Giá thành thấp, phù hợp với mọi hệ điều hành hiện nay, có chương trình kết nối được chia sẻ và hướng dẫn rõ ràng. Với điểm mạnh của mỗi hãng khác nhau như vậy, việc tích hợp chúng mang ý nghĩa khoa học và thực tiễn. Chính vì thế tác giả đã lựa chọn phần cứng của Arduino với phần mềm LabVIEW để tích hợp với nhau và xây dựng ứng dụng từ kết quả đó. 2. Các bước tích hợp 2.1. Phần mềm cài đặt trên máy tính Để tích hợp LabVIEW với Arduino máy tính cần có VIs (Vitual Instruments) của LabVIEW. Phần mềm lập trình được ghi hay đọc dữ liệu từ phần cứng của Adruino thông qua bộ VIs. Trước khi tải các bộ Vis, các phần mềm sau cần phải cài đặt từ giao diện JKI VI Package: - VIPM Toolkit: là bộ quản lý các công cụ của LabVIEW. Sau khi cài đặt công cụ VIPM các bộ VIs sẽ được tìm và tải xuống máy và tích hợp; Hình 1. Hình ảnh của vỉ Arduino Uno CHÚC MỪNG NĂM MỚI 2019 Tạp chí khoa học Công nghệ Hàng hải Số 57 - 01/2019 21 - MakerHub Linx: mở VIPM và Search với từ khóa Makerhub linx các Vis phù hợp với phần mềm được hiện ra và tải về theo ý người sử dụng; - Ni-Visa: công cụ giúp tích hợp với các thiết bị ngoại vi thông qua cổng USB với phần mềm LabVIEW; Các phần mềm trên khi cài đặt đầy đủ phần cứng của Arduino được giao tiếp thông qua LabVIEW. Từ đây, phần mềm LabVIEW có thể thu thập, xử lý và điều khiển thiết bị theo yêu cầu thực tế. Hình 2. Giao diện tìm kiếm các công cụ tích hợp cho LabVIEW 2.2. Kết nối phần cứng Arduino với phần mềm LabVIEW Để tìm các công cụ hỗ trợ cho việc cài đặt thì phải cài phần mềm VIPM. Mở VIPM rồi lựa chọn phiên bản LabVIEW đã cài đặt trên máy tính. Sau khi đã thực hiện như trên ta gõ từ khóa LabVIEW interface for Arduino (Hình 3) để tìm được gói công cụ hỗ trợ. Khi đã tìm được công cụ này tiến hành cài đặt bằng cách kích đúp chuột trái lên LabVIEW interface for Arduino. Hình 3. Lựa chọn và cài đối tượng để tích hợp Sau khi lựa chọn bằng cách ấn vào Install giao diện Hình 4 sẽ hiện ra. Bước cuối cùng cần thực hiện là cài tiếp phần mềm Arduino IDE. Khi phần mềm đã cài đặt xong, chương trình giao tiếp giữa bo mạch Arduino và phần mềm LabVIEW được chứa trong thư mục cài đặt của LabVIEW với đường dẫn sau: C:\Program Files\National Instruments\LabVIEW 2015\vi.lib\LabVIEW Interface for Arduino\Firmware\LIFA_Base. Mở thư mục và tải nội dung vừa thực hiện lên phần cứng Arduino và cài đặt Arduino IDE. Hình 4. Cửa sổ cài đặt kết nối 3. Xây dựng mô hình ứng dụng 3.1. Giới thiệu mô hình Sau khi kết nối thành công tác giả xây dựng mô hình giám sát và điều khiển từ xa máy chính tàu thủy. Phần cứng xây dựng mô hình vật lý được thể hiện trên Hình 5 gồm có: Máy tính đã cài CHÚC MỪNG NĂM MỚI 2019 22 Tạp chí khoa học Công nghệ Hàng hải Số 57 - 01/2019 phần mềm LabVIEW, Bo mạch Arduino, Cơ cấu thực hiện là động cơ servo một chiều, Vỉ khuếch đại công suất và Đối tượng điều khiển là động cơ một chiều đóng vai trò tạo ra tốc độ quay. Hình 5. Sơ đồ khối của mô hình Hình 6. Động cơ Servo một chiều thực tế Động cơ servo một chiều loại Hitec HS-5485HB (thông số được mô tả chi tiết tại [4]) là cơ cấu thực hiện tác động vào hệ thống cung cấp nhiên liệu dựa trên yêu cầu người vận hành. Ghép nối tới động cơ có 3 dây trong đó GND và 5V là chân cấp nguồn 5 VDC và lúc nào cũng duy trì. Chân PWM là chân điều khiển được cấp tín hiệu xung. Với góc quay từ 0 đến 1800 tương ứng với độ rộng xung 900-2100 µs (lớn nhất 750-2250 μsec tương ứng với góc quay 199,5°) và có phản hồi thông qua chiết áp 5KΩ có thể đáp ứng tốt yêu cầu đặt ra trong hệ thống này. Ngoài ra động cơ servo một chiều (Hình 6) được ứng dụng phổ biến trong điều khiển như robot, các hệ thống tự động hóa, điều khiển vị trí, 3.2. Lập trình trên LabVIEW a. Lập trình giao diện điều khiển người máy Để tạo được giao diện đẹp, dễ sử dụng đòi hỏi người xây dựng có kinh nghiệm và đầu tư thời gian. Có thể tải các công cụ có sẵn trên internet, tạo công cụ, lồng hình ảnh thực trên phần mềm để có giao diện phù hợp. Giao diện (Hình 7) được tạo trên Front Panel của phần mềm LabVIEW gồm: - Phần điều khiển: tay điều khiển dùng để đặt tốc độ máy chính, nút ấn điều khiển dừng sự cố, điều khiển via máy và cửa số đặt tham số cho bộ điều khiển PID [5]. - Phần giám sát: có nhiều thông số cần giám sát tuy nhiên trên giao diện này tác giả xây dựng một số thông số chính như: áp lực dầu bôi trơn, tốc độ thực của máy, nhiệt độ nước làm mát, qua tốc, đồng thời có đồ thị theo dõi tốc độ theo thời gian thực (graph). Hình 7. Giao diện điều khiển CHÚC MỪNG NĂM MỚI 2019 Tạp chí khoa học Công nghệ Hàng hải Số 57 - 01/2019 23 b. Lập trình chức năng Phần lập trình chức năng được tạo trên block Panel của phần mềm LabVIEW như Hình 9. Mô hình ứng dụng được lập trình đủ các chức năng cơ bản của hệ thống giám sát và điều khiển từ xa máy chính theo các thuật toán tại [6, 7]. Muốn điều khiển tốc độ từ xa cần dịch chuyển tay điều khiển C.TRL HANDLE (Hình 7) tới vị trí mong muốn khi đó tín hiệu đưa ra điều khiển vị trí của động cơ servo. Hình 8 thể hiện thuật toán lặp [7] được sử dụng khi lập trình. Tín hiệu sai lệch giữa tay điều khiển và vị trí thực của thanh răng nhiên liệu sẽ được tính toán (bản chất là bộ điều khiển PI [8] và bộ khuếch đại tín hiệu) để đưa ra tín hiệu điều khiển động cơ servo. Động cơ servo sẽ quay để dịch chuyển thanh răng nhiên liệu theo đúng vị trí để đạt được tốc độ mong muốn. Hình 8. Thuật toán lặp điều khiển vị trí thanh răng nhiên liệu Hình 9. Lập trình trên Block panel cho hệ thống CHÚC MỪNG NĂM MỚI 2019 24 Tạp chí khoa học Công nghệ Hàng hải Số 57 - 01/2019 Hình 10. Hình ảnh mô hình hoàn thiện Các tín hiệu giám sát thông số của máy cũng được lập trình theo yêu cầu hệ thống giám sát [7]. Khi đã lập trình xong, tiến hành kết nối thành mô hình hoàn thiện như Hình 10. Mô hình bao gồm động cơ một chiều đóng vai trò là máy chính có gắn cảm biến tốc độ để đo tốc độ thực của máy. Vỉ cấp điện áp điều khiển cho động cơ được lấy thông qua bộ băm xung điện áp và điện áp ra phụ thuộc vào vị trí của biến trở do động cơ servo quay. Tín hiệu điều khiển servo được lấy từ vỉ điều khiển Arduino Uno R3. Mô hình này ứng dụng từ phần cứng của bo mạch Arduino Uno R3 với phần mềm LabVIEW thông qua kết nối được thực hiện từ Mục 2. Hệ thống cho phép điều khiển từ xa tốc độ máy chính theo các vị trí và chế độ. Trong chế độ tự động điều khiển từ xa tốc độ máy chính được điều khiển theo thuật toán PID [8, 9]. 4. Kết luận Bài báo đã giới thiệu về tích hợp phần mềm LabVIEW với phần cứng Arduino nhằm tận dụng ưu điểm về phần lập trình của phần mềm LabVIEW và giá thành của phần cứng Arduino. Từ việc kết nối thành công, mô hình điều khiển và giám sát máy chính tàu thủy được xây dựng. Mô hình có giao diện người dùng thân thiện và thể hiện đủ các thông tin cần thiết trong vận hành và sử dụng. Mô hình tập trung vào điều khiển động cơ servo một chiều. Nghiên cứu mang tính chất ứng dụng cao, mang lại hiệu quả kinh tế nhằm nâng cao khả năng nghiên cứu trong giảng viên và sinh viên, nâng cao chất lượng giảng dạy. Với nghiên cứu này cho phép tiếp cận phần mềm LabVIEW trong mọi lĩnh vực với chi phí thấp, xa hơn nữa có thể xây dựng các mô hình điều khiển khi ứng dụng xử lý âm thanh và hình ảnh. TÀI LIỆU THAM KHẢO [1] Vương Đức Phúc, Ứng dụng LabVIEW trong hệ thống tự động giám sát nồng độ khí, Tạp chí KHCNHH, số 51, 8/2017. [2] Vương Đức Phúc, Ứng dụng LabVIEW trong điều khiển nồng độ khí, Hội nghị Khoa nọc Công nghệ GTVT lần IV, Trường Đại học GTVT TP Hồ Chí Minh, tr. 278-283, tháng 5/2018. [3] Nguyễn Bá Hải, Lập trình LabVIEW, Trường Đại học Sư phạm Kỹ thuật TPHCM, 2013. [4] Nguyễn Doãn Phước, Lý thuyết điều khiển nâng cao, NXB Khoa học và Kỹ thuật, 2005. [5] https://www.servocity.com/hs-5485hb-servo. [6] Hoàng Đức Tuấn, Đinh Anh Tuấn, Nguyễn Tất Dũng, Hệ thống tự động tàu thủy 1, NXB Hàng hải, 2015. [7] Tài liệu học tập môn Điện tàu thủy 2, Lưu hành nội bộ Trường Đại học Hàng hải Việt Nam. [8] National instruments, PID Control, NI-tutorial, Oct 2012. [9] Kiam Heong Ang, Gregory Chong, Yun Li, PID Control System Analysis, Design, and Technology, pp 559-576, Vol 13, 2005. Ngày nhận bài: 02/7/2018 Ngày nhận bản sửa: 08/8/2018 Ngày nhận bản sửa lần 2: 11/10/2018 Ngày duyệt đăng: 01/11/2018
File đính kèm:
- dieu_khien_va_giam_sat_dong_co_servo_tren_labview_su_dung_ph.pdf