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

đề tài thiết kế và thi công robot dò line phát hiện vật cản

53 1 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

Tiêu đề Thiết Kế Và Thi Công Robot Dò Line Phát Hiện Vật Cản
Tác giả Tô Vinh Thành
Người hướng dẫn ThS. Chiêm Trọng Hiển
Trường học Trường Đại học Công Thương TP. Hồ Chí Minh
Chuyên ngành CNKT Điều Khiển Và Tự Động Hóa
Thể loại Đồ án 2
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 53
Dung lượng 3,09 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI (13)
    • 1.1. Lý do chọn đề tài (13)
    • 1.2. Mục đích (13)
    • 1.3. Đối tượng và phạm vi nghiên cứu (14)
    • 1.4. Phương pháp nghiên cứu (15)
    • 1.5. Mục tiêu thiết kế của đề tài (16)
  • CHƯƠNG 2. PHẦN CỨNG VÀ PHẦN MỀM (16)
    • 2.1. Chi tiết phần cứng (16)
      • 2.1.1. Giới thiệu Arduino uno r3 (16)
      • 2.1.2. Module điều khiển động cơ L298N (22)
      • 2.1.3. Cảm biến hồng ngoại (24)
      • 2.1.4. Mạch hạ áp XL4015 (26)
      • 2.1.5. Cảm biến màu sắc TCS3472 (27)
      • 2.1.6. Động cơ giảm tốc V1 (28)
      • 2.1.7. Động cơ Servo SG90 (29)
    • 2.2. Phần mềm (30)
      • 2.2.1. Proteus (30)
      • 2.2.2. Arduino IDE (31)
  • CHƯƠNG 3. THIẾT KẾ VÀ THI CÔNG MẠCH (38)
    • 3.1. Lưu đồ giải thuật (38)
    • 3.2. Sơ đồ khối (40)
    • 3.3. Thiết kế mạch (41)
    • 3.4. Tính toán và chọn pin (42)
  • CHƯƠNG 4. CODE VÀ LẬP TRÌNH HỆ THỐNG (43)
  • CHƯƠNG 5. NGUYÊN LÝ HOẠT ĐỘNG (50)
  • TÀI LIỆU THAM KHẢO (53)

Nội dung

Đối tượng và phạm vi nghiên cứu-Đối tượng nghiên cứu của đề tài "Thiết kế thi công robot phát hiện vậtcản" là các hệ thống điều khiển robot và các thành phần phần cứng, điện tửcần thiết

TỔNG QUAN VỀ ĐỀ TÀI

Lý do chọn đề tài

Tự động hóa là tổng hợp của nhiều lĩnh vực như cơ khí, điều khiển, công nghệ thông tin và cơ điện tử Các lĩnh vực này kết hợp lại với nhau tạo thành các hệ thống tự động hóa và cao hơn là tự động cả quá trình sản xuất Ngành công nghiệp tự động hóa ngày càng có vai trò quan trọng và hết sức cần thiết để đáp ứng mục tiêu phát triển kinh tế, nhất là trong quá trình công nghiệp hóa-hiện đại hóa như hiện nay Nó đòi hỏi một nguồn nhân lực có trình độ cao để vận hành Ngày nay, robot đã đạt được những thành tựu to lớn trong sản xuất công nghiệp cũng như là đời sống Sản xuất robot là ngành công nghiệp trị giá trị hàng tỉ USD và ngày càng phát triển mạnh trong các họ robot chúng ta không thể không nhắc đến mobile robot với những đặc thù riêng mà các loại robot khác không có. Mobile robot có thể di chuyển rất linh hoạt do đó tạo nên không gian hoạt động lớn và cho đến nay nó đã dần khẳng định vai trò quan trọng không thể thiếu trong nhiều lĩnh vực, thu hút được nhiều sự đầu tư và nghiên cứu Mobile robot cũng được chia ra làm nhiều loại: robot học đường đi, robot dò đường line, robot tránh vật cản, robot tìm đường trong mê cung Trong đó robot dò đường line dễ dàng ứng dụng nhiều trong cuộc sống Việc phát triển robot này sẽ phục rất nhiều cho con người.

