2. SƠ LƯỢC VỀ CÁC PHƯƠNG PHÁP BIẾN ĐỔI AD

Tín hiệu trong thế giới thực thường ở dạng tương tự (analog), nên mạch điều

khiển thu thập dữ liệu từ đối tượng điều khiển về (thông qua các cảm biến) cũng ở

dạng tương tự. Trong khi đó, bộ điều khiển ngày nay thường là các μP, μC xử lý dữ

liệu ở dạng số (digital). Vì vậy, cần phải chuyển đổi tín hiệu ở dạng tương tự thành tín

hiệu ở dạng số thông qua bộ biến đổi AD.

Có nhiều phương pháp biến đổi AD khác nhau, ở đây chỉ giới thiệu một số

phương pháp điển hình.

2.1. Biến đổi AD dùng bộ biến đổi DA.

Trong phương pháp này, bộ biến đổi DA được dùng như một thành phần trong

mạch. Khoảng thời gian biến đổi được chia bởi nguồn xung clock bên ngoài. Đơn vị

điều khiển là một mạch logic cho phép đáp ứng với tín hiệu Start để bắt đầu biến đổi.

Khi đó, OPAMP so sánh hai tín hiệu vào analog để tạo ra tín hiệu digital biến đổi trạng

thái của đơn vị điều khiển phụ thuộc vào tín hiệu analog nào có giá trị lớn hơn. Bộ

biến đổi hoạt động theo các bước :

• Tín hiệu Start để bắt đầu biến đổi.

• Cứ mỗi xung clock, đơn vị điều khiển sửa đổi số nhị phân đầu ra và đưa

vào lưu trữ trong thanh ghi.

• Số nhị phân trong thanh ghi được chuyển đổi thành áp analog vAX qua bộ

biến đổi DA.

• OPAMP so sánh vAX với điện áp đầu vào vA. Nếu vAX < vA thì đầu ra ở

Mạch khống chế nhiệt độ

mức cao, còn ngược lại, nếu vAX vượt qua vA một lượng vT (áp ngưỡng)

thì đầu ra ở mức thấp và kết thúc quá trình biến đổi. Ở thời điểm này,

vAX được xấp xỉ bằng vA số nhị phân chứa trong thanh ghi chính l giá trị

digital xấp xỉ của vA (theo một độ phân giải và chính xác nhất định của

từng hệ thống).

Clock

Đầu vào analog

vA

EOC

Start

• Đơn vị điều khiển kích hoạt tín hiệu EOC, báo rằng được kết theo quá

+ OPAMP -

So snh

vA

vAX

Reset

Khi chuyển đổi hoàn tất, counter ngừng đếm

EOC

Clock

Counter

Bộ biến đổi DA

tC

vAX

. . .

t r a t S

Kết quả digital

trình biến đổi. Dựa theo phương pháp này, có nhiều bộ biến đổi như sau :

2.2. Giới thiệu về IC ADC 0804

Bộ ADC 0804 là một thiết bị CMOS tích hợp với một bộ chuyển đổi từ

tương tự sang số 8 bit, bộ chọn 1 kênh với một bộ logic điều khiển tương thích.

Bộ chuyển đổi AD 8 bit này dùng phương pháp chuyển đổi xấp xỉ tiếp.

Thiết bị này loại trừ khả năng cần thiết điều chỉnh điểm 0 bên ngoài và

khả năng điều chỉnh tỉ số làm tròn ADC 0804 dễ dàng giao tiếp với các bộ vi xử

lý.

Mạch khống chế nhiệt độ

• Sơ đồ chân ADC 0804:

Chức năng các chân:

CS: Ngõ vào cho phép

RD,WR: Đọc ghi

INTR :cho phép chốt địa chỉ

DB0…DB7 : ngõ ra song song 8 bit

CLK : xung đồng hồ

VREF : điện thế tham chiếu

Vin+, Vin-: ngõ vào tương tự

VCC, GND: nguồn cung cấp

