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

Thiết kế mạch đo điện áp 1 chiều trong dải từ -24V đến -5V hiển thị kết quả trên LCD

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 (322.06 KB, 23 trang )

MỤC LỤC
Trang
Chương 1. Tổng quan về các phương pháp đo điện áp 2
1.1. Khái niệm đo điện áp 2
1.2. Các phương pháp đo điện áp 2
Chương 2. Cơ sở thiết kế phần cứng 4
2.1. Sơ đồ khối chức năng 4
2.2. Chức năng của các khối 4
2.3. Tính chọn các phần tử 13
2.4. Sơ đồ nguyên lý 14
Chương 3. Thiết kế phần mềm 16
3.1. Lưu đồ thuật toán 16
3.2. Chương trình code lệnh 16
3.3. Kết luận 21
Tài liệu tham khảo 23
CHƯƠNG 1. TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP ĐO ĐIỆN ÁP
1
1.1. Khái niệm đo điện áp
Đo điện áp là ta dùng một thiết bị đo có khả năng chuyển từ tín hiệu tương tự sang
một tín hiệu khác mà chúng ta có thể đọc và nhìn thấy được giá trị của chúng một
cách cụ thể nhất.
1.2. Các phương pháp đo điện áp
Có nhiều cách mà chúng ta có thể đo được điện áp, thường gặp đó là dùng các
đồng hồ đo điện áp và sử dụng các mạch vi xử lý.
a) Dùng đồng hồ đo:
Thường sử dụng các loại vônmet hay đồng hồ vạn năng. Khi đo điện áp bằng
vônmet thì vônmet được nối song song với tải trong mạch cần đo như hình 1.1
dưới.
Hình 1.1. Sơ đồ mắc vônmet đo điện áp của phụ tải
Trong phương pháp đo này muốn sai số nhỏ thì yêu cầu điện trở của vônmet Rv
phải càng lớn càng tốt và lý tưởng là điện trở vônmet bằng vô cùng. 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ụ ( [1]- trang 19). Khi đó điện áp đo được không chính xác.
b) Đo điện áp bằng phương pháp so sánh:
Các dụng cụ đo điện áp sử dụng cơ cấu cơ điện để hiển thị kết quả đo có cấp chính
xác của dụng cụ không vượt quá cấp chính xác của chỉ thị. Muốn đo điện áp chính
xác hơn phải dùng phương pháp so sánh với mẫu (tức là so sánh điện áp cần đo với
2
điện áp rơi trên điện trở mẫu ); phương pháp này còn gọi là phương pháp bù.
Nguyên lý cơ bản của phương pháp được mô tả như sau:
Hình 1.2. Sơ đồ nguyên lí đo điện áp bằng phương pháp so sánh
+ U
k
là điện áp mẫu với độ chính xác rất cao được tạo bởi dòng điện I ổn định đi
qua điện trở mẫu R
k
. Khi đó: U
k
= I.R
k
+ Chỉ thị là thiết bị phát hiện sự chênh lệch giữa điện áp mẫu U
k
và điện áp cần đo
U
x
. ∆U = U
x
- U
k
. Khi đo người ta so sánh U
x

và U
k
, nếu ∆U khác 0 thì điều chỉnh
con trượt của điện trở mẫu R
k
sao cho U
x
= U
k
, sẽ đọc kết quả trên điện trở mẫu đã
được khắc độ theo thứ nguyên điện áp ([1] trang 22).
c) Mạch đo sử dụng kỹ thuật vi xử lý
Mạch đo có cài đặt vi xử lý để tạo ra các cảm biến thông minh,nhớ và ra công
sơ bộ tín hiệu đo Mạch đo càng phức tạp khi thiết bị đo càng hiện đại,chức năng
càng chính xác.Mạch đo có tác dụng làm tăng độ nhậy và độ chính xác của thiết bị
đo và hệ thống đo.
Mạch đo sử dụng vi xử lý giao tiếp với các thiết bị hiển thị như LCD, LED 7
vạch, PC Để có thể đo điện áp cần một bộ chuyển đối tương tự-số, thực hiện
công việc này thường dùng ADC, dữ liệu đầu ra của ADC là dữ liệu số 8 bit được
đưa sang vi xử lý. Vi xử lý thực hiện công việc xử lý dữ liệu và chuyển dữ liệu
sang LCD.
3
CHƯƠNG 2: CƠ SỞ THIẾT KẾ PHẦN CỨNG
2.1. Sơ đồ khối chức năng
Cấu trúc chung của hệ thống
Hình 2.1. Cấu trúc chung phần cứng của hệ thống
- Bộ chuyển đổi ADC chuyển đổi tín hiệu Analog từ khối nguồn điện áp thành tín
hiệu Digital. Nguồn điện áp ở đây có dải từ ĐCVC đến -24VDC.
- Vi xử lí : nhận tín hiệu từ bộ chuyển đổi ADC , giao tiếp với nút ấn , điều khiển
khối công suất, hiển thị dữ liệu trên LCD.

