Tải bản đầy đủ (.doc) (49 trang)

Thiết kế chế tạo Robot hút bụt tự động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.27 MB, 49 trang )

LỜI MỞ ĐẦU

1. Tính cấp thiết của đề tài
Trong điều kiện kinh tế xã hội và khoa học kỹ thuật phát triển mạnh như ngày nay,
những ứng dụng của công nghệ vào cuộc sống ngày càng phải thông minh hơn và khả
năng tự động cao hơn. Căn cứ vào đòi hỏi cấp thiết đó, đề tài có nhiệm vụ làm tăng sự
thông minh cho robot quét nhà bằng cách áp dụng công nghệ xử lý ảnh. Robot quét
nhà hay cleaner robot là một robot ra đời từ khá lâu, nhiệm vụ của nó là di chuyển
khắp bề mặt sàn để hút bụi. So với máy hút bụi bằng tay, cleaner robot thông minh và
tự động hơn rất nhiều, nó có khả năng làm việc mà không cần nhiều sự can thiệp của
con người. Tuy vậy cleaner robot vẫn phải hoạt động dưới sự điều khiển của con
người, cụ thể trong trường hợp robot cần sạc lại pin hay đổ rác thải hút được. Nhiệm
vụ của đề tài là sử dụng camera để dẫn đường cho robot tới trạm sạc, do đó robot có
thể tự động sạc lại mà không cần sự giúp đỡ của con người. Công nghệ mà đề tài
hướng tới là xử lý ảnh, đây là một công nghệ hiện đại và có khả năng áp dụng rộng rãi
nhằm làm tăng tính tự động và thông minh của các thiết bị điện tử. Do đó, bên cạnh
việc cải tiến cho robot cleaner, đề tài cũng nhằm mục đích làm chủ công nghệ xử lý
ảnh.
2. Tình hình nghiên cứu
Hiện nay đã có nhiều công trình nghiên cứu nhằm cải tiến cleaner robot, thậm trí
những cleaner robot có khả năng tự động dò tìm trạm sạc cũng đã có mặt trên thị
trường. Nhưng những cleaner robot đó sử dụng tin hồng ngoại để dò tìm trạm sạc. Cụ
thể là một chùm tia hồng ngoại hẹp được trạm sạc phát ra, robot sẽ thu và đo cường độ
ánh sáng thu được để xác định hướng di chuyển tới trạm sạc. Tuy vậy sử dụng camera
vẫn là một giải pháp cao cấp hơn và toàn diện hơn cho việc nhận dạng và tìm kiếm.
3. Mục đích nghiên cứu
Như đã trình bày trong phần “ Tính cấp thiết của đề tài” , bản khóa luận hướng tới
2 mục đích chính, đó là: cải thiện tính thông minh cho cleaner robot và làm chủ công
nghệ xử lý ảnh. Sau khi hoàn thành bản khóa luận, cleaner robot có thể tự động tìm
trạm sạc và sạc lại pin mỗi khi pin yếu. Phần xử lý ảnh sử dụng kỹ thuật nhận dạng
trạm sạc bằng màu sắc và hình đạng để tìm ra chính xác vị trí của trạm sạc.




4. Phương pháp nghiên cứu
Để thực hiện được mục đích của bản khóa luận, việc đầu tiên là phải chế tạo một
mô hình của cleaner robot. Mô hình đó phải bao gồm những bộ phận của một robot tự
hành và có thể đặc trưng được cho cleaner robot. Cụ thể là robot đó phải bao gồm:
khối cảm biến, khối nguồn, khối điều khiển và khối động cơ. Sau đó camera không
dây sẽ được gắn lên robot, tín hiệu hình ảnh từ camera sẽ được thu và xử lý bởi một
máy tính. Tín hiệu điều khiển sau đó lại được truyền trở lại robot qua đường truyền
RS232 không dây. Phần mềm được dùng để thiết kế mạch điện tử cho robot là phần
mềm Altium Designer 6.0. Phần mềm dùng cho mô phỏng là Proteus7.5. Vi xử lý
dùng để điều khiển robot là Atmega128, được lập trình bằng ngôn ngữ C thông qua
phần mền Codevision. Phần lập trình xử lý ảnh được thực hiện trên máy tính, ngôn
ngữ dùng để lập trình là ngôn ngữ C++ thông qua phần mềm Visual C++. Hỗ trợ cho
việc sử lý ảnh là thư viện OpenCV, một thư viện được phát triển bởi Intel, hỗ trợ rất
mạnh về xử lý ảnh.
5. Kết quả đạt được của đề tài
Đã chế tạo thành công mô hình của robot cleaner.
Robot có thể di chuyển theo các kiểu đường đi của một robot cleaner trong
thực tế.
Robot có thể nhận biết pin yếu, tự động bật camera và tìm trạm sạc pin rồi sau
đó sạc lại.
Khả năng tìm trạm sạc của robot tương đối chính xác, do áp dụng 2 kỹ thuật
nhận dạng vật thể, đó là: dựa vào màu sắc và dựa vào hình dạng.
Khi sạc đầy, robot tự động ngắt sạc và chuyển sang chế độ quét nhà.
Mọi thông tin liên quan tới robot được thông báo qua màn hình LCD và qua
tiếng nói.
6. Kết cấu của khóa luận
Khóa luận bao gồm 3 phần, được chia làm 3 chương:
Chương 1: Giới thiệu tổng quát về cleaner robot

