Tải bản đầy đủ (.pdf) (70 trang)

Ứng dụng vi mạch điện tử Arduino Mega trong cài đặt thuật toán điều khiển ổn định vị trí con lắc ngược quay

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 70 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP




ĐẶNG TRUNG DŨNG




ỨNG DỤNG VI MẠCH ĐIỆN TỬ ARDUINO MEGA
TRONG CÀI ĐẶT THUẬT TOÁN ĐIỀU KHIỂN
ỔN ĐỊNH VỊ TRÍ CON LẮC NGƯỢC QUAY





LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ








THÁI NGUYÊN - 2014




i

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP



ĐẶNG TRUNG DŨNG



ỨNG DỤNG VI MẠCH ĐIỆN TỬ ARDUINO MEGA
TRONG CÀI ĐẶT THUẬT TOÁN ĐIỀU KHIỂN
ỔN ĐỊNH VỊ TRÍ CON LẮC NGƯỢC QUAY

Chuyên ngành: KỸ THUẬT ĐIỆN TỬ
Mã số: 60.52.02.03


LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ


PHÒNG QUẢN LÝ ĐÀO
TẠO SAU ĐẠI HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC






TS. Nguyễn Văn Chí

KHOA ĐIỆN TỬ
TRƯỞNG KHOA




THÁI NGUYÊN - 2014



ii

LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số
liệu, kết quả nêu trong luận văn này là trung thực và là công trình nghiên cứu
của riêng tôi, luận văn này không giống hoàn toàn bất cứ luận văn hoặc các
công trình đã có trước đó.
Thái Nguyên, ngày tháng năm 2014
Tác giả luận văn



Đặng Trung Dũng

























iii

LỜI CẢM ƠN

Trong suốt quá trình học tập và tốt nghiệp, tôi đã nhận được sự giúp
đỡ tận tình của các thầy cô trong bộ môn Đo lường điều khiển - Khoa Điện
tử - Trường Đại học Kỹ thuật công nghiệp - Đại học Thái Nguyên. Tôi xin
bày tỏ lòng biết ơn đối với các thầy cô giáo và Phòng quản lý đào tạo sau
đại học vì sự giúp đỡ tận tình này. Tôi đặc biệt gửi lời cảm ơn đến thầy giáo
TS. Nguyễn Văn Chí

đã tận tình giúp đỡ, hướng dẫn tôi trong thời gian
thực hiện đề tài. Cảm ơn sự giúp đỡ của gia đình, bạn bè và các đồng
nghiệp trong thời gian qua.
Mặc dù đã cố gắng, song do điều kiện thời gian và kinh nghiệm còn
nhiều hạn chế nên không thể tránh khỏi thiếu sót. Vì vậy, tôi rất mong nhận
được sự đóng góp ý kiến của các thầy cô cũng như của các bạn bè, đồng nghiệp.
Tôi xin chân thành cảm ơn!

Thái Nguyên, ngày tháng năm 2014
Tác giả luận văn


Đặng Trung Dũng












iv

MỤC LỤC

LỜI CAM ĐOAN ii