- Khối hiểu thi LCD hiển thị giá trị điện áp đo được.
Ngoài ra ta còn có khối nguồn: khối nguồn để cung cấp nguồn cho mạch điều khiển.
2.2. Chức năng của các khối
1) Vi xử lí - AT89C51
a) Chức năng: nhận tín hiệu từ bộ chuyển đổi ADC0804. Sau đó xử lý, chuyển tín
hiệu số sang mã ASCII và xuất tín hiệu sang màn hình hiển thị LCD.
b) Tổng quát về AT89C51:
AT89C51 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.
4
- 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
Có 128 byte RAM trong 8051 (một số thành viên có 256 byte RAM). 128 byte
RAM trong 8051 được gán địa chỉ từ 00 đến 7FH, chúng được phân chia thành
từng nhóm như sau:
- Các bank thanh ghi và ngăn xếp 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.
* Sơ đồ chân AT89C51:
Hình 2.3. Sơ đồ chân AT89C51
5

- 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.
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.
2) Bộ chuyển đổi ADC0804:
*) Chức năng: chuyển đổi tín hiệu Analog từ nguồn điện áp cần đo thành tín hiệu
Digital, đưa vào 89C51.
*) Thành phần chính trong khối:
+ 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
6
đị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:

- 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.
- 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.
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).
- 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ự Vin về số nhị phân 8 bit. Khi việc chuyển đổi hoàn tất thì chân INTR được ADC
hạ xuống thấp.
- CLK IN và 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
=
Với R=10 k, C=150pF và tần số f=606 kHz và thời gian chuyển đổi là 110 s.
7
Hình 2.4. Sơ đồ chân ADC0804
- 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.
- 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ố.
- 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ở.
- 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
đến +5V. Chân Vref/2 được dùng để thực hiện các điện áp đầu ra khác 0 đến +5V.
- Bảng quan hệ điện áp Vref/2 với Vin:
8
Ghép nối giữa ADC và vi điều khiển
Hình 2.5. Ghép nối giữa ADC và vi điều khiển.
3) Màn hình hiển thị LCD
9
- Chức năng của LCD trong hầu hết các mạch, các bộ điều khiển đảm nhân vai trò
hiển thị các thông số, các thông tin mà chúng ta muốn nhập vào hay các thông tin
xử lý mà bộ điều khiển đang hoạt động được hiển thị ra màn hình, giúp chúng ta
giao tiếp gần hơn với quá trình hoạt đông của hệ thống. LCD có loại 14 chân hoặc
16 chân.
- Hình ảnh một màn hình LCD 16 chân được mô tả phía dưới
Hình 2.6. Hình ảnh LCD 16 chân
*) Mô tả các chân của LCD
Chân V
cc
, V
ss
, V
ee

