Thứ Bảy, 8 tháng 2, 2014

Nhiệt kế điện tử điều khiển tự động 2

Linhdt1

4

Sơ đồ nguyên lý trên nguồn cấp cho mạch điện là nguồn AC từ 7 đến 24V

+ 3 chân cấp nguồn cho Chip ATMEGA16L là những chân 10,11,31 không vẽ trên
sơ đồ (chân 10 đợc nối với chân 30, chân 11đợc nôí với chân 31).

+ điện trở PULLUP có giá trị 4,7K

+ Tụ C3 có thể thay bằng tụ hoá 10uf

+ Có thể dùng thạch anh 4MHz thay cho loại 8MHz

I.1 : phần cứng

Phần cứng đợc sử dụng để lắp mạch gồm :

1. Chip ATMEGA16L





















+ Điện áp hoạt động : từ 2.7 đến 5.5VDC

+ Sơ đồ chân :
- VCC : Cấp nguồn +
- GND : Nối đất
- AVCC : Là chân cấp điện cho cổng A(Port A ) và bộ biến đổi A/D,PC3,PC0,ADC7,ADC6
Nó đợc nối nội bộ đến VCC ngay cả trong trờng hợp ADC không đợc sử dụng. Nếu ADC

Linhdt1

5
Không đợc sử dụng , nó phải đợc nối với VCC qua bộ lọc thông thấp.Cả PC6 và PC4 cũng
sử dụng đợc điện áp AVCC.

- AREF : Là chân tín hiệu tham chiếu Analog ( tơng tự ) nối vào bộ biến đổi A/D.
- PORT B : Từ PB7 đến PB0 là cổng I/O 8-bit hai chiều với các điện trở Pull-up bên trong
(đợc lựa chọn cho mỗi bit ) . Bộ đệm đầu ra của Port B có đặc tính điều khiển cân đối với cả
tín hiệu Source( nguồn ) và Sink (bên trong).Khi là tín hiệu đầu vào , các chân của cổng B sẽ
Tiêu thụ dòng nếu các điện trở Pull-Up bên trong đợc kích hoạt. Các chân của Port B là 3
trạng thái khi có tín hiệu Reset đợc kích hoạt, thậm chí đồng hồ không chạy.Tuỳ thuộc việc
đặt các cầu chì lựa chọn xung nhịp, chân PB6 có thể đợc sử dụng nh là bộ khuếch đại dao
dộng đảo.

Tuỳ thuộc việc đặt cầu chì lựa chọn xung nhịp ,chân PB7 có thể đợc sử dụng nh là đầu ra
từ bộ khuếch đại dao động đảo. Nếu nh bộ dao động RC định cỡ bên trong đợc sử dụng nh
là nguồn xung nhịp của chip bên trong thì PB7-PB6 đợc sử dụng nh là đầu vào TOSC2 và
TOSC1 cho Timer/Counter2 nếu nh Bit AS2 trong thanh ghi ASSR đợc đặt.

- PORT C : Port C là cổng I/O 7-bit hai chiều với các điện trở Pull-up bên trong (dợc lựa chọn
cho mỗi bit) . Bộ nhớ đệm đầu ra của Port C có tính điều khiển cân đối với cả tín hiệu Source
và sink .Khi là các tín hiệu đầu vào , các chân của Port C là 3 trạng thái khi có tín hiệu reset
đợc kích hoạt ,thậm chí đồng hồ không chạy.

Đối voi chân PC6 Nếu cầu chì RSTDISBL đợc lập trình , PC6 đợc sử dụng nh là một
chân đầu vào Reset . Khi tín hiệu ở mức thấp dài hơn độ dáI của xung nhỏ nhất sẽ gây ra
Reset ngay cả khi các xung nhịp không còn.

- PORT D : Port D là cổng I/O 8-bit hai chiềuvới các điện trở Pull-Up bên trong (đợc lựa
chọn cho mỗi bit). Bộ đệm đầu ra của Port D có đặc tính giống Port C.
- PORT A : Đầu ra của bộ biến đổi A/D
- XTAL1 & XTAL2 : Chân vào ra của thạch anh tạo dao động

2. LCD 2 dòng 16 ký tự



+Điện áp hoạt động từ 2.7 5VDC


+Tần số hiển thị 2MHZ ở mức điện áp 5V




3. Cảm Biến Nhiệt Độ DS18B20

Linhdt1

6

+ Điện áp hoạt động từ 3.0 5VDC
- Chân 1 : GND
- Chân 2 : DQ (truyền tín hiệu)
- Chân 3 : Nguồn Vcc

+ Có thể đo nhiệt độ từ -55 đến +125C
(-67F đến +257F) GND DQ VCC


- Khi lắp vào mạch phải nối chân 2 và chân 3
với một điện trở 4K7

4. Những linh kiện khác


2 tụ 2200uf 16V
7805

- Để lọc nguồn

1 IC ổn áp 5V


- Tạo điện áp 5V cấp cho mạch 33

1 tụ 47uf 16V
104

- Làm mạch reset

2 tụ gốm 33pf


- ổn định làm việc cho thạch anh 20V 0.5A

1 tụ gốm 104pf

- bảo vệ mạch tránh những thành phần tần số cao

1 điện trở 4,7K và 1 điện trở 10K


- Nối chân 2 va chân 3 của DS18B20 va nối với mạch 8.000
Rese

Biến áp 20V- 0.5A


Thach anh 8.000MHz

Cầu Diod


Linhdt1

7
I.2 : PHầN MềM Phần mềm viết bằng ngôn ngữ C

/* Nhiet ke dien tu v1.0 by Linh
*/
#asm
.equ __w1_port=0x1b //Đặt cổng nhiệt độ
.equ __w1_bit=6 //Đặt bit nối cảm biến
#endasm
#asm
.equ __lcd_port=0x15 //Đặt cổng LCD
#endasm

#include <lcd.h> // Khởi tạo LCD
#include <ds18b20.h>
#include <delay.h>
#include <stdio.h>
#include <mega16.h>
char lcd_buffer[33];

/* Số lợng tối đa chip DS18B20 nối vào hệ thống */
#define MAX_DEVICES 8

/* Vùng mã DS18B20 ROM */
unsigned char rom_code[MAX_DEVICES][9];
main()
{
unsigned char i,j,t1,devices;
PORTD=0x00;
lcd_init(16);
lcd_putsf("Truong CDCN \n Thanh Do");
delay_ms(1000);thời gian hiện chữ trên LCD
lcd_clear();
lcd_putsf("Lop DTVT1-K3");
delay_ms(1000);
lcd_clear();
lcd_putsf("Desined by \n LINH");
delay_ms(1000);
lcd_clear();
lcd_putsf("GVHD:NGUYEN DINH\nTHUAN");
delay_ms(1000);
lcd_clear();
/* Kiểm tra số lợng DS18B20 nối vào hệ thống */
devices=w1_search(0xf0,rom_code);
Linhdt1

8
sprintf(lcd_buffer,"So luong: \n %u DS18B20",devices);
lcd_puts(lcd_buffer);
delay_ms(2000);

/* Hiển thị mã ROM */
if (devices)
{
for (i=0;i<devices;i++)
{
sprintf(lcd_buffer,"Ma ROM\nchip #%u la:",i+1);Hiển thị mã ROM chip
lcd_clear(); Xoá ký tự
lcd_puts(lcd_buffer);
delay_ms(1000);
lcd_clear();
for (j=0;j<8;j++)
{
sprintf(lcd_buffer,"%02X ",rom_code[i][j]);
lcd_puts(lcd_buffer);
if (j==3) lcd_gotoxy(0,1);
};
delay_ms(1000);
};
}
else
while (1); /* Dừng lại khi có lỗi */

/* Đặt chế độ làm việc ở độ chính xác 12 bit */
for (i=0;i<devices;)
if (!ds18b20_init(&rom_code[i++][0],20,30,DS18B20_12BIT_RES))
{
sprintf(lcd_buffer,"Thiet bi\nloi #%u",i);
lcd_clear();
lcd_puts(lcd_buffer);
while (1); /* Dừng lại khi có lỗi */
};

/* Đọc nhiệt độ và kiểm tra điều kiện */
while (1)
{
j=1;
for (i=0;i<devices;i++)
{

Linhdt1

9
sprintf(lcd_buffer,"t%u=%+.0f\xdfC",j++,ds18b20_temperature(&rom_code[i][0]));
lcd_clear();
lcd_puts(lcd_buffer);
t1 = ds18b20_temperature(0);
if (t1<35||t1>13)
{
PORTD=0x00; // Tắt thiết bị làm nóng và làm lạnh trong điều kiện khác
}
if (t1 >= 35) ; Đặt điều kiện làm lạnh
{
PORTD=0x01; //Bật thiết bị làm lạnh
}
if (t1 <= 13) ; Đặt điều kiện làm nóng
{
PORTD=0x02; //Bật thiết bị làm nóng
}
delay_ms(500); Thời gian khởi động
};
};
}
CHƯƠNG II : NGUYÊN Lý HOạT ĐộNG


