1
MỤC LỤC
DANH MỤC HÌNH ẢNH.........................................................................................2
DANH 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
2
2.3.6. Mô hình hoàn thiện..............................................................................32
3
DANH MỤC HÌNH ẢNH
4
DANH MỤC BẢNG
5
LỜI NÓI ĐẦU
Xây dựng các bài thí nghiệm để phục vụ nhu cầu học tập đang chiếm được
sự quan tâm của học sinh, sinh viên, và giảng viên. Từ tình hình thực tế đó, việc
xâ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 đang
ngà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 ta
hiện nay đang được quan tâm đầu tư, phát triển, dưới sự hướng dẫn thầy giáo
Nguyễn Anh Văn cùng thầy Nguyễn Văn Thắng, tôi đã thực hiện đồ án:”Nghiên
cứ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ùng
thuật toán PID”.
6
CHƯƠ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 đầu
của thanh đỡ. Góc quay của thanh liên kết được đo nhờ sử dụng một cảm biến
gia 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ẳng
chuyển đổi sang máy bay cánh quạt V- 22 Osprey, tên lửa, khí cầu và máy bay
phả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 được
chia 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ấp
mộ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ứng
minh các nguyên tắc cơ bản của động lực bay, được thiết kế riêng cho nền NI
ELVIS 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.
7
Hình 1.1. Sơ đồ khối kết nối giữa Quanser QNET VTOL + board NI ELVIS
II và PC
Hình 1.2. Quanser QNET 1.0 VTOL Board + NI ELVIS II
8
Hì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
STT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
15
Các bộ phận chính
Động cơ DC
Dây kết nối bộ khuếch đại tới động cơ
Bộ giữ cánh quạt
Lá chắn cánh quạt
Thanh đỡ
Trục encoder
Cánh tay đỡ
Bu lông, đai ốc cố định Encoder với gá encoder
Encoder
Đối trọng
Bu lông, đai ốc gắn cố định đối trọng vào khung đỡ
Kết nối PCI với NI ELVIS
Mạch công suất
Nguồn 12V
Công tắc
Đèn Led
9
Hì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
10
Bảng 2: Các bộ phận chính panel QNET 2.0 VTOL
STT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Các bộ phận chính
Encoder
Trục encoder
Đèn led
Công tắc đèn led
Nguồn 12V
Cầu chì
Hiển thị nguồn bằng đèn led
Đối trọng
Động cơ DC quạt
Kết nối PCI
Cánh tay đỡ
5 chân kết nối encoder
5 chân kết nối encoder
8 chân kết nối động cơ
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 (Bode
Analyzer), máy phát sóng ngẫu (Arbitrary Waveform Generator), bộ phân tích
tí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ác
hã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ắn
mạ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 sinh
viê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ị
11
Hì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ào
phầ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ĩnh
vự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ềm
Multisim, thực hành mạch thật với NI ELVIS II, sau đó so sánh sự khác biệt
giữa mô phỏng và mạch thực bằng phần mềm LabVIEW và LabVIEW
SignalExpress.
NI ELVIS là thiết bị quan trọng trong việc giảng dạy điện tử với phần mềm
Multisim, phần mềm đẫn đầu trong mô phỏng.
12
Hì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ường
Multisim và chuyển dữ liệu từ mô phỏng sang dữ liệu thật chỉ bằng một cái click
chuột.
Giao tiếp với máy tính qua cổng USB tốc độ cao, có thể dùng để giảng dạy
sinh 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ực
hà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ần
mề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.
13
Sinh viên cũng có thể dùng NI ELVIS II với phần mềm LabVIEW
SignalExpress để so sánh số liệu trong mô phỏng Multisim với số liệu thật từ NI
ELVIS II và tạo ra các báo cáo tương tác để đánh giá trong lớp học.
1.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ác
thiế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ểm
nổ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ới
mộ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óm
phá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ình
Arduino được gọi là Arduino IDE (Intergrated Development Environment).
14
Hình 1.8. Gửi lệnh và nhận tín hiệu từ cổng COM.
1.2.2. Tổng quan về LabVIEW
LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) là
một phần mềm máy tính được phát triển bởi công ty National Instruments, Hoa
Kỳ. LabVIEW còn được biết đến như một ngôn ngữ lập trình với khái niệm
hoàn toàn khác so với các ngôn ngữ lập trình truyền thống. Bằng cách diễn đạt
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ác
chươ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… Đồng
thời, LabVIEW hỗ trợ các kỹ sư, nhà khoa học và sinh viên xây dựng các thuật
toá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ợi
nhớ 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á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 thực
nhờ vào việc kết nối hệ thống thực với LabVIEW thông qua nhiều chuẩn giao
tiếp như: RS232, USB, TCP/IP, GPIB. Vì thế LabVIEW được gọi là một ngôn
ngữ giao tiếp đa kênh.
15
Đặc trưng của LabVIEW
LabVIEW được thiết kế dưới dạng ngôn ngữ lập trình bằng đồ họa, giúp
cho người sử dụng dễ dàng nhận biết bằng mắt các khối lệnh và sử dụng chúng
mộ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ùng
cũng có thể “copy” và “paste” như những đoạn code tương tự các ngôn ngữ lập
trì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 để thay
cho 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ền
thố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ác
thiế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ă ̣t
sau của chương trình. Trên Block diagram thực hiê ̣n quá trình lâ ̣p trình (ghép
nố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 cho
cá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ân
tí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:
16
- Đo lường, tự động hóa, cơ điện tử, robot, vật lý, toán học, sinh học, vật
liệ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ều
khiể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ành
nà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ệu
tươ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
mô hình trên thực tế.
Thông qua việc giả lập, người kỹ sư cũng thay đổi các thông số kỹ thuật
sao cho mô hình được tối ưu nhất có thể.
Ưu điểm và hạn chế của LabVIEW
a. Ưu điểm
- LabVIEW có tính ứng dụng cao khi dùng được trên hầu hết các hệ điều
hành hiện nay.
- Xây dựng công cụ trên các khối đồ họa, trực quan sinh động và dễ dàng
trong quá trình tìm kiếm và sử dụng.
- Tự động hóa đo và xử lý dữ liệu, kiểm soát hệ thống, tự động hóa các hệ
thống thử nghiệm
- Thiết kế hệ thống nhúng và hệ thống giám sát, phục vụ mục đích dạy và
học.
- 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
17
lý. Giúp tiết kiệm thời gian và kinh phí so với việc xây dựng và phát triển mô
hình thực nghiệm.
- Tính năng dò và gỡ lỗi trong LabVIEW giúp người dùng khắc phục một
cách tốt nhất, trong thời gian ngắn nhất.
b. Hạn chế
- Phân chia ra Front panel và Block diagram tuy tách rời có thể dễ xử lý
nhưng đôi khi cũng gă ̣p phải những vấn đề trong viê ̣c tìm kiếm và sửa lỗi.
- Có thể tích hợp nhiều thiết bị phần cứng nhưng các thiết bị này giá thành
vẫn còn cao.
- Để tối ưu tính năng của hê ̣ thống cần đồng bô ̣ các thiết bị, trình tự cũng
khá phức tạp.
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à Block
diagram. Trong tool Palette chứa các chế độ thao tác khác nhau của con trỏ. Các
chức năng sẽ được kích hoạt khi người dùng lựa chọn trong bảng. Sử dụng Tool
palette để sửa đổi các đối tượng trong cả Front panel và Block diagram.
18
Control Palette: là các thanh công cụ chứa hàm cho Front panel, chỉ hiển
thị 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 Block
diagram. Chỉ sử dụng được trong Block diagram (hình 2.2). Trong Function
Palette 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úc
vò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úc
vò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ác
khố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ác
Frame bằng cách nhấp chuột phải vào đường viền của hình chữ nhật và chọn
Add Sequene Local. Mỗi Frame được gọi là một sequence cục bộ và những
sequence 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ác
cô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)
19
Vòng lăp̣ For lặp lại câu lệnh theo điều kiện quy định có sẵn, đây là vòng lặp hữu
hạn.
- Shift register (Chuyển đổi địa chỉ)
Shift register dùng cho vòng lặp For và While, dùng để lưu kết quả phép
tí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ột
mảng ta vào function rồi chọn array và đặt hằng số của array. Khi bắt đầu chọn
thì 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
ý. Kích cỡ mảng chính là số phần tử đầu vào.
Dưới đây là một số hàm xử lý:
- Hàm Array subset (mảng tâ ̣p con): làm nhiệm vụ đánh thứ tự và chứa các
phần tử ở đầu vào length và loại bỏ các phần tử khác:
- Hàm Index array (mảng chỉ số): dùng để truy cập tới một phần tử của
mảng tại index mà ta chọn.
- Hàm Built array (xây dựng mảng): có chức năng xây dựng các phần tử
đầu vào thành mảng, ta có thể thêm nhiều phần tử đầu vào.
Một số hàm xử lý về chuỗi (String)
- Một chuỗi là một nhóm ký tự ASCII. Ta có thể sử dụng các chuỗi cho các
bảng thông báo. Một số hàm xử lý chuỗi :
- Format into string (Định dạng vào chuỗi): Thực hiện nối các chuỗi và các
của sổ với nhau và định dạng chúng thành một chuỗi đơn ở đầu ra.
- 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.
20
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.
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 đúng
phiê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ạch
Arduino như sau (Hình 1.13).
- Xem thêm -