Sản phẩm thực tiễn nhóm hướng tới

Một phần của tài liệu Nghiên cứu thiết kế chế tạo robot tự hành AGV (Trang 25)

17

3.2.2 Nhược điểm:

- Không thể vận chuyển các mặt hàng trên cao

- Không thể tải trọng quá nâng như xe AGV loại kéo.

- Thời gian hoạt động liên tục chỉ hơn 1 ca làm việc, thời gian nạp nhiên liệu lâu

18

CHƯƠNG 4: QUY TRÌNH THIẾT KẾ 4.1 Sơ đồ khối nguyên lý của hệ thống 4.1 Sơ đồ khối nguyên lý của hệ thống

Thành phần từng khối:

➢ Bộ nguồn gồm có acquy 12v-6A cung cấp cho động cơ và sử dụng nguồn riêng 7.4V cho vi điều khiển,cảm biến, khối hiển thị.

➢ Khối cảm biến: Sử dụng cảm biến siêu âm và cảm biến đường line giúp nhận biết đường line chạy tránh vật cản trên đường di chuyển của xe.

➢ Khối động cơ: Bao gồm động cơ Planet, xi lanh điện.

➢ Khối hiển thị: LCD 20x4 A. Khối Xử Lý Trung Tâm Khối Nguồn Khối Cảm Biến Khối Động cơ Khối Hiển Thị Khối cảnh báo

19

4.2 Chức năng từng khối Khối xử lý trung tâm Khối xử lý trung tâm

- Nhận tín hiệu từ khối cảm biến - Xử lý tín hiệu điều khiển

- Gửi tín hiệu điều khiển qua khối hiển thị - Truyền tín hiệu điều khiển đầu ra

- Giao tiếp với bộ điều khiển thơng qua bộ truyền / thu nhận tín hiệu (tín hiệu điều khiển bằng điều khiển từ xa)

- Điều khiển thông minh thơng qua chế độ tự động.

Thiết bị chính: Arduino UNO R3 Atmega328. (Hình 2.1)

4.2.1 Giới thiệu về Arduino. Ardruino Ardruino

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 và 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 mã nguồn mở từ phần cứng tới phần mềm.

20

Khả năng của bo mạch Arduino

Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560. Các dịng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).

• Xung nhịp: 16MHz

• EEPROM: 1KB (ATmega328) và 4KB (ATmega2560) • SRAM: 2KB (Atmega328) và 8KB (Atmega2560) • Flash: 32KB (Atmega328) và 256KB (Atmega2560)

Người dùng có thể linh hoạt số lượng ngõ vào và ngõ ra.

Digital: Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54.

Analog: Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10-bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.5mV). Số lượng cổng vào analog là 6 đối với Atmega328, và 16 đối với Atmega2560. Với tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ ẩm, ánh sáng, gyro, accelerometer…

- PWM: Độ phân giải các chân này là 8-bit. Số lượng cổng PWM đối với các bo dùng Atmega328 là 6, và đối với các bo dùng Atmega2560 là 14. PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển động cơ mà phổ biến nhất là động cơ DC trong các máy bay mơ hình.

Mơi trường lập trình bo mạch Arduino: Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thơng dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Mơi trường lập trình đơn giản dễ sử dụng, ngơn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng.

21

Giao diện IDE của Arduino

Mơi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux.

Do có tính chất nguồn mở nên mơi trường lập trình này hồn tồn miễn phí và có thể mở rộng.

Ngơn ngữ lập trình có thể được mở rộng thơng qua các thư viện C++. Và do ngơn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hồn tồn có thể nhúng thêm code viết bằng AVR C vào chương trình.

Kết nối với Arduino

Kết nối phần cứng Arduino với phần mềm Arduino trên máy tính là việc đầu tiên các bạn thực hiện để có thể tiến hành lập trình, các bước đơn giản như sau:

Bước 1: Tải và cài đặt phần mềm Bước 2: Các bạn kết nối phần cứng là

Board mạch Arduino vào máy tính qua cổng USB, giúp Arduino giao tiếp với máy tính (truyền nhận dữ liệu) cũng như cấp nguồn 5VDC qua cổng USB cho board hoạt động. Khi kết nối board mạch với máy tính, board sẽ tự động cài Driver, nếu không cần thực hiện thêm các bước sau (thực hiện trên hệ điều hành Windows, Linux hoặc Mac):