LỜI CẢM ƠN iiii
MỤC LỤC ivv
BẢNG THUẬT NGỮ VIẾT TẮT vii
DANH MỤC HÌNH VẼ vii
DANH MỤC BẢNG BIỂU ixx
MỞ ĐẦU 1
Chương 1. GIỚI THIỆU VỀ VI MẠCH ARDUINO MEGA 2560 3
1.1. Giới thiệu về Arduino 3
1.1.1. Giới thiệu chung 3
1.1.2. Giới thiệu về Arduino Mega 2560 4
1.1.3. Các thông số cơ bản của Arduino 2560 [2] 4
1.2. Cài đặt Arduino Mega 7
1.3. Thiết lập giao tiếp giữa Matlab/Simulink và Arduino [4], [5] 10
1.4. Kết luận chương 1 13
Chương 2. THUẬT TOÁN ĐIỀU KHIỂN CON LẮC NGƯỢC QUAY
KRI PP-300 14
2.1. Hệ thống con lắc ngược quay và những ứng dụng đã được phát triển 14
2.2. Giới thiệu về con lắc ngược quay Kri PP-300 16
2.2.1. Tổng quan hệ thống con lắc ngược quay Kri PP-300 16
2.2.2. Những bài toán sử dụng hệ thống con lắc ngược quay Kri PP-300 17
2.3. Hệ thống con lắc ngược quay Kri PP-300 có tại Bộ môn Đo lường điều khiển…20
2.3.1. Phần mềm hệ thống (System sofwave) 21
2.3.2. Hệ thống máy tính (Personal Computer System) 21
2.3.3. Bo mạch điều khiển UC96 (Universal Controller UC96 Microcontroller Board) 22
2.3.4. Bo mạch công suất điều khiển động cơ (Motor Driver Board) 22
2.3.5. Bộ nguồn (Power Supply) 23



v


2.3.6. Bộ con lắc ngược quay Kri PP-300 (Inverted Pendulum Apparatus Kri
PP-300) 24
2.4. Thuật toán điều khiển hệ thống con lắc ngược quay Kri PP-300 28
2.4.1. Mô hình toán hệ thống 28
2.4.2. Xác định tham số của mô hình 31
2.4.3. Thiết kế bộ điều khiển 34
2.5. Kết luận chương 2 38
Chương 3. ỨNG DỤNG VI MẠCH ĐIỆN TỬ ARDUINO MEGA
TRONG CÀI ĐẶT THUẬT TOÁN ĐIỀU KHIỂN ỔN ĐỊNH VỊ TRÍ
CON LẮC NGƯỢC QUAY KRI PP - 300 39
3.1. Sơ đồ khối hệ thống con lắc ngược quay Kri PP-300 39
3.2. Nhiệm vụ của các khối 40
3.3. Hệ thống điều khiển trên Matlab/Simulink 42
3.3.1. Khối con lắc ngược quay - Rotary Inverted Pendulum: 43
3.3.2. Bộ điều khiển cân bằng - Balance controller: nhằm ổn định con lắc ở vị
trí cân bằng, được thiết kế trên Matlab/Simulink như Hình 3.8: 44
3.3.3. Bộ điều khiển Swing up - Swing up controller 44
3.3.4. Khóa chuyển đổi bộ điều khiển - Switch 45
3.4. Chương trình cho Arduino mega 2560 46
3.5. Kết quả điều khiển 53
3.5.1. Kết quả trên bộ điều khiển có 3 biến trạng thái 53
3.5.2. Kết quả trên bộ điều khiển có 4 biến trạng thái 55
3.5.3. Video kết quả thực nghiệm 57
3.6. Kết luận chương 3 57
KẾT LUẬN VÀ ĐÁNH GIÁ 54
1.1. Kết luận 58
1.2. Đóng góp của luận văn 59
1.3. Hướng phát triển của đề tài 59
TÀI LIỆU THAM KHẢO 60




vi

BẢNG THUẬT NGỮ VIẾT TẮT

Từ
viết tắt
Từ hoặc nhóm từ Từ tiếng anh
ADC Biến đổi tương tự - số Analog Digital Converter
COM Cổng nối tiếp
LQR Linear-Quadratic regulator
PWM Điều chế độ rộng xung Pulse Width Modulation
PID Bộ điều khiển vi tích phân tỉ lệ Proportional Integral Derivative

UAV Máy bay không người lái Unmanned aerial vehicle
USB Chuẩn kết nối nối tiếp Universal Serial Bus
VDC Điện áp một chiều Volts Direct Current








vii

DANH MỤC HÌNH VẼ