Chương 2: Thiết kế mạch điện tử
Chương 3: Xử lý ảnh


CHƯƠNG 1: GIỚI THIỆU TỔNG QUÁT VỀ CLEANER ROBOT
1.1. Tổng quan về robot cleaner
Một cleaner robot trong thực tế được cấu tạo gồm các bộ phận cơ khí sau: đế
robot, thanh cảm biến va chạm, cơ cấu giúp robot di chuyển, cơ cấu quét nhà và thùng
chứa rác. Nhưng robot quét nhà dùng cho khóa luận, chỉ là một robot mô phỏng, do đó
nó không có bộ phận hút bụi và thùng chứa rác. Robot dùng trong khóa luận mô phỏng
lại hoạt động của robot thực bằng cách di chuyển theo các kiểu đường đi của robot
trong thực tế, bao gồm: đi theo hình chữ S, đi men tường, nhận dạng, xoắn ốc và xoắn
đa giác.

Hình 1.1: Robot cleaner trong thực tế

Do mục đích của đề tài là sử dụng camera để nhận dạng trạm sạc cho robot, do đó
trên robot dùng trong khóa luận còn được gắn thêm một camera. Thuật toán xử lý ảnh
không thể thực hiện trên những vi điều khiển nhỏ hơn 32 bit, trong khi đó vi điều
khiển dùng cho robot là Atmage128, một vi điều khiển 8 bit, do vậy tín hiệu hình ảnh
do robot thu được phải được truyền không dây về máy tính để xử lý. Sau đó tín hiệu
điều khiển lại được truyền trở lại robot thông qua đường truyền RS232 không dây.
Việc áp dụng máy tính vào điều khiển hoạt động của cleaner robot là hoàn toàn khả
thi, vì trong tương lai không xa, những ngôi nhà thông minh sẽ trở nên phổ biến và
việc sử dụng một máy tính trung tâm để theo dõi và điều khiển hoạt động của toàn bộ
ngôi nhà là điều chắc chắn.


Hình 1.1: Robot dùng trong khóa luận


Hình 1.2: Mô hình thu phát tín hiệu giữa robot và máy tính

1.2. Camera không dây
Camera không dây sử dụng trong khóa luận là loại camera màu, tín hiệu phát ra ở
tần số 1,000 MHz, khoảng cách lớn nhất là 200m. Để thu được tín hiệu, trong khóa
luận sử dụng bộ thu tín hiệu hình ảnh RF của hãng Gadmei. Tín hiệu sau khi thu được
là tín hiệu video tương tự, có thể tương thích với tivi, để đưa được vào máy tính, tín
hiệu đó cần được số hóa. Có thể dùng một USB tivi box để làm việc này, tín hiệu vào
tivi box là tín hiệu video tương tự, tín hiệu ra là tín hiệu số composite, tín hiệu này có
thể đưa trực tiếp vào máy tính thông qua cổng USB (Hình 1 .2).


1.3. RS232 không dây
Để máy tính có thể điều khiển hoạt động của robot, khóa luận đã sử dụng bộ thu
phát RS232 không dây của hãng Maxstream. Trong điều kiện không gian không có
nhiều vật cản, khoảng cách mà thiết bị này có thể hoạt động lên đến 11km. Để có thể
thực hiện việc truyền thông cần có một cặp thiết bị thu phát này, một chiếc đóng vai
trò là bộ phát, cái còn lại đóng vai trò là bộ thu. Trên thực tế, thiết bị này có thể thực
hiện việc thu phát song song. Đối với bản khóa luận, một bộ được kết nối trực tiếp với
cổng Com của máy tính, và bộ còn lại được kết nối với vi điều khiển sau khi đã đưa
qua mạch chuyển đổi tín hiệu từ RS232 sang tín hiệu TTL.
1.4. Hoạt động của Cleaner robot
Hoạt động của cleaner robot dùng trong khóa luận bao gồm 3 chế độ chính, đó là:
quét nhà, tìm trạm sạc và sạc pin.
1.4.1. Khởi động
Khi robot được khởi động, nó sẽ kiểm tra giắc cắm adapter của mạch sạc và dung
lượng pin để quyết định chế độ làm việc: nếu có cắm sạc pin thì robot sẽ ở chế độ sạc,
nếu không cắm sạc pin và dung lượng của pin còn ít, robot sẽ quyết định chế độ tìm
trạm sạc, nếu dung lượng pin còn nhiều, robot sẽ thực hiện chế độ quét nhà.