Những lợi ích vai trò to lớn màn robot dò đường line đem lại cho cuộc sống và với sự đam mê tìm tồi của bản thân vì thế chúng em mong muốn được nghiên cứu và làm rõ đề tài “Thiết kế xe robot phát hiện vật cản” để em có thể hiểu hơn về cơ chế hoạt, ứng dụng, và từ đó nâng cao tri thức bản thân.

Mục đích

"Thiết kế thi công robot phát hiện vật cản" là phát triển một mô hình robot có khả năng tự động di chuyển và phát hiện vật cản trên đường, sau đó sử dụng tay cầm robot để gắp và di chuyển chúng Đây là một đề tài có tính ứng dụng cao trong ngành công nghiệp tự động hóa và giúp tăng hiệu quả sản xuất, đồng thời cũng giúp hiểu rõ hơn về cách hoạt động của các hệ thống điều khiển robot.

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

-Đối tượng nghiên cứu của đề tài "Thiết kế thi công robot phát hiện vật cản" là các hệ thống điều khiển robot và các thành phần phần cứng, điện tử cần thiết để tạo ra một mô hình xe robot có khả năng tự động di chuyển trên đường thẳng và phát hiện, gắp vật cản, đồng thời sử dụng bo mạch Arduino R3 để điều khiển.

-Phạm vi nghiên cứu bao gồm:

• Thiết kế và lắp ráp các thành phần cơ khí và điện tử như động cơ, bánh xe, cảm biến, tay cầm robot và các linh kiện điện tử điều khiển để tạo thành một hệ thống robot hoàn chỉnh.

• Lập trình điều khiển robot sử dụng Arduino R3 để có thể phát hiện đường line, di chuyển trên đường và phát hiện vật cản trên đường.

• Thiết kế và thi công một bộ pin và sạc để cung cấp năng lượng cho hệ thống robot.

• Kiểm tra, đánh giá và tối ưu hoá hiệu suất của hệ thống robot. Đề tài tập trung vào việc thiết kế mô hình xe robot dò line và gắp vật cản sử dụng bo mạch Arduino R3, không bao gồm các nghiên cứu về trí tuệ nhân tạo hay các vấn đề liên quan đến xử lý hình ảnh phức tạp.

-Ứng dụng của “Mô hình robot dò line gắp vật”:

• Công nghiệp: Robot có khả năng tự động dò line và gắp vật cản có thể được sử dụng trong quá trình sản xuất, giúp tăng năng suất và độ chính xác của quá trình sản xuất.

• Dịch vụ và giao thông: Robot có thể được sử dụng để thu thập dữ liệu về tình trạng giao thông trên đường, phát hiện và di chuyển các vật cản trên đường, giúp giảm thiểu tai nạn giao thông.

• Giáo dục và giải trí: Robot có khả năng dò line và gắp vật cản có thể được sử dụng để giới thiệu về công nghệ robot và kỹ năng lập trình cho trẻ em, đồng thời có thể được sử dụng trong các hoạt động giải trí.

• Y tế: Robot có khả năng tự động di chuyển và phát hiện vật cản có thể được sử dụng trong các phòng mổ để hỗ trợ các bác sĩ trong quá trình phẫu thuật.Với các ứng dụng khác nhau, đề tài này có thể mang lại nhiều lợi ích cho con người và giúp tăng cường sự phát triển của ngành công nghiệp robot.

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

-Tìm hiểu và nghiên cứu các kiến thức về lý thuyết robot, lý thuyết điều khiển, cơ khí và điện tử.

-Thiết kế kiến trúc tổng thể của robot, bao gồm cơ khí và điện tử.

-Lựa chọn các linh kiện và phần mềm cần thiết để xây dựng robot, bao gồm vi điều khiển Arduino R3, các cảm biến, động cơ và bộ nguồn.

-Lập trình cho robot để điều khiển chuyển động, dò line và gắp vật cản.

-Thực hiện các thí nghiệm và thử nghiệm để đánh giá hiệu suất của robot, bao gồm độ chính xác trong quá trình dò line và khả năng gắp vật cản.

-Đánh giá kết quả thí nghiệm và thử nghiệm, tìm hiểu những hạn chế và điều chỉnh robot để cải thiện hiệu suất.

