khảo sát và ứng dụng vi điều khiển vào mạch đo và khống chế nhiệt độ - Pdf 21

Mục lục
Nhận xét của giáo viên hớng dẫn 1
Mục luc 3
Phần I: Giới thiệu đề tài
1. Đặt vấn đề 4
2. Mục đích thực hiện đề tài 4
3. Phơng hớng giaỉ quyết 5
Phần II: Nội dung 6
1.Cơ sở lý thuyết chung 6
2.Quy trình thiết kế bài toán thực tế 8
Phần III:Ưu nhợc điểm,ứng dụng và hớng phát triển 26
Phần i: giới thiệu đề tài
1.Đặt Vấn Đề:
Ngày nay với sự phát triển của nghành vi điện tử, kỹ thuật số các hệ thống
điều khiển dần đợc tự động hóa, Với những kỹ thuật tiến tiến nh vi xử lý, vi
mạch số đợc ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ
khí thô sơ , với tốc độ xử lú chậm chạm ít chính xác đợc thay thế bằng các hệ
thống điều khiển tự động với các lệnh chơng trình đã đợc thiết lập trớc.
Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay . vệc đo và
khống chế nhiệt tự động là một yêu cầu ht sức cần thiết và quan trọng. Vì nếu
nắm bắt đợc yêu cầu đo và khống chế nhiệt độ tự động, thì có nhiều phơng pháp
để nghiên cứu khỏa sát vi điều khiênt 8051 nhóm thực hiện nhận thấy rằng : ứng
dụng vi điều khiênt 8051 vào việc đo và khống chế nhiệt độ tự động là phơng
pháp tối u nhất. Vì vậy nhóm chúng em tiến hành thực hiện việc khảo sát và
ứng dụng vi điều khiển vào mạch đo và khống chế nhiệt độ.
2.Mục đích thực hiện đề tài:
Nếu nh những kiến thức ký thuyết là điều kiện cần thì thực hành lắp ráp
mạch thật là điều kiện đủ. Nó đem lại rất nhiều lợi ích cho chúng em:
-Chúng em có thẻ đa những kiến thức lý thuyết khô khan vào thực tế để có
thể đánh giá một cách khách quan cơ sở lý thuyết.
-Từ những gì chúng ta đã làm đợc t đó rút ra những kinh nghiệm cho quá

I.Cơ sở lý thuyết chung :
Để thực hiện phép đo của một đại lợng đại lợng nào đó thì tùy thuộc vào
dặc tính của đại lợng cần đo, điều kiện đo cũng nh độ chính xác theo yêu cầu cơ
sỏ của hệ thống đo lờng khác nhau .
1.Sơ đồ của một hệ thống đo lờng tổng quát
1. 1 Cm bin nhit: Dựng o nhit
1.2.Khối chuyển đổi:
Làm nhiệm vụ nhận trực tiếp các đại lợng vất lý đặc trng cần đo và biến đổi
thành các đại lợng vật lý thống nhất (dòng điện hay điện áp) để tính toán cho
thuận lợi.
1. 3.Vi iu khin : có nhiệm vụ tính toán biến đổi tín hiệu nhận đợc từ bộ
chuyển đổi sao cho phù hợp với các yêu cầu cụ thể hiện kết quả đo của bộ chỉ
thị.
1.4.Khối hiển thị: Nhn tớn hiu t vdk va hin th kt qu o
2.Hệ thống đo l ờng số:
Đối tợng cần đo là các đại lợng vật lý dựa vào các đặc tính của đối tợng cần
đo mà ta chọn loại cảm biến cho phù hợp để biến đổi thông số đại lợng
vật lý cần đo thành đại lợng điện, sau đó đa vào các mạch chế biến tín hiệu
( gồm: cảm biến, hệ thống khuêch đại, xử lý tín hiệu)
Khối
chuyển
đổi
A/D
Vi iu
khin
Hiển thị
Cm
bin
nhit
4

