báo cáo nhập môn điện tử viễn thông thực hiện bởi team 3 kstndtvtk59 bách khoa Hà nội về robot tránh vật cản. Mẫu báo cáo này gồm các phần được thực hiện chi tiết, khoa học là tài liệu hữu ích cho các sinh viên trong quá trình viết báo cáo. Robot sử dụng vi điều khiển arduino, 1 cảm biến SRF05, 1 động cơ servo, 2 động cơ DC, 1 đế pin...
Trang 11
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
BÀI TẬP LỚN NHẬP MÔN ĐIỆN TỬ VIỄN THÔNG
ĐỀ TÀI XE TỰ HÀNH TRÁNH CHƯỚNG NGẠI VẬT
Thực hiện: Nhóm 3 – KSTN ĐTVT K59
Ngô Hoàng Đức Anh Bùi Văn Bao Đinh Tôn Thép Bùi Đức Tường Giảng viên hướng dẫn: PGS.TS Phạm Ngọc Nam
Hà Nội, tháng 12 năm 2016
Trang 22
NỘI DUNG
Lời mở đầu 7
1.Tính cấp thiết của đề tài 7
2.Mục đích của đề tài 7
3.Ứng dụng của đề tài 7
Phần 1 Giới thiệu ý tưởng 8
1.Xác định ý tưởng 8
2.Ứng dụng sản phẩm 8
Phần 2 Mô tả sản phẩm 9
2.1 Yêu cầu chức năng 9
2.2 Yêu cầu phi chức năng: 11
Phần 3 Kế hoạch thực hiện 12
3.1 Bảng đánh giá nguồn nhân lực 12
3.2 Bảng thiết lập kế hoạch 13
Phần 4 Thiết kế theo sơ đồ khối 17
4.1 Sơ đồ khối 17
4.2 Nguyên lý hoạt động 17
Phần 5 Thiết kế chi tiết các khối 18
Lựa chọn phương án tối ưu 18
5.1 Khối vi điều khiển 18
5.1.1 Lưa chọn phương án tối ưu 18
Trang 33
5.1.2 Khối vi điều khiển sử dụng Arduino 20
5.2 Khối nguồn 22
5.3 Khối cảm biến 23
5.3.1 Lựa chọn phương án tối ưu 23
5.3.2 Cảm biến siêu âm SRF05 24
5.4 Khối điều khiển động cơ 26
5.5 Khối động cơ 28
5.5.1 Động cơ DC 28
5.5.2 Động cơ SERVO 28
Phần 6 Mô phỏng 31
Phần 7 Chế tạo 32
7.1 Viết code cho khối điều khiển 32
7.2 Lắp ráp 41
7.2.1 Các linh kiện 41
7.2.2 Lắp ráp mạch và kiểm tra 42
Phần 8 Bàn giao, Bảo hành và Bảo dưỡng 43
8.1 Bàn giao 43
8.2 Bảo hành 43
8.3 Bảo dưỡng 43
Kết luận 44
Tài liệu tham khảo 45
Trang 44
Danh Mục Hình Ảnh
Hình 1:Robot tự hành tránh vật cản 8
Hình 2: Sơ đồ khối của hệ thống điều khiển xe tự hành tránh vật cản 17
Hình 3: 1Mạch sử dụng PIC 18
Hình 4: Arduino 18
Hình 5: Arduino Uno R3 20
Hình 6: Pin Li-ion 3.7V dòng 840mAh 22
Hình 7: Cảm biến Sharp GP2D12 23
Hình 8: Cảm biến SRF05 23
Hình 9: Cảm biến siêu âm SRF05 24
Hình 10: Biểu đồ thời gian của SRF05 26
Hình 11: Module L298 26
Hình 12: Động cơ servo 29
Hình 13: Mô phỏng 31
Hình 14: Sơ đồ quy trình lắp ráp và kiểm tra 42
Trang 55
Danh Mục Bảng Biểu
Bảng 1: Đánh giá nguồn nhân lực 12
Bảng 2: Bảng kế hoạch Network Diagram 13
Bảng 3: Bảng Gantt Chart của kế hoạch dự án 14
Bảng 4: So sánh mạch sử dụng PIC/AVR với Arduino 18
Bảng 5: Thông số kĩ thuật Arduino Uno R3 20
Bảng 6: Đánh giá thông số của các cảm biến 24
Trang 66
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Hà Nội, tháng năm 2016
Chữ ký giảng viên
Trang 77
Lời mở đầu
1.Tính cấp thiết của đề tài
Hiện nay tin học đã và đang được ứng dụng rộng rãi trong hầu hết các ứng dụng của nền kinh tế trong mỗi quốc gia Một trong những ứng dụng được sử dụng gần đây nhất đó là ứng dụng công nghệ thông tin vào công nghệ chế tạo
và điều khiển robot thông minh
Xu thế phát triển hiện nay trên thế giới khoa học và công nghệ luôn có những thay đổi mạnh mẽ Nền kinh tế tri thức cùng với công nghệ thông tin đã góp phần quan trọng vào việc nâng cao chất lượng cuộc sống của con người Trong nền kinh tế tri thức sự phát triển của xã hội không thể tách khỏi sự phát triển của công nghệ thông tin và đặc biệt là sự phát triển của tin học, ngành khoa học công nghệ mới tạo ra các sản phẩm robot và nghiên cứu ứng dụng chính hình thành trong những thập kỷ gần đây được gọi là Robotics
2.Mục đích của đề tài
Mục đính của đề tài là áp dụng công nghệ thông tin vào công việc “Xây dựng 1
xe tự hành có khả năng tự tránh vật cản, đồng thời có chế độ hoạt động dưới sự điều khiển từ xa”
3.Ứng dụng của đề tài
Đem đến một thiết bị thông minh, có khả năng tránh chướng ngại vật
Trở thành một dụng cụ có thể thay thế con người làm những việc ở những môi trường khó khăn
Mong muốn áp dụng trong cuộc sống thực tiễn ở các loại ô tô, xe máy, phương tiện đi lại…
Trang 8 Để biến những chiếc xe bình thường trở thành những chiếc xe thông minh có khả năng đem lại an toàn cho người lái, chúng phải có khả năng phát hiện và tránh chướng ngại vật
Bên cạnh việc đem lại an toàn cho người sử dụng trên đường phố, những chiếc xe với những động cơ “thông minh”có khả năng tự tránh chướng ngại vật cũng có thể đem lại những ứng dụng to lớn trong ngành công nghiệp, giúp cho con người trong những việc nặng nhọc, khó khăn
Trang 99
Phần 2 Mô tả sản phẩm
2.1 Yêu cầu chức năng
Robot tự động có thể phát hiện chướng ngại vật trên đường đi bằng cảm biến và đổi hướng để tránh va chạm
Hoạt động của robot:
Kí hiệu:
Sp1: tốc độ bánh trái (cm/s)
Sp2: tốc độ bánh phải (cm/s)
L1: khoảng cách từ vật cản đến cảm biến trước (cm)
L2: khoảng cách từ vật cản đến cảm biến trái (cm)
L3: khoảng cách từ vật cản đến cảm biến phải (cm)
Hoạt động: Khi bật công tắc robot chạy thẳng Sp1=Sp2=10
Nếu L1>15 : Sp1=Sp1=10
Nếu L1<15:
+L2<15 và L3>15: Sp1=10, Sp2=0, t=1s (rẽ phải 90o)
Hình a +L2>15 và L3<15: Sp1=0, Sp1=10, t=1s (rẽ trái 90o)
Trang 1010
Hình b +L2>15 và L3>15: Sp1=10, Sp2=0, t=1s (ưu tiên rẽ phải 90o)
Hình c +L2<15 và L3<15: Sp1=10, Sp2=0, t=2s (quay phải 180o)
Hình d
Trang 1111
2.2 Yêu cầu phi chức năng:
Chi phí 600k
Thời gian thực hiện: 4 tuần
Thời gian bảo hành: 1 tháng
Môi trường hoạt động:
Bề mặt phẳng có nhiều chướng ngại vật
Nhiệt đô : 0-50 độ C
Độ ẩm: 0-80%
Ngôn ngữ lập trình: C, Assembly
Robot sử dụng công tắc để khởi động
Hình dáng: tương tự mô hình ô tô, khối hộp
Kích thước: nhỏ gọn, 22x12x14 cm, 3 bánh xe
Khối lượng: tối đa 2.5kg
Nguồn điện: 4 pin AA 1.5v nhỏ gọn, dễ tìm, giá rẻ, có thể chạy liên tục trong 1h Sử dụng công tắc để bật tắt
Tốc độ trung bình: 10cm/s
Độ bền:
Phần thân robot đảm bảo sự chắc chắn dưới tác dụng lực nén 50N
Hoạt đông tốt trong điều kiên môi trường phổ biến
Trang 1212
Phần 3 Kế hoạch thực hiện
3.1 Bảng đánh giá nguồn nhân lực
Bảng 1: Đánh giá nguồn nhân lực
STT Tên Điểm mạnh Điểm yếu Sức
khỏe
Phương tiện Thời
gian rảnh
1 Ngô Hoàng
Đức Anh
-Sử dụng tốt các phần mềm Office -Tiếng anh khá
-ít thời gian rảnh
Tốt -Có xe máy
-Có bộ dụng cụ làm
mạch
-Chiều t4,5,6
2 Bùi Văn Bao -Sử dụng tốt các
PM Altium, Proteus -Có nhiều ý tưởng sáng tạo
-Tiếng anh chưa tốt
Tốt -Có xe máy, laptop
-Có bộ dụng cụ làm
mạch
-Chiều t2,t5,t7
3 Đinh Tôn
Thép
-Sử dụng tốtphần mềm Word -Nhiệt tình, tích
cực -Tiếng anh sẽ tốt
-Chưa chăm Tốt -Có xe máy, laptop
-Có bộ dụng cụ làm
mạch
-Các buổi chiều ngoài giờ lên lớp
4 Bùi Đức
Tường
-Sử dụng tốt các phần mềm Word, Excel, PowerPoint -Hàn mạch tốt
-Tiếng anh chưa tốt
Tốt -Có xe máy, máy
tính -Có bộ dụng cụ làm
mạch
-Chiều t2,4,5,6
Trang 1313
3.2 Bảng thiết lập kế hoạch
Bảng 2: Bảng kế hoạch Network Diagram
Trang 1414
Bảng 3: Bảng Gantt Chart của kế hoạch dự án
Trang 1515
Trang 1616
Trang 1717
Phần 4 Thiết kế theo sơ đồ khối
4.1 Sơ đồ khối
Mạch điện gồm 5 khối được thể hiện trong hình 2:
Hình 2: Sơ đồ khối của hệ thống điều khiển xe tự hành tránh vật cản
4.2 Nguyên lý hoạt động
B1: Khối nguồn có chức năng cấp nguồn điện đầu vào +5v cho hệ thống
Đầu tiên, cảm biến(SRF05) tiến hành đo khoảng cách theo 3 hướng bên trái, bên phải, ở giữa sau đó gửi kết quả đo đạc tới vi điều khiển (Arduino)
B2: Vi điều khiển căn cứ vào kết quả đo đạc của cảm biến tiến hành xử lý(
căn cứ vào 7 tình huống khác nhau khi sensor phát hiện vật cản, mỗi tình huống cần có cách xử lý riêng) và ra quyết định cho khối điểu khiển động cơ điều khiển hoạt động của động cơ 1 hay động cơ 2
Trang 1818
Phần 5 Thiết kế chi tiết các khối Lựa chọn phương án tối ưu
5.1 Khối vi điều khiển
5.1.1 Lưa chọn phương án tối ưu
Việc lựa cách thiêt kế khối vi điều khiển rất quan trong Chúng em đưa
ra 2 phương án: mạch sử dụng PIC (Hình 3) và sử dụng Arduino (Hình 4)
-Là mạch do môi người tự thiêt kế -Phức tạp
-Là mạch điện tích hợp PIC/ AVR với các mạch điện khác
-Nhỏ gọn, rất đa dạng, dễ sử dụng,
đa dạng, trực
Trang 1919
quan
Chức năng (0.1)
-Theo mục đích người thiết kế
-Được giới hạn sẵn do nhà sản suất
Yêu cầu kỹ năng
(0.2)
-Nhiều: vẽ mạch, hàn mạch, ủi mạch, kiểm tra, sửa lỗi
-Người có kiến thức khá về điện
tử
-Thích hợp với người chưa có nhiều kiến thức về điện tử
Trang 2020
5.1.2 Khối vi điều khiển sử dụng Arduino
Hình 5: Arduino Uno R3
Một vài thông số của Arduino Uno R3
Bảng 5: Thông số kĩ thuật Arduino Uno R3
Vi điều khiển
Arduino Uno R3 có thể sử dụng vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328 Với board mạch này ta có thể xử
Trang 2121
lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ – độ ẩm và hiển thị lên màn hình LCD,… và còn nhiều ứng dụng hay khác
Arduino Uno có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-
20V Nếu cấp nguồn vượt quá ngưỡng giới hạn, board Arduino sẽ hỏng
Các chân nguồn
GND: cực âm của nguồn điện cấp cho Arduino Uno
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
Vin: để cấp nguồn ngoài cho Arduino Uno, nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND
IOREF: Điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này và có thể luôn là 5V Chú ý vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi nó không phải là chân cấp nguồn
RESET: Khi nhấn nút Reset trên board để Reset vi điều khiển tương đương với việc chân Reset được nối với GND qua 1 điện trở 10KΩ
Các chân hoạt động
Arduino Uno R3 có 14 chân digital dùng để đọc hoặc xuất tín hiệu Ở mỗi chân đều có các điện trở pull-up được đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối), Chức năng của các chân digital:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép xuất ra xung PWM với
độ phân giải 8bit (tương ứng với 0V → 5V) bằng hàm analogWrite()
Trang 22 LED 13: trên Arduino UNO có 1 đèn led màu cam Khi bấm nút Reset,
ta sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số
13 Khi chân này được sử dụng, LED sẽ sáng
Arduino Uno có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, ta có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog
Đặc biệt, Arduino Uno có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
Trang 23 Điện áp đầu vào: 7.4V (Lấy từ2 cục pin Li-ion ) điện áp 3.7V có dung lượng khoảng 840mAh mắc nối tiếp với nhau
Điện áp đầu ra: 5V – 1A
5.3 Khối cảm biến
5.3.1 Lựa chọn phương án tối ưu
Một trong những phần quan trọng nhất trong robot chính là hệ thống cảm biến
Cảm biến được định nghĩa là hệ thống các giác quan của robot Robot cần xác định trạng thái môi trường bên ngoài (như là các vật cản, màu sắc của các vật, ) để gửi trạng thái môi trường đến bộ xử lý rồi đưa ra các phản ứng điều khiển robot để đối phó với các sự kiện bên ngoài ấy
Chúng em đưa ra 2 phương án lựa chọn là sử dụng cảm biến hồng ngoại Sharp GP2D12 (Hình 7) và cảm biến siêu âm SRF05 (Hình 8)
Hình 7: Cảm biến Sharp GP2D12 Hình 8: Cảm biến SRF05
Trang 2424
Bảng 6: Đánh giá thông số của các cảm biến
Tiêu chí Cảm biến hồng ngoại
5.3.2 Cảm biến siêu âm SRF05
Hình 9: Cảm biến siêu âm SRF05
Trang 25 Chức năng chân của SRF05
Chân Vcc là chân nối nguồn 5V
Chân Trigger chân kích hoạt
Chân Echo chân phản hổi
Chân Out
Chân GDN chân nối mass (0V)
5.3.2 Nguyên lý đo khoảng cách của cảm biến SRF05
SRF05 là linh kiện điện tử sử dụng nguyên lý phản xạ của song để đo khoảng cách
Khi muốn đo khoảng cách SFR05 sẽ phát ra 8 xung với tốc độ 40 khz
Sau đó SRF05 sẽ đợi xung phản xạ về
Từ khoảng thời gian giữa xung đi và xung về ta có thể tính được khoảng cách từ SRF05 với vật cản
Khi bắt đầu đo chân Trigger sẽ được gữi ở mức cao tối thiệu là 10us
Sau đó SRF05 sẽ phát ra 8 xung để bắt đầu đo
Khi phát xung và chờ xung phản hồi về, chân Echo được kéo lên mức cao, khi có xung phả xạ về chân Echo sẽ được kéo xuống thấp hoặc sau 30 ms không có xung phản xạ về chân Echo cũng được kéo xuống thấp
Trang 2626
Hình 10: Biểu đồ thời gian của SRF05
5.4 Khối điều khiển động cơ
Khối điều khiển động cơ sử dụng module L298 (Hình 11)
Hình 11: Module L298
Trang 27 Chức năng các chân của L298
4 chân Input: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7,
10, 12 của L298 Đây là các chân nhận tín hiệu điều khiển
4 chân Output: OUT1, OUT2, OUT3, OUT4 được nối với các chân 2, 3,
13, 14 của L298 Các chân này sẽ được nối với động cơ
Hai chân ENA, ENB dùng để điều khiển các mạch cầu H trong L298 Nếu ở mức logic 1 (nối với nguồn 5V) thì cho phép mạch cầu H hoạt động, nếu ở mức logic 0 thì mạch cầu H không hoạt động
Với bài toán ta chỉ cần lưu ý đến cách điều khiển chiều quay của L298
Khi ENA = 0: động cơ không quay với mọi đầu vào
Khi ENA = 1:
IN1 = 1, IN2 =0 động cơ quay thuận
IN1 = 0, IN2 = 1 động cơ quay nghịch
IN1 = IN2 động cơ dừng ngay lập tức(tương tự với chân ENB , IN3, IN4)
Ưu điểm của L298
Khả năng điều khiển dễ dàng (4 chân điều khiển 2 động cơ)
Không xảy ra hiện tượng ngắn mạch trong mạch cầu H như trong các mạch cầu thông thường
Nhược điểm của L298
Giá thành cao
Trang 28 Các thông số của động cơ:
Điện áp DC cấp cho động cơ 7.4V
Tốc độ tối đa 2000 vòng/ phút
Số xung của encoder 60 xung/ vòng
Động cơ có các dây sau:
2 dây cung cấp nguồn 7.4V cho động cơ
2 dây nguồn 5V cung cấp nguồn cho encoder
1 dây tín hiệu đưa xung encoder ra ngoài
Phương pháp điều khiển
Thay đổi tốc độ động cơ bằng cách thay đổi áp cấp vào cho động cơ
5.5.2 Động cơ SERVO
Cấu tạo của SERVO (Hình 12)
Trang 2929
Hình 12: Động cơ servo
1 Motor
2 Electronics Board
3 Positive Power Wire (Red)
4 Signal Wire (Yellow or White)
5 Negative or Ground Wire (Black)
6 Potentiometer
7 Output Shaft/Gear
8 Servo Attachment Horn/Wheel/Arm
9 Servo Case
10 Integrated Control Chip
Hoạt đông của SERVO
Độ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òng kín Cả mạch điều khiển và động cơ đều được cấp nguồn DC
(thường từ 4.8 – 7.2V)
Để quay động cơ, tín hiệu số được gới tới mạch điều khiển Tín hiệu này
khở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ục vô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ơ