Hình 1.1. Đầu vào ra số trên Arduino Mega 2560 5
Hình 1.2. Đầu ra PWM trên Arduino Mega 2560 6
Hình 1.3. Cổng Communication trên Arduino Mega 2560 6
Hình 1.4. Đầu vào tương tự trên Arduino Mega 2560 7
Hình 1.5. Vi mạch Arduino Mega 2560 8
Hình 1.6. Cáp USB chuẩn A-B 8
Hình 1.7. Download phần mềm Arduino Sofwave 9
Hình 1.8. Download phần mềm Arduino Sofwave 9
Hình 1.9. Cài đặt phần mềm Arduino Sofwave 10
Hình 1.10. Matlab/Simulink R2012a 10
Hình 1.11. Cài đặt Target installer 11
Hình 1.12. Cài đặt Target installer 11
Hình 1.13.Cài đặt Target installer 12
Hình 1.14. Cài đặt Arduino IO Library 12
Hình 2.1. Cầu trục 14
Hình 2.2. Xe hai bánh tự cân bằng 15
Hình 2.3. Tên lửa khi rời bệ phóng 15
Hình 2.4. Mô hình con lắc ngược quay Kri PP-300 16
Hình 2.5. Mô phỏng hệ thống cẩu tháp 17
Hình 2.6. Cân bằng con lắc 18
Hình 2.7. Swing up và cân bằng con lắc 18
Hình 2.8. Swing up và cân bằng con lắc ở vị trí bất kỳ cho trước 19
Hình 2.9. Tổng quan về Kri PP-300 20
Hình 2.10. Phần mền hệ thống 21
Hình 2.11. Hệ thống máy tính 21
Hình 2.12. Bo mạch điều khiển UC96 22
Hình 2.13. Mạch công suất 22
Hình 2.14. Bộ nguồn 23




viii

Hình 2.15. Bộ con lắc ngược 24
Hình 2.16. Cảm biến góc quay 24
Hình 2.17. Trống quay 25
Hình 2.18. Encoder 25
Hình 2.19. Vị trí Encoder 27
Hình 2.20. Bộ nguồn 27
Hình 2.21. Arduino mega 2560 28
Hình 2.22. Mô hình toán học con lắc ngược quay 28
Hình 2.23. Cánh tay con lắc 31
Hình 2.24. Mô tả khối lượng cánh tay và quả lắc 32
Hình 2.25. Sơ đồ khối bộ điều khiển hệ thống vòng hở 36
Hình 2.26. Sơ đồ khối bộ điều khiển hệ thống vòng kín 36
Hình 2.27. Bộ điều khiển sử dụng phương pháp gán điểm cực 37
Hình 3.1. Sơ đồ khối kết nối Arduino mega 2560 điều khiển con lắc ngược
quay Kri PP-300 39
Hình 3.2. Chân đọc tín hiệu Encoder trên Arduino mega 2560 40
Hình 3.3. Chân xuất ra tín hiệu điều khiển động cơ trên Arduino mega 2560 40
Hình 3.4. Chân đọc tín hiệu góc quay con lắc trên Arduino mega 2560 41
Hình 3.5. Sơ đồ khối điều khiển hệ thống trên Matlab/Simulink 42
Hình 3.6. Mô hình mô phỏng hệ thống con lắc 43
Hình 3.7. Mô hình xử lý tín hiệu Anpha, Anpha_dot, Beta, Beta_dot 43
Hình 3.8. Mô hình bộ điều khiển cân bằng cho con lắc ngược quay 44
Hình 3.9. Mô hình bộ điều khiển Swing up 44
Hình 3.10. Mô hình xử lý Swing up 45
Hình 3.11. Mô hình khóa chuyển đổi bộ điều khiển (Switch) 45

Hình 3.12. Đáp ứng góc của cánh tay và góc của con lắc với 3 biến điều khiển 53
Hình 3.13. Đáp ứng vận tốc của cánh tay và góc của con lắc với 3 biến
điều khiển 54
Hình 3.14. Đáp ứng góc của cánh tay và góc của con lắc với 4 biến điều khiển55
Hình 3.15. Đáp ứng vận tốc của cánh tay và góc của con lắc với 4 biến điều khiển.56



ix
DANH MỤC BẢNG BIỂU

