1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐO NHIỆT độ và độ ẩm QUA SMS MODULE SIM DÙNG PIC (có code và layout)

30 1,2K 17

Đ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 30
Dung lượng 3,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐO NHIỆT độ và độ ẩm QUA SMS MODULE SIM DÙNG PIC (có code và layout) ĐO NHIỆT độ và độ ẩm QUA SMS MODULE SIM DÙNG PIC (có code và layout) ĐO NHIỆT độ và độ ẩm QUA SMS MODULE SIM DÙNG PIC (có code và layout) ĐO NHIỆT độ và độ ẩm QUA SMS MODULE SIM DÙNG PIC (có code và layout) ĐO NHIỆT độ và độ ẩm QUA SMS MODULE SIM DÙNG PIC (có code và layout)

Trang 1

ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM QUA SMS

Trang 2

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

CHƯƠNG 1 TÌM HIỂU CHUNG 1

1.1 GIỚI THIỆU SƠ LƯỢC VỀ ĐỀ TÀI 1

1.2 SƠ ĐỒ GIẢI THUẬT 1

1.3 SƠ ĐỒ KHỐI 2

CHƯƠNG 2 TÌM HIỂU LINH KIỆN 3

2.1 VI ĐIỀU KHIỂN PIC16F877A 3

2.1.1 Giới thiệu chung 3

2.1.2 Đặc điểm PIC16F877A 4

2.1.2.1 Các đặc tính ngoại vi của PIC 4

2.1.2.2 Các đặc tính analog 4

2.1.2.3 Các đặc tính khác 4

2.1.3 Sơ đồ chân của PIC 16F877A 5

2.1.3.1 PORTA 5

2.1.3.2 PORTB 6

2.1.3.3 PORTC 6

2.2 LCD 16X2 7

2.2.1 Giới thiệu chung 7

2.2.2 Sơ đồ chân LCD 7

2.3 CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT11 9

2.3.1 Giới thiệu chung 9

2.3.2 Thông số kỹ thuật 9

2.3.3 Nguyên lý hoạt động 10

2.4 MODULE SIM 800A 12

2.4.1 Giới thiệu chung 12

2.4.2 Thông số kỹ thuật 12

Trang 3

2.5.2 Các thông số cơ bản trong truyền nhận UART 15

2.5.3 Quá trình truyền dữ liệu bằng UART 16

CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG MẠCH 17

3.1 SƠ ĐỒ NGUYÊN LÝ 17

3.2 SƠ ĐỒ LAYOUT 18

3.3 MẠCH HOÀN THIỆN 19

CHƯƠNG 4 KẾT LUẬN 21

4.1 ƯU ĐIỂM 21

4.2 NHƯỢC ĐIỂM 21

4.3 HƯỚNG PHÁT TRIỂN ĐỀ TÀI 21

TÀI LIỆU THAM KHẢO 22

PHỤ LỤC 23

Trang 4

Hình 1-2 Sơ đồ khối 2

Hình 2-1 PIC16F877A[3] 3

Hình 2-2 Sơ đồ chân PIC16F877A[3] 5

Hình 2-3 Bảng chức năng của PortA[3] 6

Hình 2-4 Bảng chức năng của PortB[3] 6

Hình 2-5 Bảng chức năng của PortC[3] 7

Hình 2-6 Sơ đồ chân LCD[4] 7

Hình 2-7 DHT11[3] 9

Hình 2-8 Quá trình gửi tín hiệu DHT11[3] 10

Hình 2-9 Module SIM 800A[4] 12

Hình 2-10 Sơ đồ chân SIM800A[4] 13

Hình 2-11 Quá trình truyền dữ liệu bằng UART[4] 16

Hình 3-1 Sơ đồ nguyên lý 17

Hình 3-2 Sơ đồ layout 18

Hình 3-3 Mạch in PCB 19

Hình 3-4 Mạch hàn linh kiện hoàn chỉnh 20

Trang 5

ADC Analog Digital Converter

