Đồ án - Robot tránh xe vật cản AGV - Nguyên Lý Máy | Trường Đại học Bách khoa Thành phố Hồ Chí Minh

Robot hay người máy là một loại máy có thể thực hiện những công việc một cách tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình.Robot là một tác nhân cơ khí, nhân tạo, ảo, thường là một hệ thống cơ khí-điện tử. Tài liệu được sưu tầm giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem !

Thông tin:
31 trang 1 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Đồ án - Robot tránh xe vật cản AGV - Nguyên Lý Máy | Trường Đại học Bách khoa Thành phố Hồ Chí Minh

Robot hay người máy là một loại máy có thể thực hiện những công việc một cách tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình.Robot là một tác nhân cơ khí, nhân tạo, ảo, thường là một hệ thống cơ khí-điện tử. Tài liệu được sưu tầm giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem !

37 19 lượt tải Tải xuống
lOMoARcPSD|47206521
lOMoARcPSD|47206521
EBOOKBKMT.COM
MỤC LỤC
LỜI MỞ ĐẦU.............................................................................................................................................1
MỤC LỤC..................................................................................................................................................2
CHƯƠNG I : TỔNG QUAN VÀ ĐẶT VẤN ĐỀ.......................................................................................3
1.Giới thiệu chung về robot:....................................................................................................................3
2. Tổng quan về các bài toán của robot di động:.....................................................................................5
3. Bài toán di chuyển tránh vật cản :.......................................................................................................7
3.1.Vấn đề :.........................................................................................................................................7
3.2. Giải quyết bài toán:......................................................................................................................7
CHƯƠNG II: CÁC LINH KIỆN CHÍNH VÀ THIẾT KẾ MẠCH.............................................................8
1. Các linh kiện chính của robot :............................................................................................................8
1.1. Động cơ DC:............................................................................................................................8
1.2.Cảm biến siêu âm SRF05:.............................................................................................................9
1.3.Chip driver L298D :....................................................................................................................14
1.4. Arduino Uno :.............................................................................................................................17
1.5. Động cơ servo :...........................................................................................................................20
2.Mạch và demo :..................................................................................................................................22
2.1. Mạch :.........................................................................................................................................22
2.2.Demo :.........................................................................................................................................23
CHƯƠNG III: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN...........................................................................24
1. Kết quả:.............................................................................................................................................24
1.1.Phần cứng:...................................................................................................................................24
1.2.Giải thuật:....................................................................................................................................24
2. Hạn chế và cách khắc phục:...............................................................................................................24
3. Hướng phát triển của đề tài:..............................................................................................................24
PHỤ LỤC..................................................................................................................................................25
TÀI LIỆU THAM KHẢO.........................................................................................................................29
lOMoARcPSD|47206521
EBOOKBKMT.COM
lOMoARcPSD|47206521
EBOOKBKMT.COM
CHƯƠNG I : TỔNG QUAN VÀ ĐẶT VẤN ĐỀ
1.Giới thiệu chung về robot:
Robot hay người máy một loại máy thể thực hiện những công việc một cách
tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình.Robot
một tác nhân khí, nhân tạo, ảo, thường một hệ thống khí-điện tử. Với sự xuất
hiện chuyển động của mình, robot gây cho người ta cảm giác rằng nó giác quan giống
như con người. Từ "robot" (người máy) thường được hiểu với hai nghĩa: robot khí
phần mềm tự hoạt động. Về lĩnh vực người máy Nhật Bản là nước đi đầu thế giới về lĩnh
vực này.
Khái niệm Robot xuất hiện lần đầu tiên NewYork vào ngày 9/10/1922 trong vở
kịch“Rossum’s Universal Robot” của nhà soạn kịch người Tiệp Khắc Karen Chapek,
còn từ Robot một cách gọi khác của từ Robota-theo tiếng Tiệp nghĩa công việc
lao dịch. Khi đó, Karen Chapek cho rằng Robot những người máy khả năng làm
việc nhưng không có khả năng suy nghĩ.Gần một thế kỷ tiếp theo, khái niệm robot đã liên
tục được phát triển, đóng góp thêm bởi nhiều nhà nghiên cứu, nhiều công ty chuyên về
lĩnh vực robot.
Trước những năm 1970, người ta chỉ tập trung vào việc phát triển những robot tay
máy hoạt động trong các nhà máy công nghiệp. Sau đó mới xuất hiện những khái niệm về
robot thông minh, các nghiên cứu bắt đầu tập trung hơn vào robot di động. Một trong
những chuyên gia đầu ngành về robot di động là Hans P. Moravec (bắt đầu nghiên cứu từ
năm 1964), và hiện nay, chuyên nghiên cứu về robot di động là Sebastien Thruns.
Các robot di động người điều khiển đã được dùng cho các mục đích quân sự,
các nhiệm vụ nguy hiểm như phá mìn, thăm đáy đại dương, hầm mỏ, kiểm tra các
đường ống ngầm, hay thăm sao Hoả…Sản phẩm robot di động được sản xuất đại trà
đưa vào thị trường lần đầu tiên robot hút bụi Roomba Trilobite của hãng
Electrolux năm 2003.
lOMoARcPSD|47206521
EBOOKBKMT.COM
Một số hình ảnh về các Robot và ứng dụng của nó:
Hình 1.1: Robot tự hành Rover thám hiểm sao Hoả
lOMoARcPSD|47206521
EBOOKBKMT.COM
Hình 1.2 : Robot dò mìn
Hình 1.3 : Robot thám hiểm đại dương
2. Tổng quan về các bài toán của robot di động:
Ngày nay, Robot học đã đạt được những thành tựu to lớn trong nền sản xuất công
nghiệp. Những cánh tay robot khả năng làm việc với tốc độ cao, chính xác liên tục
làm năng suất lao động tăng nhiều lần. Chúng thể làm việc trong các môi trường độc
hại như hàn, phun sơn, các nhà máy hạt nhân, hay lắp ráp các linh kiện điện tử tạo ra điện
thoại, máy tính…một công việc đòi hỏi sự tỉ mỉ, chính xác cao. Tuy nhiên những robot
này một hạn chế chung đó hạn chế về không gian làm việc. Không gian làm việc
của chúng bị giới hạn bởi số bậc tự do tay máy và vị trí gắn chúng. Ngược lại, các Robot
tự hành lại có khả năng hoạt động một cách linh hoạt trong các môi trường khác nhau.
Robot tự hành loại mobile robot khả năng tự hoạt động, thực thi nhiệm vụ
không cần sự can thiệp của con người. Với những cảm biến, chúng có khả năng nhận
biết về môi trường xung quanh. Robot tự hành ngày càng nhiều ý nghĩa trong các
ngành công nghiệp, thương mại, y tế, các ứng dụng khoa học và phục vụ đời
sống của con người. Với sự phát triển của ngành Robot học, robot tự hành ngày càng
khả năng hoạt động trong các môi trường khác nhau, tùy mỗi lĩnh vực áp dụng mà chúng
nhiều loại khác nhau như robot sơn, robot hàn, robot cắt cỏ, robot thám hiểm đại
dương, robot làm việc ngoài vũ trụ. Cùng với sự phát triển của yêu cầu trong thực tế,
lOMoARcPSD|47206521
EBOOKBKMT.COM
robot tự hành tiếp tục đưa ra những thách thức mới cho các nhà nghiên cứu. Vấn đề của
robot tự hành làm thế nào để robot tự hành thể hoạt động, nhận biết môi trường
thực thi các nhiệm vụ đề ra.
Vấn đề đầu tiên "navigation" (tạm dịch "di chuyển"), Robot tự hành nên di
chuyển như thế nào cấu di chuyển nào sự lựa chọn tốt nhất. Điều hướng vấn
đề bản trong nghiên cứu chế tạo Robot tự hành. Trong hiệp hội nghiên cứu về
Robot tự hành có 2 hướng nghiên cứu khác nhau:
- Hướng thứ nhất nghiên cứu về Robot tự hành khả năng điều hướng tốc độ cao
nhờ thông tin thu được từ cảm biến, đây loại robot khả năng hoạt động môi
trường trong phòng cũng như môi trường bên ngoài. Loại robot này yêu cầu khả năng
tính toán đồ sộ và được trang bị cảm biến có độ nhạy cao, dải đo lớn để có thể điều khiển
robot di chuyển ở tốc độ cao, trong những môi trường có địa hình phức tạp.
- Hướng thứ hai nhằm giải quyết các vấn đề về các loại robot tự hành chỉ dùng để hoạt
động trong môi trường trong phòng. Loại robot tự hành này kết cấu đơn giản hơn loại
trên, thực hiện những nhiệm vụ đơn giản.
Vấn đề di chuyển là vấn đề trọng tâm của robot di động. Để di chuyển được, robot
phải thực hiện một loạt các tác vụ, mỗi tác vụ gắn với một bài toán nhỏ trong bài toán
"navigation". Các bài toán đó gồm:
Mapping: công việc lập bản đồ môi trường hoạt động của robot. Nếu không
được cung cấp dữ liệu trước thì robot phải có khả năng lập bản đồ.
Positioning: việc định vị, robot phải khả năng biết được mình đang đâu
trong bản đồ toàn cục hoặc địa phương.
Path planning: việc hoạch định đường đi sắp tới của robot, sau khi biết được
bản đồ và biết mình đang ở vị trí nào.
Motion control: là việc điều khiển cho robot di động, tức là điều khiển các cơ cấu
để robot đi theo con đường thu được từ bài toán "path planning".
Obstacle avoidance: là nhiệm vụ tránh chướng ngại vật khi robot đang di chuyển.
lOMoARcPSD|47206521
EBOOKBKMT.COM
3. Bài toán di chuyển tránh vật cản :
3.1.Vấn đề :
Việc di chuyển tránh vật cản một tác vụ thường thấy robot di động, trong các môi
trường biết trước hoặc không biết trước. Tác vụ này được dùng với các nhiệm vụ: tránh
chướng ngại vật, đi theo tường biết trước, đi theo tường không biết trước.
3.2. Giải quyết bài toán:
Để giải quyết bài toán này, trong phạm vi của đồ án , em thiết kế hình robot gồm 2
bánh xe chủ động phía sau, 1 bánh xe phía trước chuyển động tự do, 1 cảm biến siêu âm
SRF05 để thu khoảng cách tránh vật cản, mạch điều khiển được s dụng đây
Arduino Uno.
lOMoARcPSD|47206521
EBOOKBKMT.COM
CHƯƠNG II: CÁC LINH KIỆN CHÍNH VÀ THIẾT KẾ MẠCH
1. Các linh kiện chính của robot :
Động cơ DC
Cảm biến siêu âm SRF 05
Chip driver L298D
Arduino Uno
Động cơ Servo SG90
1.1. Động cơ DC:
1.1.1.Giới thiệu :
DC động động điện hoạt động với dòng một chiều. Động DC sử dụng
rộng rãi trong các ứng dụng dân cư cũng như các ngành công nghiệp. Thông thường động
cơ DC chỉ chạy ở một tốc độ khi kết nối với nguồn điện, nhưng chúng ta vẫn có thể kiểm
soát tốc độ hướng của động với sự hỗ trợ của các mạch điện tử với phương pháp
PWM.
Động cơ DC trong các hình thức của động cơ dân sự thường hoạt động với điện áp
thấp, được sử dụng với tải trọng nhỏ. Trong công nghiệp, động DC được s dụng
trong các lĩnh vực đòi hỏi phải mô-men xoắn lớn hơn trên máy tính hoặc yêu cầu thay
đổi trong phạm vi tốc độ.
1.1.2. Điều chế độ rộng xung:
Điều khiển động cơ PWM phương pháp dựa trên nguyên tắc hoạt động cho động
chạy bằng chuỗi xung nhanh chóng mở đóng. Điện DC được chuyển đổi thành tín
hiệu sóng vuông (chỉ hai cấp độ khoảng 0 điện áp hoạt động volt). Tín hiệu
sóngvuông này cho động cơ.Nếu tần số chuyển đổi đủ lớn động cơ sẽ chạy ở tốc độ ổn
định phụ thuộc vào trục mô-men xoắn.Với phương pháp PWM, điều chỉnh tốc độ động
thông qua điều chế độ rộng xung, tức thời gian "xung đầy đủ" ("on") của chuỗi
xung vuông cho động cơ. Điều chỉnh này sẽ ảnh hưởng đến công suất trung bình cho
động cơ và do đó sẽ thay đổi cần điều khiển tốc độ động cơ.
lOMoARcPSD|47206521
EBOOKBKMT.COM
1.2.Cảm biến siêu âm SRF05:
1.2.1.Giới thiệu :
Hình 2.1 : Cảm biến đo khoảng cách SRF 05
Cảm biến SRF05 một loại cảm biến khoảng cách dựa trên nguyên thu phát
siêu âm. Cảm biến gồm một bộ phát một bộ thu sóng siêu âm. Sóng siêu âm từ đầu
phát truyền đi trong không khí, gặp vật cản (vật cần đo khoảng cách tới) sẽ phản xạ
ngược trở lại được đầu thu ghilại. Khoảng cách đo được của SRF05 nằm trong phạm
vi từ 4cm đến 300cm.
lOMoARcPSD|47206521
EBOOKBKMT.COM
Hình 2.2 : Nguyên lý thu phát siêu âm.
1.2.2. Nguyên tắc hoạt động :
SRF05 có thể thiết lập 2 mode hoạt động khác nhau thông qua các chân điều khiển
MODE. Nối hoặc không nối chân MODE xuống GND cho phép cảm biến được điều
khiển thông qua giao tiếp dùng 1 chân hay 2 chân IO.
a). Mode 1: Tách chân TRIGGER & ECHO dùng riêng:
Trong mode này,SRF05sử dụng cả 2 chân trigger echo cho việc giao tiếp với
MCU. Để sử dụng mode này,ta chỉ cần để trống chân Mode của module,điện trở bên
trong module sẽ kéo chân pin này lên mức 1.
lOMoARcPSD|47206521
EBOOKBKMT.COM
Hình 2.3 : Cấu hình SRF05 ở mode 1
Để điều khiển SRF05,ta cần cấp cho chân TRIGGER một xung điều khiển với độ
rộng tối thiểu 10uS. Sau đó một khoảng thời gian, đầu phát sóng siêu âm sẽ phát ra sóng
siêu âm, vi xử tích hợp trên module sẽ tự xác định thời điểm phát sóng siêu âm và thu
sóng siêu âm. Vi xử tích hợp này sẽ đưa kết quả thu được ra chân ECHO. Độ rộng
xung vuông tại chân ECHO tỉ lệ với khoảng cách từ cảm biến tới vật thể.
Hình 2.4 : Nguyên lý hoạt động của SRF05 ở chế độ mode 1
lOMoARcPSD|47206521
EBOOKBKMT.COM
b). Mode 2:chân TRIGGER & ECHO dùng chung:
Được thiết kế nhằm cho mục đích tiết kiệm chân pin cho MCU,nên trong mode
này, SRF05 chỉ s dụng 1 chân pin cho 2 chức năng TRIGGER ECHO.Để s dụng
mode này ,ta kết nối chân Mode xuống GND (0v).Đây cũng mode sẽ được sử dụng
trong demo.
Hình 2.5: Cấu hình SRF05 ở chế độ mode 2.
lOMoARcPSD|47206521
EBOOKBKMT.COM
Để điều khiển SRF05,đầu tiên xuất một xung với độ rộng tối thiểu 10uS vào chân
TRIGGER-ECHO (chân số 3) của cảm biến. Sau đó vi xử tích hợp trên cảm biến sẽ
phát ra tín hiệu điều khiển đầu phát siêu âm. Sau 700uS kể từ lúc kết thúc tín hiệu điều
khiển, từ chân TRIGGER-ECHO thể đọc ra một xung độ rộng tỉ lệ với khoảng
cách từ cảm biến tới vật thể.
Hình 2.6: Nguyên lý hoạt động của SRF05 ở chế độ mode 2.
Tính toán khoảng cách :
Theo sơ đồ thời gian của SRF05 như trên, ta chỉ cần cung cấp một xung ngắn tối thiểu
10uS làm tín hiệu trigger. Sau đó cảm biến sẽ gửi một khối 8 chu kỳ sóng siêu âm tại
40kHz và xuất xung echo. Sau đó SRF05 đợi sóng siêu âm phả n hồi sau khi gặp vật cản,
khi nhận được sóng phản hồi thì xung echo bị ngắt. Như vậy, xung echo chiều rộng tỉ
lệ thuận với khoảng cách tới vật cản. Thời gian xung echo tồn tại thể cho ta biết được
khoảng cách giữa cảm biến với vật. Nếu trường hợp không phát hiện được vật cản, hoặc
vật cản ngoài tầm xác định của SRF05 (4m) thì sau 30ms xung echo cũng được đưa về
mức thấp. SRF05 có thể được kích hoạt nhanh nhất mỗi 50ms (20 lần mỗi giây). Nên chờ
mỗi 50ms rồi thực hiện lần đo tiếp theo. Điều này đảm bảo cho các nhiễu siêu âm phản
xạ của lần đo trước không gây sai lệch kết quả thu được.Công thức tính khoảng cách từ
cảm biến tới vật cản:
lOMoARcPSD|47206521
EBOOKBKMT.COM
1.3.Chip driver L298D :
1.3.1.Giới thiệu :
L298D một chip tích hợp 2 mạch cầu H trong gói 15 chân. Tất cả các mạch kích,
mạch cầu đều được tích hợp sẵn. L298D điện áp danh nghĩa cao (lớn nhất 50V)
dòng điện danh nghĩa lớn hơn 2An rất thích hợp cho các các ứng dụng công suất nhỏ
như các động cơ DC loại nhỏ và vừa. Vì là loại “all in one” nên là lựa chọn hoàn hảo cho
những người chưa nhiều kinh nghiệm làm mạch điện tử. Trong bài học này ta dùng
chip L298D để làm driver cho motor. Hình sau thể hiện mô hình thật của chip và cấu trúc
bên trong chip.
Hình 2.7. Chip driver L298D
lOMoARcPSD|47206521
EBOOKBKMT.COM
Hình 2.8. Mạch Chip L298D
Hình phía trên hìnhng bên ngoài tên gọi các chân của L298D. Hình phía
dưới cấu trúc bên trong chip. 2 mạch cầu H trên mỗi chip L298D nên thể điều
khiển 2 đối tượng chỉ với 1 chip này. Mỗi mạch cầu bao gồm 1 đường nguồn Vs (thật ra
đường chung cho 2 mạch cầu), một đường current sensing (cảm biến dòng), phần cuối
của mạch cầu H không được nối với GND bỏ trống cho người dùng nối một điện trở
nhỏ gọi là sensing resistor. Bằng cách đo điện áp rơi trên điện trở này chúng ta có thể tính
được dòng qua điện trở, cũng là dòng qua động cơ trên. Mục đích chính của việc đo dòng
điện qua động để xác định các trường hợp nguy hiểm xảy ra trong mạch, dụ quá
tải. Nếu việc đo dòng động không thật sự cần thiết bạn thể nối đường current
sensing này với GND (trong mạch điện của bài này, ta nối chân current sensing với
GND). Động sẽ được nối với 2 đường OUT1, OUT2 (hoặc OUT3, OUT4 nếu dùng
mạch cầu bên phải). Một chân En (EnA và EnB cho 2 mạch cầu) cho phép mạch cầu hoạt
động, khi chân En được kéo lên mức cao, mạch cầu sẵn sang hoạt động. Các đường kích
mỗi bên của mạch cầu được kết hợp với nhau nhưng mức điện áp ngược nhau do một
cổng Logic NOT. Bằng cách này chúng ta thể tránh được trường hợp 2 transistor
cùng một bên được kích cùng lúc (ngắn mạch). Như vậy, sẽ có 2 đường kích cho mỗi cầu
H gọi In1 In2 (hoặc In3, In4). Để motor hoạt động chúng ta phải kéo 1 trong 2
đường kích này lên cao trong khi đường kia giữ mức thấp, ví dụ In1=1, In2=0. Khi đảo
mức kích của 2 đường In, động sẽ đảo chiều quay. Tuy nhiên, do L298D không chỉ
được dùng đề đảo chiều động còn điều khiển vận tốc động bằng PWM, các
đường In cần được “tổ hợp lại” bằng các cổng Logic (xem phần tiếp theo). Ngoài ra, trên
chip L298D còn các đường Vss cấp điện áp cho phần logic (5V) GND chung cho
cả logic và motor .
lOMoARcPSD|47206521
EBOOKBKMT.COM
Trong thực tế, công suất thực L298D thể tải nhỏ hơn so với giá trị danh
nghĩa của nó (V=50V, I=2A). Để tăng dòng điện tải của chip lên gấp đôi, chúng ta thể
nối 2 mạch cầu H song song với nhau (các chân chức năng như nhau của 2 mạch cầu
được nối chung).
1.3.2.Mạch logic cho L298D:
Thông thường, khi thiết kế một mạch driver cho motor người ta thường dành 3 đường
điều khiển đó PWM dùng điều khiển vận tốc, DIR điều khiển hướng En cho phép
mạch hoạt động. Chip L298D đã sẵn đường En nhưng 2 đường điều khiển In1 In2
không thật sự chức năng như chúng ta mong muốn.thế, chúng ta sẽ thiết kế một mạch
logic phụ với 2 ngõ vào PWM DIR trong khi 2 ngõ ra là 2 đường điều khiển In1
In2.
Bảng chân trị của mạch logic cần thiết kế được trình bày trong bảng 1.
Bảng 1. Bảng chân trị của mạch logic cho driver L298D.
Từ bảng chân trị này, chúng ta có thể viết hàm bool cho 2 ngõ In1 và In2:
In1=PWM.NOT(DIR)
In2=PWM.DIR
lOMoARcPSD|47206521
EBOOKBKMT.COM
Mạch logic vì thế sẽ có dạng như trong hình sau :
Hình 2.9. Mạch logic cho L239
Với mạch logic này, đường DIR có chức năng đảo chiều động cơ trong khi đường
PWM điều khiển vận tốc động cơ bằng tín hiệu PWM.
1.4. Arduino Uno :
1.4.1. Giới thiệu về Arduino :
Hình 2.10 :Một số loại arduino .
Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là những người
tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với
lOMoARcPSD|47206521
EBOOKBKMT.COM
những Apple đã làm được trên thị trường thiết bị di động. Số lượng người dùng cực
lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học.
Arduino một bo mạch vi xử đượ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ật của Arduino
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 thể học
một cách nhanh chóng ngay cả với người ít am hiểu về điện tửlập trình. Và điều làm nên
hiện tượng Arduino chính là mức giá rất thấp tính chất nguồn mở từ phần cứng tới phần
mềm. Chỉ với khoảng $30, người dùng đã có thể sở hữu một bộ.
Arduino ra đời tại thị trấn Ivrea thuộc nước Ýđược đặt theo tên một vị vua vào
thế kỷ thứ 9 King Arduin. Arduino chính thức được đưa ra giới thiệu vào năm 2005
như một công cụ khiêm tốn dành cho các sinh viên của giáo Massimo Banzi, một
trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea
(IDII). Mặc hầu như không được tiếp thị cả, tin tức về Arduino vẫn lan truyền với
tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu tiên.
Hiện nay Arduino nổi tiếng tới nỗi người tìm đến thị trấn Ivrea chỉ để tham quan nơi
đã sản sinh ra Arduino.
1.4.2. Hoạt động của arduino :
Hình 2.11. Arduino uno
Theo như hình minh họa, có 14 cổng in/out (đánh số 0-13). Đây là các chân
cắm của Arduino và có chức năng input hoặc output, tạo nên cốt lõi của thiết bị.
lOMoARcPSD|47206521
EBOOKBKMT.COM
Có 6 chân kỹ thuật số, được đánh dấu bởi dấu ~ để thực hiện Xung.
Chân 13 đặc biệt có một LED được ghép vào. Việc này giúp cho việc thử nghiệm.
Bạn có thể sử dụng LED có sẵn, bằng cách xuất ra chân 13 hoặc ra các chân khác.
phần bên phải ở dưới có một cổng analog 6 chân input. Chúng giúp đọc các
giá trị của cảm biến analog.
bên trái là các cổng analog tương tự cổng nguồn. bạn chỉ cần nguồn 3,3
vol hoặc 5 vol.
Cuối cùng, một công tắc chuyển dùng để reset Arduino. nó sẽ giúp khởi động
lại bất kỳ chương trình nào trong bộ nhớ.
Arduino có một khoảng bộ nhớ, và nếu chương trình của bạn quá lớn, compiler
sẽ báo lỗi.
Các thông số của arduino uno R3 như sau :
Cấu trúc một chương trình Arduino
Mỗi chương trình Arduino được chia làm 2 chức năng :
lOMoARcPSD|47206521
EBOOKBKMT.COM
Đầu tiên là cài đặt chức năng. Việc này giúp khởi tạo và dùng để Arduino biết
sẽ kết nối đến thiết bị nào, cũng như khởi tạo biến mà bạn cần trong chương trình.
Thứ hai là vòng lặp. Đây là nền tảng của mỗi chương trình Arduino. Khi
Arduino hoạt động, sau khi chức năng cài đặt hoàn tất, vòng lặp sẽ chạy tất cả các code,
sau đó thực hiện lại đến khi nào mất nguồn hoặc bị reset. Quãng thời gian để hoàn
thành dựa trên code được nạp vào. Bạn có thể viết code để chạy vài giờ nếu không
muốn lặp quyết định.
Hình 2.12 : Cấu trúc chương trình Arduino.
1.5. Động cơ servo :
1.5.1. Giới thiệu :
Động DC động bước vốn những hệ hồi tiếp vòng hở- ta cấp điện để
động quay nhưng chúng quay bao nhiêu thì ta không biết, kể cả đối với động bước
động quay một góc xác định tùy vào số xung nhận được. Việc thiết lập một hệ
thống điều khiển để xác định những gì ngăn cản chuyển động quay của động cơ hoặc làm
động cơ không quay cũng không dễ dàng.
Mặt khác, động servo được thiết kế cho những hệ thống hồi tiếp vòng kín. Tín
hiệu ra của động được nối với một mạch điều khiển. Khi động quay, vận tốc vị
trí sẽ được hồi tiếp về mạch điều khiển y. Nếu bầt kỳ do nào ngăn cản chuyển
động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong
muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác.
| 1/31

