1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mạch sạc acquy, mạch cảnh báo acquy 12V, code cảnh báo và hiển thi LCD

17 3,1K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 191,08 KB

Nội dung

Nội dụng báo cáo bao gồm: mạch sạc ác quy 12V, mạch cảnh báo sụt áp trên acquy, mạch báo tình trạng acquy, thuật toán và code phần lập trình chương trình cảnh báo và hiển thị LCD. Nằm trong đề tài nghiên cứu thực tập công nhân Khoa Điện Tử Viễn Thông Đại học Bách Khoa ĐÀ Nẵng.

Trang 1

BÁO CÁO THỰC TẬP CÁ NHÂN

I. GIỚI THIỆU ĐỀ TÀI

1. Đề tài :

Thiết kế và thi công mạch giám sát lò vi sinh.

2. Nhiệm vụ cá nhân:

Làm mạch: Thiết kế mạch sạc ác quy và mạch cảnh báo ác quy

12 v

Lập trình: lập trình chương trình cảnh báo và hiển thị LCD.

II. LÀM MẠCH:

1. Thiết kế và thi công mạch sạc ác quy 12v:

-Có nhiệm vụ nạp nguồn điện dự trữ, phòng ngừa khi mất điện, để cung cấp cho các thiết bị hoạt động

a. Sơ đồ mạch:

accu (+) accu (-)

R3

1K

R4

1K

D4

DIODE

D5

DIODE

R5

0.1

R8

2K

R11

2.7K

VI

U5

7808

Q5

2N3055

C12

2.7K

D9

1N4372A

R13

10k

D11

DIODE

D12

DIODE

5

6 7

4 U8:B

LM358

D13

DIODE

3

2 1

4 U8:A

LM358

R14

2

RV2

2K

R15

0.1

D14

1N4372A

R17

10k

R22

4.7K

D15

1N4372A

2

RV4

2K

R35

1K

R36

1K

Q6

d468

Q7

c1815

BR2

GSIB1580 1

J6

CONN-H2

45% 1 3

RV5

10k

R37

1k

R38

2k

CAUCHI

1A

C13

470

C14

1

C15

1

C16

100u

C17

1

C18

1

1

J9

CONN-H2

b. Nguyên lý làm việc:

Trang 2

- Q1 là transistor công suất 2N3055, tản nhiệt kỹ (100 gr nhôm)

mắc darlington với Q2 là D468 để khuếch đại dòng nạp với phân cực chung của bộ darlington này là 4K7 Q3 là

C1815 làm nhiệm vụ thường trực bảo vệ, có tác dụng mở và đóng dòng nạp

- 1/2 của con Op-Amp đôi (phía trên) đặt cổng (-) điện áp mẫu 6V với Zenner và tụ lọc 1 MF, cổng (+) biến trở phối hợp với cầu điện trở để kiểm tra điện áp accu, chỉnh thế nào để điện áp accu được 14V thì Op-Amp đổi trạng thái ngõ ra lên 8V (cấp bởi 7808), điện áp này qua diod đổ vào base của Q3 làm nó dẫn mạnh -> ngắt nguồn nạp khi bình đạt đến 14V

- 1/2 của con Op-Amp (phía dưới) nhận điện áp mẫu tại cổng (+), còn cổng (-) thì nhận điện áp rơi trên điện trở công suất R1

= 1 Ohm cộng với điện áp 3V zenner cho dễ so sánh Khi nạp thì điện áp trên điện trở này tăng cao Khi bình đầy thì dòng nạp thấp xuống, ta chĩnh biến trở 10K để điện áp mẫu cao hơn điện

áp rơi + 3V, Op-Amp đổi trạng thái ngõ ra lên cao > dòng đổ qua diod vào base của Q3 > ngắt dòng nạp Như vậy khi nạp đầy > dòng nạp giảm đến mức tới hạn theo chỉ định thì ngắt nguồn

2.Mạch cảnh báo sụt điện áp ac quy 12v:

-Có nhiệm vụ cảnh báo nếu ác quy sụt điện áp.

a Sơ đồ mạch:

D16

LED

D17

DIODE

R39

10k

D18

11v

R40

330

R41

10k

1