II.1 : Tổng Quan Họ Vi Điều Khiển AVR


Vi iu khin AVR (Atmel Norway design) thuc h vi iu khin Atmel, nú l h Vi
iu khin mi trờn th trng cng nh i vi ngi s dng. õy l h Vi iu Khin
c ch to theo kin trỳc RISC (Reduced Intruction Set Computer) cú cu trỳc khỏ phc
tp. Ngoi cỏc tớnh nng nh cỏc h VK khỏc, nú cũn tớch hp nhiu tớnh nng mi rt tin
li cho ngi thit k v l
p trỡnh.S ra i ca AVR bt ngun t yờu cu thc t l hu ht
khi cn lp trỡnh cho vi iu khin, chỳng ta thng dựng nhng ngụn ng bc cao HLL
(Hight Level Language) lp trỡnh ngay c vi loi chip x lớ 8 bit trong ú ngụn ng C l
ngụn ng ph bin nht. Tuy nhiờn khi biờn dch thỡ kớch thc on mó s tng nhiu so vi
dựng ngụn ng Assembly. Hóng Atmel nhn thy rng cn phi phỏt trin mt c
u trỳc c
bit cho ngụn ng C gim thiu s chờnh lch kớch thc mó ó núi trờn. V kt qu l h
vi iu khin AVR ra i vi vic lm gim kớch thc on mó khi biờn dch v thờm vo ú
l thc hin lnh ỳng n chu k mỏy vi 32 thanh ghi tớch ly v t tc nhanh hn cỏc
h vi iu khin khỏc t 4 n 12 ln. Vỡ th nghiờn cu AVR l mt
ti khỏ lý thỳ v giỳp
cho học sinh, sinh viờn bit thờm mt h vi iu khin vo loi mnh hin nay.






Linhdt1

10

PHN LOI AVR

+ AT90S8535: Khụng cú lnh nhõn hoc chia trờn thanh ghi.
+ ATMEGA 8, 16, 32 (AVR loi 8 bit, 16 bit, 32 bit): L loi AVR tc cao, tớch hp sn
ADC 10 bit.
+ AVR tớch hp sn LCD driver : Atmega169,329
+ AVR cú tớch hp SC (power stage controller): AT90PWM thng dựng trong cỏc ng
dng iu khin ng c hay chiu sỏng nờn cũn gi l lighting AVR.
+ Attiny11, 12, 15: AVR loi nh.
Các đặc điểm chính
1-Kin trỳc RISC(Có nghĩa là máy tính dùng tập lệnh rút gọn,bộ vi xử lý kiểu này thực
hiện ít lệnh hơn những bộ vi xử lý khác) vi hu ht cỏc lnh cú chiu di c nh, truy
nhp b nh np lu tr v 32 thanh ghi a nng.
2- Cú nhiu b phn ngoi vi ngay trờn chip, bao gm: Cng vo/ra s, b bin i ADC,
b nh EEFROM, b nh thi, b iu ch rng xung (PWM),
3- Hu ht cỏc lnh u thc hin trong mt chu k xung nhp.
4- Hot ng vi chu k xung nhp cao, cú th lờn n 20 MHz tu thuc tng loi chip c
th.
5- B nh chng trỡnh và b nh d liu c tớch hp ngay trờn chip.
6- Kh nng lp trỡnh c trong h thng, cú th lp trỡnh c ngay khi ang c cp
ngun trờn bn mch khụng cn phi nhc chip ra khi bn mch.
7- H tr cho vic l
p trỡnh bng ngụn ng bc cao ngụn ng C.
Ct lừi ca AVR l s kt hp tp lnh y vi cỏc thanh ghi a nng 32 bit. Tt c cỏc
thanh ghi 32 bit ny liờn kt trc tip vi khi x lý s hc v logic (ALU) cho phộp 2 thanh
ghi c lp c truy cp trong mt lnh n trong 1 chu k ng h. Kt qu l tc nhanh
gp 10 ln cỏc b vi iu khin CISC(Complex Instruction Set Computer : mỏy tớnh vi t
p
lnh phc tp . Mt loi kin trỳc ca b x lớ c c trng bi tớnh cht l cỏc lnh cú
di khỏc nhau (khụng c nh) , thng l mt s nh cỏc ch a a ch v thanh ghi
)
.
Vi cỏc tớnh nng ó nờu, ch ngh (Idle) CPU trong khi cho phộp b truyn tin ni tip
ng b USART, giao tip 2 dõy, chuyn i A/D, SRAM, b m, b nh thi, cng SPI v
h thng cỏc ngt vn hot ng. Ch Power-down lu gi ni dung ca cỏc thanh ghi
nhng lm ụng lnh b to dao ng, thoỏt khi cỏc chc nng ca chip cho n khi cú ngt
ngoi hoc l reset phn cng. Ch
Power-save ng h ng b tip tc chy cho phộp
chng trỡnh s dng gi c ng b thi gian nhng cỏc thit b cũn li l ng. Ch
Linhdt1