Hình 1.2: Lưu đồ giải thuật lúc khởi động


1.4.2. Chế độ quét nhà
Khi robot bắt đầu chế độ quét nhà, nó sẽ phát thông báo tới máy tính, máy tính sẽ
phát ra tín hiệu âm thanh thông báo cho người dùng thiết lập kiểu di chuyển của robot
và thời gian quét. Nếu không được thiết lập, robot sẽ hoạt động ở chế độ mặc định là:
kiểu di chuyển hình chữ S và thời gian quét là 30 phút. Sau khi thiết lập xong hoặc
không thiết lập nhưng muốn robot hoạt động, người sử dụng phải nhấn nút trên robot
hoặc nhấn nút OK trên chương trình điều khiển trên máy tính, nếu không nhấn nút,
robot sẽ rơi vào chế độ ngủ sau 10 phút, người sử dụng cần bật lại công tắc khởi động
để khởi động lại robot. Robot có 5 kiểu di chuyển để quét nhà, đó là: đi theo hình chữ
S, đi men tường, nhận dạng, xoắn ốc và xoắn đa giác.

Hình 1.3: 5 kiểu di chuyển để quét nhà

Pin luôn luôn được kiểm tra trong quá trình quét nhà, nếu phát hiện pin yếu, robot
sẽ dừng ngay chương trình quét nhà, để chuyển sang chế độ tìm trạm sạc. Khi robot
quét nhà xong, máy tính sẽ phát ra thông báo cho người sử dụng biết để tắt robot.


Hình 1.4: Thuật toán quét nhà

1.4.3. Chế độ tìm trạm sạc
Khi robot phát hiện ra pin yếu, nó sẽ thông báo với máy tính để máy tính chuyển
sang chế độ tìm trạm sạc. Đồng thời camera trên robot cũng được bật, robot đợi nhận
tín hiệu điều khiển từ máy tính thông qua cổng truyền thông nối tiếp. Máy tính sẽ trực
tiếp điều khiển hoạt động của robot trong chế độ này.
Trạm sạc được đánh dấu bằng một tấm giấy hình chữ nhật, màu đỏ. Đầu tiên máy
tính sẽ thu nhận tất cả những vị trí có màu sắc giống màu sắc của trạm sạc, sau đó đưa

robot di chuyển tới lần lượt các vị trí đó. Khi robot tới gần vật nghi ngờ là trạm sạc,
máy tính sẽ kiểm tra hình dạng của vật đó, nếu đó đúng là trạm sạc thì cho robot tiếp
cận, còn nếu đó không phải là trạm sạc thì cho robot quay đi 45 độ theo chiều kim


đồng hồ để tiếp tục tìm kiếm. Nếu camera không thu nhận thấy khu vục nào có màu
sắc giống trạm sạc, robot cũng sẽ quay lần lượt từng 45 độ theo chiều kim đồng hồ để
kiểm tra. Thời gian dành cho tìm trạm sạc là 10 phút, nếu trong khoảng thời gian này
robot không tìm ra trạm sạc, nó sẽ rơi vào trạng thái ngủ.

Hình 1.5: Trạm sạc cho robot

Hình 1.6: Thuật toán tìm trạm sạc


1.4.4. Chế độ sạc pin
Robot bắt đầu chế độ sạc pin ngay khi bộ phận sạc của robot tiếp xúc với nguồn
điện thích hợp. Robot sẽ thông báo lên máy tính để tắt chế độ tìm trạm sạc, đồng thời
robot cũng tắt camera. Robot cũng có thể cắm sạc trực tiếp mà không cần thông qua
chế độ tìm trạm sạc. Trong quá trình sạc, dung lượng pin của robot luôn luôn được
kiểm tra. Khi pin đầy, robot sẽ tự động lùi lại một chút để tách ra khỏi trạm sạc. Sau
khi tách ra khỏi trạm sạc, robot sẽ ở chế độ quét nhà và chờ người sử dụng thiết lập.

Hình 1.7: Hình ảnh của robot và trạm sạc

Hình 1.8: Thuật toán quét nhà


CHƯƠNG 2: THIẾT KẾ MẠCH ĐIỆN TỬ
2.1. Tổng quan về mạch điện tử của cleaner robot

