Thứ Tư, 9 tháng 11, 2016

Một hướng đi mới.

Điều khiển Arduino bằng LabView - Một hướng đi mới




I.Giới thiệu

Bạn nhàm chán với LED 7 Đoạn, Màn hình LCD, Bạn muốn đọc và xuất tín hiệu Digital, hay bạn muốn xuất các giá trị analog thành dạng biểu đồ. Ghi các giá trị mình đọc được vào file Excel. Làm một giao diện bằng máy tính thân thiện với người sử dụng. Cùng vô vàn điều khác nữa. Thế nhưng VB bạn không biết, Visual Studio bạn cũng chẳng rành, JAVA, C++,C# quá  khó cho bạn. Processing ư, dẹp đi.  Hôm nay chúng ta sẽ đến với LabView. "LabView tương thích với 85% phần cứng trên thế giới được sản xuất từ năm 1985" theo lời của thuyết trình viên mà mình tham dự hội thảo. Và vì sao mình chọn Labview sẽ được giải thích.
Tác giả
Lê Quang Đức

II. Lập trình

1. LabVIEW là gì?

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 nhanh chóng và hiệu quả. Hàng triệu kỹ sư và nhà khoa học sử dụng LabVIEW để phát triể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ụng cá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. Trong thự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ần cứ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ầu của mình.
Bởi vì chương trình LabVIEW mô phỏng giao diện và hoạt động của các thiết bị thực, chẳng hạn như dao động ký và thiết bị đo đa năng, chương trình LabVIEW đượ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ây dựng Front Panel,  bạn thêm mã (code) để điều khiển các đối tượng trên Front Panel 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 Block Diagram 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 ứng dụ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 hiệ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ác nút trên Block Diagram xác định trình tự thực hiện chương trình. Lập trình đồ họa và thực thi dạng dòng chảy dữ liệu là hai đặc tính chính làm LabVIEW khác với hầu hết ngôn ngữ lập trình đa dụng khác.

Đặc điểm của LabVIEW

  • Đồ họa và biên dịch
  • Lập trình theo dạng dòng chảy dữ liệu hướng
  • Đa mục tiêu và nhiều nền tảng
  • Hướng đối tượng
  • Khả năng đa luồng

Phần cứng bạn cần có

2. Phần mềm bạn cần có

  1. Tải về và cài đặt Arduino IDE phiên bản mới nhất tại đây: http://arduino.vn/download
  2. Tải về cài đặt LabView 2014: các bạn google từ khóa "labview 2014 full download".
  3. Tải về cài đặt VI Package Manager mới nhất tại đây: http://jki.net/vipm

Cài đặt như sau

