Tải bản đầy đủ (.doc) (27 trang)

CẢNH báo NHIỆT độ QUA SMS DÙNG PIC (có code và layout)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.96 MB, 27 trang )

ĐỒ ÁN 2

CẢNH BÁO NHIỆT ĐỘ QUA SMS


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ...........................................................................................III
DANH MỤC CÁC TỪ VIẾT TẮT....................................................................................V
CHƯƠNG 1. SƠ LƯỢC VỀ CẢNH BÁO NHIỆT ĐỘ QUA SMS................................1
1.1GIỚI THIỆU :

1

1.2NGUYÊN LÝ CHUNG :

2

1.3 PHẦN MỀN CCS

2

CHƯƠNG 2. TÌM HIỂU CÁC LINH KIỆN CÓ TRONG ĐỀ TÀI...............................3
2.1LINH KIỆN TRONG MẠCH:

3

CHƯƠNG 3. THIẾT KẾ MẠCH........................................................................................9
3.1SƠ ĐỒ KHỐI

9


3.2 SƠ ĐỒ GIẢI THUẬT

10

3.3NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH:

11

CHƯƠNG 4. THIẾT KẾ VÀ GIA CÔNG PHẦN CỨNG.............................................14
4.1 MẠCH IN

14

4.2 MẠCH THỰC TẾ

15

CHƯƠNG 5. KẾT LUẬN...................................................................................................16
TÀI LIỆU THAM KHẢO.................................................................................................17
PHỤ LỤC 18


DANH MỤC CÁC HÌNH VẼ
HÌNH 2.1: PIC16F877A........................................................................................................3
HÌNH 2.2:SƠ ĐỒ CHÂN PIC16F877A..............................................................................4
HÌNH 2.3:CẢM BIẾN NHIỆT ĐỘ LM35.........................................................................4
- CẢM BIẾN NHIỆT ĐỘ LM35 LÀ BỘ CẢM BIẾN MẠCH TÍCH HỢP VỚI ĐỘ
CHÍNH XÁC CAO ĐẦU RA TỶ LỆ THEO THANG ĐỘ CELSIUS. KHÔNG YÊU
CẦU PHẢI CÂN CHỈNH KHI SỬ DỤNG........................................................................5
HÌNH 2.4:ĐIỆN TRỞ............................................................................................................5

HÌNH 2.5:LCD.......................................................................................................................5
LCD LÀ MÀN HÌNH CÓ TÍCH HỢP SẴN CHIP ĐIỀU KHIỂN DÙNG ĐỂ HIỂN
THỊ DỮ LIỆU GỒM 16 CHÂN:.........................................................................................6
+ CHÂN 1 (VSS): NỐI ĐẤT CHO LCD............................................................................6
+ CHÂN 2 (VDD): CẤP NGUỒN 5V DC CHO LCD.......................................................6
+ CHÂN 3 (VEE): NỐI VỚI BIẾN TRỞ ĐỂ ĐIỀU CHỈNH ĐỘ TƯƠNG PHẢN......6
+ CHÂN 4 (RS): CHỌN THANH GHI...............................................................................6
+ CHÂN 5 (RW): CHỌN CHẾ ĐỘ ĐỌC HOẶC GHI....................................................6
+ CHÂN 6 (E): CHO PHÉP NHẬN DỮ LIỆU HOẶC KHÔNG...................................6
+ CHÂN 7-14 (D0- D7): ĐƯỜNG TRUYỀN DỮ LIỆU...................................................6
+ CHÂN 15 (A): CẤP NGUỒN 5V DC CHO ĐÈN NỀN.................................................6
+ CHÂN 16 (K): NỐI ĐẤT CHO ĐÈN NỀN.....................................................................6
HÌNH 2.6:MODULE SIM 900.............................................................................................6
HÌNH 4.1:LAYOUT MẠCH THIẾT KẾ.........................................................................14
HÌNH 4.2:MẠCH IN XUẤT RA PDF..............................................................................14
HÌNH 4.3:MẠCH THỰC TẾ.............................................................................................15



DANH MỤC CÁC TỪ VIẾT TẮT
SIM

Subscriber Identity Module

SMS

Short Message Services

LCD


Liquid Crystal Display

PDF

Portable Document Format

PIC

Programmable Interface Controller


ĐỒ ÁN 2
Trang 1/22