-Phương pháp nghiên cứu này sử dụng kết hợp giữa lý thuyết và thực tiễn để đạt được mục tiêu của đề tài Các thí nghiệm và thử nghiệm được thực hiện để đánh giá hiệu suất của robot và cải thiện các yếu điểm trong quá trình thiết kế và xây dựng.

Mục tiêu thiết kế của đề tài

Thiết kế robot để thi đấu tự động dò line, phát hiện vật, và thực hiện các thao tác sau đó mà không có sự điều khiển từ xa thông qua laser, sóng hồng ngoại, vv.

Hình1.1 Sân thi đấu của cuộc thi

PHẦN CỨNG VÀ PHẦN MỀM

Chi tiết phần cứng

Module điều khiển động cơ L298N

Cảm biến màu sắc TCS3472 Động cơ giảm tốc V1 Động cơ Servo sg90

Arduino Uno là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328 được phát triển bởi Arduino.cc Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…).[1]

Hình 2.1 Mạch Arduino uno r3 Khi arduino chưa ra đời, để làm được một dự án điện tử nhỏ liên quan đến lập trình, biên dịch, chúng ta cần đến sự hỗ trợ của các thiết bị biên dịch khác để hỗ trợ Ví dụ như, dùng Vi điều khiển PIC hoặc IC vi điều khiển họ 8051 , chúng ta phải thiết kế chân nạp onboard, hoặc mua các thiết bị hỗ trợ nạp và biên dịch như mạch nạp 8051, mạch nạp PIC

Hiện nay Arduino được biết đến ở Việt Nam rất rộng rãi Từ học sinh trung học, đến sinh viên và người đi làm Những dự án nhỏ và lớn được thực hiện một cách rất nhanh, các mã nguồn mở được chia sẻ nhiều trên diễn dàn trong nước và nước ngoài

Giúp ích rất nhiều cho những bạn theo đam mê nghiên cứu chế tạo những sản phẩm có ích cho xã hội

Trong những năm qua, Arduino là bộ não cho hàng ngàn dự án điện tử lớn nhỏ, từ những sản phẩm ra đời ứng dụng đơn giản trong cuộc sống đến những dự án khoa học phức tạp.

Cứ như vậy, thư viện mã nguồn mở ngày một tăng lên, giúp ích cho rất nhiều người mới biết đến Arduino cũng như những chuyên viên lập trình nhúng và chuyên gia cùng tham khảo và xây dựng tiếp nối.…

Bạn muốn thiết kế điều khiển thiết bị thông qua cảm biến ánh sáng, Đo nồng độ hóa chất, khí ga và xử lý thông qua cảm biến nồng độ và cảm biến khí, Bạn muốn làm 1 con robot mini, Bạn muốn quản lý tắt mở thiết bị điện trong nhà, bạn muốn điều khiển motor, nhận dạng ID, Khó hơn xíu là bạn muốn làm một máy CNC hoặc máy in 3D mini, máy bay không người lái ( Flycam) một hệ thống thu thập dữ liệu thông qua GSM, xử lý ảnh,điều khiển vạn vật thông qua internet giao tiếp với điện thoại thông minh Để làm được điều đó, từ đơn giản đến phức tạp bạn cần sử dụng ngôn ngữ lập trình Arduino dựa trên sơ đồ, hệ thống của bạn thiết kế, thông qua phần mềm Arduino IDE, để thực hiện những yêu cầu đó đưa về bộ phận xử lý trung tâm ( Arduino).

Chip điều khiển Atmega328P Điện áp hoạt động 5V Điện áp đầu vào (khuyên dùng) 7-12V Điện áp đầu vào (giới hạn) 6-20V

Số chân Digital 14 (trong đó 6 chân cung cấp đầu ra

Dòng điện DC trên mỗi chân I/O 20 mA

Dòng điện DC trên chân 3.3V 50 mA

Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader

Tốc độ thạch anh 16 MHz

Bảng 2.1 Thông số kỹ thuật LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13 Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).

VIN: Chân này dùng để cấp nguồn ngoài (điện áp cấp từ 7-12VDC)

5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA).

3V3: Điện áp ra 3.3V (dòng điện trên mỗi chân này tối đa là 50mA).

GND: Là chân mang điện cực âm trên board.