trúc mạng tinh thể tạo ra sự xuất hiện các lỗ trống. Làm cho tỷ leej điện tử tự do
va lỗ trống tăng lên theo qui luật hàm mũ với nhiệt độ.
II.Quy trình thiết kế bài toán thực tế
1 .Phân tích bài toán :
Bài toán đặt ra là thiết kế mạch đo và khống chế nhiệt độ . Để thực hiện đợc
điều này thì hệ thống phảI đảm bảo các yêu cầu sau:
-Số lợng đầu vào/ra số:
-Số đàu vào/ ra tợng tự:
-Số lợng bộ đếm /định thời:
-Dung lợng bộ nhớ chơng trình:
-Bộ nhớ dữ liệu cần thiết :
-Giao tiếp với máy tính do đó phải sử dụng truyền thông RS232
2. các khối chức năng :
Cảm biến nhiệt dộ : dùng để đo nhiệt độ hiện tại trong lò nhiệt.
Khối biến đổi A/D: có nhiệm vụ số hóa tín hiệu của cảm biến nhiệt để da
vào bộ vi điều khiển là nơi cài đặt thuật toán điều khiển và khống chế nhiệt
độ.
Khối vi điều khiển (MCU): có nhiệm vụ thực hiện các chức năng mã hóa
hợp thành và giải mã.
3.Nhiệm vụ của từng khối:
3.1. Cảm biến nhiệt:
Với nhiệt độ khống chế từ 30 độ đến 130 độ, ta chon sử dụng cảm biến nhiệt dộ
bán dẫn thông dụng là vi mạch LM35 của hãng National Semiconductor.
Vi mạch cảm biến nhiệt LM35có đặc điểm sau:
- chuẩn hóa theo thang đo nhiệt độ Cesius;
- đầu ra tuyến tính 10mV/C;
- Dải điện áp làm việc t 4V đến 30V;
6
- Dòng tiêu thụ nhỏ cỡ 60 microampe, nên nhiệt tự tỏa rất nhỏ hầu nh không
ảnh hởng đến kết quả đo.

-phần tơng tự : Với dải nhiệt độ từ 0 độ đên 128 độ thì điện áp ra của LM35laf
từ 0 đến 1.28V, điện áp này đợc đa đến lối vào IN+, cong lối vào IN- đợc nối đất
. Với điện áp vào cực đại là 1.28V thì điện áp chuẩn Vref đợc đặt là 0.64V, việc
điều chinht Vref đợc thực hiện bởi biến trở vi chỉnh VR. Khi đó nếu nhiệt dộ là
0 độ C thì điện áp IN+ là 0V, đầu ra Dout là 00000000, vi điều khiển nhận đợc
giá trị là 0; Khi nhiệt độ là 128 độ C thì điện áp IN+là 1.28V, đầu ra Dout là
11111111, vi điều khiển nhạn đợc giá trị tơng ứng là 255.
-Phần giao tiếp với vi điều khiển: Để thực hiện giao tiếp với vi điềukhiển cần
các tín hiệu sau :
9
+Tín hiệu chọn vi mạch biến đổi tơng tự số CS_ADC, tích cực thấp., đợc da từ
mạch giả mã địa chỉ tới. Khi CS_ADC=0 thì ADC0804 đợc chọn, chuẩn bị cho
việc đọc só liệu từ ADC .
+ Tín hiệu ra lệnh cho ADC0804 bắt đầu biến dổi WR_ADC, tích cực mức thấp ,
đợc điều khiển trực tiếp bởi vi điều khieenr, khi WR_ADC chuyển từ 1 xuống 0
thì ADC bắt đầu quá trình biến dổi.
+ Tín hiệu báo kết thúc biến đổi ADC_OK , tích cực thấp , đợc nối với chân
INTR(interrup) của ADC0804, mỗi khi ADC0804 hoàn thành việc biến đổi cho
một mẫu nó báo hiệu cho bên ngoài bằng một mức logics 0 ở chân này . Tín hiêu
này đợc gửi tới vi điều khiển để váo cho vi điều khiển biết ADC đã biến đổi song
; để không phải hỏi vòng thì tín hiệu này đợc đa tới một đầu vào ngắt ngoài của
vi điều khiển , mỗi khi ADC biến đổi xong sẽ gây ra một ngắt vi điều khiển , vi
điều khiển sẽ chuyển sang chơng trình con phục vụ ngắt để đọc số liệu từ ADC.
+ Tín hiệu đọc số liệu RD_ADC, tích cực thấp , sau khi nhận biết ADC đã biến
đổi xong bởi mức logics 0 ở ADC_OK, vi điều khiển thực hiện việc lấy số liệu
bằng cach chuyển tín hiệu RD_ADC cuống mức thấp, tín hiệu này đợc nối với
chân RD của ADC, lúc này các cổng đem 3 trạng thái ở đầu ra Dout của
ADC0804 mở , kết quả biến đổi đợc đa kên bus dữ liệu .
10
3.2 Khèi vi ®iÒu khiÓn:

