Tải bản đầy đủ (.doc) (29 trang)

ĐO DÒNG ĐIỆN DC QUA TẢI VỚI CẢM BIẾN DÒNG ACS712

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (865.28 KB, 29 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

KHOA ĐIỆN – ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN
ĐỀ TÀI:

ĐO DÒNG ĐIỆN DC QUA TẢI VỚI CẢM
BIẾN DÒNG ACS712
Giảng viên hướng dẫn :
Sinh viên thực hiện
Lớp

:


NIÊN KHÓA 2015 - 2019

LỜI MỞ ĐẦU
Ngày nay, khoa học công nghệ phát triển với tốc độ nhanh chóng, cuộc
sống của chúng ta vì vậy mà cũng thay đổi,văn minh và hiện đại hơn. Sự phát
triển của ngành kỹ thuật điện tử đã tạo ra nhiều thiết bị gọn nhẹ, xử lí nhanh và
rất chính xác. Cùng với sự phát triển vượt trội của cảm biến trong những năm
gần đây, các thiết bị điện tử ứng dụng cảm biến cũng ra đời, với nhiều tính
năng, góp phần nâng cao chất lượng cuộc sống. Thấu hiểu được nhu cầu đó, em
đã nghiên cứu và làm đồ án về việc bật tắt đèn bằng tiếng vỗ tay. Từ một việc
hết sức bình thường trong cuộc sống nay đã được nâng cao hơn nhờ sự phát
triển của ngành điện tử, việc bật tắt đèn từ giờ đã đơn giản và thuận tiện hơn
gấp nhiều lần nhờ mạch điều khiển sử dụng arduino và cảm biến dòng
ACS712_5A.
Do kiến thức và kinh nghiệm còn hạn chế, thêm vào đó đây cũng là lần đầu


tiên em thực hiện đề tài nên chắc chắn không tránh khỏi những thiếu sót, hạn
chế vì thế em rất mong có được sự góp ý để có thể hoàn thiện đề tài của mình.


LỜI CAM KẾT
Em xin cam đoan đồ án này là tự bản thân mình thực hiện dưới sự hướng dẫn
của giảng viên hướng dẫn, không phải là lấy của bất kì một cá nhân nào. Do đó
em hoàn toàn chịu trách nhiệm về đồ án của mình.
Ký tên


LỜI CẢM ƠN
Em xin chân thành gửi lời cảm ơn đến giảng viên hướng dẫn, đã dành thời gian
hướng dẫn cũng như đưa ra ý kiến trao đổi giúp em sửa chữa sai sót trong suốt
quá trình làm bài để em có thể hoàn thành đồ án này một cách hoàn thiện nhất.


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………


MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ MẠCH ĐO DÒNG ĐIỆN DC QUA TẢI VỚI
CẢM BIẾN DÒNG ACS712
1.1. Đặt vấn đề
1.2. Lịch sử giải quyết vấn đề
1.3. Nhiệm vụ thiết kế
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Arduino UNO R3
2.2. Cảm biến dòng ACS12
2.3. Màng hình LCD
2.4. Biến trở 1k
2.5. Dây cắm BUS
CHƯƠNG 3: THIẾT KẾ THI CÔNG
3.1 Nội dung thực hiện
3.1.1. Nguyên lý hoạt động
3.1.2. Thi công mạch
3.1.3. Code cho mạch

3.2 Kết quả thực hiện
3.3 Kết luận và kiến nghị
TÀI LIỆU THAM KHẢO


CHƯƠNG 1: TỔNG QUAN VỀ MẠCH ĐO DÒNG ĐIỆN DC
QUA TẢI VỚI CẢM BIẾN DÒNG ACS712
1.1

Đặt vấn đề

Xã hội mà chúng ta đang sống luôn phát triển từng ngày, mọi khía cạnh đều
đòi hỏi sự đổi mới và nâng cao hơn về chất lượng, và trong cuộc sống hàng
ngày cũng thế. Từ một việc hết sức bình thường nay đã được nâng cao hơn nhờ
sự phát triển của ngành điện tử, việc một kĩ sư điện không thể thiếu thiết bị khi
đi làm hoặc chế tạo một món đồ nào đó là một cái đồng hồ đo đa năng.
Sau đây em xin giới thiệu về thiết bị đo dòng bằng cách sử dụng arduino và
cảm biến dòng ACS712 để đo dòng điện.

1.2

Lịch sử giải quyết vấn đề

Thiết bị đo dòng có nhiều ứng dụng và cách sử dụng đa dạng cũng như sự đa
dạng của các loại cảm biến mà người ta thiết kế trên mạch. Chúng được ứng
dụng vào nhiều công việc và hoàn cảnh khác nhau như thiết bị đo dòng dựa trên
hiệu ứng Hall.

1.3


Nhiệm vụ thiết kế

Thiết bị đo dòng điện qua cảm biến dòng ACS712 và đưa tín hiệu vào arduino
suất ra màn hình LCD đọc kết quả.


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Arduino UNO R3

- Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta
thường nói tới chính là dòng Arduino UNO. Hiện dòng mạch này đã phát triển
tới thế hệ thứ 3 (R3). Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR
là ATmega8, ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ
đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ
xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… hay
những ứng dụng khác .
- Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn
ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì
cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ
cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng
Arduino UNO.
- Thông số kĩ thuật
Vi điều khiển
Điện áp hoạt động
Điện áp đầu vào (được đề nghị)
Điện áp đầu vào (giới hạn)
Số chân I / O kĩ thuật số
PWM Digital I / O Pins
Analog Input Pins
Dòng điện DC mỗi I / O

Dòng điện DC với chân 3.3V
Bộ nhớ flash

ATmega328P

5V
7-12V
6-20V
14 (trong đó có 6 cung cấp đầu ra PWM)
6
6
20 mA
50 mA
32 KB (ATmega328P)


SRAM
EEPROM
Tốc độ đồng hồ
Chiều dài
Bề rộng
Cân nặng

trong đó 0,5 KB sử dụng bởi bộ nạp khởi động
2 KB (ATmega328P)
1 KB (ATmega328P)
16 MHz
68,6 mm
53,4 mm
25 g


- Các chân năng lượng
 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn
dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này
phải được nối với nhau.


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ương củ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ới việc chân RESET được nối với GND qua 1 điện trở 10KΩ.


- Các cổng vào/ra


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).
Một số chân digital có các chức năng đặc biệt như sau:
 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 Serial khô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ếu khô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ân giả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ức 0V đế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ức nă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ức SPI 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út Reset, 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 có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu
10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với
chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng
các 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ùng cá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.
- Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.
- Lập trình cho Arduino
Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát
triển dự án này đã cũng cấp đến cho người dùng 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.

Lưu ý khi sử dụng Arduino UNO R3:
 Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó bạn phải
hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp
cho Arduino UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ
biến nó thành một miếng nhựa chặn giấy. mình khuyên bạn nên dùng
nguồn từ cổng USB nếu có thể.


Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho
các thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn

sai vị trí có thể làm hỏng board. Điều này không được nhà sản xuất
khuyến khích.



Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp
dưới 6V có thể làm hỏng board.



Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi
điều khiển ATmega328.



Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của
Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.




Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino
UNO sẽ làm hỏng vi điều khiển.



Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của
Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu
không dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng.


2.2 Cảm biến dòng ACS12

Giới thiệu module ACS712
Module ACS712 sử dụng IC cảm biến dòng ACS712. ACS 712 là một IC cảm
biến dòng tuyến tính dựa trên hiệu ứng Hall ACS xuất ra 1 tín hiệu analog, Vout


biến đổi tuyến tính theo sự thay đổi của dòng điện Ip được lấy mẫu thứ cấp DC
(hoặ AC), trong phạm vi đã cho.
Ưu điểm của ACS 712
Đường tín hiệu analog có độ nhiễu thấp.
Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5µs.
Điện trở dây dẫn trong là 1.2mΩ.
Nguồn vận hành đơn là 5V.
Độ nhạy đầu ra từ 63-190mV/A.
Điện áp ra cực kỳ ổn định. ACS 712 20A .
Ip: -20A – 20A.
Độ nhạy: 180 – 190 mV/A.
Mô tả về IC cảm biến dòng ACS712
Thiết bị bao gồm mạch điện Hall tuyến tính, độ lệch thấp và chính xác với
đường dây dẫn đồng được đặt gần bề mặt c vỏ. Dòng điện được cung cấp đi qua
phần dây đồng sẽ tạo ra một trường điện từ mà IC sẽ chuyển đổi thành điện áp
ứng. Thiết bị được tối ưu hóa một cách chính xác thông qua các tín hiệu từ rất
gần đến bộ biến đổi Hall.
Một điện áp tương ứng (proportional), chính xác được cung cấp bởi IC Hall
BiCMOS độ lệch thấp, bộ tạo xung được ổ mà đã được lập trình chính xác sau
khi đóng gói.
Ngõ ra của thiết bị có 1 cạnh (sườn) dương (> VIOUT(Q)) khi tăng dòng điện đi
qua phần dây đồng thứ cấp (từ chân 1 đến chân 3 và 4), là phần được dùng để
lấy mẫu dòng điện. Điện trở trong của phần dẫn điện này là 1.2mΩ, tiêu thụ



