Với đề tài điều khiển mobile robot bằng cảmbiến gia tốc, chúng em muốn nghiên cứu và ứng dụng điều khiển chuyển động để điều khiển rô bốt thay cho cách điều khiển thông thường bằng nút b
Trang 1MỞ ĐẦU
Trong những năm gần đây theo sự tiến bộ của khoa hoc kỹ thuật, côngcuộc công nghiệp hóa hiện đại hóa đất nước đang diễn ra khá toàn diện Trướctình hình đó nhiều thách thức cũng được đặt ra
Với sự phát triển về khoa học kỹ thuật ngày càng cao, một đất nướcmuốn phát triển phải đáp ứng được nền khoa học tiên tiến trong lĩnh vực sảnxuất công nghiệp hiện nay.Việc áp dụng những công nghệ mới, tinh tiến vàođời sống vô cùng quan trọng Với đề tài điều khiển mobile robot bằng cảmbiến gia tốc, chúng em muốn nghiên cứu và ứng dụng điều khiển chuyển động
để điều khiển rô bốt thay cho cách điều khiển thông thường bằng nút bấm,hướng đến mục tiêu là điều khiển các máy móc khác một cách dể dàng hơn,than thiện với người sử dụng Ngoài ra còn ứng dụng cảm biến gia tốc vào cáclĩnh vực cụ thể như ô tô, điện thoại thông minh, nhà thông minh, điều khiển3D, ,
Mặc dù chúng em đã rất cố gắng hoàn thành bài báo cáo này đúng thờihạn,nên thiếu sót là điều không thể tránh khỏi, mong quí thầy cô thôngcảm.Chúng em mong nhận được những ý kiến đóng góp của quí thầy cô đểbài báo cáo của chúng em ngày càng hoàn thiện hơn
Cuối cùng chúng em xin chân thành cám ơn quý thầy cô !
Trang 2LỜI CẢM ƠN
Với kiến thức được thầy cô trang bị trong thời gian học tập tại trườngcùng với khoảng thời gian miệt mài nghiên cứu thiết kế phát triển bài tập lớnchúng em đã hoàn thành theo đúng quy định
Để làm được điều đó chúng em xin chân thành cảm ơn cô
……… người đã luôn theo dõi và chỉ bảo tận tình chúng em trong suốtthời gian làm đồ án tốt nghiệp Cô đã hướng dẫn tận tình và truyền đạt lạinhiều kiến thức cũng như kinh nghiệm quý báu giúp chúng em hoàn thành đềtài này Bên cạnh đó chúng em cũng xin chân thành cảm ơn quý thầy cô trong
bộ môn Cơ Điện Tử cũng như trong nhà trường đã hướng dẫn tận tình và dạydỗ truyền đạt kiến thức cho chúng em trong suốt những năm học vừa qua Vàcuối cùng chúng em xin chân thành cảm ơn gia đình, bạn bè đã giúp chúng
em hoàn thành đề tài
Chúng em xin chân thành cảm ơn!
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
TP.HCM, ngày…tháng 06 năm 2013
Chữ ký của GVHD
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Cao Thắng, ngày…tháng 06 năm 2013
Chữ ký của GVPB
Trang 5MỤC LỤC
Trang 6CHƯƠNG I:
TÌM HIỂU CHUNG
Trang 7I. MOBILE ROBOT:
Robot tự hành (Mobile Robot) là một thành phần có vai trò quan trọngtrong nghành robot học Cùng với sự phát triển mạnh mẻ của các hệ thống cơ– điện tử, robot tự hành ngày một hoàn thiện và ngày càng cho thấy lợi íchcủa nó trong công nghiệp và sinh hoạt
Sự phát triển của khoa học kỹ thuật ngày càng nhanh góp phần nâng caonâng
suất lao động Đặc biệt là sự ra đời và phát triển của công nghệ chế tạoRobotnhằm tạo ra sự tự động hóa trong quá trình sản xuất giảm đi sức laođộng bằngchân tay của người lao động
Mobile Robot được ứng dụng rất nhiềutrong cuộc sống.Tiềm năng ứng dụngcủa robot tự hành hết sức rộng lớn Có thể kể đến robot vận chuyển vật liệu,hàng hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay và thư viện; robotphục vụ quét dọn đường phố, khoang chân không; robot kiểm tra trong môitrường nguy hiểm; robot canh gác, do thám; robot khám phá không gian, dichuyển trên hành tinh; robot hàn, sơn trong nhà máy; robot xe lăn phục vụngười khuyết tật; robot phục vụ sinh hoạt gia đình v.v
Mặc dù nhu cầu ứng dụng cao, nhưng những hạn chế chưa giải quyết đượccủa robot tự hành, như chi phí chế tạo cao, đã không cho phép chúng được sửdụng rộng rãi.Một nhược điểm khác của robot tự hành phải kể đến là cònthiếu tính linh hoạt và thích ứng khi làm việc ở những vị trí khác nhau
a. Giới thiệu chung về Mobile Robot:
Khái Niệm:
Robot tự hành hay robot di động (Mobile Robot) được định nghĩa là mộtloại xe robot có khả năng tự dịch chuyển, tự vận động (có thể lập trình lạiđược) dưới sự điều khiển tự động để thực hiện thành công công việc đượcgiao.Theo lý thuyết, môi trường hoạt động của robot tự hành có thể là đất,nước, không khí,không gian vũ trụ hay sự tổ hợp giữa chúng Địa hình bề mặt
mà robot di chuyển trên đó có thể bằng phẳng hoặc thay đổi lồi lõm
Trang 8a) Robot Nomad 150 b) Sự kết hợp giữa robot tự hành Nomadic XR4000 vàcánh tay robot PUMA 560 c) Robot “con rùa” d) Robot Houdini dichuyển bằng bánh xích e) Robot bán tự động nghiên cứu ở vùng cực bắc
Một số hình ảnh Mobile Robot được ứng dụng trong cuộc sống:
b. Cấu trúc chung của Mobile Robot:
• Cảm biến:
Cảm biến thường được định nghĩa theo nghĩa rộng là thiết bị cảm nhận vàđáp ứng lại với những kích thích và các tín hiệu Đây là thiết bị vô cùng quantrọng để robot có thể nhận biết được chính mình và thế giới bên ngoài Chúng
ta phải cần nghiên cứu rõ hơn về vấn đề này, để giúp cho robot trở lên càng
MCU
POWER SUPPLY
ACTUATOR CONTROLER
DISPLAY SENSOR
Trang 9ngày thông minh hơn Cảm biến cũng là một bộ phận được ví như mắt củarobot, có nhiều loại cảm biến như là cảm biến quang, cảm biến hồng ngoại,cảm biến siêu âm, cảm biến hình ảnh,cảm biến gia tốc góc…
Trang 11II. RC SERVO
1. Cấu tạo:
1, Động cơ
2, Bảng điện tử
3, Dây điện nguồn (Đỏ)
4, Dây tín hiệu (màu vàng hoặc trắng)
Hình 15: Bên trong của một
động cơ servo R/C Servo bao gồm một động cơ,một chuỗicác bánh răng giảm tốc, một mạch điều khiển và một vôn kế.
2. Nguyên lý hoạt động:
Động cơ và vôn kế nối với mạch điều khiển tạo thành mạch hồi tiếp vòngkín.Cả mạch điều khiển và động cơ đều được cấp nguồn DC (thường từ 4.8 –7.2 V)
Để quay động cơ, tín hiệu số được gới tới mạch điều khiển Tín hiệu nàykhởi động động cơ, thông qua chuỗi bánh răng, nối với vôn kế Vị trí của trụcvôn kế cho biết vị trí trục ra của servo.Khi vôn kế đạt được vị trí mong muốn,mạch điều khiển sẽ tắt động cơ
Động cơ servo được thiết kế để quay có giới hạn chứ không phải quay liên
Trang 12tục như động cơ DC hay động cơ bước Mặc dù ta có thể chỉnh động cơ servoR/C quay liên tục, nhưng công dụng chính của động cơ servo là đạt được gócquay chính xác trong khoảng từ 900 – 1800 Việc điều khiển này có thể ứngdụng để lái robot, di chuyển các tay máy lên xuống, quay một cảm biến đểquét khắp phòng…
3. Servo và điều biến độ rộng xung:
Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điềubiến độ rộng xung (PWM).Trong hệ thống này, servo là đáp ứng của một dãycác xung số ổn định Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu
số có các xung biến đổi từ 1 – 2 ms Các xung này được gởi đi với tần số50Hz Chú ý rằng không phải số xung trong một giây điều khiển servo mà làchiều dài của các xung Servo đòi hỏi khoảng 30 – 60 xung/giây.Nếu số nàyquá thấp, độ chính xác và công suất để duy trì servo sẽ giảm
Với độ dài xung 1 ms, servo được điều khiển quay theo một chiều (giả sử
là chiều kim đồng hồ như Hình 3.).
Hình 16: Điều
khiển vị trí của trục ra của động cơ bằng cách điều chế độ rộng xung.
Với độ dài xung xung 2 ms, servo quay theo chiều ngược lại Kỹ thuật nàycòn được gọi làtỉ lệ số - chuyển động của servo tỉ lệ với tín hiệu số điều khiển.Công suất cung cấp cho động cơ bên trong servo cũng tỉ lệ với độ lệchgiữa vị trí hiện tạicủa trục ra với vị trí nó cần đến.Nếu servo ở gần vị trí đích,động cơ được truyền động vớitốc độ thấp.Điều này đảm bảo rằng động cơkhông vượt quá điểm định đến.Nhưng nếuservo ở xa vị trí đích nó sẽ đượctruyền động với vận tốc tối đa để đến đích càng nhanhcàng tốt.Khi trục ra đếnvị trí mong muốn, động cơ giảm tốc.Quá trình tưởng chừng nhưphức tạp này
Trang 13diễn ra trong khoảng thời gian rất ngắn - một servo trung bình có thể quay600
trong vòng ¼ - ½ giây
Vì độ dài xung có thể thay đổi tùy theo hãng chế tạo nên ta phải chọnservo và máy thu vô tuyến thuộc cùng một hãng để đảm bảo sự tương thích.Đối với robot, ta phải làm một vài thí nghiệm để xác định độ dài xung tối ưu
Trang 14III CẢM BIẾN GIA TỐC MMA7361QT:
Giá trị điện áp ngõ ra tỉ lệ với gia tốc đo được Từ giá trị gia tốc, ta có thể
tích phân đơn để có giá trị vận tốc hay tích phân 2 lớp để xác định vị trí của vật thể
Gia tốc tĩnh do lực hấp dẫn có thể được dùng để xác định góc và độ nghiêng.
Hình 2 : Cảm biến gia tốc MMA7361QT và Break board.
Trang 15- Điều khiển trong môi trường 3D.
- Chế tạo máy đo góc tĩnh.
- Chống trộm nhờ tính năng đo được độ rung động.
- Cảm biến chuyển động cho rô bốt.
- Sử dụng trong lĩnh vực Game giải trí, các bộ điều khiển chuyển động.
- Ứng dụng cao trong các lĩnh vực như ô tô, điện thoại thông minh, laptop pc,…
Trang 164 Kết nối
Hình4 : Sơ đồ chân của cảm biến MMA7361QT
Chân 10: lựa chon độ nhạy.
Chân 5,6: Nguồn cấp cho cảm biến.
Chân 2 : giá trị ra của trục X
Chân 3 : giá trị ra của trục Y
Chân 4 : giá trị ra của trục Z
Chân 7 : Chế độ ngủ của cảm biến.
Chân 9 : ngo ra chế độ rơi tự do
Chân 13 : chân bật chế độ thử
Cấp nguồn 3V3 cho cảm biến qua 2 chân VDD và VSS, nếu vi điều khiển dùng điện áp 5V thì phải nối chung mass với cảm biến để đảm tín hiệu vào, các chân Sleep mode, g-select 1,2 nối vào các chân I/O của vi điều khiển để điều khiển hoạt động của cảm biến.
Trang 17Các chân X , Y, Z kết nối vào các chân A/Din để đọc giá trị tương tự từ
đó có thể biết được độ nghiêng,…
5 Phương pháp đo cảm biến:
Bằng cách sử dụng bộ chuyển ADC (Analog Digital Converter) trong PIC16F887.
Hình 5: Kết nối cảm biến với vi điều khiển
Trang 18IV VI ĐIỀU KHIỂN PIC16F887:
Hình 6: Cấu trúc vi điều khiển PIC16F887
PIC 16F887 là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tínhnăng, 40 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường) Cấutrúc tổng quát của PIC 16F8887 như sau:
- 5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập
- 2 bộ định thời 8 bits (Timer 0 và Timer 2)
- Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiếtkiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài
- 2 bô CCP( Capture / Compare/ PWM)
- 1 bộ biến đổi AD 10 bits, 8 ngõ vào
- 2 bộ so sánh tương tự (Compartor)
- 1 bộ định thời giám sát (WatchDog Timer)
- Một cổng song song 8 bits với các tín hiệu điều khiển
Trang 19- Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit SerialProgramming)
- Được chế tạo bằng công nghệ CMOS
- 35 tập lệnh có độ dài 14 bits
Hình 7: Sơ đồ chân PIC16F887
Trang 20V GIAO THỨC TRUYỀN DỮ LIỆU NỐI TIẾP BẤT ĐỒNG BỘ
(UART):
Thuật ngữ USART trong tiếng anh là viết tắt của cụm từ: UniversalSynchronous & Asynchronous serial Reveiver and Transmitter, nghĩa là bộtruyền nhận nối tiếp đồng bộ và không đồng bộ Cần chú ý rằng khái niệmUSART (hay UART nếu chỉ nói đến bộ truyền nhận không đồng bộ)thường để chỉ thiết bị phần cứng (device, hardware), không phải chỉ mộtchuẩn giao tiếp USART hay UART cần phải kết hợp với một thiết bịchuyển đổi mức điện áp để tạo ra một chuẩn giao tiếp nào đó Ví dụ, chuẩnRS232 (hay COM) trên các máy tính cá nhân là sự kết hợp của chip UART
và chip chuyển đổi mức điện áp Tín hiệu từ chip UART thường theo mứcTTL: mức logic high là 5, mức low là 0V Trong khi đó, tín hiệu theochuẩn RS232 trên máy tính cá nhân thường là -12V cho mức logic high và+12 cho mức low (tham khảo hình 1) Chú ý là các giải thích trong tài liệu
này theo mức logic TTL của USART, không theo RS232
Hình 8: Tín hiệu tương đương của UART và RS232
Trang 21Truyền thông nối tiếp: giả sử bạn đang xây dựng một ứng dụng phứctạp cần sử dụng nhiều vi điều khiển (hoặc vi điều khiển và máy tính) kết nốivới nhau Trong quá trình làm việc các vi điều khiển cần trao đổi dữ liệu chonhau, ví dụ tình huống Master truyền lệnh cho Slaver hoặc Slaver gởi tín hiệuthu thập được về Master xử lí…Giả sử dữ liệu cần trao đổi là các mã có chiềudài 8 bits, bạn có thể sẽ nghĩ đến cách kết nối đơn giản nhất là kết nối 1 PORT(8 bit) của mỗi vi điều khiển với nhau, mỗi line trên PORT sẽ chịu tráchnhiệm truyền/nhận 1 bit dữ liệu Đây gọi là cách giao tiếp song song, cách
này là cách đơn giản nhất vì dữ liệu được xuất và nhận trực tiếp không thôngqua bất kỳ một giải thuật biến đổi nào và vì thế tốc độ truyền cũng rấtnhanh.Tuy nhiên, như bạn thấy, nhược điểm của cách truyền này là số đườngtruyền quá nhiều, bạn hãy tưởng tượng nếu dữ liệu của bạn có giá trị càng lớnthì số đường truyền cũng sẽ nhiều thêm.Hệ thống truyền thông song songthường rất cồng kềnh và vì thế kém hiệu quả Truyền thông nối tiếp sẽ giảiquyết vần đề này, trong tuyền thông nối tiếp dữ liệu được truyền từng bit trên
1 (hoặc một ít) đường truyền Vì lý do này, cho dù dữ liệu của bạn có lớn đếnđâu bạn cũng chỉ dùng rất ít đường truyền Hình 2 mô tả sự so sánh giữa 2cách truyền song song và nối tiếp trong việc truyền con số 187 thập phân (tức
10111011 nhị phân)
Hình9 : Truyền 8 bit theo phương pháp song song và nối tiếp
Một hạn chế rất dễ nhận thấy khi truyền nối tiếp so với song song là tốc
độ truyền và độ chính xác của dữ liệu khi truyền và nhận Vì dữ liệu cần được
“chia nhỏ” thành từng bit khi truyền/nhận, tốc độ truyền sẽ bị giảm Mặt khác,
để đảm bảo tính chính xác của dữ liệu, bộ truyền và bộ nhận cần có những
“thỏa hiệp” hay những tiêu chuẩn nhất định Phần tiếp theo trong chương nàygiới thiệu các tiêu chuẩn trong truyền thông nối tiếp không đồng bộ Khái niệm “đồng bộ” để chỉ sự “báo trước” trong quá trình truyền.Lấy ví
Trang 22dụ thiết bị 1 (tb1) kết với với thiết bị 2 (tb2) bởi 2 đường, một đường dữ liệu
và 1 đường xung nhịp Cứ mỗi lần tb1 muốn send 1 bit dữ liệu, tb1 điều khiểnđường xung nhịp chuyển từ mức thấp lên mức cao báo cho tb2 sẵn sàng nhậnmột bit Bằng cách “báo trước” này tất cả các bit dữ liệu có thể truyền/nhận
dễ dàng với ít “rủi ro” trong quá trình truyền.Tuy nhiên, cách truyền này đòihỏi ít nhất 2 đường truyền cho 1 quá trình (send or receive) Giao tiếp giữamáy tính và các bàn phím (trừ bàn phím kết nối theo chuẩn USB) là một ví dụ
Khác với cách truyền đồng bộ, truyền thông “không đồng bộ” chỉ cầnmột đường truyền cho một quá trình.“Khung dữ liệu” đã được chuẩn hóa bởicác thiết bị nên không cần đường xung nhịp báo trước dữ liệu đến Ví dụ 2thiết bị đang giao tiếp với nhau theo phương pháp này, chúng đã được thỏathuận với nhau rằng cứ 1ms thì sẽ có 1 bit dữ liệu truyền đến, như thế thiết bịnhận chỉ cần kiểm tra và đọc đường truyền mỗi mili-giây để đọc các bit dữliệu và sau đó kết hợp chúng lại thành dữ liệu có ý nghĩa Truyền thông nốitiếp không đồng bộ vì thế hiệu quả hơn truyền thông đồng bộ (không cầnnhiều lines truyền).Tuy nhiên, để quá trình truyền thành công thì việc tuân thủcác tiêu chuẩn truyền là hết sức quan trọng.Chúng ta sẽ bắt đầu tìm hiểu cáckhái niệm quan trọng trong phương pháp truyền thông này
Baud rate (tốc độ Baud): như trong ví dụ trên về việc truyền 1 bit trong
1ms, bạn thấy rằng để việc truyền và nhận không đồng bộ xảy ra thành côngthì các thiết bị tham gia phải “thống nhất” nhau về khoảng thời dành cho 1 bittruyền, hay nói cách khác tốc độ truyền phải được cài đặt như nhau trước, tốc
độ này gọi là tốc độ Baud Theo định nghĩa, tốc độ baud là số bit truyền trong
1 giây Ví dụ nếu tốc độ baud được đặt là 19200 thì thời gian dành cho 1 bit
Frame (khung truyền): do truyền thông nối tiếp mà nhất là nối tiếp
không đồng bộ rất dễ mất hoặc sai lệch dữ liệu, quá trình truyền thông theokiểu này phải tuân theo một số quy cách nhất định Bên cạnh tốc độ baud,khung truyền là một yếu tốc quan trọng tạo nên sự thành công khi truyền vànhận Khung truyền bao gồm các quy định về số bit trong mỗi lần truyền, cácbit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra sốlượng các bit trong một data cũng được quy định bởi khung truyền Hình 1 làmột ví dụ của một khung truyền theo UART, khung truyền này được bắt đầubằng một start bit, tiếp theo là 8 bit data, sau đó là 1 bit parity dùng kiểm tra
dữ liệu và cuối cùng là 2 bits stop
Start bit: start là bit đầu tiên được truyền trong một frame truyền, bit này
có chức năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được