1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án chuyên ngành ngành công nghệ kỹ thuật Điều khiển và tự Động hóa mô hình robot hút bụi

62 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 13,85 MB

Nội dung

Đặc biệt,các loại robot có khả năng hoạt động tự động mà không cần sự can thiệp của conngười đã giúp giảm bớt gánh nặng công việc hàng ngày của con người.Theo sự tiến bộ đáng kể trong lĩ

Trang 1

TÊN SINH VIÊN:

ĐẶNG HUỲNH QUỐC HUY - 2032202022 LỚP: 11DHTDH2

THÀNH PHỐ HỒ CHÍ MINH, THÁNG … NĂM …

Trang 2

TÊN SINH VIÊN:

ĐẶNG HUỲNH QUỐC HUY - 2032202022 LỚP: 11DHTDH2

Trang 3

THÀNH PHỐ HỒ CHÍ MINH, THÁNG … NĂM …

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sựhướng dẫn của GVHD.TS Văn Tấn Lượng Các nội dung nghiên cứu, kết quảtrong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trướcđây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét,đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phầntài liệu tham khảo

Ngoài ra, trong Đồ án Chuyên ngành còn sử dụng một số nhận xét, đánhgiá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn

và chú thích nguồn gốc

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung Đồ án Chuyên ngành của mình Trường Đại học CôngThương Thành Phố Hồ Chí Minh không liên quan đến những vi phạm tác quyền,bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

TP Hồ Chí Minh, ngày … tháng … năm …

Sinh viên

Huy

Đặng Huỳnh Quốc Huy

Trang 5

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành đến thầy Văn Tấn Lượng, GVHD môn

đồ án chuyên ngành, trường Đại học Công Thương Tp.HCM đã hướng dẫn, chỉbảo tận tình, trang bị giúp em những kỹ năng cơ bản và kiến thức cần thiết đểhoàn thành được đồ án này

Tuy nhiên, trong quá trình làm đồ án do kiến thức chuyên ngành của emcòn hạn chế nên không thể tránh khỏi một vài thiếu sót khi trình bày và đánh giávấn đề Rất mong nhận được sự góp ý, đánh giá của các thầy cô bộ môn để đề tàicủa em thêm hoàn thiện hơn

Em xin chân thành cảm ơn!

TP Hồ Chí Minh, ngày … tháng … năm …

Sinh viên

Huy

Đặng Huỳnh Quốc Huy

Trang 6

MỤC LỤC

LỜI CẢM ƠN iii

MỤC LỤC………

……… iv

DANH SÁCH HÌNH vi

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 2

1.1 Lý do chọn đề tài 2

1.2 Mục tiêu 6

1.3 Đối tượng và phạm vi nghiên cứu 6

1.4 Phương pháp nghiên cứu 6

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 7

2.1 Cơ sở liên quan đến lý thuyết đề tài 7

CHƯƠNG 3 GIỚI THIỆU PHẦN MỀM 29

3.1 Giới thiệu chung 29

3.1.1 Ngôn ngữ lập trình 29

3.1.2 Thư viện phong phú 30

3.2 Giao diện đơn giản, dễ sử dụng 31

3.3 Hướng dẫn tải và cài đặt Arduino IDE 33

3.3.1.Hướng dẫn tải 33

3.2.2.Hướng dẫn cài đặt 35

CHƯƠNG 4 KẾT QUẢ VÀ THẢO LUẬN 38

4.1 Sơ đồ hệ thống 38

4.1.1 Sơ đồ khối 38

4.1.2 Sơ đồ đấu dây 39

4.2 Lưu đồ giải thuật 40

4.3 Lập trình hệ thống 40

4.4 Hình ảnh mô hình 51

Trang 7

4.3.1 Mô hình 51

4.3.2 Đoạt giải Robotic 52

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53

5.1 Kết luận 53

5.2 Hướng phát triển đề tài 53

TÀI LIỆU THAM KHẢO 54

Trang 8

DANH SÁCH HÌNH

Hình 1: Tự động hoá trong sản xuất ô tô 2

Hình 2: Mobile Robot 4

Hình 3: Mê cung đường 5

Hình 4: Arduino Uno R3 7

Hình 5: Các cổng vào/ra của Arduino Uno R3 9