Các đặc điểm của ADC 0804:

Độ phân giải 8 bit

. Tổng sai số chưa chỉnh định ± ½ LSB; ± 1 LSB

. Thời gian chuyển đổi: 100μs ở tần số 640 kHz

. Nguồn cung cấp + 5V

. Điện áp ngõ vào 0 – 5V

Mạch khống chế nhiệt độ

. Tần số xung clock 10kHz – 1280 kHz . Nhiệt độ hoạt động - 40oC đến 85oC

. Dễ dàng giao tiếp với vi xử lý hoặc dùng riêng

. Không cần điều chỉnh zero hoặc đầy thang

Nguyên lý hoạt động:

ADC 0804 có 1 vào tương tự để chuyển đổi sang số 8 bit.

Sau khi kích xung start thì bộ chuyển đổi bắt đầu hoạt động ở cạnh xuống

của xung INTR, lúc này bit cơ trọng số lớn nhất (MSB) được đặt lên mức 1, tất

cả các bit còn lại ở mức 0, đồng thời tạo ra điện thế có giá trị Vref/2, điện thế

này được so sánh với điện thế vào in.

+ Nếu Vin > Vref/2 thì bit MSB vẫn ở mức 1.

+ Nếu Vin < Vref/2 thì bit MSB vẫn ở mức 0.

Tương tự như vậy bit kế tiếp MSB được đặt lên 1 và tạo ra điện thế có giá

trị Vref/4 và cũng so sánh với điện áp ngõ vào Vin. Quá trình cứ tiếp tục như

vậy cho đến khi xác định được bit cuối cùng. Khi đó chân INTR lên mức 1 báo

cho biết đã kết thúc chuyển đổi.

Trong suốt quá trình chuyển đổi nếu có 1 xung start tác động thì ADC sẽ

ngưng chuyển đổi.

ref

)( ) −

Mã ra N cho một ngõ vào tùy ý là một số nguyên.

N

=

.( 256 VV − IN −

V ref

V ref

)( +

)( −

Trong đó Vin: điện áp ngõ vào hệ so sánh.

Vref(+): điện áp tại chân REF(+).

V in

Vref(-): điện áp tại chân REF(-).

V

ref

)

