PHAN TÍCH VÀ THIẾT KE HE THONG

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật máy tính: Hệ thống giám sát xe tự hành theo line trong kho (Trang 27 - 52)

TÓM TAT KHÓA LUẬN

Chương 3. PHAN TÍCH VÀ THIẾT KE HE THONG

3.1. Tổng quan hệ thống

Giao diện giảm sát

|

Server MQTT

iBeacon

Điều khiễn động cơ

Vi tri của Line >`

‘MA

Đường di chuyén

Raspberry Pi 3B Hough Transform

|

Hình 3.1 Sơ đồ khối hệ thống Hình 3.1 minh hoạ cho hệ thống bao gồm 4 khối chức năng, trong đó: 3 khối chức

năng giám sát vị trí hoạt động, tình trạng động cơ và điện năng tiêu thụ hoạt động độc

lập với nhau khi xe bắt đầu hoạt động. Dữ liệu giám sát của 3 khối chức năng này được gửi về liên tục cho khối chức năng hién thị thông tin giám sát.

17

3.2. Xe tự hành dò line dùng xử lý ảnh

3.2.1. Sơ đồ khối

Điều khiễn động cơ

LINE Ben

Camera Pi V2 SMP ( Anh chụp}

Raspberry Pi 3B Hough Transform

Hình 3.2. So đồ khối xử lý ảnh Quá trình xử lý ảnh dò line và xuất tín hiệu điều khiến động cơ khi xe hoạt động được tóm tắt bang hình 3.2.

3.2.2. Phần cứng

3.2.2.1. Raspberry Pi 3B

Raspberry Pi (hình 3.3) là một máy tính nhúng được sản xuất bởi 3 OEM: Sony, Qasida, Egoman [1] và được phân phối chính bởi Elementl4, RS

Components và Egoman.

Đặc tính cua Raspberry Pi xây dung quanh bộ xử ly SoC Broadcom

BCM2835 bao gom CPU, GPU, bộ xử ly âm thanh/video, va các tính năng khác... Tất cả được tích hợp bên trong chip có điện năng thấp này. Raspberry Pi được thiết kế dé chạy hệ điều hành Linux với các tiện ích như lướt web, môi

18

trường Desktop và các nhiệm vụ khác mà không thể chạy Windows vì BCM2835 dựa trên cau trúc ARM nên không hỗ trợ mã x86/x64. Raspberry Pi

có 2 phiên bản là Model A và Model B. Raspberry Pi 3 B bao gồm phần cứng

và các công kết nỗi như sau:

e Bộ xử lý lõi tứ 1.2GHz Broadcom BCM2837 64bit.

e Bộ nhớ chính 1GB RAM.

e Chip mạng LAN không dây BCM43438 và công nghệ Bluetooth Low Energy (BLE) tích hợp trên mạch.

e 40-pin GPIO.

e 4céng USB.

e Cổng camera CSI dành cho kết nối với một camera Pi.

e Công hiên thi DSI dành cho kết nối với một màn hình cảm ứng được thiết kế riêng cho Raspberry Pi.

° Công micro-SD cho việc khởi động hệ điều hành và lưu trữ đữ liệu.

e Công cấp nguồn micro-USB được nâng cấp lên đến 2.5A.

Hinh 3.3 Raspberry Pi Model B

19

3.2.2.2. Camera cho Raspberry Pi

Camera Raspberry Pi V2 8MP (hình 3.4) được thiết kế tương thích với tat cả các dong Raspberry Pi 1, 2 và 3 từng được sản xuất [2]. Camera Raspberry Pi V2 §MP kết nối với Raspberry Pi để chụp hình, quay phim với chất lượng HD 1080p30, 720p60 hoặc VGA90. Camera Raspberry Pi V2 8MP có thé được điều khién thông qua MMAL và V4LAPIs, có rất nhiều bộ thư viện được cộng đồng Raspberry Pi phát triển trên Python.

Thông số kỹ thuật:

e© Cam biến IMX219 từ Sony.

e_ Cảm biến độ phân giải 8-megapixel cho khả năng chụp ảnh kích thước

3280 x 2464.

e Hỗ trợ video 1080p30, 720p60 và 640x480p90.

e Kích thước 25mm x 23mm x 9mm.

e Trọng lượng chỉ hơn 3g.

e Kết nối với Raspberry Pi thông qua cap ribbon đi kèm dài 15 cm.

Hình 3.4 Camera Pi V2 SMP

3.2.2.3. Arduino Uno R3

Arduino Uno (hình 3.5) là một board mạch vi điều khiến được phát triển bởi Arduino [3], một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển

AVR Atmega328P.

20

Ưu điểm khi sử dụng Arduino Uno là: Với Arduino, phần mềm hỗ trợ đa nền tảng, có thể chạy trên các hệ điều hành Windows, Macintosh OSX và Linux. Chi phí Arduino không tốn kém. Phần mềm lập trình IDE dé sử dung. Arduino Uno hỗ trợ kết ni các thiết bị ngoại vi đa dang thông qua các mô-đun.

Thông số kỹ thuật:

e_ Vi điều khiển ATmega328 họ 8bit.

e Điện áp hoạt động 5V DC (chỉ được cấp qua công USB).

e Tần số hoạt động 16 MHz.

e Dòng tiêu thụ khoảng 30mA.

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

e Điện áp vao giới hạn 6-20V DC.

e Số chân Digital I/O 14 (6 chân hardware PWM).

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

Hinh 3.5 Arduino Uno R3

21

3.2.2.4. Mạch cầu H L298N

Mach cau H L298N (hình 3.6) là một mô-đun điều khiển động cơ công suất cao được sản suất bởi Hason Technology [4]. Mô dun này thiết kế dé điều

Hình 3.6. Mạch cầu H L298N

Mô-đun L298N có thể điều khiển tối đa 4 động co DC, hoặc 2 động co DC với điều khién hướng và tốc độ. Mô-đun trình điều khiển động cơ L298N bao gồm IC điều khiển động cơ L298, bộ điều chỉnh điện áp 78M05, điện trở, tụ

điện, LED nguồn, jumper 5V trong một mạch tích hợp.

78M05 là bộ điều chỉnh điện áp sẽ chỉ được bật khi đặt jumper. Khi nguồn điện nhỏ hơn hoặc bằng 12V thì mạch bên trong sẽ được cấp nguồn bởi bộ điều chỉnh điện áp và chân 5V có thể được sử dụng như một chân đầu ra dé cấp nguồn cho vi điều khiển. Không đặt jumper khi nguồn điện lớn hơn 12V và 5V riêng rẽ phải được cấp qua đầu 5V đề cấp nguồn cho mạch bên trong.

Chức năng các chân:

e INI & IN2: Các chân đầu vào của động cơ A. Được sử dụng dé điều khiển hướng quay của Động co A.

e IN3 & IN4: Chân đầu vào động cơ B. Được sử dụng để điều khiển

hướng quay của Động cơ B.

22

e ENA: Bật tín hiệu PWM cho Động cơ A.

e ENB: Bat tín hiệu PWM cho Động cơ B.

e© OUTI & OUT2: Chân đầu ra của động cơ A.

e OUT3 & OUT4: Chân đầu ra của động cơ B.

e 12V: Đầu vào 12V từ nguồn DC.

e 5V: Cấp nguồn cho mạch logic chuyển mạch bên trong IC L298N.

e GND: Chân ni đất.

e Chân ENA & ENB là chân điều khiển tốc độ cho động cơ A và động

cơ B trong khi INI & IN2 và IN3 & IN4 là chân điều khiển hướng cho

động cơ A và động cơ B.

Thông số kỹ thuật:

e_ Điện áp cung cấp động cơ (Tối đa): 46V.

e Cung cấp động cơ hiện tại (tối da): 2A.

e Điện áp logic: 5V.

e Điện áp trình điều khiển: 5-35V.

e Trình điều khiển hiện tại: 2A.

e Dòng logic: 0-36mA.

e Công suất tối đa (W): 25W.

e Đèn báo LED bật nguồn.

Các ứng dụng của Mô-đun L298N:

e Dẫn động động cơ điện một chiều.

e Dẫn động động cơ bước.

e Trong Robotics.

Sơ đồ mạch bên trong của mô-đun trình điều khiển động cơ L298N được biểu

thị dưới hình 3.7.

23

IN1

IN2

IN3

IN4

ENA

ENB

3.2.2.5. Động cơ giảm tốc DC

OUT1 OUT2 OUT3

OUT4

Động cơ giảm tốc DC (hình 3.8) là mẫu động cơ được sử dụng nhiều nhất dé thiết kế các loại robot mô hình [5]. Với giá thành rẻ, dễ sử dụng và mang tính

ưu việt nên động cơ giảm tôc DC này được sử dụng rộng rãi bởi nhiêu đôi tượng

thuộc các ngành kỹ thuật.

Thông số kỹ thuật:

Điện áp hoạt động: 3~9VDC.

Dòng điện tiêu thụ: 110~140mA.

Tỉ số truyền 1:48.

125 vong/ 1 phút tại 3VDC.

208 vong/ 1 phút tại SVDC.

Moment: 0.5KG.CM.

Kèm bánh xe đường kính 65mm.

Chat liệu: Nhựa, cao su, mút.

24

e Đường kính: 65mm.

Hình 3.8 Động cơ giảm tốc DC

3.2.2.6. Module cảm biến siêu âm SRF05

Mô-đun cảm biến siêu âm (hình 3.9) được phát triển bởi Rtx Technology [6]. Đây là loại cảm biến siêu âm cung cap khả năng đo khoảng cách bat kế mau sắc

và ánh sáng của chướng ngại vật. Chúng cũng cung cấp khoảng cách tối thiểu thấp hơn và góc phát hiện rộng hơn cho người đánh giá rằng chướng ngại vật không bị trượt bởi một chùm cảm biến hẹp. Nó tìm khoảng cách của các đối tượng phía trước bằng cách gửi xung siêu âm và đo thời gian để các xung di chuyền đến chướng ngại vật và quay lại. Mô-đun đo sóng siêu âm HY-SRF05 cung cấp chức năng đo không tiếp xúc từ 2cm - 400cm, phạm vi độ chính xác

có thé đạt đến 3mm. Mô-đun bao gồm các bộ phát, bộ thu và mạch điều khiến.

Thông số kỹ thuật:

e 5 chân, VCC, Trigger, Echo, Out va Ground.

e Trig: Tao mức điện áp cao trên chan này sẽ gửi một xung.

e Echo: Độ dài xung được tính theo tỷ lệ với khoảng cách từ chướng ngại

vật.

e (100 us đến 25ms, hết thời gian nêu 30mg).

e_ Định dạng chân Trigger: xung kỹ thuật số 10 uS.

25

Tần số âm thanh: 40 kHz.

Đầu ra chân Echo: 0-Vcc.

Định dạng chân Echo: đầu ra là DIGITAL và tỉ lệ thuận với phạm vi. Phạm vi đo: 2cm đến ~ 4,5m.

Độ phân giải đo lường: 0,3cm.

Góc đo: lên đến 15 độ.

Tốc độ đo: 40 Hz.

Điện áp cung cấp: 4,5V đến 5,5V.

Cung cấp hiện tại: 10 đến 40mA.

Đầu nối: đầu nói 5 chân tiêu chuẩn có thể cắm trực tiếp vào breadboard.

Dòng tĩnh: nhỏ hơn 2mA.

Khoảng cách phát hiện: 2cm-450cm.

26

3.2.3. Hiện thực xử lý ảnh và xuất tín hiệu điều khiển động cơ

Camera Pi V2 8MP

Raspberry Pi 3B Hough Transform

Hình 3.10 Xử ly anh voi Pi

Hình 3.11 biểu thi cho việc hiện thực xử lý ảnh và xuất tin hiệu điều khiển động

cơ. Camera Pi được lắp đặt sao cho bề mặt ống kính song song với mặt đường di chuyển của xe. Khi xe bắt đầu di chuyền, hình ảnh đường đi phía trước của xe được camera ghi hình lại, sau đó thông qua dây cáp chuyên dụng, dữ liệu về hình ảnh được truyền sang Raspberry Pi xử lý. Tại đây, bằng việc sử dụng giải thuật

Hough Transform đã được diễn giải thành các hàm tính toán trong thư viện OpenCV, hình ảnh line màu đen kẻ sẵn trên mặt đường đi sẽ được lọc ra từ hình

ảnh ban đầu.

Tiếp theo hình ảnh line đen được đặt vào góc phần tư thứ nhất của hệ trục toạ

độ Dé-Cac, trong đó có 4 điểm cần quan tâm là: điểm nằm ở vi trí thấp nhất bên cạnh trái của line đen gọi là A, điểm ở vị trí thấp nhất bên cạnh phải của line đen gọi là B, điểm ở vị trí cao nhất bên cạnh trái của line đen gọi là C, điểm ở vị trí cao nhất bên cạnh phải của line đen gọi là D. Giao điểm của đường thăng AD và BC được xem là trung tâm của line đen này. Dựa vào vị trí của điểm trung tâm của line đen so sánh với điểm trung tâm của khung hình chụp có thê đưa ra đánh giá thực

27

tế là xe đang di chuyên lệch sang bên trái hoặc lệch sang bên phải so với đường thăng đen.

Raspberry dùng hai chân GPIO số 7 và số 8 có chức năng xuất tín hiệu đầu ra thông qua dây dữ liệu dé kết nối tương ứng hai chân GPIO số 2 và số 3 có chức năng nhận tín hiệu đầu vao của Arduino Uno:

¢ Néu line bị lệch phải so với điểm trung tâm khung hình thi Raspberry

sẽ xuất tín hiệu điện áp mức thấp (Low) ở chân số 7 và tín hiệu điện áp mức cao (High) ở chân số 8. Tương ứng ở Arduino Uno, chân số 2 sẽ nhận tín hiệu điện áp mức thấp và chân số 3 sẽ nhận tín hiệu điện áp mức cao. Ở trường hợp này, quy ước cho Arduino Uno nhận biết đây là yêu cầu cần xuất xung điều khiển động cơ rẽ phải.

e Nếu line bị lệch trái so với điểm trung tâm khung hình thì Raspberry

sẽ xuất tín hiệu điện áp mức cao (High) ở chân số 7 và tín hiệu điện áp mức

thấp (Low) ở chân số 8. Tương ứng ở Arduino Uno, chân số 2 sẽ nhận tin

hiệu điện áp mức cao và chân số 3 sẽ nhận tín hiệu điện áp mức thấp. Ở

trường hợp này, quy ước cho Arduino Uno nhận biết đây là yêu cầu cần xuất xung điều khiến động cơ rẽ trái.

e Néu line không bị lệch so với điểm trung tâm khung hình thi Raspberry

sẽ xuất tín hiệu điện áp mức cao (High) ở chân số 7 và tín hiệu điện áp mức cao (High) ở chân số 8. Tương ứng ở Arduino Uno, chân số 2 sẽ nhận tín hiệu điện áp mức cao và chân số 3 sẽ nhận tín hiệu điện áp mức cao. Ở trường hợp này, quy ước cho Arduino Uno nhận biết đây là yêu cầu cần xuất tín hiệu điều khiển động co đi thăng.

Arduino Uno sử dụng các chân GPIO 4, 5, 6 và 7 có chức năng xuất tín hiệu đầu ra thông qua dây dit liệu kết nối với các chân INI, IN2, IN3, IN4 có chức năng nhận tín hiệu đầu vào dé tiếp tục điều khiển chuyên động của động cơ bằng các

chân OUT1, OUT2, OUT3, OUT4 của mô-đun L298N.

Quá trình ghi hình đường di chuyền, lọc line đen từ hình ảnh gốc, đánh giá độ chênh lệch của line đen để ra quyết định điều hướng động cơ được thực hiện liên

28

tục với thời gian nghỉ giữa hai lần ghi hình thấp hơn một phần mười của giây giúp

mô phỏng một đoạn vi-di-6 được phát liên tục về đoạn đường xe di chuyển qua đó

xe có thể đi chuyền liên tục theo line đen vẽ sẵn.

Do kho bãi sử dụng loại xe tự hành theo line nên cần có khu vực sạc lại năng lượng cung cấp cho xe vì vậy các kho được chia làm hai khu vực: khu vực làm việc chính của các xe và khu vực sạc pin. Dé đáp ứng yêu cau tự sạc pin khi năng lượng xuống mức thấp thì đường di chuyên của xe cần được thiết kế sao cho có điểm giao nhau giữa khu vực làm việc và khu vực sạc, đồng thời có lắp đặt một đèn báo hiệu trên mặt đường tại điểm giao nhau. Khi xe di chuyền đến khu vực giao nhau, Camera Pi sẽ ghi lại hình anh của đèn báo, bằng sự hỗ trợ của thư viện

OpenCV, Raspberry Pi xử lý ảnh chụp và nhận diện màu của đẻn, từ đó giúp nhận

biết đây là khu vực giao nhau. Dựa trên kết quả giám sát tiêu thụ điện năng, xe sẽ

rẽ hướng di chuyển vào khu vực sạc pin néu năng lượng xuống thấp và rẽ hướng

di chuyền vào khu vực làm việc nếu năng lượng ở mức xe vẫn còn có thể hoạt

động được.

Ngoài ra, các xe tự hành còn được trang bi mô-đun cam biến siêu âm kết nối

với Arduino Uno. Sau khi nhận tín hiệu điện áp từ Raspberry, Arduino Uno đọc

kết quả đữ liệu trả về từ mô-đun cảm biến siêu âm là khoảng cách đến vật cản phía

trước:

e Nếu khoảng cách trả về nhỏ hơn hoặc bằng 30 cm, Arduino Uno xuất tín hiệu điều khiển buộc động cơ dừng hoạt động.

e Nếu khoảng cách trả về lớn hơn 30cm, Arduino Uno tiếp tục xuất tín hiệu điều hướng di chuyên của động cơ dựa trên tín hiệu điện áp nhận vào từ

Raspberry PI.

3.3. Thiết kế chức năng giám sát tình trạng động cơ

Đề giám sát tình trạng động cơ thì cần biết được luồng tín hiệu điều khiển động cơ

có được gửi đến động cơ hay không nên dé đáp ứng yêu cầu này, hệ thống được đặt một gia tri cờ hiệu trong mỗi đoạn lệnh điều hướng động cơ. Bằng cách liên tục kiểm tra giá trị cờ hiệu này sẽ biết được tình trạng hoạt động của động cơ.

29

Arduino UNO đóng vai trò bộ điều khiển trung tâm xuất tín hiệu điều khiến động

cơ dựa theo kết quả xử lý ảnh, do đó dé kiểm tra tình trạng động cơ, đặt một biến dữ

liệu nhận giá tri từ 0 hoặc 1 tương ứng với các trang thái đang dừng hoặc đang hoạt

động trong các đoạn lệnh ma Arduino Uno sẽ thực thi để điều hướng động cơ di chuyên. Lúc xe không di chuyền, biến nhận giá trị là 0, mỗi khi xe đi thăng, rẽ trái hoặc rẽ phải, biến dit liệu sẽ thay đổi giá trị thành 1. Sau đó thông qua giao thức I2C, Arduino UNO truyền giá trị biến dữ liệu cho mô-đun iNut hiển thị thông tin lên

Website.

3.4. Thiết kế chức năng giám sát tiêu thụ điện năng

Hình 3.11 biểu thị việc mô-đun iNut tiếp nhận thông tin tiêu thụ điện năng từ mô- đun cảm biến dòng và gửi thông tin đó lên giao diện giám sát.

3.4.1. Sơ đồ khối

Chức năng giám sát điện năng thụ được diễn giải bằng hình 3.11.

Server MOTT

- Phát hiện vật cản : SRF05

- Cảm biến dòng : MCU 219 Arduino - iNut

- Điêu khién đông cơ : L298N

30

3.4.2. Phần cứng

3.4.2.1. Pin sạc Panasonic NCR18650B 3400mAh 3.7V

Pin sạc Panasonic (hình 3.12) còn được gọi ngắn gọn là pin 18650 được phát triển bởi Panasonic [7]. Đây là một loại pin chất liệu Lithinium Lion phổ biến trên thị trường với tính tiện dụng và độ bền cao. Pin 18650 Panasonic thường được sử dụng trong các thiết bị điện tử như đèn pin, sạc dự phòng, đồ choi, ...

Chức năng trong hệ thống: Cung cấp nguồn điện cho toàn bộ hệ thống.

Thông tin kỹ thuật:

e Model: NCR18650B chính hãng Panasonic.

e© Kiểu pin: 18650.

e Điện áp trung bình 3.7V, sạc đầy 4.2V.

e Dung lượng: 3400mAh.

e Dòng xả: 5A.

e Số lần sac xả: 1000 lần.

e Kích thước: 18mm x 65mm.

Hình 3.12 Pin sạc Panasonic NCR18650B

31

3.4.2.2. Cảm biến dòng MCU-219 INA219 I2C

Cảm biến dong MCU-219 INA219 I2C (hình 3.13) được phát triển bởi Texas Instrument [8]. Day là một mô-đun cảm biến dòng điện và giám sát điện năng

với giao diện tương thích I2C hoặc SMBUS. Mô-đun giám sát cả điện áp cung

cấp của nguôn, với thời gian chuyền đổi, bộ lọc và giá trị hiệu chuẩn có thé lập trình, kết hợp với hệ số nhân bên trong, cho phép đọc trực tiếp dòng điện tính băng ampe.

Chức năng trong hệ thống: Dựa trên nguyên lý hoạt động của hiệu ứng HALL, mô-đun cảm biến dòng điện cung cấp thông tin về các thông số của nguồn pin và gửi đữ liệu sang mô-đun Arduino Uno.

Thông số kỹ thuật:

e_ Chita một thanh ghi nhận bồ sung tính toán công suất theo watt.

e_ Độ chính xác +- 1% ở -40 độ, ở nhiệt độ 85 độ lệch tối đa 100 uV.

e Sản phẩm có độ chính xác cao kết hợp các ưu điểm của độ phân giải 12

bịt.

e Phạm vi điện áp bus từ 0 V đến +26 V.

e© Dòng đo: lên đến 3.2A.

e Điện áp sử dụng: 3 ~ 5 V.

e Kích Thước: 25.5x22.3 mm.

e Giao tiếp: I2C.

Hình 3.13 Cảm biến dòng MCU-219 INA219 I2C

32

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật máy tính: Hệ thống giám sát xe tự hành theo line trong kho (Trang 27 - 52)

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

(62 trang)