Bảng 2.1. Bảng tham số của hệ thống con lắc ngược quay 29
Bảng 2.2. Bảng tham số khối lượng con lắc 31
Bảng 2.3. Bảng khảo sát tham số K
u
32
Bảng 2.4. Bảng hệ số K
t
, K
b
, R
a
của động cơ 33
Bảng 2.5. Bảng giá trị hệ số J
0
, C
0
, J
1
, C

1
33





1
MỞ ĐẦU
1. Lý do chọn đề tài
Trong những năm gần đây, cùng với việc phát triển của cộng nghệ kỹ
thuật, đặc biệt là công nghệ vi mạch đạt được nhiều tiến bộ vượt bậc, đa dạng.
Vi mạch điện tử Ardiuno là một sản phẩm mới ứng dụng mạnh mẽ những
thành tựu công nghệ đó. Vi mạch điện tử Arduino được chọn làm bộ não xử
lý của rất nhiều thiết bị từ đơn giản đến phức tạp và đặc điểm nổi bật hơn cả của
vi mạch điện tử 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, và điều làm nên
hiện tượng Arduino chính là tích hợp hệ thống điều khiển, mang tính ứng dụng
cao, tính chất nguồn mở từ phần cứng tới phần mềm mà có giá thành hợp lý.
Khi sử dụng vi mạch điện tử Arduino với những đặc điểm như trên ứng
dụng cho bài toán tích hợp điều khiển thực tế cho thấy các ưu điểm:
- Giảm thời gian và chi phí tích hợp phần cứng hệ thống;
- Hoàn toàn có thể sử dụng môi trường Matlab/Simulink để cài đặt các
thuật toán, các ứng dụng một cách linh hoạt;
Qua cách tiếp cận vi mạch điện tử Arduino cho thấy phương thức đơn
giản để thực hiện các thí nghiệm, thực nghiệm, ứng dụng trong giảng dạy,
nghiên cứu;
Hiện nay, Mô hình con lắc ngược quay Kri PP – 300 có tại phòng thí
nghiệm thuộc bộ môn Đo lường - điều khiển là một mô hình đóng kín về phần
mềm và phần cứng, không cho phép chỉnh định thay đổi chương trình điều

khiển. Hơn 10 năm qua mô hình đã không còn chạy được do phần mềm bị
hỏng, vi mạch điều khiển hỏng. Với những ưu điểm của vi mạch điện tử
Arduino như trên, tác giả đã mạnh dạn lựa chọn đề tài “Ứng dụng vi mạch
điện tử Arduino MEGA trong cài đặt thuật toán điều khiển ổn định vị trí
con lắc ngược quay”
2. Mục tiêu của luận văn
Mục tiêu chính của đề tại này là ứng dụng vi mạch điện tử Arduino
Mega để cài đặt thuật toán điều khiển ổn định vị trí con lắc ngược quay, qua
đó phát triển thêm phương thức ứng dụng vi mạch điện tử mới trong quá trình
điều khiển hệ thống. Các mục tiêu cụ thể của đề tài:
- Tìm hiểu về vi mạch điện tử Arduino Mega và ứng dụng nhúng các
trình điều khiển trên nó.
- Tìm hiểu về con lắc ngược quay và phương pháp điều khiển
cân bằng nó.
- Nghiên cứu kết hợp vi mạch điện tử Arduino Mega cài đặt thuật toán
điều khiển ổn định vị trí con lắc ngược quay Kri PP - 300 có tại trung tâm thí
nghiệm của Trường Đại học kỹ thuật công nghiệp – Đại học Thái Nguyên.
3. Đối tượng và phạm vi nghiên cứu