EEPROM Electrically Erasable Programmable Read-Only

GPRS General Packet Radio Service

GSM Global System for Mobile

IC Integrated Circuit

LCD Liquid Crystal Display

LED Light Emitting Diode

PIC Programable Intelligent Computer

RAM Random Access Memory

RS Register Select

SMS Short Message Services

SIM Subcriber Identity Module

TTL Transistor-transistor logic

UART Universal Asynchronous Receiver Transmitter

USART Universal Synchronous & Asynchronous Receiver Transmitter

VDD Voltage Drain Drain

VSS Voltage for Substrate and Sources

Trang 6

CHƯƠNG 1 TÌM HIỂU CHUNG

1.1 Giới thiệu sơ lược về đề tài

Tên đề tài: Đo nhiệt độ và độ ẩm qua SMS

- Tìm hiểu về vi điều khiển PIC16F877A

- Tìm hiểu Module SIM, cảm biến nhiệt độ

- Thiết kế mạch đo nhiệt độ, độ ẩm có hiển thị LCD và gửi cảnh báo qua SMS

- Lập trình điều khiển và thi công phần cứng

1.2 Sơ đồ giải thuật

Hình 1-1 Sơ đồ giải thuật

1.3 Sơ đồ khối

Trang 7

Hình 1-2 Sơ đồ khối

- Khối nguồn: Cung cấp nguồn cho hệ thống

- Khối cảm biến nhiệt độ, độ ẩm: Tiến hành đọc giá trị nhiệt độ, độ ẩm và gửi kết

quả về vi điều khiển

- Khối điều khiển: Xử lý giá trị đọc được và tiến hành gửi qua Module SIM, tác

động đến khối cảm biến nhiệt độ, độ ẩm để đọc giá trị mới tại thời điểm tiếp theo

- Module SIM: Nhận giá trị nhiệt độ, độ ẩm từ vi điều khiển và tiến hành gửi giá trị

nhận được đến điện thoại di động bằng SMS

- Điện thoại di động: Nhận tin nhắn từ Module SIM gửi đến

CHƯƠNG 2 TÌM HIỂU LINH KIỆN

Trang 8

1.4 Vi điều khiển PIC16F877A

1.1.1 Giới thiệu chung

PIC là tên vi điều khiển do hãng General Instrument đặt tên cho vi điều khiển đầu tiêncủa họ Vi điều khiển PIC16F877A thuộc họ 16F8XXX với tập lệnh gồm 35 lệnh có

độ dài 14 bit Mỗi lệnh đều được thực thi với một chu kỳ xung clock Tốc độ hoạtđộng tối đa cho phép là 20MHz với một chu kỳ lệnh là 200ns Bộ nhớ chương trình8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dunglượng 256x8 byte Số port I/0 là 5 với 33 pin I/0

Hình 2-3 PIC16F877A[3]

1.1.2 Đặc điểm PIC16F877A

1.1.1.1 Các đặc tính ngoại vi của PIC

Gồm có các khối chức năng sau:

+ Timer0: Bộ đếm 8 bit với bộ chia tần số 8 bit

+ Timer1: Bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựavào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep

Trang 9

+ Timer2: Bộ đếm 8 bit với bộ chia tần số, bộ postcaler

+ Hai bộ Capture/ so sánh/ điều chế độ rộng xung

+ Các chuẩn giao tiếp khác nhau

+ Cồng giao tiếp song song với các chân điều khiển ở bên ngoài

+ Nạp được chương trình ngay trên mạch điện

+ Chế độ sleep tiết kiệm năng lượng, chức năng bảo mật chương trình

+ Hoạt động với nhiều dạng Oscillator khác nhau

1.1.3 Sơ đồ chân của PIC 16F877A

Trang 10

Hình 2-4 Sơ đồ chân PIC16F877A[3]

