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

Thiết kế mạch đo điện áp xoay chiều hiển thị kết quả trên LED 7 đoạn

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 (323.88 KB, 22 trang )

Mục lục
Nội dung Trang
Chương 1: Tổng quan về mạch đo điện áp 2
1.1. Cơ sở chung của phương pháp đo điện áp 2
1.2. Vôn mét sử dụng vi xử lí 3
1.3. Nguyên lí của mach đo điện áp xoay chiều 6
Chương 2: Thiết kế phần cứng 7
2.1. Khối công suất 7
2.2. Khối chia áp 7
2.3. Bộ chuyển đổi ADC 8
2.4. Vi xử lí AT89c51 12
2.5. Led 7 vạch 14
2.6. Kết nối với vi điều khiển 16
2.7. Sơ đồ nguyên lí 18
Chương 3: Thiết kế phần mềm
3.1. Thuật toán điều khiển 19
3.2. Code lệnh điều khiển 19
3.3. Kết quả mô phỏng 20
3.4. Kết luận 20
Tài liệu tham khảo 21
1
Chương 1. Tổng quan về mạch đo điện áp
1.1. Cơ sở chung
Khi đo điện áp, vôn mét được nối song song với tải trong mạch đo. Khi sử dụng
vôn mét để đo điện áp cần lưu ý các sai số sinh ra trong quá trình đo bao gồm:
- Sai số do ảnh hưởng của vôn mét khi mắc vào mạch đo
- Sai số do tần số.
Sai số của phép đo do ảnh hưởng của vôn mét lên mạch đo
Khi mắc vào mạch đo, vôn mét đã lấy một phần năng lượng của đối tượng đo nên
đã gây nên sai số
Khi chưa mắc Vôn mét vào điện áp rơi trên tải


l
à
:
t
ngt
t
R
RR
E
U .
+
=
với: R
ng
là điện trở trong của nguồn cấp cho tải
Lúc
Vôn mét vào mạch, vôn mét sẽ đo điện áp rơi trên
t

i:
V
Ve
t
V
R
RR
U
U .
+
=

với: R
e
= (R
ng
// R
t
) =
ngt
ngt
RR
RR
+
.
; R
v
là điện trở trong của vôn mét
Vậy sai số của phép đo điện áp bằng Vôn mét
l
à
:
2
V
e
Ve
e
t
Vt
u
R
R

RR
R
U
UU

+
=

=
γ
Như vậy, muốn sai số nhỏ thì yêu cầu Rv phải càng lớn càng tốt, cụ thể R
V
phải
thoả mãn điều kiện sau:
γ
e
V
R
R >
với:
γ
là cấp chính xác của vôn mét
Nếu không thoả
mãn
yêu cầu này thì sai số hệ thống do vônmét gây ra
sẽ lớn hơn sai số của bản thân dụng cụ. Lúc đó muốn kết
quả
đo chính xác,
phải dùng công thức hiệu
ch


nh
:
U
t
= (1 +
u
γ
).U
v
Điều này rất quan trọng đối với phép đo điện áp của nguồn có điện trở trong lớn.
Vì vậy trên các dụng cụ đo điện áp chính xác hoặc dụng cụ vạn năg thường ghi
giá trị điện trở trong của nó.
1.2. Vôn mét sử dụng vi xử lí
NGUYÊN LÝ LÀM
VIỆC
Để nâng cao các tính năng của vônmét chỉ thị số người ta sử dụng
µ
P.
Xét một vônmét có vi xử lý được thực hiện theo phương pháp thời gian xung,
có sơ đồ khối
như
hình
:
3
Gồm các phần cơ
bản
:
- Bộ vào của vônmét: có nhiệm vụ biến đổi tín hiệu vào U
x

(t): có thể suy giảm
hay khuếch
đạ
i
,
biến áp xoay chiều thành một
ch
i
ều
- Các đầu vào: đầu vào 2 của bộ đổi nối MUX (Multiplexcor): điện áp
cần đo được đưa đến đầu
này
;
đầu vào 1 được nối với đất; đầu vào 3 được
nối với một nguồn điện áp mẫu U
0
có giá trị bằng U
xmax
(điện
áp
cần đo cực
đạ
i
).
- Đầu ra của bộ đổi nối: được nối với đầu vào 1 của bộ so sánh
(Comparator). Việc đổi nối được
t
hực
hiện bởi hệ thống được xử lý
thông qua bộ ghép nối (Interface) với thiết bị ngoài. Tín hiệu từ đầu ra của

