Lời nói đầu Ngày nay, việc ứng dụng những thành tựu của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một phát triển, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả cao. Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày. Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện tử. Qua những kiến thức đã học được ở môn Vi Điều Khiển, chúng em đã quyết định nhận làm đồ án môn học: Thiết kế, chế tạo robot lau nhà ứng dụng vi điều khiển. Mặc dù đã rất cố gắng thiết kế và hoàn thành đồ án đúng thời hạn nhưng do năng lực còn hạn chế nên vẫn còn những sai sót. Chúng em mong thầy giáo góp ý để việc học tập của chúng em được tốt hơn. Chúng em xin chân thành cảm ơn
Trang 1Đ ÁN CHUYÊN NGÀNH 1Ồ
M C L CỤ Ụ
Lời nói đầu
Ngày nay, việc ứng dụng những thành tựu của khoa học kỹ thuật tiên tiến,thế giới của chúng ta đã và đang ngày một phát triển, văn minh và hiện đại hơn
Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặcđiểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rấtcần thiết góp phần cho hoạt động của con người đạt hiệu quả cao
Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành
và sử dụng được lại là một điều rất phức tạp Các bộ vi điều khiển theo thời giancùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ
vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64bit Điện tử đang trở thành một ngành khoa học đa nhiệm vụ Điện tử đã đápứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngưnghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày
Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kếđiện tử Qua những kiến thức đã học được ở môn Vi Điều Khiển, chúng em đã
quyết định nhận làm đồ án môn học: Thiết kế, chế tạo robot lau nhà ứng
dụng vi điều khiển.
Mặc dù đã rất cố gắng thiết kế và hoàn thành đồ án đúng thời hạn nhưng
do năng lực còn hạn chế nên vẫn còn những sai sót Chúng em mong thầy giáogóp ý để việc học tập của chúng em được tốt hơn
Chúng em xin chân thành cảm ơn!
Giáo viên hướng dẫn: Đặng Văn Khanh
Sinh viên thực hiện: Nguyễn Văn Hiếu
Nguyễn Văn Hoàng
Trang 3Đ ÁN CHUYÊN NGÀNH 1Ồ
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Ngày Tháng Năm GIÁO VIÊN HƯỚNG DẪN
(Ký tên)
Trang 4CHƯƠNG I: GIỚI THIỆU ROBOT LAU NHÀ.
1 Giới thiệu các loại robot lau nhà.
Các loại robot lau nhà hiện nay có những kỹ thuật dẫn đường cho robot khácnhau Có hai hướng chính đó là sử dụng cảm biến và sử dụng hình ảnh
1.1 Robot lau nhà ứng dụng cảm biến để dò đường.
Trên thị trường có rất nhiều loại robot lau nhà sử dụng cảm biến để tránh vậtcản, tất cả đều hoạt động theo nguyên tắc chung là sử dụng cảm biến siêu âmhoặc là cảm biến hồng ngoại để nhận biết vật cản
Ưu điểm của việc sử dụng cảm biến cho robot lau nhà là tín hiệu vào ra ởhai mức là cao và thấp lên dễ cho việc lập trình điều khiển
1.2 Robot lau nhà ứng dụng xử lý hình ảnh để dò đường.
Với phương án xử lý hình ảnh, chúng ta sử dụng camera để quét trên trầnnhà xử lý hình ảnh để tạo bản đồ di chuyển cho robot
Tuy nhiên robot sử dụng công nghệ xử lý hình ảnh trên có nhược điểm làkhông thể hoạt động trong điều kiện thiếu ánh sáng nên dần dần được người sửdụng chuyển sang sử dụng cảm biến để dò đường cho robot làm việc
Từ đó, chúng em sẽ chọn sử dụng cảm biến siêu âm để nhận biết vật cản chorobot
2 Các phương án thực hiện đề tài.
Hiện nay để có thể thiết kế và điều khiển được một robot lau nhà chúng ta
có nhiều cách khác nhau, ví dụ như: Dùng ic số, dùng vi điều khiển, Ở đây,chúng em sẽ chọn ứng dụng vi điều khiển để điều khiển robot lau nhà
Ưu điểm của vi điều khiển là có thể lập trình được, giúp giảm bớt phầncứng của mạch hơn so với sử dụng các phương pháp khác như sử dụng ic số
Trang 5Đ ÁN CHUYÊN NGÀNH 1Ồ
CHƯƠNG II: GIỚI THIỆU VỀ MỘT SỐ LINH KIỆN SẼ DÙNG 2.1 Thiết kế sơ đồ khối và chức năng từng khối.
Hình 2.1: Sơ đồ khối toàn mạch
- Khối nguồn: Cung cấp nguồn điện cho toàn mạch hoạt động
- Khối cảm biến: Nhận biết vật cản
- Khối điều khiển: Nhận biết và xử lý tín hiệu từ khối cảm biến, đồng thờiđiều khiển tín hiệu ra khối động lực
- Khối động lực: Nhận biết tín hiệu từ khối điều khiển để điểu khiển hướng
đi cho robot
2.2 Một số linh kiện sẽ dùng.
2.2.1 Khối cảm biến.
a, Giới thiệu cảm biến siêu âm Devantech SRF05
Siêu âm Devantech SRF05 được sử dụng để thu các thông tin về khoảng cáchmột cách chính xác trong dải từ 3cm đến 3m Sensor này gồm bộ thu phát siêu
âm tách biệt, sensor có 4 chân nối trong đó hai chân cho nguồn nuôi, hai châncòn lại một cho xung tín hiệu vào, một cho tín hiệu ra
Trang 6Hình 2.2.1a: Cảm biến siêu âm SRF05
- Xung phản xạ mức cao có độ rộng xung tỉ lệ với khoảng cách
- Góc mở của bộ phát là 300 SRF05 hoạt động thông qua việc truyền một xung
âm thanh có tần số nằm ngoài dải tần số nghe của con người Xung này truyền ởtốc độ âm thanh khoảng 0.9ft/giây, dưới dạng một chùm hình nón, âm thanhphản xạ trở lại tới đầu thu từ vật thể bất kì trên đường đi của sóng siêu âm Tínhiệu điện tại đầu thu có dạng các xung với độ kéo dài xung phụ thuộc vàokhoảng cách phản xạ kể từ vị trí vật tới đầu thu Để việc thu phát làm việc hiệuquả, bộ phát tạm ngừng phát sóng trong khoảng thời gian siêu âm được truyềnsau đó đợi tín hiệu phản xạ Xung ở đầu ra của sensor được đưa tới bộ xử lý.Việc xác định thời gian kéo dài xung sẽ giúp cho robot xác định được khoảngcách Các đặc trưng của SRF05 có thể kể ra như sau:
- Điện áp sử dụng 5VDC, dòng tiêu thụ cực đại 50mA, thường là 30mA
- Vùng làm việc của sensor: phát hiện khoảng cách từ 3cm tới 3m
- Tần số sử dụng 40Khz
- Xung kích phát 10us mức cao tương thích TTL
Một số yêu cầu về khoảng thời gian thu phát siêu âm:
Tín hiệu xung kích phát siêu âm được giữ ở mức thấp (logic 0) và sau đóđưa lên mức cao (logic 1) trong 10us để khởi phát xung siêu âm Xung siêu âmđược tạo ra thông qua sườn xuống của tín hiệu lối vào Sau khi được kích phát,sóng siêu âm sẽ được phát ra trong 8 chu kì burst Bộ nhận sẽ giữ khoảng trốngtrong khoảng thời gian chừng 100us để tránh nhiễu, ồn từ các âm sắc nhọn của
sự khởi phát và sau đó cho phép nghe âm thanh phản xạ Đường tín hiệu dội âm
ở mức thấp cho đến khi cho phép nhận âm thanh Khi quá trình nhận được cho
Trang 7Đ ÁN CHUYÊN NGÀNH 1Ồ
phép, bộ thu sẽ phát hiện sườn xuống của tín hiệu dội âm (nếu có vật) hoặctimeout (vượt quá thời gian cho phép) Việc đo thời gian được tiến hành từ sườnxuống của tín hiệu lối vào và kết thúc khi sườn xuống của tín hiệu dội âm Nếukhông có vật được phát hiện xung phản xạ sẽ vượt quá thời gian cỡ 36ms
* Nguyên tắc hoạt động :
-Vùng hoạt động của cảm biến siêu âm được xác định bằng cách truyền mộtxung âm thanh ra bên ngoài Xung này sẽ di chuyển với tốc độ âm thanh trongvùng hình nón
-Và âm thanh phản hồi lại từ vùng này khi có bất kỳ vật cản nào trên đường đicủa sóng siêu âm
-Để xác định vùng làm việc bạn cần 2 chân : chân input trigger và chân tạo xungoutput
và sẽ có 8 xung này Mạch nhận tín hiệu sẽ không nhận tín hiệu trong mộtkhoảng thời gain ngắn khoảng 100us để tránh tiếng ồn âm thanh ban đầu này
Trang 8Hình 2.2.1c: Giản đồ hoạt động của SRF05.
Chân output vẫn ở mức thấp cho đến khi mạch nhận cho phép, và sau đó xung ratrên chân output và để biết khoảng cách tới vật thể ta đo chiều rộng của xungnày.Tùy theo xung này ta sẽ biết khoảng cách tới vật thể hoặc không có vật thểtrong vùng làm việc
-Giá trị xung thô trả về được tính bằng ms.Từ đó ta tính được khoảng thông quacông thức sau:
S[m]=344m/s*ti[s]/2
-Với vùng phát hiện từ 3cm tới 3m , ta có thể tính được độ dài của xung là từ100us đến 18ms
-Nếu không có vật cản nào được phát hiện thì chiều rộng của xung là 36ms
b, Giới thiệu về động cơ servo
Một động cơ servo (Servo Motors) là một tổ hợp chung cơ bản của bốn
bộ phận:
một động cơ điều khiển tốc độ DC, một bánh răng, một vi điều khiển và mộtcảm biến Động cơ servo thường cấu tạo gồm 3 dây: dây nguồn, dây tiếp đất vàdây điều khiển, năng lượng (nguồn điện) của động cơ servo được nạp vào liêntục Động cơ servo hoạt động bằng việc kiểm soát dòng điện, giúp động cơ địnhhướng chính xác hướng hoạt động của mình
Trang 9Đ ÁN CHUYÊN NGÀNH 1Ồ
Hình 2.2.1d: Động cơ servo
PWM được sử dụng cho các tín hiệu lệnh của động cơ servo Tuy nhiên,không giống như động cơ DC được PWM điều khiển bằng biến độ rộng xung đểkiểm soát tốc độ quay, động cơ servo dùng điều biến độ rộng xung đó để xácđịnh vị trí của trục động cơ, chứ không chỉ đơn thuần là tốc độ
Trung bình một đơn vị xung được tính dựa trên vị trí trục (thường làkhoảng 1,5ms), mục đích làm sao để giữ trục luôn ở đúng vị trí Mỗi khi giá trịxung tăng lên, sẽ khiến cho trục motor lần lượt chuyển động theo chiều kimđồng hồ, và luôn sẽ có một xung ngắn hơn để đảo trục ngược lại chiều kim đồng
hồ Xung điều khiển serco thường được lặp đi lặp lại khoảng 20 mm/s Có thểnói đơn giản, trục servo di chuyển đến đâu rồi cũng quay về lại vị trí ban đầu
2.2.2 Khối điều khiển.
* Giới thiệu tổng quan về họ Vi điều khiển 8051.
AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chấtlượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasableread only memory)
Các đặc điểm của 8951 được tóm tắt như sau:
Trang 10- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới 1000 chu kỳ.
- Tần số hoat động từ 0 Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình
- 2 bộ Timer/Counter 16 bit
- 128 Byte RAM nội
- 4 Port xuất/nhập (I/O) 8 bit
- Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài
- 64 KB vùng nhớ dữ liệu ngoài
- Xử lý Boolean (hoạt động trên bit đơn)
- 210 vị trí nhớ có thể định vị bit
- 4μs cho hoạt động nhân hoặc chia
* Chức năng các chân của AT89C51
Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra,port 0 còn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được
sử dụng khi AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus
Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit vàbyte Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP,
2 chân P1.0 và P1.1 được dùng cho bộ Timer 2
Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng kép Làđường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ
nhớ mở rộng
Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chứcnăng xuất nhập ra còn có một số chức năng đặc biệt sau:
RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta
phải đưa mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tươngđương 2µs đối với thạch anh 12MHz
Trang 11Đ ÁN CHUYÊN NGÀNH 1Ồ
Trang 12Hình 1.2.1b: Sơ đồ chân của AT89C51XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó thườngđược nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thônthường là 12MHz.
EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc
mức thấp (GND) Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từROM nội Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng
ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một
thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ Sau đó các đường port 0dùng để xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ
PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ
chương trình mở rộng và thường được nối với đến chân /OE (Output Enable)của một EPROM để cho phép đọc các bytes mã lệnh PSEN sẽ ở mức thấp trongthời gian đọc lệnh Các mã nhị phân của chương trình được đọc từ EPROM quaBus và được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh Khithi hành chương trình trong ROM nội, PSEN sẽ ở mức thụ động (mức cao)
Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V
được cấp qua chân 40 (Vcc) và chân 20 (GND)
2.2.3 Khối động lực.
a, Giới thiệu về ic L293D
L293D là một chip tích hợp 2 mạch cầu H trong gói 16 chân Tất cả cácmạch kích, mạch cầu đều được tích hợp sẵn L293D có điện áp cao (lớn nhất36V) và dòng điện lớn nhất 1.2A nên rất thích hợp cho các các ứng dụng côngsuất nhỏ như các động cơ DC loại nhỏ và vừa
Trang 13Đ ÁN CHUYÊN NGÀNH 1Ồ
Hình 2.2.3a: Sơ đồ chân ic L293
Mạch hoạt động nhờ tín hiệu từ vi điều khiển gửi đến để cho mạch cầu H đểđiều khiển động cơ
Trang 14b, Giới thiệu về động cơ giảm tốc
Hình 2.2.3c: Động cơ giảm tốc Hình 2.2.3d: Cấu tạo động cơ dcStator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châmvĩnh cửu, hay nam châm điện, rotor có các cuộn dây quấn và được nối vớinguồn điện một chiều
Trang 16CHƯƠNG III: THIẾT KẾ CHẾ TẠO MẠCH.
3.1 Thiết kế sơ đồ mạch cho từng khối.
3.1.1 Thiết kế mạch điều khiển trung tâm.
Khối điều khiển trung tâm sử dụng vi điều khiển AT89C51, qua chươngtrình đã lập trình được nạp cho chip, vi điều khiển sẽ điều khiển hoạt động củarobot
Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz choVĐK hoạt động Hai đầu này được nối vào 2chân XTAL1 và XTAL2 của VĐK
Bộ RESET có tác dụng đưa vi điều khiển về trạng thái ban đầu Khi nútReset được ấn điện áp +5V từ nguồn được nối vào chân Reset của vi điều khiểnđược chạy thẳng xuống đất lúc này điện áp tại chân vi điều khiển thay đổi độtngột về 0, VĐK nhận biết được sự thay đổi này và khởi động lại trạng thái banđầu cho hệ thống
Hình 3.1.1: Sơ đồ mạch vi xử lý
Trang 17Đ ÁN CHUYÊN NGÀNH 1Ồ
3.1.2 Thiết kế mạch cảm biến.
Hình 3.1.2: Sơ đồ mạch khối cảm biến
Khối cảm biến gồm có một cảm biến siêu âm được gắn trên trục xoay củađộng cơ servo Cảm biến siêu âm đo khoảng cách từ robot tới vật cản bằng cáchtính thời gian từ lúc sóng siêu âm được phát ra đến vật chắn rồi phản hồi về
Sử dụng bằng cách truyền một xung vào chân trigger của module, sau đóchờ một xung trả về trên chân echo, đo khoảng thời gian từ lúc truyền tới lúcnhận, chia đôi rồi nhân với vận tốc cho ta khoảng cách đến vật cản cần đo
Động cơ servo có nhiệm vụ thay đổi hướng cảm biến, thay đổi hướng đo
để nhận biết hướng nào có vật cản và không có vật cản cho robot hoạt động.Servo được điều khiển bởi vi điều khiển, muốn ở góc 900 ta cấp cho chân PMW
Trang 18một xung có độ rộng 1.5ms, quay trái ta cấp xung nhỏ hơn 1.5ms, quay phải tacấp xung lớn hơn 1.5ms.
Trang 203.2 Thiết kế sơ đồ nguyên lý toàn mạch.
Hình 3.2: Sơ đồ nguyên lý toàn mạch
Trang 21
Đ ÁN CHUYÊN NGÀNH 1Ồ
• Phân tích nguyên lý toàn mạch
Khi khởi động robot, vi điều khiển sẽ cấp một xung tới chân trigger củacảm biến siêu âm, khi đó đầu phát của cảm biến siêu âm sẽ tạo ra một sóngsiêu âm phóng vào không gian, khi gặp vật cản thì sẽ có sóng siêu âm phảnhồi về đầu thu của cảm biến, đồng thời sẽ có tín hiệu đưa đến vi điều khiển,
vi điều khiển xử lý tín hiệu dựa vào thuật toán rồi đưa tín hiệu đầu ra điềukhiển chiều quay của động cơ cho robot đổi hướng Khi không có vật cản thìrobot tiếp tục đi thẳng
Trang 223.3 Thiết kế sơ đồ mạch in.
Sơ đồ
mạch in
Trang 23Đ ÁN CHUYÊN NGÀNH 1Ồ
Hình 3.3b:Sơ đồ bố trí linh kiện
3.4 Lưu đồ thuật toán điều khiển.
Cảm biến tác động
Đi thẳng
Trang 25typedef unsigned char uint8_t;
typedef unsigned int uint16_t;
for(j=0;j<125;j++);
}
Trang 26}}
Trang 30play != play;
while(!Start);
}if(play==0) RobotStop();
else{
if(mode==0){
chayj thanh
StartRange(); // laykhoang cach
if(range < 10) // kc <10cm
{
RobotStop();
delay_ms(100);
Trang 31Đ ÁN CHUYÊN NGÀNH 1Ồ
mode=1;
}}if(mode==1){
RobotLeft(); // quaytrai
delay_ms(500);
RobotStop();
StartRange(); // laykhoang cach
if(range > 10) // kc >10cm
{
mode=0; // cho dithang
}else {
RobotRight(); //quay phai ve giua
delay_ms(500);
mode=2;
}}if(mode==2){
Trang 32RobotRight(); //quay phai
delay_ms(500);
RobotStop();
StartRange(); // laykhoang cach
if(range > 10) // kc >10cm
{
cho di thang
}else {
RobotLeft();// quaytrai ve giua
delay_ms(500);
mode=3;
}}if(mode==3){
RobotDown(); // lui lai 1doan
delay_ms(1000);
RobotStop();
mode=1; // lap laiquy trinh