IOREF: Điệp áp hoạt động của vi điều khiển trên Arduino UNO và có thể đọc điện áp trên chân IOREF Chân IOREF không dùng để làm chân cấp nguồn.

Hình 2.2 Các chân cấp nguồn cho Arduino

32 KB bộ nhớ Plash: trong đó bootloader chiếm 0.5KB.

2 KB cho SRAM: (Static Random Access Menory): giá trị các biến khai báo sẽ được lưu ở đây Khai báo càng nhiều biến thì càng tốn nhiều bộ nhớ RAM Khi mất nguồn dữ liệu trên SRAM sẽ bị mất.

1 KB cho EEPROM: (Electrically Eraseble Programmable Read Only Memory):

Là nơi có thể đọc và ghi dữ liệu vào đây và không bị mất dữ liệu khi mất nguồn.

Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead() Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch.

Ngoài ra, một số chân Digital, Analog có chức năng đặt biệt:

Digital: Các chân I/O digital (chân số 2 – 13 ) được sử dụng làm chân nhập, xuất tín hiệu số thông qua các hàm chính : pinMode(), digitalWrite(), digitalRead() Điện áp hoạt động là 5V, dòng điện qua các chân này ở chế độ bình thường là 20mA, cấp dòng quá 40mA sẽ phá hỏng vi điều khiển.

Analog :Uno có 6 chân Input analog (A0 – A5), độ phân giải mỗi chân là

10 bit (0 – 1023 ) Các chân này dùng để đọc tín hiệu điện áp 0 – 5V (mặc định) tương ứng với 1024 giá trị, sử dụng hàm analogRead()

Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu

PWM: 3, 5, 6, 9, 10 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ()

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Các chân này hỗ trợ giao tiếp

SPI bằng thư viện SPI.

LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp(LOW).

TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.

ATmega328P là một trong những vi điều khiển công nghệ AVR hiệu suất cao với số lượng chân cắm và tính năng lớn. Được thiết kế bằng công nghệ CMOS 8-bit và CPU RSIC giúp nâng cao hiệu suất và tối ưu mức sử dụng năng lượng nhờ có chế độ ngủ tự động và cảm biến nhiệt độ bên trong.

ATmega328P có mạch bảo vệ bên trong và có nhiều cách lập trình giúp các kỹ sư sử dụng linh hoạt ở các tính huống khác nhau IC hỗ trợ nhiều giao thức giao tiếp hiện đại cho các module khác và chính bộ vi điều khiển, đó là lý do tại sao ATmega328P được sử dụng phổ biến.

ATmega328P là một trong những vi điều khiển nổi tiếng của Atmel vì nó được sử dụng trong bo mạch arduino UNO.

Mạch bên trong của ATmega328P được thiết kế với tính năng tiêu thụ dòng điện thấp Con chip này chứa 32 kilobyte bộ nhớ flash trong, 1 kilobyte EEPROM và

2 kilobyte SRAM EEPROM và bộ nhớ flash là bộ nhớ lưu thông tin và thông tin đó vẫn thoát ra mỗi khi nguồn điện bị ngắt nhưng SRAM là bộ nhớ chỉ lưu thông tin cho đến khi có điện và khi ngắt nguồn điện tất cả thông tin được lưu trong SRAM sẽ bị xóa.

Hình 2.3 Sơ đồ chân ic Atmega328P

- Một số ứng dụng của vi điều khiển ATmega328P như:

Sử dụng để lập trình cho các mục đích trong cuộc sống

Sử dụng để lập trình cho các thiết bị ngoại vi

Sử dụng trong công nghiệp, mô phỏng cách mạch cảnh báo, nhận tín hiệu Ứng dụng nhiều trong công nghệ sản xuất, tự động hóa.

- Thông số kỹ thuật của Atmega328P

Bộ nhớ chương trình 32 kB

Bus dữ liệu 8 bit Độ phân giải ADC 10 bit

RAM 2 kB Điện áp hoạt động 1.8 - 5.5V

Nhiệt độ hoạt động -40 đến 85 độ C

Loại RAM dữ liệu SRAM

Loại giao tiếp I2C, SPI, USART

Bảng 2.2 Thông số kỹ thuật ic Atmega328P

2.1.2 Module điều khiển động cơ L298N