(+

Nếu chọn Vref(-) = 0 thì N = 256.

Vref(+) = Vcc = 5V thì đầy thang là 256.

• Mạch tạo xung clock cho ADC 0804: Sử dụng mạch dao động dùng RC

R1 10K

C1 100p

Mạch khống chế nhiệt độ

để tạo dao động cho ADC như sau:

1 RC1.1

Tần số dao động của mạch là f =

Tần số dao động chuẩn là 600 kHz đến 700Khz

Với R từ 1kΩ đến vài chục kΩ chọn R =15 kΩ ⇒ C = 100 pF

9

− = 667Khz

1 100

10.

3 .10.15

=> f =

Từ những điều trên ta kết luận rằng các bước cần phải thực hiện khi chuyển đổi

dữ liệu bởi ADC0804 là:

(cid:57) Bật CS = 0 và gửi một xung thấp lên cao tới chân WR để bắt đầu chuyển đổi.

(cid:57) Duy trì hiển thị chân INTR . Nếu INTR xuống thấp thì việc chuyển đổi được

hoàn tất và ta có thể sang bước kế tiếp. Nếu INTR cao tiếp tục thăm dò cho đến khi

nó xuống thấp.

(cid:57) Sau khi chân INTR xuống thấp, ta bật CS = 0 và gửi một xung cao xuống thấp

đến chân RD để lấy dữ liệu ra khỏi chip ADC0804. Phân chia thời gian cho quá

trình này được trình bày như hình 8.

Hình 8: Phân chia thời gian đọc và ghi của ADC0804

CHƯƠNG 4

THIẾT KẾ PHẦN CỨNG

1.SƠ ĐỒ KHỐI

Mạch khống chế nhiệt độ

Hệ hoạt động theo chương trình đã nạp trên ROM , qua sự điều khiển của MCU

8051 phần cảm biến nhiệt đặt ở nơi ta muốn đo, nó sẽ đọc tín hiệu của nhiệt độ qua

mức điện áp tín hiệu analog được chuyển thành tín hiệu số và giao tiếp với hệ thống

qua data bus.

Trên cơ sở chương trình được nạp trên ROM và tín hiệu nhận được, MCU cho

phép thiết bị ngoại vi hoạt động như : hiển thị giá trị nhiệt độ tương ứng điều khiển

nhiệt độ thích hợp.

2 .SƠ LƯỢC CHỨC NĂNG CÁC BỘ PHẬN

-Vi xử lý 8051 là phần tử chính xử lý các thông tin nhập vào và đưa ra các quyết

định điều khiển.

- Phím là bộ phận giao tiếp ngoại vi, cho phép nhập các thông số bằng tay.

- Mạch hiển thị, hiển thị các giá trị đặt và giá trị đo.

- Mạch cảm biến dùng để khuyếch đaị tín hiệu và bù nhiệt.

- Mạch công suất dùng để đóng mở nguồn công suất.

3.SƠ ĐỒ CHI TIẾT CÁC KHỐI

3.1.Thiết kế phím :

Gồm 3 phím:

- Phím tăng

- Phím giảm

- Phím chức năng

Mạch khống chế nhiệt độ

- Phím thoát

P 2 . 4

P 2 . 5

P 2 . 6

P 2 . 7

R

VCC

SW1

SW1

SW1

SW2

Hình 9. Các phím nhấn

3.2.Khối mạch cảm biến nhiệt

VCC

-VCC

20K

R5

-VCC

R2 39K

-VCC

U3

4 8

U1

OP-07

VCC

4 8

2

R4

U6

J2

7 1

OP-07

-

R3

6

2

20K

-

3

6

3

+

+

R2

3

6

1 2

10K

D1

+

10K

C7

2

-

7 1

R8

10UF

R6 20K

7 1

C3 10UF

CON2

LM 335

4 8

OP-07

100K

VCC

VCC

VCC

LM335 là cảm biến nhiệt độ có thể hoạt động đến 150oC tương ứng với nhiệt độ 0oK , LM335 cho ra điện áp 0V . Cứ tăng 1oC ,điện áp ra tăng 10mV.Như vậy với 0oC

• Tính toán và cân chỉnh :

thì điện áp là 2.73V.

• Xét mạch khuếch đại trừ :

Gọi Vi1 = VOUT 1 là áp ngõ vào đảo của U3 , Vi2 = V OUT2 áp ngõ vào không đảo

của U3. Áp dụng phương pháp xếp chồng cho từng kích thích ngõ vào ,ngắn mạch ngõ

vào còn lại ta được :

Mạch khống chế nhiệt độ

Trong trường hợp này ta chọn R5=R6 và R4=R3 thì Vo được viết lại như sau

Suy ra điện áp ngõ ra sẽ thay đổi A *10mV khi nhiệt độ thay đổi 1oC .độ phân giải cần là 1oC nên điện áp thay đổi khi nhiệt độ thay đổi 1oC,phải bằng độ phân giải của

AD0804 :

Av *10mV = 19.6mV

=>Av = 1.96

=>Chọn R5 = 20 K và R3 = 10K

• Cân chỉnh :

Chỉnh VR1 sao cho VI của U3 =2.73 + 0.01* toC Nhưng trong thực tế để chính xác ,nhúng LM335 vào nước đá đang tan (0oC) .

Chỉnh VR2 sao cho V2 của U2 = 2.73V.

• Thiết kế bộ cảm biến nhiệt :

Tầm làm việc trong hệ thống mạch từ 0 ÷150oC.

Để đo nhiệt độ chính xác phải có các đầu đo đặc biệt. Đầu đo dưới dạng vi mạch

LM335 là một đầu đo đơn giản và chính xác với giá thành lại rẻ .LM335 có độ biến

thiên điện áp theo nhiệt độ là 10mV/ K ,có một dãy độ chính xác khá cao và cảm biến nhiệt tốt ở nhiệt độ 25oC có độ sai số nhỏ hơn 1oC.với tầm đo từ nhiệt độ 0 ÷100oC,

ngõ ra của cảm biến này tuyến tính.

• Các tính chất của cảm biến LM335 :

Chia độ trực tếp theo oK Độ chính xác ban đầu là 1oC

Trở kháng động < 1Ω

Tầm nhiệt độ rộng . Khoảng đo 150oC

• Tầm tuyệt đối lớn nhất :

Dòng ngược 15mA

Dòng thuận 10mA Điện áp hoạt động ngõ ra ở điều kiện TC =25oC, IR =1nA tương ứng 2.92 ÷ 3.04V

có:

400μA < IR < 5mA.

5 − V0 R

Mạch khống chế nhiệt độ

< 5 mA 400μA <

5 V 0− mA 5

5 V 0− A μ400

< R <

Vì: 2,73V ≤ Vo ≤ 3,73V

Nên: 254 < R < 5,7 k (1) Mặt khác, theo thông số của nhà sản xuất điện áp trên LM335 tại Tc = 25oC,

IR = 1mA thì Vo = 2,98 (V), ta có:

98,25 − R

< 5mA (2) 400μA <

Từ (1) và (2): chọn R = 2,2 kΩ

chọn biến trở chỉnh offset VR = 15 kΩ.

Sai số nhiệt ở 25oC ở điều kiện Tmin 1 ÷ 2oC

Điện áp ngõ ra hoạt động ở điều kiện 400µA

+5V

Vout

Theo thông số của nhà sản xuất IC LM335 có độ biến thiên điện áp như sau:

VR

LM335 0oC (273oK ) áp ra 2.73V 5oC (278oK ) áp ra 2.78V 25oC (298oK ) áp ra 2.98V 50oC (323oK ) áp ra 3.23V 100oC (373oK ) áp ra 3.73V

Tầm biến thiên điện áp tương ứng với nhiệt độ từ 0oC - 100oC là 1V

Điện áp ra từ bộ cảm biến LM335 theo công thức: Vout = 0,01 x ToK = 2,73 + 0,01ToC.

Mạch khống chế nhiệt độ

Ta

3.3. Sơ đồ nguyên lý tổng quát

R 2

V C C

V C C

R 2

3 9 K

D 1

2 0 K

L M 3 3 5

C 3

C 7

1 0 U F

3 2

1 0 U F

-

3 2

-+

-

-+

V C C

7 1

4 8

V C C

V C C

7 1

4 8

V C C

6

6

O P - 0 7

U 3

U 1O P - 0 7

R 3

1 0 K

1 0 K

R 4

R 6

R 5

3 2

3 9 K

-

-+

2 0 K

V C C

4 8

7 1

V C C

P 3 . 7

P 3 . 6

M U C C A O

M U C T H A P

-

6

V C C

V C C

12

1234

U 6O P - 0 7

45

J 2

7

14

C O N 4

V C C

7

14

V C C

V C C

1 0 0 K

3

R

R 7

6

U 3 A

R 9

7 4 0 0

U 3 B

7 4 0 0

C 8

1 5 0 p

V C C

4

7

9

6

8

J 1

J 3

1

- I

U 4

I

C O N 1

C O N 3

R 1 0

N

+ N

1 2 3

I

1 0 K

R

V R E F

4

10

R 1

/

C L K N

A G N D G N D

2

A D C 0 8 0 4

3

I

19

6

D 1

C 6

C LKR

5

20

I

V C C

V C C

D O D E

C A P N P

1 2

1

R D

W R

N T R

C S

D B 7

D B 6

D B 5

VC C /V R EF D D D B B B 4 2 0

D B 3

D B 1

J 3

5

123

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

L S 1

Q 1

C O N 1

N P N

P 3

P 3

P 3

P 3

.

.

.

.

D 2L E D

2

1

0

3

R E L A Y

R 2R

B C E

D P S T

P 3

P 3

P 3

P 3

P 3

P 3

.

.

.

.

.

.

2

0

1

7

3

6

1 8

1 9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

12345678

1 2 M H Z

X 2

X 1

P 1

P 1

P 1

P 1

P 1

P 1

P 1

P 1

P 3

P 3

P 3

P 3

P 3

P 3

P 3

P 3

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

6

5

4

3

2

1

0

1

2

3

4

5

/

/

/

/

/

/

/ I

/ I

T 0

T 1

7 R D

40

6 W R

T X D

0 R X D

N T 0

N T 1

V C C

V C C

20

8 9 C 5 1

G N D

P 0

P 0

P 0

P 0

P 0

P 0

P 0

P 0

P 2

P 2

P 2

P 2

P 2

P 2

.

.

.

.

.

.

.

.

.

.

.

.

.

.

P 2

P 2

.

.

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

P S E N

0 A D 0

1 A D 1

2 A D 2

3 A D 3

4 A D 4

5 A D 5

6 A D 6

7 A D 7

7 A 1 5

6 A 1 4

5 A 1 3

4 A 1 2

3 A 1 1

2 A 1 0

1 A 9

0 A 8

A L E

E A

R S T

V C C

9

3 1

2 9

3 0

3 9

3 8

3 7

3 6

3 5

3 4

3 3

3 2

2 8

2 7

2 6

2 5

2 4

2 3

2 2

2 1

U 1

S W 1

V C C

R 2

3 3 0 X 8

P 2 . 7

P 2 . 5

P 2 . 4

P 2 . 6

F

E

B

A

D

C

G

P 2 . 3

P 2 . 1

P 2 . 0

P 2 . 2

P2.0 P2.1 P2.2 P2.3

D P

C 9C A P

VC C

V C C

C A

V C C

Q 1A 1 0 1 5

R

VC C

C A

V C C

P2.4

Q 2A 1 0 1 5

S W 1

VC C

P2.5

S W 1

V C C

P2.6

C A

S W 1

Q 3A 1 0 1 5

P2.7

VC C

S W 2

V C C

C A

A B C D E F G D P A B C D E F G D P A B C D E F G D P A B C D E F G D P

Q 4A 1 0 1 5

A B C D E F G D P A B C D E F G D P A B C D E F G D P A B C D E F G D P

S W P U S H B U T T O N

Mạch khống chế nhiệt độ

CHƯƠNG 5

THIẾT KẾ PHẦN MỀM

1. Lưu đồ giải thuật

1.1.Lưu đồ giải thuật tổng quát:

BEGIN

NẠP GIÁ TRỊ ĐẦU

Y

Y

Y

CÓ NHẤN

NHẤN TĂNG

TO < TO

MAX

MODE

N

N

N

TĂNG to ĐẶT

Y

Y

ĐỌC ADC

NHẤN GIẢM

TO >= TO

MIN

N

N

GIẢM to ĐẶT

HIỂN THỊ

HIỂN THỊ

Mạch khống chế nhiệt độ

1.2.Giải thuật chương trình đọc A/D và chương trình đổi số nhị phân ra BCD: 1.3.Giải thuật xuất led:

Mạch khống chế nhiệt độ

1.4.Giải thuật chương trình so sánh và điều khiển:

START

So sánh nhiệt độ đặt với nhiệt độ hiện tại

Cấp nguồn cho phần công suất

Mạch khống chế nhiệt độ

Thoát

START

N

NHẤN NÚT

Y

Y

Tăng 1 đơn vị

Nhấn Tăng

N

Y

Nhấn Giảm

1.5.Giải thuật chương trình tăng giảm: ___________

Giảm 1 đơn vị

N

Gọi Chương Trình Hiển Thị

Mạch khống chế nhiệt độ

00H 60H,#35 61H,#45

ORG MOV MOV MOV DPTR,#SO CLR CS CLR RDD

P2.7,HIEUCHINH1 C

JNB CLR LCALL DELAYSCAN MOV A,P1 CJNE A,60H,$+3 X1 JC CJNE A,61H,$+3 JNC X2 SETB RELAY1 SETB RELAY2 SJMP X3

RELAY1 X3 RELAY2

CLR SJMP CLR

LCALL GIAIMABCD SJMP DOCNHIETDO

P2.6,TANG P2.5,GIAM P2.4,DOCNHIETDO P2.7,HIEUCHINH2

LCALL CHONGDOI MOV A,60H LCALL GIAIMACHULL LCALL DELAYSCAN JNB JNB JNB JNB SJMP HIEUCHINH1

60H INC SJMP HIEUCHINH1

DEC 60H SJMP HIEUCHINH1

2.Chương trình phần mềm : $MOD51 P3.0 BIT CS RDD BIT P3.1 P3.2 BIT WRITE P3.3 INTR BIT P3.7 RELAY1 BIT P3.6 RELAY2 BIT MAIN: DOCNHIETDO: X1: X2: X3: HIEUCHINH1: TANG: GIAM: HIEUCHINH2:

LCALL CHONGDOI MOV A,61H LCALL GIAIMACHUHH LCALL DELAYSCAN JNB JNB JNB

P2.6,TANG1 P2.5,GIAM1 P2.4,DOCNHIETDO

Mạch khống chế nhiệt độ

P2.7,DOCNHIETDO

JNB MOV R0,7AH SJMP HIEUCHINH2 61H SJMP HIEUCHINH2

DEC 61H SJMP HIEUCHINH2

A,@A+DPTR 25H,A 24H,#86H

B,#10 MOV AB DIV MOV 10H,B MOV B,#10 AB DIV MOVC A,@A+DPTR MOV 27H,A MOV A,B MOVC A,@A+DPTR 26H,A MOV MOV A,10H MOVC MOV MOV RET

P0,24H P2,#1110B

MOV MOV LCALL DELAY MOV

P2,#0FFH

P0,25H P2,#1101B DELAY P2,#0FFH

MOV MOV LCALL MOV

P0,26H P2,#1011B

MOV MOV LCALL DELAY MOV

P2,#0FFH

P0,27H P2,#0111B

MOV MOV LCALL DELAY MOV RET

P2,#0FFH

32H,#50 32H,$

00H

TMOD,#01H R0,#20

TANG1: INC GIAM1: ;********************************************************* GIAIMABCD: HTHI: DELAY: MOV DJNZ RET DELAYSCAN: PUSH CLR WRITE SETB WRITE MOV MOV DANGTRINH: MOV MOV SETB

TH0,#-250H TL0,#-250H TR0

Mạch khống chế nhiệt độ

TF0,HIEN TF0 TR0

00H

MOV R0,#2 DJNZ R0,$ RET

MOV B,#10 AB DIV MOV 10H,B MOV B,#10 DIV AB MOVC A,@A+DPTR 27H,A MOV MOV A,B MOVC A,@A+DPTR MOV 26H,A MOV A,10H MOVC A,@A+DPTR 25H,A MOV MOV 24H,#0C7H RET

MOV B,#10 AB DIV MOV 10H,B MOV B,#10 DIV AB MOVC A,@A+DPTR MOV 27H,A MOV A,B MOVC A,@A+DPTR MOV 26H,A MOV A,10H MOVC A,@A+DPTR 25H,A MOV 24H,#09H MOV RET

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DB END

HIEN: LCALL HTHI JNB CLR CLR DJNZ R0,DANGTRINH POP RET CHONGDOI: ;****************************** GIAIMACHULL: ;**************************************** GIAIMACHUHH: SO:

Mạch khống chế nhiệt độ

Mạch khống chế nhiệt độ