bộ
tích phân được đưa đến đầu vào 2 của hệ so
sánh.
- Bộ tích phân: làm nhiệm vụ tạo tín hiệu răng cưa. Nó được liên hệ
với bộ vi xử lý để cho phép
t
rong
bất kỳ thời điểm nào cũng có thể cho ra các
xung khởi đầu tạo xung răng
cưa.
4
Xung răng cưa sau bộ tích phân sẽ được so sánh với một trong 3 điện áp:
điện áp “không”, điện áp cần đo
U
x

và điện áp chuẩn cực đại U
xmax
(tùy
thuộc vào trạng thái của bộ đổi nối MUX đưa tín hiệu vào bộ so sánh).
Kh
i


sự cân bằng điện áp giữa hai đầu vào của bộ so sánh thì đầu ra xuất hiện xung.
Xung này sẽ đưa đến mở
khoá
“timer” cho phép xung ở máy phát chuẩn đi
qua. Bộ vi xử lý sẽ điều khiển đếm số xung chuẩn
đó.

Quá trình đo được minh họa như hình 5.27 khi có xung từ bộ vi xử lý
phát lệnh “bắt đầu đo” (thời
đ
i
ểm
t* ở hình 9.25), bộ vi xử lý cho ra tín hiệu
thông qua bộ tích phân. Bộ đổi nối MUX sẽ nối đầu vào 1 của bộ
so
sánh với
cửa vào 1 của nó (tức là nối đất). Như vậy khi đó điện thế của đầu
vào
1 của hệ so sánh bằng “không”. Bộ vi xử lý đợi khi bắt đầu xung răng cưa.
Khi xung răng cưa bằng điện
áp
“không” sẽ có tín hiệu ở đầu ra so sánh. Nhờ
có khoá timer tạo khoảng thời gian ∆t
1
và bộ xử lý đo nó bằng
cách
đếm số
xung chuẩn trong khoảng thời gian đó là N
1
. Kết quả được ghi vào bộ nhớ của
hệ thống vi xử lý. Sau
đó
theo lệnh của vi xử lý, đầu vào 2 của đổi nối đưa
tín hiệu cần đo U
x
vào so sánh với tín hiệu răng cưa. Tại
t

hờ
i
điểm bằng nhau
hệ so sánh cho ra tín hiệu tạo khoảng thời gian ∆t
2
và bộ vi xử lý đếm số
xung N
2

xung
chuẩn đi qua timer trong khoảng thời gian ∆t
2
. Kết quả
cũng được nhớ
l

i
.
Tiếp theo vi xử lý nối đầu vào 1 của bộ so sánh với đầu vào 3 của bộ đổi
nối, tức điện áp mẫu U
0
, nó
xác

định
giá trị lớn nhất của toàn thang đo. Tại
thời điểm bằng nhau với tín hiệu răng cưa của đầu ra của bộ so
sánh
xuất
hiện xung và tạo ra khoảng thời gian ∆t

3
và tương ứng bộ vi xử lý sẽ đếm số
5
xung N
3
. Kết quả sẽ được
nhớ
vào bộ
nhớ.
1.3 Nguyên lí của mạch đo điện áp xoay chiều
Để đo điện áp xoay chiều ta cần phối hợp mạch chỉnh lưu với mạch đo điện áp
một chiều.
Điện áp xoay chiều được chỉnh lưu thành điện áp một chiều qua mạch chỉnh lưu
sử dụng cầu chỉnh lưu
Điện áp sau chỉnh lưu được đưa qua mach phân áp để được điện áp tỉ lệ mong
muốn.
6
Chương 2. Thiết kế phần cứng
Sơ đồ chức năng:

   
2.1. Khối công suất
Khối này dùng để cấp nguồn cho mạch đo.
- Biến áp có điểm trung tính nhận điện áp xoay chiều
- Chỉnh lưu cầu diode đưa điên áp về 1 chiều
- IC 7805: ic ổn áp +5v
- IC 7905: ic ổn áp -5v
- C1,C2,C3,C4: tụ có điện dung cao để lọc nhiễu.
2.2. Khối chia điện áp
Khối chia điện áp: điện áp xoay chiều sau khi được chỉnh lưu thành điện áp một

chiều sẽ được đưa vào mạch chia áp 0 ~ 220V thành 0 ~ 4.3V
7
Khối
công suất
Khuếch đại
thuật toán
ADC
0804
Vi xử lý
AT89C51
LED
2.3. Bộ chuyển đổi ADC:
a) Tổng quan về ADC0804:
Chip ADC0804 là bộ chuyển đổi tương tự số thuộc họ ADC800 của hãng
NationalSemiconductor. Chip này cũng được nhiều hãng khác sản xuất. Chip có
điện áp nuôi +5V và độ phân giải 8 bit. Ngoài độ phân giải thì thời gian chuyển đổi
cũng là một tham số quan trọng khi đánh giá bộ ADC. Thời gian chuyển đổi được
định nghĩa là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một
số nhị phân. Đối với ADC0804 thì thời gian chuyển đổi phụ thuộc vào tần số đồng
hồ được cấp tới chân CLK R và CLK IN và không bé hơn 110µs. Các chân khác
của ADC0804 có chức năng như sau:
- Chân CS (Chip select): Chân số 1, là chân chọn Chip, đầu vào tích cực mức
thấp được sử dụng để kích hoạt Chip ADC0804. Để truy cập ADC0804 thì chân
này phải ở mức thấp.
- Chân RD (Read): Chân số 2, là một tín hiệu vào, tích cực ở mức thấp. Các
bộ chuyển đổi đầu vào tương tự thành số nhị phân và giữ nó ở một thanh ghi trong.
8
RD được sử dụng để có dữ liệu đã được chyển đổi tới đầu ra của ADC0804. Khi
CS = 0 nếu có một xung cao xuống thấp áp đến chân RD thì dữ liệu ra dạng số 8 bit
được đưa tới các chân dữ liệu (DB0 – DB7).

- Chân WR (Write): Chân số 3, đây là chân vào tích cực mức thấp được dùng
để báo cho ADC biết bắt đầu quá trình chuyển đổi. Nếu CS = 0 khi WR tạo ra xung
cao xuống thấp thì bộ ADC0804 bắt đầu quá trình chuyển đổi giá trị đầu vào tương
tự V
in
về số nhị phân 8 bit. Lượng thời gian cần thiết để chuyển đổi thay đổi phụ
thuộc vào tần số đưa đến chân CLK IN và CLK R. Khi việc chuyển đổi dữ liệu
được hoàn tất thì chân INTR được ép xuống thấp bởi ADC804
- Chân CLK IN và chân CLK R: CLK IN (chân số 4), là chân vào nối tới
đồng hồ ngoài được sử dụng để tạo thời gian.Tuy nhiên ADC0804 cũng có một bộ
tạo xung đồng hồ riêng. Để dùng đồng hồ riêng thì các chân CLK IN và CLK R
(chân số 19) được nối với một tụ điện và một điện trở (như hình vẽ). Khi ấy tần số
được xác định bằng biểu thức:

RC
f
1,1
1
=
- Chân ngắt INTR (Interupt): Chân số 5, là chân ra tích cực mức thấp. Bình
thường chân này ở trạng thái cao và khi việc chuyển đổi hoàn tất thì nó xuống thấp
để báo cho CPU biết là dữ liệu chuyển đổi sẵn sàng để lấy đi. Sau khi INTR xuống
thấp, cần đặt CS = 0 và gửi một xung cao xuống thấp tới chân RD để đưa dữ liệu
ra.
- Chân Vin(+) và Vin(-): Chân số 6 và chân số 7, đây là 2 đầu vào tương tự
vi sai, trong đó Vin = Vin(+) – Vin(-). Thông thường Vin(-) được nối tới đất và
Vin(+) được dùng làm đầu vào tương tự và sẽ được chuyển đổi về dạng số.
- Chân Vcc: Chân số 20, là chân nguồn nuôi +5V. Chân này còn được dùng
làm điện áp tham chiếu khi đầu vào Vref/2 để hở.
9