2
Đối tượng và phạm vi nghiên cứu chính của đề tài là: Ứng dụng vi
mạch điện tử Arduino MEGA 2560 trong cài đặt thuật toán điều khiển ổn
định vị trí con lắc ngược quay Kri PP-300.
4. Ý nghĩa khoa học và thực tiễn của đề tài
Nhằm nghiên cứu kỹ hơn việc ứng dụng vi mạch điện tử Arduino Mega
tạo ra hệ thống có mạch điều khiển với độ chính xác, ổn định cao, góp một
phần nhỏ vào việc phát triển, ứng dụng vi mạch điện tử Arduino.
Ứng dụng vi mạch Arduino Mega để cài đặt tình điều khiển phục hồi

lại hoạt động của mô hình con lắc ngược quay Kri PP-300 có tại trung tâm
thí nghiệm của Trường, giúp cho thuận tiện hơn trong việc cài đặt và thử
nghiệm các thuật toán điều khiển khác nhau phục vụ cho công tác nghiên cứu,
đào tạo của Bộ môn, Khoa và Nhà trường.
5. Phương pháp nghiên cứu
Nghiên cứu, tìm hiểu những ứng dụng được phát triển trên vi mạch
điện tử Arduino Mega;
Nghiên cứu tìm hiểu có chế hoạt động, thuật toán điều khiển cân bằng
con lắc ngược quay thông qua mô hình thực;
Khảo sát, thực nghiệm trên vi mạch điện tử Arduino Mega cài đặt thuật
toán điều khiển cân bằng con lắc ngược quay Kri PP-300 thông qua
Matlab/Simulink.
6. Bố cục của luận văn:
Nội dung chính của luận văn được trình bày trong 04 chương như sau:
Chương 1: Giới thiệu về vi mạch Arduino mega 2560
Chương 2: Thuật toán điều khiển con lắc ngược quay Kri PP-300
Chương 3: Ứng dụng vi mạch điện tử Arduino Mega trong cài đặt
thuật toán điều khiển ổn định vị trí con lắc ngược quay Kri PP-300.
Chương 4: Kết luận và đánh giá.
Tác giả xin bày tỏ lòng biết ơn chân thành đến các thầy cô giáo, đặc
biệt là thầy giáo hướng dẫn TS. Nguyễn Văn Chí đã tận tình giúp đỡ để hoàn
thành luận văn này.
Trong khuôn khổ giới hạn của luận văn cùng khả năng kiến thức và
thời gian nghiên cứu còn hạn chế, nên mặc dù đã có nhiều cố gắng song luận
văn chắc chắn không tránh khỏi những thiếu sót. Tác giả mong nhận được sự
đóng góp ý kiến của các thầy giáo, cô giáo để đề tài được hoàn thiện hơn.
Xin trân trọng cảm ơn!




3
Chương 1
GIỚI THIỆU VỀ VI MẠCH ARDUINO MEGA 2560
1.1. Giới thiệu về Arduino
1.1.1. Giới thiệu chung
Trong những năm gần đây, cùng với việc phát triển của cộng nghệ
kỹ thuật, đặc biệt là công nghệ vi mạch đạt được nhiều tiến bộ vượt bậc,
đa dạng. Vi mạch điện tử Ardiuno là một sản phẩm mới ứng dụng mạnh
mẽ những thành tựu công nghệ đó. Arduino thật ra 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. Vi mạch
điện tử Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn
giản đến phức tạp. Trong số đó có một vài ứng dụng thực sự chứng tỏ khả
năng vượt trội của vi mạch điện tử Arduino do chúng có khả năng thực
hiện nhiều nhiệm vụ rất phức tạp và đặc điểm nổi bật hơn cả của vi mạch
điện tử 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, và điều làm nên
hiện tượng Arduino chính là tích hợp hệ thống điều khiển, mang tính ứng
dụng cao, tính chất nguồn mở từ phần cứng tới phần mềm, và giá thành
hợp lý. Hiện nay trên thế giới, những ứng dụng sử dụng vi mạch điện tử
Arduino được phát triển mạnh mẽ trong nhiều lĩnh vực từ đơn giản đến
phức tạp như: điều khiển Led, điều khiển hệ thống nhà thông minh, sử
dụng làm bộ não cho máy in 3D, Robot, và sử dụng cho cả máy bay
không người lái UAV, không những thế ngay cả Google cũng muốn hỗ trợ
khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các ứng dụng
trên hệ điều hành Android. Tuy nhiên tại Việt Nam vi mạch điện tử
Arduino chưa được biết đến nhiều, chưa có nhiều ứng dụng được phát
triển trên loại vi mạch này [1].