Cleaner robot dùng trong khóa luận chỉ là mô hình của một cleaner robot thực
trong thực tế, vì mục đích chính của khóa luận là áp dụng thị giác máy tính để giúp
cleaner robot tìm đường đến trạm sạc, nên robot chỉ bao gồm những thành phần điện
tử cơ bản, như: khối điều khiển, bộ phận cảm biến va chạm, loa báo, thiết bị hiển thị,
khối điều khiển động cơ và khối nguồn. Trong khi một robot cleaner trong thực tế
ngoài các thành phần đã liệt kê trên còn cần có: bộ phận hút bụi, cảm biến để nhận biết
cầu thang và thiết bị điều khiển từ xa.

Hiển thị

Cảm biến
va chạm

KHỐI
ĐIỀU
KHIỂN

Máy tính

Loa báo

Động cơ

Nạp pin

Pin Ni-mh

5V

12V


DC 22V

Hình 2.3: Sơ đồ cấu trúc phần điện tử


2.2. Khối mạch nguồn
2.2.1. Nhiệm vụ của khối mạch nguồn
 Tạo ra điện áp 12V2A ổn định cấp cho 2 động cơ. Động cơ được điều khiển
bằng cách cung cấp xung PWM, nên trong quá trình hoạt động, động cơ sẽ tạo ra
nhiễu. Nhiễu này có thể làm ảnh hưởng tới nguồn cung cấp cho mạch điều khiển, do
đó tạo nguồn ổn định cho động cơ cũng chính nhằm mục đích triệt tiêu nhiễu này.
 Cung cấp điện áp 5V1A cho mạch vi điều khiển, mạch sensor, và một số
mạch khác.
 Mạch nguồn phải có khả năng kiểm tra điện áp của pin và thông báo với
mạch điều khiển.
 Pin sử dụng cho robot là pin Ni-mh. Đây là loại pin đòi hỏi kỹ thuật sạc khá
phức tạp, do đó mạch nguồn phải được thiết kết để nạp cho loại pin này.
 Mạch nguồn phải có khả năng tự động ngắt kết nối với pin, không lấy năng
lượng từ pin trong lúc đang sạc. Thay vào đó là lấy năng lượng từ mạch sạc.
2.2.2. Thiết kế mạch nguồn
2.2.2.1. Mạch tạo điện áp không đổi 5V

Hình 2.4: Sơ đồ mạch tạo nguồn 5V sử dụng LM7805

Chíp LM7805 là một loại chíp rất phổ biến, dùng để tạo nguồn 5V. Ưu điểm của
chíp này là cách sử dụng rất đơn giản, tính ổn định cao. Nhưng nhược điểm là chíp chỉ
tạo được dòng ra tối đa là 0.5A, khi chíp hoạt động ở công xuất cao nhiệt lượng tỏa ra
rất lớn và có thể dẫn tới cháy chíp. Để khắc phục nhược điểm này, nên mắc nhiều chíp
LM7805 song song với nhau. Như vậy sẽ tạo được dòng lên đến 1A và giảm công suất

hoạt động cho mỗi chíp.
Một vài thông số đáng lưu ý khi sử dụng chíp LM7805:


o
o
Nhiệt độ hoạt động TJ : 0 C < TJ < 125 C




Điện áp vào V _ Com : 7V < V _ Com < 20V



Dòng điện vào I IN : 5mA < I IN < 1A

Cùng họ với chíp LM7805 còn rất nhiều loại khác cho điện áp đầu ra cố định như:
LM7806, LM7808, LM7810, LM7812, LM7815…phù hợp với nhiều ứng dụng khác
nhau.
2.2.2.2. Mạch cấp nguồn cho động cơ
Động cơ sử dụng cho robot là động cơ 1 chiều, điện áp tiêu thụ 12V, 0.5A. Mạch
nguồn cho động cơ phải đảm bảo cung cấp điện áp 12V không đổi và dòng điện tối
thiểu là 1A. Chíp LM2576-12 có thể đáp ứng được điều này. Ưu điểm của chíp
LM2576-12 là: số lượng phụ kiện đi kèm ít, đơn giản; dòng điện đáp ứng cao; điện áp
ra ổn định.

Hình 2.5: Sơ đồ mạch tạo nguồn 12V cho động cơ

Một số thông số kỹ thuật của chíp LM2576-12:



o
o
Nhiệt độ hoạt động TJ : − 40 C < TJ < 125 C



Điện áp vào V _ Com : 15V < V _ Com < 40V



Dòng điện tải I Max = 3 A


2.2.2.3. Mạch nạp điện cho Pin
 Giới thiệu về pin Ni-mh
Pin sử dụng cho robot là loại pin Ni-mh (Nickel Metal Hidride).

Hình 2.6: Pin Ni-mh

