Sơ đồ khối hệ thống

Một phần của tài liệu Đồ án phân loại sản phẩm, dùng camera Kinect (Trang 56 - 68)

a. Khối xử lý trung tâm

Giới thiệu vi điều khiển Arduino Uno

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 trăng 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, …).

Hình 3.6. Mạch Arduino Uno

- Một số tính năng của Aruino Uno

• Arduino Uno đi kèm với giao diện USB tức là cổng USB được thêm vào bo mạch Arduino để phát triển giao tiếp nối tiếp với máy tính.

• Arduino đi kèm với một tính năng điều chỉnh tích hợp giúp giữ điện áp trong tầm kiểm soát khi thiết bị được kết nối với thiết bị bên ngoài.

• Chân reset trên Arduino để thiết lập lại toàn bộ và đưa chương trình đang chạy trở về ban đầu. Chân reset này hữu ích khi Arduino bị treo khi đang chạy chương trình.

• Có 14 chân I/O digital và 6 chân analog được tích hợp trên Arduino cho phép kết nối bên ngoài với bất kỳ mạch nào với Arduino. Các chân này cung cấp sự linh hoạt và dễ sử dụng cho các thiết bị bên ngoài có thể được kết nối thông qua các chân này.

44

• Có 6 chân analog được đánh dấu là A0 đến A5 và có độ phân giải 10 bit. Các chân này đo từ 0 đến 5V, tuy nhiên, chúng có thể được cấu hình ở phạm vi cao bằng cách sử dụng chức năng analogReference() và chân ISF.

Thông số cơ bản:

Bảng 3.4. Thông số cơ bản Arduino Uno

Thông số Đặc trưng

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 đầu ra PWM)

Số chân PWM Digital 6

Số chân Analog 6

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)

SRAM 2 KB (ATmega328P)

EEPROM 1 KB (ATmega328P)

Tốc độ thạch anh 16 MHz

LED_BUILTIN 13

Ưu điểm của Arduino Uno:

Có rất nhiều dòng Vi Điều Khiển trên thị trường để sử dụng cho dự án. Nhưng để sử dụng và thực hiện được cần đòi hỏi người thực hiện có kiến thức và kinh nghiệm. Và hầu hết các dòng vi điều khiển được giới hạn sử dụng trong windows là chủ yếu.

• 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 thấp.

• Phần mềm lập trình IDE dễ sử dụng, kể cả cho người mới bắt đầu.

• Phần mềm Arduino được xuất bản dưới dạng các công cụ mã nguồn mở, ngôn ngữ có thể được mở rộng thêm bởi các chuyên gia lập trình viên có kinh nghiệm thông qua các thư viện ngôn ngữ C++.

• Hỗ trợ kết nối các thiết bị ngoại vi đa dạng thông qua các module.

45

• Sử dụng, biên dịch và nạp chương trình thông qua máy tính dễ dàng.

b. Khối thu và xử lý tín hiệu hình ảnh

• Khối thu hình ảnh

Hình 3.7. Thiết bị Kinect

Kinect là sản phẩm của Microsoft dựa trên công nghệ camera được phát triển bởi PrimeSense. Khả năng hiểu được cử chỉ con người của Kinect dựa trên hai đặc tính chính sau: thông tin về độ sâu ảnh (depth map), khả năng phát hiện và bám theo đặc tính cơ thể người (body skeleton tracking).

Hình 3.8. Bên trong thiết bị Kinect

Kinect gồm có: RGB camera, cảm biến độ sâu (3D Depth Sensors), dãy microphone (Multi-array Mic) và động cơ điều khiển góc ngẩng (Motorized Tilt).

Tại sao chọn Kinect?

o Một trong những đặc tính quan trọng nhất của Kinect đó là thu về giá trị độ sâu hay giá trị khoảng cách tới vật thể trong thế giới thực.

o Kinect là giá cả khá rẻ (khoảng 140$ trên 1 sản phẩm) cho thiết bị có khả năng cung cấp các thông tin 3D với chất lượng chấp nhận được.

46

Vì vấn đề xử lý ảnh cần nhiều tài nguyên và tốc độ xử lý cao, nên ta không sử dụng vi điều khiển thông thường để xử lý. Chính vì vậy, nhóm đã sử dụng laptop làm khối xử lý trung tâm.

Máy tính của nhóm có CPU Intel core i7 tộc độ xử lý lên tới 2.8 GHz chính vì vậy việc sử dụng vào mô hình là hợp lý. Máy tính hỗ trợ rất tốt việc giao tiếp các thiết bị ngoại vi và model từ bên ngoài.

Hình 3.9. Laptop CPU Intel

c. Khối cảm biến

• Cảm biến hồng ngoại LM393

Hình 3.10. Cảm biến hồng ngoại LM393

Thông tin về cảm biến tiệm cận:

Ánh sáng module cảm biến là khả năng thích nghi với môi trường, có một cặp truyền và nhận tia hồng ngoại.

Ứng dụng:

o Nó có thể được sử dụng rộng rãi trong robot tránh chướng ngại vật, tránh chướng ngại vật xe, số dòng, và như vậy nhiều lần.

47

o Được sử dụng trong các thiết bị trống trộm

o Tia hồng ngoại được dùng trong thiết bị cửa tự động, nhận diện chuyển động trong một vùng điểm nhất định do da người có thể hấp thụ tốt năng lượng của tia hồng ngoại.

o Và một số kỹ thuật đo nhiệt độ bằng hồng ngoại được dùng chủ yếu trong quan sự, và ứng dụng công nghiệp. Kỹ thuật này hiện cũng đang được ứng dụng và dần quen thuộc với thị trường dân sự như: máy ảnh trên xe hơi hay cảm biến cho cửa tự động