J7

CONN-H2

R42

470

mach canh bao sut dien ap acquy 12v

Q10

2sc1815

Q11

2sc1815

C19

1u

Trang 3

b.Nguyên lý làm việc:

-Khi lấy nguồn từ ác quy ở J7, nếu điện áp lớn hơn 12V sẽ làm cho zenner dẫn, như vậy sẽ kích thích cho Q11 dẫn, tương tự thì Q10 sẽ dẫn làm cho led sáng lên

- Do đó chúng ta có thể cảnh báo ác quy khi nó giảm xuống dưới 12V

3.Mạch báo tình trạng ác quy 12V

-Có nhiệm vụ báo tình trạng ac quy ở mức điện áp bao nhiêu Volt, để để kiểm soát

và sạc ac quy

Trang 4

a Sơ đồ mạch:

R43

150

D19

6V

D20

5V

R44

10k

R45

1k

D21

LED-RED

D22

DIODE

D23

DIODE

R46

470

D24

LED-GREEN

D25

DIODE

D26

LED-BLUE

Q8

2sc1815

R47

470

D27

12V

R48

10k

1

2

J8

CONN-H2

Q9

2sc1815

b.Nguyên lý làm việc:

-Khi lấy nguồn từ ac quy vào J8, nếu điện áp nhỏ hơn 10V thì chỉ có một mình

led-đỏ sáng và không thể kích dẫn các diode zenner D19, D20,D27

- Khi điện áp ac quy lớn hơn 11V thì sẽ kích dẫn được các diode D19,D20 làm cho Q9 dẩn , vì vậy led-green sẽ sáng

Trang 5

-Khi điện áp ac quy lơn hơn 12V thì sẽ kích dẫn được diode zenner D27 vì vậy sẽ làm cho Q8 dẫn, vì vây Led-blue sẽ sáng

4 Mạch in:

*Quá trình làm mạch in và rửa mạch:

phần mạch đồng

sử dụng bút xóa để sửa lại

*Quá trình khoan mạch:

trở thanh, BJT thường chọn mũi khoan 0.6mm và 0.8mm Đối với BJT công suất thì chọn mũi 1.2mm

Trang 6

5.Kiểm tra linh kiện:

-Kiểm tra BJT: Đặt thang đo x1, nếu đo từ B sang C và B sang E ( que đen vào

B ) thì tương đương như đo hai diode thuận chiều => kim lên , tất cả các trường hợp đo khác kim không lên

-Kiểm tra diode.Đặt thang đo ở vị trí x1 Đặt que đen vào cực âm, que đỏ vào cực

âm thì kim lên, ngược lại kim không lên

-Kiểm tra tụ điện phân cực.Đặt thang đo ở vị trí x1k, đặt que đen ở cực âm, que

đỏ ở cực dương Ta thấy kim lên sau đó xuống lại từ từ

1) Lưu đồ thuật toán:

a, Hiển thị LCD :

Trang 7

S

Đ

b, Báo Động:

Bắt Đầu

Khởi tạo LCD

Kiểm tra đầu vào

Hiển thị lên LCD

Kết thúc

Bắt Đầu

Nhập điều kiện báo động: nhiệt độ, độ ẩm, Vch(V cửa hở)

Trang 8

S S

S

Đ

S

Đ

Đọc dữ liệu

Nhiệt độ = điều kiện Loa, led-red

Hiển thị lên LCD Nhiệt độ=?

Độ ẩm = điều kiện

Loa,led-green

Hiển thị lên LCD

Độ ẩm=?

Vch = điều kiện Loa, led-yellow

Hiển thị lên LCD Vch=?

Trang 9

2) Chương trình:

a. Chương trình cảnh báo:

#include "regx51.h"

#define bat 0

#define tat 1

#define nhietdo P1^0

#define doam P1^1

#define cuaho P1^2

sbit Leddo = P2^7;

sbit Ledxanh = P2^6;

sbit Ledvang = P2^5;

sbit loa = P2^0;

void delay(unsigned int time)

{

unsigned int i,j;

for(i=0;i<time;i++)

{for(j=0;j<125;j++);}

}

void main(void)