Preview text:

lOMoARcPSD|47206521 lOMoARcPSD|47206521 EBOOKBKMT.COM MỤC LỤC
LỜI MỞ ĐẦU.............................................................................................................................................1
MỤC LỤC..................................................................................................................................................2
CHƯƠNG I : TỔNG QUAN VÀ ĐẶT VẤN ĐỀ.......................................................................................3
1.Giới thiệu chung về robot:....................................................................................................................3
2. Tổng quan về các bài toán của robot di động:.....................................................................................5
3. Bài toán di chuyển tránh vật cản :.......................................................................................................7
3.1.Vấn đề :.........................................................................................................................................7
3.2. Giải quyết bài toán:......................................................................................................................7
CHƯƠNG II: CÁC LINH KIỆN CHÍNH VÀ THIẾT KẾ MẠCH.............................................................8
1. Các linh kiện chính của robot :............................................................................................................8 1.1.
Động cơ DC:............................................................................................................................8
1.2.Cảm biến siêu âm SRF05:.............................................................................................................9
1.3.Chip driver L298D :....................................................................................................................14
1.4. Arduino Uno :.............................................................................................................................17
1.5. Động cơ servo :...........................................................................................................................20
2.Mạch và demo :..................................................................................................................................22
2.1. Mạch :.........................................................................................................................................22
2.2.Demo :.........................................................................................................................................23
CHƯƠNG III: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN...........................................................................24
1. Kết quả:.............................................................................................................................................24
1.1.Phần cứng:...................................................................................................................................24
1.2.Giải thuật:....................................................................................................................................24
2. Hạn chế và cách khắc phục:...............................................................................................................24
3. Hướng phát triển của đề tài:..............................................................................................................24
PHỤ LỤC..................................................................................................................................................25
TÀI LIỆU THAM KHẢO.........................................................................................................................29 lOMoARcPSD|47206521 EBOOKBKMT.COM lOMoARcPSD|47206521 EBOOKBKMT.COM
CHƯƠNG I : TỔNG QUAN VÀ ĐẶT VẤN ĐỀ
1.Giới thiệu chung về robot:
Robot hay người máy là một loại máy có thể thực hiện những công việc một cách
tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình.Robot
là một tác nhân cơ khí, nhân tạo, ảo, thường là một hệ thống cơ khí-điện tử. Với sự xuất
hiện và chuyển động của mình, robot gây cho người ta cảm giác rằng nó giác quan giống
như con người. Từ "robot" (người máy) thường được hiểu với hai nghĩa: robot cơ khí và
phần mềm tự hoạt động. Về lĩnh vực người máy Nhật Bản là nước đi đầu thế giới về lĩnh vực này.
Khái niệm Robot xuất hiện lần đầu tiên ở NewYork vào ngày 9/10/1922 trong vở
kịch“Rossum’s Universal Robot” của nhà soạn kịch người Tiệp Khắc là Karen Chapek,
còn từ Robot là một cách gọi khác của từ Robota-theo tiếng Tiệp có nghĩa là công việc
lao dịch. Khi đó, Karen Chapek cho rằng Robot là những người máy có khả năng làm
việc nhưng không có khả năng suy nghĩ.Gần một thế kỷ tiếp theo, khái niệm robot đã liên
tục được phát triển, đóng góp thêm bởi nhiều nhà nghiên cứu, nhiều công ty chuyên về lĩnh vực robot.
Trước những năm 1970, người ta chỉ tập trung vào việc phát triển những robot tay
máy hoạt động trong các nhà máy công nghiệp. Sau đó mới xuất hiện những khái niệm về
robot thông minh, và các nghiên cứu bắt đầu tập trung hơn vào robot di động. Một trong
những chuyên gia đầu ngành về robot di động là Hans P. Moravec (bắt đầu nghiên cứu từ
năm 1964), và hiện nay, chuyên nghiên cứu về robot di động là Sebastien Thruns.
Các robot di động có người điều khiển đã được dùng cho các mục đích quân sự,
các nhiệm vụ nguy hiểm như phá mìn, thăm dò đáy đại dương, hầm mỏ, kiểm tra các
đường ống ngầm, hay thăm dò sao Hoả…Sản phẩm robot di động được sản xuất đại trà
và đưa vào thị trường lần đầu tiên là robot hút bụi Roomba và Trilobite của hãng Electrolux năm 2003. lOMoARcPSD|47206521 EBOOKBKMT.COM
Một số hình ảnh về các Robot và ứng dụng của nó:
Hình 1.1: Robot tự hành Rover thám hiểm sao Hoả lOMoARcPSD|47206521 EBOOKBKMT.COM Hình 1.2 : Robot dò mìn
Hình 1.3 : Robot thám hiểm đại dương
2. Tổng quan về các bài toán của robot di động:
Ngày nay, Robot học đã đạt được những thành tựu to lớn trong nền sản xuất công
nghiệp. Những cánh tay robot có khả năng làm việc với tốc độ cao, chính xác và liên tục
làm năng suất lao động tăng nhiều lần. Chúng có thể làm việc trong các môi trường độc
hại như hàn, phun sơn, các nhà máy hạt nhân, hay lắp ráp các linh kiện điện tử tạo ra điện
thoại, máy tính…một công việc đòi hỏi sự tỉ mỉ, chính xác cao. Tuy nhiên những robot
này có một hạn chế chung đó là hạn chế về không gian làm việc. Không gian làm việc
của chúng bị giới hạn bởi số bậc tự do tay máy và vị trí gắn chúng. Ngược lại, các Robot
tự hành lại có khả năng hoạt động một cách linh hoạt trong các môi trường khác nhau.
Robot tự hành là loại mobile robot có khả năng tự hoạt động, thực thi nhiệm vụ
mà không cần sự can thiệp của con người. Với những cảm biến, chúng có khả năng nhận
biết về môi trường xung quanh. Robot tự hành ngày càng có nhiều ý nghĩa trong các
ngành công nghiệp, thương mại, y tế, các ứng dụng khoa học và phục vụ đời
sống của con người. Với sự phát triển của ngành Robot học, robot tự hành ngày càng có
khả năng hoạt động trong các môi trường khác nhau, tùy mỗi lĩnh vực áp dụng mà chúng
có nhiều loại khác nhau như robot sơn, robot hàn, robot cắt cỏ, robot thám hiểm đại
dương, robot làm việc ngoài vũ trụ. Cùng với sự phát triển của yêu cầu trong thực tế, lOMoARcPSD|47206521 EBOOKBKMT.COM
robot tự hành tiếp tục đưa ra những thách thức mới cho các nhà nghiên cứu. Vấn đề của
robot tự hành là làm thế nào để robot tự hành có thể hoạt động, nhận biết môi trường và
thực thi các nhiệm vụ đề ra.
Vấn đề đầu tiên là "navigation" (tạm dịch là "di chuyển"), Robot tự hành nên di
chuyển như thế nào và cơ cấu di chuyển nào là sự lựa chọn tốt nhất. Điều hướng là vấn
đề cơ bản trong nghiên cứu và chế tạo Robot tự hành. Trong hiệp hội nghiên cứu về
Robot tự hành có 2 hướng nghiên cứu khác nhau:
- Hướng thứ nhất là nghiên cứu về Robot tự hành có khả năng điều hướng ở tốc độ cao
nhờ thông tin thu được từ cảm biến, đây là loại robot có khả năng hoạt động ở môi
trường trong phòng cũng như môi trường bên ngoài. Loại robot này yêu cầu khả năng
tính toán đồ sộ và được trang bị cảm biến có độ nhạy cao, dải đo lớn để có thể điều khiển
robot di chuyển ở tốc độ cao, trong những môi trường có địa hình phức tạp.
- Hướng thứ hai nhằm giải quyết các vấn đề về các loại robot tự hành chỉ dùng để hoạt
động trong môi trường trong phòng. Loại robot tự hành này có kết cấu đơn giản hơn loại
trên, thực hiện những nhiệm vụ đơn giản.
Vấn đề di chuyển là vấn đề trọng tâm của robot di động. Để di chuyển được, robot
phải thực hiện một loạt các tác vụ, mỗi tác vụ gắn với một bài toán nhỏ trong bài toán
"navigation". Các bài toán đó gồm:
Mapping: là công việc lập bản đồ môi trường hoạt động của robot. Nếu không
được cung cấp dữ liệu trước thì robot phải có khả năng lập bản đồ.
Positioning: là việc định vị, robot phải có khả năng biết được mình đang ở đâu
trong bản đồ toàn cục hoặc địa phương.
Path planning: là việc hoạch định đường đi sắp tới của robot, sau khi nó biết được
bản đồ và biết mình đang ở vị trí nào.
Motion control: là việc điều khiển cho robot di động, tức là điều khiển các cơ cấu
để robot đi theo con đường thu được từ bài toán "path planning".
Obstacle avoidance: là nhiệm vụ tránh chướng ngại vật khi robot đang di chuyển. lOMoARcPSD|47206521 EBOOKBKMT.COM
3. Bài toán di chuyển tránh vật cản : 3.1.Vấn đề :
Việc di chuyển tránh vật cản là một tác vụ thường thấy ở robot di động, trong các môi
trường biết trước hoặc không biết trước. Tác vụ này được dùng với các nhiệm vụ: tránh
chướng ngại vật, đi theo tường biết trước, đi theo tường không biết trước.
3.2. Giải quyết bài toán:
Để giải quyết bài toán này, trong phạm vi của đồ án , em thiết kế mô hình robot gồm 2
bánh xe chủ động phía sau, 1 bánh xe phía trước chuyển động tự do, 1 cảm biến siêu âm
SRF05 để thu khoảng cách và tránh vật cản, mạch điều khiển được sử dụng ở đây là Arduino Uno. lOMoARcPSD|47206521 EBOOKBKMT.COM
CHƯƠNG II: CÁC LINH KIỆN CHÍNH VÀ THIẾT KẾ MẠCH 1. Các
linh kiện chính của robot : Động cơ DC Cảm biến siêu âm SRF 05 Chip driver L298D Arduino Uno Động cơ Servo SG90 1.1. Động cơ DC: 1.1.1.Giới thiệu :
DC động cơ là động cơ điện hoạt động với dòng một chiều. Động cơ DC sử dụng
rộng rãi trong các ứng dụng dân cư cũng như các ngành công nghiệp. Thông thường động
cơ DC chỉ chạy ở một tốc độ khi kết nối với nguồn điện, nhưng chúng ta vẫn có thể kiểm
soát tốc độ và hướng của động cơ với sự hỗ trợ của các mạch điện tử với phương pháp PWM.
Động cơ DC trong các hình thức của động cơ dân sự thường hoạt động với điện áp
thấp, được sử dụng với tải trọng nhỏ. Trong công nghiệp, động cơ DC được sử dụng
trong các lĩnh vực đòi hỏi phải có mô-men xoắn lớn hơn trên máy tính hoặc yêu cầu thay
đổi trong phạm vi tốc độ.
1.1.2. Điều chế độ rộng xung:
Điều khiển động cơ PWM phương pháp dựa trên nguyên tắc hoạt động cho động
cơ chạy bằng chuỗi xung nhanh chóng mở và đóng. Điện DC được chuyển đổi thành tín
hiệu sóng vuông (chỉ có hai cấp độ và khoảng 0 điện áp hoạt động volt). Tín hiệu
sóngvuông này cho động cơ.Nếu tần số chuyển đổi là đủ lớn động cơ sẽ chạy ở tốc độ ổn
định phụ thuộc vào trục mô-men xoắn.Với phương pháp PWM, điều chỉnh tốc độ động
cơ thông qua điều chế độ rộng xung, tức là thời gian "xung đầy đủ" ("on") của chuỗi
xung vuông cho động cơ. Điều chỉnh này sẽ ảnh hưởng đến công suất trung bình cho
động cơ và do đó sẽ thay đổi cần điều khiển tốc độ động cơ. lOMoARcPSD|47206521 EBOOKBKMT.COM
1.2.Cảm biến siêu âm SRF05: 1.2.1.Giới thiệu :
Hình 2.1 : Cảm biến đo khoảng cách SRF 05
Cảm biến SRF05 là một loại cảm biến khoảng cách dựa trên nguyên lý thu phát
siêu âm. Cảm biến gồm một bộ phát và một bộ thu sóng siêu âm. Sóng siêu âm từ đầu
phát truyền đi trong không khí, gặp vật cản (vật cần đo khoảng cách tới) sẽ phản xạ
ngược trở lại và được đầu thu ghilại. Khoảng cách đo được của SRF05 nằm trong phạm vi từ 4cm đến 300cm. lOMoARcPSD|47206521 EBOOKBKMT.COM
Hình 2.2 : Nguyên lý thu phát siêu âm.
1.2.2. Nguyên tắc hoạt động :
SRF05 có thể thiết lập 2 mode hoạt động khác nhau thông qua các chân điều khiển
MODE. Nối hoặc không nối chân MODE xuống GND cho phép cảm biến được điều
khiển thông qua giao tiếp dùng 1 chân hay 2 chân IO.
a). Mode 1: Tách chân TRIGGER & ECHO dùng riêng:
Trong mode này,SRF05sử dụng cả 2 chân trigger và echo cho việc giao tiếp với
MCU. Để sử dụng mode này,ta chỉ cần để trống chân Mode của module,điện trở bên
trong module sẽ kéo chân pin này lên mức 1. lOMoARcPSD|47206521 EBOOKBKMT.COM
Hình 2.3 : Cấu hình SRF05 ở mode 1
Để điều khiển SRF05,ta cần cấp cho chân TRIGGER một xung điều khiển với độ
rộng tối thiểu 10uS. Sau đó một khoảng thời gian, đầu phát sóng siêu âm sẽ phát ra sóng
siêu âm, vi xử lý tích hợp trên module sẽ tự xác định thời điểm phát sóng siêu âm và thu
sóng siêu âm. Vi xử lý tích hợp này sẽ đưa kết quả thu được ra chân ECHO. Độ rộng
xung vuông tại chân ECHO tỉ lệ với khoảng cách từ cảm biến tới vật thể.
Hình 2.4 : Nguyên lý hoạt động của SRF05 ở chế độ mode 1 lOMoARcPSD|47206521 EBOOKBKMT.COM
b). Mode 2:chân TRIGGER & ECHO dùng chung:
Được thiết kế nhằm cho mục đích tiết kiệm chân pin cho MCU,nên trong mode
này, SRF05 chỉ sử dụng 1 chân pin cho 2 chức năng TRIGGER và ECHO.Để sử dụng
mode này ,ta kết nối chân Mode xuống GND (0v).Đây cũng là mode sẽ được sử dụng trong demo.
Hình 2.5: Cấu hình SRF05 ở chế độ mode 2. lOMoARcPSD|47206521 EBOOKBKMT.COM
Để điều khiển SRF05,đầu tiên xuất một xung với độ rộng tối thiểu 10uS vào chân
TRIGGER-ECHO (chân số 3) của cảm biến. Sau đó vi xử lý tích hợp trên cảm biến sẽ
phát ra tín hiệu điều khiển đầu phát siêu âm. Sau 700uS kể từ lúc kết thúc tín hiệu điều
khiển, từ chân TRIGGER-ECHO có thể đọc ra một xung mà độ rộng tỉ lệ với khoảng
cách từ cảm biến tới vật thể.
Hình 2.6: Nguyên lý hoạt động của SRF05 ở chế độ mode 2. Tính toán khoảng cách :
Theo sơ đồ thời gian của SRF05 như trên, ta chỉ cần cung cấp một xung ngắn tối thiểu
10uS làm tín hiệu trigger. Sau đó cảm biến sẽ gửi một khối 8 chu kỳ sóng siêu âm tại
40kHz và xuất xung echo. Sau đó SRF05 đợi sóng siêu âm phả n hồi sau khi gặp vật cản,
khi nhận được sóng phản hồi thì xung echo bị ngắt. Như vậy, xung echo có chiều rộng tỉ
lệ thuận với khoảng cách tới vật cản. Thời gian xung echo tồn tại có thể cho ta biết được
khoảng cách giữa cảm biến với vật. Nếu trường hợp không phát hiện được vật cản, hoặc
vật cản ngoài tầm xác định của SRF05 (4m) thì sau 30ms xung echo cũng được đưa về
mức thấp. SRF05 có thể được kích hoạt nhanh nhất mỗi 50ms (20 lần mỗi giây). Nên chờ
mỗi 50ms rồi thực hiện lần đo tiếp theo. Điều này đảm bảo cho các nhiễu siêu âm phản
xạ của lần đo trước không gây sai lệch kết quả thu được.Công thức tính khoảng cách từ
cảm biến tới vật cản: lOMoARcPSD|47206521 EBOOKBKMT.COM 1.3.Chip driver L298D : 1.3.1.Giới thiệu :
L298D là một chip tích hợp 2 mạch cầu H trong gói 15 chân. Tất cả các mạch kích,
mạch cầu đều được tích hợp sẵn. L298D có điện áp danh nghĩa cao (lớn nhất 50V) và
dòng điện danh nghĩa lớn hơn 2A nên rất thích hợp cho các các ứng dụng công suất nhỏ
như các động cơ DC loại nhỏ và vừa. Vì là loại “all in one” nên là lựa chọn hoàn hảo cho
những người chưa có nhiều kinh nghiệm làm mạch điện tử. Trong bài học này ta dùng
chip L298D để làm driver cho motor. Hình sau thể hiện mô hình thật của chip và cấu trúc bên trong chip. Hình 2.7. Chip driver L298D lOMoARcPSD|47206521 EBOOKBKMT.COM Hình 2.8. Mạch Chip L298D
Hình phía trên là hình dáng bên ngoài và tên gọi các chân của L298D. Hình phía
dưới là cấu trúc bên trong chip. Có 2 mạch cầu H trên mỗi chip L298D nên có thể điều
khiển 2 đối tượng chỉ với 1 chip này. Mỗi mạch cầu bao gồm 1 đường nguồn Vs (thật ra
là đường chung cho 2 mạch cầu), một đường current sensing (cảm biến dòng), phần cuối
của mạch cầu H không được nối với GND mà bỏ trống cho người dùng nối một điện trở
nhỏ gọi là sensing resistor. Bằng cách đo điện áp rơi trên điện trở này chúng ta có thể tính
được dòng qua điện trở, cũng là dòng qua động cơ trên. Mục đích chính của việc đo dòng
điện qua động cơ là để xác định các trường hợp nguy hiểm xảy ra trong mạch, ví dụ quá
tải. Nếu việc đo dòng động cơ không thật sự cần thiết bạn có thể nối đường current
sensing này với GND (trong mạch điện của bài này, ta nối chân current sensing với
GND). Động cơ sẽ được nối với 2 đường OUT1, OUT2 (hoặc OUT3, OUT4 nếu dùng
mạch cầu bên phải). Một chân En (EnA và EnB cho 2 mạch cầu) cho phép mạch cầu hoạt
động, khi chân En được kéo lên mức cao, mạch cầu sẵn sang hoạt động. Các đường kích
mỗi bên của mạch cầu được kết hợp với nhau và nhưng mức điện áp ngược nhau do một
cổng Logic NOT. Bằng cách này chúng ta có thể tránh được trường hợp 2 transistor ở
cùng một bên được kích cùng lúc (ngắn mạch). Như vậy, sẽ có 2 đường kích cho mỗi cầu
H gọi là In1 và In2 (hoặc In3, In4). Để motor hoạt động chúng ta phải kéo 1 trong 2
đường kích này lên cao trong khi đường kia giữ ở mức thấp, ví dụ In1=1, In2=0. Khi đảo
mức kích của 2 đường In, động cơ sẽ đảo chiều quay. Tuy nhiên, do L298D không chỉ
được dùng đề đảo chiều động cơ mà còn điều khiển vận tốc động cơ bằng PWM, các
đường In cần được “tổ hợp lại” bằng các cổng Logic (xem phần tiếp theo). Ngoài ra, trên
chip L298D còn có các đường Vss cấp điện áp cho phần logic (5V) và GND chung cho cả logic và motor . lOMoARcPSD|47206521 EBOOKBKMT.COM
Trong thực tế, công suất thực mà L298D có thể tải nhỏ hơn so với giá trị danh
nghĩa của nó (V=50V, I=2A). Để tăng dòng điện tải của chip lên gấp đôi, chúng ta có thể
nối 2 mạch cầu H song song với nhau (các chân có chức năng như nhau của 2 mạch cầu được nối chung).
1.3.2.Mạch logic cho L298D:
Thông thường, khi thiết kế một mạch driver cho motor người ta thường dành 3 đường
điều khiển đó là PWM dùng điều khiển vận tốc, DIR điều khiển hướng và En cho phép
mạch hoạt động. Chip L298D đã có sẵn đường En nhưng 2 đường điều khiển In1 và In2
không thật sự chức năng như chúng ta mong muốn. Vì thế, chúng ta sẽ thiết kế một mạch
logic phụ với 2 ngõ vào là PWM và DIR trong khi 2 ngõ ra là 2 đường điều khiển In1 và In2.
Bảng chân trị của mạch logic cần thiết kế được trình bày trong bảng 1.
Bảng 1. Bảng chân trị của mạch logic cho driver L298D.
Từ bảng chân trị này, chúng ta có thể viết hàm bool cho 2 ngõ In1 và In2: In1=PWM.NOT(DIR) In2=PWM.DIR lOMoARcPSD|47206521 EBOOKBKMT.COM
Mạch logic vì thế sẽ có dạng như trong hình sau :
Hình 2.9. Mạch logic cho L239
Với mạch logic này, đường DIR có chức năng đảo chiều động cơ trong khi đường
PWM điều khiển vận tốc động cơ bằng tín hiệu PWM. 1.4. Arduino Uno :
1.4.1. Giới thiệu về Arduino :
Hình 2.10 :Một số loại arduino .
Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là những người
tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với lOMoARcPSD|47206521 EBOOKBKMT.COM
những gì Apple đã làm được trên thị trường thiết bị di động. Số lượng người dùng cực
lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học.
Arduino là một 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ật củ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á rất thấp và tính chất nguồn mở từ phần cứng tới phần
mềm. Chỉ với khoảng $30, người dùng đã có thể sở hữu một bộ.
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào
thế kỷ thứ 9 là King Arduin. Arduino chính thức được đưa ra giới thiệu vào năm 2005
như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, là một
trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea
(IDII). Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lan truyền với
tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu tiên.
Hiện nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nơi đã sản sinh ra Arduino.
1.4.2. Hoạt động của arduino : Hình 2.11. Arduino uno
Theo như hình minh họa, có 14 cổng in/out (đánh số 0-13). Đây là các chân
cắm của Arduino và có chức năng input hoặc output, tạo nên cốt lõi của thiết bị. lOMoARcPSD|47206521 EBOOKBKMT.COM
Có 6 chân kỹ thuật số, được đánh dấu bởi dấu ~ để thực hiện Xung.
Chân 13 đặc biệt có một LED được ghép vào. Việc này giúp cho việc thử nghiệm.
Bạn có thể sử dụng LED có sẵn, bằng cách xuất ra chân 13 hoặc ra các chân khác.
Ở phần bên phải ở dưới có một cổng analog 6 chân input. Chúng giúp đọc các
giá trị của cảm biến analog.
Ở bên trái là các cổng analog tương tự cổng nguồn. bạn chỉ cần nguồn 3,3 vol hoặc 5 vol.
Cuối cùng, một công tắc chuyển dùng để reset Arduino. nó sẽ giúp khởi động
lại bất kỳ chương trình nào trong bộ nhớ.
Arduino có một khoảng bộ nhớ, và nếu chương trình của bạn quá lớn, compiler sẽ báo lỗi.
Các thông số của arduino uno R3 như sau :
Cấu trúc một chương trình Arduino
Mỗi chương trình Arduino được chia làm 2 chức năng : lOMoARcPSD|47206521 EBOOKBKMT.COM
Đầu tiên là cài đặt chức năng. Việc này giúp khởi tạo và dùng để Arduino biết
sẽ kết nối đến thiết bị nào, cũng như khởi tạo biến mà bạn cần trong chương trình.
Thứ hai là vòng lặp. Đây là nền tảng của mỗi chương trình Arduino. Khi
Arduino hoạt động, sau khi chức năng cài đặt hoàn tất, vòng lặp sẽ chạy tất cả các code,
sau đó thực hiện lại đến khi nào mất nguồn hoặc bị reset. Quãng thời gian để hoàn
thành dựa trên code được nạp vào. Bạn có thể viết code để chạy vài giờ nếu không muốn lặp quyết định.
Hình 2.12 : Cấu trúc chương trình Arduino.
1.5. Động cơ servo : 1.5.1. Giới thiệu :
Động cơ DC và động cơ bước vốn là những hệ hồi tiếp vòng hở- ta cấp điện để
động cơ quay nhưng chúng quay bao nhiêu thì ta không biết, kể cả đối với động cơ bước
là động cơ quay một góc xác định tùy vào số xung nhận được. Việc thiết lập một hệ
thống điều khiển để xác định những gì ngăn cản chuyển động quay của động cơ hoặc làm
động cơ không quay cũng không dễ dàng.
Mặt khác, động cơ servo được thiết kế cho những hệ thống hồi tiếp vòng kín. Tín
hiệu ra của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị
trí sẽ được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển
động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong
muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác.