.22 Sơ đồ nguyên lý khối xử lý trung tâm

Một phần của tài liệu ĐỒ án tốt NGHIỆP THIẾT kế, THỬ NGHIỆM ROBOT vận CHUYỂN HÀNG HOÁ TRONG NHÀ máy (Trang 59)

2.2.1.14. Bộ điều khiển trung tâm arduino mega 2560

Arduino mega 2560 là sản phẩm tiêu biểu cho dòng mạch mega, là dịng mạch có nhiều cải tiến hơn so với Arduino Uno. Đặc biệt bộ nhớ Flash của Mega được tăng lên một cách đáng kể, gấp 4 lần so với những phiên bản cũ của Uno R3. Cùng với việc được trang bị 3 timer và 6 cổng interput khiến cho bo mạch Mega hồn tồn có thể giải quyết được nhiều bài tốn khó, sử dụng nhiều động cơ và có thể xử lý song song nhiều luồng dữ liệu số cũng như tương tự.

38

Hình 2.23 Arduino Mega 2560

Các tính năng nổi bật của Arduino Mega 2560:

Arduino Mega 2560 là một vi điều khiển hoạt động dựa trên chip ATmega2560. Bao gồm:

54 chân digital (trong đó có 15 chân có thể được sủ dụng như những chân PWM là từ chân số 2 → 13 và chân 44 45 46)

6 ngắt ngoài: chân 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5), chân 19 (interrupt 4), chân 20 (interrupt 3), and chân 21 (interrupt 2)

16 chân vào analog (từ A0 đến A15) 4 cổng Serial giao tiếp với phần cứng:

Bảng 2.1 Các cổng Serial của Arduino Mega 2560

39

 1 thạch anh với tần số dao động 16 MHz

 1 cổng kết nối USB

 1 jack cắm điện

 1 đầu ICSP

 1 nút reset

Thông số kỹ thuật của Arduino Mega 2560

Chip xử lý

Điện áp hoạt động Điện áp vào ( đề nghị) Điện áp ra (giới hạn)

Cường độ dòng điện trên mỗi 3.3V pin Cường độ dịng điện trên mỗi I/O pin Flash Memory

SRAM EEPROM Clock Speed

Bảng 2.2 Thơng số kỹ thuật của Arduino Mega 2560

Một số lưu ý khi sử dụng Arduino Mega 2560

Khi bắt đầu sử dụng Arduino Mega 2560, bạn nên chú ý lựa chọn lại board. Bằng cách vào Tool → Board → Arduino Mega 2560. Nhằm tránh trước đó bạn đã sử dụng loại Arduino khác cổng vẫn còn nhận là board cũ nên khi build bạn sẽ gặp lỗi.

Khi sử dụng chân RX, TX cuả Arduino, các bạn nên nhớ rút dây cắm tại 2 chân này ra rồi hãy bắt đầu upload. Sau đó hãy cắm lại bình thường và sử dụng để tránh gặp phải lỗi

Không được phép cắm trực tiếp chân GND vào chân nguồn 5V, có thể dẫn tới hỏng mạch.

40

3.5.6. Khối hiển thị và cảnh báo

2.2.1.15. Màn hình led LCD 16x2

Hình 2.24 Màn hình LCD 16×2

Thơng số kỹ thuật LCD 16×2: (adsbygoogle = window.adsbygoogle || []).push({});

LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thơng số.

 LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).

 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.

 Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.

 Chúng cịn giúp ta cấu hình ở chế độ đọc hoặc ghi.

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.

41

2.2.1.16. Module I2C Arduino

Hình 2.25 Module I2C LCD 16×2

LCD có q nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển.

Module I2C LCD ra đời và giải quyết vấn để này cho bạn.

Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.

Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.

Ưu điểm:

 Tiết kiệm chân cho vi điều khiển.

 Dễ dàng kết nối với LCD.

Thông số kĩ thuật:

 Điện áp hoạt động: 2.5-6V DC.

 Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).

 Giao tiếp: I2C.

 Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).

 Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.

 Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

42

2.2.1.17. Giao tiếp I2C Module I2C LCD 16×2 GND VCC SDA SCL

Bảng 2.3 Đấu nối chân

Hình 2.26 Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2.

2.2.1.18. Hệ thống cảnh báo bằng còi

Trong thực tế trong nhà xưởng khi Robot tự hành AGV hoạt động thường gặp công nhân đi lại qua các đường đi của Robot khi Robot phát hiện nhờ hệ thống cảm biến và Camera thì cần phải có cảnh báo.