Hình 6: Chức năng của các chân 10

Hình 7: Màn hình chính khi lập trình 11

Hình 8: Module L298 12

Hình 9: Sơ đồ chân của Module L298 13

Hình 10: Sơ đồ khối mạch cầu L298 14

Hình 11: Động cơ DC V1 15

Hình 12: Bánh xe 15

Hình 13: Cảm biến siêu âm 16

Hình 14: Cơ chế hoạt động của cảm biến siêu âm 17

Hình 15: Cảm biến dò line đơn 18

Hình 16: Động cơ Servo SG90 19

Hình 17: Động cơ RC Servo MG996R 20

Hình 18: Mạch Motor Shield L293D 22

Hình 19: Sơ đồ khối mạch điều khiển động cơ L293D 23

Hình 20: Minh hoạ cánh tay robot 24

Hình 21: Minh hoạ Line để cảm biến nhận biết 25

Hình 22: Cơ chế hoạt động 25

Hình 23: Xe chạy theo line trong cuộc thi Robotic 26

Hình 24: Lưu đồ mạch xe lệch phải 27

Hình 25: Lưu đồ mạch xe lệch trái 28

Hình 26: Màn hình khởi động Arduino IDE 29

Hình 27: Khu vực lập trình 30

Hình 28: Mục quản lí thư viện 31

Hình 29: Nút kiểm tra chương trình 32

Hình 30: Nút tải đoạn code 32

Trang 9

Hình 31: Vùng lập trình 33

Hình 32: Thanh Menu 33

Hình 33: Trang chủ tải phần mềm Arduino IDE 34

Hình 34: Mục chọn hệ điều hành máy tính 34

Hình 35: Mục tải về 34

Hình 36: Chọn nơi cần lưu 35

Hình 37: Giao diện khởi động phần mềm 35

Hình 38: Cấp giấy phép cho phần mềm 36

Hình 39: Đợi hoàn hành việc cài đặt 36

Hình 40: Cài đặt thành công 37

Hình 41: Sơ đồ khối xe dò line 38

Hình 42: Sơ đồ đấu dây xe dò line 39

Hình 43: Sơ đồ đấu dây cánh tay Robot 39

Hình 44: Lưu đồ giải thuật 40

Hình 45: Hình xe dò line có tay gắp 51

Hình 46: Hình ảnh đoạt giải trong cuộc thi Robotics 52

Trang 10

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI

1.1 Lý do chọn đề tài

Trong thời đại hiện đại, vai trò của robot đã trở nên ngày càng quan trọngtrong cuộc sống của chúng ta Chúng không chỉ thay thế mà còn đóng vai trò làmviệc cùng con người trong nhiều lĩnh vực, bao gồm vận chuyển hàng hóa, kiểmtra các môi trường nguy hiểm và hỗ trợ trong các công việc gia đình Đặc biệt,các loại robot có khả năng hoạt động tự động mà không cần sự can thiệp của conngười đã giúp giảm bớt gánh nặng công việc hàng ngày của con người.Theo sự tiến bộ đáng kể trong lĩnh vực khoa học và công nghệ, việc pháttriển một loại robot có khả năng thực hiện các nhiệm vụ trong gia đình, như việclàm sạch nhà, trở nên cấp thiết Dựa trên những ý tưởng này, việc lựa chọn đề tài

"Robot hút bụi" cho bài đồ án này trở nên hợp lý và cần thiết

Hình: 1 vài mẫu robot hút bụi được bán ở Điện Máy Xanh

Tính mới của đề tài

Robot hút bụi tự động được xây dựng để hoạt động độc lập mà không cần

sự can thiệp của con người Nó có khả năng tự động di chuyển trong không giannhà, và đặc biệt, có khả năng tự động tránh những vật cản Điều này cho phéprobot hoàn thành nhiệm vụ làm sạch mọi vị trí trong ngôi nhà mà không gặp khókhăn Trong quá trình hoạt động, robot sử dụng công nghệ mạch logic để xác

Trang 11

định và tránh các vật cản Mặc dù công nghệ này đã được áp dụng từ rất sớm và