Pin Ni-mh có nhiều ưu điểm như: dung lượng lưu trữ lớn, cung cấp dòng tải cao,
điện trở trong nhỏ. Với những đặc điểm đó, pin Ni-mh rất thích hợp cho những robot
tự hành.
Pin Ni-mh thường được mắc nối thành bộ gồm hai hay nhiều cell. Mỗi cell có điện
áp 1.2V. Dung năng của bộ pin được đo bằng đơn vị mAH (miliAmpere x hours). Một
bộ pin có dung năng C mAH có thể cấp dòng tải C mA liên tục trong 1 giờ, 2C mAH
trong 30 phút…

Đồ thị 1.1: Đường đặc tuyến mô tả quá trình xả của pin Ni-mh


Trong quá trình hoạt động, điện áp của pin chỉ thay đổi nhỏ trong khi pin vẫn còn
năng lượng, điệp áp của pin chỉ thực sự giảm mạnh khi năng lượng của pin gần cạn hết
(Đồ thị 1 .1).Điều này cũng là một ưu điểm của pin Ni-mh, cho phép tạo ra một nguồn
có điện áp ổn định, cũng dễ dàng cho việc kiểm tra dung lượng của pin.


Để nạp pin cần sử dụng một nguồn dòng. Giá trị của nguồn dòng sẽ quyết định tốc
độ và thời gian nạp. Căn cứ vào tốc độ nạp, có thể chia thành các phương pháp nạp pin
như sau:


Trickle charge (nạp từ từ): dòng yêu cầu từ C/30 đến C/11.



Slow charge (nạp chậm): dòng nạp từ C/10 đến C/5.



Rapid charge (nạp nhanh): dòng nạp từ C/4 đến C/2.



Fast charge (nạp siêu tốc): dòng nạp từ C/2 đến C.


C/128.

Maintenance (duy trì): nạp bằng xung, có dòng trung bình từ C/512 đến


Đồ thị 1.2: Đường đặc trưng mô tả điện áp và nhiệt độ

Từ đường đặc trưng mô tả quá trình nạp pin Ni-mh (Đồ thị 1 .1) có thể thấy: khi
pin chưa đầy điện áp và nhiệt độ của pin tăng từ từ; đến khi pin đầy điện áp và nhiệt độ
tăng đột ngột, tuy nhiên sau đó nếu tiếp tục nạp điện áp của pin lại giảm mạnh. Từ đó
có thể rút ra phương pháp nạp như sau: luôn luôn theo dõi tỉ lệ ∆ V/ ∆ t và tỉ lệ ∆ T/ ∆ t,
khi thấy tỉ lệ ∆ V/ ∆ t tăng đột ngột rồi sau đó giảm và tỉ lệ ∆ T/ ∆ t tăng mạnh thì có thể
kết luận là pin đã đầy và có thể kết thúc quá trình nạp. Trong nhiều trường hợp không
nhất thiết phải theo dõi giá trị của nhiệt độ ( ∆ T/ ∆ t) mà chỉ cần kiểm tra sự tăng giảm
của hiệu điện thế ( ∆ T/ ∆ t) cũng đủ để kết luận dung lượng của pin. Ứng dụng cho
clearner robot trong khóa luận chỉ dùng kỹ thuật kiểm tra hiệu điện thế.
 Thiết kế mạch sạc cho pin Ni-mh
Như đã trình bày trong phần “Giới thiệu về pin Ni-mh”, pin Ni-mh đòi hỏi kỹ
thuật sạc bằng một nguồn dòng. Độ lớn của dòng điện có thể thay đổi tùy vào việc sạc


nhanh hay chậm. Chíp LM317 là một chíp thông dụng, đơn giản và thích hợp cho ứng
dụng trên.

Hình 2.7: Sơ đồ nguyên lý mạch nạp cho pin Ni-mh

Một số thông số kỹ thuật của chíp LM317:


o
o
Nhiệt độ hoạt đông: − 55 C < TJ < 150 C




Điện áp hoạt động: 3V < VIN − VOUT < 40V



Dòng điện ra: I OUT < 1.5 A

Ứng dụng cho robot clearner trong khóa luận, điện áp của pin dùng cho robot là
16V do đó cần cấp nguồn nạp tối thiểu 16+3=19V. Bài khóa luận sử dụng điệp áp của
adapter là 22V và dòng điện nạp cho pin là 1A.
Chip LM317 luôn luôn duy trì một điện áp chênh lệch giữa chân OUT và chân
ADJ là 1.24V, do đó điện trở R3 có giá trị 1.24 Ω mắc giữa chân OUT và chân ADJ sẽ
tạo ra dòng điện 1A không đổi chạy vào pin. Diode D1 có tác dụng chỉ cho dòng điện
chạy theo một chiều từ mạch sạc vào pin. Chân bazo của transistor Q1 được nối với tín
hiệu điều khiển “Charge”, khi chân “Charge” dương, transistor Q1 thông làm cho chân
ADJ của LM317 nối đất, do dó điện thế ra VOUT = 1.24V , pin không được sạc, khi chân
“Charge” âm, transistor Q1 ngắt, điện thế ra VOUT lớn hơn điện thế của pin, do đó có
dòng 1A chạy vào pin.
Điện áp tham chiếu của pin được lấy ra từ chân V_sen1, được đưa và ADC0 của vi
điều khiển. Giá trị của V_sen1 được tính theo công thức:
V _ sen1 = V _ bat ×

R7
10
= V _ bat ×
≈ 0.175 × V _ bat
R6 + R7
10 + 47



2.2.2.4. Mạch role
Nhiệm vụ của mạch role là tự ngắt nguồn của pin khi robot chuyển từ chế độ hoạt
động sang chế độ sạc, thay vào đó là sử dụng nguồn 22V từ adapter. Vì nếu vừa sử
dụng pin vừa sạc có thể gây giảm tuổi thọ của pin. Để làm được điều này, trong thiết
kế đã sử dụng role SRD-05VDC. Đây là role 5 chân, khi cuộn dây nối giữa chân 4 và
chân 5 không được cấp điện thì chân 1 được nối với chân 2, ngược lại, khi cuộn dây
được cấp điện chân 1 được nối với chân 3 (Hình 2 .3Hình 2 .8).

Hình 2.8: Hình ảnh và sơ đồ role SRD-05VDC

Hình 2.9: Sơ đồ nguyên lý mạch role

Khi không có điên áp vào từ adapter qua giắc cắm J1, chân V_Com của role thông
với chân V_bat, điện áp dùng cho robot lúc này lấy từ pin. Khi có điện áp, cuộn dây
trong role sẽ có dòng điện chạy qua sẽ làm role chuyển kết nối từ chân V-Com đến
chân V_22v, lúc này điện áp tiêu thụ lấy từ nguồn adapter bên ngoài.
Chân V_sen1 là chân tham chiếu điện áp của adapter, thông báo cho vi điều khiển
biết robot đã kết nối với nguồn sạc 22v bên ngoài hay không. Chân V_sen1 nối trực
tiếp lên chân ADC1 của vi điều khiển. Công thức tính điện áp của chân V_sen1 như
sau:


V _ sen1 = V _ 22v ×

R7
10
= V _ 22v ×
≈ 0.175 × V _ 22v
R 6 + R7
10 + 47


Khi có kết nối với nguồn sạc 22v, Chân V_sen1 = 3.85v, còn khi không kết nối,
V_sen1 = 0. Vi điều khiển căn cứ vào kết quả đọc ADC từ chân V_sen1 để chọn chế
độ làm việc là sạc hay không.
2.3. Mạch điều khiển
2.3.1. Nhiệm vụ của mạch điều khiển
 Điều khiển hoạt động trực tiếp tới các phần khác, như: động cơ, LCD, mạch
sạc pin, loa báo hiệu và thu nhận tín hiệu từ cảm biến tiệm cận.
 Giao tiếp với máy tính để thông báo tình hình làm việc của robot và nhận kết
quả xử lý ảnh từ máy tính gửi đến.
 Khối điều khiển sẽ điều khiển robot làm việc ở 3 chế độ, đó là: quét nhà, dò
tìm trạm sạc và sạc.
2.3.2. Thiết kế mạch điều khiển
Mạch điều khiển sử dụng vi điều khiển trung tâm là Atmega128 – sản suất bởi
hãng Atmel. Đây là vi điều khiển phổ thông và là vi điều khiển đặc trưng của dòng
Atmage với rất nhiều tính năng được tích hợp bên trong. Trong bản khóa luận đã sử
dụng một bo mạch Atmega128 được lắp sẵn, trên đó đã gắn chíp Atmega128, thạch
anh, reset và các kết nối với các cổng vào ra từ chíp.
2.3.2.1. Giới thiệu về vi điều khiển Atmega128

Hình 2.10: Dạng đóng gói và sơ đồ chân của Atmega128


 Các đặc điểm cơ bản của Atmage128
ROM : 128 Kbytes, có khả năng ghi/ xóa lên đến 10,000 lần
SRAM: 4Kbytes
EEPROM : 4Kbytes, có khả năng ghi/ xóa 100,000 lần
Bộ dao động nội RC tần số 1 MHz, 2 MHz, 4 MHz, 8 MHz
Hỗ trợ boot loader
Tần số tối đa 16MHz đối với dòng Atmega128

Tần số tối đa 8MHz đối với dòng Atmega128L
Điện thế : 4.5v - 5.5v đối với Atmega128
Điện thế: 2.7v – 5.5v đối với Atmega128L
 Các khối ngoại vi