11
ADC Noise Reduction dng CPU v tt c cỏc thit b cũn li ngoi tr ng h ng b v
ADC, ti thiu hoỏ switching noise trong khi ADC ang hot ng. Trong ch standby, b
to dao ng (thu tinh th/b cng hng) chy trong khi cỏc thit b cũn li ng. Cỏc iu
ny cho phộp b vi iu khin khi ng rt nhanh trong ch tiờu th cụng sut thp. Thit
b
c sn xut s dng cụng ngh b nh c nh mt cao ca Atmel. B nh On-chip
ISP Flash cho phộp lp trỡnh li vo h thng qua giao din SPI bi b lp trỡnh b nh c
inh truyn thng hoc bi chng trỡnh On-chip Boot chy trờn lừi AVR. Chng trỡnh boot
cú th s dng bt c giao in no download chng trỡnh ng dng trong b nh Flash
ng dng. Ph
n mm trong vựng Boot Flash s tip tc chy trong khi vựng Application Flash
c cp nht, cung cp thao tỏc Read-While-Write thc s.
ti a hoỏ hiu nng tớnh nng v song song, AVR s dng kin trỳc Harvard vi b
nh riờng bit v cỏc BUS cho chng trỡnh v d liu. Cỏc cõu lnh trong b nh chng
trỡnh c hot vi mt ng ng lnh mc n. Trong khi mt lờnh ang thc hin, lnh
tip theo s c n
p trc vo t b nh chng trỡnh. iu ny lm cho cỏc lnh c thc
hin trong mi chu k ng h. B nh chng trỡnh l b nh In-System Reprogrammable
Flash. Tp thanh ghi truy cp nhanh bao gm 32 thanh ghi a nng 8 bit vi thi gian truy cp
l 1 chu k n. iu ny cho phộp ALU hot ng trong mt chu k n. Mt thao tỏc in
hỡnh vi 2 toỏn hng c ca ALU, 2 toỏn hng c ly ra t
tp thanh ghi thc hin, v
v kt qu c lu tr li trong tp thanh ghi trong mt chu k ng h. 6 trong s 32 thanh
ghi cú th s dng nh l 3 thanh ghi con tr a ch giỏn tip 16 bit ch vo vựng d liu
phc v cho tớnh toỏn a ch hiu dng. Mt trong cỏc con tr a ch ny cng cú th c
s dng lm con tr a ch tr vo b
ng d liu trong b nh chng trỡnh Flash. Cỏc thanh
ghi ny l X, Y v Z.ALU thc hin cỏc phộp toỏn logớc v s hc gia cỏc thanh ghi hoc
gia thanh ghi vi mt hng s. Cng cú th thao tỏc vi cỏc thanh thanh ghi n trong ALU.
Sau khi thc hin phộp toỏn s hc, cỏc thanh ghi trng thỏi c cp nht cỏc thụng tin v kt
qu thc hin. Dũng chng trỡnh c iu khin bi cỏc phộp nhy cú iu kin hoc khụng
iu kin n cỏc l
nh c gi, v ch n cỏc a ch trc tip trong khụng gian a ch. Hu
ht cỏc lnh AVR u thc hin vi d liu 16 bit. Mi a ch b nh chng trỡnh u cha
1 lnh 32 bit hoc 16 bit. Khụng gian b nh chng trỡnh Flash c chia thnh 2 vựng, vựng
chng trỡnh boot v vựng chng trỡnh ng dng, c hai vựng ny u cú bit khoỏ chuyờn
dng bo v cho vic ghi v c/ghi. Lnh SPM dựng ghi vo vựng b
nh ng dng
phi cú trong vựng chng trỡnh boot. Trong khi thc hin cỏc ngt v cỏc thng trỡnh, a
Linhdt1

