Hình 4.1: Sơ đồ chân PIC 16F887
PIC 16F887 có 5 Port I/O:
PortA: có 6 chân(chân 2 đến chân 7)
Chân RA0/AN0(2):
o RA0: xuất nhập số.
o AN0: ngõ vào tương tự kênh 0.
Chân RA1/AN1(3):
o RA1: xuất nhập số.
o AN1: ngõ vào tương tự kênh 1.
Chân RA2/AN2/VREF- /CVREF(4):
o RA2: xuất nhập số.
o AN2: ngõ vào tương tự kênh 2.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 27
o CVREF: điện áp tham chiếu ngõ ra bộ so sánh.
Chân RA3/AN3/VREF+ (5):
o RA3: xuất nhập số.
o AN3: ngõ vào tương tự kênh 3.
o VREF+: ngõ vào điện áp chuẩn bộ ADC
Chân RA4/TOCKI/C1OUT(6):
o RA4: xuất nhập số .
o TOCKI: ngõ vào xung clock bên ngoài của Timer0.
o C1OUT: ngõ ra bộ so sánh 1.
Chân RA5/AN4/ / C2OUT (7):
o RA5:xuất nhập số .
o AN4:ngõ vào tương tự kênh 4.
o : ngõ vào lựa chọn SPI phụ
o C2OUT: ngõ ra bộ so sánh 2.
PortB: có 8 chân(chân 33 đến chân 40)
Chân RB0/INT(33):
o RB0: xuất nhập số.
o INT: ngõ vào nhận tín hiệu ngắt ngoài.
Chân RB1(34) và RB2(35):xuất nhập số.
Chân RB3/PGM(36):
o PGM: Cho phép lập trình điện áp thấp ICSP
Chân RB4(37) và RB5(38):xuất nhập số.
Chân RB6/PGC(39):
o PGC: Mạch gỡ rối và xung clock lập trình ICSP.
Chân RB7/PGD(40):
o PGC: Mạch gỡ rối và dữ liệu lập trình ICSP.
PortC: có 8 chân
Chân RC0/T1OSO/T1CKI(15):
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 28
o T1OSO: ngõ RA bộ dao động Timer1.
o T1CKI: ngõ vào xung clock bên ngoài Timer1.
Chân RC1/T1OSI/CCP2(16):
o RC1: xuất nhập số.
o T1OSI: ngõ vào bộ dao động Timer1.
o CCP2: sử dụng cho khối Capture/Compare/PWM.
Chân RC2/ CCP1(17):
o CCP1: sử dụng cho khối Capture/Compare/PWM.
Chân RC3/SCK/SCL(18):
o RC3: xuất nhập số.
o SCK: sử dụng cho chuẩn giao tiếp SPI.
o SCL: sử dụng cho chuẩn giao tiếp I2C.
Chân RC4/SDI/SDA(23):
o RC4: xuất nhập số.
o SDI: sử dụng cho chuẩn giao tiếp SPI.
o SDA: sử dụng cho chuẩn giao tiếp I2C.
Chân RC5/SDO(24):
o RC5: xuất nhập số.
o SDO: sử dụng cho chuẩn giao tiếp SPI.
Chân RC6/TX/CK(25): o RC6: xuất nhập số. o TX:truyền bất đồng bộ USART. o CK: xung đồng bộ USART. Chân RC7/RX/DT(26): o RC7: xuất nhập số. o RX:nhận bất đồng bộ USART. o TD: dữ liệu đồng bộ USART. PortD: có 8 chân Chân RD0/PSP0(19): o RD0: xuất nhập số.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 29
o PSP0: dữ liệu port tớ song song.
Chân RD1/PSP1(20):
o RD1: xuất nhập số.
o PSP1: dữ liệu port tớ song song.
Chân RD2/PSP2(21), Chân RD3/PSP3(22), Chân RD4/PSP4(27), Chân
RD5/PSP5(28), Chân RD6/PSP6(29), Chân RD7/PSP7(30): chức năng tương tự chân 19, 20.
PortE: có 3 chân
Chân RE0/RD/AN5(8):
o RE0: xuất nhập số.
o RD: điều khiển đọc port tớ song song
o AN5: ngõ vào tương tự kênh 5.
Chân RE1/WR/AN6(9):
o RE1: xuất nhập số.
o WR: điều khiển ghi port tớ song song
o AN6: ngõ vào tương tự kênh 6.
Chân RE2/CS/AN7(10):
o RE2: xuất nhập số.
o CS: lựa chọn điều khiển port tớ song song
o AN7: ngõ vào tương tự kênh 7.
Ngoài ra, một số chức năng của các chân khác trong PIC 16F877A:
Chân OSC1/CLKIN(13) và chân OSC2/CLKOUT(14): kết nối với dao động thạch anh, là ngõ vào/ra của xung clock
Chân /VPP(1):
o : ngõ vào reset tích cực mức thấp.
o VPP: khi lập trình cho PIC thì đ ng vai trò nhận điện áp lập trình.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 30
CHƢƠNG 5
TỔNG QUAN VỀ DHT11 VÀ LCD
5.1 Thông số kỹ thuật và nguyên lý hoạt động của cảm biến nhiệt độ, độ ẩm DHT11
5.1.1. Thông số kỹ thuật
DHT11 có cấu tạo 4 chân như hình. Nó sử dụng giao tiếp số theo chuẩn 1 dây. Thông số kỹ thuật: + Đo độ ẩm: 20%-95% + Nhiệt độ: 0-50ºC + Sai số độ ẩm ±5% + Sai số nhiệt độ: ±2ºC Hình 5.1 Cảm biến nhiệt độ, độ ẩm DHT11 5.1.2. Nguyên lý hoạt động: Sơ đồ kết nối vi xử lý:
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 31
Hình 5.2 Sơ đồ nguyên lý DHT11
Nguyên lý hoạt động:
Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 ước:
+ Gửi tin hiệu muốn đo (Start) tới DHT11, sau đ DHT11 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
Hình 5.3 Quá trình giao tiếp
MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms. Trong Code mình để 25ms. Khi đ DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 32 Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11. Chân DATA sẽ ở mức thấp 80us sau đ nó được DHT11 kéo nên cao trong 80us. Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko. Nếu tín hiệu đo được DHT11 lên cao, khi đ hoàn thiện quá trình giao tiếp của MCU với DHT.
Bước 2: đọc giá trị trên DHT11
DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đ : + Byte 1: giá trị phần nguyên của độ ẩm (RH%)
+ Byte 2: giá trị phần thập phân của độ ẩm (RH%) + Byte 3: giá trị phần nguyên của nhiệt độ (TC) + Byte 4 : giá trị phần thập phân của nhiệt độ (TC) + Byte 5 : kiểm tra tổng.
Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa.
Đọc dữ liệu:
Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm.
Bit 0:
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 33
Bit 1 :
Hình 5.5 Dữ liệu bit 1
Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên 1. Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1. Do đ trong lập trình ta bắt sườn lên của chân DATA, sau đ delay 50us. Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1. Cứ như thế ta đọc các bit tiếp theo.
5.2 Giới thiệu LCD Y1602C
LCD YM1602C là LCD hiển thị được 2 hàng mỗi hàng hiển thị được 16 kí tự.
Thông số :
Kích thước hiển thị : 16x2 dòng
Màu hiển hiển thị : đen trắng
Chế độ giao tiếp : 8 hoặc 4 bít
Cỡ chữ hiển thị : 5x7 hoặc 5x10
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 34 Chân
số
Tên Chức năng
1 VSS Chân nối đất cho LCD, khi thiết ta nối chân này với GND của vi điều khiển.
2 VDD Chân cấp nguồn cho LCD, khi thiết kế ta nối chân này với
VCC = 5V của mạch điều khiển.
3 VEE Dùng để điều chỉnh độ tương phản cho LCD.
4 RS Chân chọn thanh ghi (register seclect). Nối chân RS xuống
mức logic ‘0’ (GND) hay ‘1’ (VDD) để chọn thanh ghi. + Mức ‘0’ : Bus DB0-DB7 sẽ nối với thanh ghi lệnh của
LCD (ở chế độ ‘ghi’- write)hoặc nối với bộ đếm địa chỉ
của LCD (ở chế độ ‘đọc’- read).
+ Mức ‘1’ : Bus DB0-DB7 sẽ nối với thanh hgi dữ liệu DR
trong LCD.
5 R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/S xuống mức logic ‘0’ để LCD hoạt động ở chế độ ghi hoặc nối R/S lên mức logic ‘1’ để LCD hoạt động ở chế độ đọc.
6 E Chân cho phép (Enable). Sau khi các tin hiệu được đặt lên
DB0-DB7. Các lệnh chỉ được chấp nhận khi có một xung cho
phép của chân E.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 35 vào
(chấp nhận) thanh ghi ở bên trong nó khi xuất hiện một xung cạnh xuống (từ cao xuống thấp) của chân tín hiệu E.
+ Ở chế độ đọc : dữ liệu sẽ được LCD xuất ra DB0- DB7
khi phát hiện cạnh lên ở chân E và dữ liệu sẽ được giữ ở
DB0-DB7 cho tới khi nào chân E xuống mức thấp. 7-14 D0-D7 Tám đường của bus dữ liệu dùng để trao đổi thông tin
với
MPU. Có hai chế độ sử dụng 8 đường bus này : + Chế độ 8 bit : dữ liệu được truyền trên cả 8 đường này,
bit MSB với là bit DB7.
+ Chế độ 4 bit : dữ liệu được truyền trên 4 đường DB4 –
DB7, bit MSB với là bit DB7. 15 A Điều khiển bật LCD(lên mức 1)
16 K Nối GND
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 36 LCD 16 Characters x 2 Lines U2 LCD-TC1602A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 GN D VC C VEE RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 LED + LED - Sơ đồ chân LCD 16x2 Hình 5.6 Sơ đồ chân LCD 16x2 Hình 5.7 Sơ đồ khối LCD 16x2 Kết nối LCD : Chân VDD lên mức 5V. Chân VSS xuống mức 0V.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 37
Chân RS và E tương ứng RD0 và RD1.
Chân D4→D7 được kết nối tương ứng RD4→RD7.
Chân RW không sử dụng vì chỉ dùng với mục đích ghi, không dùng chế độ đọc
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 38
CHƢƠNG 6
THIẾT KẾ VÀ THI CÔNG MẠCH HỆ THỐNG 6.1 Sơ đồ khối cho hệ thống
Hình 6.1: Sơ đồ khối hệ thống điều khiển
Chức năng từng khối
Khối module SIM900: có chức năng gửi nhận tin nhắn SMS và giao tiếp với website thông qua GPRS. Khối này cần 1 thiết bị điện thoại di động dành cho người sử dụng (điều khiển). Người sử dụng cần phải đăng kí dịch vụ viễn thông đối với các nhà cung cấp dịch vụ trong nước.Module 900 này phải được gắn Sim của nhà cung cấp dịch vụ và cũng cần phải có chức năng như một điện thoại di động để kết nối với vi điều khiển PIC16F887. Cái này được đặt cố định và thường xuyên kết nối với PIC16F887.
Khối xử lý 16F887 là khối trung tâm trong việc xử lí và điều khiển phần cứng. Khối do một vi điều khiển PIC16F887 đảm nhận và có nhiệm vụ gửi nhận dữ liệu với Module SIM900 một cách liên tục. Khi Module SIM900 gửi thông tin điều khiển thì khối xử lí phần cứng sẽ được lập trình để thực thi..
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 39
Khối cảm biến nhiệt độ,độ ẩm là khối hiển thị nhiệt độ,độ ẩm môi trường lên LCD.
Khối nguồn là khối cung cấp nguồn ổn định cho toan hệ thống.
6.2 Sơ đồ nguyên lý và tính toán 6.2.1 Nguồn cung cấp cho hệ thống 6.2.1 Nguồn cung cấp cho hệ thống
_Khối nguồn cung cấp cho PIC16F887 và SIM900 sử dụng LM2576ADJ để tạo ra điện áp 4,5V cung cấp cho PIC16F887 và SIM900 hoạt động
_ Dùng các tụ hóa có giá trị khác nhau để lọc điện áp ra, thường chọn các tụ lớn: 1000uF, 100nF,47uF… fb fb 1 2 3 4 5 LM2576ADJ SIL-100-05 C1 1nF C2 1000u D1 1N5408 L1 B82412A3101K000 R3 10k R4 10k C3 1n5 C4 1n5 C5 1000u BR1 KBU4A 1 2 3 DC-IN CONN-SIL3 R6 10k A K D2 LED-YELLOW
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 40
Tính toán giá trị điện trở
Vì điện áp của SIM hoạt động trong khoảng điện áp 3.3V-4.5V, nên ta chọn điện áp cung cấp là 4,5V để mạch hoạt động ình thường. Khi đ , nếu ta chọn R1=1K, thì:
R2 = R1*[(Vout/1.23)-1] = 1*[(4,5/1.23)-1] = 2.7 KΩ _Dùng các điện trở 1K, 470Ω để báo hiệu để nhận biết đã có nguồn.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 41
6.2.2 Khối module SIM900 6.2.2.1 Ứng dụng thẻ SIM 6.2.2.1 Ứng dụng thẻ SIM
Giao diện SIM tuân theo quy định GSM phase 1 và GSM phase 2+ với tốc độ 64k ps. Điện áp cung cấp 1.8V và 3V.
Hình 6.2 Sơ đồ kết nối khe SIM với SIM900
Pin name Signal Description
C1 SIM_VDD Cung cấp điện áp cho SIM
C2 SIM_RST Reset SIM
C3 SIM_CLK Clock SIM
C5 GND Kết nối GND
C6 VPP Không kết nối
C7 SIM_DATA Dữ liệu I/O SIM
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 42
6.2.2.2 Nguồn cung cấp SIM900
Hình 6.3 Nguồn cung cấp cho SIM900 6.2.2.3 Nhận dạng trạng thái mạng
Hình 6.4 Mạch nhận dạng mạng Status Vận hành SIM
Off SIM900 không hoạt động
64ms On/800ms Off SIM900 chưa đăng ký với mạng 64ms On/3000ms Off SIM900 đăng ký với mạng 64ms On/300ms Off Liên lạc GPRS được thiết lập
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 43
6.2.3 Khối vi điều khiển PIC16F887
MCLR RA0 MOTOR_SENSE C2IN+ AN3 RA4 RC0 OSC2 OSC1 RB0 RB1 MCLR RB2 RB3 RB4 RB5 RB6 RB7 OSC2 OSC1 TX RX RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7 RD2 ON/OFF RST MCLR RB7 RB6 C6 22p C7 22p Y1 4MHz R2 10K C10 0.1uF RE3/MCLR/VPP 1 RA1/AN1/C12IN1- 3 RA2/AN2/VREF-/CVREF/C2IN+ 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RB0/AN12/INT 33 RB1/AN10/C12IN3- 34 RB2/AN8 35 RA7/OSC1/CLKIN 13 RA6/OSC2/CLKOUT 14 RD5/P1B 28 RD6/P1C 29 RD7/P1D 30 RC4/SDI/SDA 23 RC5/SDO 24 RC3/SCK/SCL 18 RC2/P1A/CCP1 17 RC1/T1OSI/CCP2 16 RC0/T1OSO/T1CKI 15 RB7/ICSPDAT 40 RB6/ICSPCLK 39 RB5/AN13/T1G 38 RB4/AN11 37 RD3 22 RD2 21 RD1 20 RD0 19 RC7/RX/DT 26 RC6/TX/CK 25 RE2/AN7 10 RE1/AN6 9 RE0/AN5 8 RA3/AN3/VREF+/C1IN+ 5 RD4 27 RB3/AN9/PGM/C12IN2- 36 RA0/AN0/ULPW U/C12IN0- 2 U2 PIC16F887 R1 10k 1 2 PKEY CONN-SIL2 1 2 RST CONN-SIL2 1 2 MCLR CONN-SIL2 1 2 3 4 5 PIC_KIT2 SIL-100-05
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 44
6.2.4 Khối cảm biến nhiệt độ và LCD.
R B 7 R D 6 R D 7 R B 0 R B 1 R B 5 R B 6 RB3 RB2 D 7 1 4 D 6 1 3 D 5 1 2 D 4 1 1 D 3 1 0 D 2 9 D 1 8 D 0 7 E 6 R W 5 R S 4 V S S 1 V D D 2 V E E 3 U6 LM016L 1 2 3 RV1 1k 1 2 3 4 SENSO1 CONN-SIL4 1 2 3 4 SENSO2 CONN-SIL4 R7 10k R8 10k
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 45
6.2.5 Sơ đồ mạch in
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 46
6.2.6 Lƣu đồ giải thuật xử lý dữ liệu
BEGIN
Khai báo các tiền xử lí Định nghĩa chân
Khai báo biến
Thiết lập PORT ra vào
Khởi tạo LCD
Khởi tạo UART
Hiển thị mặc định LCD
Kiểm tra kết nối SIM900
Có kết nối ? Khởi động SIM900 Cấu hình SIM900 yes No A
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 47
A
Gửi tin xác nhận
Cấu hình GPRS
Đợi kết nối thành công