1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ MODULE INPUT CHO VI ĐIỀU KHIỂN (ARDUINO)

21 32 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

Nội dung

Với ưu điểm dễ sử dụng, đáp ứng ứng dụng vừa nhỏ mà Arduino vừa dùng cho mục đích nghiên cứu, giảng dạy dùng sản phẩm thương mại Với vai trò vi điều khiển, Arduino dùng để xử lý tín hiệu điện nhận Nhưng có nhiều tín hiệu mà khơng nằm dải xử lý vi điều khiển, tín hiệu công nghiệp, nhận trực tiếp gây hỏng vi điều khiển Do để giao tiếp xử lý tín hiệu ngày, điều cần thiết phải có chuyển đổi riêng biệt giúp chuyển đổi tín hiệu tín hiệu nằm dải cho phép vi điều khiển, nhờ xử lý tín hiệu Và mục đính nhóm em thực đồ án I này, thiết kế module input cho Arduino để giao tiếp với tín hiệu chuẩn cơng nghiệp Nội dung báo cáo gốm phần: I Giới thiệu tín hiệu cơng nghiệp trình bày hướng thiết kế input module Phần đưa nhìn tổng quan tín hiệu chuẩn cơng nghiệp nào, trình bày ý tưởng thiết kế input module nhóm bắt đầu thực đồ án II Chi tiết thiết kế Input Module cho Arduino Phần thể hiển chi tiết q trình nhóm thực việc thiết kế input module từ xây dựng sơ đồ nguyên lý, lựa chọn linh kiện viết code cho Arduino

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG ====o0o==== BÁO CÁO ĐỒ ÁN I ĐỀ TÀI: THIẾT KẾ MODULE INPUT CHO VI ĐIỀU KHIỂN (ARDUINO) Giảng viên hướng dẫn: Th.S Chu Đức Việt Nhóm sinh viên thực hiện: Hồng Bá Đức 20161069 ĐK&TĐH 04 - K61 Lê Thanh Sơn 20163516 ĐK&TĐH 04 - K61 Nguyễn Văn Trưởng 20164301 ĐK&TĐH 05 – K61 Hà Nội - 2019 MỤC LỤC MỞ ĐẦU I Giới thiệu tín hiệu công nghiệp hướng thiết kế input module 1.Giới thiệu tín hiệu cơng nghiệp Hướng thiết kế Input Module II Chi tiết thiết kế Input Module cho Arduino Digital Input Module 1.1 Sơ đồ nguyên lý 1.2 Lựa chọn linh kiện tính tốn 1.3 Code Arduino 10 1.4 Hình ảnh thực tế kết 11 Analog Input Module 13 2.1 Sơ đồ nguyên lý 13 1.2 Lựa chọn linh kiện tính tốn 13 1.3 Code Arduino 17 1.4 Hình ảnh thực tế kết 18 PHẦN KẾT LUẬN 20 TÀI LIỆU THAM KHẢO 21 MỞ ĐẦU Ngày với phát triển ngày nhanh chóng ngành cơng nghiệp, đặc biệt cơng nghiệp 4.0, địi hỏi sinh viên, sau kĩ sư, đặc biệt sinh viên ngành Điều khiển tự động phải trang bị cho nhiều kiến thức để đáp ứng tốt yêu cầu cơng nghiệp, khơng ngừng sáng tạo để tìm giải pháp công nghệ đáp ứng nhu cầu xã hội Hiện Arduino ngày phổ biến rộng rãi, đặc biệt giới sinh viên Với ưu điểm dễ sử dụng, đáp ứng ứng dụng vừa nhỏ mà Arduino vừa dùng cho mục đích nghiên cứu, giảng dạy dùng sản phẩm thương mại Với vai trò vi điều khiển, Arduino dùng để xử lý tín hiệu điện nhận Nhưng có nhiều tín hiệu mà khơng nằm dải xử lý vi điều khiển, tín hiệu công nghiệp, nhận trực tiếp gây hỏng vi điều khiển Do để giao tiếp xử lý tín hiệu ngày, điều cần thiết phải có chuyển đổi riêng biệt giúp chuyển đổi tín hiệu tín hiệu nằm dải cho phép vi điều khiển, nhờ xử lý tín hiệu Và mục đính nhóm em thực đồ án I này, thiết kế module input cho Arduino để giao tiếp với tín hiệu chuẩn cơng nghiệp Nội dung báo cáo gốm phần: I Giới thiệu tín hiệu cơng nghiệp trình bày hướng thiết kế input module Phần đưa nhìn tổng quan tín hiệu chuẩn cơng nghiệp nào, trình bày ý tưởng thiết kế input module nhóm bắt đầu thực đồ án II Chi tiết thiết kế Input Module cho Arduino Phần thể hiển chi tiết q trình nhóm thực việc thiết kế input module từ xây dựng sơ đồ nguyên lý, lựa chọn linh kiện viết code cho Arduino Để hoàn thành đồ án này, nhóm nhận nhiều giúp đỡ mặt kiến thức kinh nghiệm thầy Chu Đức Việt, thầy tận tình giúp đỡ nhóm em suốt q trình làm đồ án Mặc dù nỗ lực cố gắng, song với thời gian hạn chế, đồ án chắn tránh khỏi thiếu sót, mong nhận đóng góp, bảo thầy giáo, giáo Nhóm em xin chân thành cảm ơn! I Giới thiệu tín hiệu cơng nghiệp trình bày hướng thiết kế Input Module Giới thiệu tín hiệu cơng nghiệp Tín hiệu cơng nghiệp xuất phát chủ yếu từ cảm biến công nghiệp, thu phát Tín hiệu cơng nghiệp gồm loại: tín hiệu số tín hiệu tương tự Tín hiệu số: tín hiệu nhị phân có biên độ thường 24 VDC,chủ yếu báo trạng thái đóng/ngắt khóa Tín hiệu tương tự:  Hiện nay, hầu hết hệ thống máy móc cơng nghiệp tự động có sử dụng tín hiệu Analog để thuận tiện q trình điều khiển Dạng tín hiệu sử dụng rộng rãi để thay cho dạng tín hiệu như: nhiệt độ, áp suất, lưu lượng, trọng lượng….Có loại dạng tín hiệu Analog tín hiệu dịng như: – 20 mA, – 20mA tín hiệu áp như: – 5V, – 10V, -5 – 5V… Trong đó, tín hiệu sử dụng công nghiệp nhiều phổ biến – 20 mA – 10V Tín hiệu dòng 4-20mA thấy giá trị Min bắt đầu tín hiệu 4mA giá trị kết thúc tín hiệu 20mA Một cảm biến áp suất có dãy đo 0-100bar có tín hiệu 4-20mA hay cảm biến nhiệt độ có dãy dãy đo 0-100 oC hay cảm biến nhiệt độ có dãy đo 0-1000 oC qua chuyển đổi tín hiệu nhiệt độ đưa tín hiệu 4-20mA Điều cho thấy gần tất tín hiệu đưa tín hiệu chuẩn 4-20mA  Giả sử cảm biến áp suất có dãy đo 0-100 bar tương ứng với tín hiệu 4-20mA giá trị 4mA tương ứng với áp suất không (0), giá trị 100bar đưa tín hiệu 20mA Trong trường hợp cảm biến bị hư hỏng giá trị đưa 3.8mA (theo mặc định số cảm biến) áp suất vượt ngưỡng cho tín hiệu 23mA (theo quy định số hãng lớn giới).Trường hợp bị nguồn tín hiệu đưa 0mA xác định rõ bị ngắn mạch (đứt cable nguồn) Trong trường hợp dùng cảm biến áp suất có tín hiệu 0-10V cảm biến bị hư hỏng hay bị ngắn mạch tín hiệu đưa 0V Việc chuẩn đoán bị ngắn mạch hay cảm biến bị hư hỏng điều khó khăn tốn thời gian nhiều Chúng ta dể nhầm lẫn cảm biến bị hư hỏng cảm biến hoạt động có giá trị không (0) Điều nguy hiểm việc điều khiển tự động hóa  Tín hiệu áp 0-10V bị suy giảm tín hiệu dể bị nhiễu Các tín hiệu analog từ cảm biến đưa cách xa tủ điều khiển trung tâm từ 100m đến 1km chuyện bình thường Trước cảm biến dùng tín hiệu analog 0-10V để truyền PLC, với khoảng cách xa việc sụt áp tín hiệu điều thường thấy tín hiệu Analog dịng 0-10V Một điều biết tín hiệu dịng 0-10V dể bị nhiễu dây động lực sóng hài motor hay biến tần dây tín hiệu ngang qua thiết bị  Tín hiệu dịng 4-20mA bị suy giảm khoảng cách Nguồn dòng hay nguồn cấp dịng tiêu thụ dịng nguồn có tổng trở lớn Chính mà tín hiệu analog dịng 4-20mA bị ảnh hưởng điện trở dây ngoại trừ tổng trở dây dẩn lớn vượt qua ngưỡng cho phép Các tín hiệu làm nhiễu biến tần, sóng hài, motor phát từ trường thường xung điện áp Chính với nguồn tín hiệu nguồn dịng tải tín hiệu lại có điện trở nhỏ, xung nhiễu điện áp gần bị ảnh hưởng  Với ưu điểm đó, hầu hết thực tế có 80% sử dụng tín hiệu dịng – 20mA thay cho tín hiệu analog khác Hướng thiết kế input module cho Arduino Với Arduino, dải điện áp cho phép với tín hiệu số tương tự 0-5VDC, để xử lý tín hiệu ta phải đưa tín hiệu dải điện áp cho phép Arduino Việc thiết kế input module cho Arduino, qua hướng dẫn thầy Chu Đức Việt, với tìm hiểu qua internet, thiết kế input module cho PLC hãng TI, nhóm em hình thành ý tưởng sau:  Với tín hiệu số 24VDC: Nhóm em sử dụng opto quang để vừa cách ly, vừa chuyển đổi dải điện áp từ 24VDC thành 5VDC  Với tín hiệu tương tự 0-10V, 4-20mA: Nhóm em sử dụng ADC để chuyển đồi tín hiệu tương tự thành tín hiệu số với điện áp 5VDC, sau cách ly tín hiệu số sau chuyển đổi opto quang II Chi tiết thiết kế input module cho Arduino Về Arduino sử dụng làm đồ án này, nhóm em sử dụng Arduino Uno R3, sử dụng vi điều khiển ATmega328P Về xử lý tín hiệu số tương tự, nhóm em thực việc đo báo trạng thái LCD Digital Input Module 1.1 Sơ đồ nguyên lý 1.2 Lựa chọn linh kiện tính tốn *Opto coupler PC817 Thơng số: *IC 74HC14, Hex Schmitt-Triggered Inverters Thơng số: *Tính toán: Điện trở R1= Vin−Vf If = 24−1.4 0.01 =2k2 Ω Điện trở kéo lên R2= 5k Ω 1.3 Code Arduino: “ #include // LCD library const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { // put your setup code here, to run once: pinMode(6, INPUT); lcd.begin(16, 2); lcd.print("STATUS:"); } 10 void loop() { // put your main code here, to run repeatedly: lcd.setCursor(0, 1); int status = digitalRead(6); if (status == HIGH) { lcd.print("CLOSE"); delay(100); } else { lcd.print("OPEN"); delay(100); } } ” Code Arduino sử dụng thư viện mẫu LiquidCrystal để thị LCD 16x2, nhận tín hiệu chân D6 Arduino Uno R3 Tín hiệu số hiển thị LCD “CLOSE”, “OPEN” tín hiệu số 1.4 Hình ảnh thực tế kết 11 12 Analog Input Module 2.1 Sơ đồ nguyên lý Nguồn cấp VCC1=5VDC, VCC2=5VDC từ Arduino Dữ liệu sau chuyển đổi ADC ADS1115 truyền qua giao tiếp I2C cách ly nhờ opto quang loại High-Speed 6N137 cho tín hiệu SCL(forward), SDA(forward) SDA(backward) diode Schottky D1, D2 ngăn việc tín hiệu SDA truyền không bị truyền ngược lại Sau cách ly tín hiệu SCL SDA truyền tới chân SCL SDA Arduino 2.2 Lựa chọn linh kiện tính tốn *ADC ADS1115 Thơng số: 13 14 *Opto coupler 6N137 Thông số: 15 *Schottky diode 1N5819 Thơng số: *Tính tốn:  Mạch phân áp sử dụng điện trở R1=R2=10k Ω để chia đôi điện áp tín hiệu đầu vào 0-10V  Tín hiệu 4-20mA đưa qua điện trở R3=200 Ω để điện áp rơi R3 0.84V  Các tụ điện để lọc nguồn C1=C2=C3=C4= 0.1 µF  Điện trở kéo R4=R7=10k Ω R5=R6=R10=R11=1k5 Ω  Điện trở R8=R9= VCC1−Vf If = 5−1.35 0.01 =365 Ω 16 𝑉𝐶𝐶2−𝑉𝑓 R12= 𝐼𝑓 = 5−1.35 0.01 = 365 Ω 2.3 Code Arduino “ #include #include #include Adafruit_ADS1115 ads; /* Use this for the 16-bit version */ const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup(void) { lcd.begin(16, 2); // For 0-10V signal: lcd.print("Values(mV):"); // For 4-20mA signal: //lcd.print(“Values(mA):”); //ADS1115 ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain +/- 6.144V bit = 0.1875mV ads.begin(); } 17 void loop(void) { lcd.setCursor(0, 1); int16_t values; /* Be sure to update this value based on the IC and the gain settings! */ // For 0-10V signal: float multiplier = 0.375F; /* ADS1115 @ +/- 6.144V gain (16-bit results) */ values = ads.readADC_Differential_0_1(); lcd.print(values * multiplier); /*// For 4-20mA signal: float multiplier = 0.1875F values = ads.readADC_Differential_2_3(); lcd.print(values * multiplier/200);*/ delay(1000); } ” Code Arduino sử dụng thư viện có sẵn Adafruit_ADS1015 để xử lý liệu từ ADC ADS1115, thư viện LiquidCrystal để hiển thị giá trị tín hiệu LCD 2.4 Hình ảnh thực tế kết 18 19 KẾT LUẬN Nhóm em hồn thành việc thiết kế input module cho Arduino, với chi tiết trình thực trình bày báo cáo Trong trình thực đồ án này, nhóm em tìm hiểu học hỏi thêm nhiều kiến thức từ việc tự tìm hiểu từ chia sẻ, hướng dẫn thầy Chu Đức Việt Song thời gian nhóm dành cho đồ án không nhiều, việc lần đầu làm đồ án, nên nhóm cịn gặp nhiều khó khăn Nhóm nhận thấy input module nhóm thiết kế đơn giản nhiều hạn chế thiếu sót Nhóm đề xuất việc cách ly tín hiệu với vi điều khiển có thử sử dụng khuếch đại cách ly, IC ISO1541 chuyên dụng cho việc cách ly tín hiệu I2C, để đơn giản, thuận tiện dễ sử dụng Các input module cần thiết sử dụng vi điều khiển Việc thực đồ án mang lại cho nhóm nhiều kiến thức bổ ích hữu dụng cho việc học tập làm việc sau Nhóm em xin gửi lời cảm ơn tới thầy Chu Đức Việc hướng dẫn nhóm q trình thực đồ án Nhóm em mong muốn nhận thêm ý kiến, góp ý đến từ thầy Chúng em xin chân thành cảm ơn! 20 TÀI LIỆU THAM KHẢO [1] Michael Margolis, Arduino Cookbook, O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, 2011 [2] Simon Monk, 30 Arduino Projects for the Evil Genius, The McGraw-Hill Companies, 2010 [3] Datasheet ATmega328P, Microchip Technology Incorporated [4] Datasheet PC817, Sharp [5] Datasheet 6N137, Vishay [6] Datasheet ADS1115, Texas Instruments [7] Datasheet 74HC14, Diodes Incorporated [8] Datasheet 1N5819, Micro Commercial Components 21 ... nghiệp hướng thiết kế input module 1.Giới thiệu tín hiệu cơng nghiệp Hướng thiết kế Input Module II Chi tiết thiết kế Input Module cho Arduino Digital Input Module ... bày hướng thiết kế input module Phần đưa nhìn tổng quan tín hiệu chuẩn cơng nghiệp nào, trình bày ý tưởng thiết kế input module nhóm bắt đầu thực đồ án II Chi tiết thiết kế Input Module cho Arduino... hiệu dải điện áp cho phép Arduino Vi? ??c thiết kế input module cho Arduino, qua hướng dẫn thầy Chu Đức Vi? ??t, với tìm hiểu qua internet, thiết kế input module cho PLC hãng TI, nhóm em hình thành

Ngày đăng: 15/12/2021, 17:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w