1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Iot cho het hong phan loai san pham

24 281 0

Đ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

Định dạng
Số trang 24
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dùng cảm biến màu sắc ts32000 để đọc và xuất số lượng sản phẩm đến được lên Internet. Ở đây dùng ứng dụng MQTT. Ứng dụng này có cả trên điện thoại lẫn website nên dễ dàng cho việc điều khiển. Trong bài viết có cả phần code Arduino và code cho Iot. Các bạn chỉ cần download về và sữ dụng.

Trang 1

MỤC LỤC

Trang 2

Danh Mục Hình

Trang 3

I TỔNG QUAN.

1.1 Đặt Vấn Đề.

Việc ứng dụng tự động hóa là xu thế chung trong công nghiệp hiện nay, hòa chungvào quá trình tự động hóa trong sản xuất, khâu phân loại sản phẩm trong các dây chuyềncông nghiệp là một ví dụ điển hình Trước kia, việc phân loại chủ yếu là dựa vào sứcngười, công việc này đòi hỏi sự tập trung cao và có tính lặp lại nên các công nhân khóđảm bảo được sự chính xác trong công việc Chưa kể đến có những phân loại dựa trêncác chi tiết kĩ thuật rất nhỏ mà mắt thường khó có thể nhận ra Điều đó sẽ ảnh hưởng trựctiếp tới chất lượng sản phẩm và uy tín của nhà sản xuất Ứng dụng băng chuyền và các kỹthuật để phân loại sản phẩm hoàn toàn tự động sẽ giảm chi phí lao động, nâng cao năngsuất và hiệu quả rất nhiều so với phân loại bằng thủ công Bên cạnh việc phân loại sảnphẩm dựa vào kích thước, hình dáng bao bì, các sản phẩmhiện nay còn đa dạng về sốlượng màu sắc khác nhau nên việc phân loại sản phẩm dựa vào màu sắc là thực sự cầnthiết

Ví Dụ: Trong các dây chuyền sản xuất Gạch, đá granite hay trong chế biến Nông Sản(như Cà Phê, Gạo ) người ta phân loại thành các sản phẩm loại một, loại hai dựa vàomàu sắc của chúng

1.2 Ý Tưởng.

Sử dụng Moudule cảm biến màu sắc TCS3200 phân biệt màu sau đó điều khiển động

cơ servo để đưa các màu khác nhau tới các vị trí khác nhau,sau đó sử dụng WeMos D1Mini ESP8266 đưa sô liệu là số lượng các viên bi có màu trắng, xanh,đỏ lên mạng đểquan lí số lượng các màu của bi

1.3 Mục Tiêu Hệ Thống.

-Phân loại được màu sắc theo yêu cầu

-Phân loại được 3 loại màu sắc khác nhau

-Làm được cơ cấu phân loại màu đơn giản giá thành thấp

-Thiết kế được cơ cấu cơ khí phân loại màu

-Thu thập số liệu và truyền thông được lên mạng

Theo định nghĩa từ Wikipedia:

Internet of Things (IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, conngười được cung cấp một định danh của riêng mình, và tất cả có khả năng truyền tải, traođổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp

Trang 4

giữa người với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của côngnghệ không dây, công nghệ vi cơ điện tử và Internet.[1]

Như vậy có thể tạm hiểu, Internet of Things là khi tất cả mọi thứ đều được kết nốivới nhau qua mạng Internet, người dùng (chủ) có thể kiểm soát mọi đồ vật của mình quamạng mà chỉ bằng một thiết bị thông minh, chẳng hạn như smartphone, tablet, PC haythậm chí chỉ bằng một chiếc smartwatch nhỏ bé trên tay

2.1.2 Tầm quan trọng của IoT.

IoT có ứng dụng rộng vô cùng, có thể kể ra một số thứ như sau [2]:

- Nhà thông minh (Smart Home): đây là ứng dụng được đứng đầu trên tất cả các

kênh được sử dụng để đánh giá, số công ty nghiêm cứu IoT cho nhà thông minh là

256 công ty và các công ty khởi nghiệp, số công ty đang hoạt động về nhà thôngminh nhiều hơn so với bất kỳ ứng dụng nào trong IoT như Nest, AlertMe, một sốtập đoàn đa quốc gia như Philips, Haier hoặc Belkin

- Thiết bị có thể mang theo (Wearables): đã có nhiều sáng kiến về Wearables như

đồng hồ thông minh của Apple, máy huấn luyện thông minh của Sony, điều khiển

cử chỉ Myo, vòng đeo tay Looksee,

- Thành phố thông minh (Smart City): ứng dụng quản lý lưu lượng nước trong

phân phối nước, quản lý chất thải, an ninh đô thị và giám sát môi trường Giải phátIoT trong các khu vực của thành phố thông minh giải quyết vấn đề ùn tắt giaothông, giảm thiểu tiếng ồn và ô nhiễm, giúp làm cho thành phố an toàn hơn

- Lưới điện thông minh (Smart grid): một lưới điện thông minh trong tương lai

hứa hẹn nâng cao hiệu quả, độ tin cậy và kinh tế của việc sử dụng điện dựa trênhành vi của con người sử dụng điện và nhà cung cấp điện

- Internet công nghiệp (Industrial internet) là một trong những ứng dung đặt biệt

của IoT, được đánh giá với tiềm năng cao nhất của thị trường IoT Hiện nayinternet công nghiệp không thể đạt mức phổ biến như nhà thông minh hoặc thiết bịmang theo nhưng nó đang dần tăng trưởng

- Ô tô kết nối (Connected car): ô tô kết nối phát triển một cách từ từ, thực tế ít

được nhắc đến, tuy nhiên các nhà sản xuất ô tô lớn cũng như các công ty khởinghiệp cũng đang làm việc để đưa ra các giải pháp xe kết nối nổi tiếng là các tậpđoàn lớn: Google, Microsoft, Apple

- Bán lẻ thông minh (Smart retail): quảng cáo lân cận (Proximity – based

advertising – loại hình quảng cáo sử dụng công nghệ định vị để thông tin trực tiếpvới khách hàng thông qua thiết bị cầm tay) là một phần của bán lẻ thong minhcũng đã bắt đầu tăng trưởng

- Chuỗi cung ứng thông minh (Smart supply chain): giải phát theo dõi hàng hóa

khi vận chuyển, hoặc trao đổi thông tin hàng tồn kho đã xuát hiện nhiều năm trênthị trường, đến nay chuỗi cung ứng thông minh vẫn còn phát triển hạn chế

- IoT trong nông nghiệp: IoT sẽ biến nông nghiệp từ một lĩnh vực sản xuất định

tính thành một lĩnh vực sản xuất chính xác dựa vào những sô liệu thu những số

Trang 5

liệu thu thập, tổng hợp và phân tích thống kê, từ việc phụ thuộc vào thời tiết, khíhậu, , người nông dân có thể tự chủ, điều chỉnh mọi thứ để đạt được hiệu quả nhưmong muốn []

Như vậy Tác động của IoT rất đa dạng, trên các lĩnh vực, đặc biệt trong lĩnh vực y

tế, Thiết bị IoT có thể được sử dụng để cho phép theo dõi sức khỏe từ xa và hệ thốngthông báo khẩn cấp Các thiết bị theo dõi sức khỏe có thể dao động từ huyết áp và nhịptim màn với các thiết bị tiên tiến có khả năng giám sát cấy ghép đặc biệt, chẳng hạn nhưmáy điều hòa nhịp hoặc trợ thính tiên tiến cảm biến đặc biệt cũng có thể được

2.2 Arduino Uno R3:

Hình2.1: Arduino Uno Board []

2.2.1 Khái Niệm chung.

Arduino Uno R3 dùng vi điều khiển Atmega328 Bộ não này có thể xử lí những tác

vụ đơn giản như điều khiển LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làmmột hệ thống đo nhiệt độ và độ ẩm, và các ứng dụng khác

Hình 2.2: Vi điều khiển của Arduino Uno Board []

2.2.2 Thông số kĩ thuật:

- Vi điều khiển: Atmega 328 họ 8 bit

Trang 6

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

- Tần số hoạt động: 16Mhz

- Dòng tiêu thụ: 30mA

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

- Điện áp vào giới hạn: 6 -20V DC

- Số chân Digital I/O: 14 (6 chân PWM)

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

- Dòng tối đa trên mỗi chân I/O: 30mA

- Dòng ra tối đa (5V): 500mA

- Dòng ra tối đa (3.3V): 50mA

- Bộ nhớ Flash: 32KB với 0.5KB dùng để bootloader

- 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA

- 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA

- Vin( Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dươngcủa nguồn với chân này và cực âm của nguồn với chân GND

- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ởchân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từchân này để sử dụng bởi chức năng của nó không phải là cấp nguồn

- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương vớiviệc chân RESET được nối với GND qua 1 điện trở 10KΩ.[]

2.2.4 Bộ nhớ sử dụng.

- Vi điều khiển Atmega328 tiêu chuẩn sử dụng trên Arduino uno r3 có:

- 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớFlash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ đượcdùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ nàyđâu

- 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báokhi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớRAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ màbạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất

Trang 7

- 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory):đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mìnhvào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.[]

2.2.5 Các cổng vào/ra trên Arduino Board

Hình 2.3: Các cổng vào/ra trên Arduino Board []

Mạch Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ

có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chânđều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặcđịnh thì các điện trở này không được kết nối)

- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi( transmit – TX) và nhận( receive –RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua

2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serialkhông dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếukhông cần thiết

- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phângiải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite().Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác

- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chứcnăng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thứcSPI với các thiết bị khác

- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nútReset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13.Khi chân này được người dùng sử dụng, LED sẽ sáng

- Arduino UNO Broad có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Vớichân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các

Trang 8

chân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùngcác chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là10bit.[]

2.2.6 Lập trình cho Arduino.

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng Ngôn ngữnày dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung Và Wiring lại là mộtbiến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++

Riêng mình thì gọi nó là “ngôn ngữ Arduino”, và đội ngũ phát triển Arduino cũng gọi

như vậy Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễhiểu Nếu học tốt chương trình Tin học 11 thì việc lập trình Arduino sẽ rất dễ thở đối vớibạn

Để lập trình cho Mạch Arduino, nhà phát triển cung cấp một môi trường lập trình

Arduino được gọi là Arduino IDE (Intergrated Development Environment) như hình

dưới đây.[]

Hình 2.4: Giao diện phầm mềm Arduino IDE []

2.3 Moudule cảm biến màu sắc TCS3200.

Hình 2.5: Moudule cảm biến màu sắc TCS3200 []

Trang 9

2.3.1 Khái niệm chung.

Moudule cảm biến màu sắc TCS3200 được dùng để phân loại màu sắc, cảm ứng vàhiệu chuẩn ánh sang mặt trời, kiểm tra dải đọc, kiểm tra màu sắc phù hợp

2.3.2. Thông số kỹ thuật.

- Điện áp cung cấp: (2.7V đến 5.5V)

- Chuyển đổi từ cường độ ánh sáng sang tần số với độ phân giải cao

- Lập trình lựa chọn bộ lọc màu sắc khác nhau và dạng tần số xuất ra

- Điện năng tiêu thụ thấp Giao tiếp trực tiếp với vi điều khiển.[]

2.3.3. Chức năng chân.

- S0,S1 : Đầu vào chọn tỉ lệ tần số đầu ra

- S2,S3 : Đầu vào chọn kiểu photodiode

- OE : Đầu vào cho phép xuất tần số ở chân OUT

- OUT : Đầu ra là tần số thay đổi phụ thuộc cường độ và màu sắc.[]

Linh kiện điện tử Module cảm biến màu TCS3200 với khả năng nhận biết 3 mầu cơbản RGB và 4 đèn LED trắng Các TCS3200 có thể phát hiện và đo lường gần như tất cảmàu sắc có thể nhìn thấy Ứng dụng bao gồm kiểm tra đọc dải, phân loại theo màu sắc,cảm biến ánh sáng xung quanh và hiệu chuẩn, và kết hợp màu sắc, đó chỉ là một vài ứngdụng TCS3200 có các bộ tách sóng quang, có 2 bộ lọc màu sắc là bộ lọc màu đỏ, xanhdương, hoặc màu xanh lá, hoặc không có bộ lọc ( rõ ràng) Các bộ lọc của mỗi màu đượcphân bố đều khắp các mảng để loại bỏ sai lệch vị trí giữa các điểm màu Bên trong là một

bộ dao động tạo ra đầu ra sóng vuông có tần số là tỷ lệ thuận với cường độ của màu sắclựa chọn

2.3.4. Nguyên lý hoạt động cảm biến mầu của linh kiện điện tử TCS3200.

Cấu tạo cảm biến TCS3200 gồm 2 khối như hình vẽ phía dưới:

Hình 2.6:Cấu tạo cảm biến TCS3200 []

Khối đầu tiên là mảng ma trận 8x8 gồm các photodiode.Bao gồm 16 photodiode cóthể lọc màu sắc xanh dương (Blue),16 photodiode có thể lọc màu đỏ (Red),16 photodiode

có thể lọc màu xanh lá(Green) và 16 photodiode trắng không lọc (Clear).Tất cảphotodiode cùng màu được kết nối song song với nhau ,và được đặt xen kẽ nhau nhằmmục đích chống nhiễu

Trang 10

Bản chất của 4 loại photodiode trên như là các bộ lọc ánh sáng có mầu sắc khác nhau.

Có nghĩa nó chỉ tiếp nhận các ánh sáng có cùng màu với loại photodiode tương ứng vàkhông tiếp nhận các ánh sáng có màu sắc khác.[]

Hình 2.7: nguyên lí làm việc cảm biến TCS3200 []

Việc lựa chọn 4 loại photodiode này thông qua 2 chân đầu vào S2,S3 :

Ta có thể lựa chọn tỉ lệ tần số đầu ra ở các mức khác nhau như bảng trên cho phù hợpvới phần cứng đo tần số

Ví dụ : Tần số khi S0 = H,S1=H - Fout = 500Khz thì:

S0=H,S1=L -Fout=100Khz

S0=L,S1=H -Fout=10Khz

S0=L,S1=L -Fout=0

Trang 11

Ánh sáng trắng là hỗn hợp rất nhiều ánh sáng có bước sóng màu sắc khác nhau Khi ta chiếu ánh sáng trắng vào một vật thể bất kì Tại bề mặt vật thể sẽ xảy ra hiệntượng hấp thụ và phản xạ ánh sáng

Màu sắc bất kì được tổng hợp từ 3 mầu cơ bản Blue, Green, Red :

Hình 2.8: Cách tổng hợp các màu cơ bản []

2.4 WeMos D1 Mini ESP8266

Hình 2.9: WeMos D1 Mini ESP8266 []

2.4.1 Khái niệm chung.

WeMos D1 Mini là board mạch được phát triển dựa trên Module Esp8266-12S, làthiết bị nhỏ gọn được tích hợp Wifi để dễ dàng kết thực hiện các ứng dụng thu thập dữliệu và điều khiển thiết bị thông qua Wifi

WeMos D1 Mini được hỗ trợ để nạp trực tiếp thông qua USB mà không cần thực hiệncác thao tác thủ công (sử dụng nút nhấn reset và flash) như NodeMCU nhằm đơn giảnhóa quá trình làm việc với board mạch

Trang 12

- Giao tiếp: Cable Micro USB

- Nguồn áp: 5V được cung cấp qua cổng Micro USB

- Wifi: 2.4 GHz

- Hỗ trợ bảo mật: WPA/WPA2

- Tích hợp giao thức TCP/IP

- Kích thước: 34.2mmx25.6mm

- Lập trình trên các ngôn ngữ: C/C++, Micropython, NodeMCU – Lua.[]

2.4.3 Sơ đồ chân WeMos D1 Mini ESP8266.

Hình 2.10: Sơ đồ chân WeMos D1 Mini ESP8266 []

2.5 Động cơ RC Servo Futaba S3003.

Trang 13

Hình 2.11: Động cơ RC Servo Futaba S3003 2.5.1 Khái niệm chung.

Động cơ RC Servo Futaba S3003 có các bánh răng được làm bằng nhựa và trọnglượng nhẹ, có cách điều khiển tương tự như các servo phổ biến trên thị trườngMG996,MG995,…,thích hợp cho các ứng dụng chi phí rẻ, trọng lượng nhẹ phù hợp

2.5.2 Thông số kĩ thuật.

- Điện áp hoạt động 4.8 ~ 6.0V

- Xung yêu cầu: xung vuông điện áp đỉnh từ 3 ~ 5V

- Nhiệt độ hoạt động: từ - 20 đến 60oC

- Tốc độ hoạt động (4.8V); 0.23s / 60o khi không tải

- Tốc độ hoạt động (6.0V); 0.19s / 60o khi không tải

- Torque (4.8V): 3.2kg.cm

- Torque (6.0V): 4.1kg.cm- Dòng điện tiêu thụ (4.8V): 7.2mA khi đứng yên

- Dòng điện tiêu thụ (6.0V): 7.2mA khi đứng yên

- Kiểu bánh răng: bánh răng nhựa

- Moudule cảm biến màu sắc TCS3200

- WeMos D1 Mini ESP8266

- 3 động cơ RC Servo Futaba S3003.[]

3.1.2 Phần mềm.

- Phần mềm Arduino IDE

- Phần mềm Autodesk Inventor Professional

Ngày đăng: 15/04/2018, 19:49

TỪ KHÓA LIÊN QUAN

w