đã đạt được một số thành tựu đáng kể, nhưng cũng tồn tại một số nhược điểm,khiến cho việc xác định vật cản và thực hiện việc tránh chúng một cách chính xáctrở nên khó khăn

Để khắc phục nhược điểm này, đồ án đã thực hiện việc xây dựng và thiết

kế một hệ thống tránh vật cản thông qua việc sử dụng tín hiệu từ cảm biến siêu

âm Các tín hiệu từ cảm biến siêu âm được đưa về vi điều khiển, và tại đây,chúng được xử lý để đưa ra tín hiệu điều khiển cho các cơ cấu chấp hành, baogồm động cơ và các module điều khiển động cơ khác Trong đồ án, vi điều khiểnArduino Uno R3 được sử dụng, đây là một module rất phổ biến và dễ dàng lậptrình

Ngoài ra, phần hút bụi của robot được thiết kế sử dụng các vật liệu phổbiến và dễ tìm kiếm trên thị trường như ống nước, các tấm vải, động cơ V1, vànhiều linh kiện khác Điều này giúp đơn giản hóa quá trình chế tạo và lắp ráprobot hút bụi, đồng thời làm giảm chi phí và thời gian cần thiết cho việc xâydựng dự án này

1.2 Mục tiêu

- Hoàn thành thiết kế và thi công một mô hình

- Tạo ra một sản phẩm thực tế

- Hiệu suất làm sạch hiệu quả

- Có thêm nhiều kinh nghiệm về lĩnh vực Mobile Robot

1.3 Đối tượng và phạm vi nghiên cứu

Trang 12

Tích hợp Công nghệ Tránh Vật Cản: Mục tiêu là phát triển và tích hợpcông nghệ để robot có khả năng xác định và tránh vật cản trong quá trình làmsạch.

Hiệu suất Làm sạch: Đánh giá hiệu suất làm sạch của robot, bao gồmphạm vi mà robot có thể làm sạch một cách hiệu quả

Thiết kế Thẩm mỹ: Tùy theo yêu cầu, phạm vi nghiên cứu có thể bao gồm

cả thiết kế ngoại hình của robot để đảm bảo tính thẩm mỹ

Tùy chỉnh và Mở rộng (tuỳ chọn): Mục tiêu có thể bao gồm sự dễ dàngtùy chỉnh và mở rộng tính năng của robot để đáp ứng nhu cầu cụ thể của ngườidùng

1.4 Phương pháp nghiên cứu

- Nghiên cứu Mô hình Lý thuyết

- Phương pháp nghiên cứu tài liệu

- Phương pháp thực nghiệm

- Phương pháp phân tích tổng kết kinh nghiệm

- Thực nghiệm thử và sai

Trang 13

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Cơ sở liên quan đến lý thuyết đề tài

Arduino UNO R3

Arduino Uno R3 là một loại bo mạch vi điều khiển dựa trên ATmega328P

Nó bao gồm toàn bộ những thứ cần thiết để giữ bộ vi điều khiển chỉ cần gắn nóvào PC với sự trợ giúp của cáp USB và cung cấp nguồn điện bằng bộ chuyển đổiAC-DC hoặc pin để bắt đầu Thuật ngữ Uno có nghĩa là “một” trong ngôn ngữ

“Ý” và được chọn để đánh dấu việc phát hành phần mềm Arduino’s IDE 1.0 R3Arduino Uno là bản sửa đổi thứ 3 cũng như gần đây nhất của Arduino Uno BảngArduino và phần mềm IDE là phiên bản tham chiếu của Arduino và hiện đangđược phát hành mới Bảng mạch Uno là bảng chính trong chuỗi USB- BảngArduino và mô hình tham chiếu được thiết kế cho nền tảng Arduino

Hình: ARUINO R3

Các Arduino UNO R3 thường xuyên được sử dụng bảng vi điều khiểntrong họ Arduino Đây là phiên bản thứ ba mới nhất của bảng Arduino và đượcphát hành vào năm 2011 Ưu điểm chính của bảng này là nếu chúng ta mắc lỗi,chúng ta có thể thay đổi bộ vi điều khiển trên bảng Các tính năng chính của bomạch này chủ yếu bao gồm, nó có sẵn trong DIP (gói nội tuyến kép), có thể tháorời và vi điều khiển ATmega328 Lập trình của bảng này có thể dễ dàng được tảibằng cách sử dụng chương trình máy tính Arduino Bo mạch này có sự hỗ trợ rấtlớn từ cộng đồng Arduino, điều này sẽ tạo ra một cách rất đơn giản để bắt đầulàm việc trong thiết bị điện tử nhúng và nhiều ứng dụng khác