thấp. Bề dày của dây đồng cho phép thiết bị có thể chịu được đến 5 lần điều
kiện quá dòng. Các đầu của phần dẫ được cách điện với các đầu tín hiệu (chân 5
đến chân 8). Điều này cho phép ACS712 được dùng trong các ứng dụng yêu cầu
cách điện mà không dung opto cách điện hoặc các kỹ thuật cách điện đắt tiền
khác.
ACS712 được cung cấp trong dạng đóng gói SOIC8 dáng bề mặt nhỏ. Các
khung chân của thiết bị được mạ với 100% mà nó phù hợp với tiêu chuẩn
RoSH. Thiếc bị này được hiệu chuẩn đầy đủ tại nhà máy trước khi xuất xưởng.
Đặc điểm IC
 cảm biến dòng tuyến tính dựa vào hiệu ứng Hall, được tích hợp đầy đủ
với chất dẫn dòng điện trở thấp và độ các 2.1kV RMS.
 Đường tín hiệu analog độ nhiễu thấp.
 Băng thông của thiết bị được thiết định thông qua chân FILTER mới.
 Thời gian tăng của ngõ ra để đáp ứng với dòng ngõ vào là 5µs.
 Băng thông 80kHz.
 Tổng lỗi ngỏ ra tại TA = 25°C là 1.5%.
 Dạng đóng gói SOIC8 với các chân nhỏ.
 Điện trở dây dẫn trong 1.2mΩ.
 Điện áp cách điện tối thiểu 2.1kV RMS từ chân 1-4 đến chân 5-8.
 Nguồn vận hành đơn 5V.
 Độ nhạy ngõ ra từ 66 đến 185mV/A.
 Điện áp ngõ ra tương ứng với dòng DC hoặc AC.
 Điện áp offset (lệch) ngõ ra cực kỳ ổn định.


 Sự trễ từ gần bằng zero.
 Ngõ ra tỉ lệ trực tiếp với ngõ vào từ nguồn cung cấp
Dạng đóng gói

SOIC bọc chì 8 chân (thêm phía sau chữ LC)

Sơ đồ chân và chức năng


Module ACS712 có loại:
 ACS 712-05B (5Ampe): 180 – 190 mV/A
 ACS 712-20A (20Ampe): 96 – 104 mV/A
 ACS 712-30A (30Ampe): 64 – 68 mV/A
Sơ đồ chân Module ACS712


Các ứng dụng IC cảm biến dòng ACS712
Ứng dụng 1: ACS712 xuất ra 1 tín hiệu analog, VOUT mà biến đổi tuyến tính
với dòng điện IP được lấy mẫu thứ cấp DC AC, trong phạm vi đã được chỉ định.
CF được giới khuyến cáo dùng cho mục đích quản lý nhiễu, với giá trị phụ thuộ
từng ứng dụng.


Ứng dụng 2. Mạch phát hiện đỉnh

Ứng dụng 3. Cấu hình mạch bên dưới tăng độ lợi đến 610mV/A (đã test dùng
ACS712ELC – 05A)


Ứng dụng 4. Mạch chốt lỗi quá dòng 10A. Ngưỡng lỗi được set bởi R1 và R2.
Mạch này chốt lỗi quá dòng và giữ n trạng thái cho đến khi nguồn 5v đượcc kéo
xuống.

2.3 Màn hình LCD 2004











Điện áp hoạt động là 5 V.
Kích thước: 98 x 60 x 13.5 mm
Chữ đen, nền xanh lá/ chữ trắng, nền xanh dương
Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với
Breadboard.
Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối,
đi dây điện.
Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử
dụng ít điện năng hơn.
Có thể được điều khiển với 6 dây tín hiệu.

