Cảm biến có khả năng nhận biết vật cản ở mơi trường với một cặp LED thu phát hồng ngoại để truyền và nhận dữ liệu hồng ngoại. Tia hồng ngoại phát ra với tần số nhất định, khi có vật cản trên đường truyền của LED phát nó sẽ phản xạ vào LED thu hồng ngoại, khi đó LED báo vật cản trên module sẽ sáng, khơng khơng có vật cản, LED sẽ tắt.
a. Giới thiệu
Cảm biến vật cản hồng ngoại E3F-DS30C4 dùng ánh sáng hồng ngoại để xác định khoảng cách tới vật cản cho độ phản hồi nhanh và rất ít nhiễu do sử dụng mắt nhận và phát tia hồng ngoại theo tần số riêng biệt. Cảm biến có thể chỉnh khoảng cách báo mong muốn thông qua biến trở, ngõ ra cảm biến ở dạng cực thu hở.
Hình 1.13 Cảm biến vật cản hồng ngoại E3F-DS30C4
b. đặc điểm
Thông số kỹ thuật:
o Ngõ ra dạng NPN cực thu hở giúp tùy biến điện áp ngõ ra, trở treo lên áp bao nhiêu sẽ tạo thành điện áp ngõ ra bấy nhiêu.
o Khi khơng có vật cản chân tín hiệu xuất ra mức High (ứng với Vcc), khi có vật cản sẽ xuất ra mức LOW (0V).
o Nguồn cung cấp: 6-36VDC. o Khoảng cách phát hiện: 5-30cm.
o Có thể điều chỉnh khoảng cách phát hiện qua biến trở. o Có led hiển thị ngõ ra.
o Dịng kích ngõ ra: 300mA. o Chất liệu sản phẩm: nhựa o Kích thước 1.8cm x 7.0cm o Sơ đồ dây:
Nâu: Vcc
Đen: Chân tín hiệu ngõ ra cực thu hở NPN Xanh dương: GND
c. Giao tiếp với PLC.
Để thuận lợi cho chương trình viết trước nên ta dùng một Relay kích highlow. 1.8 Một số linh kiện khác 1.8.1 Động cơ DC Hình 1.14 Motor RS775 / Động cơ 12V-24V Thông số kỹ thuật o Điện áp định mức: 12V
o Dịng tối đa: 3.25A
o Tốc độ khơng tải: 4500v/p o Đường kính motor: 42mm o Chiều dài motor: 66.5mm o Chiều dài trục motor: 16mm o Đường kính trục motor: 5mm o Trọng lượng: 350g
1.8.2 Nút nhấn
Hình 1.15 Nút nhấn
Thơng số kỹ thuật:
Số tiếp điểm: 1 NO + 1 NC (một tiếp điểm thường mở và một tiếp điểm thường đóng).
Dịng định mức: 10A
Điện áp định mức: 382VAC 50Hz, 220VDC Tuổi thọ cơ học: > 5 triệu lần
Chất liệu vỏ: nhựa chống cháy ở nhiệt độ cao.
1.8.3 Đèn báo
Đèn báo dùng để biểu thị trạng thái của mơ hình cũng như chế độ mơ hình đang hoạt động.
Hình 1.16. Đèn báo pha
1.8.4 MCB
MCB đóng vai trị đóng ngắt điện cho tồn hệ thống
Hình 1.17 MCB
1.8.5 Nguồn tổ ong
Hình 1.18 Nguồn tổ ong 24VDC
Thông số kỹ thuật:
o Công suất: 250W
o Đầu vào: 110VAC – 220VAC o Đầu ra: 3 cặp 24V (5A)
CHƯƠNG 2 TÍNH TỐN VÀ THIẾT KẾ. 2.1 Mơ hình hệ thống
2.1.1 Giới thiệu về hệ thống
Hệ thống phân loại sẽ thực hiện nhận biết màu sắc của sản phẩm ở đầu vào sau đó truyền tín hiệu màu đã qua lý đến khối xử lý để thực hiện công đoạn phân loại.
Hình 2.1 Mơ hình tổng quan hệ thống
2.1.2 Chức năng từng thành phần
Xử lý màu sắc: xử lý tín hiệu nhận được từ cảm biến màu sắc và tạo ra tín hiệu đưa về PLC để thực hiện các tác vụ khác.
Phân loại sản phẩm: nhận tín hiệu từ khối xử lý màu sắc thực hiện các thao tác phân loại sản phẩm theo yêu cầu.
2.2 Tính tốn và thiết kế hệ thống
2.2.1 Thiết kế sơ đồ khối hệ thống
Hình 2.2 Sơ đồ khối hệ thống
Chức năng của các khối:
Khối xử lý màu sắc: Có chức năng xử lý tín hiệu từ cảm biến màu
sắc và gửi tín hiệu vào khối xử lý trung tâm.
Khối cảm biến: là các cảm biến nhận biết vật cản. có chức năng
nhận diện sản phẩm khi chạy qua trên băng tải.
Khối băng chuyền: Có chức năng tải sản phẩm đến các khu vực
xử lý khác trong hệ thống.
Khối hệ động cơ servo: có chức năng loại bỏ sản phẩm ra khỏi
băng chuyền.
Khối xử lý trung tâm: Có chức năng nhận, xử lí thơng tin, điều
khiển các khối khác.
2.2.2 Tính tốn và thiết kế các khối
a. Khối xử lý màu sắc:
Sử dụng cảm biến màu sắc TCS để nhận biết màu sắc của sản phẩm. Như đã đề cập ở chương 2, sơ đồ nối dây giữa cảm biến với Arduino như sau
Hình 2.3 Sơ đồ kết nối cảm biến TCS3200 với Arduino
Khi cảm biến phát hiện sản phẩm màu xanh Arduino sẽ cho chân 2 lên HIGH (5V), tương tự như vậy với sản phẩm màu đỏ tương ứng với chân 8. Vì PLC nhận tín hiệu vào là 24VDC nên chân 2 và 8 cần phải đấu vào Relay để lấy tín hiệu kích 24VDC. Sơ đồ đấu như sau:
Hình 2.4 Sơ đồ kết nối giữa Arduino và Relay vào PLC
b. Khối cảm biến phát hiện vận cản
Nhận biết có sản phẩm đến và phân loại
Hiện nay có rất nhiều cảm biến phát hiện vật cản, nhưng để thuận lợi cho chi phí thi cơng cũng như viết chương trình chúng em đã chọn cảm biến E3F-DS30C4.
c. Khối băng chuyền
Là khối trực tiếp đưa sản phẩm tới khâu phân loại cũng như là dán nhãn. Khối này sử dụng động cơ 24VDC.
Hình 2.5 Sơ đồ kết nối động cơ với PLC
d. Khối hệ thống điều động cơ servo
Hệ thống điều khiển động cơ servo có nhiệm vụ đưa sản phẩm ra khỏi băng chuyền (nhiệm vụ phân loại).
Hình 2.6 Cấu tạo động cơ servo
Trên thị trường hiện nay có rất nhiều loại động cơ servo với kích thước và cơng dụng khác nhau, nhưng với mục đích đơn giản trong đề tài chúng em đã quyết định chọn động cơ servo 1 chiều SG90
Hình 2.7 động cơ Servo 1 chiều Sg 90.
Để điều khiển được động cơ servo chúng em đã sử dụng luôn bo mạch Arduino. Sơ đồ kết nối chân như sau:
STT Arduino Servo
1 9 PWM_servo1
2 10 PWM_servo2
3 3,3V VCC
4 GND GND
Hình 2.8 Sơ đồ kết nối động cơ Servo
e. Khối xử lí trung tâm
Khối xử lí trung tâm sẽ thực hiện đọc thơng tin từ cảm biến phát hiện vật cản, đọc tín hiệu từ khối cảm biến màu sắc và xuất tín hiệu điều khiển ở ngõ ra để thực hiện công tác phân loại cũng như biểu diễn vào trong chương trình giám sát. Ở đây khối xử lý trung tâm là PLC S7 – 200. Ở đây chúng em sử dụng CPU 224 AC/DC/RL.
Hình 2.9 PLC S7 - 200 CPU 224 AC/DC/Relay
Với nguồn cấp cho PLC là nguồn 220V AC – 50Hz, ngõ vào 24V DC, ngõ ra là Relay.
f. Khối nguồn
Trong khối nguồn ta cần dùng nguồn AC và DC, tuy nhiên nguồn AC thì ta sẽ lấy trực tiếp từ lưới điện để cấp cho khối xử lý trung tâm (đấu qua MCCB), còn nguồn DC (dùng cho các cảm biến màu sắc và các ngoại vi khác) ta dùng nguồn tổ ong (nguồn 24VDC) để mơ hình được đẹp mắt trong việc đi dây cũng như đấu nối.
Hình 2.10 Nguồn 24VDC
2.2.3 Sơ đồ kết nối PLC với tồn hệ thống.
Hình 2.12 Sơ đồ kết nối đầu ra
CHƯƠNG 3 THI CƠNG HỆ THỐNG 3.1 Giới thiệu
Sau khi tính tốn và thiết kế dựa trên sơ đồ khối, nhóm đã thi cơng phần mơ hình tồn hệ thống bao gồm băng chuyền vận chuyển sản phẩm, khối cảm biến màu sắc lắp ráp hệ thống điện cho hệ thống, viết chương trình điều khiển
3.2 Thi cơng hệ thống.
Ở phần này Arduino UNO R3 được sử dụng để xử lý tín hiệu của cảm biến màu sắc và gửi tín hiệu về PLC, PLC sẽ thực hiện lấy tín hiệu màu đã qua xử lý để đưa ra các tác vụ hợp lý cho hệ thống.
3.2.1 Lưu đồ giải thuật
Lưu đồ là một loại sơ đồ biểu diễn thuật tốn hoặc một q trình, biểu hiện các bước cơng việc dưới dạng các loại hình hộp khác nhau theo thứ tự được biểu diễn bởi các mũi tên. Sơ đồ này có thể thể hiện giải pháp cho vấn đề giải quyết từng bước từng bước một.
Hình 3.1 Lưu đồ thuật tốn chương trình chính
Hình 3.2 Lưu đồ thuật tốn khối xử lí màu sắc
Khối xử lí màu sắc hoạt động độc lập khơng dựa trên các khối khác, nhưng có ý nghĩa quan trọng trong việc quyết định sản phẩm phân loại.
3.2.2 Phần mềm lập trình cho vi điều khiển (Arduino UNO R3)
Trong đề tài này, mình đã sử dụng phần mềm ARDUINO IDE vì nó tiện lợi và phổ biến.
Hướng đẫn sử dụng Arduino IDE
- Bước 1: Mở chương trình Arduino IDE, Giao hiện cơ bản như hình.
Hình 3.3 Giao diện Arduino IDE
- Bước 2: Sau khi mở Arduino IDE lên, đầu tiên ta cần phải tạo một dự án mới bằng cách nhấn tổ hợp phím Ctrl + N hoặc vào File ➝ New.
Hình 3.4 Tạo chương trình mới trên Arduino IDE
- Bước 3: Ta tiến hành viết chương trình cho khối cảm biến màu sắc như sau.
- Bước 3: Sau khi hồn tất việc lập trình, ta tiến hành biên dịch bằng cách nhấn vào Verify.
Hình 3.5 Biên dịch chương trình trong Arduino IDE
- Bước 4: Ta tiến hành cắm board Arduino UNO R3 vào máy tính, kiểm tra Arduino IDE đã kết nối đúng Port chưa bằng cách vào Tools ➝ Port rồi chọn Port tương ứng, tương tự ta tại mục Tools ta chọn Board Arduino tương ứng (của mình là Arduino UNO).
Hình 3.6 Chọn Ports cho Arduino
- Bước 5: Ta tiến hành nạp chương trình vào Board bằng cách nhấn Upload.
Hình 3.7 Đổ chương trình vào Arduino
Chương trình điều khiển Arduino: #include <Servo.h>
Servo servo1; Servo servo2; int rl1 = 2; int rl2 = 8;
int gLED = 10; int bLED = 11; int pl1 = 12; int pl2 = 11; #define S0 4 #define S1 5 #define S2 6 #define S3 7 #define sensorOut A5 int PW = 0; int colour=0; void setup() { servo1.attach(9); servo2.attach(10); pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(sensorOut, INPUT);
// Setting frequency scaling to 20% digitalWrite(S0, HIGH); digitalWrite(S1, LOW); Serial.begin(9600); pinMode(rl1,OUTPUT); pinMode(rl2,OUTPUT); pinMode(pl1,INPUT_PULLUP); pinMode(pl2,INPUT_PULLUP); digitalWrite(rl1,HIGH); digitalWrite(rl2,HIGH); servo1.write(160); servo2.write(160); } void loop() { int st1= digitalRead(pl1); int st2 = digitalRead(pl2); if(st1==0) servo1.write(80); else servo1.write(160); if(st2==0) servo2.write(80);
else servo2.write(160); readColour(); } int readColour() { digitalWrite(S2, LOW); digitalWrite(S3, LOW);
PW = pulseIn(sensorOut, LOW); // Reading the output pulse width int R = PW;
// Printing the value on the serial monitor Serial.print("R = "); //printing name
Serial.print(PW); //printing RED color pulse width Serial.print(" ");
delay(50);
// Setting Green photodiodes to be read digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
PW = pulseIn(sensorOut, LOW); // Reading the output pulse width int G = PW;
// Printing the value on the serial monitor Serial.print("G = "); //printing name
Serial.print(PW); //printing GREEN color pulse width Serial.print(" ");
delay(50);
// Setting Blue photodiodes to be read digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
PW = pulseIn(sensorOut, LOW); // Reading the output pulse width int B = PW;
// Printing the value on the serial monitor Serial.print("B = "); //printing name
Serial.print(PW); //printing BLUE color pulse width Serial.print(" colour: ");
Serial.print(" "); Serial.println(" "); delay(500);
if(R < 160 && R > 98 && G < 280 && G> 189 && B < 230 && B > 165 ) /************sua gia tri mau do*******************/
{
Serial.println("RED"); digitalWrite(rl1,LOW); delay(1000);
else digitalWrite(rl1,HIGH);
if(R < 80 && R > 113 && G < 120 && G > 77 && B < 142 && B > 101) {
Serial.println("YEALLOW"); }
if (R < 254 && R > 147 && G < 247 && G > 128 && B < 172 && B > 82) /***********sua gia tri mau xanh********************/
{ Serial.println("BLUE"); digitalWrite(rl2,LOW); delay(1000); } else digitalWrite(rl2,HIGH); } 3.2.3 Phần mềm lập trình cho PLC
a. Giới thiệu phần mềm lập trình cho S7 200 step 7 microwin
Để có thể soạn thảo chương trình cho các PLC S7-200, chúng ta dùng phần mềm Step7 MicroWin. Và cũng giống như PLC của các hãng khác, chúng ta có 3 dạng soạn thảo thơng dụng là dạng LAD, FBD và STL. Việc chọn dạng soạn thảo nào để viết chương trình điều khiển là do người dùng tùy chọn.
Ở dạng soạn thảo này chương trình được hiển thị gần giống như sơ đồ nối dây một mạch trang bị điện dùng các relay và contactor. Chúng ta xem như có một dịng điện từ một nguồn điện chạy qua một chuỗi các tiếp điểm logic ngõ vào từ trái qua phải để tới ngõ ra. Chương trình điều khiển được chia ra làm nhiều Network, mỗi một Network thực hiện một nhiệm vụ nhỏ và cụ thể. Các Network được xử lý lần lượt từ trên xuống dưới và từ trái sang phải.
Các phần tử chủ yếu dùng trong dạng soạn thảo này là:
+ Dạng soạn thảo này có một số ưu điểm:
+ Dễ dàng cho những người mới bắt đầu lập trình + Biểu diễn dạng đồ họa dễ hiểu và thơng dụng + Ln ln có thể chuyển từ dạng STL sang LAD
- Dạng khối chức năng : FBD (Function Block Diagram)
Dạng soạn thảo FBD hiển thị chương trình ở dạng đồ họa tương tự như sơ đồ các cổng logic. FBD không sử dụng khái niệm đường nguồn cung cấp trái và phải; do đó khái niệm “dịng điện” khơng được sử dụng. Thay vào đó là logic ”1”. Khơng có tiếp điểm và cuộn dây như ở dạng LAD, nhưng có các cổng logic và các hộp chức năng. Các cổng logic như AND, OR, XOR…sẽ tương ứng với các tiếp điểm logic nối tiếp hay song song…
Ví dụ:
Đầu ra của các cổng logic hay hộp chức năng có thể được sử dụng để nối tiếp với đầu vào của các cổng logic hay các hộp chức năng khác. Với dạng soạn thảo này có một số điểm chính sau:
Biểu diễn ở dạng đồ họa các cổng chức năng giúp chúng ta dễ đọc hiểu theo trình tự điều khiển.
- Dạng liệt kê lệnh : STL (StaTementList)
Đây là dạng soạn thảo chương trình dạng tập hợp các câu lệnh. Người dùng phải nhập các câu lệnh từ bàn phím, giữa lệnh và tốn hạng (tốn hạng có thể là địa chỉ, dữ liệu) có khoảng trắng và mỗi lệnh chiếm một hàng. Ở dạng soạn thảo này sẽ có một số chức năng mà ở dạng soạn thảo LAD hay FBD khơng có.
Dạng sọan thảo này có một số điểm chính:
+ Là dạng sọan thảo phù hợp cho những người có kinh nghiệm lập trình PLC.
+ STL cho phép giải quyết một số vấn đề mà đơi khi khó khăn khi dùng LAD hoặc FBD.
+ Ln ln có thể chuyển từ dạng LAD hay FBD về dạng STL nhưng khi chuyển ngược lại từ STL sang LAD hay FBD sẽ có một số phần tử chương trình khơng chuyển được.
- Mở màn hình soạn thảo chương trình
Để mở STEP 7–Micro/WIN, nhấp đúp chuột vào biểu tượng STEP 7- Micro/WIN trên màn hình desktop, hoặc chọn Start > SIMATIC > STEP 7 MicroWIN V4.0. Giao diện màn hình có dạng (hình 6.1).
+ Vùng soạn thảo chương trình: Vùng soạn thảo chương trình chứa chương trình và bảng khai báo biến cục bộ của khối chương trình đang được mở. Chương trình con (viết tắt là SUB) và chương trình ngắt (viết tắt là INT) xuất hiện ở cuối cửa sổ soạn thảo chương trình. Tùy thuộc vào việc nhấp chuột ở mục nào mà cửa sổ màn hình soạn thảo chương trình tương ứng sẽ được mở.
Cây lệnh hiển thị tất cả các đối tượng của dự án và các lệnh để viết chương trình điều khiển. Có thể sử dụng phương pháp “drag and drop” (kéo và thả) từng lệnh riêng từ cửa sổ cây lệnh vào chương trình, hay nhấp đúp chuột vào một lệnh mà muốn chèn nó vào vị trí con trỏ ở màn hình soạn thảo chương trình.
- Thanh chức năng
Thanh chức năng chứa một hóm các biểu tượng để truy cập các đặc điểm chương trình khác nhau của STEP 7–Micro/WIN.
Program Block:
Nhắp đúp chuột vào biểu tượng này để mở ra cửa sổ soạn thảo các