CHƯƠNG 1. SƠ LƯỢC VỀ CẢNH BÁO NHIỆT ĐỘ QUA SMS
1.1 Giới thiệu :
• Cảnh báo nhiệt độ trong thực tế
Trong xã hội hiện nay với sự phát triển chống mặt của các nước trên thế giới và
sự chuyển giao cơ cấu lao động từ thủ công sang tự động nhằm đẩy nhanh quá trình
sản xuất. Do đó sự xuất hiện của nhiều khu công nghiệp và máy móc là điều không
thể tranh khỏi, dẫn đến lượng khí thảy được thảy ra môi trường ngày một tăng cao.
Với thực trạng đó thì làm cho Trái Đất ngày càng nóng lên, tần suất của những vụ
cháy nổi càng cao. Nên cần có sự cảnh báo nhiệt độ trong giới hạn trước khi dẫn
đến sự cố.
Với công nghệ đang phát triển như hiện nay thì chắc mọi người ai cũng có riêng
cho mình một chiếc điện thoại từ phổ thông cho đến điện thoại thông minh nhưng
chắc chắn chúng đề có thể nhận được tin nhắn sms. Do đó nên nhiệt độ được cảnh
báo qua tin nhắn sms sẽ rất hữu ích và thuận tiện.
• Mục đích
Mục đính của đề tài là thiết kế một mạch cảnh báo khi quá nhiệt độ an toàn thì sẽ có

tin nhắn gửi về báo cho chúng ta biết quá ngưỡn nhiệt độ.
• Ưu điểm
- Cảnh báo nhiệt độ trong phạm vi rộng khi số điện thoại đó nằm trong vùng phủ
sóng.
- Ít linh kiện nên dễ dàng trong quá trình thiết kế.
• Khuyết điểm
- Cần phải có sóng điện thoại mới gửi tin nhắn cảnh báo được.
- Có sai lệch so với nhiệt độ thực tế.
• Ứng dụng thực tế

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 2/22

Có ứng dụng quan trọng trong đời sống giúp kiểm soát được nhiệt độ để kịp thời
điều chỉnh, kiểm tra nhiệt độ thiết bị từ xa mà chúng ta không thể trực tiếp kiểm tra
để tránh tình trạng quá nhiệt gây hỏng thiết bị.
1.2 Nguyên lý chung :
Mạch sử dụng LM35 để kiểm tra nhiệt độ bằng cách gửi tín hiệu analog về cho
vi điều khiển, vi điều khiển sẽ giải mã tín hiệu analog sang digital để xử lý. Vi điều
xử lý tín hiệu và kiểm tra với điều kiện an toàn đã thiết lập. Nếu tín hiệu nằm trong
ngưỡn cho phép thì quá trình này được lặp lại đến khi quá ngưỡn thì vi điều khiển
sẽ gửi tín hiệu đến module sim 900 để gửi tin nhắn về điện thoại thông báo quá
nhiệt độ.
1.3 Phần mền CCS
Trong thời đại phát triển như hiện nay sự xuất hiện của cái vi xử lý ngày càng
nhiều. Vi điều khiển chỉ làm việc với bit 0 và bit 1 nên chúng ta cần có một chương
trình để biên dịch từ một ngôn ngữ khác sang ngôn ngữ mà vi xử lý có thể hiểu

được để thực hiện những việc mà chúng ta mong muốn. Ban đầu thì vi xử lý được
viết theo ngôn ngữ Assmebly nhưng để viết được bằng ngôn ngữ Assmebly đòi hỏi
người lập trình phải hiểu thật sâu về phần cứng thì mới có thể viết được chương
trình cho vi điều khiển. Từ sự khó khăn đó nên sự ra đời của những phần mền có
khả năng biên dịch ra ngôn ngữ vi điều khiển trên một nền tảng khác mà mọi người
đều có thể dễ dàng tiếp cận. Sự ra đời của của các trình biên dịch trên nền tảng của
ngôn ngữ C không đòi hỏi người viết hiểu quá sâu về phần cứng, và CCS là một
trong số đó.
CCS là chương trình biên dịch trên nền tảng ngôn ngữ C cho vi điều khiển PIC.
Trong đó chương được tích hợp sẵn 3 trình biên dịch cho 3 dòng PIC
-PIC 12 bit dùng PCB
-PIC 14 bit dùng PCM
-PIC 16 và 18 bit dùng PCH
CCS bao gồm 3 chương trình này bao gồm cả trình soạn thảo và biên dịch.

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 3/22

CHƯƠNG 2. TÌM HIỂU CÁC LINH KIỆN CÓ TRONG ĐỀ TÀI
2.1 Linh kiện trong mạch:
 PIC16F877A

Hình 2.1: PIC16F877A
-

PIC16F877A có 40 chân với các cấu trúc và chức năng:
+ Có cổng giao tiếp song song.

+ Bộ nhớ flash ROM 8K x 14 ký tự
+Bộ nhớ RAM 368 x 8 bytes
+ Bộ nhớ EEPROM 256 x 8 bytes
+ Cổng xuất nhập có 5 cổng (a, b, c, d, e) tương ứng 33 chân của PIC
+ Có 3 bộ định thời trong đó có 2 bộ định thời 8 bit (timer 0, timer 2) và 1 bộ
định thời 16 bit (timer 1)
+ Biến đổi tín hiệu analog sang digital
+ Chức năng Compator so sánh tương tự
+ Chức năng Watch Dog Timer định thời giám sát
+ Cổng nối tiếp có thể nạp chương trình bằng cổng này
+ Chế độ Sleep Mode tiết kiệm năng lượng
+ Có 15 ngắt
+ 35 lệnh điều khiển độ dài tối đa 14 bit
+ Hoạt động với tần số tối đa là 20Mhz

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 4/22

-Sơ đồ chân 16F877A:

Hình 2.2:Sơ đồ chân PIC16F877A

 CẢM BIẾN NHIỆT ĐỘ LM35

Hình 2.3:Cảm biến nhiệt độ LM35

Cảnh báo nhiệt độ qua SMS



ĐỒ ÁN 2
Trang 5/22

- Cảm biến nhiệt độ LM35 là bộ cảm biến mạch tích hợp với độ chính xác cao
đầu ra tỷ lệ theo thang độ Celsius. Không yêu cầu phải cân chỉnh khi sử dụng
- Các đặc điểm kỹ thuật
+ Điện áp 5V DC
+ Công suất tiêu thụ 60 µ A
+ Độ phân giải điện áp đầu ra là 10mV/ 0C
+ Độ sai lệch ¼ 0C ở nhiệt độ phòng và ¾ 0C ở nhiệt độ ngoài khoảng 2 0C
đến 150 0C
 ĐIỆN TRỞ

Hình 2.4:Điện trở
- Điện trở là một đại lượng hạn chế dòng điện. Nhằm giúp ta tạo ra điện áp và
dòng điện như mong muốn để vận hành các mạch cần thiết kế.
- Để xác định giá trị điện trở người ta dựa vào các vòng màu của điện trở.
 LCD

Hình 2.5:LCD

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 6/22

-


LCD là màn hình có tích hợp sẵn chip điều khiển dùng để hiển thị dữ liệu
gồm 16 chân:
+ Chân 1 (Vss): Nối đất cho LCD
+ Chân 2 (Vdd): Cấp nguồn 5V DC cho LCD
+ Chân 3 (Vee): Nối với biến trở để điều chỉnh độ tương phản
+ Chân 4 (RS): Chọn thanh ghi
+ Chân 5 (RW): Chọn chế độ đọc hoặc ghi
+ Chân 6 (E): Cho phép nhận dữ liệu hoặc không
+ Chân 7-14 (D0- D7): Đường truyền dữ liệu
+ Chân 15 (A): Cấp nguồn 5V DC cho đèn nền
+ Chân 16 (K): Nối đất cho đèn nền

-

Đặc điểm của LCD
+ Sử dụng nguồn điện 5V DC
+ Hiện thị 16 ký tự trên 2 hàng
+ Có 2 loại là nền xanh lá chữ đen và nền xanh dương và chữ trắng
+ Có 16 chân thẳng hàng khoảng cách 2 chân 0.1 inch
 MODULE SIM 900

Hình 2.6:Module Sim 900

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 7/22


-

Tổng quan về module sim 900
+ Một modem GSM là một modem wireless, nó làm việc cùng với một
mạng wireless GSM.
+ Giống như một điện thoại di động GSM , một modem GSM yêu cầu 1
thẻ sim với một mạng wireless để hoạt động.
+ Module SIM 900 là một trong những loại modem GSM. Nhưng
Module SIM 900 được nâng cao hơn có tốc độ truyền dữ liệu nhanh hơn.
Nó sử dụng công nghệ GSM/GPRS hoạt động ở băng tầng GSM
850Mhz, EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, có tính
năng GPRS của Sim 900.

-

Đặc điểm của module sim 900
+ Nguồn cung cấp khoảng 3,4 – 4,5V.
+ Nguồn lưu trữ.
+ Băng tần: GSM 850Mhz EGSM 900Mhz, DCS 1800 Mhz và PCS
1900Mhz SIM 900 có thể tự động tìm kiếm các băng tần.
+ Điều khiển bằng tập lệnh AT.

-

