Từ vấn đề trên em đã nghiên cứu, tìm hiểu đề tài “ Thiết kế và thi công hệ thống xe tự cân bằng ” với mục đích nhằm giúp người sử dụng có thể kiểm tra, giám sát được hoạt động của thiết
Trang 1NỘI DUNG ĐỒ ÁN
Đề tài “Thiết kế và thi công hệ thống xe tự cân bằng“ tập trung vào các nội dung
chính sau:
- Tìm hiểu ngôn ngữ lập trình C cho Arduino và Arduino IDE
- Tìm hiểu về Module Cảm Biến Góc Gia Tốc MPU6050 GY-521, Arduino Uno R3, động cơ giảm tốc GA25 200rpm, Module GPS NEO-7M, LCD 16x2
- Ứng dụng Module Cảm Biến Góc Gia Tốc MPU6050 GY-521, động cơ GA25 200rpm, Arduino Uno R3, Module GPS NEO-7M, LCD 16x2 vào thiết kế, thi công hệ thống xe tự cân bằng cho phép định vị GPS và hiển thị tọa độ lên LCD
Trang 2LỜI CẢM ƠN
Em xin gửi lời cảm ơn sâu sắc tới các thầy cô giáo trong trường Đại Học Công Nghệ Thông tin và Truyền thông và các thầy cô trong bộ môn Công nghệ Điện tử truyền thông khoa công nghệ điện tử và truyền thông đã tận tình giảng dạy, truyền đạt
cho em kiến thức trong thời gian qua Đặc biệt em xin chân thành cảm ơn ThS.Nguyễn Thùy Dung đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn và giúp đỡ em hoàn
thành đề tài này
Cuối cùng, em xin chân thành cảm ơn gia đình, bạn bè, các thầy cô luôn tạo điều kiện thuận lợi về cơ sở vật chất cũng như động viên tinh thần, giúp đỡ em trong quá trình nghiên cứu và thực hiện đề tài
Em xin chân thành cảm ơn !
Thái Nguyên, Tháng 6 Năm 2016
Sinh viên thực hiện
Trần Thanh Phúc
Trang 3LỜI CAM ĐOAN
Em xin cam đoan toàn bộ nội dung của báo cáo này do em tự tìm hiểu và nghiên
cứu dưới sự hướng dẫn và định hướng của cô giáo Thạc sỹ Nguyễn Thùy Dung Nội
dung báo cáo này không sao chép và vi phạm bản quyền từ bất kỳ công trình nghiên cứu nào
Nếu những lời cam đoan trên không đúng, em xin chịu hoàn toàn trách nhiệm trước pháp luật
Thái Nguyên, Tháng 6 Năm 2016
Sinh viên thực hiện
Trần Thanh Phúc
Trang 4
MỤC LỤC
NỘI DUNG ĐỒ ÁN 1
LỜI CẢM ƠN 2
LỜI CAM ĐOAN 3
MỤC LỤC 4
DANH MỤC HÌNH ẢNH 6
LỜI MỞ ĐẦU 8
CHƯƠNG 1 TỔNG QUAN 9
1.1 Tình hình nghiên cứu thuộc lĩnh vực đề tài trong và ngoài nước .9
1.1.1 Giới thiệu về hệ thống xe tự cân bằng 9
1.1.2 Tình hình nghiên cứu ở nước ngoài .9
1.1.3 Tình hình nghiên cứu trong nước .15
1.2 Tính cấp thiết và phạm vi nghiên cứu, mục tiêu của đề tài .16
1.2.1 Tính cấp thiết của đề tài 16
1.2.2 Phạm vi nghiên cứu của đề tài .17
1.2.3 Mục tiêu của đề tài .17
2.1 Yêu cầu bài toán .18
2.2 Giải pháp thiết kế 18
2.2.1 Sơ đồ khối .18
2.2.2 Phân tích chức năng các khối 18
2.3 Nguyên lý hoạt động toàn hệ thống 19
2.4 Lựa chọn linh kiện .19
2.4.1 Bộ vi điều khiển Arduino Uno R3 .19
2.4.2 GY-521 MPU 6050 .24
2.4.3 IC L298N .29
2.4.4 Bánh xe V2 65mm khớp lục giác 12mm .31
2.4.5 Động cơ giảm tốc GA25 200rpm .32
2.4.6 Nguồn Pin .33
2.4.7 Module GPS NEO-7M .34
2.4.8 LCD 16x2 40
Trang 5CHƯƠNG 3 NGÔN NGỮ LẬP TRÌNH VÀ PHẦN MỀM PHỤ TRỢ 42
3.1 Giới thiệu môi trường lập trình 42
3.2 Khởi tạo một dự án .43
3.3 Cấu trúc của một chương trình lập trình Arduino .44
3.4 Một số ví dụ lập trình các ứng dụng 49
3.4.1 Lập trình Điều khiển led .49
3.4.2 Chương trình điều khiển 3 led đơn theo tín hiệu đèn giao thông .49
3.4.3 Lập trình gửi dữ liệu ra cổng truyền thông nối tiếp .53
3.5 Ứng dụng của Arduino .54
CHƯƠNG 4 THIẾT KẾ VÀ THỰC THI 57
4.1 Thiết kế phần cứng .57
4.2.Thiết kế phần mền .61
4.3 Hình ảnh thực tế sản phẩm 62
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63
PHỤ LỤC 65
Trang 6DANH MỤC HÌNH ẢNH
Hình 1.1 Hình ảnh về robot Balibot .11
Hình 1.2 Hình ảnh loại robot kiểu rolling của toyota 12
Hình 1.3 Hình ảnh Segway .13
Hình 2.1 Sơ đồ khối của hệ thống .18
Hình 2.2 Sơ đồ chân Arduino Uno .19
Hình 2.3 Board cơ bản của Arduino Uno .21
Hình 2.4.Hình mặt trên của Arduino Uno .21
Hình 2.5.Sơ đồ nguyên lý Arduino Uno .22
Hình 2.6 Module Cảm Biến Góc Gia Tốc MPU6050 GY-521 .24
Hình 2.7 Hình ảnh về sơ đồ khối của MPU6050 GY-521 26
Hình 2.8 Chân giao tiếp của MPU6050 GY-521 .27
Hình 2.9 Hình ảnh về sơ đồ khối của IC L298N 29
Hình 2.10 Hình ảnh về các chân của IC L298N .30
Hình 2.11 Hình ảnh về bánh xe 31
Hình 2.12 Hình ảnh về động cơ .32
Hình 2.13 Hình ảnh về pin LI-Ion .33
Hình 2.14 Module GPS NEO-7M .34
Hình 2.15 Màn hình LCD 16x2 40
Hình 2.16 Chức năng các chân 41
Hình 2.17 Kết nối Text LCD 41
Hình 3.1 Link download phần mềm Arduino .42
Hình 3.2 Cài đặt Arduino IDE .42
Hình 3.3 Giao diện lập trình Arduino 43
Hình 3.4 Chức năng các Menu chính .43
Hình 3.5 Mở ứng dụng mẫu trong Arduino .44
Hình 3.6 Lưu đồ thuật toán 45
Hình 3.7 Ví dụ điều khiển led .49
Hình 3.8 Dịch và chạy chương trình điều khiển 3 led đơn 51
Hình 3.9 Mạch led giao thông sử dụng Arduino 53
Hình 3.10 Kết quả thu được trên màn hình Serial 54
Hình 3.11 Máy in 3D .54
Trang 7Hình 3.12 Robot .55
Hình 3.13 Máy bay không người lái 55
Hình 3.14 Lập tình game tương tác .56
Hình 2.15 Điều khiển hiệu ứng ánh sáng 56
Hình 4.1 Mô tả nguyên lý giữ thăng bằng .57
Hình 4.2 Mô tả cách bắt đầu di chuyển .57
Hình 4.3 Trạng thái của xe khi di chuyển ở bề mặt nghiêng .57
Hình 4.4 Biểu diễn các lực tác động lên xe .58
Hình 4.5 Hình ảnh Arduino kết nối với động cơ và IC L298 .59
Hình 4.6 Hình ảnh Arduino kết nối với MPU6050 GY-521 .60
Hình 4.7 Hình ảnh Arduino kết nối với GPS NEO-7M và LCD .60
Hình 4.8 Hình ảnh lưu đồ thuật toán của hệ thống .61
Hình 4.9 Hình ảnh toàn cảnh sản phẩm 62
Hình 4.10 Hình ảnh sản phẩm nhìn từ trên cao xuống 62
Trang 8LỜI MỞ ĐẦU
Trong công cuộc công nghiệp hóa hiện đại hóa đất nước nền kinh tế việt nam có
sự tăng trưởng một các vượt trội, với sự tăng trưởng kinh tế mạnh mẽ như vậy nó đã thúc đẩy việc gia tăng sự phát triển của ngành điện tử và truyền thông Nhu cầu cần các thiết bị thay thế con người ngày càng nhiều và để thay thế con người khi làm việc thì các thiết bị phải cần có một sự làm việc ổn định và chính xác Ngoài ra các thiết bị cần có sự ổn định trong di chuyển Để đáp ứng được nhu cầu ngày càng cần sự tự động hóa mà không cần đến sự làm việc của con người thì những thiết bị di chuyển cần sự cân bằng thì ngày càng quan trọng Đặc biệt các thiết bị tự cân bằng ngày càng được ứng dụng nhiều vào thực tế và cần cho cuộc sống của chúng ta Từ vấn đề trên em đã
nghiên cứu, tìm hiểu đề tài “ Thiết kế và thi công hệ thống xe tự cân bằng ” với mục
đích nhằm giúp người sử dụng có thể kiểm tra, giám sát được hoạt động của thiết bị nhằm giữ cân bằng cho thiết bị
Mặc dù em đã cố gắng rất nhiều để hoàn thành đề tài này, song do giới hạn về thời gian cũng như kiến thức nên nội dung còn nhiều thiếu sót Rất mong được sự đóng góp
ý kiến của thầy cô để bài báo cáo của em được hoàn thiện hơn
Em xin chân thành cảm ơn !
Trang 9CHƯƠNG 1 TỔNG QUAN
1.1 Tình hình nghiên cứu thuộc lĩnh vực đề tài trong và ngoài nước
Nội dung chương này sẽ khái quát chung về thực trạng sử dụng hệ thống xe tự cân bằng trong các ngành công nghiệp, năng lượng, cơ khí, y tế, vận tải… tại Việt Nam
Và hệ thống xe tự cân bằng ứng dụng vào đời sống của con người hiện nay Thống kê
và dự đoán về việc sử dụng hệ thống xe tự cân bằng trong tương lai Và trong chương này cũng là cơ sở hình thành nên ý tưởng đề tài của em, thiết kế và thi công hệ thống
xe tự cân bằng
1.1.1 Giới thiệu về hệ thống xe tự cân bằng
Xe hai bánh tự cân bằng là xe mà chỉ có hai bánh mà khi chúng ta để nó trên một mặt phẳng thì chúng nó sẽ không đổ và sẽ giữ được thăng bằng khi có một lực tác dụng lên xe để làm xe ngã
Đối với các xe 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 hai 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ác với xe ba và bốn bánh Vì thế việc thăng bằng của xe ba và bốn bánh dựa trên tính chất của con quay hồi chuyển ở bánh xe và trục của nó Còn đối với xe hai bánh
tự cân bằng, là loại xe có hai bánh và trục của hai bánh xe là trùng nhau, để cho xe cân bằng thì trọng tâm của xe phải được giữ ngay giữa hai bánh xe
Để xe hai bánh tự cân bằng được thì ngoài hệ thống cơ khí của xe tương đối chuẩn xác thì yếu tố quan trọng nhất là hệ thống tự cân bằng của xe Hệ thống tự cân bằng của xe được sử dụng với yếu tố chính đó là Arduino với chức năng là trung tâm xử lý
dữ liệu, dữ liệu được lấy từ cảm biến MPU 6050 rồi sẽ được xử lý để giữ xe cân bằng
1.1.2 Tình hình nghiên cứu ở nước ngoài
Ở nước ngoài thì việc nghiên cứu và ứng dụng hệ thống xe tự cân bằng vào các ngành kĩ thuật đã không còn xa lạ gì Nó được ứng dụng nhiều và hiệu qủa trong giao thông đi lại, vận chuyển hàng hóa Hệ thống xe tự cân bằng được nhiều ngành công nghiệp sử dụng ngày càng nhiều như vận chuyển ở những nơi con người không thể trực tiếp vận hành được Đặc biệt trong ngành y tế thì nó được ứng dụng trong giường bệnh tự cân bằng, trong lúc vận chuyển bệnh nhân thì không thể tránh những sai sót khi đang di chuyển mà xe không giữ được cân bằng và làm cho bệnh nhân bị di
Trang 10chuyển và gây ra những hậu quả không mong muốn Và hiện tại trên thế giới cũng đã
có nhiều công ty tập đoàn đã đầu tư và nghiên cứu hệ thống xe tự cân bằng để ứng dụng nó vào thực tế và càng ngày càng chế tạo ra những thiết bị thông minh linh hoạt cho con người sử dụng và ngày càng tiện lợi trong cuộc sống
Vào năm 2003, Jack Wu và Jim Bai là những sinh viên trường đại học Camegie Mellon dưới sự trợ giúp của GS Chris Atkeson đã thực hiện đề tài robot hai bánh tự cân bằng Robot này có thể xác định vị trí hướng của nó đối với môi trường và lái động cơ theo hướng này Để đo góc nghiêng của robot, các sinh viên này đã sử dụng
hệ thống đo lường góc 2DOF được tích hợp sẵn của hãng Rotomotion Hệ thống này gồm gia tốc kế ADXL202 và mạch con quay hồi chuyển Vi mạch điều khiển dùng trên robot này BasicX24, có nhiều tính năng khác nhau Nó được dùng như bộ điều khiển động cơ com1 được nối với pocket PC và com3 được nối với bộ điều khiển servo Mini SSC12 Nó còn được sử dụng như CPU chính cho việc điều khiển thăng bằng cho robot
Phòng thí nghiệm điện tử công nghiệp của viện công nghệ Federal, Lausanme Thụy sỹ, đã tạo ra cuộc cách mạng đầu tiên khi xây dựng mô hình xe hai bánh Robot JOE cao 65cm, nặng 12kg, tốc độ tối đa khoảng 1,5m/s, có khả năng leo dốc nghiêng đến 30 độ Nguồn điện cấp là nguồn pin 32v khả năng 1,8Ah Hình dạng của nó gồm hai bánh xe, mối bánh gắn với một động cơ DC, chiếc xe này có thể chuyển động xoay theo hình chữ U Hệ thống điều khiển được lắp từ hai bộ điều khiển state-space tách rời nhau, kiểm soát động cơ để giữ cân bằng cho hệ thống Những thông tin của JOE được cung cấp bởi hai encoder quang và vận tốc của con quay hồi chuyển JOE được điều khiển bởi một bộ điều khiển từ xa R/C thường được sử dụng để điều khiển các máy bay mô hình Bộ điều khiển trung tâm và xử lý tín hiệu là một board xử lý tín hiệu
số ( DSP ) được phát triển bởi chính nhóm của viện nghiên cứu Có khả năng xử lý dấu chấm động, 12 bộ biến đổi A/D 12 bit và 4 bộ biến đổi D/A 10 bit
Equibot là robot cân bằng do Dan Piponi thực hiện Cơ bản nó dựa vào vi điều khiển ATMega23 RISC Cả hai servo Hitec-311 chuẩn được sửa đổi cho xoay vòng
360 độ và nguồn điện được nối trực tiếp với các động cơ để PWM kiểm soát chúng Một trong hai servo được gắn với bộ điều khiển tứ cực LQR Đó là phần phức tập nhất trong cấu trúc robot, bánh còn lại bắt chước tốc độ của bánh thứ nhất Equibot chỉ có
Trang 11một loại cảm biến hồng ngoại Sharp thay cho cảm biến về góc Nó được đặt thấp để đo khoảng cách với sàn Ngõ ra từ thiết bị được dùng để xác định hướng robot di chuyển Balibot, một robot hai bánh tự cân bằng, là một trong các mẫu đầu tiên về robot hai bánh có trọng tâm phía trên các bánh xe Không có hệ thống điều khiển hoạt động, robot sẽ bị ngã Khi robot có nhận biết hướng mà nó sắp ngã, các bánh xe sẽ di chuyển
về phía ngã và thẳng góc với chính nó Cảm biến góc nghiêng để đo góc nghiêng của robot, gia tốc kế Motorola MMA2260 được sử dụng, thiết bị có cấu trúc MEMS PIC16F876 của hãng Microchip được chọn làm trung tâm điều khiển cho robot PIC tích hợp một bộ biến đối A/D nhiều kênh để đo cảm biến góc nghiêng và các ngõ I/O
để kiểm soát hai servo được mô tả cho sự quay vòng tiếp theo Điện được cung cấp bằng bốn cục pin AA và được ổn áp dropout Nguồn điện 6V không qua ổn áp được phân phối đến động cơ servo qua tụ điện 3300pF qua bù năng lượng cho vi mạch điều khiển khi công suất ngõ ra từ các servo được hoạt động Mạch điện tử được xây dựng trên bảng project board Radio Shack RS 276-150 và lắp ráp phía trên các motor servo, trên khung bằng nhôm Nguồn điện được đặt gần đỉnh và hoạt động như trọng lượng của con lắc ngược Một phiên bản khác của BaliBot sử dụng các cảm biến hồng ngoại
để đo khoảng cách thay vì dùng các cảm biến đo góc
Hình 1.1 Hình ảnh về robot Balibot
Trang 12Robot cân bằng Bender là đề án do TedLarson, San Francisco thực hiện Mục tiêu hiện tại của ông là xây dựng robot tự cân bằng trên mặt sàn, và từ đó dùng làm nền cơ bản (platíorm) để xây dựng robot tự hành dùng bánh xe
Loại robot phục vụ con người, kiểu rolling phục vụ con người của hãng TOYOTA Đây là một trong những loại robot có công dụng phục vụ cho con người do hãng toyota thiết kế Nó cao 100cm và nặng 35kg Mẫu robot này có khả năng di chuyển nhanh mà không chiếm một không gian lớn, đồng thời đôi tay của nó có thể làm nhiều việc khác nhau, chủ yếu được dùng làm trợ lý trong công nghiệp
Hình 1.2 Hình ảnh loại robot kiểu rolling của toyota
Hiện tại trên thế giới đã có rất nhiều công ty đã và đang sản xuất hệ thống xe tự cân bằng cho người sử dụng và ngày càng cải tiến để càng ngày được mọi người yêu thích và sử dụng hàng ngày
Không giống như một chiếc xe hơi, Segway chỉ có hai bánh - trông nó như một chiếc xe đẩy bằng tay thông thường - nó còn kiểm soát hoạt động ở tư thế thẳng đứng
Để di chuyển đến trước hay lùi ra sau, người lái đứng trên Segway chỉ việc hơi nghiêng về phía trước hay phía sau Để quẹo trái hay phải, người lái quay tay lái qua phải, hướng ra trước hay ra sau Hoạt động cân bằng ở Segway là một điều thú vị nhất,
đó là chiếc chìa khóa của quá trình hoạt động Xem xét về mô hình Karmen về thăng bằng của cơ thể người để hiểu hệ thống làm việc như thế nào Nếu ta đứng và nghiêng người về phía trước không còn thăng bằng bạn sẽ ngã về trước Bộ não biết rằng bạn không còn thăng bằng nữa, bởi vì chất dịch trong tai trong dao động, nên nó truyền tín hiệu ra lệnh cho chân bạn đặt lên phía trước và bạn lấy lại thăng bằng Nếu bạn giữ mình trong trạng thái nghiêng về trước, bộ não điều khiển chân bạn đặt lên trước và giữ bạn đứng thẳng Thay vì ngã, bạn bước đến trước
Trang 13Hình 1.3 Hình ảnh Segway
Segway tạo ra khả giống như vậy, ngoại trừ nó có bánh xe thay vì đôi chân, động
cơ thay cho bắp cơ, tập hợp các vi mạch xử lý thay cho một bộ não và một dãy các cảm biến nghiêng thay cho hệ thống cân bằng tai trong Như bộ não của bạn, Segway nhận biết khi ta hướng về trước Để duy trì cân bằng, nó quay bánh xe đến trước chỉ với tốc độ vừa phải (chính xác), nên ta di chuyển đến trước Sự phân chia rõ ràng (con quay hồi chuyển chính yếu - trạng thái cân bằng) Khối Segway được lắp đặt nhiều hơn hai bánh xe Thiết bị lái tận dụng cả công nghệ drive-by-wire và thiết bị cơ khí của hệ thống Trong khi việc thiết kế bốn bánh đưa đến vận động dễ dàng và tốc độ cao hơn, người lái có thể chọn lựa giữa việc sử dụng bốn bánh hay chỉ hai bánh xe Điều cơ bản nhất, Segvvay là sự kết hợp của một dãy các cảm biến, một hệ thống kiểm soát và một hệ thống động cơ Hệ thống cảm biến chủ yếu là sự kết hợp các con quay hồi chuyển (gyroscope) Một con quay hồi chuyển cơ học cơ bản là một bánh xe quay tròn bên trong cơ cấu vững chắc Mục đích sự quay tròn nhằm kháng lại sự thay đổi trục quay của nó, bởi vì lực tác động di chuyển dọc theo cơ cấu Nếu ta đẩy một điểm trên bánh xe quay, ví dụ, điểm này di chuyển quanh bánh trước trong khi nó vẫn còn giữ lực tác động Khi một điểm lực giữ di chuyển, nó kết thúc lực tác dụng đối diện với điểm cuối của bánh xe - không còn cân băng lực Bởi vì nó kháng đối với lực bên ngoài, bánh xe quay hồi chuyển sẽ duy trì vị trí của nó trong không gian (liên hệ với mặt đất) thậm chí nếu bạn nghiêng nó đi Nhưng hệ thống con quay hồi chuyển sẽ
di chuyển tự do trong không gian Bằng việc đo lường vị trí của bánh xe quay liên hệ với cơ cấu, cảm biến chính xác có thể cho ta biết độ dốc của vật (nó nghiêng bao nhiêu
so với vị trí thẳng đứng) cũng như tốc độ dốc (nó nghiêng nhanh như thế nào)
Một con quay hồi chuyển thông thường sẽ cồng kềnh và khó bảo dưỡng xe, nên Segway tiếp thu hiệu quả này với hình thức khác của cơ khí Segway vận dụng một
Trang 14cảm biến tốc độ nghiêng bán dẫn đặc biệt được tạo từ silic Loại con quay hồi chuyển này quy định sự quay vòng của vật thể sử dụng hiệu ứng Coriolis trên một lớp rất nhỏ Segway HT có năm cảm biến hồi chuyển, mặc dù nó chỉ cần ba cảm biến để phát hiện ra mức đẩy ra trước và ra sau cũng như nghiêng bên trái hay bên phải Các cảm biến còn lại làm cho phương tiện chắc chắn hơn Thêm vào đó, Segway có hai cảm biến nghiêng chứa đầy dung dịch điện phân Giống như tai trong, hệ thống nhận biết vị trí nghiêng có liên hệ với mặt đất trong trạng thái nghiêng của bề mặt chất dịch
Tất cả thông tin về trạng thái nghiêng truyền đến “bộ não” của xe, hai bảng mạch điều khiển điện tử bao gồm một bó vi mạch xử lý Segway có tổng cộng 10 bảng mạch
vi xử lý, với năng lực gấp ba lần năng lực PC điển hình Thông thường cả hai bảng mạch làm việc chung với nhau nhưng nếu một bảng bị hư, bảng còn lại nhận tất cả các chức năng để hệ thống báo tín hiệu cho người lái biết sự trục trặc để khởi động lại Segway đòi hỏi năng lực làm việc cao của bộ não vì nó cần điều chỉnh cực kỳ chính xác để giữ không bị ngã Trong những máy thông thường, bảng mạch điều khiển kiểm tra vị trí cảm biến khoảng 100 lần/giây Mạch vi xử lý điều hành phần mềm tương thích để phát tín hiệu tất cả các thông tin ổn định và điều chỉnh tốc độ cho nhiều động cơ điện phù hợp Động cơ điện được nạp năng lượng từ một cặp pin (Ni-MH) có thể sạc lại, làm quay độc lập mỗi bánh xe với tốc độ khác nhau
Khi xe nghiêng về trước, động cơ làm cả hai bánh xe quay về trước và giữ về trạng thái nghiêng Khi xe nghiêng ra sau, động cơ làm cả hai bánh xe quay ra sau Khi người lái điều khiển tay lái quẹo trái hay phải, động cơ làm một trong hai bánh xe quay nhanh hơn bánh xe kia hay hai bánh xe quay ngược chiều để xe xoay quanh
Nó chỉ đi khoảng 12 dặm/giờ (20km/giờ), và nó cần nạp điện khoảng 6 giờ để dự trữ dùng đủ cho một chuyến đi 15 dặm (24km)
Segway là sự lựa chọn cao trong thành phố Vì các xe hơi đắt tiền và nếu có lượng lớn xe hơi chạy trên đường phố sẽ gây nên ùn tắt giao thông, và thiếu chỗ đỗ xe Tất cả những điều ấy, xe hơi không là phương tiện tối ưu nhất trong khu dân cư đông đúc Segway không thể đưa con người đi đến nơi muốn đến với tốc độ cao nhất, nhưng Segway có thể đi bằng sự di chuyển chậm, nối đuôi nhau Một khi chúng đến nơi, người lái có thể mang Segway vào bên trong mà không phải lo lắng gì về chỗ đỗ xe
Và cũng không cần dừng ở những trạm xăng dầu, mà chỉ cần nạp điện cho xe tại nhà Segway cũng là chiếc máy tốt dùng để đi trong các kho hàng, nơi có nhiều hành
Trang 15lang Người ta còn nhận thấy sự hữu dụng khi đi quanh trong các khu dân cư, sân bay hay công viên Thật sự không có giới hạn không gian trong việc sử dụng xe Segway giúp bạn đi nhanh hơn mà không mất nhiều năng lượng
- Tốc độ cao nhất: 20 km/giờ Gấp ba lần tốc độ đi bộ
- Trọng lượng không tải: 36 kg
- Chiều rộng: không gian bao phủ trên mặt đất của Segway là 19 25 inch (48
-63 cm) Segway có chiều rộng gần bằng kích thước của một người trung bình, nên nó không mất nhiều diện tích trên đường
- Tải trọng: một người nặng 250 pound (110kg) với hàng hóa nặng 75 pound (34kg)
- Phạm vi: đi khoảng 17 dặm (28 km) với một bình sạc đơn Trên mô hình tính toán, thiết kế ước tính xe đi trong phạm vi 11 dặm (17 km) với một bình sạc đơn
- Giao diện hiển thị xe hoạt động: Segway có màn hình LCD nhỏ cho người lái biết năng lượng pin còn bao nhiêu và hoạt động của xe như thế nào, còn tốt không,, biểu diễn trạng thái chung của phương tiện
Trevor Blackwell chế tạo ra xe scooter dựa theo Segway của hãng Mỹ Xe scooter
tự cân bằng này được xây dựng từ những bộ phận giống động cơ xe lăn và từ các cục pin xe RC Những bộ phận và module để chế tạo có giá thành thấp hơn phân nửa Segway Nó không cần phần mềm thực thi cao hay phức tạp Phiên bản đầu tiên được viết trong Python và sử dụng port số để truyền thông tin đến con quay hồi chuyển và mạch điều khiển động cơ Xe được sử dụng vi điều khiển 8-bit từ Atmel, chạy trên
code C với một số điểm trôi Nó gửi những lệnh kiểm soát tốc độ ra port serial khoảng
9600 baud trong Ascn đối với bộ phận lái động cơ, có giá 10 USD do Digikey chế tạo Một con quay hồi chuyển ceramic và gia tốc kế hai trục để điều chỉnh hướng chính xác, cùng hoạt động với vi mạch điều khiển Atmel, với giá 149 USD do Rotomotion tạo ra
1.1.3 Tình hình nghiên cứu trong nước
Như hiện nay trong nước đã có những cơ sở nghiên cứu và chế tạo hệ thống xe tự cân bằng cho người sử dụng và đã được bán ra thị trường nhằm đáp ứng nhu cầu của người sử dụng Ngoài ra các trung tâm còn có những cơ sở sửa chữa xe đã hỏng cho người sử dụng
Trang 16Hiện nay với sự phát triển của khoa học kỹ thuật ngày càng tiên tiến và hiện đại, thì hệ thống xe tự cân bằng ngày càng đóng vai trò thực tế và quan trọng trong đời sống của mỗi con người cũng như các ngành công nghiệp hiện nay Và nó là sự phát triển hướng tới của mọi người cũng như của xã hội trong tương lai gần và tương lai xa
Là xu thế của thế giới cũng như của thời đại
Sự phát triển và đưa vào sử dụng hệ thống xe tự cân bằng ở nước ta tuy phát triển sau so với các nước trên thế giới nhưng do phát triển sau nên nước ta cũng có những
ưu điểm hơn các nước khác Do vậy tuy phát triển sau nhưng chúng ta cũng có những ứng dụng thực tế không kém với các nước trên thế giới Tuy nhiên bên cạnh đó việc sử dụng hợp lý và hiệu quả hệ thống xe tự cân bằng trong các ngành kĩ thuật vẫn là bài toán khó đối với các kỹ sư, kỹ thuật viên
Hệ thống xe tự cân bằng là hệ thống khi chiếc xe di chuyển trên đường mà chở nặng thì như những xe khác thì nó sẽ ngã nhưng với hệ thống tự cân bằng của xe thì nó giữ cho xe được cân bằng và không gây đổ hàng hóa trên xe Xe được sử dụng nhiều trong vận tải và chở hàng hóa trong một nhà máy không cần con người trực tiếp điều khiển mà con người có thể điều khiển từ xa Hiện nay đã có nhiều trung tâm, công ty nghiên cứu và ứng dụng hệ thống xe tự cân bằng và đưa nó vào đời sống
1.2 Tính cấp thiết và phạm vi nghiên cứu, mục tiêu của đề tài
1.2.1 Tính cấp thiết của đề tài
Hiện nay, trong điều kiện đường xá giao thông ngày càng chật hẹp, không khí này càng ôi nhiễm, việc nghiên cứu và chế tạo mô hình xe điện gọn nhẹ, dễ xoay sở, không
sử dụng nhiên liệu đốt trong là một trong những nhu cầu thực sự bên cạnh đó, thiết kế một platform cho mobile robot là một đề tài cần thiết trong lĩnh vực tự động hóa ngày này, nhằm trợ giúp cho trẻ em, người già, vận chuyển hàng hóa, giám sát…trong cuộc sống ngày càng có nhu cầu đi lại và vận chuyển trong các thành phố lớn và các nhà máy sản xuất
Về khía cạnh khoa học và công nghệ, mô hình xe hai bánh tự cân bằng thực sự là một bước đệm quan trọng để có kinh nghiệm trong việc tính toán, mô hình và chế tạo các robot hai chân, là đỉnh cao về khoa học và công nghệ mà các trường đại học trên toàn thế giới mong muốn vươn tới Ngoài ra, mô hình cũng có sự bổ sung cần thiết về các giải pháp công nghệ trong việc chuyển động cũng như giữ được sự cân bằng cho
Trang 17xe, và tiến tới làm bước đệm cho sự lựa chọn phong phú về giải pháp chuyển động của các robot trong tương lai
Về yếu tố tâm lý con người, mô hình xe hai bánh tự cân bằng thực sự là một dấu chấm hỏi lớn cho những người từng dùng nó: tại sao có thể di chuyển và thăng bằng được? điều này cuốn hút nhu cầu được sử dụng một chiếc xe hai bánh tự cân bằng Và
đó là yếu tố hình thành của sự thành công của các công ty, trung tâm nghiên cứu về hệ thống xe tự cân bằng được bán trên thị trường cho con người sử dụng ngày càng nhiều
Hệ thống xe tự cân bằng có những ưu điểm vô cùng to lớn nhưng bên cạnh đó việc thực hiện và giám sát và đưa vào sử dụng còn có nhiều bất cập nên đây là những vẫn đề khó cho các nhà sản xuất và ứng dụng cảm biến gia tốc vào cuộc sống
Việc ra đời hệ thống xe tự cân bằng là cần thiết và là mong mỏi của nhiều người
sử dụng Hệ thống xe tự cân bằng là thiết bị rất cần thiết trong cuộc sống của chúng ta cũng như quan trọng trong các ngành công nghiệp và là thiết bị không thể thiếu trong cuộc sống của chúng ta sau này được
Hệ thống xe tự cân bằng là một trong những phần không thể thiếu trong các ứng dụng của công nghệ thông tin trong thời buổi hiện nay Nó góp phần hiện đại hóa các bước thủ công Đặc biệt góp phần phát triển của công nghệ được ứng dụng vào thực tế của con người Và là sự phát triển mong muốn của nhiều người và nhiều ngành nghề cần đến hệ thống xe tự cân bằng nên nó được mọi người quan tâm nhiều
1.2.2 Phạm vi nghiên cứu của đề tài
Dựa trên những phần cứng đã được tìm hiểu, sử dụng các kiến thức đã học và tài liệu đã có để thiết kế và chế tạo hệ thống xe tự cân bằng kết hợp với định vị GPS để xây dựng thành một hệ thống hoàn chỉnh
1.2.3 Mục tiêu của đề tài
Thiết kế và thi công hệ thống xe tự cân bằng sử dụng Module cảm biến góc gia tốc MPU6050 GY-521, trên hệ thống xe tự cân bằng có định vị GPS được hiển thị kinh độ
và vĩ độ trên LCD được gắn trên xe
Trang 18
CHƯƠNG 2 PHÂN TÍCH BÀI TOÁN
2.1 Yêu cầu bài toán
Ứng dụng Module Cảm Biến Góc Gia Tốc MPU6050 GY-521, động cơ GA25 200rpm, Arduino Uno R3, Module GPS NEO-7M, LCD 16x2_I2C vào thiết kế, thi công hệ thống xe tự cân bằng cho phép định vị GPS và hiển thị tọa độ lên LCD
2.2 Giải pháp thiết kế
2.2.1 Sơ đồ khối
Hình 2.1 Sơ đồ khối của hệ thống
2.2.2 Phân tích chức năng các khối
Khối cảm biến gia tốc: Có chức năng thu thập dữ liệu, thông số góc của xe thông
qua module cảm biến góc gia tốc MPU6050 GY-521 sau đó được xử lý và tính toán
rồi gửi dữ liệu về khối xử lý trung tâm
Khối định vị GPS: Định vị kinh độ và vĩ độ vị trí của hệ thống được gắn vào xe
sau đó sẽ gửi dữ liệu thu được về trung tâm xử lý
Khối xử lý trung tâm: Đây là khối xử lý trung tâm, nó có chức năng nhận tín
hiệu của cảm biến góc gia tốc GPU6050 và Module GPS NEO-7M và xử lý rồi xuất các tín hiệu điều khiển ra các Port để điều khiển Servo tương ứng
Khối động cơ: Nhận các tín hiệu điều khiển từ Khối xử lý trung tâm sau đó sẽ di chuyển theo điều khiển của trung tâm xử lý
Khối nguồn
Khối cảm biến gia tốc
Khối động cơ
Khối xử lý trung tâm
Khối định vị GPS
Khối hiển thị
Trang 19Khối hiển thị: Nhận dữ liệu từ khối xử lý trung tâm để hiển thị kinh độ và vĩ độ
lên màn hình hiển thị
Khối nguồn: Cấp nguồn cho toàn bộ hệ thống
2.3 Nguyên lý hoạt động toàn hệ thống
Hệ thống được cân bằng do Module cảm biến góc gia tốc thu nhập dữ liệu gửi dữ liệu và update dữ liệu liên tục về trung tâm xử lý là Arduino Uno R3 từ đó Arduino sẽ
xử lý dữ liệu và gửi tín hiệu điều khiển về khối động cơ để di chuyển theo trung tâm điều khiển Và Module GPS NEO-7M sẽ thu nhập dữ liệu về vị trí xe đang đứng và gửi dữ liệu thu được về trung tâm xử lý từ đó màn hình hiển thị sẽ nhận dữ liệu từ trung tâm điều khiển để hiển thị thông số về vị trí hiện tại của xe
2.4 Lựa chọn linh kiện
2.4.1 Bộ vi điều khiển Arduino Uno R3
2.4.1.1 Giới thiệu chung về Arduino Uno R3
Hình 2.2 Sơ đồ chân Arduino Uno
Trang 20Môi trường Arduino được thiết kế đơn giản cho người mới bắt đầu sử dụng Không phải phần mềm hay các thiết bị điện tử thực nghiệm, với Arduino bạn có thể xây dựng một dự án đáp ứng được các yêu cầu về điều khiển ánh sáng, âm thanh, chuyển động một cách thông minh tự động… Arduino được sử dụng để tạo ta rất nhiều thứ tuyệt vời như nhạc cụ, robot, điêu khắc ánh sáng, trò chơi, đồ nội thất tương tác thậm chí là quần áo thông minh có khả năng tương tác với cơ thể
Arduino được sử dụng rất nhiều trong các chương trình giáo dục trên toàn thế giới, đặc biệt đối với các nhà thiết kế và nghệ sĩ những người muốn tạo ra những cái mới độc đáo mà không cần am hiểu sâu về vấn đề của kỹ thuật Bởi vì Arduino được thiết kế sử dụng cho những người không am hiểu về kỹ thuật, phần mềm Arduino có rất nhiều ví dụ được cung cấp bởi nhà phát triển nên rất dễ dàng để tiếp cận
Mặc dù dễ dàng sử dụng nhưng Arduino có phần cứng được thiết kế rất tinh tế nên các kỹ sư có thể dễ dàng nhúng nó vào trong các ứng dụng nhúng Những người đã sử dụng và phát triển các ứng dụng nhúng bằng vi điều khiển cũng bị thu hút bởi Arduino
do khả năng phần cứng tốt và và phần mềm tiện dụng dễ dàng cho việc giải quyết các
ý tưởng
Arduino được biết đến nhiều nhất là phần cứng của nó, nhưng phải có phần mềm
để lập trình phần cứng Cả phần cứng và phần mềm gọi chung là “Arduino’’ Sự kết hợp đó cho phép bạn tạo ra các dự án có ý nghĩa và kiểm soát thế giới vật chất Các phần mềm là tự do, mã nguồn mở thông qua một nền tảng Các board bạn có thể mua với giá rẻ hoặc bạn có thể tự thiết kế với mã nguồn schematic mở Ngoài ra, có một số hoạt động liên quan tới Arduino được giải đáp bởi diễn đàn Arduino trên toàn thế giới
và Wikimedia gọi chung là sân chơi Arduino
Phần mềm Arduino: được gọi là sketches, được tạo ra trên máy tính có tích hợp
môi trường phát triển(IDE) IDE cho phép bạn viết, chỉnh sửa code và chuyển đổi sao cho phần cứng có thể hiểu IDE dùng để biên dịch và nạp vào Arduino ( quá trình sử lý này gọi là UPLOAD)
Phần cứng Arduino: là các board Arduino nơi thực thi các chương trình lập trình
Các board này có thể điều khiển hoặc đáp trả các tín hiệu điện, vì vậy các thành phần được ghép trực tiếp vào nó để tương tác với thế giới thực để cảm nhận hoặc truyền thông Ví dụ các cảm biến bao gồm các thiết bị chuyển mạch, cảm biến siêu âm, gia tốc Các thiết bị truyền động bao gồm đèn , motor, loa và các thiết bị hiển thị
Trang 21Hầu hết các board Arduino sử dụng kết nối kiểu USB dùng để cấp nguồn và upload dữ liệu cho board Arduino
Arduino Uno sử dụng 2 vi điều khiển trên board để xử lý tất cả các kết nối USB Chíp dán nhỏ (ATmega8U2) nằm gần cổng cắm dây kết nối kiểu USB Cho phép nạp chương trình và quản lý các thiết bị USB khác cắm vào Chíp ATMega328 chứa chương trình nạp để thực thi chương trình đã được lập trình Trên hầu hết các board Arduino đều sử dụng 1 chip FTDI cung cấp giải pháp cho vấn đề kết nối với cổng nối tiếp của máy tính Ngoài Arduino Uno ra nhà sản xuất cung cấp nhiều board khác như: Arduino Fio, Arduino Nano, Arduino Mega 2560 Với tùy vào ứng dụng có thể chọn các loại board nhỏ hoặc board hỗ trợ nhiều chân TX và RX như Arduino 2560
Hình 2.3 Board cơ bản của Arduino Uno
2.4.1.2.Cấu trúc phần cứng
a Thông số kỹ thuật
Hình 2.4.Hình mặt trên của Arduino Uno
Trang 22Trên board có cổng USB connector để cắm vào máy tính, đèn báo nguồn màu xanh Có công tắc Reset, các pin giao tiếp, LED ở chân 13 và các led báo truyền nhận nối tiếp Ngoài ra còn có các cổng đọc tín hiệu số và tín hiệu tương tự và các chân chức năng PWM và truyền nhận dữ liệu nối tiếp Các chân giao tiếp I2C phục vụ giao tiếp hai dây SDA và SCL, dưới đây là thông số kỹ thuật chính của Arduino:
Hình 2.5.Sơ đồ nguyên lý Arduino Uno
Vi điều khiển ATMega328
- Điện áp hoạt động 5V; Đầu vào điện áp 7-12V; Điện áp đầu vào tới hạn 6-20V
- Chân vào ra số là 14 chân( trong đó có 6 chân băm xung PWM)
- Chân đầu vào tương tự có 6 chân
- Dòng DC vào ra trên chân là 40mA; Dòng đầu ra ở chân 3.3V là 50mA
Trang 23- Bộ nhớ Flash 32KB(ATMega328) trong đó 0.5KB sử dụng cho bootloader
- SRAM là 2KB(ATMega328); EEPROM là 1KB(ATMega328)
- Tần số 16MHz
Trong mạch sử dụng 2 chíp vi điều khiển là ATMega328 và ATMega16U2 với các chức năng như sau: ATMega16U2 được kết nối với cổng USB chứa chương trình bootloader để nạp chương trình, ATMega 328 chứa chương trình lập trình để thực thi ứng dụng
- 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 nguồn thông qua jack cắm nguồn 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 nguồn cho các thiết bị ngoại vi khi kết nối tới bo mạch
- Chân 3V3: Cung cấp nguồn cho các thiết bị cảm biến
- Chân GND : Chân nối đất
c, Chân giao tiếp đầu vào và đầu ra
Trong số 14 chân tín hiêu số chúng ta có thể cấu hình để làm chân nhận dữ liệu vào từ các thiết bị ngoại vi hoặc làm chân để truyền tín hiêu ra các thiết bị ngoại vi Bằng cách sử dụng các chức năng pinMode(), digitalWrite() và digitalRead() hoạt động ở điện áp 5V Mỗi chân có thể cung cấp hoặc nhận một dòng điện tối đa 50mA
và có một điện trở kéo nội (ngắt kết nối theo mặc định) 20-50 kOhms Ngoài ra có một
số chân có chức năng khác
- Chân 0 (Rx) : Chân được dùng để nhận dữ liệu nối tiếp
- Chân 1 (Tx) : Chân được dùng để truyền dữ liệu nối tiếp
- Chân 2 và 3: Chân ngắt ngoài
- Chân 3, 5, 6, 9, 10 và 11: Chân để điều chế độ rộng xung PWM
Trang 24- Chuẩn giao tiếp SPI: Sử dụng chân 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
- Chuẩn giao tiếp I2C: Sử dụng chân đầu vào tương tự A4 (SDA) và A5 (SCL)
- Chân Aref : Tham chiếu điện áp đầu vào analog
2.4.1.3 Ứng dụng của Arduino
Trong thực tế Arduino có rất nhiều ứng dụng bởi khả năng xử lý linh hoạt, phần cứng dễ dàng tích hợp vào hệ thống khác Do đó có thể ứng dụng trong hầu hết các hệ thống điều khiển tự động từ đơn giản từ các thiết bị báo cháy, báo khí ga, đo các thông
số môi trường (nồng độ khí, nhiệt đô, độ ẩm, ánh sáng ), hay phức tạp hơn là xử lý máy in 3D Ngoài ra Arduino còn được ứng dụng trong giải trí như thiết kế robot dò đường, tay cầm điều khiển Arduino còn có thể kết hợp ghép nối với các thiết bị điện
tử khác như kết nối với máy tính nhúng raspberry để thu thập dữ liệu gửi lên mạng internet, hay có thể ghép nối với các board mở rộng như WiFi, Ethernet Shield …
2.4.2 GY-521 MPU 6050
Sân chơi Robot năm 2015 như các bạn đã thấy có rất ít line nên việc đo lường theo line sẽ làm tốc độ robot giảm đáng kể Theo như quá trình chạy thử nghiệm thì yêu cầu được đặt ra là robot chạy thẳng được theo 1 đường giả định Quay chính xác góc mà ít ảnh hưởng đến yếu tố bên ngoài, và vì con cảm biến gia tốc này có độ chính xác cao, ít nhiễu, không đòi hỏi lập trình cao, giá thành hợp lý
Ưu điểm của Gyro: Quay với góc chính xác, ít phụ thuộc yếu tố bên ngoài, Khá rẻ Modul GY-521 tại một số nơi bán có 200k, Thuật toán lập trình khá đơn giản Chuẩn giao tiếp I2C Nhược điểm: Dễ trôi điểm gốc nhưng chống trôi ổn hoạt động có thể có
độ chính xác cao
Hình 2.6 Module Cảm Biến Góc Gia Tốc MPU6050 GY-521
Trang 25Khái niệm: Cảm Biến Góc Gia Tốc MPU6050 GY-521 là cảm biến có 6 trục được thiết kế cho các ứng dụng nguồn nuôi thấp, giá rẻ, và có hiệu suất cao, được ứng dụng trong các điện thoại máy tính bảng, và các thiết bị di động khác
Cảm Biến Góc Gia Tốc MPU6050 GY-521 gồm có 3 trục con quay hồi chuyển (gyroscope) và 3 trục gia tốc (accelerometer) được thiết kế cùng nhau trong nhân chíp Digital Motion Processor (DMP) sử dụng thuật toán MotionFusion Thuật toán MotionFusion có khả năng giao tiếp với 1 số cảm biến khác qua các chân 12C phụ trợ (auxiliary master I2C bus), giúp cho thiết bị có thể trang bị đầy đủ các loại cảm biến trong 1 hệ thống điều khiển board Cảm Biến Góc Gia Tốc MPU6050GY-521 đã được thiết kế với IC nguồn 3.3V trên board và trở kéo trên bus I2C
Cảm Biến Góc Gia Tốc MPU6050GY-521sử dụng công nghệ độc quyền MotionFusion của InvenSense có thể chạy trên các thiết bị di động, tay điều khiển…
Nó được điều hành ra một nguồn cung cấp 3.3v/5v, và giao tiếp thông qua I2C với tốc
độ tối đa 400khz Chíp này cũng có sẵn trong một gói SPI được gọi là MPU6000 cho giao tiếp lên tới 10Mbs
2.4.2.1 Thông số kĩ thuật Cảm Biến Góc Gia Tốc MPU6050 GY-521
- Có 16 bit đầu ra
- Con quay nhạy cảm của cảm biến tuyến tính 0.1 độ/ s
- Tiếng ồn thấp trên cả hai kết quả đầu ra
- Tỷ lệ sản lượng dữ liệu lên đến 1000Hz, mặc dù được xây dựng bằng kỹ thuật
số thấp vượt qua bộ lọc có tần số góc tối đa là 256Hz
Một tính năng của chip này là bộ xử lý chuyển động kỹ thuật số trên máy bay (DMP) Trong lý thuyết có thể được sử dụng để sản xuất trực tiếp các góc Euler, quaternions, hoặc một hướng cosin ma trận, và thậm chí thực hiện lọc cùng với việc tích hợp dữ liệu từ một la bàn I2C bên ngoài
MPU-6050 có thể kết hợp với cảm biến từ trường (bên ngoài) để tạo thành bộ cảm biến 9 góc đầy đủ thông qua giao tiếp I2C
Trang 26Hơn nữa, MPU-6050 có sẵn bộ đệm dữ liệu 1024 byte cho phép vi điều khiển phát lệnh cho cảm biến, và nhận về dữ liệu sau khi MPU-6050 tính toán xong
Cảm Biến Góc Gia Tốc MPU6050 GY-521 với giao tiếp I2C:
- MPU là chíp tích hợp 2 cảm biến: vận tốc góc (gyroscope) và gia tốc góc (accelerometer)
- MPU cho biết vận tốc và gia tốc góc, từ đó xác định được hướng của vật trong không gian 3 chiều
- Nhiệt độ hoạt động tốt nhất: 25 độ C
- Dải nhiệt độ hoạt động: -40 đến +85 độ C
Hình 2.7 Hình ảnh về sơ đồ khối của MPU6050 GY-521
Trang 27Hoạt động với 3 tần số xung clock:
- Xung clock nội: CLK SEL = 0, 1, 2, 3
- Xung clock ngoài 32,768KHz: CLK_SEL = 4
- Xung clock ngoài 19,2MHz : CLK_SEL = 5
- Đầu ra là tín hiệu số về độ dịch góc của 3 trục X, Y, Z với độ rộng thang đo
- Giao thức I2C ở chế độ cơ bản là 100KHz-ở chế độ nhanh là 400KHz
- Bao gồm các dữ liệu nối tiếp (SDA) và đồng nối tiếp (SCL)
- Khi kết nối với vi điều khiển MPU 6050 đóng vai trò là slave Địa chỉ slave là b110100X
- I2C truyền dữ liệu theo từng byte mỗi byte được gửi theo 1 tín hiệu ack
2.4.2.2 Chân giao tiếp của MPU6050 GY-521
Hình 2.8 Chân giao tiếp của MPU6050 GY-521
VCC: 5v/3v3; GND: 0v
SCL: Chân SCL trong giao tiếp I2C
SDA: Chân dữ liệu (kết nối với cảm biến khác)
XCL: Chân xung (kết nối với cảm biến khác)
AD0: Bit0 của địa chỉ I2C
INT: Chân ngắt
Trang 28Một số hàm của MPU6050 GY-521:
- Hàm Init Cảm Biến Góc Gia Tốc MPU6050 GY-521có mã
i2c_writereg(MPU6050_ADD,0x6b,0x00); //cam bien hoat dong
i2c_writereg(MPU6050_ADD,0x19,0x00); //Sample Rate Divider = 0;
i2c_writereg(MPU6050_ADD,0x1a,0x00); //Configuration;
i2c_writereg(MPU6050_ADD,0x1b,0x10); //Gyroscope Configuration; 0-8-10-18
; do phan giai Gyro la 1000do/s
i2c_writereg(MPU6050_ADD,0x6a,0x00); //User Control; Con MPU6050 co kha nang lam master//cua 1 so con có chuan truyen I2C khac, o day khong dung nen khong config
i2c_writereg(MPU6050_ADD,0x37,0x02);}
- Hàm lấy giá trị timer: do Cảm Biến Góc Gia Tốc MPU6050 GY-521 trả về giá trị vận tốc góc nên ta tiến hành thực hiện phép phân tích để có giá trị góc do đó phải đưa việc tính toán vào ngắt timer
// Timer2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
Trang 292.4.2.3 Ứng dụng của Cảm Biến Góc Gia Tốc MPU6050 GY-521
- Ứng dụng trong mô hình máy bay, điện thoại thông minh,
- Là linh kiện không thể thiếu trong hệ thống cân bằng động, đo lường quán tính
- Được các nhà sử dụng nhiều trong các trò chơi điện tử, …
2.4.3 IC L298N
IC L298 là mạch tích hợp đơn chip có kiểu vỏ công suất 15 chân (multiwatt 15) và PowerSO20 (linh kiện dán công suất) Là IC mạch cầu đôi (dual full-bridge) có khả năng hoạt động ở điện thế cao, dòng cao Nó được thiết kế tương thích chuẩn TTL và lái tải cảm kháng như relay, cuộn solenoid, động cơ DC và động cơ bước Nó có 2 chân enable (cho phép) để cho phép/không cho phép IC hoạt động, độc lập với các chân tín hiệu vào Cực phát (emitter) của transistor dưới của mỗi mạch cầu được nối với nhau và nối ra chân ngoài để nối với điện trở cảm ứng dòng khi cần Nó có thêm một chân cấp nguồn giúp mạch logic có thể hoạt động ở điện thế thấp hơn
Hình 2.9 Hình ảnh về sơ đồ khối của IC L298N
Trang 302;3 Out 1; Out 2 Tín hiệu ra của cầu A Dòng của tải mắc giữa
hai chân này được qui định bởi chân 1
4 VS Chân cấp nguồn cho tầng công suất Cần có
một tụ điện không cảm kháng 100nF nối giữa chân này và chân GND
5;7 Input 1; Input 2 Chân tín hiệu vào của cầu A, tương thích
chuẩn TTL 6;11 Enable A;
EnableB
Chân tín hiệu vào enable (cho phép) tương thích chuẩn TTL Mức thấp ở chân này sẽ cấm (disable) tín hiệu ra cầu A (đối với chân EnableA) và/hoặc cầu B (đối với chân EnableB)
9 VSS Chân cấp nguồn cho khối logic Cần có tụ
Trang 31điện 100nF nối giữa chân này với GND 10; 12 Input 3;Input 4 Các chân logic tín hiệu vào của cầu B
13; 14 Out 3; Out 4 Tín hiệu ra của cầu B Dòng của tải mắc giữa
hai chân này được qui định bởi chân 15
Mạch cầu H kép L298 của SGS-Thompson (và các hãng khác) có thể điều khiển dòng điện lên tới 2A trên một kênh và được đóng vỏ như một linh kiện công suất, ta có thể nối hai cầu H bên trong một vỏ LS298 thành một cầu H 4A IC L298 tích hợp 2 tầng công suất (A, B) Tầng công suất chính là mạch cầu và tín hiệu ra của nó có thể lái các loại tải cảm thông dụng ở nhiều chế độ hoạt động khác nhau (tùy thuộc vào sự điều khiển ở tín hiệu vào) Dòng điện từ chân tín hiệu ra chảy qua tải đến chân cảm ứng dòng, điện trở ngoài RSA, RSB cho phép việc cảm ứng cường độ dòng điện này Mỗi cầu được điều khiển bởi 4 cổng tín hiệu vào In1, In2, EnA, và In3, In4, EnB Các chân In có tác dụng khi chân En ở mức cao, khi chân En ở mức thấp, các chân tín hiệu vào In ở trạng thái cấm Tất cả các chân đều tương thích với chuẩn TTL
2.4.4 Bánh xe V2 65mm khớp lục giác 12mm
Hình 2.11 Hình ảnh về bánh xe
Bánh xe V2 đường kính 65mm là loại thường được sử dụng nhất trong các thiết kế robot có động cơ kim loại Bánh xe có chất lượng rất tốt, giá thành phải chăng, dễ lắp ráp và ứng dụng vào thiết kế Bánh xe V2 thường được sử dụng kèm với trục động cơ
để có thể gắn động cơ
Trang 32Có rất nhiều loại bánh V2 trên thị trường với nhiều mức giá khác nhau, bánh xe V2 có đường kính 65mm có ưu điểm :
- Bánh xe V2 chất lượng tốt có bề mặt lốp rất phẳng
- Có đệm cao su cho độ ma sát cao
- Có thiết kế rãnh lốp tối ưu cho độ ma sát và bám đường tốt
- Bánh xe có lớp mút dày đàn hồi bên trong rất tốt giúp bánh không bị xẹp khi có tải và ma sát với đường tốt nhất
Trang 332.4.6 Nguồn Pin
Hình 2.13 Hình ảnh về pin LI-Ion
Cell pin có tên đầy đủ là Lithium-Ion người ta rút gọn thành li-ion để tránh nhầm
lẫn với Li-Po Pin Ion là loại pin cung cấp năng lượng cho hầu hết các dòng smartphone đang có mặt trên thị trường hiện nay với thành phần chính là chất điện phân đóng vai trò môi trường cho ion Li+ dịch chuyển qua lại giữa hai điện cực khi thiết bị hoạt động các ion Li+ di chuyển từ anot sang cattot và quá trình diễn ra ngược lại k0hi sạc, sau mỗi lần xả/ nạp thì hoàn thành một chu trình Phương pháp này cho phép Pin có thể làm rất mỏng với các hình dạng và kích thước của cell pin khác nhau
Ưu điểm của nó:
- Pin Li-Ion nhỏ, nhẹ và có thể làm ở mọi hình dáng kích thước
- Pin Li-Ion có dung lượng cao có nghĩa là nó chứa được nhiều năng lượng
- Pin Li-Ion có dòng xả cao để cung cấp năng lượng liên tục cho thiết bị di động
- Pin Li-Ion có thể ghép kết nối với nhau để tăng cao dòng
- Pin Li-Ion dễ dàng sử dụng, thay, sạc một cách tiện lợi
Đây là lý do tại sao các nhà sản xuất lại tin dùng Pin Li-Ion hơn Còn một ưu điểm cũng là nhược điểm của Li-Po chưa được nhắc đến đó là loại pin này rất ít cháy nhưng khi cháy thì lại cháy lớn, và có thể phát nổ khi sạc không đúng cách hoặc sạc quá mức
Trang 342.4.7 Module GPS NEO-7M
Hình 2.14 Module GPS NEO-7M
Mạch GPS NEO-7M tích hợp anten có kích thước nhỏ gọn, giá thành phải chăng, tích hợp anten GPS độ nhạy cao trên mạch Mạch có thiết kế chắc chắn, vỏ sắt chống nhiễu cho độ ổn định và độ bền cao nhất
Mạch GPS NEO-7M tích hợp anten sử dụng dòng chip mới NEO-7 Series của hãng Ublox danh tiếng NEO-7M được thiết kế để thay thế cho dòng chíp NEO-6 hiện
đã cũ NEO-7M cho sự ổn định, độ bắt sóng cao hơn nhưng vẫn giữ chuẩn giao tiếp UART-TLL, bộ tập lệnh và cách sử dụng giống với các thế hệ trước đó giúp cho việc nâng cấp phần cứng lên thế hệ mới trở nên dễ dàng
Thông số kỹ thuật:
- GPS IC; Ublox NEO-7
- Nguồn điện sử dụng: 3.3v-5v
- Dòng điện sử dụng: 50mA
- Chuẩn giao tiếp: UART-TLL
- Tích hợp anten GPS 25x25x4 chuẩn công nghiệp cho độ nhạy sóng cao
- Tốc độ baud mặc định 9600
- Tần số hoạt động 1Hz-10Hz
Chuẩn giao tiếp: Ublox hỗ trợ 4 cổng giao tiếp
Trang 35Cổng UART:
Mỗi Ublox hỗ trợ 1 hoặc 2 cổng UART Các cổng UART có nhiệm vụ giám sát trạng thái thông tin và cấu hình cho bộ nhận GPS UART chỉ hoạt động ở chế độ bất đồng bộ Tốc độ baud có thể được cấu hình riêng cho mỗi cổng UART, tuy nhiên không hỗ trợ việc cấu hình tốc độ baud khác nhau cho đường truyền và đường nhận của cùng một cổng
Các giá trị tốc độ baud được phép sử dụng: nhưng tốc độ mặc định là 9600
USB POST: Ublox có hỗ trợ một cổng USB Cổng USB có thể được dùng để
kết nối truyền thông và cung cấp nguồn cho bộ nhận GPS
Có hai chế độ cấp nguồn cho cổng USB:
Chế độ tự cấp: ở chế độ này nguồn nuôi cho bộ nhận (Ublox) được cấp từ nguồn bên ngoài VDDUSB được dùng để nhận biết cổng USB có hoạt động hay không
Chế độ cấp nguồn: Ở chế độ này thiết bị được cấp nguồn từ bus USB Do vậy, không cần phải thêm nguồn cấp bên ngoài cho thiết bị
DDC POST: DDC (Display Data Channel) được kết nối tương thích với
chuẩn I2C Tốc độ tối đa 100kHz, Ublox luôn là thiết bị slave Địa chỉ của Ublox mặc định là 0x42, tuy nhiên địa chỉ này có thể thay đổi được
SPI POST: Ublox hỗ trợ cổng giao tiếp SPI có thể hoạt động ở cả 4 chế độ
SPI Mặc định chế độ của cổng SPI là chế độ 0, tuy nhiên ta có thể thay đổi được chế độ hoạt động của cổng SPI Tốc độ SPI tối đa cho phép của các Ublox
là khác nhau và phụ thuộc vào phiên bản và firmware
Trang 36Giao thức NMEA:
Cấu trúc bản tin theo giao thức NMEA
$ <Address> {,value} *<checksum> <CR><LF>
- $: Kí tự bắt đầu luôn luôn là kí tự „$‟
- Address: Trường địa chỉ: chỉ được phép là số hoặc kí tự hoa Trường này được chia làm hai phần nhỏ
+, <XX>: vùng chỉ thị, luôn là GP với các bộ thu GPS, hoặc P với các bản tin đặc trưng
+, <XXX>: Định dạng bản tin, định nghĩa nội dung của bản tin
- Value: Vùng dữ liệu: độ dài của dữ liệu là không cố định Các giá trị cách nhau bằng dấu phẩy “,”
- Checksum: Trường kiểm tra lỗi: Bắt đầu bằng kí tự * và chứa 2 kí tự kiểm tra lỗi
- <CR><LF>: Kết thúc bản tin Luôn luôn là hai kí tự đặc biệt CR ( mã là 0x0D ) và kí tự LF ( 0x0A )
Ví dụ: $GPZDA,141644.00,22,03,2002,00,00*67<CR><LF>
Định dạng tọa độ:
- Giá trị tọa độ từ các bộ thu GPS sẽ trả về theo chuẩn NMEA, giá trị đó
bao gồm độ, phút và phần thập phân của phút
- Ví dụ nếu ta nhận được giá trị 4717.112671 North(Bắc) và
10533.91483 East(Đông) có nghĩa tọa độ là
Firmware Hỗ trợ Ublox 6 Firmware từ 6.00 đến 7.03
Nội dung Cho biết sự khác biệt giữa cột mốc tham chiếu và cột mốc
lựa chọn Nếu Cột mốc đang cấu hình không phải là WGS72 hoặc WGS84, thì trường LLL sẽ là 999 Cột mốc
Trang 37Nội dung Trả về kết quả của RAIM (Receiver Autonomous
Integrity Montoring Algorithm)
Trang 381 235503.00 Hhmmss.ss Thời gian UTC
mốc đang lựa chọn
3 1.6 Số Errlat Mét Sai số dự kiến về vĩ độ
4 1.4 Số Errlon Mét Sai số dự kiến về kinh độ
5 3.2 Số Erralt Mét Sai số dự kiến về độ cao
7 -21,4 Số Bias Mét Ước tính lỗi trên vệ tinh
Firmware Hỗ trợ Ublox 6 Firmware từ 6.00 đến 7.03
4 00833.91590 Dddmm.mm Long Tọa độ kinh độ