Hình 2.27 Sơ đồ ngun lý hệ thống cảnh báo (adsbygoogle = window.adsbygoogle || []).push({});

43

Hình 2.28 Cịi piezo buzzerChức năng:Chức năng:  Cịi hú báo động đỏ  Thơng số kỹ thuật:  Điện áp hoạt động: 2-6V DC  Tích hợp để gắn lên PCB  Đường kính: 1.2cm 2.3. Nguyên lý hoạt động

Robot được điều khiển theo 2 chế độ là bằng tay và tự động. Ở chế độ điều khiển bằng tay, người dùng có thể dùng điện thoại để điều khiển robot trên màn hình. Việc này địi hỏi robot phải được kết nối với điện thoại thông qua internet. Trong chế độ này, hệ thống cảm biến phát hiện vật cản có thể được bật hay tắt là tùy ý người dùng.

Ở chế độ điều khiển thứ 2, chế độ vận hành tự động, người dùng sẽ gửi một mã lệnh yêu cầu robot đến các vị trí đã đánh dấu sẵn trước đó. Dựa trên vị trí hiện tại và vị trí cần đến, robot sẽ tính tốn và xoay một góc phù hợp, sau đó di chuyển theo đường thẳng tới vị trí đích mong muốn.

Đối với chế độ tự động, trước khi cho robot tự vận hành, người dùng cần nhập địa đỉa nhận hàng và trả hàng trên bộ điều khiển hoặc trên điện thoại.

Sau khi đã có vị trí hiện tại và các vị trí cần đi đến, robot sẽ thực hiện chế độ chạy tự động. Việc di chuyển từ điểm này đến điểm kia, ví dụ, từ điểm A đến điểm B, được thực hiện theo 2 bước: Bước 1, robot sẽ tính tốn và quay một góc sao cho hướng đi tới của robot trùng với hướng của véc tơ AB. Bước 2, robot sẽ căn cứ vào khoảng cách từ vị trí hiện tại đến B để thực hiện việc tăng giảm tốc độ. Theo đó, nếu khoảng cách từ vị trí hiện tại đến B lớn, robot sẽ di chuyển nhanh. Ngược lại, nếu khoảng cách này ngắn, robot sẽ di chuyển chậm lại. Đồng thời, trên đường đi, robot cũng sẽ điều chỉnh vận tốc của 2 bánh sao cho mũi của robot ln hướng về điểm B.

44

Hình 2.28 Lưu đồ điều khiển tổng quát của robot

2.4. Thiết kế chương trình cho robot

2.4.1. Sơ đồ khối của chương trình

Robot muốn hoạt động ổn định thì khơng những phụ thuộc vào thiết kế cơ khí mà chương trình cho các robot phải thực sự ổn định dựa trên sự ổn định về mạch điều khiển.

45

Các chương trình cho Robot cịn phải mềm dẻo, dễ quản lý để cho người lập trình có thể thay đồi cho robot hoạt động một cách linh hoạt.

Để làm được như vậy, chương trình phải quản lý theo cách từ lớn đến nhỏ, từ tổng quát đến cụ thể. Trước khi lập trình thì người lập trình phải viết một khung chương trình chính, sau đó mới phát triển các chương trình con dựa trên chương trình chính này. Trên thực tế, việc viết các chương trình con và kiểm tra hoạt động của các chương trình con, sau đó ghép nối lại cũng mất rất nhiều thời gian. Các chương trình con thường dùng để điều khiển các hoạt động của robot nên nó phải được kiểm tra thực tế.

Khối khởi tạo

Vịng lặp chính của chương trình Các chương trình con phục vụ ngắt Các chương trình con xử lý hoạt động

Hình 2.29 Sơ đồ khối của chương trình cho một robot

Một chương trình cho robot sẽ bao gồm các khối:

 Khối khởi tạo:

 Khối này có nhiệm vụ thiết lập các giá trị ban đầu cho các thanh ghi, các biến, các ô nhớ, khởi tạo các ngắt. Ngồi ra trong khối này sẽ có chương trình con qt phím, qt led từ chương trình con này sẽ cho phép robot hoạt động và lựa chọn lộ trình cho robot.

 Vịng lặp chính:

 Nhận dữ liệu từ điện thoại.

 Tính vị trí

 Khối các chương trình con xử lý hoạt động:

 Khối này sẽ chứa các chương trình con quản lý các hoạt động, các thao tác của robot.

 Các chương trình con phục vụ ngắt sẽ hỗ trợ việc chống nhiễu cho robot, và hoạt động chính xác hơn. Các chương trình con phục vụ ngắt được dùng là các ngắt ngồi, các ngắt timer.