- Chân Vref/2: Chân số 9, là chân điện áp đầu vào được dùng làm điện áp tham
chiếu. Nếu chân này hở thì điện áp đầu vào tương tự cho ADC0804 nằm trong dải 0
- +5V. Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin khác với dải
0 - +5V. Chân Vref/2 được dùng để thực hiện các điện áp đầu ra khác 0 - +5V.
- Bảng quan hệ điện áp Vref/2 với Vin:
V
ref
/ 2(V) V
in
(V) Step Size (mV)
Hë * 0 ®Õn 5 5/256 = 19.53
2.0 0 ®Õn 4 4/255 = 15.62
1.5 0 ®Õn 3 3/256 = 11.71
1.28 0 ®Õn 2.56 2.56/256 = 10
1.0 0 ®Õn 2 2/256 = 7.81
0.5 0 ®Õn 1 1/256 = 3.90
b) Tính toán linh kiện:
- Chân V
in
(+) được nối với cầu phân áp tạo bởi R
2
và R
3
, sao cho VDC = 0 -
220V tương ứng với V
in
(+).
Ta có điện áp đầu ra cần đo là: 220 V
Theo công thức:
buocthuockich

V
D
in
out
=
Ta chọn kích thước bước = 19.53 mV
Vậy V
in
= 4.3 V
Suy ra chân V
ref
/2 để hở, nối với 2,5 V
Ta suy ra công thức:

23
3
)(
RR
RVDC
V
in
+

=+
với Vin(+) = 4.3V, VDC = 220 V
Suy ra: R
2
= 500R
3
. Chọn R

3
= 10KΩ thì R
2
= 500KΩ.
Nhưng thực tế, các giá trị điện trở đều có sai số nên ngõ vào của ADC0804 không
như tính toán. Sai số trên điện trở cộng với sai số trong quá trình tính toán chọn
10
linh kiện sẽ tạo ra sai số không nhỏ đối với ADC0804. Điều này sẽ tạo ra sai lệch
giữa giá trị hiển thị trên Led 7 đoạn và giá trị thực tế (ở đây là giá trị VDC thực tế).
- Tốc độ chuyển đổi ADC0804 (T
C
):
f
T
CLK
C
1
66=
Chọn T
C
= 100µs = 0.1ms. Suy ra
f
CLK
= 660KHz
Ta có ADC0804 có độ phân giải là 2
8
= 256 (0 - 255) tương ứng (0 - 5V). Gọi n là
kích thước bước 1 bước (V). Ta có:
mVn 53.19
255

5
≈=
(chia 255 vì từ 0 - 255 có 256 bước)
c)Sơ đồ các chân của ADC 0804:
2.4. Vi xử lý AT89C51
a) Tổng quát về AT89C51:
11
8951 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này có
đặc điểm như sau:
- 4k byte ROM,128 byte RAM
- 4 Port I/O 8 bit.
- 2 bộ đếm/ định thời 16 bit.
- Giao tiếp nối tiếp.
- 64k byte không gian bộ nhớ chương trình mở rộng.
- 64k byte không gian bộ nhớ dữ liệu mở rộng.
- Một bộ xử lý luận lý (thao tác trên các bít đơn).
- 210 bit được địa chỉ hóa.
- Bộ nhân / chia trong 4µs.
-Tổ chức bộ nhớ RAM: Ram bên trong 8051 được phân chia như sau:
- Các bank thanh ghi có địa chỉ từ 00H đến 1Fh.
- Ram địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH.
- Ram đa dụng từ 30H đến 7FH.
- Các thanh ghi chức năng đặc biệt từ 80H đến FFH.
b) Tính toán linh kiện:
- Bộ phận dao động của vi xử lý được kết nối như hình dưới: IC 89C51 với
tần số làm việc là 12 MHz. Chân 18, 19 của 89C51 được nối với thạch anh (cũng
có thể thay thế thạch anh bằng tín hiệu xung clock). 1 chu kỳ máy của 89C51 là
1µs.

12

ssT
µ
110
1012
12
6
6
==
×
=