Port 2 ngoài chức năng là cổng vào/ra như Port 0 và Port 1, Port 2 còn là
byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài.
 Port 3( P3.0=>P3.7)
Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một chức năng
riêng, cụ thể như sau:
Bit Tên Chức năng
P3.0 RXD Dữ liệu nhận cho Port nối tiếp
P3.1 TXD Dữ liệu truyền cho Port nối tiếp
P3.2 INT0 Ngắt ngoài 0
P3.3 INT1 Ngắt ngoài 1
P3.4 T0 Ngõ vào của Timer/counter0
P3.5 T1 Ngõ vào của Timer/counter1
P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài.
P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài.
 Chân /PSEN (pin 29): là chân điều khiển đọc chương trình ở bộ
nhớ ngoài.
12
 Chân ALE (pin 30): ALE là tín hiệu điều khiển chốt địa chỉ có tần
số bằng 1/6 tần số dao động của vi điều khiển. Tín hiệu ALE được dùng để cho
phép vi mạch chốt bên ngoài như 7473.
 Chân /EA (pin 31): Tín hiệu /EA cho phép chọn bộ nhớ chương
trình là bộ nhớ trong hay ngoài. EA=1 thì thực hiện chương trình trong RAM
nội. EA=0 thực hiện ở RAM ngoài.
 RST( Reset: pin 9): Ngõ vào reset trên chân số 9. khi RST=1 thì bộ vi
điều khiển sẽ được khởi động lại thiết lập ban đầu.
 XTAL1, XTAL2 (pin 18, 19): Hai chân này được nối song song với
thạch anh tần số max=33 Mhz. Để tạo dao động cho bộ vi điều khiển.
 Vcc,GND: cung cấp nguồn nuôi cho bộ vi điều khiển cấp qua chân 20 và
40.
Cổng Vào Ra Nối Tiếp(Serial Port)