Cổng xuất/ nhập là phương tiện mà vi điều khiển dùng để tương tác với thế giới bênngoài Sự tương tác này rất đa dạng, thông qua đó, chức năng của vi điều khiển thểhiện một cách rõ ràng PIC 16F877A có 5 cổng xuất/ nhập là PORTA, PORTB,PORTC, PORTD, PORTE

1.1.1.4 PORTA

Port A bao gồm 6 chân từ RA0-RA5 Đây là các chân 2 chiều và được điều khiển bởi thanh ghi TRISA PORTA là ngõ ra của ADC, bộ so sánh, ngõ vào analog, ngõ vào xung clock của timer0

Hình 2-5 Bảng chức năng của PortA[3]

1.1.1.5 PORTB

Trang 11

PORTB gồm 8 chân từ RB0-RB7, các giá trị thanh ghi TRISB quy định PORTB

Hình 2-6 Bảng chức năng của PortB[3]

Trang 12

1.1.4 Giới thiệu chung

LCD là một thiết bị ngoại vi dùng để giao tiếp với người dùng, có khả năng hiểnthị tất cả các ký tự trong bảng mã ASCII , dễ dàng đưa vào mạch ứng dụng sử dụngcác giao thức giao tiếp khác nhau, tốn ít tài nguyên và giá không quá cao Do vậy,ngày nay LCD được dùng rất nhiều trong các ứng dụng của vi điều khiển với mụcđích hiển thị các số liệu, kết quả tính toán một cách trực quan, rõ ràng

1.1.5 Sơ đồ chân LCD

Hình 2-8 Sơ đồ chân LCD[4]

- Chân 1(VSS): Nối đất cho LCD

- Chân 2(VDD):Cấp nguồn cho LCD

- Chân 3(VEE): Điều chỉnh độ tương phản cho LCD

- Chân 4(RS): Chân chọn thanh ghi

- Chân 5(RW): Chân chọn chế độ đọc/ghi

- Chân 6(Enable): Chân cho phép

- Chân 7-14(D0-D7): Dùng để trao đổi thông tin, có hai chế độ được sử dụng

+ Chế độ 8 bit:Dữ liệu truyền trên cả 8 đường, bit MSB là D7

+ Chế độ 4 bit:Dữ liệu truyền trên 4 đường D4-D7, bit MSB là D7

- Chân 15(LEDA): Cấp nguồn dương cho đèn nền

- Chân 16(LEDK): Nối GND cho đèn nền

Trang 13

1.6 Cảm biến nhiệt độ, độ ẩm DHT11

1.1.6 Giới thiệu chung

Cảm biến nhiệt độ, độ ẩm DHT11 là cảm biến rất thông dụng hiện nay vì giáthành rẻ và dễ lấy dữ liệu thông qua giao tiếp 1 wire Bộ tiền xử lý tín hiệu tích hợptrong cảm biến giúp ta thu được dữ liệu chính DHT ra đời sau và thay thế cho dòngSHT1X ở những nơi không cần độ chính xác cao về nhiệt độ và độ ẩm, so với cảmbiến DHT22 thì DHT11 cho kết quả kém chính xác hơn rất nhiều

Trang 14

+ Đo tốt ở nhiệt độ 0-50oC với sai số 2%

+ Đo tốt ở độ ẩm 2080%RH với sai số 5%

+ Tần số lấy mẫu tối đa 1Hz

+ Kích thước 15mm*12mm*5.5mm

+ Khoảng cách giữa các chân 0.1’’

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

Để giao tiếp với DHT11 theo chuẩn 1 wire, ta thực hiện theo 2 bước:

+ Gửi tín hiệu muốn đo tới DHT11, DHT11 sẽ gửi xác nhận lại

+ Khi đã giao tiếp được với DHT11, cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ

đo được

Bước 1: Gửi tín hiệu Start:

Trang 15

Hình 2-10 Quá trình gửi tín hiệu DHT11[3]

MCU thiết lập chân Data là output, kéo chân Data xuống mức 0 trong thờigian>18ms Khi đó DHT sẽ hiểu và đo giá trị nhiệt độ, độ ẩm

