2) Nội dung các phần thuyết minh và tính toán:
3.4.6 Mạch dao động
Cấp nguồn xung clock cho vi điều khiển hoạt động, tần số tụ thạch anh thường dùng từ 12MHz ÷ 24MHz. Thường chọn tần số tụ thạch anh cung cấp là 12MHz, các tụ song song là 33pF.
CHƢƠNG 4 :
THIẾT KẾ VÀ THI CÔNG
4.1 Phƣơng án thiết kế
Gồm 2 phuơng án thiết kế như sau:
Phương án 1: Dùng bộ GSM MODULE SIM300CZ để kết nối với vi điều khiển 89C52: chi phí và giá thành đ ắt. Thích hợp cho lập trình lệnh AT dễ dàng và đ ầy đủ tín năng cho lập trình với lệnh AT. Ngoài ra còn có thể phát triển ứng dụng sâu thêm với GPRS, GPS.
Phương án 2: Dùng điện thoại di động (Ericssion T28, T39 …) có chức năng giống với GSM MODULE SIM300CZ để kết nối với 89C52. Việc lập trình cho điện tho ại di động cũng gần tương tự như GSM MODULE nhưng có hạn chế hơn vì một số loại điện thoại chỉ hỗ trợ lệnh AT ở dạng Mode PDU nên lập trình rất phức tạp. Ngoài ra phần kết nối giữa điện thoại di động với khối vi điều khiển cũng rất phức tạp.
Phương án lựa chọn: Chọn phương án 1 vì MODULE SIM300CZ hỗ trợ lập trình lệnh AT ở cả 2 chế độ Mode Text và Mode PDU nên việc lập trình đơn giản hơn nhiều so với điện tho ại di động. Mặc dù giá thành khá đ ắt nhưng vì nó hỗ trợ chế độ Mode Text nên việc lập trình đơn gi ản hơn nhiều so với dùng điện tho ại di động vì vậy nhóm quyết định dùng Module Sim300CZ. Ngoài ra còn có thể phát triển các ứng dụng khác sử dụng GPRS, GPS.
4.2 Sơ đồ khối
Hình 4.1 : Sơ đồ khối hệ thống
4.2.1 Chức năng từng khối
Khối giao tiếp SMS
Có chức năng gửi nhận tin nhắn SMS cho việc điều khiển các thiết bị. Khối này cần 1 thiết bị điện tho ại di động và 1 Module Sim300CZ:
- 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.
- GSM Module Sim300CZ : Module 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. Cái này được đặt cố định và thường xuyên kết nối với vi điều khiển. Khi người sử dụng nhắn một tin SMS có nội dung là một lệnh yêu cầu điều khiển thiết bị. Ví dụ : DV:ADA:ON, DV:ADA:OFF, PT:ADA:ON, ….. thì Module Sim300CZ sẽ nhận tin nhắn và được xử lí bởi câu lệnh điều khiển được lập trình và được nạp vào vi điều khiển.
KHỐI HIỂN THỊ LCD MODULE SIM300CZ VI ĐIỀU KHIỂN KHỐI NGUỒN THIẾT BỊ KH Ố I G IA O TI Ế P S M S KHỐI CÔNG SUẤT
Khối xử lý phần cứng
Khối xử lí phần cứng 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 đảm nhận và có nhiệm vụ gửi nhận dữ liệu với Module Sim300CZ một cách liên tục. Khi Module Sim300CZ 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. Vi điều khiển có nhiệm vụ giao tiếp với Khối công suất.
Khối công suất
Khối này bao gồm 2 BJT C1815 có nhiệm vụ khuếch đại điện áp để kích cho relay. Khối công suất với dòng thấp, đáp ứng tải tiêu tụ công suất thấp và dân dụng như bóng đèn.
Khối thiết bị
Chứa các thiết bị cần điều khiển.
4.2.2 Nguyên lý hoạt động
Thuê bao gửi tin nhắn điều khiển đến Module Sim300CZ theo cú pháp: *<mật khẩu># <nội dung điều khiển>
Trong đó :
<mật khẩu> : 1234 <nội dung điều khiển> :
99: kiểm tra thiết bị 1: mở tất cả các thiết bị 0: tắt tất cả các thiết bị 00 01: tắt thiết bị 1, tắt thiết bị 2 00 11: tắt thiết bị 1, mở thiết bị 2 10 01: mở thiết bị 1, tắt thiết bị 2 10 11: mở thiết bị 1, mở thiết bị 2
Khi nhận được tin nhắn mới, module sẽ gửi lệnh +CMTI: “SM”, 1 đến vi điều khiển thông qua chân TXD để báo cho vi điều khiển biết có tin nhắn mới. Vi điều khiển nhận được lệnh thông qua chân RXD (P3.0) sẽ gửi lại lệnh AT+CMGR=1 qua chân TXD (P3.1) đến module để đọc nội dung tin nhắn vừa nhận được. Module nhận được lệnh này qua chân RXD sẽ gửi nội dung tin nhắn đến vi điều khiển.
Sau khi nhận được nội dung tin nhắn, vi điều khiển tiến hành xử lý tin nhắn và gửi tín hiệu điều khiển ra chân P2.7 (thiết bị 1), P2.5 (thiết bị 2) để điều khiển. Sau
khi điều khiển, vi điều khiển nhận biết trạng thái thiết bị thông qua chân P2.6 (thiết bị 1), P2.4 (thiết bị 2), và điều khiển module gửi tin nhắn báo kết quả điều khiển bằng lệnh: AT+CMSS=<chỉ số>, <số điện tho ại> trong đó:
<Chỉ số>: số chỉ thị kết quả điều khiển thiết bị tương ứng với vị trí tin nhắn lưu trong sim:
3: sai mật khẩu 4: sai cú pháp 5: thiết bị 1 mở, thiết bị 2 mở 6: thiết bị 1 tắt, thiết bị 2 mở 7: thiết bị 1 mở, thiết bị 2 tắt 8: thiết bị 1 mở, thiết bị 2 mở
<số điện thoại>: số điện thoại thuê bao gửi tin nhắn điều khiển thiết bị Cuối cùng, vi điều khiển gửi lệnh điều khiển AT+CMGD=1 cho module để xóa tin nhắn điều khiển. Quá trình trên được lặp lại khi có tin nhắn điều khiển mới đến.
4.3 Thiết kế và thi công phần cứng
4.3.1 Sơ đồ nguyên lý và tính toán 4.3.1.1 Module Sim300CZ 4.3.1.1 Module Sim300CZ
Hình 4.2 : Sơ đồ capture Module Sim300CZ
Nguyên lý hoạt động
Module sim300CZ có chức năng như chiếc điện tho ại di động, nó nhận tin nhắn thông qua mạng GSM, sau đó lưu tin nhắn vào Sim rồi chuyển xuống vi
điều khiển thông qua chân TXD_GSM. Đồng thời, Module sim300CZ cũng nhận dữ liệu từ vi điều khiển qua chân RXD_GSM, gửi tin nhắn trả lời đến thuê bao điều khiển thông qua mạng GSM.
Tính toán thông số
Hình 4.3 : Sơ đồ kết nối truyền dữ liệu
Mức 1 của vi điều khiển là 5V nhưng với module Sim300CZ hiểu mức 1 là 2.8-3v nên ở chân RXD_GSM dùng cầu phân áp để giảm áp c ủa tín hiệu truyền từ vi điều khiển sang module
4.3.1.2 Khối giao tiếp
Hình 4.4 : Sơ đồ capture khối giao tiếp
Nguyên lý hoạt động
2 tín hiệu từ Module sim300CZ RXD_GSM và TXD_GSM đi vào R1OUT và T1IN của Max232 để truyền tín hiệu sang máy tính bằng RS232.
Sơ đồ mạch được thiết kế dựa vào datasheet của Max232, tuy nhiên do khôi giao tiếp truyền dữ liệu do đó giá trị tụ có thể thay đổi phù hợp.
4.3.1.3 Khối nguồn
Hình 4.5 : Sơ đồ capture khối nguồn
Nguyên lý hoạt động
Cho nguồn 12 Vdc qua IC ổn áp LM7805 tạo ra nguồn tuyến tính 5V c ấp cho vi điều khiển, khối giao tiếp, mạch logic, khối hiển thị LCD.
Đồng thời đưa nguồn 12Vdc qua IC LM2576 tạo nguồn xung 4.3V cho khối Module Sim300CZ
Tính toán thông số
Mạch được xây dựng dựa trên datasheet của các IC nguồn. Nhưng với LM2576 dùng biến trở 50k để chỉnh mức áp ra theo mong muốn
Với L=100uH
Vo ut=Vref với Vref=1.23V.
Chọn R1= 1KΩ, R2 là biến trở 50KΩ để điều chỉnh mức điện áp mong muốn 4.3V
4.3.1.4 Khối vi điều khiển
Hình 4.5 : Sơ đồ capture khối vi điều khiển
Nguyên lý hoạt động
Khối vi điều khiển sử dụng nguồn cung cấp 5VDC, làm nhiệm vụ nhận các tin nhắn điều khiển từ chân RXD và TXD để xử lý nội dung tin nhắn, sau đó thực hiện lệnh điều khiển theo tin nhắn nhận được để điều khiển các thiết bị thông qua Port 2.5 và Port 2.7, đồng thời nhận tín hiệu phản hồi trạng thái thiết bị bằng Port 2.4 và Port 2.6 để truyền đến thuê bao điều khiển thông qua Module Sim300CZ.
Do mạch thực hiện truyền dữ liệu nối tiếp với Module Sim300CZ nên chọn thạch anh có giá trị f=11.0592MHz, 2 tụ 33pF dùng ổ n định dao động cho thạch anh.
Dùng điện trở kéo P0 có giá trị 10K theo datasheet.
4.3.1.5 Khối công suất
Các linh kiện dùng trong khối công suất
Triac
Triac được cấu tạo gần giống như 2 SCR nối song song ngược chiều có 2 cực G được nối tiếp với nhau để đưa ra ngoài một cực kích duy nhất. Đặc tính của trac có khả năng dẫn điện với cả hai chiều (+,-) nếu có xung kích vào thời điểm đó, tải sẽ được cấp nguồn AC.
Hình 4.6 : Triac
Tuy nhiên để có thể sử dụng triac cần phải kích tín hiệu xoay chiều vào cực G của triac, điều này sẽ gây khó khăn cho việc điều khiển, bởi trong đồ án việc điều khiển thiết bị bằng cách kích các tín hiệu dạng mức và tín hiệu là DC nên không thể kích triac hoạt động như mong muốn. Do đó, nhóm thực hiện sử dụng thêm một linh kiện có chức năng giống triac nhưng được kích bằng tín hiệu DC mà vẫn đáp ứng được yêu c ầu hoạt động của thiết bị xoay chiều. Đó là Moc 3020.
Moc 3020
Moc 3020 là linh kiện có tính chất và nguyên lý hoạt động giống với các triac thông thường. Tuy nhiên, Moc 3020 có cực G được kích bằng tín hiệu một chiều. Khi ta kích 1 chiều đủ lớn sẽ làm cho led hồng ngoại bên trong dẫn phát đến triac bên trong làm cho triac dẫn, cho phép dòng xoay chiều đi qua nó.
Moc 3020 có một số đặt tính như sau :
- Áp đặt trên 2 đầu led lớn nhất 1.5v, thường là 1.15v - Dòng kích cho led 10mA
- Có thể giao tiếp với vi điều khiển để tương thích điện áp 115V/240V.
Tuy nhiên, công suất của Moc 3020 quá nhỏ không đ ủ để làm nhiệm vụ đóng mở thiết bị có công suất tương đối lớn như các thiết bị điện gia dụng. Do đó trong đồ án, nhóm thực hiện dùng Moc 3020 để làm nhiệm vụ kích cho một triac khác có công suất lớn đủ đáp ứng được yêu cầu của đề tài.
Hình 4.7 : Sơ đồ capture khối công suất
Nguyên lý hoạt động Bao gồm 2 phần chính :
Phần mạch Logic
Với ý tưởng thiết kế, nếu đi xa có thể sử dụng SMS để điều khiển thiết bị điện trong nhà, nếu ở nhà ta có thể dùng công tắt để điều khiển bật tắt thiết bị đèn bằng tay. Do đó, nhóm sử dụng IC 74LS136 với 2 cổng EXOR hai ngõ vào.
Cổng EXOR thứ nhất : Một ngõ lấy tín hiệu từ vi điều khiển , một ngõ lấy tín hiệu từ công tắt điều khiển bằng tay, ngõ ra cho qua IC 74LS32 cổng OR 2 ngõ vào được nối chung nhằm giữ mức logic từ ngõ ra của IC 74LS136 để truyền qua chân con MOC3020 kích con BT137. Phần kích
Do sử dụng cổng EXOR nên chỉ hoặc vi điều khiển xuất mức 1 hoặc công tắt mở thì đèn mới sáng. Vì khi đó, điện áp qua con MOC 3020 kích con BT137 dẫn, nguồn 220V đi qua cung cấp cho đèn, đèn sáng. Ngược lại, nếu công tắt đóng hoặc vi điều khiển xuất mức 0, con MOC3020 không dẫn, không kích con BT137, nguồn 220V không đi qua thiết bị nên thiết bị tắt.
IC cách ly quang MOC3020 là IC nhận dòng một chiều đi qua, led sáng, dẫn dòng xoay chiều đi qua để làm chân kích cho con BT137 dẫn. BT137 được bảo vệ bởi mạch Snubber bao gồm 1 điện trở có giá trị chính xác 39Ω (sử dụng điện trở 5 vòng màu) và 1 tụ gốm 0.1uF. Điện trở 100Ω nhằm giảm áp từ mức 1 của 74LS32 qua led của MOC3020.
4.3.1.6 Khối hiển thị LCD
Hình 4.8 : Sơ đồ capture khối hiển thị LCD
Sử dụng biến trở 10K để hạn dòng và điều chỉnh cung cấp nguồn cho LCD và điều chỉnh độ tương phản của LCD.
4.3.2 Mạch Layout
4.3.2.1 Module Sim300CZ, khối nguồn, khối giao tiếp
Hình 4.9: Sơ đồ layout Module Sim300CZ
4.3.2.2 Khối vi điều khiển
Hình 4.10: Sơ đồ layout khôi vi điều khiển
4.3.2.3 Khối công suất
Hình 4.11 : Sơ đồ layout khối công suất
Hình 4.12 : Sơ đồ layout khối hiển thị LCD
4.3.3 Mạch thực tế
4.3.3.1 Module Sim300CZ, khối nguồn, khối giao tiếp
Hình 4.13 : Mạch thực tế Module Sim300CZ
4.3.3.2 Khối vi điều khiển
Hình 4.14 : Mạch thực tế khối vi điều khiển
Hình 4.15 : Mạch thực tế khối công suất
4.3.3.4 Khối hiển thị LCD
4.4 Thiết kế và thi công phần mềm
4.4.1 Ý tƣởng chƣơng trình
Chương trình được thiết kế để vi điều khiển nhận tin nhắn từ module SIM300CZ, sau đó xử lý tin nhắn và tiến hành điều khiển các thiết bị.
4.4.2 Lƣu đồ chƣơng trình chính
BEGIN Khởi tạo truyền
dữ liệu nối tiếp UART Báo có tin nhắn mới ?
Nhận tin nhắn
Xử lý tin nhắn và Điều khiển thiết bị Báo cáo kết quả xử lý và
điều khiển S
Đ
Hình 4.17 : Lưu đồ chương trình chính
Giải thích lưu đồ :
Đầu tiên, khi vừa khởi động hoặc reset, vi điều khiển sẽ tiến hành khởi tạo các thanh ghi truyền dữ liệu để truyền dữ liệu nối tiếp. Sau đó vi điều khiển sẽ thực hiện chờ nhận tin báo có tin nhắn mới từ module SIM300CZ. Nếu tin báo gửi tới là tin báo có tin nhắn mới, vi điều khiển sẽ thực hiện gửi lệnh điều khiển đọc tin nhắn mới từ module.
Sau khi nhận tin nhắn từ module, vi điều khiển sẽ tiến hành xử lý nội dung tin nhắn để điều khiển thiết bị.
Cuối cùng vi điều khiển tiến hành điều khiển module gửi tin nhắn trả lời báo kết quả điều khiển và kết thúc quá trình điều khiển.
Sau khi thực hiện xong quá trình, vi điều khiển quay lại ban đầu tiếp tục chờ có tin nhắn mới.
4.4.3 Lƣu đồ chƣơng trình xử lý tin nhắn
Xử lý tin nhắn Lấy nội dung tin nhắn và số
điện thoại gửi Mật khẩu đúng ?
Cú pháp đúng ? Điều khiển thiết bị
Báo sai mật khẩu
Báo sai cú pháp RET Đ S Đ S
Hình 4.18 : Lưu đồ chương trình xử lý tin nhắn
Để xử lý tin nhắn, trước tiên vi điều khiển thực hiện tách lấy phần nội dung của tin nhắn và số điện tho ại đã gửi tin nhắn tới. Sau đó vi điều khiển sẽ tiến hành phân tích nội dung lệnh điều khiển. Trước tiên là kiểm tra mật khẩu, nếu mật khẩu sai vi điều khiển sẽ thực hiện gửi tin nhắn báo sai mật khẩu cho thuê bao gửi tin nhắn điều khiển. Nếu mật khẩu là đúng, sẽ kiểm tra tiếp cú pháp điều khiển, nếu cú pháp đúng, vi điều khiển sẽ tiến hành điều khiển thiết bị, nếu không sẽ thực hiện gửi tin nhắn báo sai cú pháp cho thuê bao gửi tin nhắn điều khiển.
4.4.4 Lƣu đồ chƣơng trình điều khiển thiết bị
Mã điều khiển ngắn ? Điều khiển kiểm tra ?
Điều khiển mở/tắt tất cả thiết bị Điều khiển mở/tắt từng thiết bị Kiểm tra thiết bị
Kiểm tra thiết bị Đ
S Đ
S Điều khiển thiết bị
RET
Để điều khiển thiết bị, trước tiên sẽ phải kiểm tra lệnh điều khiển. Lệnh điều khiển có 2 loại, lệnh điều khiển ngắn và lệnh điều khiển dài. Lệnh điều khiển ngắn là lệnh điều khiển chỉ có 1 ký tự tắt ho ặc mở, nếu gặp lệnh này sẽ thực hiện tắt hoặc mở toàn bộ các thiết bị. Lệnh điều khiển dài là lệnh điều khiển thực hiện cho từng thiết bị, khi gặp lệnh này chỉ thực hiện điều khiển cho 1 thiết bị xác định. Vi điều khiển sẽ kiểm tra lệnh điều khiển là ngắn hay dài dựa vào chiều dài của lệnh.
Nếu lệnh điều khiển là ngắn, vi điều khiển sẽ tiến hành kiểm tra lệnh là tắt, mở để thực hiện điều khiển cho toàn bộ thiết bị.
Nếu lệnh điều khiển là dài, vi điều khiển sẽ kiểm tra từng cụm lệnh (các cụm lệnh cách nhau bằng khoảng trắng), ở mỗi cụm lệnh nếu đúng sẽ thực hiện điều khiển thiết bị tương ứng. Các cụm lệnh sẽ được kiểm tra lần lượt cho đến hết chiều