2 bộ định thời 8 bit (0,2)
2 bộ định thời 16 bit (1,3)
Bộ định thời watchdog
ADC 8 kênh với độ phân giải 10 bit
Bộ so sánh tương tự có thể lựa chọn ngõ vào
2 kênh PWM 8 bit
6 kênh PWM có thể lập trình thay đổi độ phân giải từ 2 tới 16 bit
Hai khối USART lập trình được
Khối truyền nhận nối tiếp SPI
Khối giao tiếp nối tiếp 2 dây TWI
 Một số tính năng đặc biệt
Có khả năng nạp chương trình ngay trên bo mạch
6 chế độ tiết kiệm năng lượng
Có khả năng ngắt cả trong và ngoài vi điều khiển
Lựa chọn tần số hoạt động bởi phần mền


Hình 2.11: Sơ đồ khối của Atmega128


2.3.2.2. Sơ đồ nguyên lý của mạch điều khiển

Hình 2.12: Sơ đồ nguyên lý mạch vi điều khiển

Bảng 1-1: Mô tả chức năng các chân của vi điều khiển được sử dụng


Tên chân

Stt

Kiểu

Mô tả

XTAL1

24

Vào

Lối vào từ bộ giao động thạch anh

XTAL2

23

Ra

Lối ra từ bộ giao động thạch anh

RESET

20

Vào


Chân reset hệ thông, hoạt động ở mức thấp

VCC

21/52

Nguồn

Lối vào nguồn dương

AVCC

64

Nguồn

Nguồn cho bộ ADC

AREF

62

Tham chiếu

Điện áp tham chiếu cho bộ ADC

GND

22/53/63 Nguồn


Chân nối đất

RX

2

Vào

Chân nhận tín hiệu nối tiếp

TX

3

Ra

Chân truyền tín hiệu nối tiếp


Motor_L_0

10

Ra

Kết hợp với chân Motor_L_1 để thay đổi
chiều quay bánh bên trái

Motor_L_1


11

Ra

Kết hợp với chân Motor_L_0 để thay đổi
chiều quanh bánh trái

Motor_R_0

12

Ra

Kết hợp với chân Motor_R_1 để thay đổi
chiều quanh bánh phải

Motor_R_1

13

Ra

Kết hợp với chân Motor_R_0 để thay đổi
chiều quanh bánh phải

Motor_L_E

14

Ra


Chân cho phép bánh trái hoạt động

Motor_R_E

15

Ra

Chân cho phép bánh phải hoạt động

Led_Green

51

Ra

Điều khiển đèn thông báo màu xanh

Led_Red

50

Ra

Điều khiển đèn thông báo màu đỏ

Charge

49


Ra

Điều khiển mạch sạc pin

Buzz

48

Ra

Loa báo hiệu

Camera

47

Ra

Bật/tắt camera

Sensor_right

45

Vào

Nhận tín hiệu từ sensor bên phải

Sensor_left


44

Vào

Nhận tín hiệu từ sensor bên trái

PortC

35…42

Điểu khiển LCD

V_sen0

61

Vào

Đây là chân ADC, dùng để kiểm tra có
nguồn bên ngoài kết nối với mạch sạc hay
không

V_sen1

60

Vào

Đây là chân ADC, dùng để đo dung lượng

của pin

Các tài nguyên của vi điều khiển Atmega128 được sử dụng cho robot:


13 chân vào/ra



Bộ truyền thông nối tiếp UART0



2 kênh ADC


2.4. Mạch cảm biến và loa báo
2.4.1. Nhiệm vụ của mạch cảm biến và loa báo
 Mạch cảm biến và loa báo có 2 cảm biến quang dạng khe, kết hợp với hệ
thống cơ khí được gắn ở đầu robot, sẽ truyền tín hiệu về vi điều khiên khi xảy ra va
chạm giữa robot và vật cản trên đường đi. Hai cảm biến nằm mỗi bên và lêch về đằng
trước cho phép robot cảm nhận va chạm đến từ bên trái, bên phải hay đằng trước.
 Loa báo có nhiệm vụ thông báo tình trạng của robot, như: pin yếu, bắt đầu
sạc, sạc xong.
2.4.2. Thiết kế mạch cảm biến và loa báo

Hình 2.13: Opto và sơ đồ cấu tạo

Khi robot va chạm với vật cản, hệ thống cơ khí sẽ ngăn cản ánh sáng hồng ngoại
truyền từ led phát sang transistor thu. Tín hiệu sau đó được đưa qua bộ so sánh sử

dụng chíp LM324 để thành tín hiệu chuẩn đưa vào vi điều khiển.

Hình 2.14: Sơ đồ nguyên lý của mạch cảm biến va chạm

Loa báo hiệu sử dụng một loại còi, khi được cấp điện loại còi này sẽ phát ra âm
thanh với tần số 4KHz. Bằng việc thay đổi tần số cấp điện cơ thể tạo ra các âm thanh
khác nhau. Loa sử dụng trong khóa luận dùng để thông báo tình trạng của robot như:
hết pin, sạc xong…