Trang 14

- 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)

 Tần số hoạt động: 16 MHz

 Dòng tiêu thụ khoảng: 30mA

 Điện áp vào khuyên dùng: 7-12V DC

 Điện áp vào giới hạn: 6-20V DC

 Số chân Digital I/O: 14 (6 chân hardware PWM)

 Số chân Analog: 6 (độ phân giải 10bit)

 Dòng tối đa trên mỗi chân I/O: 30 mA

- Các chân năng lượng:

GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng

các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải đượcnối với nhau

5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương

của nguồn với chân này và cực âm của nguồn với chân GND

IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở

chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V

từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn

RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với

việc chân RESET được nối với GND qua 1 điện trở 10KΩ

- Bộ nhớ:

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

Trang 15

32KB bộ nhớ Flash: những đoạn lệnh bạn 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ẽ đượcdùng cho bootloader nhưng đừng lo, bạn 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 bạn khai

báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều

bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thànhthứ mà bạn 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 bạn có thể đọc và ghi dữ

liệu 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:

Hình 1: Các cổng vào/ra của Arduino Uno R3

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúngchỉ 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 đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiểnATmega328 (mặc định thì các điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –

RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua

2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serialkhông dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân nàynếu không cần thiết

Trang 16

Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ

phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàmanalogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ởchân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chânkhác

Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức

năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thứcSPI với các thiết bị khác

LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút

Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13.Khi chân này được người dùng sử dụng, LED sẽ sáng

Hình 2: Chức năng của các chân

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREFtrên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chânanalog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng cácchâ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ếpI2C/TWI với các thiết bị khác

- Lập trình cho Arduino:

Trang 17

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng.Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói Và Wiringlại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi

là C hay C/C++ Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đórất dễ học, dễ hiểu

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhómphát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trìnhArduino được gọi là Arduino IDE (Intergrated Development Environment) nhưhình dưới đây

Hình 3: Màn hình chính khi lập trình

Lưu ý khi sử dụng Arduino Uno R3:

Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó ta phải hếtsức cẩn thận, kiểm tra các cực âm, dương của nguồn trước khi cấp cho ArduinoUno Việc làm chập mạch nguồn vào của Arduino Uno sẽ biến nó thành mộtmiếng nhựa chặn giấy Ta nên dùng nguồn từ cổng USB nếu có thể

Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra chocác thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí

có thể làm hỏng board Điều này không được nhà sản xuất khuyến khích

Trang 18

Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện ápdưới 6V có thể làm hỏng board.

Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điềukhiển ATmega328

Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog củaArduino Uno nếu vượt quá 200mA sẽ làm hỏng vi điều khiển

Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino Uno

sẽ làm hỏng vi điều khiển

Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của ArduinoUno vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyềnnhận dữ liệu, phải mắc một điện trở hạn dòng

Module L298

Module điều khiển động cơ L298 là bộ điều khiển sử dụng mạch cầu H để

dễ dàng điề u khiển chiều quay và tốc độ của tối đa 2 động cơ DC

Hình 4: Module L298

Module này dễ sử dụng, chi phí thấp, dễ lắp đặt Module L298N đượcdùng để chế tạo xe điều khiển, xe dò đường, các thiết bị sử dụng động cơ DChoặc động cơ bước … sử dụng kết hợp với vi điều khiển

- Cấu tạo của Module L298 bao gồm các chân sau:

Trang 19

• Hai chân cấp nguồn trực tiếp đến động cơ là 12V power và 5V power.Ngoài ra bạn cũng có thể cấp nguồn 9 -12V ở 12V.

• Power GND là GDN của nguồn cấp cho động cơ

• 2 Jump A enable và B enable

• 4 chân Input gồm có: IN1, IN2, IN3,IN4

• Output A sẽ được nối với động cơ A Khi nối bạn phải chú ý ký hiệu “

+;-” vì khi bạn nối ngược động cơ sẽ chạy theo chiều ngược

• Gồm hai phần điều khiển động cơ Có thể điều khiển cho động cơ 4 dây vàđộng cơ 6 dây

Trang 20

- Sơ đồ chân của Module L298

Hình 5: Sơ đồ chân của Module L298

• Khi nối mạch để điều khiển động cơ, bạn cần chú ý hai cực +; – của động

cơ sao cho tương xứng với chân + ; – của Output

• Tiếp theo cấp nguồn cho module L298, khi đó phải chú ý chọn đúngJump

• Đối với động cơ dưới 1A bạn có thể sử dụng chân 5V của Arduino

• Các chân Input IN1, IN2, IN3, IN4 của L298 sẽ được nối tương ứng vớicác chân D7, D6, D5, D4 của Arduino

• Các đầu ra High và Low có nhiệm vụ điều khiển chiều quay của động cơ ởcác chân INx

Ví dụ:

Chân IN1 là chân OutA 1, chân IN2 là chân OutA 2

Khi cấp nguồn cực dương vào IN1 và cực âm vào IN2 thì động cơ quay 1chiều

Còn khi cực âm vào IN1 và cực dương vào IN2 thì động cơ quay chiềucòn lại

Trang 21

Cực dương sẽ mang điện thế 5V, cực âm điện thế 0V Hiệu điện thế bằngđiện thế IN1 – điện thế IN2 Nếu hiệu điện thế 5V là mạnh nhất để điều khiểnđộng cơ thì khi bạn hạ hiệu điện thế xuống động cơ sẽ tự động yếu đi Và khihiệu điện thế bằng 0 thì động cơ sẽ đổi chiều.

- Chức năng của các chân

Bốn chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7,

10, 12 của IC L298N Đây là các chân nhận tín hiệu điều khiển.Bốn chânOUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT) được