MCU đưa chân Data lên mức 1, sau đó thiết lập lại chân là đầu vào Sau khoảng 40us, DHT11 sẽ kéo chân Data xuống mức thấp trong vòng 80us.Sau đó sẽ lại đượckéo lên mức cao 80us, khi đó hoàn tất quá trình giao tiếp

20-Bước 2: Đọc giá trị trên DHT11

DHT11 trả kết quả về 5 byte, trong đó:

+ Byte1: Giá trị phần nguyên của độ ẩm

+ Byte2: Giá trị phần thập phân của độ ẩm

+ Byte3: Giá trị phần nguyên của nhiệt độ

+ Byte4: Giá trị phần thập phân của nhiệt độ

+ Byte5: Kiểm tra tổng

Nếu Byte5=(8bit)(Byte1+byte2+byte3+byte4) thì giá trị nhiệt độ và độ ẩm là chính xác, ngược lại kết quả đo xem như sai

Trang 16

1.7 Module SIM 800A

1.1.9 Giới thiệu chung

Module SIM 800A là một module wireless Nó làm việc với cùng một mạngwireless GSM., việc gửi và nhận dữ liệu được thông qua sóng, module SIM 800Agiống như một điện thoại di động GSM, tức yêu cầu một thẻ sim với một mạngwireless để hoạt động Module SIM 800A là module được thay thế cho ModuleSIM900A nhưng vẫn đảm bảo đầy đủ thiết kế cần thiết của module sim như: Mạchchuyển mức tín hiệu logic sử dụng Mosfet, IC giao tiếp RS232 MAX232, mạchnguồn xung dòng cao,khe sim chuẩn, các led báo hiệu, angten GSM

Trang 17

Hình 2-11 Module SIM 800A[4]

1.1.10 Thông số kỹ thuật

- Nguồn cấp đầu vào 5-18VDC

- Mức tín hiệu giao tiếp TTL hoặc RS232

- Tích hợp chuyển mức tín hiệu TTL Mosfet tốc độ cao

- Sử dụng khe micro SIM hỗ trợ SIM card 1.8v;3v

-Băng tần: GSM 850Mhz.SIM800A có thể tự động tìm kiếm các băng tần1.1.11 Khảo sát sơ đồ chân của Module SIM

Hình 2-12 Sơ đồ chân SIM800A[4]

Thứ tự các chân:

SIM 800A

Trang 18

- Chân 1: Chân ON/OFF ta cần kích 1 xung có mức tích cực dương vàokhoảng 1s, lúc này đèn status sẽ sáng, sau đó chớp nháy với tần suất nhanhbáo hiệu SIM800 đang khởi động và tìm mạng Sau 10s sau Led Statusnhấp nháy chậm báo hiệu SIM800 đã hoạt động bình thường.

- Chân 2 : Request to send

- Chân 3 : đầu ra dùng để chỉ báo mạng kết nối được hệ thống

- Chân 4 : Clear to send

- Chân 5 : đầu vào pin dự phòng cho module

- Chân 6 : Data carrier detection

- Chân 7 : Chân vào của bộ chuyển đổi tín hiệu tương tự sang số

- Chân 8 : Ring chân ra loa báo hiệu có cuộc gọi đến

- Chân 9, 11 : chân loa nghe cuộc thoại

- Chân 13,15 : chân MIC

- Chân 10 : chân đầu cuối dữ liệu

- Chân 12 : chân truyền dữ liệu

- Chân 14 : chân nhận dữ liệu

- Chân 16 : chân RESET SIM900

- Chân 17,19 : chân nguồn cấp cho sim hoạt động

- Chân 18,20 : chân mass

1.1.12 Khảo sát tập lệnh AT Command

Các lệnh AT là các hướng dẫn được sử dụng để điều khiển một modem

AT là một cách viết gọn của chữ Attention Mỗi dòng lệnh của nó bắt đầu với