Tập lệnh AT
+ AT: Trả lại OK để kiểm tra sim
+ ATE0: Tắt chế độ echo
+ AT + CPBS = "ON": Bật bộ nhớ danh bạ của SIM
+ AT+CSCS?: Kiểm tra trung tâm tin nhắn có khả dụng không
+ AT&W: Lưu trữ tất cả các cài đặt

+ AT+CSCS=\”GSM\”: Đặt chế độ văn bản ký tự GSM
+ AT+CMGF=1: Đặt chế độ văn bản
+ AT+CNMI=2,1,0,0,0: Dẫn tin nhắn mới đến thiết lập mặc định
+ AT+CSAS: Lưu cài đặt tin nhắn sms
+ AT+CMGS=\”Số điện thoại\”: Gửi tin nhắn đến số điện thoại
+ AT+CMGDA=”DEL READ”: Xóa tất cả tin nhắn trên thẻ SIM
+ AT+CMGDA=”DEL UNREAD”: Xóa tất cả các tin nhắn chưa đọc

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 8/22

+ AT+CMGDA=”DEL SENT”: Xóa tất cả các tin nhắn đã gửi
+ AT+CMGDA=”DEL ALL”: Xóa tất cả tin nhắn lưu trên SIM
+ ATD+Số điện thoại: Thực hiện cuộc gọi đến số điện thoại
+ ATA: Trả lời cuộc gọi
+ ATH: Kết thúc cuộc gọi
-

Chân module sim 900
+ Chân 1 (Gnd): Chân nối mass
+ Chân 2 (5V): Cấp nguồn 5V cho module sim
+ Chân 3 (Bat): Cấp nguồn 3.7V cho module sim
+ Chân 4 (Dtr): Chân chức năng của module sim
+ Chân 5 (Txd): Chân truyền dữ liệu
+ Chân 6 (Rxd): Chân nhận dữ liệu
+ Chân 7 (SN): Chân nối ngõ ra âm thanh âm
+ Chân 8 (SP): Chân nối ngõ ra âm thanh dương

+ Chân 9 (McN): Chân nối ngõ vào âm thanh âm
+ Chân 10 (McP): Chân nối ngõ vào âm thanh dương

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 9/22

-

CHƯƠNG 3. THIẾT KẾ MẠCH
3.1 Sơ đồ khối

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 10/22

3.2 Sơ đồ giải thuật

Bắt đầu

Kiểm tra nhiệt
độ

Hiện thị LCD

Sai


Nhiệt
độ >39

Đúng
Gửi SMS

Kết thúc

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 11/22

3.3 Nguyên lý hoạt động của mạch:
• Khối đo nhiệt độ
Khối kiểm tra nhiệt độ bằng cách xuất giá trị điện áp tương ứng. Cấp cho cảm
biến nhiệt độ LM35 nguồn 5V và sử dụng ADC 10 bit. Với LM35 ngõ ra 10mV
tương ứng với 1 0C , bộ ADC 10 bit tương dương giá trị 1023 và 5V tương ứng
với 5000mV. Từ đó ta suy ra nhiệt độ bằng 500 nhân với giá trị ADC chia cho
1023
• Khối hiển thị
LCD được hiển thị theo cơ chế 4 bit, các chân được nối với port B của vi điều
khiển PIC16F877A
• Khối vi điều khiển
-

Khi khởi động PIC gửi nội dung lên LCD bằng các lệnh điều khiển


lcd_init();
lcd_putc('\f');
lcd_gotoxy(1,1);
printf(lcd_putc,"DANG KHOI DONG");
lcd_gotoxy(1,2);
printf(lcd_putc,"KHOI DONG LCD ");
delay_ms(2000);
lcd_gotoxy(1,2);
printf(lcd_putc,"KHOI DONG SIM900");
delay_ms(5000);
-

Sau đó lấy dữ liệu dữ liệu từ LM35 qua chân RA0

setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0);

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 12/22

GiaTriADC = read_adc();
Muon= (500f*(float)GiaTriADC)/1023f;
NhietDo=(int16)Muon;
-

Nếu kiểm tra điều kiện từ 40 độ trở lên thì PIC sẽ gửi tín hiệu lên module
sim để điều khiển qua 2 chân Tx và Rx bằng các lệnh:


void send_sms(int1 sms)
{
printf("AT+CMGS=\"+841652024121\"\r\n");delay_ms(500);
switch (sms)
{
case 0:
printf("HE THONG KHOI DONG XONG!");
break;
case 1:
printf("QUA NHIET DO CHO PHEP!");
break;
}
putc(26);
delay_ms(4000);
}
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
printf("AT+CMGF=1\r\n");
send_sms(1);
• Khối module sim
-

