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
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Giảng viên hướng dẫn: Th.S Chu Đức Việt
Nhóm sinh viên thực hiện:
Hoà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
Trang 2MỤC LỤC
MỞ ĐẦU 3
I Giới thiệu về tín hiệu trong công nghiệp và hướng thiết kế input module 5
1.Giới thiệu về tín hiệu trong công nghiệp 5
2 Hướng thiết kế Input Module 6
II Chi tiết thiết kế Input Module cho Arduino 8
1 Digital Input Module 8
1.1 Sơ đồ nguyên lý 8
1.2 Lựa chọn linh kiện và tính toán 8
1.3 Code Arduino 10
1.4 Hình ảnh thực tế và kết quả 11
2 Analog Input Module 13
2.1 Sơ đồ nguyên lý 13
1.2 Lựa chọn linh kiện và tính toán 13
1.3 Code Arduino 17
1.4 Hình ảnh thực tế và kết quả 18
PHẦN KẾT LUẬN 20
TÀI LIỆU THAM KHẢO 21
Trang 3MỞ ĐẦU
Ngày nay với sự phát triển ngày càng nhanh chóng của ngành công nghiệp, đặc biệt là công nghiệp 4.0, đòi hỏi những sinh viên, sau này sẽ là những kĩ sư, đặc biệt là sinh viên ngành Điều khiển tự động phải trang bị cho mình rất nhiều kiến thức
để đáp ứng tốt được những yêu cầu của nền công nghiệp, và không ngừng sáng tạo
để tìm ra những giải pháp công nghệ mới đáp ứng nhu cầu của xã hội
Hiện nay Arduino ngày càng được phổ biến rộng rãi, đặc biệt là trong giới sinh viên Với ưu điểm dễ sử dụng, có thể đáp ứng được các ứng dụng vừa và nhỏ mà Arduino có thể vừa dùng cho các mục đích nghiên cứu, giảng dạy cũng như dùng trong các sản phẩm thương mại Với vai trò là các bộ vi điều khiển, Arduino dùng để
xử lý các tín hiệu điện nhận được Nhưng có rất nhiều tín hiệu mà không nằm trong dải xử lý của vi điều khiển, như những tín hiệu trong công nghiệp, nếu nhận trực tiếp
sẽ gây ra hỏng vi điều khiển Do vậy để có thể giao tiếp cũng như xử lý các tín hiệu ngày, điều cần thiết là phải có những bộ chuyển đổi riêng biệt giúp chuyển đổi những tín hiệu này về những tín hiệu nằm trong dải cho phép của vi điều khiển, nhờ đó có thể xử lý tín hiệu Và đó cũng chính là mục đính chính của nhóm em khi thực hiện
đồ án I này, là thiết kế được một module input cho Arduino để giao tiếp với các tín hiệu chuẩn công nghiệp
Nội dung chính của bản báo cáo này gốm 2 phần:
I Giới thiệu về tín hiệu trong công nghiệp và trình bày hướng thiết kế input module Phần này đưa ra một cái nhìn tổng quan về tín hiệu chuẩn công nghiệp là như thế nào, và trình bày ý tưởng thiết kế input module của nhóm khi bắt đầu thực hiện đồ án
II Chi tiết thiết kế Input Module cho Arduino Phần này thể hiển chi tiết quá trình nhóm thực hiện việc thiết kế input module từ xây dựng sơ đồ nguyên lý, lựa chọn các linh kiện và viết code cho Arduino
Trang 4Để hoàn thành được đồ án này, nhóm đã nhận được rất nhiều sự giúp đỡ về mặt kiến thức cũng như kinh nghiệm của thầy Chu Đức Việt, thầy đã tận tình giúp đỡ nhóm em trong suốt quá trình làm đồ án
Mặc dù đã nỗ lực cố gắng, song với thời gian hạn chế, quyển đồ án chắc chắn không thể tránh khỏi thiếu sót, rất mong nhận được sự đóng góp, chỉ bảo của thầy giáo, cô giáo
Nhóm em xin chân thành cảm ơn!
Trang 5I Giới thiệu về tín hiệu trong công nghiệp và trình bày hướng thiết kế Input Module
1 Giới thiệu về tín hiệu trong công nghiệp
Tín hiệu trong công nghiệp xuất phát chủ yếu từ các cảm biến công nghiệp, các bộ thu phát Tín hiệu trong công nghiệp gồm 2 loại: tín hiệu số và tín hiệu tương
tự
Tín hiệu số: là tín hiệu nhị phân có biên độ thường 24 VDC,chủ yếu là báo
trạng thái đóng/ngắt của các khóa
Tín hiệu tương tự:
Hiện nay, hầu hết các hệ thống máy móc trong công nghiệp tự động đều có sử dụng tín hiệu Analog để thuận tiện hơn trong quá trình điều khiển Dạng tín hiệu này được sử dụng rộng rãi để thay thế cho những dạng tín hiệu như: nhiệt độ, áp suất, lưu lượng, trọng lượng….Có 2 loại dạng tín hiệu Analog là tín hiệu dòng như: 0 – 20 mA, 4 – 20mA và tín hiệu áp như: 0 – 5V, 0 – 10V, -5 – 5V… Trong
đó, 2 tín hiệu được sử dụng trong công nghiệp nhiều và phổ biến nhất hiện nay
là 4 – 20 mA và 0 – 10V Tín hiệu dòng 4-20mA chúng ta thấy giá trị Min bắt đầu của tín hiệu là 4mA và giá trị kết thúc của tín hiệu là 20mA Một cảm biến
áp suất có dãy đo 0-100bar có tín hiệu về là 4-20mA hay một 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 bộ chuyển đổi tín hiệu nhiệt độ cũng chỉ đưa tín hiệu về 4-20mA Điều này cho chúng ta thấy gần như tất cả các tín hiệu đều đưa về 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 thì giá trị 4mA tương ứng với áp suất bằng không (0), tại giá trị 100bar sẽ đưa về tín hiệu 20mA Trong trường hợp cảm biến bị hư hỏng giá trị đưa về sẽ là 3.8mA (theo mặc định một số cảm biến) hoặc khi áp suất vượt ngưỡng sẽ cho ra tín hiệu 23mA (theo quy định của một số hãng lớn trên thế giới).Trường hợp bị mất
Trang 6nguồn tín hiệu đưa về 0mA chúng ta xác định rõ đây là bị ngắn mạch (đứt cable hoặc mất nguồn) Trong trường hợp này nếu chúng ta dùng cảm biến áp suất có tín hiệu 0-10V thì khi cảm biến bị hư hỏng hay bị ngắn mạch thì tín hiệu đưa về đều là 0V Việc chuẩn đoán bị ngắn mạch hay cảm biến bị hư hỏng là một điều khó khăn và tốn thời gian hơn rất nhiều Chúng ta rất dể nhầm lẫn giữa cảm biến
bị hư hỏng và cảm biến đang hoạt động nhưng có giá trị là không (0) Điều này rất nguy hiểm trong 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 và dể bị nhiễu Các tín hiệu analog từ các cảm biến đưa về có thể cách xa tủ điều khiển trung tâm từ 100m đến 1km là chuyện rất bình thường Trước kia các cảm biến dùng tín hiệu analog 0-10V để truyền về PLC, với khoảng cách xa như vậy việc sụt áp tín hiệu là điều thường thấy trên các tín hiệu Analog dòng 0-10V Một điều ít ai biết nữa chính là tín hiệu dòng 0-10V rất dể bị nhiễu bởi các dây động lực hoặc sóng hài hoặc motor hay biến tần khi dây tín hiệu đi ngang qua các thiết bị này
Tín hiệu dòng 4-20mA ít bị suy giảm bởi khoảng cách Nguồn dòng hay nguồn cấp dòng hoặc tiêu thụ dòng là nguồn có tổng trở rất lớn Chính vì thế mà tín hiệu analog dòng 4-20mA ít bị ảnh hưởng bởi điện trở của dây ngoại trừ tổng trở của dây dẩn quá lớn vượt qua ngưỡng cho phép Các tín hiệu làm nhiễu như biến tần, sóng hài, motor phát ra từ trường thường là xung điện áp Chính vì thế với nguồn tín hiệu là nguồn dòng và tải tín hiệu lại có điện trở nhỏ, các xung nhiễu điện áp gần như ít bị ảnh hưởng
Với những ưu điểm đó, hầu hết trong thực tế có hơn 80% đều sử dụng tín hiệu dòng 4 – 20mA thay cho những tín hiệu analog khác
2 Hướng thiết kế input module cho Arduino
Với Arduino, dải điện áp cho phép với cả tín hiệu số và tương tự là 0-5VDC,
do vậy để có thể xử lý các tín hiệu này ta phải đưa những tín hiệu đó về trong dải điện
áp cho phép của Arduino Việc thiết kế input module cho Arduino, qua những hướng
Trang 7dẫn của thầy Chu Đức Việt, cùng với sự tìm hiểu qua internet, những thiết kế input module cho PLC của các hãng như TI, nhóm em đã hình thành ý tưởng như sau:
Với tín hiệu số 24VDC: Nhóm em sử dụng opto quang để vừa cách ly, vừa
có thể 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 đó mới cách ly tín hiệu số sau chuyển đổi bằng opto quang
Trang 8II Chi tiết thiết kế input module cho Arduino
Về Arduino sử dụng khi 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ý các tín hiệu số và tương tự, nhóm em mới chỉ thực hiện việc đo và báo trạng thái trên LCD
1 Digital Input Module
1.1 Sơ đồ nguyên lý
1.2 Lựa chọn linh kiện và tính toán
*Opto coupler PC817
Thông số:
Trang 9*IC 74HC14, Hex Schmitt-Triggered Inverters
Thông số:
Trang 10*Tính toán:
Điện trở R1=Vin−Vf
0.01 =2k2 Ω Điện trở kéo lên R2= 5k Ω
Trang 132 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 của ADC ADS1115 được truyền đi qua giao tiếp I2C
và được cách ly nhờ 3 opto quang loại High-Speed 6N137 cho 3 tín hiệu SCL(forward), SDA(forward) và SDA(backward) 2 diode Schottky D1, D2 ngăn việc tín hiệu SDA truyền đi không bị truyền ngược lại Sau khi được cách ly 2 tín hiệu SCL và SDA mới được truyền tới 2 chân SCL và SDA của Arduino
2.2 Lựa chọn linh kiện và tính toán
*ADC ADS1115
Thông số:
Trang 15*Opto coupler 6N137
Thông số:
Trang 18Code Arduino sử dụng thư viện có sẵn Adafruit_ADS1015 để xử lý dữ liệu
từ ADC ADS1115, và thư viện LiquidCrystal để hiển thị giá trị tín hiệu trên LCD
2.4 Hình ảnh thực tế và kết quả
Trang 20KẾT LUẬN
Nhóm em đã cơ bản hoàn thành việc thiết kế input module cho Arduino, với chi tiết quá trình thực hiện được trình bày trong bản báo cáo này Trong quá trình thực hiện đồ án này, nhóm em đã được tìm hiểu và học hỏi thêm nhiều kiến thức mới
từ việc tự tìm hiểu cũng như từ sự chia sẻ, hướng dẫn của thầy Chu Đức Việt Song thời gian nhóm dành cho đồ án này không được nhiều, cũng như 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 của nhóm thiết
kế vẫn khá còn đơn giản và còn nhiều hạn chế và 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, như IC ISO1541 chuyên dụng cho việc cách ly tín hiệu I2C, để đơn giản, thuận tiện và dễ sử dụng hơn
Các input module rất cần thiết khi sử dụng vi điều khiển Việc thực hiện đồ
án này đã 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 cũng như làm việc sau này
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 trong quá trình thực hiện đồ án này Nhóm em mong muốn nhận thêm những ý kiến, góp ý đến từ thầy
Chúng em xin chân thành cảm ơn!
Trang 21TÀ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