trình phục vụ ngắt thực hiện.User phải xóa bằng lệnh
Với cổng nối tiếp các bit dữ liệu được truyền lần lượt trên cùng 1 đường tín
hiệu thay vì truyền cùng một lúc trên các đường tín hiệu khác nhau.Thông
14
thường thì việc truyền dữ liệu bằng cổng nối tiếp phải tuân theo một cơ chế, một
giao thức hay một nguyen tắc nhất định .Có thể kể ra một số giao thức như
SPI,I2C,SCI
Cổng nối tiếp có 2 kiểu truyền dữ liệu chính:
Truyền đồng bộ(synchronous):thiết bị truyền và nhận đều dung chung một
xung nhịp (clock)
Truyền dị bộ(asynchronous):thiết bị truyền và thiết bị nhận sử dụng hai
nguồn xung nhịp riêng .Tuy nhiên hai nguồn xung này không đươc khác nhau
quá nhiều
Xung nhịp là yếu tố không thể thiếu trong truyền dữ liệu nối tiếp và nó có
vai trò xác định giá trị của bit dữ liệu
Cổng nối tiếp có thể có một trong các tính năng sau:
Đơn công:thiết bị chỉ có thể hoặc truyền hoặc nhận dữ liệu
Bán song công:thiết bị có thể truyền và nhận dữ liệu nhưng tại một thời
điểm có thể làm 1 trong 2 việc đó
Song công:thiết bị có thể truyền và nhận dữ liệu đồng thời
Thanh ghi điều khiển TMOD(Sử dụng cho timer/counter 0 và
timer/counter 1):
GATE: bit quy định yếu tố cho phép timer/counter đếm hay dừng. Nếu
GATE=0, timer/counter sẽ đếm hay dừng phụ thuộc vào trạng thái bit TRx
(thanh ghi TCON). Nếu GATE=1, timer/counter sẽ đếm nếu bit TRx=1 (thanh
ghi TCON) và tín hiệu ngắt ngoài INTx ở mức cao. Trong trường hợp này, nếu
TRx-0 hoặc tín hiệu ngắt ngoài INTx ở mức thấp, timer/counter sẽ dừng đếm.
C/T: bit lựa chọn xung nhịp đưa vào đếm. Nếu C/T = 0, xung nhịp đưa vào
đếm chính là xung nhịp của CPU (lúc này gọi là bộ định thời – timer). Nếu C/T
15

-Cổng giao tiep với PC, để từ PC ngơi sử dụng có thể giám sát hoat dộng
của hệ thống .
Sơ đồ khối của vi điều khiển
Trong khối điều khiển chúng tôi sử dụng các linh kiện sau :
+Vi điều khiển 89S52.
17
+Vi mạch MAX 232 làm nhiệm vụ ghép nối vi điều khiển với PC qua cỏng
RS232.
3.3Truyền thông với máy tính qua cổng nối tiếp:
Bộ vi diều khiển AT89S52 có khả năng giao tiếp với thế giới bên ngoài qua
cổng nối tiếp. Vấn đề này duy nhất khi giao tiếp với máy tínhlaf mức logics ở bộ
vi điều khiển và cổng COM của máy tính khác với nhau, cụ thể nh sau:
So sánh điện áp ở các mức logics giữa RS232C và TTl
Đối tợng Mức logic Mức điện áp tơng ứng
Cổng COM
(Mức RS232)
1 -12 V đến -3V
0 +3V đến +12V
Vi điều khiển
(Mức TTl)
1 +5V
0 0V
Khắc phục điều này, chúng ta sử dụng vi mạch MAX232 để chuênr đổi mức
điện áp giữa hai chuẩn. Vi mạch này có chứa hai bộ chuyển mức gia vi điều
khiển với máy tính qua cổng RS232 sử dụng vi mạch đổi mức MAX232.
Hình vẽ(Truyền thông qua cổng nối tiếp)
18
Nh vậy thức chất của việc truyền thông qua cổng nối tiếp thực là việc truyền
mã ASCII của ký tự. Trong chơng lập trình cho vi điều khiển để gửi cho máy các
ký tự từ 0 đến 9 ta phảI truyền mã ASCII của chúng lầ lợt từ 0x30 đến 0x39.

void Khongche (void);
void Kiemtraphiman (void);
float nhiet;
unsigned int gt_so,nhiet_thuc,nhiet_dat,j;
sbit led_xanh =P1^0;
sbit led_do =P1^1;
sbit led_vang =P1^2;
sbit nhan_tang =P1^3;
sbit nhan_giam =P1^4;
sbit intr_adc =P1^5;
sbit wr_adc =P1^6;
sbit rd_adc =P1^7;
void tre( unsigned int n)
{
unsigned int i;
for(i=0;i<=n;i++);
}
void main (void) //chuong trinh chinh
{
SCON=0x52; // Port noi tiep che do 1 REN=1,TI=1
TMOD=0x20; //time 1 che do 2 8bit
TH1=TL1=-3; //tao toc do baud la 9600
24
TR1=1;
nhiet_dat=0;
P2=0xff;
nhiet_dat=40;
while(1)
{
Kiemtraphiman();


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status