Để kết nối và làm việc với Arduino, trên LabVIEW cần có 1 bộ VIs của Arduino. Thông qua bộ VIs, LabVIEW có thể lấy dữ liệu từ các chân Arduino và xử lý, điều khiển hoặc hiển thị kết quả trên màn hình máy tính. Do sự phổ biến và chuẩn hóa của Arduino nên bộ VIs của nó đã được phổ biến rộng rãi không cần người sử dụng phải tự lập trình. Thật ra không cần một bộ VIs cũng có thể giao tiếp Arduino với Labview (Mình sẽ viết sau).
Trước mắt mình sẽ hướng dẫn các bạn sao cho dễ hiểu nhất. Ứng dụng lập tức mà không cần đòi hỏi nhiều mặt chuyên môn. 
Thông thường khi viết giao diện bạn cần phải viết trên máy tính 1 trong những ngôn ngữ lập trình nói trên (C++, JAVA, C#,...). Đồng thời cũng phải viết trên Arduino 1 lần nữa bằng C thì mới giao tiếp được. Với bộ VIs thì hầu như chỉ cần thiết kế giao diện thôi mọi việc đã có LabView xử lý hết. Hiện nay có 2 chuẩn: LIFA và LINX Trong bài viết này mình sẽ sử dụng chuẩn LIFA.  (LINX mình đang có rắc rối nhỏ là cứ mỗi lần giao tiếp là phải nạp lại) Để sử dụng được ta thực hiện theo các bước sau:
Bước 1
Cài đặt VI Package Manager (VIPM) – đây là phần mềm quản lý cũng như giúp chúng ta download các gói VI của LabVIEW.
Bước 2
Sau khi cài đặt xong ta vào VIPM và tìm giao diện Arduino cho LabVIEW với từ khóa “LabVIEW Interface for Arduino” . Sau đó cài đặt LabVIEW Interface for Arduino cho LabVIEW, lưu ý là phải đúng phiên bản của LabVIEW.
 
Bước 3
Kết nối Arduino với máy tính qua cổng USB.
Bước 4
Nạp mã nguồn cho Arduino để có thể giao tiếp với LabVIEW. 
  • Tìm đến <LabVIEW> là nơi chứa thư mục LabVIEW sau khi cài đặt.
    • Ví dụ: cài LabVIEW tại ổ C thì <LabVIEW> sẽ tương ứng với: C:\Program Files\NationalInstruments\LabVIEW 20XX. (XX là 14 trong bài ví dụ này)
  • Chọn vi.lib\LabVIEW interface for Arduino\Firmware Kích đúp vào LIFA_Base. Trình dịch IDE Arduino sẽ tự hiện thị
  • Chọn đúng Board và Serial Port sau đó kích vào Upload để nạp vào Arduino. Khi có thông báo Done uploading là đã nạp thành công và đã có thể làm việc với Arduino trên LabVIEW.

 Khởi động LabVIEW

 Khi bạn khởi động LabVIEW, cửa sổ Getting Started xuất hiện:
Sử dụng cửa sổ Getting Started để tạo ra các dự án mới và VI. Bạn có thể tạo ra các chương trình từ đầu hoặc từ các chương trình mẫu và các ví dụ. Bạn cũng có thể mở các tập tin LabVIEW đã có sẵn và truy cập vào các tài nguyên và trợ giúp của cộng đồng LabVIEW.
  1. Chọn File»Create Project để hiển thị hộp thoại Create Project. Hộp thoạ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ế đáng tin 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ác kế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 tin trợ 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ự án thực hiện.
  3. 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 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. Tham khảo các ghi chú trên block diagram của VI trong dự án mẫu để biết thêm thông tin về cách chỉnh sửa dự án. Tham khảo thêm thư mục Project Documentation trong cửa sổ Project Explorer để biết thêm thông tin về cách chỉnh sửa dự án.
Các thanh công cụ liên quan đến dự án
Sử dụng các nút trên các thanh công cụ StandardProjectBuild, và Source Control để thực hiện các hoạt động trong một dự án LabVIEW. Các thanh công cụ có sẵn ở trên cùng của cửa sổ Project Explorer. Bạn có thể cần phải mở rộng cửa sổ Project Explorer để xem tất cả các thanh công cụ.

3. Chức năng từng khối

a. Khối INIT

  • Ta có thể thấy khối Init có rất nhiều chân ra song để thiết lập cho việc kết nối ta chỉ quan tâm tới một vài chân.Cụ thể là:  
    • Chân VISA resource là chân thiết lập cổng COM để giao tiếp giữa LabVIEW và Arduino.
    • Chân Baud Rate là chân thiết lập tốc độ baud.Tốc độ baud là 115200 đối với Arduino Uno, là 9600 đối với các dòng Arduino khác.
    • Chân Board Type là chân để chọn loại Arduino để làm việc.Có 3 loại Arduino được hỗ trợ là: Uno,Mega 2560 và Dimuelanove/Atmega 328.
    • Chân Connection Type là chân lựa chọn kiểu kết nối: qua USB,XBEE hoặc Bluetooth.
    • Chân Arduino Resource để kết nối với các khối khác. Cách thiết lập chân và một số lưu ý nhỏ khi nối các khối
    • Một khối được chia làm 2 dãy chân dữ liệu.
      • Các chân nằm bên trái của khối là các chân đưa dữ liệu vào hoặc là các thiết lập ban đầu của tín hiệu. Các chân bên phải là các chân đưa dữ liệu ra hoặc các thành phần của tín hiệu đã tách được khi qua khối.
    • Để thiết lập bất kỳ chân nào của một khối ta làm như sau:
      • Đưa con trỏ chuột tới chân cần thiết lập sao cho con trỏ chuột trở thành Wiring tool (hoặc có thể dùng Tool Palette).
      • Click Chuột phải, sau đó trỏ chuột vào Create chọn kiểu thiết lập.Có 3 kiểu thiết lập: Constant(hằng số), Control(điều khiển), Indicator(hiển thị) tùy vào mục đích để lựa chọn phù hợp.
        • Chân Arduino Resource của khối này nối với chân Arduino Resource của khối khác.
        • Chân error out của khối trước thì nối với error in của khối liền sau.
        • Đối với các khối còn lại ta cũng thiết lập tương tự

b. Khối CLOSE

Là khối để dóng một chương trình giao tiếp với Arduino.Và chỉ gồm các chân cơ bản là Arduino Resourceerror inerror out.

c. Khối LOW LEVEL

Bao gồm các khối để đọc, ghi tín hiệu analog hoặc digital từ board Arduino. Ngoài ra còn có các khối phục vụ việc băm xung, bus...

d. Khối SENSORS

Bao gồm các khối VI sensor thường dùng như: Cảm biến nhiệt độ, cảm biến ánh sáng, LCD, led 7 thanh, led nhiều màu...
Ngoài các khối cơ bản kể trên, trong gói Arduino còn có thêm khối Example gồm các ví dụ đã được thiết kế sẵn và khối Utility

4. Demo điều khiển LED trong Example làm ví dụ:  

Mở ví dụ "Arduino BlinkM.vi" trong thư mục "LabVIEW Interface for Arduino". Có 4 đèn hiện thị trên board Arduino:
  • Đèn báo Nguồn (Power LED)
  • Đèn báo Truyền (TX)
  • Đèn báo Nhận (RX)
  • Đèn báo ở chân Led số 13 Khi giao tiếp với máy tính thành công thì đèn TX và RX sẽ sáng.
  • Bấm nút "RUN" để chạy chương trình.

III. Kết luận

LabVIEW là phần mềm trực quan và có ứng dụng rộng rãi trong công nghiệp. Trong khi Arduino đang nổi lên như là một hướng đi mới trong lĩnh vực điện tử, điều khiển tự động. Sự kết hợp giữa LabVIEW và Arduino giúp nhanh chóng thực hiện các ứng dụng thu thập dữ liệu và điều khiển thiết bị. Việc nghiên cứu về LabVIEW kết hợp với Arduino đang rất được quan tâm và hứa hẹn sẽ phát triển trong tương lai. "Trích từ nhiều nguồn"

0 nhận xét:

Đăng nhận xét