4
1.1.2. Giới thiệu về Arduino Mega 2560
Bo mạch điện tử Arduino Mega 2560 là một Vi mạch điện tử điều
khiển dựa trên nền tảng của chíp ATmega 2560, Arduino Mega 2560 tích hợp
tất cả các tính năng cần thiết của một vi điều khiển, chỉ cần kết nối vi mạch
điện tử này với máy tính thông qua cổng USB, với phần mềm của Arduino
được tải về và cài đặt một cách dễ dàng là người sử dụng có thể tiến hành lập
trình, cài đặt vô số các tập lệnh để điều khiển các ứng dụng.
1.1.3. Các thông số cơ bản của Arduino 2560 [2]
- Nguồn cấp cho Vi mạch Arduino Mega 2560:
Nguồn cho Arduino Mega 2560 được cấp qua cáp kết nối USB hoặc
thông qua một cổng kết nối nguồn riêng. Vi mạch sẽ tự động lựa chọn 1 trong 2
nguồn cấp phù hợp. Chuẩn kết nối cấp nguồn cho Arduino là một giắc cắm loại
2.1mm có chân nguồn dương (+) ở giữa với điện áp đầu vào có dải từ: 7 -
12VDC, nhưng không được vượt quá điện áp giới hạn: 6 - 20VDC. Ngoài ra, khi
cấp nguồn vào vi mạch điện tử Arduino trên vi mạch sẽ tự ổn áp và đưa ra điện
áp đã được ổn áp: 5VDC và 3.3 VDC.
- Bộ nhớ của Vi mạch Arduino Mega 2560
Chíp Vi điều khiển ATmega 2560 có 256 Kb bộ nhớ flash để lưu trữ
mã lệnh điều khiển, trong đó có 8KB được sử dụng để chứa chương trình khởi
động. Ngoài ra ATmega 2560 còn có thêm 8 KB SRAM và 4 KB EEPROM,
trong đó có EEPROM giúp cho vi điều khiển nâng cao khả đọc và ghi các dữ
liệu điều khiển một các dễ dàng.



5
- Đầu vào, ra của vi mạch điện tử Arduino Mega 2560
+ Đầu vào, ra số (Digital I/O):
Vi mạch Arduino Mega 2560 có 54 chân được sử dụng làm đầu vào ra

số như Hình 1.1, sử dụng các lệnh có cấu trúc: pinMode(); digitalWrite();
digitalRead();

Hình 1.1. Đầu vào ra số trên Arduino Mega 2560
Những đầu vào ra số này hoạt động ở dải điện áp 0 đến +5 VDC, chúng
có thể đọc hoặc xuất ra tín hiệu có dòng điện tối đa là 40mA, và điện trở treo
tại các chân này có giá trị từ 20 - 50 kΩ. Trong số các đầu vào ra này có một
số chân có chức năng đặc biệt.
+ Đầu ra PWM (Pulse Width Modulation) Hình 1.2: gồm các chân số
2 đến chân số 13, chân số 44 đến chân số 46 trên vi mạch điện tử Arduino
Mega 2560, các chân này xuất ra tín hiệu PWM được mã hóa 8bit.



6

Hình 1.2. Đầu ra PWM trên Arduino Mega 2560
+ Cổng Communication Hình 1.3: là cổng nhận và truyền dữ liệu vào,
ra theo kiểu nối tiếp (COM) trên Arduino Mega 2560 gồm các cặp:
RX0(Chân 0), TX0(Chân 1); RX1(Chân 19), TX1(Chân 18); RX2(Chân 17),
TX2(Chân 16); RX3(Chân 15), TX3(Chân 14).