Nhấp chuột phải vào My Computer > Device Manager > Other Devices sẽ thấy 1 mục xuất hiện khi cắm board vào là Unknow devices hoặc Arduino. ( Hình 0.2)

Nhấn chuột phải vào mục vừa xuất hiện trong Other Devices > Update Driver Software > Browse my computer for Driver software, sau đó chọn đường dẫn là thư mục Arduino vừa cài đặt vào máy tính (thường nằm trong Program Files), sau đó nhấn OK và chờ đợi cho đến khi cài đặt thành cơng.

22 Sau khi cài đặt thành công, trong Device Manager sẽ hiện tên board tương ứng kèm thứ tự cổng Comport như sau:

* Thông tin thêm: Ở bước 2 khi các bạn cài đặt thành công, việc hiện Arduino như một thiết bị kết nối cổng COM trên máy tính chứng tỏ giao tiếp thực tế giữa Arduino và máy tính khơng phải là giao tiếp USB mà thông qua 1 IC chuyển giao tiếp từ USB sang COM, so với USB thì COM là 1 giao tiếp có độ đơn giản và dễ dàng sử dụng hơn rất nhiều khi lập trình.

Bước 3: Mở phần mềm Arduino

vừa cài đặt > Tools > Board, chọn board Arduino tương ứng đang sử dụng, sau đó chọn Tools > Serial Port, chọn cổng COM

theo thứ tự tương ứng của Board trong Device Manager, nếu có thêm mục Tools > Processor thì chọn vi điều khiển tương tứng trên board (trên IC trung tâm thường có in tên), nếu khơng thì khơng cần chọn. (Hình 2.3)

Bước 4: Chọn 1 ví dụ đơn giản trong File > Examples > Basic > Blink, sau đó nhấn Ctrl

+ U để tiến hành nạp thử, khi nạp bạn sẽ thấy 2 đèn báo TX, RX trên board chớp báo hiệu đang nạp chương trình, sau khi hồn tất hai đèn này sẽ ngừng chớp và chương trình bắt đầu hoạt động. (Hình 2.4)

Lưu ý:

Khi chương trình đã được nạp, nó sẽ được lưu giữ cho đến khi nạp chương trình mới, khi nạp chương trình mới đồng nghĩa với 2 việc là bạn xóa chương trình cũ và chương trình mới được nạp, để thấy rõ tất cả tiến trình nạp chương trình xin chọn File >

Hình 4.4 Giao diện Arduino-hướng dẫn

nạp chương trình

23

Preferences > Show verbose output during, tick vào hai mục là compilation và upload để theo dõi tồn bộ q trình này.

Các loại bo mạch Arduino:

Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính (thường được gọi là shield).

Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth.

Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ v.v…

4.2.2 Arduino Atmega328 Giới thiệu: Giới thiệu:

Arduino Atmega 328 có tên đầy đủ là Atmega328P-PU. Arduino Uno R3 SMD (CH340 + ATMEGA328P-AU) là phiên bản giá rẻ sử dụng IC nạp và giao tiếp UART CH340 + Vi điều khiển chính ATMEGA328P-AU, nhược điểm của loại này là vì sử dụng các linh kiện giá rẻ thay thế nên độ ổn định và độ bền ở phần giao tiếp máy tính sẽ kém hơn các phiên bản khác + Vi điều khiển là loại IC dán nên sẽ không thể thay thế khi cháy, nếu bạn làm các ứng dụng cần tiết kiệm chi phí và khơng cần giao tiếp với máy tính trong thời gian dài thì Arduino Uno R3 SMD (chip dá) là sự lựa chọn vơ cùng hợp lý.

24

Hình 4.5 Atega328P

Bảng Thông số kĩ thuật

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 (of which 6 provide

PWM output)

Số chân PWM Digital 6

Số chân Analog 6

25

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

Bảng 4.1: Bảng thơng số ki thuật của Atmega328P Các tính năng của thiết bị:

- Kit Arduino R3 ATMEGA328P chip dán có cách sử dụng hồn tồn giống với Arduino Uno R3 bản chân cắm(PDIP), điểm khác biệt:

- Chip nạp chương trình : Arduino Uno R3 (PDIP) dùng chip nạp Atmega16U2 , còn Kit Arduino R3 ATMEGA328P chip dán dùng chip nạp CH340 nên tiết kiệm chi phí và rẻ hơn nhiều.

