Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP
THIẾT KẾ, CHẾ TẠO
ROBOT HAI BÁNH TỰ CÂN BẰNG
GIẢNG VIÊN HƯỚNG DẪN
: THS. TRẦN TRỌNG THẮNG
SINH VIÊN THỰC HIỆN
: TRẦN ĐÌNH PHÚ
: BÙI ĐỨC CƯỜNG
CHUYÊN NGÀNH
: ĐIỆN TỬ VIỄN THÔNG
LỚP
: Đ6-ĐTVT2
KHÓA
: 2011-2016
: ĐIỆN TỬ VIỄN THÔNG
LỚP
: Đ6-ĐTVT2
KHÓA
: 2011-2016
Hà Nội, năm 2016
LỜI CẢM ƠN
Trong thời gian hiện đề tài nghiên cứu khoa học đó là một trong những bước ngoặt
cuối cùng đánh dấu sự trưởng thành của một sinh viên ở giảng đường đại học.Để trở
thành một cử nhân hay một kỹ sư đóng góp những gì mình đã học được cho sự phát triển
đất nước.
GVHD : ThS Trần Trọng Thắng
Page 2
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
Lời đầu tiên chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy
ThS. Trần Trọng Thắng, khoa Điện tử-Viễn thông, trường Đại học Điện lực. Trong suốt
thời gian thực hiện đề tài, thầy đã dành nhiều thời gian để hướng dẫn chúng em thực hiện
1.1 Giới thiệu chung
Cùng với sự phát triển của khoa học kỹ thuật, ngày nay robot có khả năng
thay thế con người làm việc trong những môi trường độc hại, trong sản xuất
hoặc bắt chước con người về hình thức, hành vi và cả suy nghĩ... Hiện nay lĩnh
vực robot đang phát triển nhanh nhờ vào sự phát triển liên tục của công nghệ,
robot đã và đang được chế tạo để phục vụ cho nhiều mục đích khác nhau. Với ý
GVHD : ThS Trần Trọng Thắng
Page 4
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
tưởng sử dụng robot thay thế con người thì “Robot hai bánh tự cân bằng” cũng
là đề tài hiện đang được nhiều tác giả quan tâm vì mô hình robot này có khả
năng di chuyển linh hoạt nhưng lại không chiếm nhiều không gian.
1.2 Thế nào là robot hai bánh tự cân bằng
Hình 1.1: Mô tả nguyên lý cân bằng
Đối với các xe hay robot ba hay bốn bánh, việc thăng bằng và ổn định của
chúng là nhờ trọng tâm của chúng nằm trong bề mặt chân đế do các bánh xe tạo
ra. Đối với các xe 2 bánh có cấu trúc như xe đạp, việc thăng bằng khi không di
chuyển là hoàn toàn không thể, vì việc thăng bằng của xe dựa trên tính chất con
quay hồi chuyển ở hai bánh xe khi đang quay. Còn đối với xe hay robot hai bánh
tự cân bằng, là loại chỉ có hai bánh với trục của hai bánh xe trùng nhau, để cho
robot cân bằng, trọng tâm của nó cần được giữ nằm ngay giữa các bánh xe.
Điều này giống như ta giữ một cây gậy dựng thẳng đứng cân bằng trong lòng
Hình 1.3: Xe ba bánh trên mặt phẳng
Việc thiết kế ba hay bốn bánh làm cho xe/mobile robot được thăng bằng ổn
định nhờ trọng lượng của nó được chia cho hai bánh lái chính và bánh đuôi, hay
bất kỳ cái gì khác để đỡ trọng lượng của xe. Nếu trọng lượng được đặt nhiều
GVHD : ThS Trần Trọng Thắng
Page 6
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
vào bánh lái thì xe/robot sẽ không ổn định dễ bị ngã, còn nếu đặt nhiều vào bánh
đuôi thì hai bánh chính sẽ mất khả năng bám. Nhiều thiết kế xe/robot có thể di
chuyển tốt trên địa hình phẳng, nhưng không thể di chuyển lên xuống trên địa
hình lồi lõm (mặt phẳng nghiêng). Khi di chuyển xuống đồi, trọng lượng xe/robot
dồn vào đầu xe làm bánh lái mất khả năng bám và trượt ngã, đối với những bậc
thang, thậm chí nó dừng hoạt động và chỉ quay tròn bánh xe.
Hình 1.4: Xe 3 bánh đi lên
Khi di chuyển lên đồi, sự việc còn tệ hơn, trọng tâm thay đổi về phía sau và
thậm chí làm xe/robot bị lật úp khi di chuyển trên bậc thang.Việc bố trí bốn bánh
xe, giống như xe hơi đồ chơi hay các loại xe bốn bánh hiện đang sử dụng trong
giao thông không gặp vấn đề nhưng điều này sẽ làm các xe/robot không gọn.
Hình 1.5: Xe 3 bánh đi xuống
Ngược lại, các xe dạng hai bánh đồng trục lại thăng bằng rất linh động khi
Page 8
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
1.5 Phương pháp nghiên cứu
Đề tài được tiếp cận dựa trên các phương pháp sau:
• Phương pháp khảo sát tài liệu, tìm hiểu các tài liệu liên quan đến đến đề
tài như: cấu trúc robot hai bánh tự cân bằng, cảm biến MPU6050, mạch
điều khiển động cơ.
• Phương pháp khảo sát các thuật toán và lọc nhiễu cho cảm biến như: bộ
lọc Kalman và thuật toán điều khiển PID.
• Phương pháp thực nghiệm tiến hành xây dựng các thuật toán trên mô
hình
1.6 Giới hạn của đồ án
Đề tài tập trung vào việc xây dựng mô hình phần cứng robot như: kết cấu
mô hình, mạch điều khiển động cơ, các thuật toán trên vi điều khiển như bộ lọc
Kalman giải thuật cân bằng PID. Robot có thể cân bằng có khả năng điều khiển
để di chuyển nhưng chưa có nhiều ứng dụng.
GVHD : ThS Trần Trọng Thắng
Page 9
Khoa: Điện tử viễn thông
Page 10
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
Hai bánh xe được bao bọc bởi cao su có nhiều rãnh để ăng độ bám cao, giúp
robot có thể điều khiển cân bằng tốt hơn.
Hình 2.2: Mô hình robot sau khi lắp ráp
2.3 Mạch điện tử
2.3.1 Nguồn điện
Nguồn điện sủ dụng pin 12v, mỗi PIN có dung lượng khoảng 3000mAh
được đấu nối tiếp với nhau giúp robot có đủ nguồn điển hoạt động trong một thời
gian dài.
GVHD : ThS Trần Trọng Thắng
Page 11
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
còn chưa được biết đến nhiều.
Arduino cơ bản là một nền tảng tạo bởi mẫu mở về điện tử được tạo thành
từ các phần cứng lẫn phần mềm. Về mặt kỹ thuật Arduino có thể cọi là 1 bộ điều
khiển logic có thể lập trình được. Đơn giản hơn, Arduino là một thiết bị có thể
tương tác với ngoại cảnh thông qua các cảm biến và hành vi được lập trình sẵn.
GVHD : ThS Trần Trọng Thắng
Page 13
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
Với thiết bị này, việc lắp ráp và điều khiển các thiết bị điện tử sẽ dễ dàng hơn
hơn bao giờ hết.
Hiện tại có nhiều loại vi điều khiển và đa số được lập trình bằng ngôn ngữ
C/C++ hoặc Assembly nên rất khó khăn cho những người có ít kiến thức sâu về
lập trình và điện tử. Nó là trở ngại cho mọi người muốn tạo riêng cho mình một
món đồ mang tính công nghệ. Do vậy Arduino được phát triển nhằm đơn giản
hóa việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình vi xử lý và moị
người có thể tiếp cận dễ dàng hơn với thiết bị điện tử không cần nhiều kiến thức
điện tử và thời gian. Sau đây là một số thế mạnh của Arduino so với nền tảng vi
điều khiển khác:
• Chạy trên đa nền tảng:việc lập trình Arduino có thể thực hiện trên các hệ
điều hành khác nhau như Windowns, Mac Os, Linux trên Desktop ,
Android trên di động.
• Ngôn ngữ lập trình đơn giản, dễ hiểu.
• Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm
điện bên ngoài. Các nguồn năng lượng được lựa chọn tự động. Hệ thống vi điều
khiển có thể hoạt động bằng nguồn cung cấp bên ngoài từ 6V hoặc 20V. Tuy
nhiên, nếu cung cấp ít hơn 7V, chân 5V có thể cung cấp ít hơn 5V và hệ thống vi
điều khiển có thể không ổn định. Nếu cấp nhiều hơn 12V, hoặc chỉnh điện áp có
thể quá nó và gây nguy hiểm cho bo mạch. Phạm vi khuyến nghị là 7V đến 12V.
• Chân Vin: điện áp đầu vào Arduino khi chúng ta dùng nguồn điện bên
ngoài( khác với nguồn 5V lấy từ USB hoặc thông qua jack cắm ngoài
riêng). Chúng ta có thể cung cấp nguồn thông qua chân này.
• Chân 5V: cung cấp nguồn vi điều khiển và các bộ phận khác trên bo
•
•
•
•
mạch và cung cấp cho các thiết bị ngoại vi khi kết nối tới bo mạch.
Chân 3,3V : cung cấp nguồn cho các thiết bị cảm biến
Chân GND: chân nối đất
Chân Aref: tham chiếu điện áp đầu vào analog
Chân IOREF: cung cấp điện áp cho các vi điều khiển hoạt động.
Một shield được cấu hình đúng có thể đọc điện áp IOREF và lựa chọn nguồn
tích hợp hoặc kích hoạt bộ chuyển đổi điện áp để làm việc ở mức 5V hoặc 3,3V
b) Bộ nhớ
Chip Atmega có 32Kb (với 0,5Kb sử dụng cho bootloader). Nó còn có 2Kb
SRAM và 1 Kb EFPROM.
c) Chân vào ra
GVHD : ThS Trần Trọng Thắng
Page 15
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
Môi trường phát triển Arduino được phát triển dựa trên ngôn ngữ lập trình
Processing và dự án Wiring. Được thiết kế cho những người không biết nhiều về
lập trình, bao gồm trình soạn thảo có chứ năng đánh dấu cú pháp, tự động đóng
mở các cặp ngoặc nhọn, tự động thụt cách đầu dòng. Kèm theo đó là khả năng
biên dịch và nạp chương trình vào chip vi điều khiển. Một chương trình viết bằng
Arduino gọi là một “sketch”. Như đã nói ở trên, Arduino là một dự án mã nguồn
mở, do đó có thể download mọi thứ miễn phí, bao gồm cả IDE từ trang chủ của
Arduino. IDE này không cần phải cài đặt, chỉ cần download một tập tin nén về từ
trang chủ, giải nén và chạy tập tin arduino.exe. Khi đó, trên màn hình sẽ xuất
hiện cửa sổ như sau:
GVHD : ThS Trần Trọng Thắng
Page 17
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
Hình 2.6: Trình biên dịch IDE
*Các nút cơ bản trên thanh công cụ:
tương thích với Arduino Uno, Arduino Mega hoặc có thể cắm dây với các board
arduino khác.
Hình 2.7: Mạch điều hiển động cơ robo shield
Cấu trúc và chức năng:
Robo shield có thể hoạt động nhờ vào nguồn cung cấp từ 6v đến 46v.
+ Chân 5V: cung cấp nguồn điều khiển và các bộ phận khác trên bo mạch
và cung cấp cho các thiết bị ngoại vi khi kết nối tới bo mạch.
+ Chân 3,3V : cung cấp nguồn cho các thiết bị cảm biến
+ Chân GND: chân nối đất
+ OUT1, OUT2, OUT3, OUT4: là chân cung cấp nguồn cho động cơ
+ ngoài ra còn một số chân có chức năng tương ứng với các chân của
Arduino.
2.3.4 Cảm biến MPU6050
GVHD : ThS Trần Trọng Thắng
Page 19
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
2.3.4.1 Giới thiệu cảm biến MPU6050
MPU6050 là cảm biến của hãng InvenSense. MPU6050 là một trong những
giải pháp cảm biến chuyển động đầu tiên trên thế giới có tới 6 (mở rộng tới 9)
trục cảm biến tích hợp trong 1 chip duy nhất.
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
2.3.4.2 Các chân giao tiếp
Hình 2.8: Chân giao tiếp mpu6050
VCC
5V/3V3
GND
0V
SCL
Chân SCL trong giao tiếp I2C
SDA
Chân SDA trong giao tiếp I2C
XDA
Chân dữ liệu (kết nối với cảm biến khác)
XCL
GVHD : ThS Trần Trọng Thắng
Page 21
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
Với kích thước nhỏ gọn dễ dang lắp đặt vào mô hình robot
Hình 2.9: Động cơ Encoder
2.4 Các phương thức giao tiếp
2.4.1 Điều chế độ rộng xung PWM
Có ba cách để điều khiển tốc độ động cơ DC servo trong kỹ thuật: Phương
pháp điều áp (Linear Power Amplification), phương pháp điều độ tần số xung
(PFM) và phương pháp điều độ rộng xung (PWM). Đề tài này áp dụng kỹ thuật
điều
độ
rộng
xung (PWM). Trong đề tài này ta sử dụng phương pháp điều chế độ rộng xung.
* Nguyên lý:
Nhìn trên hình vẽ, TON và TOFF lần lượt là khoảng thời gian kích (trạng
thái
HIGH) và ngắt tín hiệu (trạng thái LOW) trong một chu kỳ. Việc làm này sẽ tạo ra
Page 23
Khoa: Điện tử viễn thông
bằng
SVTH : Nhóm robot cân
Hình 2.11: Quan hệ giữa vận tốc không tải của động cơ DC và chu kỳ PWM
cho động cơ DC Hitachi
Điều này dễ hiểu bởi điện áp trung bình được tính bằng tích phân trong một
chu kỳ của điện áp ngõ vào, cũng chính là trong khoảng TON.
Chu kỳ của một tín hiệu ra PWM là khoảng thời gian mà sau đó mẫu tín
hiệu
được lặp lại.
• Tần số PWM = 1/chu kỳ.
• Hệ số duty là tỉ lệ bề rộng của mức ‘1’ so với bề rộng chu kỳ.
• Độ phân giải (resolution) tín hiệu PWM là phần mịn nhất là hệ số duty có
thể được điều chế.
Có hai cách tạo ra xung PWM:
• Mạch tương tự (analog): có giá trị thay đổi liên tục và có độ phân giải vô
hạn cả về thời gian và biên độ, có thể được dùng để điều khiển trực tiếp
nhiều thứ, như độ lớn âm được phát ra từ một radio, tốc độ của động cơ.
Tuy nhiên, việc xây dựng và thiết kế mạch tương tự thường tốn kém. Có
thể tạo ra một mạch PWM nhưng độ chính xác thường không cao và dễ
điều khiển như mạch số.
GVHD : ThS Trần Trọng Thắng
Đặt chu kỳ của timer/counter điều chế xung vuông.
Đặt thời gian của thanh ghi điều khiển PWM.
Đặt hướng ra của tín hiệu PWM, tín hiệu có đảo hay không đảo.
Khởi động timer.
Mở khả năng của bộ điều khiển PWM.
* Ưu diểm:
Một trong những ưu điểm của PWM là khả năng chống nhiễu giá trị từ bộ
xử
lý
đến hệ thống điều khiển, do tín hiệu bản chất vẫn là tín hiệu số nên nhiễu chỉ xảy
ra
nếu nó đủ mạnh hơn mức tín hiệu số để đổi logic từ 1 thành 0 hoặc ngược lại.
Đây là một ưu điểm mà đôi khi được dùng cho truyền thông: tăng bề rộng
của
GVHD : ThS Trần Trọng Thắng
Page 25