: là các chân cấp dương nguồn, -5V và đất tương ứng thì
V
EE
được dùng để điều khiển độ tương phản của LCD.
Chân chọn thanh ghi RS:
Có 2 thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các
thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mã lệnh được chọn để cho phép
người dùng gửi 1 lệnh tới LCD. Nếu RS =1 thì thanh ghi dữ liệu được chọn cho
phép người dùng gửi dữ kiệu cần hiển thị lên LCD.
Chân đọc/ghi (R/W)
10
Đầu vào đọc/ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0 hoặc
đọc thông tin từ nó khi R/W =1
Chân cho phép E.
Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên chân dữ
liệu của nó. Khi dữ liệu được cấp tới chân dữ liệu thì một xung mức cao xuống
thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu. Xung
này phải rộng tối đa 450ns
Chân D0-D7.
Đây là 8 chân dữ liệu 8bit, được dùng để gửi thông tin lên LCD hoặc đọc nội dung
của các thanh ghi trong LCD.
Để hiển thị các chữ cái và con số ta hiển thị mã ASCII của các chữ cái từ A đến Z,
a đến f và các con số từ 0 - 9 đến các chân này khi bật RS =1.
Cũng có các mã lệnh có thể gửi đến LCD để xoá màn hình hoặc đưa con trỏ
về đầu dòng, hoặc nhấp nháy con trỏ.
Chúng ta cũng sử dụng RS = 0 để kiểm tra bit cờ bận xem LCD có sẵn sàng
nhận thông tin. Cò bận là D7 và có thể được đọc khi R/W = 1 và RS = 0 như sau:
Nếu R/W = 1, RS = 0 khi D7 =1 thì LCD bận bởi các công việc bên trong và
sẽ không nhận bất kì thông tin mới nào. Khi D7 = 0 thì LCD sẵn sàng nhận thông
tin mới. Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ thông tin nào lên