Khi cấp nguồn module sim sẽ vào chế độ dò sóng quá trình này diễn ra
nhanh hay chậm phụ thuộc vào cường độ phủ sóng của sim. Khi dò được

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2

Trang 13/22

sóng thì đợi dữ liệu từ PIC gửi lên khi quá nhiệt độ ngưỡn cho phép để thực
hiện gửi tin nhắn đi đến số điện thoại đã thiết lập sẵn.

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 14/22

CHƯƠNG 4. THIẾT KẾ VÀ GIA CÔNG PHẦN CỨNG
4.1 Mạch in
Thiết kế layout mạch in

Hình 4.1:Layout mạch thiết kế
Xuất mạch in ra PDF

Hình 4.2:Mạch in xuất ra PDF

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 15/22

4.2 Mạch thực tế

Hình 4.3:Mạch thực tế


Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 16/22

CHƯƠNG 5. KẾT LUẬN
Mạch hoạt động do trên vi điều khiển PIC16F877A có bộ chuyển đổi tính tín
analog sang digital để mã hóa dữ liệu dữ liệu từ LM35 gửi về và chân Rx Tx để kết
nối được với Module Sim900 để gửi dữ liệu sau khi đã xử lý là điều khiển Module
Sim 900 bằng tập lệnh AT.
• Ưu điểm
- Mạch gửi tin nhắn ổn định khi quá nhiệt.
- Không cần phải canh chỉnh nhiệt độ khi sử dụng.
- Nhiệt độ sai lệch với thực tế tương đối ít.
• Khuyết điểm
- Chỉ cho biết quá nhiệt độ nhưng không biết chính xác nhiệt độ lúc đó là quá bao
nhiêu độ.
- Chỉ gửi tin nhắn được cho 1 số điện thoại.
- Không kiểm tra được tài khoản còn trong sim.
• Hướng phát triển
Có thể hoàn thiện mạch cảnh báo nhiệt độ chính xác hơn và điều khiển bật tắt thiết
bị qua tin nhắn sms

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 17/22


TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1]

/>
[2]

/>
[3]

/>
Tiếng Anh:.
[4]

/>
[5]

/>
Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 18/22

PHỤ LỤC
Dựa trên đề tài ta có code như sau:
#include <16F877A.h>
#device ADC=10
#include <lcd.h>
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#use delay(clock=20m)
#define LCD_RS_PIN
#define LCD_RW_PIN

PIN_B1
PIN_B2

#define LCD_ENABLE_PIN

PIN_B3

#define LCD_DATA4

PIN_B4

#define LCD_DATA5

PIN_B5

#define LCD_DATA6

PIN_B6

#define LCD_DATA7

PIN_B7

#FUSES NOWDT
#FUSES NOBROWNOUT
#FUSES NOLVP

#FUSES HS
int8 i;
int16 GiaTriADC, NhietDo;
float Muon;
void send_sms(int1 sms)
{
printf("AT+CMGS=\"+841652024121\"\r\n");delay_ms(500);
switch (sms)
Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 19/22

{
case 0:
printf("HE THONG KHOI DONG XONG!");
break;
case 1:
printf("QUA NHIET DO CHO PHEP!");
break;
}
putc(26);
delay_ms(4000);
}
void khoi_dong()
{
lcd_gotoxy(1,1);
printf(lcd_putc,"DANG KHOI DONG");
lcd_gotoxy(1,2);

printf(lcd_putc,"KHOI DONG LCD ");
delay_ms(2000);
lcd_gotoxy(1,2);
printf(lcd_putc,"KHOI DONG SIM900");
delay_ms(5000);
}
void khoi_tao()
{
delay_ms(10000);
send_sms(0);

Cảnh báo nhiệt độ qua SMS


ĐỒ ÁN 2
Trang 20/22

}
void nhiet_do()
{
GiaTriADC = read_adc();
Muon= (500f*(float)GiaTriADC)/1023f;
NhietDo=(int16)Muon;
}
void qua_nhiet()
{
lcd_gotoxy(1,1);
printf(lcd_putc,"QUA NHIET DO ");
lcd_gotoxy(1,2);
printf(lcd_putc,"NHIETDO=%lu


",NhietDo);

delay_ms(500);
}
void an_toan()
{
lcd_gotoxy(1,1);
printf(lcd_putc,"NHIET DO AN TOAN");
lcd_gotoxy(1,2);
printf(lcd_putc,"NHIETDO=%lu
delay_ms(500);
}
void main()
{
lcd_init();

Cảnh báo nhiệt độ qua SMS

",NhietDo);


×