- CPU chính của mạch SMD sử dụng là chip dán nên chi phí rẻ hơn, tuy nhiên nhược điểm là không thể tháo lắp được như với bản chip cắm PDIP nguyên thủy.

- Arduino Uno là board mạch rất phổ biến trong các dòng Arduino hiện nay, bạn chỉ cần kết nối Arduino với máy tính PC hoặc Laptop bằng cáp USB là đã có thể sử dụng và nạp code cho nó một cách rất dễ dàng.

- Kit Arduino R3 ATMEGA328P chip dán có ứng dụng rất mạnh mẽ từ đơn giản đến phức tạp, ví dụ như: Điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,v.v…

4.3 Acquy Và Khối Nguồn 5V

- Chọn acquy (Hình 2.6): Để đảm bảo yêu cầu chạy trong cơng ty xe AGV phải

đáp ứng được q trình sử dụng bình ắc quy trong thời gian 4h làm việc. Cơng thức tính thời lượng dùng ắc quy được tính

như sau:

𝑇 =𝐴ℎ.𝑈.𝑃𝑡𝑃 [𝑔𝑖ờ]

Trong đó:

T –thời gian cần có điện trong hệ thống, giờ; Ah –dung lượng bình ắc quy, Ah;

U – hiệu điện thế của ắc quy, V; pt – hiệu suất của hệ thống: 0,8

26 P – công suất tiêu thụ của tải, W;

Vậy đối với loại bình ắc quy 12VDC để đáp ứng được yêu cầu làm việc 8h thì dung lượng ắc quy cần thiết sẽ là:

Ah=𝑃.𝑇

𝑈.𝑃𝑡= 8.50

0,8.24 = 20.4 [𝐴ℎ]

Nguồn 7.4V chúng em sử dụng nguồn riêng từ 2 quả Cell pin samsung Lion IRC18650-5R-2600mAh. (Hình 2.7)

4.4 Khối cảm biến

Khối dị line (Hình 2.8)

Ngun lí cảm biến hồng ngoại: - Gồm một mắt phát và thu hồng

ngoại.

- Khi nhân được tín hiệu hồng ngoại từ đèn phát thì đèn thu sẽ hoạt động.

- Khi có ánh sáng hồng ngoại từ led phát, nếu có một vật cản, ánh sáng sẽ được phản xạ lại led thu.

- Ứng dụng: dùng trong các ứng dụng phát hiện vật cản, xe dò đường,.... Cảm biến dị line làm việc dựa trên ngun lí giống cảm biến hồng ngoại. Về mặt cơ bản 1 led phát hồng ngoại 1 led thu hồng ngoại. Khi nhận được tín hiệu hồng ngoại từ đèn phát thì đèn thu sẽ hoạt động. Khi có ánh sáng hồng ngoại từ led phát, nếu có một vật cản, ánh sáng sẽ được phản xạ lại led thu. Vậy nên nhóm chúng em đã chọn loại cảm biến dị line MTE-L021.

Thông số kỹ thuật:

- Điện áp hoạt động: 5V (DC)

Hình 4.8 Mạch dị line Hình 4.7 Pin cell 18650

27

- Vi xử lí tích hợp: Stm8s003F3P6

- Số mắt line số: 5 mắt

- Tín hiệu trả về: Digital (0/1)

- Kích thước: Rộng: 27mm, Dài: 107mm, Cao 190mm.

Sơ đồ nguyên lý mạch : (Hình 2.9)

Cảm biến siêu âm HC-SRF04

Cảm biến siêu âm HC-SRF04 (Hình 4.10+4.11)

- Nguồn làm việc: 5V (một số mạch điện tử có thể cấp nguồn 3.3V vẫn hoạt động bình thường nhưng cảm biến siêu âm cần hoạt động ở mức 5V)

- Dịng tiêu thụ: nhỏ hơn 2mA

Hình 4.9 Sơ đồ nguyên lý

Hình 4.11 Các chân HC_SRF04 Hình 4.10 Nguyên lý hoạt động Hình 4.10 Nguyên lý hoạt động

28 - Tín hiệu đầu ra: xung HIGH (5V) và LOW (0V) - Khoảng cách đo: 2cm – 300cm (3 mét)