nối với các chân 2, 3, 13, 14 của IC L298N Các chân này sẽ được nối với động

cơ DC hoặc động cơ bước

Hình 6: Sơ đồ khối mạch cầu L298

Hai chân cho phép ENA và ENB dùng để điều khiển mạch cầu H trong ICL298N Nếu ở mức logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạtđộng, nếu ở mức logic “0” thì mạch cầu H không hoạt động Các chân này cũngđược dùng để điều khiển tốc độ của động cơ

+ Khi ENA = 0: Động cơ không quay với mọi đầu vào

Trang 22

+ Khi ENA = 1:

+ IN1 = 1; IN2 = 0: Động cơ quay thuận

+ IN1 = 0; IN2 = 1: Động cơ quay nghịch

+ IN1 = IN2: Động cơ dừng ngay lập tức Với ENB cũng tương tự với IN3,IN4

Trang 23

Động cơ V1

Động cơ L298 điều khiển động cơ với 2 mạch cầu H đã tích hợp sẵn ở bêntrong Trong mỗi IC L298 được tích hợp 2 cầu H, mỗi cầu H chịu được 2 dòngAmpe Khi nối các chân có cùng chức năng của 2 cầu H trên IC với nhau thì IC

có thể cung cấp được dòng 4 Ampe đủ để cho động cơ hoạt động hết công suất

Trang 24

Cảm biến siêu âm

Hình 9: Cảm biến siêu âm

Cảm biến siêu âm là một thiết bị cảm biến hoạt động dựa trên sóng siêu

âm Cũng giống như các loại cảm biến áp suất hay cảm biến nhiệt độ, cảm biếnsiêu âm được dùng chủ yếu là để đo khoảng cách hoặc vận tốc Ngoài ra thì cònđược sử dụng trong các ứng dụng như làm sạch bằng sóng siêu âm hoặc dùngtrong siêu âm y khoa (siêu âm chuẩn đoán hình ảnh)

Cảm biến siêu âm HC-SR04 (Ultrasonic Sensor) được sử dụng rất phổbiến để xác định khoảng cách vì RẺ và CHÍNH XÁC Cảm biến HC-SR04 sửdụng sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300cm, với độchính xác gần như chỉ phụ thuộc vào cách lập trình

Trang 25

Hình 10: Cơ chế hoạt động của cảm biến siêu âm