2.4.2. Lưu đồ thuật tốn của các chương trình

2.3.2.1. Lưu đồ thuật tốn chương trình chính.

Chương trình sẽ bắt đầu khởi tạo rồi nhận tín hiệu điều khiển từ điện thoại từ đó hiển thị và xử lý dữ liệu để điều khiển robot.

Hình 2.30 Sơ đồ khối của chương trình chính (adsbygoogle = window.adsbygoogle || []).push({});

47

2.3.2.2. Lưu đồ chương trình điều khiển bằng tay trên di động

Chương trình được chọn ở chế độ bằng tay trên thiết bị di động sau đó gửi dữ liệu tới robot và tiến hành thực hiện các chức năng điều khiển.

Hình 2.31 Lưu đồ chương trình điều khiển bằng tay

2.3.2.3. Lưu đồ chương trình tự động

Chương trình chọn ở chế độ tự động trên thiết bị di động sau đó gửi dữ liệu đến robot và tiến hành chạy chế độ tự động đã thiết lập trước.

48

Hình 2.32 Lưu đồ chương trình tự động

2.5. Kết luận Chương 2

Chương 2 đã nêu rõ nguyên lý hoạt động, chức năng, nhiệm vụ của robot, tính tốn và thiết kế các khối trên robot một cách chi tiết. Khi đã tính tốn để chọn linh kiện cho các khối ta vẽ sơ đồ nguyên lý. Sau đó ta tiến hành ủi mạch, hàn linh kiện, dùng các dây bus để cấp nguồn cho các khối mạch, kết nối các khối với nhau. Khi đã kết nối xong các khối mạch với nhau ta cho Robot chạy thử, nếu Robot chạy đúng theo yêu cầu thì ta tiếp tục thực hiện các yêu cầu khác. Nếu Robot chưa hoạt động đúng theo yêu cầu hay trong các khối mạch có mạch nào đó khơng hoạt động hoặc linh kiện bị hư hỏng thì ta kiểm tra lại mạch, thay thế linh kiện, test mạch để Robot hoạt động đúng theo yêu cầu của đề tài.

49

Chương 2 còn giới thiệu một cách tổng quát chương trình cho robot, các thuật tốn để xây dựng chương trình cho robot từ đó viết code để điều khiển robot hoạt động cũng như phần mền giao diện để điều khiển robot từ xa. Sau khi nạp chương trình vào chip và chạy chương trình giao diện robot đã hoạt động một cách ổn định.

50

CHƯƠNG 3: THỰC NGHIỆM

3.1. Thi công phần cứng

3.1.1. Thi công mạch điện tử

Mạch điện tử của robot được thiết kế bằng phần mềm Altium.

Altium Designer là một phần mềm thiết kế tích hợp được phát triển bởi Altium Limited – Canada. Nó bao gồm tất các những cơng cụ cần thiết cho một bản thiết kế điện tử hồn thiện, ví dụ như cơng cụ thiết kế bản vẽ nguyên lý, bản vẽ mạch in, mơ phỏng mạch điện, phân tích tín hiệu, mơi trường lập trình VHDL, mơi trường thiết kế và phát triển hệ thống nhúng FPGA, …

Các phiên bản trước đây của Altium Designer gồm có: DXP2002, DXP2004, Summer 08, Winter 09, Summer10, và mới đây nhất là Altium Designer 10. Phiên bản Altium Designer Winter 09 có các chức năng cơ bản như:

 Vẽ mạch nguyên lý (Schematic Design) Vẽ mạch in (PCB Design)

 Vẽ và thiết kế thư viện nguyên lý (Schematic Library) Vẽ và thiết kế thư viện chân linh kiện (PCB Library)

Hình 3.1 Giao diện phần mềm Altium Designer

Thực nghiệm vẽ mạch trên Altium Designer:

51

Hình 3.2 Thiết kế mạch dị line

Hình 3.3 Thiết kế mạch bộ xử lý trung tâm

3.1.2. Phân tích động lực học

Bằng các kiến thức động lực học tìm hiểu được khi thực hiện đồ án, em đã áp dụng và sử dụng phần mềm SOLIDWORKS Simulation. Được tích hợp chặt chẽ với SOLIDWORKS 3D CAD, phân tích chuyển động bằng cách sử dụng SOLIDWORKS Simulation có thể là một phần thường xuyên trong quy trình thiết kế của bạn, giúp giảm

52