Phần mềm

-Proteus được sử dụng để mô phỏng, thiết kế và vẽ các mạch điện tử.

-Bằng cách sử dụng proteus, bạn có thể thiết kế mạch in 2 lớp.

-Thiết kế mạch trên proteus tốn ít thời gian hơn so với việc xây dựng mạch trên thực tế.

-Khả năng xảy ra lỗi ít hơn trong mô phỏng phần mềm chẳng hạn như kết nối lỏng lẻo, mất nhiều thời gian để tìm ra các vấn đề kết nối trong một mạch thực tế. -Mô phỏng mạch cung cấp tính năng chính mà một số linh kiện của mạch không thực tế thì bạn có thể xây dựng mạch của mình trên proteus.

-Không có khả năng đốt cháy và làm hỏng bất kỳ linh kiện điện tử nào trong proteus.

-Các công cụ điện tử rất đắt tiền có thể dễ dàng mắc vào proteus như máy hiện sóng.

-Sử dụng proteus có thể tìm thấy yếu tố khác nhau của các mạch như dòng điện, giá trị điện áp của bất kỳ linh kiện nào và điện trở bất kỳ lúc nào, điều này rất khó trong một mạch thực tế.

-Tóm lại, Proteus cung cấp cho người sử dụng hầu như toàn bộ các linh kiện điện tử để người dùng có thể tạo ra được các mạch nguyên lý và sau cùng là chạy thử và so sánh với kết quả thực tế Chính vì Proteus có thể tạo và chạy được các mạch đơn giản cũng như các mạch phức tạp nên có thể dùng nó trong giảng dạy,trong các phòng thí nghiệm điện tử cũng như trong thực hành vi xử lý

-Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và thả code vào module Arduino.

-Đây là một phần mềm Arduino chính thức, giúp cho việc viết code trở nên dễ dàng mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được.

-Thích hợp với rất nhiều các module Arduino như Arduino Uno, Arduino Mega,Arduino Leonardo, Arduino Micro và nhiều module khác.

-Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã.

-Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo.

- Các bước cài đặt và sử dụng Arduino IDE để lập trình:

Bước 1: Truy cập địa chỉ http://arduino.cc/en/Main/Software/ Đây là nơi lưu trữ cũng như cập nhật các bản IDE của Arduino Bấm vào mục Windows ZIPfile for non admin install như hình minh họa.

Hình 2.10 Bấm vào mục Window ZIPBạn sẽ được chuyển đến một trang mời quyền góp tiền để phát triển phần mềm cho Arduino, tiếp tục bấm JUST DOWNLOAD để bắt đầu tải.

Hình 2.12 Bắt đầu tải Bước 2: Sau khi download xong, các bạn bấm chuột phải vào file vừa download arduino-1.6.4-windows.zip và chọn “Extract here” để giải nén.

Bước 3: Copy thư mục arduino-1.6.4 vừa giải nén đến nơi lưu trữ.

Hình 2.13 chọn “Extract here” để giải nénBước 4: Chạy file trong thư mục arduino-1.6.4\ để khởi động Arduino IDE

Hình 2.14 Chạy file trong thư mục arduino-1.6.4\ để khởi động Arduino IDE

- Cài đặt Driver: Để máy tính và board Arduino giao tiếp được với nhau, chúng ta cần phải cài đặt driver trước tiên Nếu dùng Windows 8, trong một số trường hợp Windows không cho phép bạn cài Arduino driver (do driver không được kí bằng chữ kí số hợp lệ) Do vậy cần vào Windows ở chế độ Disable driver signature enforcement thì mới cài được driver Xem hướng dẫn thực hiện tại bài viết Disabling Driver Signature on Windows 8 của SparkFun Đầu tiên, chạy file arduino-1.6.4\drivers\dpinst-x86.exe (Windows x86) hoặc arduino- 1.6.4\drivers\dpinst-amd64.exe (Windows x64) Cửa sổ “Device Driver Installation Wizard” hiện ra, chọn Next để tiếp tục.

Hình 2.15 Chọn Next để tiếp tụcKhi có yêu cầu xác nhận cài đặt driver, chọn “Install”

Hình 2.16 Xác nhận cài đặt driver Đợi khoảng 10 giây trong lúc quá trình cài đặt diễn ra …

