Cơ cấu hai cánh nâng là 1 hệ thống đa năng được thiết kế để dạy và chứngminh các nguyên tắc cơ bản của động lực bay, được thiết kế riêng cho nền NIELVIS và phần mềm LabVIEW, hệ thống có
Trang 1DANH MỤC BẢNG 3
LỜI NÓI ĐẦU 4
CHƯƠNG 1 TỔNG QUAN 5
1.1 Tổng quan về cơ cấu hai cánh nâng 5
1.1.1 Tổng quan về cơ cấu hai cánh nâng 5
1.1.2 Tổng quan về thiết bị với NI ELVIS 9
1.2 Tổng quan về Arduino và kỹ thuật lập trình nhúng Labview trên Arduino 12
1.2.1 Tổng quan về Arduino 12
1.2.2 Tổng quan về LabVIEW 13
1.2.3 Lập trình nhúng Labview trên Arduino 18
1.3 Tính cấp thiết và đặt vấn đề ngiên cứu của đồ án 22
1.3.1 Tính cấp thiết 22
1.3.2 Vấn đề ngiên cứu của đồ án 22
1.4 Kết luận 23
CHƯƠNG 2: TÍNH TOÁN, THIẾT KẾ HỆ THỐNG CƠ KHÍ 24
2.1 Lựa chọn kết cấu 24
2.1.1 Phân tích yêu cầu 24
2.1.2 Thiết kế tổng thể mô hình 24
2.2 Xây dựng mô hình động lực học, tính hàm truyền đạt 26
Mô hình hóa cơ hệ 26
2.3 Thiết kế mô hình cơ khí 29
2.3.1 Thanh đỡ 29
2.3.2 Gá gối đỡ 30
2.3.3 Gá thanh đỡ 30
2.3.4 Khớp nối trục 31
2.3.5 Phần đế 31
Trang 22.3.6 Mô hình hoàn thiện 32
Trang 4DANH MỤC BẢNG
Trang 5xây dựng các panel thí nghiệm là điều rất cần thiết cho nhu cầu thực hành đangngày càng được quan tâm.
Vấn đề xây dựng các panel thí nghiệm phục vụ cho nhu cầu học tập nước tahiện nay đang được quan tâm đầu tư, phát triển, dưới sự hướng dẫn thầy giáoNguyễn Anh Văn cùng thầy Nguyễn Văn Thắng, tôi đã thực hiện đồ án:”Nghiêncứu, thiết kế chế tạo và điều khiển mô hình ổn định khí động hai cánh nâng dùngthuật toán PID”
Trang 6CHƯƠNG 1 TỔNG QUAN 1.1 Tổng quan về cơ cấu hai cánh nâng
1.1.1 Tổng quan về cơ cấu hai cánh nâng
Hệ thống này được vận hành nhờ hai quạt gió DC gắn đối xứng ở hai đầucủa thanh đỡ Góc quay của thanh liên kết được đo nhờ sử dụng một cảm biếngia tốc MPU 6050
Một số ví dụ về cơ cấu hai cánh nâng trên thế giới là là máy bay lên thẳngchuyển đổi sang máy bay cánh quạt V- 22 Osprey, tên lửa, khí cầu và máy bayphản lực Các thiết bị bay thường khó mô hình hóa Thông thường điều này sẽliên quan đến việc sử dụng các công cụ nhận dạng hệ thống phần mềm để xácđịnh các thông số Do tính phức tạp của chúng, các hệ thống bay thường đượcchia nhỏ thành các hệ thống con khác nhau để giúp dễ quản lý hơn Các hệthống con này có thể được xử lý riêng lẻ và sau đó được tích hợp để cung cấpmột giải pháp tổng thể
Cơ cấu hai cánh nâng là 1 hệ thống đa năng được thiết kế để dạy và chứngminh các nguyên tắc cơ bản của động lực bay, được thiết kế riêng cho nền NIELVIS và phần mềm LabVIEW, hệ thống có thể dễ dàng được cấu hình đểchứng minh các kỹ thuật điều khiển khác nhau
Cơ cấu này được hãng Quanser phát triển được dùng trong phòng thínghiệm
Trang 7
Hình 1.2 Quanser QNET 1.0 VTOL Board + NI ELVIS II
Trang 8Hình 1.3 Các bộ phận chính của panel QNET 1.0 VTOL
Bảng 1: Các bộ phận chính panel QNET 1.0 VTOL
11 Bu lông, đai ốc gắn cố định đối trọng vào khung đỡ
Trang 9Hình 1.4 Quanser QNET 2.0 VTOL Board + NI ELVIS II
Hình 1.5 Các bộ phận chính của panel QNET 2.0 VTOL
Trang 10Bảng 2: Các bộ phận chính panel QNET 2.0 VTOL
1.1.2 Tổng quan về thiết bị với NI ELVIS
Là thiết bị dùng để thiết kế và thiết lập mạch thực hành cho mạch điện,điều khiển, dụng cụ điện, thông tin liên lạc và các bài thí nghiệm điện - điện tử Tích hợp các thiết bị ảo: Oscilloscope, đồng hồ đa năng kỹ thuật số(Digital Multimeter – DMM), máy phát xung (Function Generator), bộnguồn cung cấp (Variable Power Supply), thiết bị phân tích Bode (BodeAnalyzer), máy phát sóng ngẫu (Arbitrary Waveform Generator), bộ phân tíchtín hiệu động (Dynamic Signal Analyzer – DSA), bộ phân tích Dòng/Áp với mãnguồn của LabVIEW
Thiết kế mới, mỏng với kiểu kết nối mở cho các board thực tập của cáchãng khác Đồng hồ đo đa năng DMM kiểu cách ly cho tín hiệu tốt hơn Trang bị
bo (board) cầu chì bảo vệ (có thể thay thế được) trong trường hợp xảy ra ngắnmạch hay điện áp cao
Giao tiếp với máy tính qua cổng USB tốc độ cao, dùng để giảng dạy sinhviên cho tất cả các năm, giúp sinh viên học về cơ sở lý thuyết và thực hành, từthiết kế mạch điện đến thông tin liên lạc
Đặc điểm chính thiết bị
Trang 11Hình 1.6 Đặc điểm chính NI ELVIS
Là bộ nguồn cung cấp với nhiều nguồn khác nhau như ±15V, +5V, có thểđiều chỉnh bằng tay hay điều chỉnh lập trình bằng phần mềm
Là máy phát xung, có thể điều khiển bằng tay hay bằng lập trình
Là thiết bị chuyên dùng trong giáo dục cho thiết kế và thực hành dựa vàophần mềm thiết kế hệ thống đồ họa LabVIEW
Là công cụ hàng đầu trong việc giảng dạy các khái niệm trong nhiều lĩnhvực như: trang bị thiết bị, mạch điện, điều khiển, thông tin liên lạc và thiết kếmạch nhúng theo kiểu thực hành và tương tác
Tích hợp 12 thiết bị đo lường ảo thông dụng
Sinh viên có thể mô phỏng các khái niệm về lý thuyết trong phần mềmMultisim, thực hành mạch thật với NI ELVIS II, sau đó so sánh sự khác biệtgiữa mô phỏng và mạch thực bằng phần mềm LabVIEW và LabVIEWSignalExpress
NI ELVIS là thiết bị quan trọng trong việc giảng dạy điện tử với phần mềmMultisim, phần mềm đẫn đầu trong mô phỏng
Trang 12Hình 1.7 Chức năng chính NI ELVIS
Với phần mềm Multisim 10.1 chạy trong NI ELVIS II, việc học thiết kếmạch trở nên tương tác bằng các công cụ như là 3D NI ELVIS II cũng như làkhả năng truy cập vào các thiết bị ảo của NI ELVIS II trong môi trườngMultisim và chuyển dữ liệu từ mô phỏng sang dữ liệu thật chỉ bằng một cái clickchuột
Giao tiếp với máy tính qua cổng USB tốc độ cao, có thể dùng để giảng dạysinh viên cho tất cả các năm, giúp sinh viên học về cả cơ sở lý thuyết và thựchành, từ thiết kế mạch điện đến thông tin liên lạc
Chạy trên chương trình LabVIEW
NI ELVIS II hoàn toàn có tùy chọn trên LabVIEW và bao gồm cả phầnmềm Express VIs cho 12 thiết bị ảo tích hợp trong đó
Khả năng này cho phép sinh viên có thể định dạng các thiết bị ảo bằng kiểu
“trỏ và chọn” cho từng thiết bị riêng biệt, giúp xây dựng các tham số của thiết bị
dễ dàng
Trang 131.2 Tổng quan về Arduino và kỹ thuật lập trình nhúng Labview trên Arduino
1.2.1 Tổng quan về Arduino
Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với cácthiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểmnổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, vớimột ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít
am hiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính làmức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm
Lập trình cho Arduino
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng.Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung.Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++ Đội ngũ
phát triển Arduino gọi là Ngôn ngữ Arduino Ngôn ngữ Arduino bắt nguồn từ C/
C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu…
Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhómphát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trìnhArduino được gọi là Arduino IDE (Intergrated Development Environment)
Trang 14Hình 1.8 Gửi lệnh và nhận tín hiệu từ cổng COM.
cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo,
LabVIEW đã được gọi với tên khác là lập trình G (viết tắt của “Graphical” - có
nghĩa là đồ họa)
Về ý nghĩa kỹ thuật, LabVIEW cũng được dùng để lập trình ra cácchương trình (source code: mã nguồn) trên máy tình tương tự như các ngôn ngữlập trình dựa trên chữ (text-based language) như C, Java, Basic, Pascal… Đồngthời, LabVIEW hỗ trợ các kỹ sư, nhà khoa học và sinh viên xây dựng các thuậttoán 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ợinhớ và cách thức hoạt động theo kiểu dòng dữ liệu lần lượt từ trái qua phải Cácthuậ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 thựcnhờ vào việc kết nối hệ thống thực với LabVIEW thông qua nhiều chuẩn giaotiếp như: RS232, USB, TCP/IP, GPIB Vì thế LabVIEW được gọi là một ngônngữ giao tiếp đa kênh
Trang 15một cách linh hoạt chỉ bằng cách click đúp, kéo thả hoặc “copy” “paste”.
Tính linh hoạt của các khối công cụ bằng đồ họa là rất lớn, người dùngcũng có thể “copy” và “paste” như những đoạn code tương tự các ngôn ngữ lậptrình truyền thống Tính linh hoạt của LabVIEW cũng được đánh giá rất cao khi
đã và đang được sử dụng trong rất nhiều lĩnh vực đo lường và điều khiển, môphỏng và giả lập
LabVIEW xây dựng các khối đồ họa và gắn kết chúng bằng dây nối để thaycho các lệnh và các hàm là đặc điểm tiến bộ so với các ngôn ngữ lập trình truyềnthống khác
Giao diện LabVIEW phân chia ra thành Front panel và Block diagram.Front panel chính là phần mặt máy mà ta cần mô phỏng Giống như cácthiết bị thực tế, Font panel bao gồm các nút lựa chọn, màn hình hiển thị, númđiều chỉnh… để phục vụ cho việc mô phỏng
Block diagram (khối đồ họa) xuất hiện cùng lúc với Front panel, nó là mặtsau của chương trình Trên Block diagram thực hiện quá trình lập trình (ghépnối) cho chương trình theo ngôn ngữ lập trình G
Nhiều năm qua, NI đã phát triển và truyền bá thiết bị đo ảo, một khái niệm
đã cách mạng hóa ngành công nghiệp Thiết bị đo ảo giúp các kĩ sư dễ dàng tạo
ra các hệ thống do người dùng quy định, thỏa mãn đúng nhu cầu ứng dụng của
họ Thiết kế hệ thống đồ họa với LabVIEW mở rộng thiết bị đo ảo, cung cấp chocác nhà thiết kế một nền tảng để giải quyết những thách thức về đo lường, phântích, kết nối và điều khiển Thiết kế hệ thống đồ họa kết hợp với các công cụphát triển cấp độ cao, như biểu đồ trạng thái có khả năng triển khai các hệ thốngđiều khiển máy tới màn hình nền
Ứng dụng của LabVIEW
Ứng dụng rộng rãi của LabVIEW được kể đến trong các lĩnh vực như sau:
Trang 16- Đo lường, tự động hóa, cơ điện tử, robot, vật lý, toán học, sinh học, vậtliệu, ô tô, …
- Khả năng ứng dụng của LabVIEW, mô phỏng và thực tế, các lĩnh vực điềukhiển, đo lường, thu thập và lưu trữ dữ liệu, công nghiệp, dân dụng quân sự…
- LabVIEW giúp kỹ sư kết nối bất kỳ cảm biến, bất kỳ cơ cấu chấp hànhnào với máy tính
- LabVIEW còn có thể được sử dụng để xử lý các kiểu dữ liệu như tín hiệutương tự , tín hiệu số, hình ảnh, âm thanh, …
- LabVIEW hỗ trợ các chuẩn giao tiếp khác nhau : RS232, RS485, TCP/IP,PXI
- Chúng ta có thể tạo ra các thực thi độc lập và các thư viện chia sẻ (liên kếtđộng DLL)
LabVIEW có thể mô phỏng, giả lập nhiều thiết bị và mô hình trong thực tế,rút ngắn thời gian và tiết kiệm chi phí khi tiến hành thực nghiệm và xây dựng
- Xây dựng được các thiết bị đo ảo, mô phỏng giả lập, phát hiện va chạm
… Từ đó người sử dụng có thể căn cứ vào để đưa ra những điều chỉnh cho hợp
Trang 17cách tốt nhất, trong thời gian ngắn nhất.
Các công cụ của LabVIEW
Trong phần mềm LabVIEW có 3 bảng công cụ chính (Hình 1.9)
Hình 1.9 Tool Palette, Control Palette và Funtion Palette
Tool Palette: là các công cụ thao tác trực tiếp trong cả Front panel và Blockdiagram Trong tool Palette chứa các chế độ thao tác khác nhau của con trỏ Cácchức năng sẽ được kích hoạt khi người dùng lựa chọn trong bảng Sử dụng Toolpalette để sửa đổi các đối tượng trong cả Front panel và Block diagram
Trang 18Control Palette: là các thanh công cụ chứa hàm cho Front panel, chỉ hiểnthị tron Front panel Các hàm là điều khiển (Control) hoặc hiển thị (Indicator).Funtion Palette: là thư viện chứa các hàm và khối chức năng cho Blockdiagram Chỉ sử dụng được trong Block diagram (hình 2.2) Trong FunctionPalette người dùng có thể tìm các hàm khác nhau theo mục đích sử dụng ví dụnhư các hàm toán học, các hàm xử lý tín hiệu, đo lường, điều khiển và môphỏng…
Các cấu trúc cơ bản trong LabVIEW
- Các cấu trúc vòng lặp
Labview cũng giống các ngôn ngữ lập trình khác cung cấp các cấu trúcvòng lặp thực hiện các thuật toán khác nhau Điểm khác biệt là các cấu trúcvòng lặp thay vì sử dụng từ khác hay các dòng lệnh thì được thay thế bằng cáckhối chức năng Dưới đây là một số cấu trúc điển hình trong Labview
- Cấu trúc chuỗi (Sequence structure)
Cấu trúc này cho phép các chương trình hoạt dộng theo thứ tự định sẵn từFrame 0, Fram 1, …, cho đến Frame cuối cùng Người dùng có thể thêm cácFrame bằng cách nhấp chuột phải vào đường viền của hình chữ nhật và chọnAdd Sequene Local Mỗi Frame được gọi là một sequence cục bộ và nhữngsequence cục bộ này thực hiện một nhiệm vụ nhất định do người lập trình ấnđịnh
- Cấu trúc lựa chọn (Case structure)
Cấu trúc Case dùng để chọn một biểu đồ tượng trưng, một mệnh đề để thểhiện giá trị đầu vào hay cụ thể hơn là chọn một công việc trong một nhóm cáccông việc để thực hiện, đây là một cấu trúc có vai trò rất quan trọng
- Vòng lặp While (While loop)
Vòng lặp là một cấu trúc lặp có điều kiện mà chương trình có thể chạy ởbên trong khi điều kiện vẫn thỏa mãn Vòng lặp While có thể chứa trong nónhững vòng lặp While khác hoặc những cấu trúc khác
- Vòng lặp For (For loop)
Trang 19Shift register dùng cho vòng lặp For và While, dùng để lưu kết quả phéptính của vòng lặp trước đó cho vòng lặp tiếp theo.
Một số hàm xử lý dữ liệu mảng
Một mảng là tập hợp các phần tử có cùng kiểu dữ liệu Để khởi tạo mộtmảng ta vào function rồi chọn array và đặt hằng số của array Khi bắt đầu chọnthì mảng xuất hiện với một đầu vào duy nhất, ta có thể thêm bớt các đầu này tùy
- Concatenate string (Nối chuỗi): Nối các chuỗi nhỏ thành chuỗi lớn
1.2.3 Lập trình nhúng Labview trên Arduino
Để 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
Trang 20Cà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.
Hình 1.10 Cài đặt VI Package Manager.
Sau khi cài đặt xong ta vào VIPM và tìm với từ khóa “Arduino” Sau đó càiđặt Arduino compatible compiler for Labview cho LabVIEW, lưu ý là phải đúngphiên bản của LabVIEW
Hình 1.11 Cài đặt Arduino compatible compiler for LabVIEW
Sau khi cài đặt xong ta sẽ được module lập trình nhúng Labview lên mạchArduino như sau (Hình 1.13)
Trang 21Hình 1.12 Các khối chính module lập trình nhúng LabVIEW lên Arduino
Có rất nhiều khối dùng để lập trình, giao tiếp giữa LabVIEW với Arduino.LabVIEW cung cấp cho người dùng các khối tín hiệu số cũng như tín hiệutương tự, các giao thức truyền thông SPI, I2C, các khối ngắt
Ở đây ta sẽ nhúng trực tiếp code LabVIEW xuống Arduino không cầnthông qua phần mềm IDE Khi viết code trên phầm mềm LabVIEW sẽ trực
quan, dễ dàng viết và sửa lỗi do sử dụng ngôn ngữ Graphical (đồ họa) hơn là sử
dụng ngôn ngữ Arduino với phầm mềm lập trình IDE chuyên dùng cho mạchArduino
Các khối cơ bản để lập trình nhúng cũng như giao tiếp với LabVIEW:
: Dùng để cấu hình chân trên mạch Arduino được chỉ định để hoạtđộng như 1 đầu ra hoặc 1 đầu vào
Trang 22: Đọc giá trị từ 1 chân kỹ thuật số được chỉ định và trả về giá trịcao hoặc thấp.
: Viết một mức cao (True) hoặc một mức thấp (False) đến mộtchân kỹ thuật số được chỉ định
: Viết một giá trị tương tự(PWM) được thiết lập bởi giá trịPWM đến 1 chân xác định khác
: Cài đặt tốc độ Baud để truyền tải dữ liệu Với Arduino Uno thì
ta sẽ cài đặt tốc độ là 11520 Baud, Arduino Mega sẽ là 9600
: Bộ chờ cho việc truyền tải dữ liệu nối tiếp
: Viết tín hiệu chuỗi lên các chân serial
Sau khi viết chương trình xong trên LabVIEW ta vào Tool trên thanh công
cụ sau đó chọn vào Arduino compatible compiler for Labview để tiến hành kết
nối với mạch Arduino (Hình 1.14)