Châ Ký hiệu Mô tả

Giá trị


n
1

VSS


GND

0V

2

VCC

 

5V

3

V0

Độ tương phản

 

4

RS

Lựa chọn thanh ghi

RS=0 (mức thấp) chọn thanh ghi lệnh
RS=1 (mức cao) chọn thanh ghi dữ liệu
R/W=0 thanh ghi viết

5

R/W

Chọn thanh ghi đọc/viết dữ liệu

6

E

Enable

 

7

DB0

8

DB1

9

DB2

10

DB3


11

DB4

Chân truyền dữ liệu

8 bit: DB0DB7

12

DB5

13

DB6

14

DB7

15

A

Cực dương led nền

0V đến 5V

16


K

Cực âm led nền

0V

R/W=1 thanh ghi đọc


2.4 Biến trở 1k

Biến trở volume 1K được dùng phổ biến trong nhiều mạch công suất...
Tên khác là potentionmeter. Biến trở volume 1K có điện trở thay đổi khi điều
chỉnh
Biến trở volume 1K có 3 chân, 2 chân ngoài được nối vào Vcc và Gnd, chân
giữa sẽ cho ra 1 giá trị điện áp nằm trong khoảng 0(V) -> Vcc (V)


2.5 Dây cắm BUS

Dùng để kết nối các module lại với nhau và với đèn, dùng loại đực – đực và đực
– cái.


CHƯƠNG 3: THIẾT KẾ THI CÔNG
3.1 Nội dung thực hiện
3.1.1 Nguyên lý hoạt động
Cảm biến dòng điện sử dụng IC ACS712 dùng để do dòng lên đến 5A. Đặc
biệt đường tín hiệu analog tỉ lệ nhiễu thấp.
Khi đo DC :Ta mắc tải nối tiếp Ip+ và Ip- , dòng điện sẽ đi từ Ip+ đến Ip- sẽ

tạo ra Vout từ 2.5V đến 5V tương ứng là 0 đến 5A. Nếu mắc ngược lại thì
Vout sẽ từ 2.5 đến 0V và dòng ra sẽ là từ 0 đến -5A. Ban đầu khi chưa có Ip
Vout sẽ là 2.5V, khi có Ip thì dựa vào Ip dần tiến tới 0 hay dần tiến tới 5V để
t có thể xác định được chiều của dòng điện.
3.1.2 Thi công mạch
Khi đo DC phải mắc tải nối tiếp Ip+ và Ip- đúng chiều. Điện áp đầu ra (chân
Out) từ 2.5 – 5V tương ứng dòng 0 – 5A, n mắc ngược điệp áp sẽ ra điện thế
2.5V đến 0V tương ứng với 0A đến -5A.
Để đổi điện áp ra dòng điện trong lập trình IDE Arduino, cần offset điện áp
lúc đầu là 2.5V (lúc chưa tải) tương ứng với đây tôi lấy độ nhạy cảm biến
ACS712-20A là 185mV/A. Tức là tính từ mức 2.5V mỗi lần tăng lên 185mV ta
được 1A. Vậy thức tính dòng điện sẽ là:
ecurrent = ((Voltage – offsetvoltage) / sensitivity)
Trong đó:
 ecurrent: dòng điện đo
 Voltage: Điện áp cảm VĐK đo được từ Output cảm biến
 offsetvoltage: Điện áp offset (2.5V)
 sensitivity: độ nhạy của cảm biến (185mV/A).
Trong lập trình Arduino ta dùng công thức sau để đọc giá trị điện áp từ output:
Voltage = (adcvalue / 1024.0) * 5000; (mV)


Trong đó: adcvalue là giá trị analog VĐK đọc được.

Sơ đồ kết nối ACS712-20A với Arduino mô phỏng Proteus

3.1.3 Code cho mạch
// include the library code:
#include <LiquidCrystal.h> //library for LCD
// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
//Measuring Current Using ACS712
const int analogchannel = 0; //Kết nối Output cảm biến với chân A0 Arduino
int sensitivity = 185; // Độ nhạy là 100 cho Module 20A và 66 cho Module 30A
int adcvalue= 0;
int offsetvoltage = 2500;
double Voltage = 0; // Giá trị điện áp


×