LCD.
Bảng mô tả các chân của LCD 14 chân:
11
Ghép nối giữa LCD và vi điều khiển
12
Hình 2.7. Ghép nối giữa vi xử lý và LCD
2.3. Tính chọn các phần tử
Điện áp tham chiếu đặt vào chân V
ref/2
chọn 1,28V. Sơ đồ cấp điện áp đầu
vào dải từ -5VDC đến -24VDC. Điện áp nguồn qua cầu phân áp điện trở R
2
, R
3
để
13
đưa điện áp từ 0 đến 2,56V vào V(in). Ta tính toán giá trị điện trở cầu phân áp theo
giá trị điện áp dương.
Ghép nối giữa cầu phân áp và ADC0804
Với mạch trên ta có công thức:
32
3
)(
RR
RVDC
Vin
+

=−
Với VDC là nguồn điện áp của dải cần đo: VDC = 24V, V(in-) = 2,56V thì:

32
324
56,2
RR
R
+

=
2,56( R
2
+R
3
) = 24.R
3
<=> 21,44.R
3
= 2,56.R
2
=> R
3
= 0,1194R
2
14
Chọn R
2
= 500k => R
3
= 59.7k
Do có sai số giữa các giá trị điện trở, ta chọn lại giá trị điện trở R
3

= 55,8k
2.4. Sơ đồ nguyên lý
Hình 2.8. Sơ đồ nguyên lý
15
CHƯƠNG 3. THIẾT KẾ PHẦN MỀM
3.1. Lưu đồ thuật toán

3.2. Chương trình code lệnh
#include <sfr51.inc>
16
ORG 000H
MOV A,#38H ;bat man hinh LCD hien thi 2 dong
LCALL GUI_LENH
MOV A,#0CH ;LCD hien thi o che do khong co con tro
LCALL GUI_LENH
MAIN:
While:
LCALL Chuyen_doi_ADC;
LCALL hienthi
LJMP While;
;
;Chuong trinh con dieu khien va lay du lieu chuyen doi
;tin hieu tuong tu sang tin hieu so 8bit
Chuyen_doi_ADC:
CLR P0.7
SETB P0.7 ;bat dau chuyen doi
ACALL DELAY
CLR P0.7;
ACALL DELAY
MOV A,P1; chuyen tin hieu so tu P1 vao A

MOV R0,A;
RET
;
; Chuong trinh con thuc hien xu li du lieu cho hien thi len LCD
; Phuong phap hien thi quet LCD
hienthi:
MOV A,#'-' ;tao dau cach
17
MOV P2,A ;chuyen sang LCD
ACALL GUI_DATA
;Hien thi hang chuc
MOV A,R0 ;lay lai du lieu so tu R0
MOV B,#64H
DIV AB ;chia A cho 100D lay so hang chuc
ADD A,#30H ;chuyen sang ma ASCII
MOV P2,A ;gui so hang chuc sang LCD
LCALL GUI_DATA
;Hien thi hang don vi
MOV A,R0;
MOV B,#64H;
DIV AB;Chia A cho B
CLR A
MOV A,B
MOV B,#0AH
DIV AB
ADD A,#30H;
MOV P2,A;
LCALL GUI_DATA
;hien thi dau cham thap phan
MOV A,#'.'

MOV P2,A
LCALL GUI_DATA
;Hien thi hang phan thap phan
MOV A,R0;
MOV B,#64H
18
DIV AB
CLR A
MOV A,B
MOV B,#0AH
DIV AB
CLR A
MOV A,B
ADD A,#30H;
MOV P2,A;
LCALL GUI_DATA
;Hien thi don vi von
MOV A,#' '
MOV P2,A
LCALL GUI_DATA
MOV A,#'V'
MOV P2,A
LCALL GUI_DATA
;Quet lai LCD
MOV A,#80H
LCALL GUI_LENH
RET
;
;Chuong trinh con gui lenh ra LCD
GUI_LENH:

lcall READY ;kiem trA xem LCD da san sang chua
MOV P2,A ;xuat ma lenh ra cong P2
CLR P0.0 ;RS=0: dat RS = 0 cho nhan lenh
19
CLR P0.1 ;R/W=0: dat R/W = 0 de ghi du lieu ra LCD
SETB P0.2 ;E=1: tao phan cao cua xung
CLR P0.2 ;E=0: phan thap cua xung de chot du lieu
RET
;
;Chuong trinh con gui du lieu hien thi len man hinh LCD
GUI_DATA:

LCALL READY ; xem LCD da san sang chua
MOV P2,A ;xuat du lieu ra P2
SETB P0.0 ;RS=1: dat RS = 1 cho nhan du lieu
CLR P0.1 ;R/W=0 ghi ra LCD
SETB P0.2 ;E=1:phan cao cua xung ap toi chan E
CLR P0.2 ;E=0: phan thap cua xung chot chot du lieu
RET
READY: ;Chuong chinh kiem tra LCD da san sang nhan lenh chua
SETB P2.7 ;lay P2.7 lam cong dau vao
CLR P0.0 ;RS=0: dat P0.0 truy cap thanh ghi lenh
SETB P0.1 ;R/W=1:doc thanh ghi lenh
BACK: CLR P0.2 ;E=0
SETB P0.2 ;E=1
JB P2.7,BACK ;kiem tra LCD xem da san sang nhan lenh chua,neu
P2.7= 1 xuat ma lenh
RET
;
;Chuong trinh tao tre

delay:
MOV R6,#80H;
20
tre1:
djnz R6,tre1
RET
END
Ví dụ khi đo điện áp -20V
3.3. Kết luận
Để củng cố thêm kiến thức về môn học kỹ thuật vi xử lý, em đã được giao
làm bài tập lớn với đề tài: thíêt kế mạch đo điện áp một chiều dải từ -5V đến -24V.
Với sự chỉ bảo tận tình của các thầy cô đặc biệt là sự giúp đỡ của thầy Phạm Tuấn
Anh cùng với sự nỗ lực của bản thân em đã hoàn thành bài tập của mình. Qua đó
21
giúp em biết được ứng dụng của vi điều khiển có thể được sử dụng để thiết kế các
mạch đo đo các tín hiệu trong kĩ thuật như điện áp, tần số, tốc độ, và ghép nối
giữa vi điều khiển và ADC, các thiết bị hiển thị. Tuy nhiên với kiến thức còn hạn
chế nên khó tránh khỏi những thiếu sót: cụ thể khi đo điện áp từ -5V đến -10V thì
sai số còn lớn, việc tính toán điện trở cho mạch cầu phân áp đưa vào các chân Vin
của bộ chuyển đổi ADC còn chưa chính xác. Do đó nếu có thời gian và kiến thức
tốt hơn em sẽ hoàn thành tốt hơn bài tập của mình, vì vậy em rất mong được sự
nhận xét góp ý của thầy giáo và các bạn.
22
Tài liệu tham khảo:
[1] Phạm Thượng Hàn, Nguyễn Trọng Quế, Nguyễn Văn Hoà, Nguyễn Thị Vấn-
Kĩ thuật đo lường các đại lượng vật lý (tập 2)- Nhà xuất bản giáo dục- năm 2004.
[2] Bài giảng Kỹ thuật vi xử lý - Khoa Điện Điện tử tàu biển - Trường Đại học
Hàng Hải.
23

×