7. Cấu trúc của đề tài
2.2. Sơ đồ nguyên lý hệ thống
2.2.1. Chức năng các mạch điện
a. Mạch nguồn:
Hình 2.2. Sơ đồ mạch nguồn
Nguồn 1 chiều sau chỉnh lưu được ổn áp bởi IC7805 tạo thành nguồn 5V 1A. R1 có nhiệm vụ hạn dòng cung cấp cho IC7805. C21 phóng nạp nâng cao chất lượng điện áp sau ổn áp lọc các thành phần nhiễu. R2, LED0 tạo thành mạch báo nguồn.
Hình 2.3. Sơ đồ mạch hiển thị LCD
Để LCD hoạt động phải cấp nguồn Vcc vào chân 16 của LCD. Chân 3 và chân 4 được lắp với biến trở VR = 1K để điều chỉnh độ sáng tối của màn hình LCD. Dữ liệu hiển thị được gửi từ vi điều khiển đến LCD thông qua các chân D4, D5, D6, D7. Chân RW, E, RS:…
d. Mạch giao tiếp RS232.
Hình 2.4. Sơ đồ mạch giao tiếp RS232.
Mạch giao tiếp RS232 có nhiệm vụ thực hiện giao tiếp hai chiều giữa bộ điều khiển trung tâm với module SIM900. Trong mạch điện có sử dụng ICMAX232 làm việc theo chuẩn truyền thông nối tiếp UART. Đường tín hiệu RX để thực hiện nhận dữ liệu. Đường tín hiệu TX để thực hiện gửi dữ liệu. Việc kết nối giữa bộ điều khiển trung tâm và module SIM900 được thực hiện thông qua cổng COM9.
X1 X2 X1 X2 RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF-/CVREF 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RE0/AN5/RD 8 RE1/AN6/WR 9 RE2/AN7/CS 10 OSC1/CLKIN 13 OSC2/CLKOUT 14 RC1/T1OSI/CCP2 16 RC2/CCP1 17 RC3/SCK/SCL 18 RD0/PSP0 19 RD1/PSP1 20 RB7/PGD 40 RB6/PGC 39 RB5 38 RB4 37 RB3/PGM 36 RB2 35 RB1 34 RB0/INT 33 RD7/PSP7 30 RD6/PSP6 29 RD5/PSP5 28 RD4/PSP4 27 RD3/PSP3 22 RD2/PSP2 21 RC7/RX/DT 26 RC6/TX/CK 25 RC5/SDO 24 RC4/SDI/SDA 23 RA3/AN3/VREF+ 5 RC0/T1OSO/T1CKI 15 MCLR/Vpp/THV 1 U1 PIC16F877A 1 2 3 4 5 6 7 8 J2 25630801RP2 1 2 3 4 5 6 7 8 J3 25630801RP2 1 2 3 4 5 6 7 8 J4 25630801RP2 1 2 3 4 5 6 7 8 J1 25630801RP2 1 2 3 J5 25630301RP2 C1 1nF C2 1nF X1 CRYSTAL 1 2 J6 CONN-H2 R1 10k
Hình 2.5. Sơ đồ mạch điều khiển trung tâm
Mạch điều khiển trung tâm được thực hiện bởi IC PIC 16F877A. Để vi điều khiển PIC 16F877A hoạt động cần phải có các điều kiện:
Chân 14, 13 được cung cấp dao động chủ được tạo ra bởi thạch anh và các tụ điện.
Chân 1 được nối với mạch RESET, Khi thực hiện RESET chân 1 có mức cao, khi hoạt động chân 1 có mức thấp.
Mạch điều khiển trung tâm được giao tiếp với các mạch khác như sau: - Thực hiện giao tiếp với modul SIM900 thông qua mạch giao tiếp RS232. - Thực hiện điều khiển và giao tiếp với mạch hiển thị LCD.
- Nhóm chân 6, 7, 8 thực hiện hai chức năng:
+ Dùng để nạp chương trình phần mềm cho vi điều khiển PIC 16F877A theo chuẩn giao tiếp ISP.
+ Khi không thực hiện nạp thì dùng làm đầu vào của cảm biến phát hiện người.
- Nhóm chân 1, 2, 3 là các đầu ra để thực hiện điều khiển đóng cắt các đèn chiếu sáng các phòng, khi phát hiện có sự đột nhập trái phép, điều khiển bật bộ báo
f. Mạch công suất
Hình 2.6. Sơ đồ mạch công suất
Mạch công suất được cấu tạo gồm có 3 IC cách ly quang và 3 transistor 2N3904 kết hợp với 3 rơ le 24V-220V.
Khi có tín hiệu gửi đến từ vi điều khiển PIC 16F877A tới các đầu OUT1, OUT2, OUT3 sẽ làm cho các diode trong các Opto quang phát sáng chiếu vào các cực bazơ của các transistor làm cho các transistor mở thông bão hòa, dẫn dòng điện tác động vào cực B của 3 transistor Q1, Q2, Q3 dẫn đến 3 transistor mở thông bão hòa, cấp nguồn 24VDC cho các cuộn hút của các Rơ le, tác động làm cho các tiếp điểm đóng hoặc mở, đóng hoặc ngắt nguồn 220V cung cấp cho các thiết bị theo đúng nguyên lý điều khiển.
2.2.2. Nguyên lý hoạt động mạch điện hệ thống
Nguồn điện xoay chiều 220v sau khi chỉnh lưu hoặc nguồn điện một chiều 12V từ acqui được đưa tới cọc BAT, được ổn áp thành nguồn 5VDC cung cấp cho mạch điều khiển trung tâm, mạch giao tiếp RS232, mạch tạo thời gian thực, mạch hiển thị LCD, mạch cách ly quang.
Cấp nguồn để khởi động hệ thống, sau 30 giây khi hệ thống khởi động ổn định, người sử dụng thực hiện gửi 1 tin nhắn với cú pháp: BAT gửi đến số điện thoại được lắp trong module SIM900, khi người nhắn tin nhận được tin nhắn phản hồi với nội dung: HE THONG DA BAT, thì hệ thống đã hoạt động.
* Khi cảm biến PIR phát hiện thấy có người đột nhập hoặc có tín hiệu báo cháy từ các phòng thì lập tức sẽ đưa tín hiệu về vi điều khiển PIC 16F877A là mức “0”, lúc này vi điều khiển sẽ xử lý và đưa tín hiệu điều khiển tại các đầu ra:
- Thực hiện giao tiếp với Module SIM900 thông qua chân 14, 15 để gọi điện tới số điện thoại (2 lần) đã đặt trước theo thứ tự ưu tiên được nạp sẵn trong chương trình điều khiển của PIC 16F877A.
- Out 1: là mức “1” = 5V tác động đến optoquang OP1 làm cho diode phát quang trong OP1 ngưng dẫn, khóa transistor Q1, ngắt nguồn 12V cấp cho cuộn hút Role 1, ngắt nguồn 220V cho cuộn dây công tắc tơ, cấp nguồn điện cấp cho hệ thống chiếu sáng.
- Out 2: là mức “1” = 5V tác động đến optoquang OP2 làm cho diode phát quang trong OP2 dẫn, mở transistor Q2, cấp nguồn 12V cấp cho cuộn hút Role 2, dẫn đến cấp nguồn điện cấp cho bộ báo động tại chỗ (còi hú) để nhân viên bảo vệ biết.
- Out 3: là mức “1” = 5V tác động đến optoquang OP3 làm cho diode phát quang trong OP3 dẫn, mở transistor Q3, cấp nguồn 12V cấp cho cuộn hút Role 3, dẫn đến cấp nguồn điện cấp cho bộ báo động tại chỗ (đèn quay) để nhân viên bảo vệ biết.
Nếu người sử dụng muốn tạm ngừng hệ thống thì thực hiện gửi tin nhắn đến Module SIM900 với cú pháp: TAT. Khi người sử dụng nhận được tin nhắn phản hồi: HE THONG DA TAT thì hệ thống đã ngừng hoạt động. Muốn hệ thống tiếp tục hoạt động lại thực hiện gửi tin nhắn đến Module SIM900 với cú pháp: BAT.
2.3. Mạch điện thực tế 3 3 4 2 1 6 5 2 1 3 2 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 11 10 1 6 2 7 3 8 4 9 5 1 2 3 4 8 7 6 5 2 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1 2 1 9 10 11 12 13 14 15 16 8 7 6 5 4 3 2 1 3 4 2 1 3 4 2 1 3 4 2 1 3 2 1 3 2 1 3 2 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 3 4 5 6 7 8 9 2 1 2 3 2 1 2 1 2 1
Hình 2.7. Sơ đồ mạch in bộ điều khiển trung tâm
2.4. Lưu đồ thuật toán điều khiển
Hình 2.8. Lưu đồ thuật toán hệ thống
Bắt đầu Khai báo đầu vào, ra, biến toàn cục
Có người khu n
Bật đèn khu vực n Gọi tới các số đặt trước Hiển thị trên giao diện Báo động tại chỗ
Có cháy khu n
Gọi tới các số đặt trước Hiển thị trên giao diện Báo động tại chỗ
Kết thúc S
Đ Đ
2.5. Giao diện điều khiển
Hình 2.9. Giao diện điều khiển hệ thống
2.6. Giới thiệu module Sim9002.6.1. Các thuật ngữ. 2.6.1. Các thuật ngữ.
<CR> : Carriage return (0x0D). <LF> : Line Feed (0x0A). MT : Mobile Terminal
Thiết bị đầu cuối mạng (trong trường hợp này là modem). TE : Terminal Equipment.
Thiết bị đầu cuối (máy tinh, hệ vi điều khiển). 2.6.2. Chế độ nghỉ (sleep mode)
(1) AT+CFUN=0<CR>
Tắt hết mọi chức năng liên quan đến truyền nhận sóng RF và các chức năng liên quan đến SIM. MT không còn được kết nối với mạng.
(2) <CR><LF>OK<CR><LF>
Chuỗi thông báo kết quả thực thi lệnh thành công, thông thường là sau 3 giây kể từ lúc nhận lệnh AT+CFUN=0.
(3) Chuyển trạng thái chân DTR từ mức 0 sang mức 1 Module hoạt động ở chế độ sleep mode.
Module thoát khỏi chế độ sleep. (2) AT+CFUN=1<CR>
Đưa module trở về chế độ hoạt động bình thường. (3) MT trả về chuỗi <CR><LF>OK<CR><LF>.
(4) Module gửi tiếp chuỗi thông báo <CR><LF>Call Ready<CR><LF>.
Thời gian kể từ lúc nhận lệnh AT+CFUN=1<CR> đến lúc module gửi về thông báo trên khoảng 10 giây.
2.6.4. Khởi tạo cấu hình mặc định cho modem.
(1) ATZ<CR>
Reset modem, kiểm tra modem dã hoạt động bình thường chưa. Gửi nhiều lần cho chắc ăn, cho đến khi nhận được chuỗi
ATZ<CR><CR><LF>OK<CR><LF>. (2) ATE0<CR>
Tắt chế độ echo lệnh. Chuỗi trả về có dạng ATE0<CR><CR><LF>OK<CR><LF>. (3) AT+CLIP=1<CR>
Định dạng chuỗi trả về khi nhận cuộc gọi. Thông thường, ở chế độ mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:
<CR><LF>RING<CR><LF>
Sau khi lệnh AT+CLIP=1<CR> đã được thực thi, chuỗi trả về sẽ có dạng: <CR><LF>RING<CR><LF>
<CR><LF>+CLIP: "0929047589",129,"",,"",0<CR><LF>
Chuỗi trả về có chứa thông tin về số điện thoại gọi đến. Thông tin này cho phép xác định việc có nên nhận cuộc gọi hay từ chối cuộc gọi. Kết thúc các thao tác khởi tạo cho quá trình nhận cuộc gọi. Các bước khởi tạo tiếp theo liên quan đến các thao tác truyền nhận tin nhắn.
(4) AT&W<CR>
Lưu cấu hình cài đặt được thiết lập bởi các lệnh ATE0 và AT+CLIP vào bộ nhớ. (5) AT+CMGF=1<CR>
Thiết lập quá trình truyền nhận tin nhắn được thực hiện ở chế độ text (mặc định là ở chế độ PDU). Chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF> (6) AT+CNMI=2,0,0,0,0<CR>
Thiết lập chế độ thông báo cho TE khi MT nhận được tin nhắn mới. Chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF>
Sau khi lệnh trên được thiết lập, tin nhắn mới nhận được sẽ được lưu trong SIM, và MT không truyền trở về TE bất cứ thông báo nào. TE sẽ đọc tin nhắn được lưu trong SIM trong trường hợp cần thiết.
(7) AT+CSAS<CR>
Lưu cấu hình cài đặt được thiết lập bởi các lệnh AT+CMGF và AT+CNMI.
2.6.5. Khởi tạo module SIM900
(1) AT+CMGD=1
Xóa tin nhắn ở vùng nhớ 1 trong SIM. Chuỗi trả về sẽ có dạng: <CR><LF>OK<CR><LF>
(2) AT+CMGD=2
Tác dụng tương tự như lệnh số 7. Lệnh này được dùng để xóa tin nhắn được lưu trong ngăn số 2. Có thể hình dung bộ nhớ lưu tin nhắn trong SIM bao gồm nhiều ngăn (loại Super SIM của Mobi phone có 50 ngăn), mỗi ngăn cho phép lưu nội dung của 1 tin nhắn (bao gồm tất cả các loại tin nhắn: tin nhắn từ tổng đài, tin nhắn thông báo kết quả quá trình gửi tin nhắn trước đó, tin nhắn từ thuê bao khác, …). Mỗi ngăn được đại diện bằng một số thứ tự.
Khi nhận được tin nhắn mới, nội dung tin nhắn sẽ được lưu trong một ngăn trống có số thứ tự nhỏ nhất có thể. Việc xóa nội dung tin nhắn ở hai ngăn 1 và 2 cho phép tin nhắn nhận được luôn được lưu vào trong hai ô nhớ này, giúp dễ dàng xác định vị trí lưu tin nhắn vừa nhận được, và giúp cho việc thao tác với tin nhắn mới nhận được trở nên dễ dàng và đơn giản hơn, giảm khả năng việc tin nhắn mới nhận được bị thất lạc ở một vùng nhớ nào đó mà ta không kiểm soát được.
Ngoài ra, khi bộ nhớ chứa tin nhắn đầy, MT sẽ không được phép nhận thêm tin nhắn mới nào nữa. Những tin nhắn được gửi đến MT trong trường hợp bộ nhớ chứa nhắn của MT đã bị đầy sẽ được lưu lại trên tổng đài, và sẽ được gửi đến MT sau khi bộ nhớ chứa tin nhắn của MT có xuất hiện những ngăn trống dùng để chứa tin nhắn. Việc xóa nội dung tin nhắn trong các ngăn 1 và 2 sẽ giúp đảm bảo khả năng nhận thêm tin nhắn mới của MT.
2.6.6. Thực hiện cuộc gọi.
(1) ATDxxxxxxxxxx;<CR> Quay số cần gọi.
<CR><LF>OK<CR><LF>.
Chuỗi này thông báo lệnh trên đã được nhận và đang được thực thi. Sau đó là những chuỗi thông báo kết quả quá trình kết nối (nếu như kết nối không được thực hiện thành công).
(2A) Nếu MT không thực hiện được kết nối do sóng yếu, hoặc không có sóng (thử bằng cách tháo antenna của modem GSM), chuỗi trả về sẽ có dạng:
<CR><LF>NO DIAL TONE<CR><LF>
(2B) Nếu cuộc gọi bị từ chối bởi người nhận cuộc gọi, hoặc số máy đang gọi tạm thời không hoạt động (chẳng hạn như bị tắt máy) chuỗi trả về có dạng: <CR><LF>NO CARRIER<CR><LF>
(2C) Nếu cuộc gọi không thể thiết lập được do máy nhận cuộc gọi đang bận (ví dụ như đang thông thoại với một thuê bao khác), chuỗi trả về sẽ có dạng:
<CR><LF>BUSY<CR><LF> (4s)
Tổng thời gian từ lúc modem nhận lệnh cho đến lúc nhận được chuỗi trên thông thường là 4 giây.
(2D) Nếu sau 1 phút mà thuê bao nhận cuộc gọi không bắt máy, chuỗi trả về sẽ có dạng:
<CR><LF>NO ANSWER<CR><LF> (60s)
(3) Trong trường hợp quá trình thiết lập cuộc gọi diễn ra bình thường, không có chuỗi thông báo nào (2A, 2B, 2C hay 2D) được trả về, và chuyển sang giai đoạn thông thoại. Quá trình kết thúc cuộc gọi được diễn ra trong hai trường hợp: (4A) Đầu nhận cuộc gọi gác máy trước: chuỗi trả về sẽ có dạng:
<CR><LF>NO CARRIER<CR><LF>
(4B) Đầu thiết lập cuộc gọi gác máy trước: phải tiến hành gửi lệnh ATH, và chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF>
2.6.7. Nhận cuộc gọi đến.
(1) Sau khi được khởi tạo bằng lệnh AT+CLIP=1, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng:
<CR><LF>RING<CR><LF>
<CR><LF>+CLIP: "0929047589",129,"",,"",0<CR><LF>
Chuỗi trả về có hiển thị số điện thoại yêu cầu được kết nối, dựa trên thông tin này để có thể ra quyết định nhận cuộc gọi hay từ chối cuộc gọi.
(2A) Nếu số điện thoại gọi đến không hợp lệ, từ chối nhận cuộc gọi bằng lệnh ATH, và chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF> Cuộc gọi kết thúc.
(2B) Nếu số điện thoại gọi đến là hợp lệ, nhận cuộc gọi bằng cách gửi lệnh ATA, và chuỗi trả về sẽ có dạng:
<CR><LF>OK<CR><LF> (3) Giai đoạn thông thoại.
(4A) Kết thúc cuộc gọi. Đầu còn lại gác máy trước.
(4B) Kết thúc cuộc gọi, chủ động gác máy bằng cách gửi lệnh ATH.
2.6 8. Đọc tin nhắn.
Mọi thao tác liên quan đến quá trình nhận tin nhắn đều được thực hiện trên 2 ngăn 1 và 2 của bộ nhớ nằm trong SIM.
(1) Đọc tin nhắn trong ngăn 1 bằng lệnh AT+CMGR=1.
(2A) Nếu ngăn 1 không chứa tin nhắn, chỉ có chuỗi sau được trả về: <CR><LF>OK<CR><LF>
(2B) Nếu ngăn 1 có chứa tin nhắn, nội dung tin nhắn sẽ được gửi trả về TE với định dạng như sau:
<CR><LF>+CMGR
Các tham số trong chuỗi trả về bao gồm trạng thái của tin nhắn (REC UNREAD), số điện thoại gửi tin nhắn (+84929047589) và thời gian gửi tin nhắn (07/05/15,09:32:05+28) và nội dung tin nhắn.
Đây là định dạng mặc định của module SIM508 lúc khởi động. dạng mở rộng có thể được thiết lập bằng cách sử dụng lệnh AT+CSDH=1 trước khi thực hiện đọc tin nhắn.
(3) Sau khi đọc, tin nhắn được xóa đi bằng lệnh AT+CMGD=1.
Thao tác tương tự đối với tin nhắn chứa trong ngắn thứ 2 trong các bước 4, 5A (5B) và 6.
2.6.9. Gửi tin nhắn.
(1) Gửi tin nhắn đến thuê bao bằng cách sử dụng lệnh AT+CMGS=”số điện thoại”.
(2) Nếu lệnh (1) được thực hiện thành công, chuỗi trả về sẽ có dạng: <CR><LF>> (kí tự “>” và 1 khoảng trắng).
(3) Gửi nội dung tin nhắn và kết thúc bằng kí tự có mã ASCII 0x1A.
(3A) Gửi kí tự ESC (mã ASCII là 27) nếu không muốn tiếp tục gửi tin nhắn nữa. Khi đó TE sẽ gửi trả về chuỗi <CR><LF>OK<CR><LF>.
(4) Chuỗi trả về thông báo kết quả quá trình gửi tin nhắn. Chuỗi trả về có định dạng như sau:
<CR><LF>+CMGS: 62<CR><LF> <CR><LF>OK<CR><LF>
Trong đó 62 là một số tham chiếu cho tin nhắn đã được gửi. Sau mỗi tin nhắn được gửi đi, giá trị của số tham chiếu này sẽ tăng lên 1 đơn vị. Số tham chiếu này có giả trị nằm trong khoảng từ 0 đến 255.
Thời gian gửi một tin nhắn vào khoảng 3-4 giây (kiểm tra với mạng Mobi phone).
(4A) Nếu tình trạng sóng không cho phép thực hiện việc gửi tin nhắn (thử bằng