Chương 1
Khái quát chung về mạch đo
1.1.Khái niệm chung
a) Định nghĩa:
-Mach đo là thiết bị kỹ thuật làm nhiêmh vụ biến đổi ,gia công thông tin
tính toán,phối hợp các tin tức với nhau trong một hệ thống vật lý thống nhất
b)Phân loại:theo chức năng có các loại mạch đo
-Mạch tỉ lệ: thực hiện một phép nhân (hoặc chia) với một hệ số k,đại
lượng vào là x thì đại lượng ra là k.x
-Mạch khuếch đại : thực hiện một phép nhân (hoặc chia) với một hệ số
k(gọi là hệ số khuêchs đại) nhưng có công suất tín hiệu ra lớn hơn công suất
tín hiệu vào(đại lượng vào điều khiển đại lượng ra)
-Mach gia công và tính toán :thực hiện các phép tính :cộng ,trừ, nhân,
chia, tích phân, vi phân, lôgarit, hàm mũ,…
-Mạch so sánh: thực hiện so sánh giữa hai tín hiệu (thường là hai điện
áp),thường được sử dụng trong các thiết bị đo dùng phương pháp so sánh.
-Mạch tạo hàm: tạo ra những hàm số theo yêu cầu của phép đo,nhằm
mục đích tuyến tính hóa các đặc tính của tín hiệu đo ở đầu ra các bộ cảm
biến.
-Mạc biến đổi A/D,D/A: biến đổi tín hiệu từ dạng tương tự ra dạng số và
ngược lại,sử dụng cho kỹ thuật đo số và chế tạo các mạch ghép nối với máy
tính.
-Mạch đo xử 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.
1.2.Các đặc tính cơ bản của mạch đo :
Mỗi mạch đo đều có những đặc tính kỹ thuật cụ thể quyết định tính chất,
tác dụng của mạch đo đó,tùy từng mạch đo sẽ có những đặc tính riêng biệt,
tuy nhiên có thể xét những đặc tính cơ bản chung của các loại mạch đo khác
nhau.
1.2.1.Chức năng và phạm vi làm việc :
- Chức năng của mạch đo : chức năng cơ bản của mạch đo là thực hiện
các phép tính.Phương trình quan hệ giữa đầu vào và đầu ra của mạch đo
trong những trường hợp đơn giản là tỉ số W=Y/X với X là tập các đầu vào
và Y là tập các đầu ra.
Trong trường hợp phức tạp thì W là một hàm của thời gian W(t) gọi là hàm
truyền đạt tương hỗ.
- Phạm vi của mạch đo : hàm truyền đạt W được xác định trong phạm vi
nào đó của đại lượng vào và đại lượng ra gọi là phạm vi làm việc của mạch
đo, vượt ra ngoài phạm vi đó thì W không còn đảm bảo sai số cho phép.
1.2.2.Sai số:
Sai số trong mạch đo có thể chia làm hai loại:
-Sai số của chính bản than mạch đo gây ra bởi những sự biến động về
quan hệ tương hỗ (hàm truyền đạt).
-Sai số do sự kết hợp các đại lượng đầu vào.
1.2.3.Đặc tính động:
Khi đo các đại lượng biến thiên theo thời gian yêu cầu mạch đo phải đáp
ứng được các đặc tính động yêu cầu.
Đặc tính động của mạch đo phải đảm bảo để cho sai số của mạch đo không
vượt quá sai số cho phép của cả thiết bị đo.Do đó khi xét đặc tính động học
ta phải xét đến hàm truyền đạt của mạch đo phụ thuộc vào tần số W(p) như
xét một mạng bốn cửa.
1.2.4.Công suất tiêu thụ:
Ngoài nhiệm vụ thực hiện các phép gia công,mạch đo cnf có nhiệm vụ nối
các khâu với nhau,hay nói cách khác là có nhiệm vụ phối hợp trở kháng đầu
vào và đầu ra của các khâu.
Thường thì cố gắng làm cho trở kháng đầu vào của mạch đo rất lớn so với
trở kháng đầu ra của khâu trước đó,tức là công suất tiêu thụ của mạch đo
nhỏ hơn so với công suất ra của khâu trước.
CHƯƠNG 2
THIẾT KẾ PHẦN CỨNG
Sơ đồ nguyên lý:
2.1.Khối công suất
-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.
Khối công
suất
Khuếch đại
thuật toán
ADC
0804
Vi xử lý
AT89C51
LCD
2.2.Khối khuếch đại thuật toán
Gồm 2 khối:
-Khối cộng điện áp không đảo:đưa tín hiệu điện áp từ -5v - +5v
thành 0v - +10v.
-Khối chia điện áp:đưa tín hiệu điện áp từ 0v - +10v thành 0v –
5v.
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:
- 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
11
1
⋅
=
- 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 - +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 Vin(+) được nối với cầu phân áp tạo bởi R16 và R17, sao cho
VDC = 0 - 250V tương ứng với Vin(+) = 0 - 5V. Ta suy ra công thức:
1716
17
)(
RR
RVDC
Vin
+
⋅
=+
với Vin(+) = 5V, VDC = 250V
Suy ra: R16 = 50R17. Chọn R17 = 10KΩ thì R16 = 500KΩ.
Chọn R16 = 510 KΩ
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 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ế).
-Để giảm sai số ở ngỏ vào của ADC0804, ta cần mắc thêm biến trở
RV2 như sơ đồ nguyên lý. Theo tính toán thì R17 = 10 KΩ, ta chọn R17 =
4.7 KΩ nên chọn RV2 = 10 KΩ.
- Chân Vref/2 được nối với biến trở RV1 để có thể điều chỉnh điện áp
từ 1.6V đến 3.75V. Theo tính toán thì chân Vref/2 = 2.5V nhưng do chân
Vin(+) thực tế có sai số (sai số chủ yếu trên cầu phân áp R16 và R17) nên
chân Vref/2 thực tế sẽ không bằng 2.5V. Do đó biến trở RV1 được sử dụng
để giảm sai số này. Thay đổi Vref/2 đồng nghĩa với việc thay đổi dãy điện
áp ngỏ vào.
- 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ó:
Vn 0196.0
255
5
≈=
(chia 255 vì từ 0
- 255 có 255 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:
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.
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
2.5.LCD
a. Hoạt động của LCD.
Trong những năm gần đây LCD đang ngày càng đợc sử dụng rộng rãi
thay thế dần cho các đèn LED (các đèn LED 7 đoạn hay nhiều đoạn). Đó là
vì các nguyên nhân sau:
1. Các LCD có giá thành hạ.
2. Khả năng hiển thị các số, các ký tự và đồ hoạ tốt hơn nhiều so với các đèn
LED (vì các đèn LED chỉ hiển thị đợc các số và một số ký tự).
3. Nhờ kết hợp một bộ điều khiển làm tơi vào LCD làm giải phóng cho CPU
công việc làm tơi LCD. Trong khi đèn LED phải đợc làm tơi bằng CPU
(hoặc bằng cách nào đó) để duy trì việc hiển thị dữ liệu.
4. Dễ dàng lập trình cho các ký tự và đồ hoạ.
b. Mô tả các chân của LCD.
LCD đợc nói trong mục này có 14 chân, chức năng của các chân đợc
cho trong bảng 12.1. Vị trí của các chân đợc mô tả trên hình 12.1 cho nhiều
LCD khác nhau.
1. Chân V
CC
, V
SS
và V
EE
: Các chân V
CC
, V
SS
và V
EE
: 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.
2. Chân chọn thanh ghi RS (Register Select).
Có hai 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 một lệnh chẳng hạn nh xoá màn hình, đa con trỏ
về đầu dòng v.v Nếu RS = 1 thì thanh ghi dữ liệu đ ợc chọn cho phép ngời
dùng gửi dữ liệu cần hiển thị trên LCD.
3. Chân đọc/ ghi (R/W).
Đầ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.
4. Chân cho phép E (Enable).
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 đến 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 thiểu là 450ns.
5. Chân D0 - D7.
Đây là 8 chân dữ liệu 8 bít, đợ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à các con số, chúng ta gửi các 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 mà có thể đợc 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ỏ. Bảng 12.2 liệt kê các
mã lênh.
Chúng ta cũng sử dụng RS = 0 để kiểm tra bít 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 (cờ bận 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. Lu ý chúng ta nên kiểm tra cờ bận trớc
khi ghi bất kỳ dữ liệu nào lên LCD.
Bảng 12.1: Mô tả các chân của LCD.
Chân Ký hiệu I/O Mô tả
1 V
SS
- Đất
2 V
CC
- Dơng nguồn 5v
3 V
EE
- Cấp nguồn điều khiển phản
4 RS I RS = 0 chọn thanh ghi lệnh. RS = 1
chọn thanh dữ liệu
5 R/W I R/W = 1 đọc dữ liệu. R/W = 0 ghi
6 E I/O Cho phép
7 DB0 I/O Các bít dữ liệu
8 DB1 I/O Các bít dữ liệu
9 DB2 I/O Các bít dữ liệu
10 DB3 I/O Các bít dữ liệu
11 DB4 I/O Các bít dữ liệu
12 DB5 I/O Các bít dữ liệu
13 DB6 I/O Các bít dữ liệu
14 DB7 I/O Các bít dữ liệu
2.6.S ghộp ni cỏc chõn ca ADC,AT89C51 V LCD
CHƯƠNG 3:LƯU ĐỒ THUẬT TOÁN VÀ CODE LỆNH
3.1 Lưu đồ thuật toán
3.2.Code lệnh
======Nhập dữ liệu x======
Include <sfr51.h>
Begin
Cập nhật dữ
liệu
ADC 0804
Vi xử lí
LCD
End
DELAY
Lap: Mov 20H,P2
ACALL DELAY
JB RD,Lap
======Viết chương trình cho vi điều khiển=====
Loop: SETB P3.0;CS
SETB P3.1;RD
SETB P3.6;WR
NOP
CLR P3.0;CS
NOP
CLR P3.6;WR
SETB P3.6
JB P3.5,$;INTR
CLR P3.1;RD
NOP
LOOP1:
MOV A,#10
MOV B,20H
MUL AB
MOV R5,A
MOV A,#5
MOV B,#255
MUL AB
MOV R6,A
MOV A,R5
MOV B,#255
DIV AB
=====Chuyển đổi tín hiệu 8 bít nhị phân về ASCII=====
CHUYEN MOV B,#10
DIV AB
MOV B,#10
DIV AB
ORL A,#30H
MOV R4,A
MOV A,B
ORL A,#30H
MOV R3,A
MOV A,R2
ORL A,#30H
MOV R2,A
RET
=====Khởi tạo LCD=====
Tao: ORG
CLR P3.2
MOV A,#38h
SETB P3.4
CLR P3.4
ACALL DELAY
CLR P3.2
MOV A,#0Eh
SETB P3.4
CLR P3.4
ACALL DELAY
CLR P3.2
MOV A,#06h
SETB P3.4
CLR P3.4
ACALL DELAY
DELAY:
CLR 3.4
CLR 3.2
SETB 3.3
MOV DATA,#0FFh
SETB 3.4
MOV A,DATA
JB ACC.7,WAIT_LCD
CLR 3.4
CLR 3.3
RET
=====Truyền dữ liệu đến LCD có kiểm tra cờ bận=====
ORG
MOV A, # 38H
ACALL COMMAND
MOV A, # 0EH
ACALL COMMAND
MOV A, # 01H
ACALL COMMAND
MOV A, # 86H
ACALL COMMAND
MOV A, # “N”
ACALL DATA DISPLAY
MOV A, # “0”
ACALL DATA DISPLAY
HERE: SJMP HERE
COMMAND: ACALL READY
MOV P1, A
CLR P3.2
CLR P3.3
SETB P3.4
CLR P3.4
RET
HIENTHI: ACALL LCD_BUSY
MOV P1, A
SETB P3.2
CLR P3.3
SETB P3.4
CLR P3.4
RET
:
LCD_BUSY:
SETB LCD_D7
SETB LCD_EN
CLR LCD_RS
SETB LCD_RW
CHECK:
CLR LCD_EN
SETB LCD_EN
JB LCD_D7,CHECK
RET
END.