“AT” hay “at” Đó là lý do tại sao các lệnh modem được gọi là các lệnh AT.Nhiều lệnh của nó được sử dụng để điều khiển các modem quay số sử dụng dây mối(wired dial-up modems), chẳng hạn như ATD (Dial), ATA (Answer),ATH (Hool control) và ATO (return to online data state), cũng được hỗ trợ bởi các modem GSM/GPRS và các điện thoại di động

Trang 19

Bên cạnh bộ lệnh AT thông dụng này, các modem GSM/GPRS và cácđiện thoại di động còn được hỗ trợ bởi một bộ lệnh AT đặc biệt đối với côngnghệ GSM Nó bao gồm các lệnh liên quan tới SMS như AT+ CMGS (gửi tinnhắn SMS), AT+CMSS (gửi tin nhắn SMS từ một vùng lưu trữ), AT+CMGL(chuỗi liệt kê các tin nhắn SMS) và AT+CMGR (đọc tin nhắn SMS) Ngoài ra,cácmodem GSM còn hỗ trợ một bộ lệnh AT mở rộng Những lệnh AT mở rộng nàyđược định nghĩa trong các chuẩn của GSM Với các lệnh AT mở rộng này có thểlàm được một số thứ như sau:

- Đọc, viết, xóa tin nhắn

- Gửi tin nhắn SMS

- Kiểm tra chiều dài tín hiệu

- Đọc, viết và tìm kiếm về các mục danh bạ

1.8 Giao thức USART

1.1.13 Định nghĩa

USART( Universal Synchronous & Asynchronous Receiver Transmitter) nghĩa

là bộ truyền nhận nối tiếp đồng bộ và không đồng bộ Khái niệm USART( hayUART nếu chỉ nói đến bộ truyền nhận không đồng bộ) thường để chỉ thiết bị phầncứng, không phải chỉ chuẩn giao tiếp.USART hay UART cần kết hợp với một thiết

bị chuyển đổi điện áp để tạo ra một chuẩn giao tiếp nào đó Chuẩn RS232 là sự kếthợp của chip UART và chip chuyển đổi mức điện áp Tín hiệu từ chip UARTthường theo mức TTL: Mức logic cao là 5V, mức logic thấp là 0V trong khi tín hiệutheo chuẩn RS232 thường là 12V cho mức logic cao và -12V cho mức logic thấp.1.1.14 Các thông số cơ bản trong truyền nhận UART

Trang 20

Tốc độ Baud: Khoảng thời gian dành cho 1 bit được truyền Phải cài đặt tốc độ

Baud giống nhau ở cả hai đầu gửi và nhận

Khung truyền: Khung truyền quy đinh số bit trong mỗi lần truyền

Start bit: Là bit đầu tiên được truyền trong 1 khung truyền báo hiệu thiết bị nhận có

một gói dữ liệu sắp được truyền đến Đây là bit bắt buộc phải có

Data: Dữ liệu cần truyền Bit có trọng số nhỏ nhất sẽ được truyền trước cho đến bit

có trọng số lớn nhất

Parity bit: Kiểm tra dữ liệu truyền có đúng không

Stop bit: là 1 hoặc các bit báo cho thiết bị biết rằng các bit đã được gửi xong Thiết

bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữliệu Đây là bit bắt buộc phải có

1.1.15 Quá trình truyền dữ liệu bằng UART

Để bắt đầu cho việc truyền dữ liệu bằng UART, một start bit sẽ được gửi đi, sau

đó là các bit dữ liệu và kết thúc là Stop bit Khi ở trạng thái chờ, mức điện thế ởmức cao Khi bắt đầu truyền dữ liệu, Start bit sẽ chuyển từ mức 1 xuống mức 0 đểthông báo cho bộ nhận quá trình truyền tín hiệu chuẩn bị diễn ra Sau Start bit là cácbit dữ liệu D0-D7 được truyền đi, Bit parity được truyền đi sau đó để bộ nhận kiểmtra tính đúng đắn của dữ liệu được truyền Sau cùng, Stop bit được truyền đi để báocho thiết bị nhận biết các bit đã được gửi đi xong Thiết bị nhận sẽ kiểm tra khungtruyền nhằm đảm bảo tính đúng đắn của dữ liệu