Hình 2.17 Đợi quá trình cài đặt Quá trình cài đặt đã hoàn tất Bấm “Finish” để thoát.

- Cách sử dụng phần mềm Arduino IDE cơ bản:

Hình 2.18 Giao diện chính của Arduino IDE Vùng lệnh

Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help) Phía dưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDE được miêu tả như sau:

Hình 2.19 Miêu tả vùng lệnh Vùng viết chương trình

Viết các đoạn mã của mình tại đây Tên chương trình được hiển thị ngay dưới dãy các Icon, ở đây nó tên là “Blink” Để ý rằng phía sau tên chương trình có một dấu “§” Điều đó có nghĩa là đoạn chương trình chưa được lưu lại.

Những thông báo từ IDE sẽ được hiển thị tại đây Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM sẽ không thể upload được code của mình.Bạn có thể tìm thấy một vài hướng dẫn khắc phục các lỗi thường gặp khi lập trình Arduino tại “Lỗi của Arduino? Và các lỗi thường gặp khi lập trình Arduino”

Hình 2.21 IDE menu Trong file menu chúng ta quan tâm tới mục Examples đây là nơi chứa code mẫu ví dụ như: cách sử dụng các chân digital, analog, sensor …

Hình 2.22 Click Examples Edit menu:

Hình 2.23 Edit menuSketch menu

Hình 2.24 Sketch menu Trong Sketch menu :

Verify/ Compile : chức năng kiểm tra lỗi code

Show Sketch Folder : hiển thị nơi code được lưu

Add File : thêm vào một Tap code mới

Import Library : thêm thư viện cho IDE

Hình 2.25 Tool menu Trong Tool menu ta quan tâm các mục Board và Serial Port

Mục Board : các bạn cần phải lựa chọn bo mạch cho phù hợp với loại bo mà bạn sử dụng nếu là Arduino Uno thì phải chọn như hình:

Nếu sử dụng loại bo khác thì phải chọn đúng loại bo mà mình đang có nếu sai thì code Upload vào chip sẽ bị lỗi.

Serial Port: đây là nơi lựa chọn cổng Com của Arduino Khi chúng ta cài đặt driver thì máy tính sẽ hiện thông báo tên cổng Com của Arduino là bao nhiêu, ta chỉ việc vào Serial Port chọn đúng cổng Com để nạp code, nếu chọn sai thì không thể nạp code cho Arduino được.

THIẾT KẾ VÀ THI CÔNG MẠCH

Lưu đồ giải thuật

Bật nguồn Đọc cảm biến cho xe dò line Đọc cảm biến màu

Xe rẽ trái/phải 1 đoạn sau đó đi thẳng sau đó rẽ hướng ngược lại để vào line Những màu khác

Không có vật trên cánh tay Đọc cảm biến hồng ngoại trên cánh tay

Xe quay đầu 180 độ Gắp trúng vật

Gắp không trúng vật Đang có vật trên cánh tay Đọc cảm biến hồng ngoại trên cánh tay

Có vật đang trên cánh tay

Xe rẽ trái/phải 1 đoạn sau đó đi thẳng sau đó rẽ hướng ngược lại để vào line

Không có vật trên cánh tay

Thiết kế mạch

Hình 3.1 Mạch mô phỏng trên proteus

- Mắc nối tiếp 3 pin 18650 điện áp 3,7V để có khối pin ≈ 12V.

Cấp nguồn dương (+) của khối pin vào chân +12V của module L298N Cũng từ nguồn dương (+) của khối pin đó ta nối vào chân In+ của mạch hạ áp XL4015.

Nguồn âm (-) của khối pin nối với các chân GND của module L298N và In- của mạch hạ áp XL4015. Điều chỉnh điện áp ngõ ra của mạch hạ áp XL4015 thành 5V, từ đó cấp nguồn từ chân OUT + của mạch hạ áp XL4015 cho Vin của Arduino uno r3, servo sg90, cảm biến hồng ngoại, cảm biến màu sắc TCS3472 Tương tự, chân OUT- của mạch hạ áp XL4015 nối với các chân GND của

Arduino uno r3, servo sg90, cảm biến hồng ngoại, cảm biến màu sắc TCS3472.