{

while(1) {

P3_6 = 0;

if(28 >nhietdo> 24)

{Leddo = bat;

delay(1000);

Kết thúc

Trang 10

Leddo = bat;

delay(1000);

Leddo= tat;

delay(1000);

loa = bat;

delay(1000);}

else Leddo= tat;

if(78 >doam>82)

{Ledxanh = bat;

delay(1000);

Ledxanh=tat ;

delay(1000);

Ledxanh = bat;

delay(1000);

loa = bat;

delay(1000);}

else Ledxanh=tat;

if( cuaho < 3.6)

{Ledvang = bat;

delay(1000);

Ledvang=tat;

delay(1000);

Ledvang = bat;

delay(1000);

loa = bat;

delay(1000);

else Ledvang=tat;

}

}

b. Chương trình hiển thị LCD:

#include <REGX52.H>

#include <stdio.h>

//Dinh nghia LCD

#define LINE_1 0x80

#define LINE_2 0xC0

#define CLEAR_LCD 0x01

//Dinh nghia chan su dung giao tiep LCD Sbit LCD_D4 = P2^3;

Trang 11

Sbit LCD_D5 = P2^2;

Sbit LCD_D6 = P2^1;

Sbit LCD_D7 = P2^0;

Sbit LCD_E = P2^5;

Sbit LCD_RW = P2^6;

Sbit LCD_RS = P2^7;

sbit DQ = P1^0 ;

sbit relay = P3^6;

sbit sw1 =P0^0;

sbit sw2 =P0^1;

//Ham tre thoi gian

void delay_ms(unsigned int Time)

{unsigned int i,j,t;

t=Time;

for(i=0;i<t;i++)

{

for(j=0;j<125;j++);

}

}

void delay_us(unsigned int Time)

{unsigned int i,j;

for(i=0;i<Time;i++)

{for(j=0;j<2;j++);

}

}

// Ham tao xung ENABLE

void lcd1602_enable(void)

{P3_7=0;

LCD_E=1;

delay_us(3);

LCD_E=0;

delay_us(5);

}

// Ham Gui 4 Bit Du Lieu Ra LCD

void lcd1602_send_4bit_data ( unsigned char cX ) { P3_7=0;

LCD_D4 = cX & 0x01;

LCD_D5 = (cX>>1)&1;

LCD_D6 = (cX>>2)&1;

LCD_D7 = (cX>>3)&1;

Trang 12

// Ham Gui 1 Lenh Cho LCD

void lcd1602_send_command (unsigned char cX ) {P3_7=0;

lcd1602_send_4bit_data ( cX >>4 );

lcd1602_enable() ;

lcd1602_send_4bit_data ( cX );

lcd1602_enable() ;

}

// Ham Khoi Tao LCD

void lcd1602_init ( void )

{P3_7=0;

lcd1602_send_4bit_data ( 0x00 );

delay_ms(200);

LCD_RS=0;

LCD_RW=0;

LCD_E=0;

lcd1602_send_4bit_data ( 0x03 );

lcd1602_enable() ;

lcd1602_enable () ;

lcd1602_enable () ;

lcd1602_send_4bit_data ( 0x02 );

lcd1602_enable() ;

lcd1602_send_command( 0x2C

lcd1602_send_command( 0x80);

lcd1602_send_command( 0x0C);

lcd1602_send_command( 0x06 );

lcd1602_send_command( CLEAR_LCD );

}

// Ham Thiet Lap Vi Tri Con Tro

void lcd1602_gotoxy(unsigned char x, unsigned char y) {unsigned char address;

if(!y)

address = (LINE_1+x);

else

address = (LINE_2+x);

delay_ms(3);

lcd1602_send_command(address);

delay_ms(1);

}

Trang 13

// Ham Xoa Man Hinh LCD

void lcd1602_clear(void)

{P3_7=0;

lcd1602_send_command( CLEAR_LCD ); //delay_us(300);

}// Ham Gui 1 Ky Tu Len LCD

void lcd1602_putchar ( unsigned int cX ) {P3_7=0;

LCD_RS=1;

lcd1602_send_command( cX );

LCD_RS=0;

}

// Ham Gui 1 Chuoi Ky Tu Len LCD

void lcd1602_puts(char *s)

while (*s)

{lcd1602_putchar(*s);

s++;

}

}

int xung,dem,frequency;

void delay_18B20(unsigned int i)

{

while(i );}

void Init_DS18B20(void)

{ unsigned char x=0;

DQ = 1;

DQ = 0;

delay_18B20(80);

DQ = 1;

delay_18B20(14);

x=DQ;

delay_18B20(20);

}

unsigned char ReadOneChar(void)

{

unsigned char i=0;

unsigned char dat = 0;

for (i=8;i>0;i )

Trang 14

{DQ = 0;

dat>>=1;

DQ = 1;

if(DQ)

dat|=0x80;

delay_18B20(4);

}

return(dat);

}

void WriteOneChar(unsigned char dat)

unsigned char i=0;

for (i=8; i>0; i )

{DQ = 0;

DQ = dat&0x01;

delay_18B20(5);

DQ = 1;

dat>>=1;

}}

int ReadTemp(void)

{unsigned char a=0;

unsigned char b=0;

unsigned char t=0;

int nhiet_thuc;

Init_DS18B20();

WriteOneChar(0xCC);

WriteOneChar(0x44);

delay_18B20(100);

Init_DS18B20();

WriteOneChar(0xCC);

delay_18B20(100);

a=ReadOneChar();

b=ReadOneChar();

nhiet_thuc=b<<4;

nhiet_thuc+=(a&0xf0)>>4;

return(nhiet_thuc);

}

code int HS1101_Table[101]={

Trang 15

8109,8090,8070,8051,8033,8015,7997,7979,7961,7944,

7927,7910,7894,7878,7862,7846,7830,7815,7799,7784,

7769,7755,7740,7726,7711,7697,7683,7669,7655,7641,

7628,7614,7600,7587,7574,7560,7547,7534,7521,7507,

7494,7481,7468,7455,7442,7429,7416,7403,7390,7377,

7364,7350,7337,7324,7311,7298,7284,7271,7257,7244,

7230,7216,7203,7189,7175,7161,7147,7132,7118,7103,

7089,7074,7059,7045,7029,7014,6999,6984,6968,6952,

6936,6920,6904,6888,6872,6855,6838,6821,6804,6787,

6770,6752,6735,6717,6699,6680,6662,6644,6625,6606,

int HS1101_GetHumi(int frequency)

{int i;

for(i=0;i<101;i++)

{

if((frequency+25)>HS1101_Table[i])return i;

}

return 100;

}

void ngat0(void) interrupt 0

{

xung++;

}

void ngat_timer_0(void) interrupt 1

{P3_7=0;

dem++;

if(dem >= 4000)

Trang 16

dem=0;

frequency = xung-2600;

xung=0;

}}

void main(void)

{

int

humi,nhiet_do,nhiet_do2,nhiet_do3,nhiet_do_khong_che=40,fr; char str[20];

TMOD = 0x02;

TH0=TL0=-250;

IT0=1;

IE=0x83;

TR0=1;

lcd1602_init();

lcd1602_clear();

while(1)

{P3_7=0;

if(sw1 == 0){nhiet_do_khong_che++;

if(nhiet_do_khong_che>=150) nhiet_do_khong_che=0; }

if(sw2 == 0){nhiet_do_khong_che ;

if(nhiet_do_khong_che<=0) nhiet_do_khong_che=150; }

nhiet_do = ReadTemp();

nhiet_do2 = ReadTemp();

nhiet_do3 = ReadTemp();

fr = frequency;

if((nhiet_do2 >= nhiet_do-4)&&(nhiet_do2 <=

nhiet_do+4)&&(nhiet_do3 >= nhiet_do2-4)&&(nhiet_do3 <= nhiet_do2+4))

relay=0;

humi=HS1101_GetHumi(frequency);

sprintf(str,"Do Am: %d %% ,humi");

lcd1602_gotoxy(1,0);

lcd1602_puts(str);

sprintf(str,"Nhiet do: %doC ,nhiet_do");

lcd1602_gotoxy(1,1)

lcd1602_puts(str);

Trang 17

delay_ms(100); }

}

Ngày đăng: 03/07/2016, 11:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w