Hình 1.3. Cổng Communication trên Arduino Mega 2560



7
+ Đầu vào tương tự (Analog in) Hình 1.4: Trên vi mạch điện tử
Arduino Mega tích hợp 16 đầu vào tương tự có độ phân giải 10bit (0-1023),
bao gồm các chân từ A0 đến A15 , các chân này đọc được tín hiệu tương tự

đưa vào có giá trị từ 0 đến +5VDC thông qua lệnh: AnalogRead()

Hình 1.4. Đầu vào tương tự trên Arduino Mega 2560
1.2. Cài đặt Arduino Mega
* Cài đặt kết nối Arduino trên Arduino Sofwave [3]
Muốn làm việc được với vi mạch điện tử Arduino ta cần kết nối được
vi mạch với máy tính có cài đặt các hệ điều hành thông dụng hiện có trên thị
trường như: Window, Mac OS, Linux… Để cài đặt được ta tiến hành thực
hiện theo các bước sau:
- Bước 1: Các điều kiện cần có:
+ Máy tính có cài hệ điều hành (hệ điều hành Windows 7- 32bit hoặc
Windows XP - 32bit) có kết nối Internet hoặc không kết nối Internet.



8
+ Vi mạch điện tử Arduino như Hình 1.5:

Hình 1.5. Vi mạch Arduino Mega 2560
+ Cáp kết nối USB chuẩn A-B như Hình 1.6:

Hình 1.6. Cáp USB chuẩn A-B
- Bước 2: Tải phần mềm và cài đặt chương trình để lập trình cho
Arduino:
+ Tải phần mềm và cài đặt chương trình:
Arduino là vi mạch điện tử rất đa năng có thể được sử dụng để điều khiển
nhiều ứng dụng từ đơn giản đến phức tạp. Để có thể lập trình cho bo Arduino,
trước hết ta cần download và cài môi trường viết chương trình cho Arduino; vào
mục Download như Hình 1.7 trên website:




9

Hình 1.7. Download phần mềm Arduino Sofwave
Sau khi nhấn chọn Dowload sẽ xuất hiện:

Hình 1.8. Download phần mềm Arduino Sofwave
Tiến hành lựa chọn phiên bản phần mềm tương thích cho hệ điều hành
cảu máy tính, kích chọn máy tính sẽ tải về, tiến hành giải nén file vừa được tải
về. Sau đó chọn, chạy file: “arduino-1.0.5-windows.exe” để cài đặt phần
mềm như Hình 1.9 có môi trường lập trình cho vi mạch Arduino.



10

Hình 1.9. Cài đặt phần mềm Arduino Sofwave
Trong quá trình chạy cài đặt “arduino-1.0.5-windows.exe”, việc cài
đặt kết nối USB đối với vi mạch Arduino sẽ được tự động cài đặt (nếu máy
tính sử dụng hệ điều hành Mac OS không có phần cài đặt kết nối USB này).
1.3. Thiết lập giao tiếp giữa Matlab/Simulink và Arduino [4], [5]
Arduino là vi mạch điện tử được Matlab/Simulink hỗ trợ tốt, trong thư
viện công cụ (toolbox) của Matlab/Simulink có nhiều khối giao tiếp được dùng
để thực hiện điều kiển, giao tiếp với vi mạch Arduino (trong đó phiên bản
Matlab R2012a là phiên bản được hỗ trợ đầy đủ nhất đối với Arduino Mega).
+ Cài đặt phần mềm Matlab/Simulink có phiên bản r2012a (32bit) ra
máy tính có hệ điều hành và cấu hình thích hợp Hình 1.10.

Hình 1.10. Matlab/Simulink R2012a