Cảm biến siêu âm HC-SR04 sử dụng nguyên lý phản xạ sóng siêu âm.Cảm biến gồm 2 module trong đó 1 module phát ra sóng siêu âm và 1 module thusóng siêu âm phản xạ về Đầu tiên cảm biến sẽ phát ra 1 sóng siêu âm với tần số40khz Nếu có chướng ngại vật trên đường đi, sóng siêu âm sẽ phản xạ lại và tácđộng lên module nhận sóng Bằng cách đo thời gian từ lúc phát đến lúc nhậnsóng ta sẽ tính được khoảng cách từ cảm biến đến chướng ngại vật

Trang 26

Mạch Motor Shield L293D được trang bị hai kênh độc lập để điều khiểnđộng cơ DC và có thể điều khiển động cơ có dòng điện lên đến 600mA và điện

Trang 27

áp lên đến 36V Nó cũng hỗ trợ điều khiển động cơ bước bằng cách tạo ra cácxung đầy đủ và bán đầy đủ và hỗ trợ các động cơ bước có số bước từ 4 đến 8.Mạch Motor Shield L293D có thể được kết nối trực tiếp với Arduino hoặccác vi điều khiển khác thông qua các chân giao tiếp và được điều khiển thôngqua thư viện Arduino Motor Shield Thư viện này cho phép điều khiển tốc độ vàhướng quay của động cơ DC và thực hiện các chức năng khác như đọc trạng thái

của nút nhấn và cảm biến

Hình 11: Mạch Motor Shield L293D

- Thông số kỹ thuật:

• Nguồn hoạt động: 5VDC từ Arduino

• Nguồn cấp cho động cơ: 4.8~35VDC

• Có Jumper để thiết lập nguồn cấp cho động cơ nối với chân Vin để cấpnguồn cho Arduino tuy nhiên nếu nguồn cấp cho động cơ > 9VDC vui lòngkhông sử dụng và cấp nguồn riêng (áp dụng cho các mạch Arduino TQ, không ápdụng cho Vietduino)

• IC driver động cơ: 2 x L293D

• Điều khiển được 4 động cơ DC hoặc 2 động cơ bước công suất nhỏ ( <600mA, 4.5~36VDC)

• Điều khiển được 2 động cơ RC Servo

• Tích hợp ngõ ra cho các chân Analog của Arduino

Trang 28

• Tích hợp nút nhấn Reset.

Hình 12: Sơ đồ khối mạch điều khiển động cơ L293D

Trang 29

2.2 Lưu đồ robot hút bụi

Hình 13: Lưu đồ mạch robot hút bụi

Trang 30

CHƯƠNG 3 GIỚI THIỆU PHẦN MỀM

3.1 Giới thiệu chung

Arduino IDE là một phần mềm soạn thảo văn bản chính hãng, giúp bạnviết code để nạp vào bo mạch Arduino một cách nhanh chóng, dễ dàng và hoàn

Hình 14: Màn hình khởi động Arduino IDE

IDE trong Arduino IDE là phần có nghĩa là mã nguồn mở, nghĩa là phầnmềm này miễn phí cả về phần tải về lẫn phần bản quyền: Người dùng có quyềnsửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung được nhà

Trang 31

phát hành cho phép mà không cần xin phép ai, điều mà họ không được phép làmđối với các phần mềm nguồn đóng.

Tuy là phần mềm mã nguồn mở nhưng khả năng bảo mật thông tin củaArduino IDE là vô cùng tuyệt vời, khi phát hiện lỗi nhà phát hành sẽ vá nó vàcập nhật rất nhanh khiến thông tin của người dùng không bị mất hoặc rò rỉ ra bênngoài

3.1.1 Ngôn ngữ lập trình

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng.Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói Và Wiringlại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi

là C hay C/C++ Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đórất dễ học, dễ hiểu

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhómphát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trìnhArduino được gọi là Arduino IDE (Intergrated Development Environment)

Hình 15: Khu vực lập trình

3.1.2 Thư viện phong phú

Arduino IDE tích hợp với hơn 700 thư viện, được viết và chia sẻ bởi nhàphát hành Arduino Software và thành viên trong cộng đồng Arduino, có thể tận

Ngày đăng: 02/12/2024, 16:00

w