Hình 2-13 Quá trình truyền dữ liệu bằng UART[4]

Trang 21

CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG MẠCH

1.9 Sơ đồ nguyên lý

Hình 3-14 Sơ đồ nguyên lý

1.10 Sơ đồ layout

Trang 22

Hình 3-15 Sơ đồ layout

1.11 Mạch hoàn thiện

Trang 23

Hình 3-16 Mạch in PCB

Trang 24

Hình 3-17 Mạch hàn linh kiện hoàn chỉnh

Trang 25

CHƯƠNG 4 KẾT LUẬN

1.12 Ưu điểm

Hiển thị nhiệt độ, độ ẩm và gửi cảnh báo qua SMS có tầm quan trọng đặc biệttrong rất nhiều các ngành công nghiệp ứng dụng Việc gửi giá trị nhiệt độ, độ ẩmqua SMS dùng cảm biến DHT11 có ưu điểm là đơn giản, dễ thiết kế, chế tạo và đưavào sử dụng thực tế Ưu điểm của gửi SMS so với các phương thức truyền khác làviệc phổ biến của sóng điện thoại ở nước ta nên có thể gửi tín hiệu ở tốc độ cao,khoảng cách lớn và giá thành rẻ giúp người dùng dù ở xa nhưng vẫn có thể biếtđược các giá trị nhiệt độ, độ ẩm của môi trường nơi đặt cảm biến từ đó có thể cónhững điều chỉnh phù hợp, kịp thời cho phù hợp với mục đích sản xuất từ đó gópphần nâng cao năng suất, chất lượng sản phẩm đồng thời hạn chế rủi ro không mongmuốn

1.13 Nhược điểm

Ngoài những ưu điểm trên, nhược điểm của việc hiển thị nhiệt độ, độ ẩm dùngcảm biến DHT11 và gửi cành báo qua SMS vẫn tồn tại nhiều nhược điểm Cảm biếnDHT11 cho kết quả có sai số cao, độ bền thấp nên còn hạn chế trong những côngviệc đòi hỏi tính chính xác cao hoặc khi đặt ngoài những nơi có thời tiết khắcnghiệt Ngoài ra, việc dùng vi điều khiển là PIC16F877A khiến tốc độ xử lý củamạch không cao, khó phát triển lên những ứng dụng phức tạp hơn

1.14 Hướng phát triển đề tài

Từ đề tài cảnh báo nhiệt độ, độ ẩm qua SMS ta có thể phát triển ứng dụng điềukhiển hệ thống điều khiển tưới cây tự động, hệ thống kiểm soát nhiệt độ, độ ẩm nhàkho, giàn phơi đồ thông minh dựa vào nhiệt độ, độ ẩm của môi trường và gửi giátrị về người dùng để có thể điều chỉnh giá trị cho phù hợp

TÀI LIỆU THAM KHẢO

Tiếng Việt

Trang 27

#device *=8 adc=10

#fuses nowdt,hs,noput,noprotect,nodebug,nobrownout,nolvp, nocpd,nowrt

#use delay(clock=20000000)

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1)

#define LCD_RS_PIN PIN_D1

#define LCD_RW_PIN PIN_D2

#define LCD_ENABLE_PIN PIN_D3

#define LCD_DATA4 PIN_D4

#define LCD_DATA5 PIN_D5

#define LCD_DATA6 PIN_D6

#define LCD_DATA7 PIN_D7

#include <lcd.c>

#define dht pin_b0

void khoitao_sim(){

delay_ms(4000); // cho sim900a duoc khoi dong xong

printf("AT"); putc(13); delay_ms(1000); // gui lenh AT

printf("AT+CMGF=1"); putc(13); delay_ms(1000); // cau hinh tin nham

Ngày đăng: 04/05/2018, 17:03

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w