Để đo được giá trị dòng điện từ cảm biến dòng Hall kẹp, phải kẹp cảm biến vào 1 dây đơn (như hình bên trái). Nếu đặt như hình bên phải thì dịng đo được sẽ bằng khơng do được tính bằng tổng dịng của 2 hướng đối nghịch.
Tính trở hạn dịng cho led đơn với điện áp ngõ ra của Arduino Nano là 5V: Led đơn hoạt động ở mức dòng điện từ 10 – 20mA, điện áp từ 1.8 – 3V. Chọn điện áp hoạt động cho led là 3V và dịng là 10mA thì:
Giá trị điện trở hạn dịng được tính như sau: Rℎℎℎℎℎℎℎℎℎℎℎℎℎℎℎ = ��� �− Uled = 5−
3 = 320(Ω) (3.4)
Iled
Sơ đồ ngun lý khối đo dịng điện:
10x10−3
CHƯƠNG 3. TÍNH TỐN VÀ THIẾT KẾ
68
Cảm biến điện áp
ZMPT101BKhối xử lý dữ liệu từ cảm biến (đọc và truyền dữ liệu).
Hình 3. 9: Sơ đồ nguyên lý khối đo dòng điện.
Thiết kế đo áp
Thiết bị đo được sử dụng là module cảm biến điện áp ZMPT101B.
Từ điện áp đo được qua mạch điện chuyển đổi ta thu được giá trị thực của điện áp trên đường dây.
Sơ đồ khối nguyên lý:
Hình 3. 10: Sơ đồ khối của khối đo điện áp.
Module cảm biến điện áp ZMPT101B là một cảm biến điện áp được làm từ
biến thế điện áp ZMPT101B. Module có độ chính xác cao, tính nhất qn tốt cho đo điện áp, cơng suất. Module rất đơn giản để sử dụng và đi kèm với một chiết áp để điều chỉnh đầu ra ADC.
Hình 3. 11: Module cảm biến điện áp.
Mạch cảm biến điện áp được hiển thị trong hình (4.3) được thiết kế để đo điện áp AC tối đa nhỏ hơn 250 VAC dựa trên các thành phần trong hình (4.2). Mạch này sử dụng bộ suy hao vi sai sau 230 VACrms với dung sai nhỏ hơn 5 VACpp. Các dạng sóng đầu ra (5 VAC) của mạch là đi trên điện áp DC như một offset (khoảng 2,5 V) và biên độ có thể được điều chỉnh bởi chiết áp nhưng không lớn hơn 5 V. Đầu ra của mạch được kết nối trực tiếp với chân ADC của bộ vi điều khiển Arduino.
Hình 3. 12: Mạch cảm biến điện áp - băng thông (~ 50 Hz).
Thiết kế mạch cảm biến điện áp trong hình 4.3 dựa trên ba giai đoạn:
Bộ biến dòng ZMPT101B với tải trở kháng thấp (R2). Các ZMPT101B là một biến áp dịng kích thước nhỏ với sự tính nhất quán và cách ly tốt cho các phép đo điện áp. Các đặc tính đầu ra được thể hiện trong hình (4.4). Hai đường cong hiển thị trong hình (4.4) phụ thuộc vào điện trở đầu vào của ZMPT101B, Hình (4.4a) cho thấy mối quan hệ giữa dòng đầu vào RMS và điện áp đầu ra RMS và Hình (4.4b) cho thấy mối quan hệ giữa dịng đầu vào RMS và lỗi góc pha của tín hiệu đầu ra (điện trở đầu vào R1 được kết nối theo chuỗi với biến áp).
53
CHƯƠNG 3. TÍNH TỐN VÀ THIẾT KẾ
a. Điện áp đầu ra.
b. Góc pha.
Hình 3. 13: Đặc tính đầu ra của ZMPT101B.
Sơ đồ nguyên lý đo điện áp:
Hình 3. 14: Sơ đồ nguyên lý khối đo điện áp.
KHỐI ĐẶT TRƯỚC KHỐI XỬ LÝ TRUNG TÂM WEB SERVER KHỐI LƯU TRỮ KHỐI HIỂN THỊ KHỐI ĐO
b. Thiết kế bộ xử lý trung tâm
Với vai trò liên kết với nhiều module ngoại vi và phải có khả năng xử lý đủ nhanh để thực hiện luân phiên các tác vụ trong thời gian ngắn. Từ nhiệm vụ thu thập các dữ liệu từ các khối đo gửi lên cho đến lưu dữ liệu và giao tiếp với Internet để mang dữ liệu gửi lên mạng Internet.
Do vậy nhóm đã quyết định sử dụng Module NodeMCU ESP8266.
Sơ đồ khối của bộ xử lý trung tâm:
Hình 3. 15: Sơ đồ khối của khối xử lý trung tâm.
Chức năng: Bộ xử lý trung tâm có nhiệm vụ nhận dữ liệu từ khối đo cảm biến
sau đó đưa ra hiển thị trên LCD đồng thời gửi dữ liệu lên web server thơng qua wifi esp8266. Khi mất wifi thì dữ liệu nhận từ khối đo sẽ được lưu vào khối lữu trữ đến khi có wifi trở lại.
Khối hiển thị là LCD 20x4.
Khối lưu trữ là EEprom 24LC512. Khối đặt trước là nút nhấn.
Để thực hiện việc giao tiếp giữa các khối với nhau thì cần có khối xử lý trung tâm đồng thời khối xử lý trung tâm còn đảm nhiệm cả gửi dữ liệu lên Internet. Trong hệ thống này đã chọn NodeMCU 1.0 được phát triển từ ESP8266 12E làm bộ xử lý trung tâm chủ đạo. Với nhiều ưu điểm: có thể lập trình trực tiếp trên chip ESP8266 12E đảm bảo tiết kiệm năng lượng và cực kỳ nhỏ gọn, không cần phải sử dụng thêm một bộ vi xử
CHƯƠNG 3. TÍNH TỐN VÀ THIẾT KẾ
72
lý nào. Thay vì, vừa sử dụng vi điều khiển vừa phải thêm module thu phát sóng WiFi thì ở đây chỉ cần dùng NodeMCU đã có thể sử dụng đầy đủ các chức năng.
Đầu tiên là giao tiếp với các khối hiển thị, thời gian thực và EEPROM, đặc điểm chung của hai khối này là đều giao tiếp theo chuẩn I2C, tất cả các bus SCL và SDA của các khối đều nối chung với nhau. Nên mỗi khối phải có một địa chỉ riêng biệt khơng được trùng nhau để cho bộ xử lý trung tâm có thể nhận diện được đó là khối nào trong mạch. Nên trong mỗi khỗi đã có kết nối phần cứng để thiết lập địa chỉ khác nhau : khối hiển thị LCD có địa chỉ I2C là 0x3F là địa chỉ của module chuyển đổi giao tiếp I2C sang giao tiếp LCD, khối lưu trữ EEPROM có địa chỉ 0x51, khối thời gian thực có địa chỉ là 0x68.
Kế tiếp là khối đo được liên kết với nhau thông qua kiểu truyền UART. Dưới sự truyền nhận giữa arduino và ESP8266.
c. Tính tốn khối đồng hồ thời gian thực DS1307
Dưới đây là phần tính tốn mạch đồng hồ thời gian thực DS1307:
Dựa theo các cơng thức tính tốn giá trị điện trở kéo lên cho 2 chân SCL và SDA như trên phần tính tốn mạch lưu trữ dữ liệu dùng EEPROM bên dưới, suy ra:
R (max) = tr
(0.8473xCb) 1000∗10−9 0.8473∗400∗10−12
tr: Rise time của tín hiệu cả trên SDA và SCL (ns). Cb: dung kháng trên mỗi BUS (Pf).
=
2.95(KΩ)
(3.5)
Rp(max): điện trở lớn nhất dùng để kéo 2 chân SDA và SCL lên mức High. Trên thực tế giá trị điện trở thực sẽ nhỏ hơn giá trị lý thuyết của nó. Vì vậy giá trị điện trở kéo lên cho 2 chân SCL và SDA được chọn là 3.3 kohm.
Tính tốn cho nguồn pin ni đồng hồ: Theo datasheet của nhà sản xuất, ngõ vào VBAT của DS1307 phải đảm bảo từ 2.0 V đến 3.5 V, vì vậy sử việc sử dụng pin 3.3V trong module là thích hợp.
p
Hai chân SCL và SDA cùng kết nối với SCL và SDA của khối xử lý trung tâm (NodeMCU).
Lưu ý: Trong giao tiếp I2C nhiều thiết bị thì 2 chân SCL và SDA của tất cả các thiết bị giao tiếp I2C trên cùng một bus đều nối chung với nhau nên chỉ cần một điện trở kéo lên cho một dây SCL chung và SDA chung. Vì thế, trong module thời gian thực DS1307 đã có 2 điện trở kéo lên rồi nên các module hay thiết bị khác trên bus này không cần điện trở kéo lên nữa.
d. Thiết kế khối hiển thị
Với chức năng là hiển thị các thông tin cần thiết của hệ thống với người dùng, nhằm cung cấp các thông tin trực quan và dễ dàng quan sát cần phải có màn hình giao tiếp.
Vậy nên, nhóm đã lựa chọn LCD 20x4 để hiển thị các thông tin như các giá trị của dịng điện, điện áp, cơng suất và điện năng tiêu thụ của hộ gia đình.
Để giao tiếp LCD 20x4 với vi điều khiển trung tâm, nhằm tiết kiệm các cổng vào ra cho vi điều khiển bởi cần vi điều khiển trung tâm thực hiện nhiều chức năng nên phải sử dụng thêm module chuyển giao tiếp trực tiếp sử dụng 6 chân sang giao tiếp I2C chỉ sử dụng 2 chân là module giao tiếp I2C PCF8574.
Sơ đồ nguyên lý kết nối:
Trong đề tài có sử dụng nhiều module sử dụng chung dây Bus-I2C vậy nên cần định địa chỉ cho từng module.
Các chân A2, A1, A0 để định địa chỉ cho IC khối hiển thị là 0x37.
Đồng thời do mạch có sử dụng điện trở kéo lên cho 2 dây SDA, SCL dùng chung cho các module. Vậy nên khi có xung từ SCL, và nhận đúng địa chỉ thì sẽ tiến hành điều khiển thanh ghi dịch để chọn ngõ ra từ P0- P7 và đồng thời thực hiện các lệnh ghi dữ liệu từ ngõ vào.
e. Thiết kế khối lưu trữ dữ liệu khi mất kết nối với Internet
Để tránh trường hợp không bị mất những dữ liệu quan trọng (như lúc xảy ra sự cố quá dòng hay sụt áp trên đường dây) khi bộ xử lý trung tâm bị mất kết nối với Internet thì bộ xử lý trung tâm phải có khả năng lưu trữ lại các dữ liệu quan trọng trong quá trình hoạt động và đảm bảo dữ liệu lưu trữ lại được gửi lên Internet ngay khi có kết nối lại. Vì vậy, trong bộ xử lý trung tâm được thiết kế thêm mạch lưu trữ dữ liệu sử dụng IC chính là EEPROM. Mạch được thiết kế như sau:
Nếu hệ thống bị mất kết nối với Internet trong thời gian dài đòi hỏi dung lượng bộ nhớ của Eeprom phải đủ lớn để đáp ứng. Khoảng thời gian giữa 2 lần lưu trữ dữ liệu liên tiếp vào Eeprom nếu mất kết nối Internet trên 30s, mỗi lần lưu 12 byte dữ liệu, và thời gian tối đa yêu cầu sửa chữa hệ thống là khơng q 8 giờ. Vì vậy, số lần lưu dữ liệu
liên tục trong 8 giờ: 8∗ 3600
30 = 960 ầ . Mỗi lần lưu 12 byte nên:
Dung lượng bộ nhớ tối thiểu là: 960*12 = 11512 bytes = 11,25 Kbytes.
Vì vậy, trong mạch sử dụng IC 24LC512 có dung lượng bộ nhớ là 64KB giao tiếp với ESP8266-12E NodeMCU thông qua chuẩn giao tiếp I2C với địa chỉ được cài đặt phần cứng là 0x51 (A1, A2 nối GND, A0 nối VCC).
Hình 3. 17: Sơ đồ chân IC 24LC512.
Các chân A0, A1, A2, WP (Write Protect) là các chân điều khiển bằng mức logic 0 hoặc 1. Trong đó chân WP nếu nối VCC (mức cao) thì khơng cho phép hoạt động ghi dữ liệu, ngược lại nối chân này với GND (mức thấp) thì cho phép ghi dữ liệu, cịn hoạt động đọc dữ liệu vẫn diễn bình thường khơng bị ảnh hưởng. Muốn dữ liệu được ghi vào thì chỉ cần nối chân này xuống GND. Cịn các chân A0, A1, A2 dùng để đặt địa chỉ cố định cho EEPROM trong giao tiếp I2C để vi điều khiển có thể nhận diện và giao tiếp với EEPROM. Cách thức đặt địa chỉ là chỉ cẩn nối các chân này lên VCC hay xuống GND (tương ứng với mức logic 0 và 1). Có thể nối các chân A0, A1, A2 theo bảng dưới đây để được các địa chỉ khác nhau:
Bảng 3. 1: Cấu hình địa chỉ cho EEPROM 24LC512.
A2 A 1 A0 Địachỉ 0 0 0 0x50 0 0 1 0x51 0 1 0 0x52 0 1 1 0x53 1 0 0 0x54 1 0 1 0x55 1 1 0 0x56 1 1 1 0x57
Trong mạch sử dụng địa chỉ EEPROM là 0x51 nên các chân A1, A2 nối GND (tương ứng với logic mức 0), chân A0 nối lên VCC (tương ứng với logic mức 1). (Lưu ý: không được chọn địa chỉ cho EEPROM là 0x50 trong hệ thống mạch xử lý trung tâm này vì địa chỉ này trùng với địa chỉ của EEPROM trên module DS1307.)
Về hai chân SCL và SDA là 2 chân giao tiếp chuẩn I2C giữa EEPROM với vi điều khiển, mỗi chân này có điện trở kéo lên nguồn VCC. Theo cấu hình này thì một thiết bị có thể ở mức logic LOW hoặc cao trở nhưng khơng thể ở dạng mức HIGH, vì vậy chính điện trở kéo lên này giúp tạo ra mức HIGH. Cách chọn điện trở kéo lên được tính tốn như sau:
Giá trị điện trở kéo lên phù hợp cần đảm bảo hai yếu tố:
• Thoả mãn phù hợp mức logic.
• Đảm bảo rise time của tín hiệu.
Để IC nhận ra đúng mức logic thì giá trị điện áp tại chân phải lớn hơn VOL. Cơng thức tính giá trị điện trở thấp nhất: R (min) = VCC−VOL( max ) IOL (3.6) 5−0.4 3∗10−3= 1.553(KΩ)
Ngoài ra do đặc thù của I2C có thêm phần rise time. Nếu giá trị điện trở quá lớn sẽ dẫn đến việc rise time cao.
Xem kết nối như một mạch RC (C là tụ kháng sinh) thì ta có điện áp theo thời gian tính theo cơng thức sau:
−1
V(t) = VCC. (1 − eRC) (3.7)
Thơng thường, VIH và VIL thường tính lần lượt là 0.7*VCC và 0.3*VCC nên ta có: −t1 vì: VIH = 0.7 ∗ VCC⟹ VIH = VCC ∗ (1 − eRp∗Cb) (3.8) p =
−t2
vì: VIL = 0.3 ∗ VCC ⟹ VIL =
VCC ∗ (1 − eRp∗Cb) (3.9)
Nên thời gian rise time là:
tr = t2 − t1 = 0.8473 ∗ Rb ∗ Cb (3.10) Từ đó ta có RMAX là : R (max) = tr (0.8473∗Cb) R (max) = 1000 0.8473∗400 = 2.95(kΩ) (3.11)
Các giá trị trên thường cho theo bảng trong datasheet.
Hình 3. 18: Chọn các giá trị cho t_r và C_b
f. Thiết kế khối nguồn.
Thiết kế khối nguồn cho khối mạch xử lý trung tâm
Trước khi làm mạch nguồn ta phải tính tốn dịng hoạt động của tất cả các linh kiện trong mạch để biết dịng tổng mà từ đó thiết kế mạch nguồn.
Tính tốn lựa chọn nguồn:
Do các linh kiện sử dụng nguồn 5V nên ta chỉ cần 1 loại nguồn.
Bảng 3. 2: Thông số cơ bản của hall 100A YHDC.
S T T
Tên linh kiện Dòng cần
thiết lượngSố Dòngcấp
1 DS1307 1.5mA 1 1.5mA
2 Arduino nano 30mA 1 30mA
3 LCD20x4 5mA 1 5mA
p p
5 NodeMCU < 170mA 1 170mA
6 EEPROM
24LC512 400uA 1 400uA
7 Điện trở và led 10mA 2 20mA
Tổng dòng cần
cấp: 2226,9mA
Cùng với các linh kiện điện tử khác cho kết quả tổng dòng điện đo trên thực tế bằng đồng hồ đo là 2,5A. Vậy mạch nguồn 3A sẽ thích hợp cho mạch.
Sơ đồ nguyên lý mạch nguồn 5V/3A:
Hình 3.19: Sơ đồ nguyên lý mạch nguồn.
Chức năng của các phần tử trong mạch:
• LM2576: chức năng ổn định ra điện áp 5V và dòng tải lên tới 3A.
• C3 tụ hóa (có phân cực) ổn áp ngõ vào, điện dung của tụ này càng lớn thì điện áp vào LM2576 càng phẳng.
• C4 và C6 tụ giấy (không phân cực) là hai tụ lọc nhiễu tần số cao ở ngõ vào và ngõ ra.
• C5 tụ hóa có tác dụng lọc điện áp đầu ra và cần thiết cho sự ổn định vịng lặp.
• D2 diode
• D2 là diode ổn áp (tức là diode zener) để bảo vệ điện áp đầu ra. Diode này phải mắc ngược như hình 3.19 để cung cấp một con đường trở lại cho dịng điện dẫn khi cơng tắc tắt. Bình thường, khơng có dịng chạy qua nó nhưng khi nào điện áp đầu ra, vì một lý do nào đó mà tăng cao hơn trị số định mức thì lập tức diode này thơng theo chiều ngược (dịng điện dẫn ào ào nên gọi đó là hiệu ứng thác đổ), sẽ tránh cho điện áp đầu ra bị tăng cao, làm hỏng phụ tải. Nếu điện áp tăng ít thì dịng ngược tăng ít, diode khơng hỏng và phục hồi tính năng như ban đầu. Do tốc độ chuyển mạch nhanh và điện áp hạ thấp, các
diode Schottky mang lại hiệu quả tốt nhất, đặc biệt là trong các bộ điều chỉnh chuyển mạch điện áp đầu ra thấp (dưới 5 V). Phục hồi nhanh, hiệu quả cao hoặc cực nhanh.
• L1 là cuộn cảm. Áp cao từ nguồn DC mắc nối tiếp với L1 rồi ra tải, do cảm kháng của L1 gây sụt áp nên áp ra tải nhỏ hơn nguồn cung cấp. Phần năng lượng điện sụt áp trên L1 chuyển thành năng lượng từ bên trong lõi L1 (và một phần nhỏ tỏa thành nhiệt). Khi van chuyển mạch ngắt đột ngột, dòng điện tự cảm trên L1 qua D1 tiếp tục cấp điện cho tải (từ trường biến đổi thành điện).
Nguyên lý hoạt động:
Nguồn điện 220V AC đưa vào máy biến áp, điện áp sẽ hạ từ 220V AC thành 12VAC/3A, sau đó đi qua cầu diode chuyển điện áp xoay chiều thành một chiều. Tụ C3 ổn áp và C4 lọc nhiễu tần số ở ngõ vào. Khi IC LM2576 thông, tức là nguồn vào sẽ đữa trực tiếp vào cuộn cảm đó. Khi IC cắt nguồn vào thì diode 1N5822 duy trì sự dẫn