- Độ chính xác: 0.5cm

Cảm biến siêu âm có 4 chân:

- Vcc --> nguồn 5V

- Trig --> nối vi điều khiển (ngõ phát) (có thể sử dụng mức áp 3.3V để kích cảm

biến mà khơng ảnh hưởng đến kết quả)

- Echo --> nối vi điều khiển (ngõ thu)

- Gnd --> nối âm

Cảm biến siêu âm HC SR04 sử dụng 2 thành phần phát – nhận siêu âm.

Cảm biến siêu âm SR04 hoạt động bằng cách phát 1 tín hiệu siêu âm (tần số 40Khz) và bắt đầu đếm thời gian nhận được tín hiệu phản hồi.

Khoảng cách do cảm biến siêu âm SR-04 được tính từ tốc độ và thời gian phản hồi.

Độ chính xác về khoảng cách của cảm biến siêu âm HC-SR04 phụ thuộc lớn vào cách bạn lập trình phát – thu tín hiệu.

Cảm biến siêu âm hoạt động bằng cách phát đi 1 xung tín hiệu và đo thời gian nhận được tín hiệu trở vể. Sau khi đo được tín hiệu trở về trên cảm biến siêu âm, ta tính được thời gian từ lúc phát đến lúc nhận được tín hiệu. Từ thời gian này có thể tính ra được khoảng cách.

Nếu đo được chính xác thời gian và khơng có nhiễu, mạch cảm biến siêu âm trả về kết quả cực kì chính xác. Điều này phụ thuộc vào cách viết chương trình khơng sử dụng các hàm delay.

4.5 Khối động cơ 4.5.1 Chọn động cơ 4.5.1 Chọn động cơ

Đối với cơ cấu di chuyển của xe, lực cản tĩnh phụ thuộc vào khối lượng chuyên chở và khối lượng của xe, trạng thái đường đi (cong, thẳng, ổ gà, dốc..). Do vậy lực cản được tính theo cơng thức sau:

29 F =(G+Gx)g Rb (β. rct + f). kms =(5+10).9,81 0,065 (0,005x8x10−4+ 5x10−4)x1,3 = 1,48(N) Trong đó:

G : Khối lượng chuyên chở, kg; Gx: Khối lượng của xe, Kg; Rb: Bán kính bánh xe, m;

β : hệ số ma sát trượt,(8.10-4÷15.10-4); rct : Bán kính cổ trục bánh xe, m; f : Hệ số ma sát lăn (5.10-4);

kms : Hệ số có tính ma sát giữa mép bánh xe và đường ray

- Mô men của động cơ sinh ra để thắng lực cản chuyển động đó bằng: M =F. Rb i.𝜂 = 1,48.0,065 18.0,9 = 5,93x10 −3(N. m) Trong đó: F: Lực cản chuyển động, N;

i: Tỉ số truyền từ trục động cơ đến bánh xe; η: Hiệu suất của cơ cấu;

- Cơng suất của động cơ khi di chuyển có tải bằng: P =F.v

𝜂 . 10−3 =1,48x5,4

0,9 . 10−3 = 0,0088 (kW) =8.8 (W)

Chọn động cơ Planet RS775 12V/24V-60W 200RPM (Hình 2.12) là động cơ servo nam châm vĩnh cửu có chổi than. Động cơ được dùng cho các ứng dụng địi hỏi sự chính xác. Động cơ được gắn một encoder kèm theo để phản hồi vị trí cho bộ điều khiển.

30 Các ưu điểm: * Nhiễu tạp nhỏ. * Kèm theo encoder (13ppr). * Một vị trí có thể được giới hạn đến một xung. * Chi phí thấp.

* Tính năng kỹ thuật cao.

Thơng số kỹ thuật: * Hộp giảm tốc Planet 2 cấp bánh răng. * Đầu trục 8mm. * Tốc độ đầu trục: 200RPM tại điện áp 12V (350-400RPM tại điện áp 24V). * Công suất: 60W. * Dịng khơng tải: 0.3A. * Dòng tải nhẹ: 0.8-1A. * Dòng tải nặng: 1.5-3A.

Một phần của tài liệu Nghiên cứu thiết kế chế tạo robot tự hành AGV (Trang 25)

Tải bản đầy đủ (PDF)

(79 trang)