12
ch tr v ca b m chng trỡnh (PC) c lu tr trong stack. Nhỡn chung stack c nh
v trong SRAM, v do vy kớch c stack c gii hn bi kớch c ton b ca SRAM, v
cỏch s dng ca SRAM. Tt c cỏc chng trỡnh ca ngi s dng phi khi to SP trong
thng trỡnh reset (trc khi thng trỡnh hoc ngt c thc hin). SP cú th tr c vo
khụng gian I/O. SRAM cú th c truy c
p mt cỏch d dng thụng qua 5 ch a ch
khỏc nhau h tr bi kin trỳc AVR.Khụng gian b nh trong kin trỳc AVR l bn b
nh thụng thng v tuyn tớnh. Mt module ngt linh ng cú cỏc thanh ghi iu khin ca
nú trong khụng gian I/O cựng vi thờm vo bit khi to ngt ton cc trong thanh ghi trng
thỏi. Tt c cỏc ngt cú vector ngt riờng bit trong bng vector ngt. Cỏc ngt ny cú mc
u tiờn theo v trớ ca vector ngt t
ng ng. Mc cú a ch cng thp thỡ cú quyn u tiờn
cng cao. Khụng gian b nh I/O cú 64 a ch cho cỏc chc nng ngoi vi ca CPU nh l
cỏc thanh ghi iu khin, SPI, v cỏc chc nng I/O khỏc. B nh I/O cú th truy cp trc tip,
hoc nh l v trớ khụng gian d liu theo chỳng ca tp thanh ghi, $20-$5F. Thờm vo ú, nú
cú khụng gian I/O m rng t $60 n $FF trong SRAM, cỏc khụng gian ny ch cú cỏc lnh
ST/STS/STD v LD/LDS/L cú th s dng.
















Sơ Đồ Kiến Trúc AVR

Linhdt1

13
ALU Arithmetic Logic Unit
- n v x lý s hc v logicAVR ALU hiu nng cao tỏc
ng truc tip ti 32 thanh ghi a nng. Trong vũng 1 chu k, cỏc toỏn hng s hc thc hin
gia cỏc thanh ghi a nng hoc gia mt thanh ghi v mt toỏn hng tc thi. Cỏc toỏn t
ca ALU c chia lm 3 loi chớnh: S hc, logic, v x lý bit. Mt s phộp x lý ca kin
trỳc ny cng cung cp b nhõn s cú du v khụng cú d
u v dng phõn s.

DATA SRAM :
Bộ nhớ dữ liệu

EEPROM :
(Electrically Erasable Programmable Read-Only Memory):

Là loại ROM có thể

xoá đợc

bng in sau ú ghi li m khụng cn ly ra.

DATA BUS 8Bit :
Đờng truyền dữ liệu 8Bit

I/O Lines :
Đờng vào ra tín hiệu

32 x 8 Gneral Purpose Registers
: 32 thanh ghi đa năng 8 Bit

Status and control
: Khối nhận biết trạng thái và điều khiển

PRograme counter
: Bộ đếm chơng trình

Flash program memory :
Bộ nhớ flash, là một loại bộ nhớ s dng cỏc chớp NAND (tớch
hp nhiu transitor lờn mt tm bỏn dn), cỏc chớp ny cú kớch thc nh, tc c/ghi cao,
dung lng ln

Intruction register :
thanh ghi lệnh

Intruction decoder :
Giải mã lệnh

Control lines :
Những đờng điều khiển

IntErrupt unit:
Bộ xử lý ngắt

Không có nhận xét nào:

Đăng nhận xét