- Bộ phận Reset được kết nối như hình dưới: khi cấp nguồn, áp trên R2 (chân
9 của 89C51) lên mức cao 5V ( = VCC ) sau đó sẽ xuống 0V do tụ C nạp. Nếu ấn
nút Reset, thì áp trên R2 sẽ tăng gần bằng VCC nhờ cầu phân áp R1 và R2.
c) Sơ đồ các chân của AT89C51
13
2.5. Led 7 vạch
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng
với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng "led 7 đoạn".
Led 7 đoạn được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiện
thị số là đủ, chẳng hạn led 7 đoạn được dùng để hiển thị nhiệt độ phòng, trong các
đồng hồ treo tường bằng điện tử, hiển thị số lượng sản phẩm được kiểm tra sau một
công đoạn nào đó
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm
một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7
đoạn.
8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung với
nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại
14
trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối

với mạch điện. Nếu led 7 đoạn có Anode(cực +) chung, đầu chung này được nối
với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn,
led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0. Nếu led 7 đoạn có
Cathode(cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân
còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín
hiệu đặt vào các chân này ở mức 1.
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng
qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với nguồn
5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển.
Sơ đồ vị trí các led được trình bày như hình dưới:
15
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua
led nếu led 7 đoạn được nối với nguồn 5V.
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b.
Tương tự với các chân và các led còn lại
2.6 Kết nối với Vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port
nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận một
dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led đơn
trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã hiển
thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có
Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -) chung. Chẳng
hạn, để hiện thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7
đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V(mức 0) các
chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode
16
chung thì điện áp(hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b
và c điện áp là 5V (mức 1).
Bảng mã hiển thị led 7 đoạn:
dp g f e d c b A Hex TP

1 1 0 0 0 0 0 0 C0H 0
1 1 1 1 1 0 0 1 F9H 1
1 0 1 0 0 1 0 0 A4H 2
1 0 1 1 0 0 0 0 B0H 3
1 0 0 1 1 0 0 1 99H 4
1 0 0 1 0 0 1 0 92H 5
1 0 0 0 0 0 1 0 82H 6
1 1 1 1 1 0 0 0 F8H 7
1 0 0 0 0 0 0 0 80H 8
1 0 0 1 0 0 0 0 90H 9
2.7. Sơ đồ nguyên lí
17
Chương 3. Thiết kế phần mềm
3.1. Thuật toán điều khiển
18
3.2. Code lệnh điều khiển
#include <sfr51.inc>
ORG 0000H
;bat dau chuyen doi ADC
x:
19
SETB P2.7
LCALL DELAY
CLR P2.7
LCALL DELAY
SETB P2.7
MOV A,P1
;hien thi gia tri hang tram
MOV B,#100; nap thanh ghi B voi gia tri 100
DIV AB; chia du lieu trong thanh ghi A cho 100

MOV DPTR,#MALED; nap dia chi maled vao thanh ghi DPTR
MOVC A,@A+DPTR; chuyen du trong thanh DPTR vao A
MOV P2,A; gui du lieu A nhan duoc den cong P2, hien thi hang tram
MOV A,B
; hien thi hang chuc
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P3,A
; hien thi hang don vi
MOV A,B
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P0,A
SJMP x
MALED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
; tao tre
20
DELAY:
MOV R0,#10
W3:MOV R1,#100
W2:mov R2,#100
W1:djnz R2,$
DJNZ R1,W2
DJNZ R0,W3
RET
END
3.3. Kết quả chạy mô phỏng
3.4 Kết luận

Đã làm được:
+ Hiện thi được giá trị điện áp cần đo
Chưa làm được:
+ Không hiển thị được giá trị điện áp có phần nguyên và phần thập phân
+ Sai số của phép đo còn lớn, độ chính xác thấp, sai lệch tương đối lớn
21
+ Hiển thị một Led cần một cổng P riêng biệt do đó tốn tài nguyên của vi điều
khiển. Hiệu quả không cao.
+ Khi đo các giá trị điện áp nhỏ thì khả năng đo của mạch không thực hiện được.
Tài liệu tham khảo:
1. Bài giảng kĩ thuật đo lường.
2. Cấu trúc và tập lệnh họ vi điều khiển 8051 [ Nguyễn Tăng Cường, Phan Quốc
thắng]
22

×