Mạch điều khiển robot nhận biết đường đi bằng đèn hồng ngoại sử dụng Arduino.Đề tài này thiết kế nhằm ứng dụng vào chế tạo ô tô tự lái sử dụng trong các khu du lịch với việc chạy trên một đường cố định sử dụng đèn hồng ngoại để xác định tuyến đường đi.
Trang 1BÁO CÁO
Đ ÁN THI T K III Ồ ÁN THIẾT KẾ III ẾT KẾ III ẾT KẾ III
Đề tài: ROBOT BÁM ĐƯỜNG
SỬ DỤNG CẢM BIẾN HỒNG NGOẠI
Sinh viên thực hiện Giảng viên hướng dẫn
Đ V H
Trang 2Ngày nay,xã hội ngày càng phát triển đòi hỏi nhu cầu hiện đại hóa côngnghiệp.Các ứng dụng tự động hóa càng phát triển nhằm nâng cao năng suất laođộng,cũng như phục vụ nhu cầu sống ngày càng phát triển của con người.Ngày càngnhiều robot thông minh được chế tạo và nghiên cứu để nâng cao chất lượng sống củacon người như các xe không người lái phục vụ du lịch, tham quan, các robot trong cácdây chuyền sản xuất tự động,… hay phục vụ các mục đích của con người như thámhiểm,thăm dò vũ trụ,thăm dò đáy biển,những nơi mà con người không thể đến,……Robot tự hành là một thành phần có vai trò quan trọng trong ngành Robot học.Cùng với sự phát triển mạnh mẽ của các hệ thống tự động hóa, robot tự hành ngày mộtđược hoàn thiện và càng cho thấy lợi ích của nó trong công nghiệp và sinh hoạt Mộtvấn đề rất được quan tâm khi nghiên cứu về robot tự hành là làm thế nào để robot tựđộng đi theo một quỹ đạo đã định.
Trong báo cáo này của chúng em trình bày đề tài “MẠCH ĐIỀU KHIỂNROBOT NHẬN BIẾT BẰNG ĐÈN HỒNG NGOẠI” liên quan đến vấn đề đó
Nhóm thực hiện
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 2
MỤC LỤC 3
I.ĐỀ TÀI 4
II.MỤC TIÊU 4
III.NỘI DUNG CHÍNH 5
1 Hình thành ý tưởng 5
2 Robot tự hành 5
3 Sơ đồ khối của mạch 6
4 Phân công công việc 7
5 Mô tả hoạt động của robot 8
6 Lưu đồ thuật toán 9
7 Linh kiện và tìm hiểu chi tiết từng linh kiện 9
7.1 Khối điều khiển 9
7.2 Khối cảm biến 12
7.3 Bộ so sánh (LM324) 15
7.4 Khối chuyển động 17
7.5 Khối nguồn 19
KẾT QUẢ THỰC HIỆN ĐỀ TÀI 22
1 Mạch nguyên lý 22
2 Mạch in 22
3 Hình ảnh minh họa 23
KẾT LUẬN 23
PHỤ LỤC 24
TÀI LIỆU THAM KHẢO 24
Trang 4I.ĐỀ TÀI
Mạch điều khiển robot nhận biết đường đi bằng đèn hồng ngoại sử dụng
Arduino.Đề tài này thiết kế nhằm ứng dụng vào chế tạo ô tô tự lái sử dụng trong các khu du lịch với việc chạy trên một đường cố định sử dụng đèn hồng ngoại để xác định tuyến đường đi
Yêu cầu chức năng
- Có khả năng thay đổi về thiết lập và hệ thống thiển thị trạng thái
- Có khối nguồn cung cấp ổn định và dễ dàng thay thế
- Có khả năng nhận được tín hiệu báo nhận đường đi
- Có khả năng điều khiển tốc độ bánh xe linh hoạt
- Đi nhanh trên đường thẳng
- Giảm tốc tại khúc cua
- Độ trễ < 1s
Yêu cầu phi chức năng
- Mềm dẻo trong việc thay đổi cấu trúc và thông số của hệ thống tự động
- Độ chính xác cao
- Khả năng chống nhiễu tốt
- Dễ dàng tự động hóa
Trang 5III.NỘI DUNG CHÍNH
1 Hình thành ý tưởng
Dựa vào đề tài “Mạch điều khiển robot nhận biết bằng đèn hồng ngoại”, chúng
em đã đề xuất ý tưởng thực hiện đề tài này như sau:
Sử dụng kit Arduino để làm bộ xử lý trung tâm của mạch mà cụ thể nhóm chúng
em sử dụng kit Arduino R3
Mạch sẽ sử dụng 3 bộ senser hồng ngoại nhận biết đường đi của Robot
Sử dụng hai động cơ một chiều (DC motor)
2 Robot tự hành
Robot tự hành hay robot di động được định nghĩa là một loại xe robot có khả năng
tự dịch chuyển , tự vận động dưới sự điều khiển tự động để thực hiện thành công công việc được giao
Theo lý thuyết, môi trường hoạt động của robot tự hành có thể là đất , nước , khôngkhí, 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
Theo bộ phận thực hiện chuyển động ta có thể chia robot thành 2 lớp: chuyển động bằng chân và bằng bánh Trong đề tài này , chúng ta chỉ tìm hiểu về lớp robot chuyển động bằng bánh Điều khiển robot bằng bánh đơn giản và gần như luôn đảm bảo tính
ổn định của robot
Tiềm năng ứng dụng của robot tự hành hết sức rộng lớn
Trang 6Hình 1 Một số loại robot tự hành
Mặc dù nhu cầu ứng dụng cao , nhưng những hạn chế chưa giải quyết được củarobot tự hành , như chi phí chế tạo cao, đã cho phép chúng được sử dụng rộng rãi Mộtnhược điểm của robot tự hành phải kế đến là còn thiếu tính linh hoạt và thích ứng khilàm việc ở những vị trí khác nhau Bài toán tìm đường của robot tự hành cũng khôngphải là loại bài toán đơn giản như nhiều người nghĩ ban đầu
Trong đề tài này , bài toán tìm đường cũng như mô hình robot sẽ được giải quyết ởmức độ không quá phức tạp bằng Arduino R3
3 Sơ đồ khối của mạch
Hình 2 Sơ đồ khối
- Khối nguồn: cung cấp nguồn điện 6V DC cho các khối khác làm việc
Trang 7- Khối cảm biến: gồm 3 senser hồng ngoại có nhiệm vụ nhận biết đường đi.
- Khối xử lý trung tâm: Arduino R3 lấy dữ liệu từ khối cảm biến phát lệnh điều khiểnkhối chuyển động
- Khối động cơ: gồm hai động cơ một chiều điều khiển 2 bánh của xe sau
Trang 84 Phân công công việc
Tuần Công việc Người thực hiện
- V.Dũng (Khối chuyển động)
- Hưng (Khối cảm biến)
- Hùng (viết Code)
So sánh lựa chọn các linh kiện phù hợp với yêu cầu ( chức năng, chất lượng, giá thành, )
Lập danh sách linh kiện Hương8,9,1
0
Test hoạt động riêng từng module theo từng khối chức năng
Bảng 1 Phân chia công việc
Trang 95 Mô tả hoạt động của robot
Hình 3 Mô tả hoạt động của robot
Trang 106 Lưu đồ thuật toán
mã hóa :trắng = 1; đen = 0
Hình 4 Lưu đồ thuật toán
7 Linh kiện và tìm hiểu chi tiết từng linh kiện
7.1 Khối điều khiển
Để đơn giản trong việc thực hiện, nhóm em đã chọn module Arduino UNO R3
để đảm nhận khối xử lí trung tâm
Trang 11Module Arduino là bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bậtcủa Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính là mức giá thấp và tính chất nguồn mở từ phần cứng tới phần mềm Bo mạch ArduinoUNO là bo mạch thông dụng hiện nay.
ArduinoUno sử dụng chip Atmega328 có 14 port IN/OUT digital, 6 port analog , thạch anh dao động 16Mhz
Ưu điểm khi sử dụng Arduino UNO R3
- Arduino được dùng với mục đích là phát triển ứng dụng nhanh hoặc những ứng dụng có code phức tạp vì mã nguồn mở của arduino rất lớn
- So với các vi điều khiển khác như pic hay msp thì code trên arduino dễ hơn nhiều giúp cho người dùng dễ dàng sử dụng cũng như tối ưu hóa thời gian thực hiện.Nên do đó bọn e chọn Arduino UNO R3 làm khối xử lý trung tâm cho đề tài
Thông số kĩ thuật:
- Vi điều khiển: Atmega328 họ 8bit
- Điện áp hoạt động: 5V DC ( chỉ được cấp qua cổng USB )
- Dòng điện tiêu thụ: 30mA
- Bộ nhớ flash: 32 KB (ATmega328) với 0,5KB được dung bởi bootloader
- Tần số hoạt động : 16 MHz
Trang 12Sơ đồ chân ArduinoUNO
Hình 5 UNO R3
- USB (1): Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cáp USB chúng ta có thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn
có thể sử dụng như là nguồn cấp cho Arduino
- Nguồn cấp một chiều cho Arduino UNO (2,3), 7÷12V
- Đầu vào tương tự (4), A0÷A5
- Đầu vào/ra số (5,6), D0÷D13
Bộ nhớ
- 32KB bộ nhớ flash: những đoạn lệnh chúng ta lập trình sẽ được lưu trữ trong bộnhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo,hiếm khi nào cần quá 20KB bộ nhớ này đâu
- 2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khi
lập trình sẽ lưu ở đây Khi khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, cũng hiếm khi bộ nhớ RAM lại trở thành thứ phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất
- 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory):
đây giống như một chiếc ổ cứng mini – nơi mà chúng ta có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM
Các cổng vào/ra :
- Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân
Trang 13đều có các điện trở pull-up từ được cài đặ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).
- Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên
board, có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu chúng ta cấp điện áp 2.5V vào chân này thì có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.Đặ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
- Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,
ATmega168, ATmega328 Bộ não này có thể xử 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,…
7.2 Khối cảm biến
Chức năng
Giống như con mắt của robot, giúp robot phát hiện vật cản hoặc đi theo lộ trình có sẵn
Hình 6 LED thu phat hồng ngoại và cơ chế hoạt động của nó
Cơ chế hoạt động của cảm biến hồng ngoại
Trang 14được phát bới bộ phát hồng ngoại thì sẽ không bị hấp thụ bởi bề mặt mà bị hất dội ngược lại và khi đó đầu thu sẽ thu một lương tia hồng ngoại lớn
=> Do đó Led hồng ngoại có thể phân biệt được bộ cảm biến đang chiếu một vật màu sáng hay màu tối để truyền tới bộ xử lý
Cấu tạo bộ phát hồng ngoại
Hình 5 :Cấu tạo bộ phát hồng ngoạiHình trên là cấu tạo của đèn led phát hồng ngoại Chân anode được nối với cực dương của nguồn điện Chân cathode được nối với đất.Thông thường thì chân anode dài hơn chân cathode
Cấu tạo bộ thu hồng ngoại
Hình 6 : Cấu tạo của bộ thu hồng ngoạiCấu tạo Quang trở gồm một lớp chất bán dẫn( cadimi sunfua Cds chẳng hạn) phủ trê một tấm nhựa cách điện Có hai điện cực và gắn vào lớp chất bán dẫn đó
Trang 15Nối một nguồn khoáng vài vôn với quang trở thông qua một miliampe kế Ta thấy khiquang trở được đặt trong tối thì trong mạch không có dòng điện Khi chiếu quang trở bằng ánh sáng có bước song ngắn ( ánh sáng hồng ngoại …) hơn giới hạn quang dẫn của quang trở thì sẽ xuất hiện dòng điện trong mạch.
Điện trở của quang trở giảm đi rất mạnh khi bị chiếu sáng bởi ánh sáng nói trên Đo điện trở của quang trở Cds, người ta thấy : khi không bị chiếu sáng , điện trường của
nó vào khoảng 3.10^6 om, khi bị chiếu sáng , điện trở của nó chỉ khoảng 20om
+ Led ở đây là bộ phát hồng ngoại còn quang trở là bộ thu
Trong bài này, nhóm em sử dụng bộ cảm biến hồng ngoại tcrt5000 với chân Emitter của mắt thu có độ nhạy bước sóng 950nm
Sơ đồ nguyên lý của bộ cảm biếnhồng ngoại
Hình 7 Sơ đồ nguyên lí cảm biến hồng ngoại
Trong sơ đồ nguyên lý trên , cặp led thu phát được đặt sát nhau , môt chân của quang trở được đưa vào LM324 LM324 là IC khuếch đại so sánh , mục đích là khuếchđại tín hiệu từ sensor Khi hoạt động , led phát chiếu tia hồng ngoại xuống sàn thi đấu ,khi chùm tia hồng ngoại chiếu xuống nền đen , quang trở không nhận được chùm phản
xạ nên không dẫn điện , điện trở bằng vô cùng, tín hiệu ra LM324 là mức 1 được đưa vào UNO R3 Tương tư, khi robot gặp nền trắng quang trở nhận được chùm phản xạ ,
Trang 16Led hồng ngoại là một loại cảm biến được sử dụng rất phổ biến, nguyên lí hoạt động đơn giản mà hoàn toàn phù hợp với chức năng bám đường của robot và giá thành thấp.
LM324 là một IC công suất thấp bao gồm 4 bộ khuếch đại thuật toán (Op Amp) trong
nó Các Opamp trong LM324 được thiết kế đặc biệt để sử dụng với nguồn đơn Tức làbạn chỉ cần Vcc và GND là đủ Một điều đặc biệt nữa là nguồn cung cấp của LM324
có thể hoạt động độc lập với nguồn tín hiệu Ví dụ nguồn cung cấp của LM324 là 5Vnhưng nó có thể làm việc bình thường với nguồn tín hiệu ở ngõ vào V+ và V- là 15V
mà ko bị sao cả
Trang 17- Điện áp tối đa ngõ vào: ~Vcc áp ngõ vào từ 0~32V đối với nguồn đơn và
±15V đối với nguồn đôi
- công suất của Lm324 loại chân cắm (Dip) khoảng 1W
- Thứ tư là điện áp và dòng ngõ ra điện áp ngõ ra từ 0~Vcc-1,5V
- Dòng ngõ ra khi mắc theo kiểu đẩy dòng (dòng Sink) thì dòng đẩy tối đa đạtđược 20mA Dòng ngõ ra khi mắc theo kiểu hút dòng (dòng Souce) thì dòng hút tối
đa có thể lên đến 40mA Hai thông số này cực kỳ quan trọng trong thiết kế vớiLM324
- Tần số hoạt động của LM324 là 1MHz
- Khuếch đại điện áp DC của LM324 tối đa khoảng 100 dB
Nguyên lí hoạt động của op amp
Trang 18Động cơ mà nhóm sử dụng là động cơ một chiều (DC motor).
Động cơ một chiều có cấu tạo từ hai bộ phận: Bộ phận đứng yên có cấu tạo từ namchâm vĩnh cửu được gọi là Stato và một bộ phận quay được cấu tạo từ một nam châmnhân tao có cấu tạo từ một cuộn dây đồng có lõi là một thanh kim loại được gọi làRotor
Hình 10 Động cơ DC
Hình 11 Hoạt động của motor DC
Khi cho dòng điện một chiều đi qua motor sẽ khiến motor quay theo chiều như hìnhbên trái
Khi ta đảo 3 cực của dòng điện động cơ chiều như hình bên phải
Động cơ DC cho dòng điện một chiều chạy qua và làm quay Roto dẫn đến motorquay, nếu ta đổi chiều dòng điện thì motor sẽ quay theo chiều ngược lại Do đó có thểđiểu chỉnh được hướng quay của motor Đặc tính kỹ thuật của hầu hết động cơ motor
là tốc độ quay( Vòng/ phút) cao và moment ngẫu lực thấp Nhưng mà hầu hết Robotcần tốc quay chậm và moment ngẫu lực cao Do đó một hộp số có thể được lắp vào
Trang 19DC motor nhằm giảm tốc độ quay và làm tang moment ngẫu lực Trên hộp số thườngghi rõ chỉ số truyền động chỉ trước và sau hộp số.
Ví dụ: Tốc độ quay của một DC motor là 1000 vòng/Phút được gắn vào một hộp
số 1000/1 Có nghĩa là tốc độ quay của đầu ra hộp số được 1/1000 của tốc độ DCmotor khi chưa gắn hộp số => Vận tốc hộp số bằng vận tốc DC motor chia cho 1000
Điều xung PWM, điều chỉnh vận tốc cho động cơ
Điều xung PWM là một khâu quan trọng không thể thiếu trong thiết kế Robot Qua
đó bạn có thể điều khiển linh hoạt cho DC motor từ đó có thể dùng các hàm vận tốc đểcho robot có thể bám theo vạch trắng
Điều xung nói chung là cách bật tắt nguồn điện của motor liên tục là motor lúcnhận được điện Lúc mất điện Khi tần số đủ cao motor sẽ quay ổn định ở một tốc độnhờ moment quay của bánh xe
Xung vuông là đồ thị biểu hiện trạng thái của nguồn điện Nguồn được mở thìmotor hoạt động lúc này xung đang ở trạng thái cao, nguồn tắt thì motor dừng lại lúcnày motor đang ở trạng thái thấp Tốc độ motor tỉ lê trung bình với độ dài của xungvuông Sau đây là một số trạng thái hoạt động:
Trang 20Hình 12 Điều xung PWM
Ta xem các xung trên , mỗi xung dù là 20% , 50% hay 80% đều có hai trạng thái
là 12V và 0V 12V được gọi là trạng thái cao ở mức này motor sẽ quay Còn 0V là ởtrạng thái thấp , ở trạng thái này motor sẽ có điện áp dừng Biểu đồ xung , tổng phầntrăm trạng thái cao và trạng thái thấp sẽ là 100% Và con số 20% hay 50%, 80% làxung cao Cho nên phần trăm thấp là 100%-% xung cao Nếu độ dài xung càng rộngthì tốc độ motor càng cao do đó đạt được tốc độ cao nhất khi motor được gửi đến xung100% và motor dừng khi có 0% được gửi tới
Trang 21Hình 13 một số nguồn thông dụng
Đây đều là những thiết bị thông dụng hiện nay, so sánh một chút về ưu-nhược điểmcủa chúng
So sánh một số nguồn thông dụng
Pin thường Giá rẻ ~2000/1 pin, trọng lượng nhỏ ~25g,
Khích thước gọn h=50.5, d=14.5 (mm)
Di động
Chỉ sử dụng 1 lần.Dung lượng nhỏ 600-1000 (mAh) đối với loại pin R6 Nhanh hết pinĐiện áp nhỏ1.5V/pinPin sạc Tái sử dụng lên tới ~1500 lần (pin sạc AA),
trọng lượng nhỏ ~31g , dung lượng có loạikhá cao >4000 (mAh) kích thước gọn gầnbằng pin thường cho phép khả năng dichuyển linh động
Điện áp cao hơn pin thường
Giá thành vừa và cao
200.000đ/ 4pin
Ac-quy Tái sử dụng nhiều lần
Dung lượng cao ( vd: Ắc quy SUNCA
- Kích thước lớn
- Trọng lượng lớn