nhu cầu về các nguyên mẫu tốn kém, loại bỏ việc làm lại hoặc trì hỗn, tiết kiệm thời gian và chi phí phát triển. (adsbygoogle = window.adsbygoogle || []).push({});

Phân tích chuyển động được giải quyết bằng cách sử dụng phương pháp cơ sở thời gian cho các vấn đề động học và động lực học khối rắn. SOLIDWORKS Motion đưa nhà thiết kế vượt ra ngoài chuyển động kéo tự do có sẵn trong mơi trường CAD và tính tốn vật lý thực sự các lực và chuyển động của một tổ hợp khi nó di chuyển dưới tải trọng môi trường (ngoại lực) và / hoặc tải trọng bên trong (động cơ, lị xo, và giảm chấn).

Hình 3.4 Mơ phỏng động học

Mơ phỏng SOLIDWORKS Motion có thể tính tốn hiệu ứng của:

 Tải trọng  Lò xo  Bộ giảm chấn  Trọng lực  Liên hệ giữa các thành phần  Bushings 53

Một khi chuyển động lắp ráp đã được tính tốn, có thể dễ dàng phân tích cấu trúc của các bộ phận dưới tải trọng gây ra chuyển động (gia tốc và lực khớp), trong nghiên cứu chuyển động hoặc xuất sang nghiên cứu phân tích kết cấu.

3.2. Chức năng di chuyển và tải trọng thực tế

3.2.1. Chức năng di chuyển

Mục tiêu:

 Chế độ điều khiển bằng tay: Robot di chuyển đúng theo tín hiệu điều khiển phát ra từ thiết bị di động, q trình di chuyển khơng có lỗi.

 Chế độ tự động: Robot di chuyển đúng theo line, robot di chuyển theo đúng vị trí đã chỉ định trước.

 Vận tốc tối thiểu: 5km/h. Thực nghiệm:

 Chế độ điều khiển bằng tay:

Hình 3.5 Kết quả thực nghiệm vận tốc của 2 bánh xe. Hình a: Vận tốc 25 vịng/phút khi khơng tải. Hình b: Vận tốc 50 vịng/phút khi khơng tải.

54

Hình 3.6 Kết quả thực nghiệm vận tốc của 2 bánh xe. Hình c: Vận tốc 25 vịng/phút khi có tải. Hình b: Vận tốc 50 vịng/phút khi có tải.

Ở chế độ điều khiển bằng tay, robot được thử nghiệm cho di chuyển thẳng với vận tốc 2 bánh xe lần lượt là 25 vịng/phút và 50 vịng/phút, khi khơng tải và khi có tải. Việc lấy mẫu dữ liệu vận tốc được tiến hành mỗi 50 mili giây.

Dữ liệu đáp ứng vận tốc của 2 bánh xe được mơ tả trên Hình 3.5 và Hình 3.6, với đường xanh lá và xanh dương là vận tố của mỗi bánh xe, trong khi đường đỏ là vận tốc thiết lập (setpoint). Với các hệ số PID đã được thiết lập cố định, cả 2 bánh xe đều cho đáp ứng vận tốc khá giống nhau và đều khá ổn định quanh vận tốc thiết lập.

So sánh 2 trường hợp khi khơng tải và khi có tải nặng 20kg, đáp ứng của cả 2 bánh xe khơng có sự khác biệt nào đáng kể. Nếu so sánh giữa 2 vận tốc thiết lập khác nhau, có thể thấy với vận tốc 50 vòng/phút, đáp ứng của các động cơ chậm hơn, tuy nhiên thời gian xác lập cũng chỉ khoảng 4 giây trước khi đạt đến mức ổn định, so với khoảng khoảng 3 giây ở vận tốc 25 vòng/phút.

55

 Chế độ tự động: Robot di chuyển ổn định, khả năng đọc line tốt, khơng có lỗi trong q trình vận hành. Kết quả thực nghiệm cho thấy robot có thể chạy tự hành theo các điểm trên bản đồ với độ chính xác lặp lại cao.

 Vận tốc đạt từ 6-7 km/h

3.2.2. Tốc độ di chuyển và tải trọng thực tế

Sau 4 lần thực nghiệm kết quả như sau:

Bảng 3.1 Kết quả thực nghiệm tốc độ và tải trọng của robot

3.3. Thực nghiệm chức năng hệ thống

3.3.1. Chức năng phát hiện vật cản

Mục tiêu:

Một phần của tài liệu ĐỒ án tốt NGHIỆP THIẾT kế, THỬ NGHIỆM ROBOT vận CHUYỂN HÀNG HOÁ TRONG NHÀ máy (Trang 59)