Chân EnA, in1, in2, in3, in4, EnB của module L298N nối lần lượt với chân 3, 5, 6, 9, 10, 11 của Arduino

Chân SCL, SDA của cảm biến màu sắc nối với chân SCL, SDA của Arduino.

3 Servo sg90 lần lượt nối các chân OUT vào chân 13, 12, 8 của Arduino.

Chân OUT của các cảm biến hồng ngoại nối lần lượt với các chân 2, A0, A2, A1, 7, A3 của chân Arduino.

Tính toán và chọn pin

1 Arduino uno tiêu thụ dòng 50mA.

1 module L298N tiêu thụ dòng 36mA.

2 động cơ giảm tốc vàng V1, mỗi động cơ tiêu thụ khoảng 200mA.

5 module cảm biến hồng ngoại, mỗi module tiêu thụ khoảng 30mA.

1 cảm biến màu sắc tcs3472 tiêu thụ dòng 60mA.

2 động cơ servo sg90 tiêu thụ dòng 500mA.

Từ đó ta có thể chọn pin có hiệu điện thế ≈ 12V và dòng xả lớn hơn

1696 mA Có thể chọn 3 pin 18650 nối tiếp, mỗi pin có hiệu điện thế3,7V và dòng xả 2A.

CODE VÀ LẬP TRÌNH HỆ THỐNG

Servo servo1, servo2; int vattrai = A0; int vatphai = 4; int cbtrai = A1; int cbgiua = A2; int cbphai = 2; int ENA = 3; int in1 = 5; int in2 = 6; int in3 = 9; int in4 = 10; int ENB = 11; int leftSpeed = 45; int rightSpeed = 45;

Adafruit_TCS34725 tcs Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_154MS,

{ analogWrite(ENA,leftSpeed); analogWrite(ENB,rightSpeed); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW);

{ analogWrite(ENA,leftSpeed); analogWrite(ENB,rightSpeed); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); digitalWrite(in3, LOW); digitalWrite(in4, HIGH);

{ analogWrite(ENA,leftSpeed); analogWrite(ENB,rightSpeed/2); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH);

{ analogWrite(ENA,leftSpeed/2); analogWrite(ENB,rightSpeed); digitalWrite(in1, LOW); digitalWrite(in2, HIGH); digitalWrite(in3, HIGH); digitalWrite(in4, LOW); } void xoay()

{ analogWrite(ENA,leftSpeed); analogWrite(ENB,rightSpeed); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH); } void dung()

{ analogWrite(ENA,LOW); analogWrite(ENB,LOW); digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW); } void setup()

Serial.begin(9600); tcs.begin(); pinMode(cbtrai,INPUT); pinMode(cbgiua,INPUT); pinMode(cbphai,INPUT); pinMode(vattrai,INPUT); pinMode(vatphai,INPUT); pinMode(in1,OUTPUT); pinMode(in2,OUTPUT); pinMode(in3,OUTPUT); pinMode(in4,OUTPUT); pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT); servo2.attach(12); //kẹp servo1.attach(13); //khớp servo2.write(0); servo1.write(0); dung();

