Bao Cao Tot Nghiep
Transcript of Bao Cao Tot Nghiep
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
CHƯƠNG 1
TỔNG QUAN VỀ ĐỀ TÀI
1.1 TỔNG QUAN VỀ ĐỀ TÀI
1.1.1 GIỚI THIỆU ĐỀ TÀINgày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ kỹ
thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò quan trọng trong mọi
lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông tin ... Do đó là một sinh
viên chuyên ngành Điện tử chúng ta phải biết nắm bắt và vận dụng nó một cách có hiệu
quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự
phát triển kỹ thuật điện tử nói riêng. Bên cạnh đó còn là sự thúc đẩy sự phát triển của nền
kinh tế nước nhà.
Như chúng ta cũng đã biết, gần như các thiết bị tự động trong nhà máy, trong đời sống của
các gia đình ngày nay đều hoạt động độc lập với nhau, mỗi thiết bị có một quy trình sử
dụng khác nhau tuỳ thuộc vào sự thiết lập, cài đặt của người sử dụng. Chúng chưa có một
sự liên kết nào với nhau về mặt dữ liệu. Nhưng đối với hệ thống điều khiển thiết bị từ xa
thông qua tin nhắn SMS thì lại khác. Ở đây, các thiết bị điều khiển tự động được kết nối
với nhau thành một hệ thống hoàn chỉnh qua một một thiết bị trung tâm và có thể giao tiếp
với nhau về mặt dữ liệu.
Điển hình của một hệ thống điều khiển thiết bị trong nhà từ xa thông qua điện thoại di
động gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến các thiết bị tinh vi,
phức tạp như tivi, máy giặt, hệ thống báo động . Nghĩa là tất cả các thiết bị này có thể giao
tiếp với nhau về mặt dữ liệu thông qua một đầu não trung tâm. Đầu não trung tâm ở đây
có thể là một máy vi tính hoàn chỉnh hoặc có thể là một bộ xử lí đã được lập trình sẵn tất
cả các chương trình điều khiển. Bình thường, các thiết bị trong ngôi nhà này có thể được
điều khiển từ xa thông qua các tin nhắn của chủ nhà. Chẳng hạn như việc tắt quạt, đèn
điện … khi người chủ nhà quên chưa tắt trước khi ra khỏi nhà. Hay chỉ với một tin nhắn
SMS, một cuộc điện thoại, người chủ nhà có thể bật máy điều hòa để làm mát phòng trước
khi về nhà trong một khoảng thời gian nhất định. Bên cạnh đó nó cũng gửi thông báo cho
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 3
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
người điều khiển biết khi có người lạ đột nhập vào nhà thông qua hệ thống báo động dùng
cảm biến phát hiện chuyển động PIR gửi qua tin nhắn SMS. Ngoài ra, hệ thống còn mang
tính bảo mật. Nghĩa là chỉ có chủ nhà hay người biết mật khẩu của ngôi nhà thì mới điều
khiển được ngôi nhà này.
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với sự hợp
tác, phát triển mạnh mẽ của mạng di động nên chúng em đã chọn đề tài “NGÔI Nhà
Thông Minh” để đáp ứng được nhu cầu ngày càng cao của con người và góp phần vào
sự tiến bộ, văn minh, hiện đại của nước nhà.
1.1.2 Ý NGHĨA CỦA ĐỀ TÀINgày nay cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử ra đời ngày càng
nhiều về chủng loại cũng như tính năng sử dụng. Bên cạnh đó nhu cầu sử dụng các thiết bị
một cách tự động ngày càng cao, con người ngày càng muốn có nhiều thiết bị giải trí cũng
như các thiết bị sinh hoạt với kỹ thuật và công nghệ ngày càng cao. Có thể ở Việt nam
chưa phát triển mạnh mẽ trong lĩnh này nhưng hiện nay ở trên thế giới, nhất là các quốc
gia thuộc Châu âu hay Mĩ thì mô hình ngôi nhà tự động được điều khiển từ xa đã phát
triển rất mạnh mẽ.
Từ những nhu cầu thực tế đó, nhóm em muốn đưa một phần những kỹ thuật hiện đại của
thế giới áp dụng vào điều kiện thực tế trong nước để có thể tạo ra một hệ thống điều khiển
thiết bị trong nhà từ xa thông qua điện thoại di động nhằm đáp ứng nhu cầu ngày càng cao
của con người. Đề tài lấy cơ sở là tin nhắn SMS để điều khiển thiết bị. Việc sử dụng tin
nhắn SMS để điều khiển thiết bị có thuận lợi là tiết kiệm chi phí, mang tính cạnh tranh và
cơ động cao (nghĩa là ở chỗ nào có phủ sóng mạng điện thoại di động ta cũng có thể điều
khiển thiết bị được). Ngoài ra, sản phẩm của đề tài này có tính mở, có thể áp dụng cho
nhiều đối tượng khác nhau trong dân dụng cũng như trong công nghiệp.
1.1.3 MỤC ĐÍCH VÀ PHƯƠNG PHÁP NGHIÊN CỨUĐồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những kiến thức đã
được học trong nhà trường để thiết kế, tạo ra một hệ thống Điều khiển tự động từ xa bằng
tin nhắn SMS hoàn chỉnh. Hệ thống tích hợp module điều khiển giám sát trung tâm,
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 4
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
module công suất cho các thiết bị trong nhà và và module báo động (cảnh báo) cùng các
module tiện ích khác. Với module báo động thì sẽ gởi thông tin dữ liệu về bộ xử lí trung
tâm khi có tác động của đối tượng bên ngoài (người lạ đột nhập). Qua xử lí, dữ liệu sẽ
được gửi về thiết bị đầu cuối (mobile) của người điều khiển để báo cho biết có tác động
của đối tượng bên ngoài ( người lạ đột nhập). Module điều khiển giám sát có chức năng
điều khiển và giám sát.
GIỚI HẠN ĐỀ TÀI
Để thực thi một hệ thống nhà thông minh, điều khiển thiết bị từ xa thông qua điện thoại di
động áp dụng cho một ngôi nhà hoàn chỉnh như nói trên là rất phức tạp và rất tốn kém. Để
đáp ứng việc điều khiển toàn bộ các thiết bị này đòi hỏi phải có một lượng thời gian, kiến
thức nhất định. Bên cạnh đó còn là vấn đề tài chính. Với lượng thời gian và kiến thức có
hạn, trong đề tài này nhóm em thực hiện chỉ thực thi một phần của hệ thống hoàn chỉnh
đó. Đó là điều khiển đóng mở đèn, quạt qua tin nhắn SMS. Ngoài ra còn có chức năng báo
động (cảnh báo) khi có người lạ đột nhập vào nhà và tự động bật đèn khi trời tối hoặc có
người bước vào nhà.
Với những gì đã trình bày trên, nhóm em đã tiến hành nghiên cứu, khảo sát và thực hiện
và dự kiến đạt được các mục tiêu đặt ra như sau:
Điều khiển các thiết bị trong nhà (cụ thể là điều khiển một thiết bị công suất trung bình)
bằng tin nhắn SMS tại ví trí có phủ sóng của mạng điện thoại di động đang hoạt động
trong nước như Viettel, Mobile Phone, Vina Phone …
Tự động gửi tin nhắn ngược trở lại cho người điều khiển, với nội dung tin nhắn chứa
thông tin hoạt động của thiết bị (on/off).
Ngoài ra, hệ thống còn có chức năng tự động báo động bằng cách gửi một tin nhắn SMS
tới người điều khiển khi có người lạ đột nhập.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 5
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
1.2 CƠ SỞ LÝ LUẬN
1.2.1 TÌNH HÌNH NGHIÊN CỨU TRONG NƯỚC VÀ NGOÀI NƯỚC
1.2.1.1 Ngoài nướcHiện nay trên thế giới, việc sử dụng tin nhắn SMS để điều khiển thiết bị từ xa không còn
vấn đề mới mẻ nữa vì được nghiên cứu và đã áp dụng vào thực tế trong các nhà máy xí
nghiệp. Kĩ thuật này được ra đời vào cuối tháng 8/2000, khi đó có đến 6.3 triệu GSM
(Global System for Mobile communications) được sử dụng tại South Africa. Theo thống
kê thì tổng số người dùng GSM vào năm 2005 được dự đoán là 11 triệu người chỉ tính
riêng South Africa. Hiện tại có 49 mạng GSM tại Africa với sự phát triển ghê ghớm hơn
nữa trong tương lai. Kĩ thuật GSM có khả năng truyền tin wireless với phạm vi rất rộng
lớn và đảm bạo độ tin cậy cao. Chính vì vậy, người dùng có thễ gửi tin nhắn SMS để điều
khiển thiết bị từ xa mang lại hiệu quả cao. Người dùng chỉ cần sử dụng điện thoại di động
của mình (bất cứ loại hoặc thương hiệu) để Theo dõi và kiểm soát những ứng dụng trong
công nghiệp và nông nghiệp. Những hệ thống được điều hiển bởi SMS (SMS Control
Systems) thì chỉ cần điều khiển thông qua việc gửi nhận tin nhắn SMS. Điều này có nghĩa
là việc điều khiển có phạm vi rất xa. Hệ thống điều khiển bằng tin nhắn SMS được thiết
kế để điều khiển những thiết bị và ứng dụng :
Máy móc nhà xưởng.
Hệ thống xử lí nước thải.
Nông nghiệp thủy lợi.
Lò sưởi, ướp lạnh, máy điều hòa.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 6
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
1.2.1.2 Trong nướcỞ phạm vi trong nước, trước khi thực hiện đề tài này thì cũng đã có nhóm nghiên cứu về
đề tài điều khiển thiết bị bằng SMS nhưng nghiên cứu đầy đủ về một hệ thống điều khiển
thiết bị điện bằng tin nhắn SMS dùng Module Sim300CZ thì theo em tìm hiểu trên google
và các tài liệu khác thì chưa có. Tuy nhiên, vẫn có những nghiên cứu phát triển, ứng dụng
làm nền tảng cho đề tài này được thực hiện. Chẳng hạn như đề tài nghiên cứu: “Điều
khiển thiết bị từ xa qua tin nhắn SMS bằng máy tính ” của tác giả Nguyễn Trọng Kiên
và Phạm Văn Nam, sinh viên trường ĐH Sư Phạm Kỹ Thuật năm 2008. Trong đề tài này,
hai tác giả Nguyễn Trọng Kiên và Phạm Văn Nam đã sử dụng yếu tố chính là máy tính
giao tiếp với điện thoại bằng dây cáp USB Modem để điều khiển các thiết bị điện, điện tử
ở trong nhà chẳng hạn như điều khiển, giám sát và cho hiển thị được hình ảnh thông qua
camera và các tính năng khác. Tác giả đã nghiên cứu và cho đi vào các ứng dụng như: tìm
hiểu các vấn đề về truyền dữ liệu, các giao thức truyền thông, giao tiếp, phần mềm điều
khiển. Hệ thống thiết kế giao diện điều khiển trên máy bằng cách giao tiếp điện thoại với
máy tính qua USB Modem.
Hệ thống có sơ đồ khối như hình sau:
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 7
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Với hệ thống như trên, tác giả đã khai thác, ứng dụng rất tốt sự phát triển của mạng
di động vào trong thực tế. Song, theo ý kiến chủ quan thì đề tài này vẫn còn một số thiếu
sót cần khắc phục chẳng hạn như: hệ thống trên chỉ ứng dụng cho những địa điểm, vị trí
nào có lắp đặt máy tính hay có dùng laptop nhưng rất cồng kềnh, phức tạp và trong quá
trình thực thi hệ thống thì ngoài việc giao diện phần mềm xây dựng hoạt động ổn định thì
phải luôn đảm bảo được giao tiếp đồng bộ giữa máy tính với điện thoại. Nếu hệ thống
không duy trì được những yếu tố trên thì sẽ không thực thi được quá trình điều khiển thiết
bị điện trong nhà. Bên cạnh đề tài nêu trên còn có một số đề tài khác đề cập đến vấn đề
điều khiển thiết bị từ xa khác, nhưng chưa có đề tài nào sử dụng tin nhắn SMS để điều
khiển thiết bị dùng Module Sim300CZ. Tuy nhiên, các đề tài đi trước đã tạo nền tảng cho
việc phát triển ý tưởng điều khiển thiết bị từ xa qua tin nhắn SMS.
Tóm lại, việc nghiên cứu sử dụng tin nhắn SMS để điều khiển thiết bị hiện nay tại Việt
Nam đang còn rất mới mẻ và chưa đi vào thực tiễn ứng dụng nhiều. Hầu hết các nghiên
cứu đều là nghiên cứu tự phát của cá nhân những người hay nhóm người muốn tìm hiểu
về công nghệ này, vẫn chưa phải là một hoạt động nghiên cứu mang tính chuyên nghiệp
để có thể đưa vào ứng dụng. Mặc dù vậy việc nghiên cứu vẫn có những nhen nhóm khi
tập đoàn điện lực EVN đã sử dụng công nghệ nhắn tin SMS để điều khiển máy cắt thông
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 8
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
qua Modem điện thoại của họ. Ước tính 70 triệu thuê bao di động ở Việt Nam năm 2009
khi mà ba “đại gia” di động của Việt Nam là VinaPhone, MobiFone và Viettel đều tăng
trưởng rất nóng với số lượng thuê bao mỗi ngày phát triển được lên tới hàng trăm ngàn
thuê bao. Dịch vụ về SMS cũng tăng lên rất mạnh. Điều này là một lợi thế cho việc nghiên
cứu và phát triển các ứng dụng trong điều khiển tự động hóa.
1.2.2 Ý TƯỞNG THIẾT KẾDùng mạng điện thoại di động của các nhà cung cấp dịch vụ như Viettel, Mobiphone,
Vinaphone, S-Fone để gửi tin nhắn SMS điều khiển các thiết bị và có thể nhận dữ liệu đáp
ứng lại từ các thiết bị cho biết tình trạng hoạt động ON/OFF của các thiết bị và gửi dữ liệu
báo động cho người điều khiển.
1.2.3 ĐỀ CƯƠNG CHI TIẾT NGHIÊN CỨUĐề tài này được thực hiện gồm 3 phần:
PHẦN A: GIỚI THIỆU, giới thiệu một cách khái quát về đề tài.
PHẦN B: NỘI DUNG, gồm 5 chương.
Chương 1: Tổng quan về đề tài, nêu lên những vấn đề hiện nay có liên quan đến đề
tài, tầm quan trọng của vấn đề và hướng giải quyết vấn đề đó. Cơ sở lý luận, trình bày
tổng quát đề cương nghiên cứu, các phương pháp, cách thức nghiên cứu và kế hoạch để
thực hiện đề tài.
Chương 2: Giới thiệu tổng quát về Module Sim300CZ, tập lệnh AT Command,
tổng quát về tin nhắn SMS, tổng quát về công nghệ GSM.
Chương 3: Giới thiệu tổng quát về Vi điều khiển PIC16F877A, khảo sát sơ đồ
chân, tổ chức bộ chức, hoạt động Timer, hoạt động port nối tiếp, hoạt động ngắt, truyền
thông nối tiếp, chuyển đổi ADC...
Chương 4: Thiết kế và thi công mạch
Chương 5: Kết luận và hướng phát triển của đề tài
PHẦN C: PHỤ LỤC
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 9
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
1.2.4 PHƯƠNG PHÁP NGHIÊN CỨUTrong đề tài này nhóm em đã sử dụng các phương pháp nghiên cứu:
- Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí về điện
tử và truy cập từ mạng internet.
- Phương pháp quan sát: khảo sát một số mạch điện thực tế đang có trên thị trường và
tham khảo thêm một số dạng mạch từ mạng Internet.
- Phương pháp thực nghiệm: từ những ý tưởng và kiến thức vốn có của mình kết hợp với
sự hướng dẫn của giáo viên, nhóm em đã lắp ráp thử nghiệm nhiều dạng mạch khác nhau
để từ đó chọn lọc những mạch điện tối ưu.
Với đề tài này, nhóm em dựa vào sách giáo khoa và những kiến thức được trang bị trong
quá trình học tập cùng với sự trợ giúp của máy tính và những thông tin trên mạng Internet.
Ngoài ra, còn có những thiết bị trợ giúp trong quá trình thiết kế mạch do nhóm em tự
trang bị.
CHƯƠNG 2
GIỚI THIỆU MODULE SIM900, TẬP LỆNH AT cho SIM900, TIN NHẮN SMS, CÔNG NGHỆ GSM
2.1 TỔNG QUÁT VỀ TIN NHẮN SMS
2.1.1 GIỚI THIỆU VỀ SMSSMS là từ viết tắt của Short Message Service. Đó là một công nghệ cho phép gửi và nhận
các tín nhắn giữa các điện thoại với nhau. SMS xuất hiện đầu tiên ở Châu âu vào năm
1992. Ở thời điểm đó, nó bao gồm cả các chuẩn về GSM (Global System for Mobile
Communications). Một thời gian sau đó, nó phát triển sang công nghệ wireless như
CDMA và TDMA. Các chuẩn GSM và SMS có nguồn gốc phát triển bởi ETSI. ETSI là
chữ viết tắt của European Telecommunications Standards Institute. Ngày nay thì 3GPP
(Third Generation Partnership Project) đang giữ vai trò kiểm soát về sự phát triển và duy
trì các chuẩn GSM và SMS.
Như đã nói ở trên về tên đầy đủ của SMS là Short Message Service, từ cụm từ đó, có thể
thấy được là dữ liệu có thể được lưu giữ bởi một tin nhắn SMS là rất giới hạn. Một tin
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 10
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
nhắn SMS có thể chứa tối đa là 140 byte (1120 bit) dữ liệu. Vì vậy, một tin nhắn SMS chỉ
có thể chứa :
+ 160 kí tự nếu như mã hóa kí tự 7 bit được sử dụng (mã hóa kí tự 7 bit thì phù hợp với
mã hóa các lí tự latin chẳng hạn như các lí tự alphabet của tiếng Anh).
+ 70 kí tự nếu như mã hóa kí tự 16 bit Unicode UCS2 được sử dụng (các tin nhắn SMS
không chứa các kí tự latin như kí tự chữ Trung Quốc phải sử dụng mã hóa kí tự 16 bit).
Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau. Nó có thể hoạt động tốt với
nhiều ngôn ngữ mà có hỗ trợ mã Unicode , bao gồm cả Arabic, Trung Quốc, Nhật bản và
Hàn Quốc.Bên cạnh gữi tin nhắn dạng text thì tin nhắn SMS còn có thể mang các dữ liệu
dạng binary. Nó còn cho phép gửi nhạc chuông, hình ảnh cùng nhiều tiện ích khác … tới
một điện thoại khác.
Một trong những ưu điểm nổi trội của SMS đó là nó được hỗ trợ bởi các điện thoại có sử
dụng GSM hoàn toàn. Hầu hết tất cả các tiện ích cộng thêm gồm cả dịch vụ gửi tin nhắn
giá rẻ được cung cấp, sử dụng thông qua sóng mang wireless. Không giống như SMS, các
công nghệ mobile như WAP và mobile Java thì không được hỗ trợ trên nhiều model điện
thoại.
Sử dụng tin nhắn SMS ngày càng phát triển và trở lên rộng khắp :
Các tin nhắn SMS có thể được gửi và đọc tại bất kỳ thời điểm nào.
Ngày nay, hầu hết mọi người đều có điện thoại di động của riêng mình và mang nó theo
người hầu như cả ngày. Với một điện thoại di động , bạn có thể gửi và đọc các tin nhắn
SMS bất cứ lúc nào bạn muốn, sẽ không gặp khó khăn gì khi bạn đang ở trong văn phòng
hay trên xe bus hay ở nhà…
Tin nhắn SMS có thể được gửi tới các điện thoại mà tắt nguồn.
Nếu như không chắc cho một cuộc gọi nào đó thì bạn có thể gửi một tin nhắn SMS đến
bạn của bạn thậm chí khi người đó tắt nguồn máy điện thoại trong lúc bạn gửi tin nhắn đó.
Hệ thống SMS của mạng điện thoại sẽ lưu trữ tin nhắn đó rồi sau đó gửi nó tới người bạn
đó khi điện thoại của người bạn này mở nguồn.
Các tin nhắn SMS ít gây phiền phức trong khi bạn vẫn có thể giữ liên lạc với người khác
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 11
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Việc đọc và viết các tin nhắn SMS không gây ra ồn ào. Trong khi đó, bạn phải chạy ra
ngoài khỏi rạp hát, thự viện hay một nơi nào đó để thực hiện một cuộc điện thoại hay trả
lời một cuộc gọi. Bạn không cần phải làm như vậy nếu như tin nhắn SMS được sử dụng.
Các điện thoại di động và chúng có thể được thay đổi giữa các sóng mang Wireless
khác nhau.
Tin nhắn SMS là một công nghệ rất thành công và trưởng thành. Tất cả các điện thoại
mobile ngày nay đều có hỗ trợ nó. Bạn không chỉ có thể trao đổi các tin nhắn SMS đối
với người sử dụng mobile ở cùng một nhà cung cấp dịch vụ mạng sóng mang wireless, mà
đồng thời bạn cũng có thể trao đổi nó với người sử dụng khác ở các nhà cung cấp dịch vụ
khác.
SMS là một công nghệ phù hợp với các ứng dụng Wireless sử dụng cùng với nó.
Nói như vậy là do:
Thứ nhất, tin nhắn SMS được hỗ trợ 100% bởi các điện thoại có sử dụng công nghệ GSM.
Xây dựng các ứng dụng wireless trên nền công nghệ SMS có thể phát huy tối đa những
ứng dụng có thể dành cho người sử dụng.
Thứ hai, các tin nhắn SMS còn tương thích với việc mang các dữ liệu binary bên
cạnh gửi các text. Nó có thể được sử dụng để gửi nhạc chuông, hình ảnh, hoạt họa …
Thứ ba, tin nhắn SMS hỗ trợ việc chi trả các dịch vụ trực tuyến.
2.2 .Lý thuyết về SIM900
Hình 1.8. Hình ảnh Sim 900 Hình 1.9.
2.1.3 TIN NHẮN SMS CHUỖI / TIN NHẮN SMS DÀIMột trong những trở ngại của công nghệ SMS là tin nhắn SMS chỉ có thể mang một lượng
giới hạn các dữ liệu. Để khắc phục trở ngại này, một mở rộng của nó gọi là SMS chuỗi
(hay SMS dài) đã ra đời. Một tin nhắn SMS dạng text dài có thể chứa nhiều hơn 160 kí
tự theo chuẩn dùng trong tiếng Anh. Cơ cấu hoạt động cơ bản SMS chuỗi làm việc như
sau: điện thoại di động của người gửi sẽ chia tin nhắn dài ra thành nhiều phần nhỏ và sau
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 12
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
đó gửi các phần nhỏ này như một tin nhắn SMS đơn. Khi các tin nhắn SMS này đã được
gửi tới đích hoàn toàn thì nó sẽ được kết hợp lại với nhau trên máy di động của người
nhận.
Khó khăn của SMS chuỗi là nó ít được hỗ trợ nhiều so với SMS ở các thiết bị có sử dụng
sóng wireless.
2.1.4 SMS CENTER/SMSCMột SMS Center (SMSC) là nơi chịu trách nhiệm luân chuyển các hoạt động liên quan tới
SMS của một mạng wireless. Khi một tin nhắn SMS được gửi đi từ một điện thoại di động
thì trước tiên nó sẽ được gửi tới một trung tâm SMS. Sau đó, trung tâm SMS này sẽ
chuyển tin nhắn này tới đích (người nhận). Một tin nhắn SMS có thể phải đi qua nhiều
hơn một thực thể mạng (netwok) (chẳng hạn như SMSC và SMS gateway) trước khi đi
tới đích thực sự của nó. Nhiệm vụ duy nhất của một SMSC là luân chuyển các tin nhắn
SMS và điều chỉnh quá trình này cho đúng với chu trình của nó. Nếu như máy điện thoại
của người nhận không ở trạng thái nhận (bật nguồn) trong lúc gửi thì SMSC sẽ lưu trữ tin
nhắn này. Và khi máy điện thoại của người nhận mở nguồn thì nó sẽ gửi tin nhắn này tới
người nhận.
Thường thì một SMSC sẽ họat động một cách chuyên dụng để chuyển lưu thông SMS
của một mạng wireless. Hệ thống vận hành mạng luôn luôn quản lí SMSC của riêng nó và
ví trí của chúng bên trong hệ thống mạng wireless. Tuy nhiên hệ thống vận hành mạng sẽ
sử dụng một SMSC thứ ba có vị trí bên ngoài của hệ thống mạng wireless.
Bạn phải biết địa chỉ SMSC của hệ thống vận hành mạng wireless để sử dụng, tinh chỉnh
chức năng tin nhắn SMS trên điện thoại của bạn. Điển hình một địa chỉ SMSC là một số
điện thoại thông thường ở hình thức, khuôn mẫu quốc tế. Một điện thoại nên có một thực
đơn chọn lựa để cấu hình địa chỉ SMSC. Thông thường thì địa chỉ được điều chỉnh lại
trong thẻ SIM bởi hệ thống mạng wireless. Điều này có nghĩa là bạn không cần phải làm
bất cứ thay đổi nào cả.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 13
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
2.1.5 NHẮN TIN SMS QUỐC TẾCác tin nhắn SMS giữa các nhà điều hành được chia ra làm hai hạng mục gồm tin nhắn
SMS giữa các nhà điều hành cục bộ và tin nhắn SMS giữa các nhà điều hành quốc tế với
nhau. Tin nhắn SMS giữa các nhà điều hành cục bộ là tin nhắn mà được gửi giữa các nhà
điều hành trog cùng một quốc gia còn tin nhắn SMS giữa các nhà điều hành quốc tế là tin
nhắn SMS được gửi giữa các nhà điều hành mạng wireless ở những quốc gia khác nhau.
Thường thì chi phí để gửi một tin nhắn SMS quốc tế thì cao hơn so với gửi trong nước.
Và chi phí gửi tin nhắn trong nội mạng thì ít hơn so với gửi cho mạng khác trong cùng
một quốc gia <= chi phí cho việc gửi tin nhắn SMS quốc tế.
Khả năng kết hợp của tin nhắn SMS giữa hai mạng wireless cục bộ hay thậm chí là
quốc tế là một nhân tố chính góp phần tới sự phát triển mạnh mẽ của hệ thống SMS toàn
cầu.
2.2 TỔNG QUÁT VỀ HỆ THỐNG THÔNG TIN DI ĐỘNG GSM
2.2.1 GIỚI THIỆU VỀ CÔNG NGHỆ GSMGSM (Global System for Mobile communication) là hệ thống thông tin di động số toàn
cầu, là công nghệ không dây thuộc thế hệ 2G(second generation) có cấu trúc mạng tế bào,
cung cấp dịch vụ truyền giọng nói và chuyển giao dữ liệu chất lượng cao với các băng tần
khác nhau: 400Mhz, 900Mhz, 1800Mhz và 1900Mhz, được tiêu chuẩn Viễn thông Châu
Âu (ETSI) quy định.
GSM là một hệ thống có cấu trúc mở nên hoàn toàn không phụ thuộc vào phần cứng,
người ta có thể mua thiết bị từ nhiều hãng khác nhau.
Do nó hầu như có mặt khắp mọi nơi trên thế giới nên khi các nhà cung cấp dịch vụ thực
hiện việc ký kết roaming với nhau nhờ đó mà thuê bao GSM có thể dễ dàng sử dụng máy
điện thoại GSM của mình bất cứ nơi đâu.
Mặt thuận lợi to lớn của công nghệ GSM là ngoài việc truyền âm thanh với chất lượng cao
còn cho phép thuê bao sử dụng các cách giao tiếp khác rẻ tiền hơn đó là tin nhắn SMS.
Ngoài ra để tạo thuận lợi cho các nhà cung cấp dịch vụ thì công nghệ GSM được xây
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 14
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
dựng trên cơ sở hệ thống mở nên nó dễ dàng kết nối các thiết bị khác nhau từ các nhà
cung cấp thiết bị khác nhau.
Nó cho phép nhà cung cấp dịch vụ đưa ra tính năng roaming cho thuê bao của mình với
các mạng khác trên toàn thế giới. Và công nghệ GSM cũng phát triển thêm các tính năng
truyền dữ liệu như GPRS và sau này truyền với tốc độ cao hơn sử dụng EDGE.
GSM hiện chiếm 85% thị trường di động với 2,5 tỷ thuê bao tại 218 quốc gia và vùng lãnh
thổ. Các mạng thông tin di động GSM cho phép có thể roaming với nhau do đó những
máy điện thoại di động GSM của các mạng GSM khác nhau ở có thể sử dụng được nhiều
nơi trên thế giới.
2.2.2 ĐẶC ĐIỂM CỦA CÔNG NGHỆ GSM- Cho phép gởi và nhận những mẫu tin nhắn văn bản bằng kí tự dài đến 126 kí tự.
- Cho phép chuyển giao và nhận dữ liệu, FAX giữa các mạng GSM với tốc độ hiện hành
lên đến 9.600 bps.
- Tính phủ sóng cao: Công nghệ GSM không chỉ cho phép chuyển giao trong toàn mạng
mà còn chuyển giao giữa các mạng GSM trên toàn cầu mà không có một sự thay đổi, điều
chỉnh nào. Đây là một tính năng nổi bật nhất của công nghệ GSM(dịch vụ roaming).
- Sử dụng công nghệ phân chia theo thời gian TDM (Time division multiplexing )
để chia ra 8 kênh full rate hay 16 kênh haft rate.
- Công suất phát của máy điện thoại được giới hạn tối đa là 2 watts đối với băng
tần GSM 850/900Mhz và tối đa là 1 watts đối với băng tần GSM 1800/1900Mhz.
- Mạng GSM sử dụng 2 kiểu mã hoá âm thanh để nén tín hiệu âm thanh 3,1khz đó
là mã hoá 6 và 13kbps gọi là Full rate (13kbps) và haft rate (6kbps).
2.2.3 CẤU TRÚC CỦA MẠNG GSM
2.2.3.1 Cấu trúc tổng quát
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 15
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 2.1 Cấu trúc của công nghệ GSM
Hệ thống GSM được chia thành nhiều hệ thống con như sau:
Phân hệ chuyển mạch NSS (Network Switching Subsystem).
Phân hệ trạm gốc BSS (Base Station Subsystem).
Phân hệ bảo dưỡng và khai thác OSS (Operation Subsystem).
Trạm di động MS (Mobile Station).
2.2.3.2 Các thành phần của công nghệ mạng GSM
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 16
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 2.2 Các thành phần mạng GSM
2.2.4 SỰ PHÁT TRIỂN CỦA CÔNG NGHỆ GSM Ở VIỆT NAMCông nghệ GSM đã vào Việt Nam từ năm 1993. Hiện, ba nhà cung cấp di động công nghệ
GSM lớn nhất của Việt Nam là VinaPhone, MobiFone và Viettel Mobile, cũng là những
nhà cung cấp chiếm thị phần nhiều nhất trên thị trường với số lượng thuê bao mới tăng
chóng mặt trong thời gian vừa qua.
Hiện nay có đến hơn 85% người dùng hiện nay đang là khách hàng của các nhà cung cấp
dịch vụ theo công nghệ GSM.
Cho tới thời điểm này, thị trường thông tin di động của Việt Nam đã có khoảng 70 triệu
thuê bao di động. Khi mà ba “đại gia” di động của Việt Nam là VinaPhone, MobiFone và
Viettel đều tăng trưởng rất nóng với số lượng thuê bao mỗi ngày phát triển được lên tới
hàng trăm ngàn thuê bao.
2.3 GIỚI THIỆU MODULE SIM300CZ, TẬP LỆNH AT COMMAND.
2.3.1 GIỚI THIỆU MODULE SIM300CZCác modem được sử dụng từ những ngày đầu của sự ra đời máy tính. Từ Modem là một
từ được hình thành từ hai từ modulator và demodulator. Và định nghĩa đặc trưng này cũng
giúp ta hình dung được phần nào là thiết bị này sẽ làm cái gì. Dữ liệu số thì đến từ một
DTE, thiết bị dữ liệu đầu cuối được điều chế theo cái cách mà nó có thể được truyền dữ
liệu qua các đường dây truyền dẫn. Ở một mặt khác của đường dây, một modem khác thứ
hai điều chế dữ liệu đến và xúc tiến, duy trì nó.
Các modem ngày xưa chỉ tương thích cho việc gữi nhận dữ liệu. Đễ thiết lập một kết nối
thì một thiết bị thứ hai như một dialer thì được cần đến. Đôi khi kết nối cũng được thiết
lập bằng tay bằng cách quay số điện thoại tương ứng và một khi modem được bật thì kết
nối coi như được thực thi. Các máy tính loại nhỏ ở các năm 70 thâm nhập vào thị trường
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 17
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
là các gia đình, cùng với chi phí thì sự thiếu hụt về kiến thức kỹ thuật trở thành một vấn
đề nan giải
Một modem GSM là một modem wireless, nó làm việc cùng với một mạng wireless GSM.
Một modem wireless thì cũng hoạt động giông như một modem quay số. Điểm khác nhau
chính ở đây là modem quay số thì truyền và nhận dữ liệu thông qua một đường dây điện
thoại cố định trong khi đó một modem wireless thì việc gữi nhận dữ liệu thông qua sóng.
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 Sim300CZ là một trong những loại modem GSM. Nhưng Module Sim300CZ
đựoc 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 EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz,
tính năng GPRS của Sim 300CZ có nhiều lớp
8 lớp điện dung
10 lớp điện dung
Và hỗ trợ GPRS theo dang đồ thị mã hóa CS-1, CS-2, CS-3 và CS-4
2.3.2 ĐẶC ĐIỂM CỦA MODULE SIM300CZ.Nguồn cung cấp khoảng 3,4 – 4,5V
Nguồn lưu trữ
Băng tần
EGSM 900Mhz, DCS 1800 Mhz và PCS 1900Mhz, Sim300CZ có thể tự động tìm kiếm
các băng tần
Phù hợp với GSM Pha 2/2+
Loại GSM là loại MS nhỏ
Kết nối GPRS
GPRS có nhiều rãnh loại 8 ( lựa chọn )
GPRS có nhiều ránh loại 10 ( tự động )
Giới hạn nhiêt độ:
Bình thường -300C tới +700C
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 18
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hạn chế : - 350C tới -300C và +700C tới +800C
Nhiệt độ bảo quản: -450C tới 850C
Dữ liệu GPRS:
GPRS dữ liệu tải xuống: Max 85.6 kbps
GPRS dữ liệu úp lên: Max 42.8 kbps
Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
Sim 300 CZ hổ trợ giao thức PAP ,kiểu sử dụng kết nối PPP
Sim 300CZ tích hợp giao thức TCP/IP
Chấp nhận thông tin được điều chỉnh rộng rãi
8.CSD:
Tốc độ truyền dẫn CSD: 2; 4; 8; 9; 6; 14 KPPS
Hỗ trợ USSD
9.SMS:
MT, MO, CB, Text and PDU mode
Bộ nhớ SMS: Sim, card
10. FAX:
Nhóm 3 loại 1
11.Sim card:
Hỗ trợ sim card: 1,8v ; 3v
12. Anten ngoài:
Kết nối thông qua anten ngoài 500km hoặc đế anten
13. Âm thanh:
Dạng mã hòa âm thanh.
Mức chế độ (ETS 06.20)
Toàn bộ chế độ (ETS 06.10)
Toàn bộ chế độ tăng cường (ETS 06.50/ 06.06/ 06.80)
Loại bỏ tiếng dội
14.Giao tiếp nối tiếp và sự ghép nối:
Cổng nối tiếp: 7 Cổng nối tiếp( ghép nối)
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 19
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Cổng kết nối có thể Sd với CSD Fax, GPRS và gửi lệnh ATCommand tới mudule điều
khiển
Cổng nối tiếp có thể Sd chức năng giao tiếp
Hỗ trợ tốc độ truyền 1200 BPS tới 115200 BPS
Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
Cổng hiệu chỉnh lỗi chỉ sử dụng sữa lỗi
15. Quản lý danh sách:
Hỗ trợ mẫu danh sách: SM, FD, LD, RC,ON, MC
16. Sim Application toolkit:
Hỗ trợ SAT loại GSM 11,14 bản 99
17. Đồng hồ thời gian thực:
Người cài đặt
18. Times function:
Lập trình thông qua AT Command
19. Đặc tính vật lý (đặc điểm):
Kích thướt 50±0.15 x 33±0.15 x7.7±0.3mm
Nặng 13.8 kg
20. Chương trình hoàn thiện:
Bảng phối hợp:
Coding scheme 1.Time & lot 2. Tome slot 4. Time slot
CS – 1 9. oskbps 18.1 kbps 36. 2 kbps
CS – 2 13.4 kbps 26.8 kbps 53.6 kbps
CS – 3 15.6 kbps 31.2 kbps 62.4 kbps
CS – 4 21.4 kbps 42.8 kbps 85.6 kbps
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 20
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 2.3 Module Sim300CZ
2.3.3 KHẢO SÁT SƠ ĐỒ CHÂN VÀ CHỨC NĂNG TỪNG CHÂN
S 1
SIM 300C z
V C C -E XT1 5
V R TC1 4
V C H G1 1
D C D3 7
D TR3 9
R XD4 1
TXD4 3
R TS4 5
C TS4 7
R I4 9
D B G -R XD4 8
D B G -TXD5 0
TE
MP
-BA
T13
PW
RK
EY
17
NE
TLI
GH
T16
BU
ZZ
ER
23
GN
D2
GN
D4
GN
D6
GN
D8
GN
D10
AG
ND
51
AG
ND
52
ST
AT
US
19
GP
IO-0
21
GP
IO-1
35
AD
C-0
12
D I S P -R S T4 6D I S P -D / C4 4D I S P -D A T4 2D I S P -C L K4 0D I S P -C S3 8
M I C 1 P5 4
M I C 1 N5 6
M I C 2 P5 8
M I C 2 N6 0
S P K 1 P5 3
S P K 1 N5 5
S P K 2 P5 7
S P K 2 N5 9
KB
C0
18
KB
C1
20
KB
C2
22
KB
C3
24
KB
C4
26
KB
R0
28
KB
R1
30
KB
R2
32
KB
R3
34
KB
R4
36
VB
AT
1
VB
AT
3
VB
AT
5
VB
AT
7
VB
AT
9
SIM
-CLK
31S
IM-D
AT
A29
SIM
-RS
T27
SIM
-PR
ES
EN
CE
33S
IM-V
CC
25
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 21
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 2.4 Sơ đồ chân của Module Sim300CZ+ Chân 1, 3,5,7,9: 5 chân của dip được dành riêng để kết nối tới nguồn cung cấp, nguồn
cung cấp của Sim300CZ là nguồn đơn VDAT là 3,4 V – 4,5 V
+ Chân 2,4,6,8,10: chân max
+ Chân 11 (VCHG) : Voltage input for the charge circuit; making the system detect the
charger.
+ Chân 12 (ADC) : Chân vào của bộ chuyển đổi tín hiệu tương tự sang số
+ Chân 13 (TEMP-BAT):
+ Chân 14 ( VRTC): Current input for RTC when the battery is not supplied for the
system.Current output for backup battery when the main battery is present and the backup
battery is in low voltage state.
+ Chân 15 (VCC-EXT) :Supply 2.93V voltage for external circuit. Bymeasuring this pin,
user can judge whether the system is power on or off. When the voltage is low, the system
is power off. Otherwise, the system is power on
+ Chân 16 ( NETLIGHT): đầu ra dùng để chỉ báo mạng kết nối được hệ thống.
+ Chân 17 (PWRKEY): chân này dùng để điều khiển hệ thống bật/tắt
+ Chân 18, 20, 22, 24, 26 (KBC): bàn phím.
+ Chân 19 (STATUS) : báo trình trạng công việc.
+ Chân 21, 35 (GPIO) :Normal input/output port
+ Chân 23 (BUZZER) : đầu ra chuông
+ Chân 25 ( SIM VCC) : nguồn cung cấp cho thẻ sim.
+ Chân 27 ( SIM RST) :chân reset cho mạch sim
+ Chân 28, 30, 32, 34, 36 ( KBR ):chân kết nối với bàn phím
+ Chân 29 ( SIM DATA) : đầu ra dữ liệu chân sim
+ Chân 31 ( SIM CLK ): chân thời gian của sim
+ Chân 33 (SIM PRESENCE ) :chân dò tìm mạng
+ Chân 37 (DCD): Data carrier detection
+ Chân 38 (DISP CS):
+ Chân 40 (DISP CLK) :
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 22
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
+ Chân 42 (DISP DATA ) :
+ Chân 44 (DISP D/C ):
+ Chân 46 ( DISP RST ): chân ra giao tiếp với mạng hình
+ Chân 39 ( DTR ) : chân đầu cuối dữ liệu
+ Chân 41 (RXD ) : chân nhận dữ liệu
+ Chân 43 (TXD ) : chân truyền dữ liệu
+ Chân 45 ( RTS ) : Request to send
+ Chân 47 ( CTS ) : Clear to send
+ Chân 49 ( RI ) : Ring indicator
+ Chân 48 ( DBG RXD ) : đầu ra dùng để điều chỉnh trong nhận dữ liệu
+ Chân 50 ( DBG TXD ) : đầu ra dùng để điều chỉnh trong truyền dữ liệu
+ Chân 51, 51 ( AGND ) : chân max
+ Chân 53 ( SPK1P), 55 ( SPK1N ) : chân output
+ Chân 54 ( MIC1P ), 56 ( MIC1N ) : chân input
+ Chân 57 ( SPK2P ), 59 ( SPK2N) : chân output
+ Chân 58 ( MIC2P ), 60 ( MIC2N ) :chân input
2.3.4 KHẢO SÁT TẬP LỆNH AT CỦA MODULE SIM300CZCác modem được sử dụng từ những ngày đầu của sự ra đời của máy tính. Từ Modem là
một từ được hình thành từ hai từ modulator và demodulator. Và định nghĩa đặc trưng này
cũng giúp ta hình dung được phần nào là thiết bị này sẽ làm cái gì. Dữ liệu số thì đến từ
một DTE, thiết bị dữ liệu đầu cuối được điều chế theo cái cách mà nó có thể được truyền
dữ liệu qua các đường dây truyền dẫn. Ở một mặt khác của đường dây, một modem thứ
hai điều chế dữ liệu đến và xúc tiến, duy trì nó.
Khi chúng ta xem trong RS232 port layout thì chuẩn RS232 miêu tả một kênh tryuền
thông với bộ kết nối 25 chân DB25, nó được thiết kế để thực thi quá trình truyền các lệnh
đến modem được kết nối với nó. Thao tác này bao gồm cả các lệnh quay một số điện thoại
nào đó. Không máy đó là các quá trình dùng RS232 với chi phí thấp này chỉ thể hiện trên
các máy tính ở các hộ gia đình trong những năm 70, và kênh truyền thông thứ 2 không
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 23
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
được thực thi. Thế nên nhất thiết phải có một phương pháp được thiết lập để sử dụng kênh
dữ liệu hiện tại để không chỉ truyền dữ liệu từ một điểm đầu cuối này tới một điểm đầu
cuối khác mà nó còn nhắm tới modem duy nhất. Dennis Hayes đã đưa ra giải pháp cho
vấn đề này trong năm 1977. Modem thông minh ( Smartmodem ) của ông sử dụng chuẩn
truyền thông RS232 đơn giản kết nối tới một máy tính để truyền cả câu lệnh và dữ liệu.
Bởi vì mõi lệnh bắt đầu với chữ AT trong chữ Attention nên ngôn ngữ điều khiển được
định nghĩa bởi Hayes nhanh chóng đựoc biết đến với bộ lệnh Hayes AT. Chính vị sự đơn
giản và khả năng thực thi với chi phí thấp của nó, bộ lệnh Hayes AT nhanh chóng được sử
dụng phổ biến trong các modem của các nhà sản xuất khác nhau. Khi chức năng và độ tích
hợp của các modem ngày càng tăng cùng thời gian, nên làm cho ngôn ngữ lệnh Hayes AT
càng phức tạp. Vì thế nhanh chóng mỗi nhà sản xuất modem đã sử dụng ngôn ngữ riêng
của ông ấy. Ngày nay bộ lệnh AT bao gồm cả các lệnh về dữ liệu, fax, voice và các truyền
thông SMS
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.
Bên cạch 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ông nghệ GSM. Nó bao
gồm các lệnh liên quan tới SMS như AT+ CMGS (gửi tin nhắn SMS), AT+CMSS
(gửi tin nhắn SMS từ một vùng lư 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ác modem 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,bạn có thể làm một số thứ như sau:
Đọc,viết, xóa tin nhắn
Gửi tin nhắn SMS
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 24
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Kiểm tra chiều dài tín hiệu
Kiểm tra trạng thái sạc bin và mức sạc của bin.
Đọc, viết và tìm kiếm về các mục danh bạ
Số tin nhắn SMS có thể được thực thi bởi một modem SMS trên một phút thì rất
thấp, nó chỉ khoảng từ 6 đến 10 tin nhắn SMS trên 1 phút.
2.3.4.1 Các lệnh khởi tạo GSM Module Sim300CZ:Lệnh AT<cr>
Nếu lệnh thực hiện đựợc thì trả về:
Ok
Bắt đầu thực hiện các lệnh tiếp theo.
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
Lệnh AT+CMGF=[<mode>] <cr>
Nếu lệnh thực hiện đựợc thì trả về:
Ok
<mode> : 0 dạng dữ liệu PDU
1 dạng dữ liệu kiểu text
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
Lệnh AT&W[<n>]
Nếu lệnh thực hiện đựợc thì trả về:
Ok
Lưu cấu hình cho GSM Module Sim300CZ
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
Lệnh ATE[<value>]
Nếu lệnh thực hiện đựợc thì trả về:
Ok
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 25
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
<value> 0 Tắt chế độ Echo
1 Bật chế độ Echo
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
2.3.4.2 Các lệnh xử lý cuộc gọi:Lệnh quay số:
ATD<cr>
Ví dụ: muốn quay số tới số điện thoại 01266609025 thi ta gõ lệnh
ATD01266609025;<cr>
<cr>: Enter
Lệnh nhấc máy:
ATA<cr>
Ví dụ: khi có số điện thoai nào đó gọi đến số điện thoại được gắn trên modem Sim300Cz,
ta muốn nhất máy để kết nối thì gõ lệnh
ATA <cr>
Lệnh bỏ cuộc gọi:
ATH<cr>
Ví dụ: khi có số điện thoai nào đó gọi đến số điện thoại được gắn trên modem Sim300Cz,
ta không muốn nhấc máy mà từ chối cuộc gọi thì gõ lệnh
ATH<cr>
2.3.4.3 Các lệnh về SMSLệnh Xóa tin nhắn
AT+CMGD
Ví dụ: muốn xóa một tin nhắn nào đó được lưu trên sim thì ta thực hiện lệnh sau.
AT+CMGD=<index> <cr>
<index>: vị trí ngăn nhớ lưu tin nhắn
Nếu lệnh thực hiện đựợc thì trả về:
Ok
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 26
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
Lệnh đọc tin nhắn:
AT+CMGR=<index>[,mode] <cr>
<index> : số nguyên, đó là vị trí ngăn nhớ chứa tin nhăn cần đọc
<mode> : 0 dạng dữ liệu PDU
1 dạng dữ liệu kiểu text
Nếu như lệnh được thực hiện thì kiểu dữ liệu trả về dưới dạng text ( mode=1):
Từ SMS-DELIVER:
+CMGR:<stat>,<oa>,
[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>
Từ SMS-SUBMIT:
+CMGR:<stat>,<da>,[<alpha>][,<toda>,<fo>,<pid>,<dcs>,
[<vp>],<sca>,<tosca>,<length>]<CR><LF><data>
Từ SMS-STATUS-REPORTs:
+CMGR: <stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st>
Từ SMS-COMMANDs:
+CMGR:<stat>,<fo>,<ct>[,<pid>,[<mn>],[<da>],[<toda>],<length><CR><LF><cdata>]
Từ CBM storage
+CMGR:<stat>,<sn>,<mid>,<dcs>,<page>,<pages><CR><LF>
<data>
Nếu dữ liệu trả về dạng PDU(mode=0):
+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu>
Nếu lệnh bị lỗi thì trả về dưới dạng:
+CMS ERROR: <err>
Lệnh gửi tin nhắn SMS:
AT+CMGS
Nếu gửi tin nhắn dưới dạng text:
(+CMGF=1):
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 27
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
+CMGS=<da>[,<toda>]<CR> text is entered <ctrl-Z/ESC>
Nếu gửi tin nhắn dạng PDU:
(+CMGF=0):
+CMGS=<length><CR> PDU is given <ctrl-Z/ESC>
Lệnh được thực hiện thành công thi dữ liệu trả về:
Dạng text : +CMGS: <mr>
OK
Dạng PDU : +CMGS: <mr>
OK
Lệnh bị lổi : +CMS ERROR: <err>
Lệnh viết tin nhắn rồi lưu vào ngăn nhớ:
AT+CMGW
Nếu viết tin nhắn dưới dạng text :
AT+CMGW=[<oa/da>[,<tooa/toda>[,<stat>]]]<CR>text is entered <ctrl-Z/ESC> <ESC>
Lệnh được thực hiện đúng thì dữ liệu trả về dạng:
+CMGW: <index>
OK
Lệnh sai:
+CMS ERROR: <err>
Nếu viết tin nhắn dưới dạng PDU:
AT+CMGW=<length>[,<stat>]<CR> PDU is given <ctrl-Z/ESC>
Lệnh gửi tin nhắn từ một ngăn nhớ nào đó:
AT+CMSS=<index>[,<da>[,<toda>]]
Nếu lệnh được thực hiện thành công dữ liệu trả về dạng:
Dạng text: +CMGS: <mr> [,<scts>]
OK
Dạng PDU: +CMGS: <mr> [,<ackpdu>]
OK
Nếu lệnh bị lỗi:
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 28
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
+CMS ERROR: <err>
Lệnh báo hiệu tin nhắn mới:
AT+CNMI=[<mode>[,<mt>[,<bm> [,<ds>[,<bfr>]]]]]
Nếu lệnh được thưch hiện đúng thì dữ liệu trả về dạng:
OK
Nếu lệnh bị lỗi:
+CMS ERROR: <err>
2.3.4.4 Các lệnh về GPRSAT+CGATT : lệnh gán hay tách thiết bị khỏi GPRS
AT+CGDCONT : định nghĩa dạng PDP
AT+CGQMIN : chất lượng dich vụ ở mức thấp nhất
AT+CGQREQ : chất lượng dich vụ
AT+CGDATA : trạng thái dữ liệu vào
AT+CGREG : tình trạng đăng ký của mạng
AT+CGCOUNT : đếm gói dữ liệu vào
2.3.4.5 Các lệnh về TCP/IP Lệnh bắt đầu kết nối TCP hay UDP
AT+CIPSTART=<mode>,[<IPaddress>,<domain name>],<port>
Trong đó:
<mode> : tham số báo kiểu kết nối TCP hay UDP
<IP address> : địa chỉ IP của người điều khiển từ xa
<port> :
<domain name> : tên miền của người điểu khiển từ xa
Nếu lệnh thực hiện đúng thì lệnh trả về :
CONNECT OK
Nếu lệnh thực hiện
2.3.4.6 Các lệnh khácLệnh nghỉ
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 29
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
AT+CFUN
Ví dụ muốn tắt hết 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 thì gõ lệnh:
AT+CFUN=0 <cr>
OK
Lệnh chuyển từ chế độ nghỉ sang chế độ hoạt động bình thường
AT+CFUN
Ví dụ sim đang ở chế độ nghỉ ta muốn chuyển sang chế độ hoạt động bình thường thi gõ
lệnh:
AT+CFUN=1 <cr>
OK
Lệnh reset mode
ATZ <cr>
OK
Lệnh tắt chế độ echo
ATE0 <cr>
2.3.4.7 Các lệnh kiểm tra ban đầu:Lấy thông tin cơ bản về điện thoại di động hay modem GSM/GPRS. Ví dụ như tên
của nhà sản xuất (AT+CGMI), số model (AT+CGMM), số IMEI (International
Mobile Equipment Identity) (AT+CGSN) và phiên bản phần mềm (AT+CGMR).
Lấy các thông tin cơ bản về những người kí tên dưới đây. Thí dụ, MSISDN
(AT+CNUM) và số IMS (International Mobile Subscriber Identity) (AT+CIMI).
Lấy thông tin trạng thái hiện tại của điện thoại di động hay modem GSM/GPRS. Ví
dụ như trạng thái hoạt động của điện thoại (AT+CPAS), trạng thái đăng kí mạng
mobile (AT+CREG), chiều dài sóng radio (AT+CSQ), mức sạc bin và trạng thái sạc
bin (AT+CBC).
Đọc (AT+CPBR), viết (AT+CPBW) hay tìm kiếm (AT+CPBF) cá mục về danh bạ
điện thoại (phonebook).
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 30
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Thực thi các nhiệm vụ liên quan tới an toàn, chẳng hạn như mở hay đóng các khóa
chức năng (AT+CLCK), kiểm tra xem một chức năng được khóa hay chưa
(AT+CLCK) và thay đổi password (AT+CPWD).
Điều khiển hoạt động của các mã kết quả/các thông báo lỗi của các lệnh AT. Ví dụ,
bạn có thể điều khiển cho phép hay không cho phép kích hoạt hiển thị thông báo lỗi
(AT+CMEE) và các thông báo lỗi nên được hiển thị theo dạng số hay theo dạng dòng
chữ (AT+CMEE=1 hay AT+CMEE=2).
Thiết lập hay thay đổi cấu hình của điện thoại di dộng hay modem GSM/GPRS. Ví
dụ, thay đổi mạng GSM (AT+COPS), loại dịch vụ của bộ truyền tin (AT+CBST), các
thông số protocol liên kết với radio (AT+CRLP), địa chỉ trung tâm SMS
(AT+CSCA) và khu vực lưu trữ các tin nhắn SMS (AT+CPMS).
Lưu và phục hồi các cấu hình của điện thoại di động hay modem GSM/GPRS. Ví du,
lưu (AT+COPS) và phục hồi (AT+CRES) các thiết lập liên quan tới tin nhắn SMS
chẳng hạn như địa chỉ trung tâm tin nhắn SMS.
CHƯƠNG 3
KHẢO SÁT VI ĐIỀU KHIỂN PIC16F877A
3.1. Sơ lược về vi điều khiển PIC 16F877A. PIC 16F877A là dòng PIC rất phổ biến hiện nay (có 40 pin, bộ nhớ đủ lớn cho hầu hết các
ứng dụng). Cấu trúc tổng quát của PIC 16F877A như sau:
- 8 K Flash ROM.
- 368 Bytes RAM.
- 256 Bytes EEPROM.
- 5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 31
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
- 2 bộ định thời 8 bits (Timer 0 và Timer 2).
- Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng
(SLEEP MODE) với nguồn xung Clock ngoài.
- 2 bô CCP( Capture / Compare/ PWM).
- 1 bộ biến đổi AD 10 bits, 8 ngõ vào.
- 2 bộ so sánh tương tự (Compartor).
- 1 bộ định thời giám sát (WatchDog Timer).
- Một cổng song song 8 bits với các tín hiệu điều khiển.
- Một cổng nối tiếp.
- 15 nguồn ngắt.
- Có chế độ tiết kiệm năng lượng.
- Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming).
- Được chế tạo bằng công nghệ CMOS.
- 35 tập lệnh có độ dài 14 bits.
- Tần số hoạt động tối đa 20MHz.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 32
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 3.1:Sơ lược chân PIC 16F877A
Bảng liệt kê chức năng các chân của PIC 16F877A
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 33
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 34
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 35
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
PIC 16F877A là họ vi điều khiển có 40 chân, mỗi chân có một chức năng khác nhau.
Trong đó có một số chân đa công dụng: mỗi chân có thể hoạt động như một
đường xuất nhập hoặc là một chân chức năng đặc biệt dùng để giao tiếp với các thiết
bị ngoại vi.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 36
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Sơ đồ khối PIC 16F877A
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 37
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
3.2. Dao động (xung clock) dùng cho PIC. PIC16F877A có thể hoạt động trong bốn chế độ dao động khác nhau:
Trong các chế độ LP, XT và HS sử dụng thạch anh dao động nối vào các chân OSC1 và
OSC2 để tạo dao động.
Lựa chọn tụ trong dao động thạch anh dựa vào bảng sau:
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 38
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Lưu ý: Tụ có giá trị lớn sẽ tăng tính ổn định của dao động nhưng cũng làm tăng thời gian
khởi động.
Chế độ dao động RC được sử dụng như một giải pháp tiết kiệm trong các ứng dụng không
cần sự chính xác về thời gian.
3.3. Reset PIC.Cách đơn giản để reset PIC là cho chân MCLR đảo xuống mức thấp.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 39
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
3.4. Interrupts (ngắt). PIC16F877A có 15 nguồn ngắt. Đây là một số ngắt thường hay sử dụng:
Ngắt RB0.
Ngắt PORTB.
Ngắt TIMER (TIMER0, TIMER1, TIMER2).
Ngắt chuyển đổi ADC.
Ngắt PORT truyền nối tiếp.
Giản đồ ngắt
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 40
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
3.5. Bộ nhớ.PIC16F877A có tất cả 3 khối bộ nhớ riêng biệt bao gồm: Bộ nhớ chương trình, bộ nhớ dữ
liệu và bộ nhớ EEPROM.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 41
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Bộ nhớ dữ liệu bao gồm 4 Bank: Bank 0, Bank1, Bank2 và Bank3.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 42
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
3.6. Các thanh ghi chức năng đặc biệt: * Thanh ghi trạng thái ( Status Register):
Thanh ghi trạng thái chứa các trạng thái số học của bộ ALU, trạng thái Reset và các bit
chọn Bank của bộ nhớ dữ liệu.
Bit 7 IRP: Bit lựa chọn bank thanh ghi (Sử dụng cho định địa chỉ gián tiếp).
1 = Bank 2, 3 (100h – 1FFh )
0 = Bank 0, 1 (00h – FFh)
Bit 6 – 5 RP1 – RP0: Bit lựa chọn bank thanh ghi (Dùng trong định điạ chỉ trực tiếp).
11 = Bank 3 ( 180h – 1FFh)
10 = Bank 2 (100h – 17Fh)
01 = Bank 1 (80h – FFh)
00 = Bank 0 (00h – 7Fh)
Each bank is 128 bytes
Bit 4 TO: Bit báo hiệu hoạt động của WDT.
1: Lệnh xóa WDT hoặc Sleep xảy ra.
0: WDT hoạt động.
Bit 3 PD: Bit báo công suất thấp ( Power down bit).
1: Sau khi nguồn tăng hoặc có lệnh xóa WDT.
0: Thực thi lệnh Sleep.
Bit 2 Z: bit Zero
1: Khi kết quả của một phép toán bằng 0.
0: Khi kết quả của một phép toán khác 0.
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 43
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Bit 1 DC: Digit Carry
1: Có một số nhớ được sinh ra bởi phép cộng hoặc phép trừ 4 bit thấp.
0: Không có số nhớ sinh ra.
Bit 0 C: cờ nhớ (Carry Flag)
1: Có một số nhớ sinh ra bởi phép cộng hoặc phép trừ.
0: Không có số nhớ sinh ra.
* Thanh ghi tùy chọn (Option _Reg Register):
Thanh ghi tùy chọn chứa các bit điều khiển để cấu hình cho các chứa năng như: ngắt
ngoài, Timer 0 chức năng kéo lên Vdd của các chân Port B, và thời gian chờ của WDT
Bit 7 : Bit cho phép PORTB được kéo lên nguồn.
1: Không cho phép PORTB kéo lên nguồn.
0:ChophépPORTBkéolênnguồn.
Bit 6 INTEDG: Bit lựa chọn cạnh tác động ngắt (INTERRUPT EDGE)
1: Ngắt sẽ được tác động bởi cạnh lên của chân RB0/INT
0: Ngắt sẽ được tác động bởi cạnh xuống của chân RB0/INT
Bit 5 T0CS: Bit lựa chọn nguồn xung Clock cho Timer 0
1: Xung Clock cung cấp bởi nguồn ngoài qua chân RA4/T0CKI
0: Xung Clock cung cấp bởi nguồn dao động nội.
Bit 4 T0SE: Bit lựa chọn cạnh nào của xung clock tác động lên timer 0
1: Cạnh xuống
0: Cạnh lên
Bit 3 PSA: Bit quyết định tốc độ đếm PS2:PS0 sẽ tác động lên Timer 0 hay WDT
1: Tốc độ đếm PS2:PS0 sẽ tác động lên WDT
0: Tốc độ đếm PS2:PS0 sẽ tác động lên Timer 0
Bit 2-0 PS2:PS0: Dùng để lựa chọn tốc độ đếm của timer hay WDT
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 44
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
* Thanh ghi điều khiển ngắt INTCON (Interrupt Control Register):
Bit 7 GIE: Bit cho phép ngắt toàn cục
1: Cho phép ngắt toàn cục
0: Không cho phép ngắt
Bit 6 PEIE: Bit cho phép ngắt khi ghi vào EEPROM hoàn tất.
1: Cho phép ngắt ghi vào EEPROM hoạt động
0:KhôngchophépngắtghivàoEEPROMhoạtđộng
Bit 5 TMR0IE: Bit cho phép ngắt khi timer 0 tràn
1: Cho phép ngắt khi timer 0 tràn
0: Không cho phép ngắt khi timer 0 tràn
Bit 4 INTE: Bit cho phép ngắt ngoại vi trên chân RB0/INT
1: Cho phép ngắt ngoại vi
0: Không cho phép ngắt ngoại vi
Bit 3 RBIE: Cho phép ngắt khi trạng thái PORTB thay đổi
1: Cho phép
0: Không cho phép
Bit 2 TMR0IF: Cờ báo ngắt Timer 0
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 45
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
1: Timer 0 tràn
0: Timer 0 chưa tràn
Bit 1 INTF: Cờ báo ngắt ngoài RB0/INT
1: Có ngắt
0: Không xảy ra ngắt.
Bit 0 RBIF: Cờ báo ngắt khi có thay đổi trạng thái PORTB
1: Có thay đổi
0: Không có thay đổi xảy ra trên PORTB.
* Thanh ghi cho phép ngắt ngoại vi 1(PIE1 Register):
Chú ý: Bit PEIE (INTCON<6>) phải được set để cho phép bất kì ngắt ngọai vi nào
xảy ra.
Bit 7 PSPIE: Bit cho phép ngắt đọc/ ghi Port song song
1: Cho phép
0: Không cho phép
Bit 6 ADIE: Bit cho phép ngắt chuyển đổi A/D
1: Cho phép
0: Không cho phép
Bit 5 RCIE: Bit cho phép ngắt nhận USART
1: Cho phép
0: Không cho phép
Bit 4 TXIE: Bit cho phép ngắt truyền USART
1:Chophép
SVTH:Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 46
0: Không cho phép
Bit 3 SSPIE: Bit cho phép ngắt Port nối tiếp đồng bộ
1: Cho phép
0: Không cho phép
Bit 2 CCP1IE: Bit cho phép ngắt module CCP1
1: Cho phép ngắt
0: Không cho phép
Bit 1 TMR2IE: Bit cho phép ngắt xảy ra khi TMR2 bằng thanh ghi PR2
1: Cho phép
0: Không cho phép
Bit 0 TMR1IE: Bit cho phép ngắt tràn TMR1
1: Cho phép
0: Không cho phép
3.7. Port A và thanh ghi TRISA:
Port A gồm 6 chân từ RA0 đến RA5. Việc ghi giá trị vào thanh ghi TRISA sẽ qui
định các chân của Port A là input hay output (nếu là 1 thì là input, là output nếu là
0). Việc đọc thanh ghi Port A sẽ đọc trạng thái của các chân ở Port A. Việc ghi giá
trị vào thanh ghi Port A sẽ thay đổi trạng thái của các chân Port A.
Riêng chân RA4 được tích hợp chức năng nhận xung clock ngoài cho Timer0
(RA4/T0CKI). Những chân khác của Port A được đa hợp với các chân ngõ vào
Analog của ADC và chân ngõ vào điện thế so sánh của bộ so sánh Comparator.
Hoạt động của những chân này được quy định bằng những bit tương ứng trong các
thanh ghi ADCCON1 và CMCON1. Khi các chân của Port A được sử dụng làm
ngõ vào Analog thì các bit trong thanh ghi TRISA phải được set bằng 1.
Bảng tóm tắt các thanh ghi liên quan đến Port A
3.8. Port B và thanh ghi TRISB:Port B gồm 8 chân từ chân RB0-RB7. Việc ghi giá trị vào thanh ghi TRISB sẽ quy định
các chân của Port B là input hay output (1: input, 0: output). Việc đọc thanh ghi Port B sẽ
đọc trạng thái của các chân ở Port B. Việc ghi giá trị vào thanh ghi Port B sẽ thay đổi
trạng thái của các chân Port B.
Ba chân của Port B được đa hợp với chức năng In-Circuit Debugger và Low Voltage
Programming function: RB3/PGM, RB6/PGC, RB7/PGD.
Mỗi chân Port B có một transistor kéo lên Vdd. Chức năng này hoạt động khi bit RBPU
(Option <7>) được xóa. Chức năng này sẽ tự động được xóa khi Port B được quy định là
input.
Bốn chân của Port B từ RB7 đến RB4 có chức năng ngắt khi trạng thái chân Port B thay
đổi (Khi Port B được quy định là output thì chức năng này không hoạt động. Giá trị chân
của Port được so sánh với giá trị đã được lưu trước đó, khi có sự sai lệch giữa 2 giá trị này
ngắt sẽ xảy ra với cờ ngắt RBIF (INTCON<0) sẽ bật lên. Ngắt có thể làm cho VĐK thoát
khỏi trạng thái SLEEP.
Bất cứ sự truy xuất nào trên PortB sẽ xóa trạng thái sai lệch, kết thúc ngắt và cho phép xóa
cờ ngắt RBIF.
Bảng chức năng PortB :
Bảng tóm tắt các thanh ghi liên quan đến Port B :
3.9. Port C và thanh ghi TRISC:
Port C gồm 8 chân từ chân RC0-RC7. Việc ghi giá trị vào thanh ghi TRISC sẽ quy định
các chân của Port C là input hay output (1: input, 0: output). Việc đọc thanh ghi Port C sẽ
đọc trạng thái của các chân ở Port C. Việc ghi giá trị vào thanh ghi Port C sẽ thay đổi
trạng thái của các chân Port C.
Các chân của Port C được đa hợp với các chức năng ngoại vi.
Khi các chức năng ngoại vi được cho phép ta cần quan tâm chặt chẽ tới giá trị các bit của
thanh ghi TRISC. Một số chức năng ngoại vi sẽ ghi đè giá trị 0 lên các bit của thanh ghi
TRISC và mặc định các chân này là output, ngoài ra một số chức năng ngoại vi khác sẽ tự
động mặc định một số chân là ngõ vào. Do đó cần xem xét kĩ các tính năng của các hàm
ngoại vi để thiết lập giá trị các bit trong thanh ghi TRISC cho thích hợp.
Bảng chức năng Port C :
Bảng tóm tắt các thanh ghi liên quan đến PortC
3.10. Port D và thanh ghi TRISD:Port D gồm 8 chân từ chân RD0-RD7. Bên cạnh chức năng là port xuất nhập, Port D còn
có thể hoạt động như một cổng song song bằng cách set bit PSPMODE (TRISE<4>),
trong chế độ này buffer ngõ vào là TTL.
Bảng chức năng Port D
Bảng tóm tắt các thanh ghi liên quan đến Port D
3.11. Port E và thanh ghi TRISE: Port E có 3 chân RE0 /RD/AN5, RE1/WR /AN6, RE2 /CS/AN7, có thể được cấu hình
như các chân xuất nhập thông thường.
Các chân của PortE có thể trở thành các chân điều khiển cho cổng song song của VĐK
khi bit PSPMODE (TRISE<4>) được set bằng 1.Trong chế độ này, người sử dụng phải
đảm bảo các chân của PortE là ngõ vào.
Ngoài ra các chân PortE còn có thể được cấu hình như các ngõ vào Analog, tại chế độ
này, khi đọc giá trị của các chân này sẽ cho ta giá trị là 0.
Thanh ghi TRISE quy định chức năng xuất nhập của Port E ngay cả khi nó được sử dụng
như các ngõ vào Analog. Phải đảm bảo các chân này được quy định là ngõ vào trong chế
độ này.
Bảng chức năng các chân Port E :
Bảng tóm tắt các thanh ghi liên quan đến Port E :
Thanh ghi TRISE :
Các bit điều khiển trạng thái của Port song song
Bit 7 IBF : Bit trạng thái báo buffer ngõ vào đầy
1 : Một từ (word -16bit) được nhận vào và đang được đọc bởi CPU
0 : Không có từ nào được nhận vào
Bit 6 OBF: Bit trạng thái báo buffer ngõ ra đầy
1 : Buffer ngõ ra vẫn còn giữ một từ đã được đọc trước đó
0 : Buffer ngõ ra đã được đọc.
Bit 5 IBOV: Bit báo trạng thái buffer ngõ vào tràn ( trong chế độ Vi xử lí)
1 : Chu kì ghi mới đã bắt đầu nhưng giá trị cũ vẫn còn trang buffer ( phải được xóa
bằng phần mềm)
0:Khôn tràn xảy ra
Bit 4 PSPMODE: Bit chọn chế độ cổng song song cho Port D
1 : Port D được cấu hình như cổng song song
0 : Port D cấu hình như ngõ xuất nhập thông thường
Bit 3 Không sử dụng, đọc là ‘0’
Các bit xác định xuất nhập của Port E:
Bit 2 Bit 2: Xác định chiều xuất nhập cho chân RE2/CS/AN7
1 : Ngõ vào
0 : Ngõ ra
Bit 1 Bit 1: Xác định chiều xuất nhập cho chân RE1/WR/AN6
1 : Ngõ vào
0 : Ngõ ra
Bit 0 Bit 0: xác định chiều xuất nhập cho chân RE0/RD/AN5
1 : Ngõ vào
0:Ngõ ra
3. 12. Bộ định thời
a. Bộ định thời Timer 0 : Module Timer 0 là một bộ định thời/ đếm 8 bit, có khả năng đọc và ghi được có một bộ
tiền định tỉ lệ (Prescaler) 8 bit lập trình được, có bit lựa chọn nguồn xung clock trong
hoặc ngoài, có ngắt khi Timer tràn, có bit lựa chọn cạnh tác động của xung lock.
Chế độ định thời được chọn bằng cách xóa bit T0CS (OPTION_REG <5>). Trong chế độ
này thanh ghi TMR0 sẽ tăng lên sau mỗi chu kì (prescaler không có tác dụng hoặc tỉ lệ
1 :1). Nếu thanh ghi TMR0 được ghi một giá trị mới, giá trị trong thanh ghi này sẽ không
tăng trong 2 chu kỳ lệnh kế tiếp.Vì vậy để khắc phục hiện tượng này chúng ta có thể hiệu
chỉnh giá trị nhập vào thanh ghi TMR0.
Chế độ đếm được lựa chọn bằng cách set bit T0CS (OPTION_REG <5>). Trong chế độ
đếm, thanh ghi TMR0 sẽ tăng lên khi có cạnh lên hoặc cạnh xuống xuất hiện trên chân
T0CKL ( cạnh lên hoặc cạnh xuống được lựa chọn bởi bit T0SE (OPTION_REG <4>, xóa
bit T0SE sẽ lựa chọn cạnh lên).
Ngắt Timer 0 .
Ngắt Timer 0 được tạo ra khi thanh ghi TMR0 tràn từ 0FFh đến 00h. Khi xảy ra tràn, cờ
T0IF(INTCON<2>) được bật lên. Ngắt có thể được ngăn chặn bằng cách xóa bit T0IE
(INTCON<5>). Cờ ngắt T0IF phải được xóa bằng phần mềm truớc khi thoát khỏi chương
trình ngắt trở về chương trình chính.
Các thanh ghi có liên quan đến Timer 0:
b. Bộ định thời Timer 1. Timer 1 là một bộ định thời/ đếm 16 bit bao gồm hai thanh ghi 8 bit (TMR1H và
TMR1L), có khả năng đọc được và ghi được. Cặp thanh ghi TMR1H và TMR1L sẽ tăng
từ 0000h lên FFFFh rồi sau đó tràn về 0000h. Nếu được cho phép (bit TMR1IE được set),
ngắt sẽ xảy ra khi giá trị TMR1 tràn từ FFFFh về 0000h, lúc đó cờ ngắt TMR1IF sẽ bật
lên.
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Thanh ghi điều khiển Timer 1:
Bit 7,6 Không sử dụng, đọc là 0.
Bit 5,4 T1CKPS1 : T1CKPS0 : Các bit chọn tỉ lệ xung ngõ vào cho Timer1.
11 1 : 8 giá trị tỉ lệ
10 1 : 4 giá trị tỉ lệ
01 1 : 2 giá trị tỉ lệ
00 1 : 1 giá trị tỉ lệ
Bit 3 T10SCEN : Bit cho phép bộ dao động Timer 1 Oscillator
1 : Cho phép dao động
0 : Không cho phép dao động
Bit 2 T1SYNC : Bit lựa chọn đồng bộ hóa xung clock ngoài của Timer 1
(Chú ý: Bit này chỉ có tác dụng khi bit TMR1CS = 1)
1: Không đồng bộ hóa xung clock ngoại
0: Đồng bộ hóa xung clock ngoại.
Bit 1 TMR1CS : Bit chọn nguồn xung clock cho Timer 1
1: Chọn xung clock ngoài qua chân T1OSC/T1CKI ( tác động cạnh lên)
0: Chọn xung clock nội (Fosc/4)
Bit 0 TMR1ON: Bit cho phép ngoặc ngưng Timer 1
1: Cho phép
0: Không cho phép
3.13. Bộ chuyển đổi ADC 10 bit
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 60
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
a. Giới thiệu module ADC 10 bit Trên VĐK có một bộ biến đổi ADC 10bit, 8 ngõ vào Analog, 8 ngõ vào này
được nối với ngõ vào của bộ chuyển đổi. Sau đó bộ chuyển đổi sẽ tạo ra một
kết quả 10 bit tương ứng với giá trị Ananlog đầu vào. Điện thế tham chiếu đầu
vào sẽ được lựa chọn bằng phần mềm (từ Vdd, Vss hoặc 2 chân AN2, AN3.
Module ADC là module duy nhất có khả năng hoạt động trong chế độ ngủ. Để
hoạt động trong chế độ ngủ Sleep, xung clock cung cấp cho ADC phải được
nhận từ dao động nội RC của ADC.
Module ADC bao gồm 4 thanh ghi:
- Thanh ghi chứa byte cao của kết quả ADRESH.
- Thanh ghi chứa byte thấp của kết quả ADRESL.
- Thanh ghi chứa các bit điều khiển ADCON0.
- Thanh ghi chứa các bit điều khiển ADCON1.
b. Các thanh ghi điều khiển: Thanh ghi điều khiển ADCON0:
Bit 7:6 ADCS1:ADCS0: Các bit lựa chọn tần số chuyển đổi A/D
00 =FOSC/2
01 =FOSC/4
10 =FOSC/32
11 =FRC (xung clock được lấy từ dao đông nội RC).
Bit 5:3 CHS2:CHS0:
Các bit lựa chọn kênh Analog
000: Kênh 0, (AN0)
001: Kênh 1, (AN1)
010: Kênh 2, (AN2)
011: Kênh 3, (AN3)
100: Kênh 4, (AN4)
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 61
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
101: Kênh 5, (AN5)
110: Kênh 6, (AN6)
111: Kênh 7, (AN7)
Bit 2 GO/ DONE: Bit báo trạng thái chuyển đổi A/D
Khi bit ADON = 1
1: Quá trình A/D đang thực hiện (Khi chúng ta set bit này lên thì quá trình
chuyển đổi sẽ xảy ra, khi quá trình kết thúc nó sẽ tự động được xóa bằng phần
mềm).
0: Quá trình A/D không xảy ra hoặc đã hoàn tất.
Bit 1 Không sử dụng, giá trị là 0
Bit0 ADON:Bit cho phép module A/D hoạt động1: Nguồn được cung cấp cho
A/D
0: Ngưng cung cấp nguồn cho A/D
Thanh ghi điều khiển ADCON1:
Bit 7 ADFM: Bit lựa chọn định dạng kết quả A/D
1: Canh phải, 6 bit cao nhất của thanh ghi ADRESH có giá trị 0
0: Canh trái, 6 bit thấp nhất của thanh ghi ADRESL có giá trị 0
Bit 6 ADCS2: Bit lựa chọn clock chuyển đổi A/D
Bit 5,4 Không sử dụng
Bit 3:0 PCFG3:PCFG0: Các bit điều khiển cấu hình các chân ADC
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 62
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
c. Hoạt Động của Module ADCHai thanh ghi ADRESH và ADRESL chứa giá trị 10 bit của kết quả ADC. Khi
quá trình chuyển đổi hoàn tất, kết quả ADC sẽ được lưu lại trong cặp thanh
ghi này. Bit GO/DONE bị xóa và cờ ngắt ADIF được bật lên.
Sau khi module ADC đã được cấu hình như mong muốn, chúng ta phải lựa
chọn kênh chuyển đổi A/D trước khi chuyển đổi ADC xảy ra. Các chân
Analog phải được chọn là ngõ vào bằng cách set các bit trong thanh ghi TRIS
tương ứng.
Để tiến hành chuyển đổi ADC, tiến hành theo các bước sau:
Bước 1: Cấu hình cho module ADC:
- Cấu hình cho các chân ngõ vào/ điện thế chuẩn và I/O số (ADCON1)
- Lựa chọn kênh ngõ vào A/D (ADCON0)
- Lựa chọn tần số chuyển đổi (ADCON0)
- Cấp nguồn cho module ADC (ADCON0)
Bước 2: Cấu hình các ngắt ADC (nếu cần):
- Xóa cờ ngắt ADIF
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 63
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
- Set bit GIE (Cho phép ngắt toàn cục)
- Set bit ADIE (Cho phép ngắt chuyển đổi ADC)
Bước 3: Đợi thời gian Acquisition (lấy mẫu) cần thiết
Bước 4: Bắt đầu quá trình chuyển đổi ADC:
Set bit GO/ DONE (ADCON0)
Bước 5: Đợi quá trình ADC hoàn tất:
Chạy vòng lập đợi bit GO/DONE bị xóa hoặc cờ ngắt ADIF bật lên
Bước 6 : Đọc kết quả trong 2 thanh ghi ADRESH và ADRESL, xóa bit ADIF
( nếu cần thiết)
Bước 7: Nếu muốn tiếp tục thực hiện chuyển đổi ADC trong chu kỳ kế tiếp thì
quay lại bước 1 hoặc bước 2.
Sơ đồ khối của bộ biến đổi ADC 10 bit:
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 64
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Lựa chọn xung clock cho biến đổi A/D:
Thời gian chuyển đổi 1 bit được định nghĩa là chu kỳ TAD. Để biến đổi 10 bit
chúng ta cần thời gian xấp xỉ 12TAD . Nguồn xung clock cung cấp cho ADC
được lựa chọn bằng phần mềm. Có 4 giá trị để lựa chọn:
- 2 Tosc
- 8 Tosc
- 32 Tosc
- Dao động nội RC của module ADC (2-6µs)
Để đảm bảo quá trình ADC chính xác thì xung clock ADC (TAD) phải được
lựa chọn để đảm bảo rằng giá trị tối thiểu của TAD là 1.6µs.
Bảng sau đây chỉ ra môi liên hệ giữa TAD và tần số của thiết bị:
Chuyển đổi ADC:
Việc xóa bit GO/DONE trong quá trình chuyển đổi sẽ bỏ qua chuyển đổi hiện
tại. Cặp thanh ghi kết quả chuyển đổi ADC sẽ không được cập nhật những
mẫu chuyển đổi ADC đã hoàn tất. Do đó, cặp thanh ghi ADRESH và
ADRESL sẽ chứa giá trị của lần chuyền đổi hoàn tất cuối cùng ( hoặc giá trị
được ghi cuối cùng vào 2 thanh ghi này).
Sau khi một chuyển đổi ADC bị bỏ qua, việc lấy mẫu tiếp theo dựa trên kênh
ADC đã chọn sẽ tự động diễn ra. Sau đó bit GO/DONE có thể được set để bắt
đầu chuyển đổi ADC.
Chú ý: Bit GO/DONE không nên được set trong cùng một lệnh với lệnh mở
module ADC.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 65
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Cặp thanh ghi ADRESH và ADRESL dùng để lưu kết quả ADC 10 bit.
Module ADC cho phép ta lựa chọn việc canh trái hay canh phải kết quả 10 bit
trong thanh ghi kết quả bằng cách xóa hoặc set bit ADFM. Các bit còn lại
mang giá trị là 0.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 66
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
3.14:Truyền thông nối tiếp không đồng bộ. Thuật ngữ USART trong tiếng anh là viết tắt của cụm từ: Universal
Synchronous & Asynchronous serial Reveiver and Transmitter, nghĩa là bộ
truyền nhận nối tiếp đồng bộ và không đồng bộ. Cần chú ý rằng khái niệm
USART (hay UART nếu chỉ nói đến bộ truyền nhận không đồng bộ) thường
để chỉ thiết bị phần cứng (device, hardware), không phải chỉ một chuẩn giao
tiếp. USART hay UART cần phải kết hợp với một thiết bị chuyển đổi mức
điện áp để tạo ra một chuẩn giao tiếp nào đó. Ví dụ, chuẩn RS232 (hay COM)
trên các máy tính cá nhân là sự kết hợp của chip UART và chip chuyển đổi
mức điện áp. Tín hiệu từ chip UART thường theo mức TTL: mức logic high là
5, mức low là 0V. Trong khi đó, tín hiệu theo chuẩn RS232 trên máy tính cá
nhân thường là -12V cho mức logic high và +12 cho mức low (tham khảo hình
1). Chú ý là các giải thích trong tài liệu này theo mức logic TTL của USART,
không theo RS232.
Hình 1. Tín hiệu tương đương của UART và RS232.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 67
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
3.15:Truyền thông nối tiếp: Giả sử bạn đang xây dựng một ứng dụng phức tạp cần sử dụng nhiều vi điều khiển (hoặc vi điều khiển và máy tính) kết nối với nhau. Trong quá trình làm việc các vi điều khiển cần trao đổi dữ liệu cho nhau, ví dụ tình huống Master truyền lệnh cho Slaver hoặc Slaver gởi tín hiệu thu thập được về Master xử lí…Giả sử dữ liệu cần trao đổi là các mã có chiều dài 8 bits, bạn có thể sẽ nghĩ đến cách kết nối đơn giản nhất là kết nối 1 PORT (8 bit) của mỗi vi điều khiển với nhau, mỗi line trên PORT sẽ chịu trách nhiệm truyền/nhận 1 bit dữ liệu. Đây gọi là cách giao tiếp song song, cách này là cách đơn giản nhất vì dữ liệu được xuất và nhận trực tiếp không thông qua bất kỳ một giải thuật biến đổi nào và vì thế tốc độ truyền cũng rất nhanh. Tuy nhiên, như bạn thấy, nhược điểm của cách truyền này là số đường truyền quá nhiều, bạn hãy tưởng tượng nếu dữ liệu của bạn có giá trị càng lớn thì số đường truyền cũng sẽ nhiều thêm. Hệ thống truyền thông song song thường rất cồng kềnh và vì thế kém hiệu quả. Truyền thông nối tiếp sẽ giải quyết vần đề này, trong tuyền thông nối tiếp dữ liệu được truyền từng bit trên 1 (hoặc một ít) đường truyền. Vì lý do này, cho dù dữ liệu của bạn có lớn đến đâu bạn cũng chỉ dùng rất ít đường truyền. Hình 2 mô tả sự so sánh giữa 2 cách truyền song song và nối tiếp trong việc truyền con số 187 thập phân (tức 10111011 nhị phân).
Hình 2. Truyền 8 bit theo phương pháp song song và nối tiếp.
Một hạn chế rất dễ nhận thấy khi truyền nối tiếp so với song song là tốc
độ truyền và độ chính xác của dữ liệu khi truyền và nhận. Vì dữ liệu cần được
“chia nhỏ” thành từng bit khi truyền/nhận, tốc độ truyền sẽ bị giảm. Mặt khác,
để đảm bảo tính chính xác của dữ liệu, bộ truyền và bộ nhận cần có những
“thỏa hiệp” hay những tiêu chuẩn nhất định. Phần tiếp theo trong chương này
giới thiệu các tiêu chuẩn trong truyền thông nối tiếp không đồng bộ.
Khái niệm “đồng bộ” để chỉ sự “báo trước” trong quá trình truyền. Lấy ví
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 68
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
dụ thiết bị 1 (tb1) kết với với thiết bị 2 (tb2) bởi 2 đường, một đường dữ liệu
và 1 đường xung nhịp. Cứ mỗi lần tb1 muốn send 1 bit dữ liệu, tb1 điều khiển
đường xung nhịp chuyển từ mức thấp lên mức cao báo cho tb2 sẵn sàng nhận
một bit. Bằng cách “báo trước” này tất cả các bit dữ liệu có thể truyền/nhận dễ
dàng với ít “rủi ro” trong quá trình truyền. Tuy nhiên, cách truyền này đòi hỏi
ít nhất 2 đường truyền cho 1 quá trình (send or receive). Giao tiếp giữa máy
tính và các bàn phím (trừ bàn phím kết nối theo chuẩn USB) là một ví dụ của
cách truyền thông nối tiếp đồng bộ.
Khác với cách truyền đồng bộ, truyền thông “không đồng bộ” chỉ cần một
đường truyền cho một quá trình. “Khung dữ liệu” đã được chuẩn hóa bởi các
thiết bị nên không cần đường xung nhịp báo trước dữ liệu đến. Ví dụ 2 thiết bị
đang giao tiếp với nhau theo phương pháp này, chúng đã được thỏa thuận với
nhau rằng cứ 1ms thì sẽ có 1 bit dữ liệu truyền đến, như thế thiết bị nhận chỉ
cần kiểm tra và đọc đường truyền mỗi mili-giây để đọc các bit dữ liệu và sau
đó kết hợp chúng lại thành dữ liệu có ý nghĩa. Truyền thông nối tiếp không
đồng bộ vì thế hiệu quả hơn truyền thông đồng bộ (không cần nhiều lines
truyền). Tuy nhiên, để quá trình truyền thành công thì việc tuân thủ các tiêu
chuẩn truyền là hết sức quan trọng. Chúng ta sẽ bắt đầu tìm hiểu các khái niệm
quan trọng trong phương pháp truyền thông này.
Baud rate (tốc độ Baud): như trong ví dụ trên về việc truyền 1 bit trong
1ms, bạn thấy rằng để việc truyền và nhận không đồng bộ xảy ra thành công
thì các thiết bị tham gia phải “thống nhất” nhau về khoảng thời dành cho 1 bit
truyền, hay nói cách khác tốc độ truyền phải được cài đặt như nhau trước, tốc
độ này gọi là tốc độ Baud. Theo định nghĩa, tốc độ baud là số bit truyền trong
1 giây. Ví dụ nếu tốc độ baud được đặt là 19200 thì thời gian dành cho 1 bit
truyền là 1/19200 ~ 52.083us.
Frame (khung truyền): do truyền thông nối tiếp mà nhất là nối tiếp
không đồng bộ rất dễ mất hoặc sai lệch dữ liệu, quá trình truyền thông theo
kiểu này phải tuân theo một số quy cách nhất định. Bên cạnh tốc độ baud,
khung truyền là một yếu tốc quan trọng tạo nên sự thành công khi truyền và
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 69
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
nhận. Khung truyền bao gồm các quy định về số bit trong mỗi lần truyền, các
bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra số
lượng các bit trong một data cũng được quy định bởi khung truyền. Hình 1 là
một ví dụ của một khung truyền theo UART, khung truyền này được bắt đầu
bằng một start bit, tiếp theo là 8 bit data, sau đó là 1 bit parity dùng kiểm tra
dữ liệu và cuối cùng là 2 bits stop.
Start bit: start là bit đầu tiên được truyền trong một frame truyền, bit
này có chức năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được
truyền tới. Ở module USART trong AVR, đường truyền luôn ở trạng thái cao
khi nghỉ (Idle), nếu một chip AVR muốn thực hiện việc truyền dữ liệu nó sẽ
gởi một bit start bằng cách “kéo” đường truyền xuống mức 0. Như vậy, với
AVR bit start là mang giá trị 0 và có giá trị điện áp 0V (với chuẩn RS232 giá
trị điện áp của bit start là ngược lại). start là bit bắt buộc phải có trong khung
truyền.
Data: data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần
gởi và nhận. Data không nhất thiết phải là gói 8 bit, với AVR bạn có thể quy
định số lượng bit của data là 5, 6, 7, 8 hoặc 9 (tương tự cho hầu hết các thiết bị
hỗ trợ UART khác). Trong truyền thông nối tiếp UART, bit có ảnh hưởng nhỏ
nhất (LSB – Least Significant Bit, bit bên phải) của data sẽ được truyền trước
và cuối cùng là bit có ảnh hưởng lớn nhất (MSB – Most Significant Bit, bit
bên trái).
Parity bit: parity là bit dùng kiểm tra dữ liệu truyền đúng không (một
cách tương đối). Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd
parity). Parity chẵn nghĩa là số lượng số 1 trong dữ liệu bao gồm bit parity
luôn là số chẵn. Ngược lại tổng số lượng các số 1 trong parity lẻ luôn là số lẻ.
Ví dụ, nếu dữ liệu của bạn là 10111011 nhị phân, có tất cả 6 số 1 trong dữ liệu
này, nếu parity chẵn được dùng, bit parity sẽ mang giá trị 0 để đảm bảo tổng
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 70
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
các số 1 là số chẵn (6 số 1). Nếu parity lẻ được yêu cầu thì giá trị của parity bit
là 1. Hình 1 mô tả ví dụ này với parity chẵn được sử dụng. Parity bit không
phải là bit bắt buộc và vì thế chúng ta có thể loại bit này khỏi khung truyền
(các ví dụ trong bài này tôi không dùng bit parity).
Stop bits: stop bits là một hoặc các bit báo cho thiết bị nhận rằng một
gói dữ liệu đã được gởi xong. Sau khi nhận được stop bits, thiết bị nhận sẽ tiến
hành kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu. Stop bits là
các bits bắt buộc xuất hiện trong khung truyền, trong AVR USART có thể là 1
hoặc 2 bits (Trong các thiết bị khác Stop bits có thể là 2.5 bits). Trong ví dụ ở
hình 1, có 2 stop bits được dùng cho khung truyền.Giá trị của stop bit luôn là
giá trị nghỉ (Idle) và là ngược với giá trị của start bit, giá trị stop bit trong
AVR luôn là mức cao (5V).
(Chú ý và gợi ý: khung truyền phổ biến nhất là : start bit+ 8 bit
data+1 stop bit)
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 71
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
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 PIC16F877A : chi phí và giá thành khá đắ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 PIC16F877A. 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 em 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.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 72
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
4.2. SƠ ĐỒ KHỐI TỔNG QUÁT CỦA TOÀN HỆ THỐNG
MOBILE
Hình 4.1 Sơ đồ khối hệ thống điều khiển thiết bị bằng SMS
CHỨC NĂNG TỪNG KHỐI:
Khối giao tiếp mạng di độngCó 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 PIC16F877A. Cái này được đặt cố định và thường xuyên kết
nối với PIC16F877A.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 73
Kh
ối Giao T
iếp
SM
S
MODULE SIM300CZ
VIĐIỀU
KHIỂNPIC16F877A
KHỐICẢMBIẾN
KHỐICÔNGSUẤT
KHỐI
NGUỒN
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
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 PIC16F877A
Khối xử lý phần cứng PIC16F877AKhố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 PIC16F877A đả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 và khối
cảm biến hồng ngoại.
Khối cảm biếnPIR: Nó là chữ viết tắt của P assive I nfra R ed sensor (PIR sensor), tức là bộ
cảm biến thụ động dùng nguồn kích thích là tia hồng ngoại. Tia hồng ngoại
(IR) chính là các tia nhiệt phát ra từ các vật thể nóng.
Gồm có cảm biến ánh sáng sử dụng quang trở, cảm biến phát hiện chuyển
động PIR.
Quang trở là một điện trở nhạy sáng, có giá trị thay đổi khi độ sáng chiếu vào
quang trở thay đổi, dùng trong trường hợp không muốn điều khiển tắt mở đèn
qua SMS mà muốn tự động bật đèn khi trời tối và tắt đèn khi trời sáng
Cảm biến phát hiện chuyển động PIR là loại cảm biến có thể xác định được sự
di chuyển của một vật trong phạm vi của cảm biến.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 74
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 4.2: mô tả hoạt động của cảm biến PIRNguyên lý hoạt động: Nhìn vào hình vẽ trên ta có thể dễ thấy, một cảm biến
PIR sẽ có hai khe. Trong đó mỗi khe được làm bằng một chất liệu đặc biệt và
nhạy cảm với các tín hiệu IR. Các (lens) được sử dụng trong cảm biến không
gây ảnh hưởng đến các tín hiệu IR này, và không làm ảnh hưởng đến việc bắt
tín hiệu của khe.(Chức năng của lens sẽ được giải thích rõ hơn ở phần dưới).
Khi cảm biến ở chế độ nhàn rỗi (Idle) tín hiệu thu được ở hai khe trên cảm
biến là như nhau, nó là lượng nhiệt bức xạ từ môi trường xung quanh. Khi có
một vật thể mang nhiệt như cơ thể con người hoặc động vật truyền qua nó sẽ
lần lượt đi qua hai khe của cảm biến, điều này gây ra một sự thay đổi khác biệt
tích cực giữa hai khe này. Khi nguồn nhiệt đó rời xa khỏi khu vực hoạt động
của cảm biến sự thay đổi sẽ ngược lại. Sự thay đổi này sẽ được thể hiện ở các
xung ra của cảm biến.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 75
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 4.3: cảm biến PIRBản thân cảm biến PIR được đặt trong một khối kim loại được hàn kín. Việc
làm như thế này nhằm để tránh các hư hại do nhiễu/ nhiệt độ /độ ẩm. Mặt trên
của cảm biến sẽ có một cửa sổ được làm bằng chất liệu IR-transmissive
(Thông thường là vật liệu được tráng bằng silic) nhằm bảo vệ cảm biến bên
trong mà vẫn không làm ảnh hưởng đến việc nhận tín hiệu IR của cảm biến.
Đằng sau cửa sổ đó là 2 cảm biến cân bằng (balance sensor). Ta có thể hình
dung rõ ở hình ảnh dưới đây:
Hình 4.4: Mô tả cảm biến PIRTrong module cảm biến chuyển động PIR còn có 1 kính Fresnel có tác dụng
hội tụ các tia hồng ngoại tại tiêu điểm. Và cảm biến PIR đặt tại tiêu điểm đó.
Hình 4.5: Kính Fresnel
Khối công suấtKhối này bao gồm IC D Flip Flop 4013 và transistor C1815 có nhiệm vụ giữ
trạng thái ngõ ra của PIC16F877A 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, quạt…
4.3 THIẾT KẾ PHẦN CỨNGTrong quá trình thi công phần cứng, nhóm em đã sử sử phần mềm khá thông
dụng trong lĩnh vực thiết kế board mạch điện tử. Đó là phần mềm Orcad. Phần
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 76
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
mềm này là phần mềm thiết kế rất mạnh để phục vụ việc thiết kế. Nó đáp ứng
tốt các kỹ thuật cần thiết để làm một board mạch điện tử hoàn chỉnh.
4.3.1 SƠ ĐỒ NGUYÊN LÝ PHẦN CỨNG & TÍNH TOÁN.
4.3.1.1 Nguồn cung cấp cho toàn hệ thống.
J 3
C O N 2
12
J 1
C O N 1
1
U 17 8 0 5
1 3
2
I N O U T
GN
D
0
C 12 2 0 0 u . . 5 0 v
0
J 2
C O N 1
1
D 2
L E D00
0 . 1 uC C 3
1 u0
0
- +
D 1
D I O D E B R I D G E
R 1
3 3 0
Hình 4.2 Sơ đồ nguyên lý nguồn cung cấpDòng qua led L1 khoảng 10mA
Sụt áp trên mỗi nhánh của Led khoảng 1.6 V– 1.8 V
Điện áp ngõ ra của IC 7805 là 5V
Nên giá trị điện trở R50là:
R50 = = = 340 (Ohm)
Chọn R50 =330 (Ohm)
- Sử dụng biến thế đôi 220VAC/ 12VAC để hạ áp sau đó dùng cầu Diode
chỉnh lưu thành điện 1 chiều, nguồn điện 1 chiều sau khi qua các tụ lọc
sẽ có điện áp 1 chiều phẳng hơn. Và nguồn điện ổn định này sẽ cung
cấp cho tất cả linh kiện trong mạch hoạt động.
Nguồn cung cấp có nhiệm vụ cung cấp toàn bộ năng lượng cho mạch vì
thế bộ nguồn cần có độ ổn định cao để có thể hoạt động lâu dài của cả
hệ thống mạch điện.
Họ Ic 78XX là loại Ic ổn áp phổ biến. mạch sử dụng thêm các linh kiện
phụ trợ khác như điện trở hạn dòng và tụ lọc nguồn sẽ cung cấp điện áp
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 77
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
ngõ ra có độ ổn định cao. Loại Ic có vỏ nhôm tản nhiệt có thể cung cấp
dòng tối đa 1A đủ để cung cấp nguồn cho các linh kiện trong mạch hoạt
động tốt. đồng thời trong Ic còn tích hợp các mạch bảo vệ quá nhiệt và
quá dòng bên trong. Điều này có ý nghĩa quan trong đối với sự an toàn
cho các linh kiện trong mạch.
Họ IC 78XX là họ cho ổn định điện áp đầu ra là dương. Với điều kiện
đầu vào luôn luôn lớn hơn đầu ra 3V. Còn XX là giá trị điện áp đầu ra
như: 5V, 6V, ….
Họ IC 78XX gồm có 3 chân:
Chân 1( Vin) : chân nguồn đầu vào
Chân 2 (GND) : chân nối đất
Chân 3( Vout) : chân nguồn đầu ra
78XX chuyển đổi điện áp dương từ +24V +5V dòng 1A
78LXX chuyển đổi điện áp dương từ +24V +5V dòng 0.1A
78MXX chuyển đổi điện áp dương từ +24V +5V dòng 0.5A
78SXX chuyển đổi điện áp dương từ +24V +5V dòng 0.2A
- IC 7805: cung cấp nguồn 5V cho vi xử lý trung tâm, ISD 1420,
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 78
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
4.3.1.2 Nguồn cung cấp cho khối Module SIM300CZ + PIC16F877A.
R _ 3 . 3 V
2 . 2 k D _ 3 . 3 V
5 V
4 V
3 . 3 V
J 1
C O N N J A C K P W R
321
U 1 4
K A 7 8 0 5 C / TO
I N1
O U T3
U 1 5
M I C 2 9 3 0 2 B U _ 1
V in2
GN
D3
V o u t4
A d j5
E n a b le1
C _ 1 2 V
4 7 0 u / 1 6 VR 1 _ 4 V
2 . 2 k
R 2 _ 4 V 5 . 6 k
C 2 _ 4 V
1 0 u F
C _ 5 V
4 7 0 u F
C _ 3 . 3 V
1 0 u
U 7
A M S 1 1 1 7 -3 v 3 -S O T2 2 3
V in3
GN
D1
V o u t2
12V
0 0
0
Hình 4.3 Sơ đồ nguyên lý nguồn cung cấp cho Sim300CZ + PIC16F877ANguồn cung cấp cho Khối Module Sim300CZ + Pic18F26K20 sử dụng:
+ IC MIC29302BU_1 để ổn định điện áp 4V cung cấp cho Module
Sim300CZ.
+ IC KA7805C/TO để ổn định điện áp 5V cung cấp cho PIC16F877A và khối
cảm biến
+ 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ụ :
470uF, 10uF…
+ Dùng các điện trở có giá trị khác nhau để ổn định điện áp, thường chon các
điện trở: 5.6k, 2.2k...
+ Dùng đèn led để hiển trị trạng thái của nguồn.
4.3.1.3 Module Sim300CZ.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 79
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
R XTX
4 V
U 1 3
c o n n e c t o r_ s im 3 0 0 c z
V B A T1
V B A T3
V B A T5
V B A T7
V B A T9
V C H G1 1
TE M P _ B A T1 3
V D D _ E XT1 5
P W _ K E Y1 7
S TA TU S1 9
G P I O 02 1
B U Z Z E R2 3
S I M _ V D D2 5
S I M _ R S T2 7
S I M _ D A TA2 9
S I M _ C L K3 1
S I M _ P R E3 3
G P I O 13 5
D C D3 7
D TR3 9
R XD4 1
TXD4 3
R TS4 5
C TS4 7
R I4 9
A G N D5 1
S P K _ 1 P5 3
S P K _ 1 N5 5
S P K _ 2 P5 7
S P K _ 2 N5 9
G N D2
G N D4
G N D6
G N D8
G N D1 0
A D C 01 2
V R TC1 4
N E T_ L1 6
K B C 01 8
K B C 12 0
K B C 22 2
K B C 32 4
K B C 42 6
K B R 02 8
K B R 13 0
K B R 23 2
K B R 33 4
K B R 43 6
D I S P _ C S3 8
D I S P _ C L K4 0
D I S P _ D A TA4 2
D I S P _ D / C4 4
D I S P _ R S T4 6
D B G _ R XD4 8
D B G _ TXD5 0
A G N D5 2
M I C 1 P5 4
M I C 1 N5 6
M I C 2 P5 8
M I C 2 N6 0
R I
D _ N L
L E D
R _ N L
2 . 2 kVD
D_E
XT
R _ P W R
3 3 0 S TA TU S
V S I M
U 1 6
c o n n e c t o r_ s im c a rd
V C C1
S I M _ R S T2
S I M _ C L K3
G N D4
V S I M5
I / O6
0V S I M
0
S I M _ R S T00
S I M _ R S T
0
0
S I M _ C L K
R _ 4 V
2 . 2 K
D _ 4 V
S I M _ C L K
C _ V R TC1 0 u f
Hình 4.4 Sơ đồ nguyên lý kết nối Module Sim300CZ
4.3.1.4 Vi điều khiển PIC16F877
+5 V
P V N 1
P I C 1 6 F 8 7 7 A
R A 0 / A N 02
R A 1 / A N 13
R A 2 / A N 2 / V R E F -/ C V R E F4
R A 3 / A N 3 / V R E F +5
R A 4 / T0 C K I / C 1 O U T6
R A 5 / A N 4 / S S * / C 2 O U T7
R B 0 / I N T3 3
R B 13 4
R B 23 5
R B 3 / P G M3 6
R B 43 7
R B 53 8
R B 6 / P G C3 9
R B 7 / P G D4 0
R C 0 / T1 O S O / T1 C K I1 5
R C 1 / T1 O S I / C C P 21 6
R C 2 / C C P 11 7
R C 3 / S C K / S C L1 8
R C 4 / S D I / S D A2 3
R C 5 / S D O2 4
R C 6 / TX/ C K2 5
R C 7 / R X/ D T2 6
R D 0 / P S P 01 9
R D 1 / P S P 12 0
R D 2 / P S P 22 1
R D 3 / P S P 32 2
R D 4 / P S P 42 7
R D 5 / P S P 52 8
R D 6 / P S P 62 9
R D 7 / P S P 73 0
O S C 1 / C L K I N1 3
O S C 2 / C L K O U T1 4
V D D3 2
V D D1 1
V S S3 1
V S S1 2
M C L R * / V P P1
R E 0 / R D * / A N 58
R E 1 / W R * / A N 69
R E 2 / C S * / A N 71 0
C 1 53 3 p F
+5 V
C 1 63 3 p F
R 1 51 0 K
Y 31 2 M h z
J 6
P O R TC
12345678
+5 V
S W 2
C 1 71 0 u F
J 1 0
P O R TA
123456
J 1 1
P O R TD
12345678
B 1B 0
B 4B 3B 2
B 7B 6B 5
J 1 2
P O R TE123
Hình 4.5 Sơ đồ nguyên lý kết nối PIC16F877A
4.3.1.5 Khối công suất.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 80
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Q 3C 1 8 1 5
R 41 0 k
O U T4
U 2 A
4 0 1 3
5
3
12
1 4
6
4
7 891 01 11 21 3
D
C L K
V D D
S
R
G N D S 2D 2R 2
C L K 2Q 2Q 2
S W 2
O U T1
R 2
C 1
in p u t 1
N g u o n
R 31 0 k
R 6
2 . 2 k
D 4
in p u t 2
R 5
2 . 2 k
D 3
4 0 0 7
V C C
S W 1
C 1
n g u o n
Q 2C 1 8 1 5
D 7
V C C
L S 3
R E L A Y S P D T
35
214
O U T1
L S 2
R E L A Y S P D T
35
214
D 6
R 2
O U T2
D 5
D 2
4 0 0 7
O U T3
O U T2
Hình 4.6 Sơ đồ nguyên lý khối công suấtKhối Công suất gồm: Rơle 5V, transistor C1815 và 2 Diode để khuếch
đại dòng qua Rơle và tránh điện áp ngược.
Chọn Rơle 5V:
+ Điện áp tác động: 5V
+ Điện trở cuộn dây Rơle R = 360
+ Dòng điện qua cuộn dây IR khoảng 400A
+ Điện áp đóng mở 220V
Tính toán chọn BJT và các điện trở phân cực:
Chọn Q1 là BJT C1815, BJT làm việc ở chế độ bão hòa
Dòng điện qua cuộn dây của Rơle
IL =
= = 32mA
Dòng điện qua Rơle cũng là dòng qua cực C của BJT. Suy ra Ic = 32mA
Để Transitor dẫn bão hòa thì
Ib = = 0.4mA
Chọn Ib = 10 0.4 = 4mA
Chọn Diode D1,D2:
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 81
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Tác dụng của D1,D2: D1,D2 là 2 diode dùng để tránh dòng Fuco trong cuộn
dây sinh ra trong quá trình hoạt động làm hỏng các linh kiện khác như:
BJT,IC...
Việc chọn D1,D2 không khó khăn vì D1,D2 chỉ là loại Diode chịu được
dòng tương đối nhỏ. Trong mạch này ta chọn Diode là loại 1N4147.
Nguyên lý hoạt động: Khi có 1 xung clock được kích ở chân CLK thì sẽ làm
đảo trạng thái của ngõ ra Q và Q2. Khi Q1 và Q2 được kích lên mức 1 sẽ làm
transistor dẫn, làm nam châm điện của relay hút, và làm đèn 220V sáng.
4.3.1.6 Khối cảm biếnCảm biến ánh sáng – quang trở
Hình 4.7: Sơ đồ nguyên lý mạch cảm biến ánh sáng sử dụng quang trởQuang trở thay đổi giá trị điện trở khi lượng ánh sáng chiếu vào quang trở thay
đổi. Thực tế đo được, nếu trời tối hoàn toàn, điện trở của quang trở vào
khoảng 10 MΩ, và nếu trời sáng, điện trở giảm dần xuống. Khi độ sáng cực
đại thì điện trở của quang trở còn lại khoảng 10Ω.
Ngõ ra OUT của mạch cảm biến ánh sáng được kết nối vào ADC của khối Vi
Xử Lý để đọc điện áp của ngõ ra OUT khi độ sáng thay đổi. Ta có công thức
tính điện áp của ngõ ra OUT khi Vcc=5V là:
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 82
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Khi Rqt =10MΩ Vout= ~4.99V
Khi Rqt= 10Ω Vout=~0.005V
Vậy khi độ sáng tăng dần từ rất tối cho tới rất sáng thì điện áp ngõ ra Vout
giảm dần từ 4.99V xuống 0.005V.
Dùng chức năng ADC của PIC16F877A đọc giá trị điện áp của ngõ ra Vout và
chuyển đổi điện áp thành giá trị số. Ta cấu hình để PIC16F877A sử dụng ADC
10bit. 10bit đó tương ứng với 210 =1024.Có nghĩa là giá trị số hóa sau khi sử
dụng bộ chuyển đổi ADC của PIC16F877A là từ 0-1023. Ta dùng điện áp so
sánh bằng Vcc. Có nghĩa là Vcc là điện áp tối đa mà Vout không vượt quá. Ta
dùng điện áp so sánh làm thang chia để chuyển đổi giá trị điện áp ra giá trị số.
Khoảng chênh lệch giữa điện áp so sánh và Voutmax càng nhỏ thì giá trị số sau
khi chuyển đổi càng chính xác. Khi Vout~4.99V, ứng với trời cực tối. giá trị
số của ngõ ra OUT sau khi chuyển đổi là (1024/5)*4.99=~1024. Khi
Vout~0.005V, ứng với trời cực sáng, giá trị số của ngõ ra OUT sau khi chuyển
đổi là (1024/5)*0.005=~ 1. Vậy giá trị số sau khi chuyển đổi ngõ ra OUT dao
động từ 1-1024 ứng với trời cực sáng đến trời cực tối. Dựa vào giá trị số của
ngõ ra OUT mà PIC16F877A hiểu được đó, ta có thể biết được khi nào thì trời
sáng, khi nào thì trời tối để mà bật tắt đèn tự động cho hợp lý.
Module cảm biến phát hiện chuyển động PIR
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 83
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hình 7.11: Sơ đồ nguyên lý module cảm biến PIR
4.3.2.Mạch Hiển Thị
Hình 7.12: Sơ đồ nguyên lý mạch hiển thị
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 84
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
4.3.3 SƠ ĐỒ MẠCH INKhối PIC16F877A
Hình 4.9 Sơ đồ mạch in lớp BOTTOM Khối PIC16F877A
4.4 THIẾT KẾ PHẦN MỀM
4.4.1 LƯU ĐỒ THUẬT TOÁN
4.4.1.1 Lưu đồ giải thuật tổng quát chương chính chính.
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 85
Bắt Đầu
Khai Báo Biến
Khởi Tạo Gía Trị Biến
Khởi Tạo Thanh Ghi
Khởi Tạo Ngắt Timer
Ngắt Timer0
Khởi Tạo Cấu Hình
GSM
Chương trình Chính
(Main)
Ngắt EUART
Thực HiệnLệnh Điều Khiển
Kết Thúc
Ngắt Tin Nhắn
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
4.4.1.2 lưu đồ giải thuật:
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 86
START
BẠT ĐÈN KHI TRỜI
TỐI
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
4.4.2 MÃ NGUỒN CHƯƠNG TRÌNH ĐIỀU KHIỂN #include <16f877a.h>
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 87
ĐÈN TỰ ĐỘNG SÁNG KHI TRỜI
TỐI
BẬT ĐÈN KHI CÓ NGUỜI VÀO NHÀ
ĐÈN TỰ ĐỘNG SÁNG KHI CÓ
NGƯỜI VÀO NHÀ
CÓ NGƯỜI VÀO NHÀ
LOA KÊU. GỬI TIN NHẮN BÁO NGƯỜI LẠ VÀO
NHÀ
ĐỢI SMS
SMS=CHEK
GỬI TIN NHẮN BÁO TRẠNG THÁI
CỦA NHÀ
SMS=BATDEN
BẬT ĐÈN VÀ TRẢ LỜI TIN NHẮN
“OK”
STOP
Đ
Đ
Đ
Đ
Đ
S
S
S
S
S
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
#fuses NOWDT,XT,PUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP
#DEVICE adc=10
#include <string.h>
#use delay(clock=4000000)
#use fast_io(d)
#use fast_io(b)
#use fast_io(c)
#use fast_io(a)
#use fast_io(e)
#byte porta=0x05
#byte portb=0x06
#byte portc=0x07
#byte portd=0x08
#byte porte=0x09
#bit RS=PORTE.0
#bit RW=PORTE.1
#bit E=PORTE.2
#bit RD0=PORTD.0
#bit RD1=PORTD.1
#bit RD2=PORTD.2
#bit RD3=PORTD.3
#bit RD4=PORTD.4
#bit RD5=PORTD.5
#bit RD6=PORTD.6
#bit RD7=PORTD.7
#bit RC4=PORTC.4
#use rs232(baud=9600,parity=n,xmit=PIN_C6,rcv=PIN_C7,bits=8)
char uart_buff[90];
char temp[20];
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 88
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
int i=0,k,j=0,n,z,l,h,s,y,f,x,m;
int1 ok;
int coCuocGoiDen=0;
int coSMS = 0;
char char_in;
int char_count=0, char_count1=0;
void kt_sms();
void xuly_sms();
void xuly_batden();
void guiSmsBaoDong(char* noidung);
#INT_RDA
void receive()
uart_buff[i]=getc();
i++;
if (i==2)
ok=1;
void xoa_buffer()
for(i=1;i<90;i++)
//temp[i]=0;
uart_buff[i]=0;
i=0;
char_count=0;
void xoa_temp()
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 89
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
for(i=0;i<strlen(temp);i++)
temp[i]=0;
i=0;
int instr(unsigned char* chuoi,unsigned char* chuoi_ss)
int i;
int dem,dem_ss;
dem = strlen(chuoi);
dem_ss = strlen(chuoi_ss);
for(i=0;i<dem;i++)
if(chuoi[i]==chuoi_ss[0])
if(chuoi[i+1]==chuoi_ss[1] && chuoi[i+2]==chuoi_ss[2] &&
chuoi[i+3]==chuoi_ss[3])
return 1;
else return 0;
return 0;
void cauhinhmodulesim()
printf("a");
delay_ms(2000);
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 90
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
printf("a");
delay_ms(2000);
printf("at\r\n");
delay_ms(2000);
printf("at\r\n");
delay_ms(2000);
while (OK==0)
printf("at\r\n");
delay_ms(2000);
printf ("ate0\r\n");
delay_ms(2000);
printf ("at+csq\r");
delay_ms(2000);
printf ("at+cmgf=1\r");
delay_ms(2000);
void guiSmsBaoDong(char* noidung)
printf("at+cmgs=\"01674365935\"\r\n");
delay_ms(1500);
printf("co SMS: %s", noidung);
delay_ms(1000);
putc(26);
delay_ms(5000);
void goiDtBaoDong()
printf("atd01674365935;\r\n"); //goi dt den so 01674365935
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 91
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
delay_ms(10000);
printf("ath\r\n"); //k goi nua
delay_ms(3000);
void bat_den1()
RD0==1;
delay_ms(2000);
RD0==0;
void bat_den2()
RD1==1;
delay_ms(2000);
RD0==0;
void kt_cuocgoi_den()
strcpy(temp, "RING");
delay_ms(1000);
if (instr(uart_buff, temp))
coCuocGoiDen=1;
guiSmsBaoDong(uart_buff);
else coCuocGoiDen=0;
xoa_temp();
void kt_sms()
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 92
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
delay_ms(50000);
strcpy(temp, "CMTI");
delay_ms(5000);
guiSmsBaoDong(temp);
guiSmsBaoDong(uart_buff);
delay_ms(1000);
if(instr(uart_buff, temp))
coSMS=1;
printf("ATD01674365935;\r\n");
delay_ms(10000);
printf("ath\r\n"); //k goi nua
xoa_buffer();
void xuly_sms()
coSMS=0;
i=0;
delay_ms(500);
xoa_temp();
xoa_buffer();
char_count=0;
strcpy(temp, "BAT1");
printf("at+cmgr=1\r\n");
delay_ms(2500);
guiSmsBaoDong(uart_buff);
delay_ms(400);
if(instr(uart_buff, temp))
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 93
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
printf("ATD01674365935;\r\n");
xoa_temp();
xoa_buffer();
xoa_temp();
void xuly_batden()
void main()
z=0;
n=0;
coSMS=0;
enable_interrupts(int_rda);
enable_interrupts(global);
ok=0;
cauhinhmodulesim();
printf("at+cmgd=1\r"); //xoa tin nhan
delay_ms(2000);
printf("atd01674365935;\r\n"); //goi dt den so 01674365935
delay_ms(10000);
printf("ath\r\n"); //k goi nua
delay_ms(3000);
xoa_buffer();
while(1)
kt_sms();
//kt_cuocgoi_den();
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 94
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
if(coSMS==1)
xuly_sms();
CHƯƠNG 5 : KẾT LUẬN
5.1 KẾT LUẬNQua thời gian nghiên cứu, thi công đồ án đã cơ bản được hoàn thành. Bằng sự
nỗ lực cố gắng của bản thân mỗi cá nhân và sự phân chia, phối hợp công việc
hợp lí, chặt chẽ, nhịp nhàng giữa mỗi thành viên của nhóm, bên cạnh đó còn là
sự hướng dẫn nhiệt tình, tận tâm của cô NGUYỄN THỊ HỒNG ÁNH, đồ án
này đã được hoàn thành đúng thời gian như đã định và đã đạt được yêu cầu đặt
ra theo yêu cầu là thiết kế và thi công hệ thống điều khiển thiết bị từ xa qua tin
nhắn SMS. Trong quá trình thực hiện đề tài, chúng em đã thu được những kết
quả nhất định như sau:
Mạch điện với các module nhỏ trên mạch được thiết kế, thi công hoàn chỉnh
và đã được thử nghiệm nhiều lần và đã thoạt động ổn định trong thực tế.
Xây dựng được mô hình để ứng dụng điều khiển các thiết bị và hệ thống báo
động.
Trong đồ án này, nhóm em đã trình bày khá đầy đủ về chức năng, cấu trúc của
từng khối module nhỏ trên board mạch điện tích hợp. Như vậy, giúp người
đọc có thể nắm bắt, hiểu được chức năng của từng module một cách dễ dàng.
Bên cạnh đó, nội dung của đề tài được trình bày khá chi tiết rõ ràng bằng cách
sử dụng những từ ngữ thông dụng, các hình ảnh đi kèm giúp người đọc dễ
hiểu và có thể thực hiện một cách tương tự, đạt hiệu quả trong một thời gian
ngắn.
Hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắn SMS được
thực hiện như trong đề tài là một hệ thống với các chức năng đạt được như
sau:
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 95
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
Hệ thống có thể điều khiển được thiết bị điện từ xa thông qua tin nhắn SMS:
+ Sau khi gửi tin nhắn thì với nội dụng tin nhắn đó, bộ xử lí sẽ thực thi quá
trình xử lí, sau đó là điều khiển thiết bị một cách tự động.
+ Tin nhắn được gửi đi từ người điều khiển để điều khiển thiết bị điện và
người điều khiển cũng nhận được tin nhắn trả ngược lại với nội dụng tin nhắn
là đã điều khiển được các thiết bị hay chưa và hệ thống cảnh báo.
+ Hệ thống có khả năng được bảo vệ tốt, nghĩa là người sử dụng phải biết
lệnh điều khiển và mật khẩu (password) thì mới đăng nhập được vào hệ thống
đối với sử dụng tin nhắn SMS.
Hệ thống có chức năng cảnh báo sự cố :
+ Khối module cảm biến phát hiện chuyển động thiết kế, lập trình kết hợp với
trung tâm xử lí có khả năng gửi thông tin dữ liệu tới trung tâm xử lí. Ngoài ra
còn có khả năng gửi tin nhắn ngược lại cho người điều khiển và tự động thi
hành các thao tác được lập trình sẵn khi có báo động xảy ra.
Để thực hiện được các chức năng nêu trên, nhóm em đã tìm hiểu, nghiên cứu
các vấn đề có liên quan tới đề tài như : PIC16F877A, Module Sim300CZ, các
ngôn ngữ lập trình tương ứng như CCS, bộ lệnh AT Command dành cho
Module, và các vấn đề khác liên quan tới đề tài.
Cuối cùng, theo nhận định chủ quan của nhóm em thì đồ án đã được hoàn
thành đúng thời gian cho phép và đã trình bày khá đầy đủ các mảng kiến thức
liên quan, các vấn đề liên qua tới đề tài. Song do những điều kiện khách quan,
đề tài này chỉ thực hiện một phần nhỏ đối với việc điều khiển cho một ngôi
nhà hoàn chỉnh. Đó là điều khiển thiết bị 2 thiết bị công suất và cảnh báo khi
có người lạ vào nhà.
5.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀIDo thời gian thực hiện đề tài có hạn và lượng kiến thức cá nhân mỗi thành
viên của nhóm là nhất định nên đề tài thực hiện xong chỉ đáp ứng được một
phần nhỏ của một hệ thống hoàn chỉnh. Vì vậy, để đề tài này thêm phong phú
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 96
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
hơn, mang nhiều tính thực tế hơn nữa, có khả năng ứng dụng cao hơn thì đề tài
cần đưa thêm vào những yêu cầu như sau:
Ngoài việc điều khiển giám sát bằng tin nhắn SMS, ta cũng có thể điều khiển
Camera để chụp hình rồi sau đó gửi tin nhắn đa phương tiện đến điện thoại.
Sử dụng thêm nhiều loại cảm biến khác, chẳng hạn như cảm biến nhiệt độ để
đo nhiệt độ, cảm biến độ ẩm không khí để đo độ ẩm không khí, hệ thống báo
cháy tự động,… để ứng dụng vào đề tài. Như thế người dùng có thể hình dung
ra được toàn bộ không gian trong ngồi nhà.
Mở rộng điều khiển được nhiều hơn nữa các thiết bị trong nhà.
Phần cứng cho mỗi module cần được tách rời nhằm dễ dàng cho việc chỉnh
sửa, thay đổi.
Đề tài không những chỉ áp dụng cho với các tòa nhà mà nên được mở rộng áp
dụng đối với điều khiển các thiết bị sử dụng nơi công cộng.
Hy vọng với những hướng phát triển nêu trên cùng với những ý tưởng khác
của các bạn, của người đọc- những người đi sau - sẽ phát triển hơn nữa đề tài
này, khắc phục những hạn chế, tồn tại của đề tài, làm cho đề tài trở nên phong
phú hơn, mang tính ứng dụng cao hơn vào trong thực tế cuộc sống, phục vụ
cho những lợi ích của con người trong tương lai.
TÀI LIỆU THAM KHẢO[1]Hoàng Minh Sơn –Mạng Truyền Thông Công Nghiệp – NXB Khoa Học
Và Kỹ Thuật – 2006.
[2] Nguyễn Trọng Kiên và Phạm Văn Nam – Đồ án tốt nghiệp - “Điều khiển
thiết bị từ xa qua tin nhắn SMS bằng máy tính” – Trường ĐHSP Kỹ Thuật
TP.HCM.
[3] Một Số Trang Web Tham Khảo:
www.picvietnam.com
www.4tech.com.vn
www.dientuvietnam.com
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 97
ĐỒ ÁN:NGÔI NHÀ THÔNG MINH GVHD: Nguyễn Thị Hồng Ánh
SVTH : Nguyễn Văn Hiếu-Lê Văn Hiểu Trang 98