Hình 2.15: Loa và sơ đồ mạch thông báo

2.5. Mạch điều khiển động cơ
Động cơ sử dụng giúp cho robot di chuyển là loại động cơ một chiều, điện thê hoạt
động từ 5V đến 12V. Robot có 2 động cơ gắn vào 2 bánh chủ động. Chíp L298 là một
loại chip công xuất dùng để điều khiển loại động cơ này. Trong L298 có tích hợp 2
mạch cầu H, cho phép điều khiển hoạt động cùng lúc cho 2 động cơ.

Hình 2.16: Sơ đồ nguyên lý của chip L298

Một số thông số kỹ thuật của chip L298:


o
o
Nhiệt độ hoạt động: − 40 C < TJ < 150 C



Điện áp cung cấp tối đa: 50v




Dòng tải tối đa cho mỗi mạch cầu H: 2A



Điện áp điều khiển: − 0.3v < Vdk < 7v


Hình 2.17: Sơ đồ nguyên lý mạch điều khiển motor

Khi động cơ hoạt động, có những lúc động cơ quay hay dừng, quay theo chiều kim
đồng hồ hay theo chiều ngược khi đồng hồ. Những lúc chuyển trạng thái như vậy sẽ
làm xuất hiện những xung nhiễu gây ảnh hưởng tới mạch điều khiển thậm chí gây
cháy chip điều khiển, nên nhất thiết phải sử dụng các diot mắc ngược (Hình 2 .17) để
triệt tiêu nhiễu.
Mô tả hoạt động của mạch điều khiển động cơ. Vì hai động cơ là tương tự nhau
nên chỉ cần mô tả hoạt động của một động cơ.
Bảng 1- 2: Mô tả hoạt động của mạch điều khiển động cơ

Motor_L_E Motor_L_1
0

0
1

1

0


1

Motor_L_
2

OUT1 OUT2

Động cơ B1

0

0

0

Dừng

1

0

0

Dừng

0

0


0

Dừng

1

0

0

Dừng

0

0

0

Dừng

1

0

1

Ngược chiều kim
đồng hồ

0


1

0

Cùng chiều kim
đồng hồ

1

1

1

Dừng


CHƯƠNG 3: XỬ LÝ ẢNH
3.1. Giới thiệu chung
Như trong phần nhiệm vụ của khóa luận đã trình bày, mục đích của việc xử lý ảnh
là tìm ra trạm sạc mỗi khi pin của robot yếu. Một camera không giây sẽ được gắn với
robot, thiết bị thu sẽ thu được tín hiệu video, nhưng để đưa được vào máy tính xử lý,
tín hiệu đó cẩn phải biến đổi thành tín hiệu composite, đưa vào trong máy tính qua
cổng USB. Thiết bị chuyển đổi này là một USB TV BOX. Phần xử lý tín hiệu hình ảnh
thu được sẽ được thực hiện trên máy tính, sau đó tín hiệu điều khiển từ máy tính được
truyền trở lại robot thông qua cổng nối tiếp RS232 không dây.

Hình 3.18: Sơ đồ thu nhận tín hiệu camera

Chương trình xử lý ảnh trên máy tính chỉ được kích hoạt khi robot thông báo tín

hiệu “pin yếu” cho máy tính qua cổng RS232 không dây. Từ đó robot sẽ được điều
khiển bởi máy tính. Để có thể tìm chính xác trạm sạc, đầu tiên máy tính sẽ tìm những
vật trong phòng có màu phù hợp, điều khiển robot di chuyển tới gần từng vật để kiểm
tra. Quá trình kiểm tra được thực hiện bằng phương pháp nhận đạng hình dạng. Do đó,
trạm sạc sẽ được gắn một vật để đánh dấu, vật này phải có màu sắc khác biệt với màu
sắc của đồ đạc trong phòng và đồng thời vật cũng phải có một hình dạng cụ thể (ví dụ
hình chữ nhật). Như vậy công việc xử lý ảnh sẽ bao gồm 2 phần, đó là: nhận dạng vật
thể dựa vào màu sắc và nhận dạng vật thể dựa vào hình dạng.
Phần lập trình được thực hiện trên ngôn ngữ C++, bằng phần mềm VisualC++ và
sử dụng thư viện xử lý ảnh OpenCV.
3.2. Nhận dạng vật thể dựa vào màu sắc
3.2.1. Định nghĩa
Việc nhận dạng ảnh dựa vào màu sắc là duyệt qua toàn bộ ảnh, rồi lọc lấy những
điểm ảnh có giá trị màu sắc thích hợp. Phương pháp này rất hiệu quả khi phải nhận
dạng những vật ở xa, khi mà hình dạng của vật đã bị biến dạng bởi điều kiện ánh sáng,


×