{ uint16_t r, g, b, c, colorTemp, lux; tcs.getRawData(&r, &g, &b, &c); colorTemp = tcs.calculateColorTemperature(r, g, b); lux = tcs.calculateLux(r, g, b); if(!(r

Ngày đăng: 19/06/2024, 14:48

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Mạch Arduino uno r3 Khi arduino chưa ra đời, để làm được một dự án điện tử nhỏ liên quan đến lập trình, biên dịch, chúng ta cần đến sự hỗ trợ của các thiết bị biên dịch khác để hỗ trợ - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.1 Mạch Arduino uno r3 Khi arduino chưa ra đời, để làm được một dự án điện tử nhỏ liên quan đến lập trình, biên dịch, chúng ta cần đến sự hỗ trợ của các thiết bị biên dịch khác để hỗ trợ (Trang 17)
Hình 2.2 Các chân cấp nguồn cho Arduino - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.2 Các chân cấp nguồn cho Arduino (Trang 19)
Bảng 2.1 Thông số kỹ thuật LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13 - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Bảng 2.1 Thông số kỹ thuật LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13 (Trang 19)
Hình 2.3 Sơ đồ chân ic Atmega328P - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.3 Sơ đồ chân ic Atmega328P (Trang 21)
Bảng 2.2 Thông số kỹ thuật ic Atmega328P - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Bảng 2.2 Thông số kỹ thuật ic Atmega328P (Trang 22)
Hình 2.4 Sơ đồ mô phỏng mạch cầu H - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.4 Sơ đồ mô phỏng mạch cầu H (Trang 23)
Hình 2.5 Nguyên lý hoạt động của IR sensor - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.5 Nguyên lý hoạt động của IR sensor (Trang 24)
Hình 2.6 Mạch hạ áp XL4015 - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.6 Mạch hạ áp XL4015 (Trang 26)
Hình 2.7 Cảm biến màu sắc TCS3472 - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.7 Cảm biến màu sắc TCS3472 (Trang 27)
Bảng 2.5 Thông số kỹ thuật động cơ giảm tốc V1 - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Bảng 2.5 Thông số kỹ thuật động cơ giảm tốc V1 (Trang 29)
Hình 2.9 Động cơ servo sg90 - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.9 Động cơ servo sg90 (Trang 29)
Hình 2.11 Bấm JUST DOWNLOAD - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.11 Bấm JUST DOWNLOAD (Trang 32)
Hình 2.12 Bắt đầu tải Bước 2: Sau khi download xong, các bạn bấm chuột phải vào file vừa download arduino-1.6.4-windows.zip và chọn “Extract here” để giải nén. - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.12 Bắt đầu tải Bước 2: Sau khi download xong, các bạn bấm chuột phải vào file vừa download arduino-1.6.4-windows.zip và chọn “Extract here” để giải nén (Trang 32)
Hình 2.14  Chạy file trong thư mục arduino-1.6.4\ để khởi động Arduino IDE - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.14 Chạy file trong thư mục arduino-1.6.4\ để khởi động Arduino IDE (Trang 33)
Hình 2.15 Chọn Next để tiếp tục Khi có yêu cầu xác nhận cài đặt driver, chọn “Install” - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.15 Chọn Next để tiếp tục Khi có yêu cầu xác nhận cài đặt driver, chọn “Install” (Trang 33)
Hình 2.16 Xác nhận cài đặt driver Đợi khoảng 10 giây trong lúc quá trình cài đặt diễn ra … - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.16 Xác nhận cài đặt driver Đợi khoảng 10 giây trong lúc quá trình cài đặt diễn ra … (Trang 34)
Hình 2.17 Đợi quá trình cài đặt Quá trình cài đặt đã hoàn tất. Bấm “Finish” để thoát. - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.17 Đợi quá trình cài đặt Quá trình cài đặt đã hoàn tất. Bấm “Finish” để thoát (Trang 34)
Hình 2.18 Giao diện chính của Arduino IDE Vùng lệnh - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.18 Giao diện chính của Arduino IDE Vùng lệnh (Trang 35)
Hình 2.19 Miêu tả vùng lệnh Vùng viết chương trình - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.19 Miêu tả vùng lệnh Vùng viết chương trình (Trang 35)
Hình 2.22 Click Examples Edit menu: - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.22 Click Examples Edit menu: (Trang 36)
Hình 2.21 IDE menu Trong file menu chúng ta quan tâm tới mục Examples đây là nơi chứa code mẫu - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.21 IDE menu Trong file menu chúng ta quan tâm tới mục Examples đây là nơi chứa code mẫu (Trang 36)
Hình 2.24 Sketch menu Trong Sketch menu : - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.24 Sketch menu Trong Sketch menu : (Trang 37)
Hình 2.25 Tool menu Trong Tool menu ta quan tâm các mục Board và Serial Port - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 2.25 Tool menu Trong Tool menu ta quan tâm các mục Board và Serial Port (Trang 37)
3.2. Sơ đồ khối - đề tài thiết kế và thi công robot dò line phát hiện vật cản
3.2. Sơ đồ khối (Trang 40)
Hình 3.1 Mạch mô phỏng trên proteus - đề tài thiết kế và thi công robot dò line phát hiện vật cản
Hình 3.1 Mạch mô phỏng trên proteus (Trang 41)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w