Thông số kỹ thuật:

o Bộ so sánh sử dụng LM393, làm việc ổn định

o Khoảng cách làm việc hiệu quả 2 ~ 5cm, điện áp làm việc là 3,3 V đến 5V. Độ nhạy sáng của cảm biến được điều chỉnh bằng chiết áp.

o Các module đã được so sánh điện áp ngưỡng thông qua chiết áp, nếu sử dụng ở chế độ thông thường, xin vui lòng không tự ý điều chỉnh chiết áp.

Hình 3.11. Kết nối giữa Arduino và cảm biến LM393

d. Khối nguồn

48

Bảng 3.5. Chọn nguồn

Loại nguồn Hình ảnh Thông số

5V 2A Điện áp đầu vào: 220VAC

Điện áp đầu ra: 5VDC Dòng ra max: 2A Jack cắm: 5.5×2.1 Nguồn Kinect

12V 2A

Điện áp đầu vào: 100÷240VAC Điện áp đầu ra: 12VDC

Dòng ra max: 1,08A Jack cắm: USB

24V 3A Điện áp đầu vào: 220VAC

Điện áp đầu ra: 24VDC Dòng ra max: 3A Jack cắm: 5.5×2.1

e. Khối hiển thị

• Giới thiệu LCD 16x2

Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụng của vi điều khiển. LCD có rất nhiều ưu điểm so với các dạng hiển thị khác: nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ,.…

Hình 3.12. Màn hình LCD 16x2

Thông số kỹ thuật LCD 16×2

49

o 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.

o 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.

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

• Module I2C Arduino

Hình 3.13. Module I2C

LCD có quá 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

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

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

Thông số kĩ thuật

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

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

o Giao tiếp: I2C.

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

50

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

Hình 3.14. Giao tiếp giữa Arduino Uno và LCD16x2

f. Khối động cơ

• Động cơ motor

Động cơ một chiều DC (DC là viết tắt của “Direct Current Motors”) là động cơ điều khiển bằng dòng có hướng xác định xác định hay nói dễ hiểu hơn thì đây là loại động cơ chạy bằng nguồn điện áp DC – điện áp 1 chiều (khác với điện áp AC xoay chiều). Đầu dây ra của động cơ thường gồm có hai dây (dây nguồn – VCC và dây tiếp đất - GND). Động cơ DC là một động cơ một chiều với cơ năng quay liên tục.

Hình 3.15. Takanawa 555 Metal Gear Motor

Thông số kỹ thuật:

o Tốc độ 40-80 vòng/phút

o Model: động cơ DC RS-555

51

o Điện áp định mức: DC12V

o Tốc độ không tải: 3000-3500 r/min

o Điện áp định mức: DC24V

o Tốc độ không tải: 7000-8000 r/min

o Chiều dài trục: 16mm

o Trọng lượng: 500g

Hình 3.16. Kết nối Arduino Uno và động cơ DC

• Động cơ Servo SG90

Hình 3.17. Động cơ Servo SG90

Động cơ servo SG90 (Góc Quay 180) là servo phổ biến dùng trong các mô hình điều khiển nhỏ và đơn giản như cánh tay robot. Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn driver điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM.

Công dụng chính của động cơ servo là đạt được góc quay chính xác trong khoảng từ 90o – 180o. Việc điều khiển này có thể ứng dụng để lái robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng…

52

Thông số kỹ thuật:

o Khối lượng: 9g

o Kích thước: 22,2x11,8x32 mm

o Momen xoắn: 1,8kg/cm

o Tốc độ hoạt động: 60 độ trong 0,1 giây

o Điện áp hoạt động: 4,8V(~5V)

o Nhiệt độ hoạt động: 0 ºC – 55 ºC

o Kết nối dây màu đỏ với 5V, dây màu đen với GND, dây màu vàng với chân phát xung của vi điều khiển. Ở chân xung cấp một xung từ 1ms-2ms theo để điều khiển góc quay theo ý muốn.

Hình 3.18. Kết nối Arduino Uno và động cơ servo

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

Module điều khiển động cơ L298 (mạch cầu H L298N) dùng để điều khiển các loại động cơ DC, động cơ bước và động cơ servo.

Module L298 có thể điều khiển 2 động cơ DC hoặc 1 động cơ bước, có 4 lỗ nằm ở 4 góc thuận tiện cho người sử dụng cố định vị trí của module.

Có gắn tản nhiệt chống nóng cho IC, giúp IC có thể điều khiển với dòng đỉnh đạt 2A. IC L298N được gắn với các đi ốt trên board giúp bảo vệ vi xử lý chống lại các dòng điện cảm ứng từ việc khởi động/ tắt động cơ.

53

Hình 3.19. Mô đun L298

Thông số kỹ thuật:

o IC chính: L298-Dual Full Bridge Driver

o Điện áp đầu vào: 5~39VDC

o Công suất tối đa: 25W 1 cầu

o Dòng tối đa cho mỗi cầu H: 2A

o Mức điện áp logic: Low-0.3V~1.5V, High:2.3V~Vss

o Kích thước: 43x43x27mm

Chức năng các chân của L298:

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 L298. Đây là các chân nhận tín hiệu điều khiển.

Bốn chân OUTUT: 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 L298. Các chân này sẽ được nối với động cơ.

Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong L298. 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.

Một chân cấp nguồn cho mạch điều khiển (Vss) và chân GND.

54

Hình 3.20. Kết nối Kinect với Laptop

55

Một phần của tài liệu Đồ án phân loại sản phẩm, dùng camera Kinect (Trang 56 - 68)

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

(110 trang)