11
* Cài đặt thư viện Arduino trong Matlab/Simulink [4], [5]
Để thuận lợi nhất cho quá trình thí nghiệm, thực nghiệm, mô phỏng,
giám sát điều khiển Arduino Mega 2560, ta tiến hành hoàn thiện cài đặt
Matlab/Simulink phiên bản r2012a, sau đó tiến hành cài đặt các khối giao
tiếp giữa Matlab/Simulink và Arduino thực hiện theo các bước sau:
+ Bước 1: Cài đặt (Target for Use with Arduino hardwave) thư viện
giao tiếp giữa máy tính và Arduino vào toolbox cả Matlab/Simulink. Trong
Matlab commad Window, nhập dòng lệnh targetinstaller (phần này máy tính
cần được kết nối Internet để được hỗ trợ tốt nhất), cửa sổ Taget Installer hiện
ra, chọn Internet (recommender), sau đó nhấn Next Hình 1.11.

Hình 1.11. Cài đặt Target installer
Tiếp theo, chọn cài đặt cho Arduino Mega 2560, và Next.

Hình 1.12. Cài đặt Target installer



12
Sau đó chọn Install => Next, máy tính sẽ tự động chạy cho đến khi
hoàn thành cài đặt. Khi đó, Target for Use with Arduino hardwave sẽ được tự
động cập nhật vào thư viện Toolbox Simulink của Matlab như Hình 1.13.

Hình 1.13.Cài đặt Target installer
+ Bước 2: Cài đặt thư viện kết nối vào, ra (Arduino IO Libraly) cho
Arduino Mega 2560, ta tiến hành như sau:

Trong Matlab commad Window, ta nhập dòng lệnh “install_arduino”,
khi đó Arduino IO Library sẽ được cập nhật vào thư viện Toolbox Simulink
của Matlab như Hình 1.14.

Hình 1.14. Cài đặt Arduino IO Library



13
1.4. Kết luận chương 1
Chương này của luận văn trình bày về nội dung nhằm đánh giá tổng
quan về vi mạch điện tử Arduino với các ưu điểm cũng như cách thức cài đặt,
kết nối vi mạch điện tử Arduino với phần mềm Arduino và với
Matlab/Simulink.
Qua đó làm rõ thêm khả năng có thể kết nối, mở rộng điều khiển đối
với vi mạch điện tử Arduino, khả năng “nhúng” các ứng dụng điều khiển trên
Arduino là rất mạnh nhằm phục vụ các yêu cầu nghiên cứu khoa học, giảng
dạy và ứng dụng điều khiển trong thực tế.



14
Chương 2.
THUẬT TOÁN ĐIỀU KHIỂN
CON LẮC NGƯỢC QUAY KRI PP-300
Chương này sẽ giới thiệu sơ lược về hệ thống con lắc ngược quay; quá
trình xây dựng mô hình toán học của hệ thống con lắc ngược tuyến tính và phi
tuyến; căn cứ vào mô hình toán học và các tham số sẽ sử dụng
Matlab/Simulink tính toán, cài đặt thuật toán vào vi mạch Arduino để xử lý,
điều khiển con lắc ngược quay Kri PP-300 tại phòng thí nghiệm bộ môn Đo

lường - điều khiển, khoa Điện Tử.
2.1. Hệ thống con lắc ngược quay và những ứng dụng đã được phát triển
Hệ thống con lắc ngược là hệ thống phức tạp có tính phi tuyến cao và
không ổn định. Hiện nay có rất nhiều nhà nghiên cứu đã sử dụng các thuật
toán điều khiển khác nhau để điều khiển hệ thống con lắc như thuật toán điều
khiển PID, điều khiển trượt, thuật toán điều khiển tối ưu LQR và điều khiển
logic mờ Fuzzy đã thu được một số thành công đáng kể.
Từ đề tài con lắc ngược đã có những đề tài nghiên cứu phát triển để
nghiên cứu về các vấn đề như: Điều khiển cầu trục Hình 2.1; Xe hai bánh tự cân
bằng như Hình 2.2; Điều khiển ổn định góc tên lửa khi rời bệ phóng Hình 2.3;

Hình 2.1. Cầu trục



15

Hình 2.2. Xe hai bánh tự cân bằng

Hình 2.3. Tên lửa khi rời bệ phóng

×