HỆ THỐNG THÔNG TIN DI ĐỘNG GSM
Mạng thông tin di động GSM
1.1.1 Lịch sử phát triển hệ thống GSM [1]
In the early 1980s, Europe developed a mobile phone network for limited areas, which was later standardized in 1982 by the CEPT (European Conference of Postal and Telecommunications Administrations) This led to the creation of the Groupe Spécial Mobile (GSM), aimed at providing a unified mobile communication system across Europe.
Mạng điện thoại di động sử dụng công nghệ GSM đƣợc xây dựng và đƣa vào sử dụng đầu tiên bởi Radiolinja ở Phần Lan
Hình 1.1 Cấu trúc hệ thống thông tin di động toàn cầu GSM
Vào năm 1989, công việc quản lý tiêu chuẩn và phát triển mạng GSM đã được chuyển giao cho Viện Viễn thông Châu Âu (ETSI), cùng với việc thiết lập các tiêu chuẩn và đặc tính phase 1 cho công nghệ GSM.
13 công bố vào năm 1990 Vào cuối năm 1993 đã có hơn 1 triệu thuê bao sử dụng mạng GSM của 70 nhà cung cấp dịch vụ trên 48 quốc gia[1]
GSM, hay Hệ thống Thông tin Di động Số Toàn cầu, là công nghệ không dây 2G với cấu trúc mạng tế bào, cung cấp dịch vụ thoại và truyền dữ liệu chất lượng cao Hệ thống này hoạt động trên các băng tần khác nhau, bao gồm 400MHz, 900MHz, 1800MHz và 1900MHz, theo tiêu chuẩn của Viễn thông Châu Âu (ETSI).
Do sự phổ biến của nó trên toàn cầu, các nhà cung cấp dịch vụ đã ký kết hợp đồng roaming, giúp thuê bao GSM có thể sử dụng điện thoại của mình một cách dễ dàng ở bất kỳ đâu.
Công nghệ GSM mang lại lợi ích lớn với khả năng truyền âm thanh chất lượng cao và cho phép người dùng giao tiếp qua tin nhắn SMS với chi phí thấp Hệ thống GSM được thiết kế mở, giúp các nhà cung cấp dịch vụ dễ dàng kết nối thiết bị từ nhiều nguồn khác nhau Tại Việt Nam, mạng thông tin di động đầu tiên được ra mắt vào năm 1992.
Hai nhà cung cấp dịch vụ di động lớn tại Việt Nam là Mobifone và Vinafone, lần lượt ra đời vào năm 1993 và 1996, đã tạo ra một thị trường cạnh tranh sôi động Mobifone là liên doanh giữa VNPT và tập đoàn COMVIK, trong khi Vinafone thuộc trung tâm dịch vụ viễn thông GPC của VNPT Sự tham gia của Viettel vào tháng 6/2004 đã thúc đẩy cuộc đua giữa các nhà khai thác, dẫn đến việc giảm giá cước và gia tăng sự đa dạng trong các dịch vụ cung cấp.
1.1.2 Cấu trúc hệ thống thông tin di động GSM [2]
Hình 1.2 Cấu trúc hệ thống GSM
SS: Hệ thống con chuyển mạch
AUC: Trung tâm nhận thực
HLR: Bộ ghi định vị thường trú
VLR: Bộ ghi định vị tạm trú
MSC: Tổng đài di động
EIR: Thanh ghi nhận dạng thiết bị
BSS: Hệ thống con thu phát gốc (phân hệ trạm gốc)
BSC: Bộ điều khiển trạm gốc
BTS: Trạm thu phát gốc
OSS: Hệ thống con khai thác và hỗ trợ
ISDN: Mạng số đa dịch vụ
PSPDN: Mạng chuyển mạch số công cộng theo gói
CSPDN: Mạng chuyển mạch số công cộng theo mạch
PLMN: Mạng di động mặt đất công cộng
Hệ thống GSM có thể chia thành các hệ thống con nhƣ sau:
- Phân hệ chuyển mạch (SS: Switchj Subsystem)
- Phân hệ trạm gốc (BSS: Base Station Subsystem)
- Phân hệ khai thác (OSS: Operation Subsystem)
- Trạm di động (MS: Mobile Station) a) Cấu trúc và chức năng hệ thống con chuyển mạch SS [2]
Hệ thống con chuyển mạch của GSM bao gồm các chức năng chuyển mạch chính và cơ sở dữ liệu cần thiết để quản lý thông tin thuê bao và di động Chức năng chính của hệ thống này là quản lý thông tin giữa người dùng mạng GSM và các mạng khác Các khối chức năng trong hệ thống con chuyển mạch bao gồm nhiều thành phần quan trọng.
Tổng đài mạng di động MSC:
MSC chịu trách nhiệm điều khiển và thiết lập cuộc gọi giữa các người dùng mạng GSM cũng như với các mạng khác Nó thực hiện giao diện với hệ thống con BSS và các mạng bên ngoài Ngoài ra, MSC cũng đảm nhận việc kết nối với mạng ngoài.
MSC cổng (GMSC) là thành phần quan trọng trong mạng GSM, cho phép kết nối với các mạng khác Để đảm bảo khả năng tương thích, chức năng tương tác IWF (InterWorking Functions) được sử dụng, giúp GSM kết nối hiệu quả với các mạng như ISDN, PSTN, PSPDN, CSPDN và PLMN.
Bộ ghi định vị thường trú HLR:
HLR lưu trữ thông tin quan trọng liên quan đến dịch vụ viễn thông, bao gồm vị trí hiện tại của số thuê bao (MS) Thông thường, HLR là một máy tính độc lập có khả năng quản lý hàng trăm nghìn thuê bao, nhưng không thực hiện chức năng chuyển mạch Ngoài ra, HLR còn có nhiệm vụ nhận diện thông tin từ AUC.
Bộ định vị tạm trú VLR:
VLR (Visitor Location Register) là cơ sở dữ liệu quan trọng trong mạng GSM, kết nối với nhiều MSC (Mobile Switching Center) VLR có nhiệm vụ lưu trữ tạm thời thông tin thuê bao của người dùng trong vùng phục vụ của MSC, đồng thời cung cấp dữ liệu vị trí chính xác hơn so với HLR (Home Location Register) Các chức năng của VLR thường được tích hợp với các chức năng của MSC để tối ưu hóa quá trình quản lý thuê bao.
Bộ nhận dạng thiết bị EIR:
EIR được kết nối với MSC qua một đường báo hiệu riêng, cho phép MSC xác minh tính hợp lệ của thiết bị di động EIR lưu trữ thông tin về IMEI và tổ chức danh sách IMEI thành ba loại: danh sách trắng chứa các IMEI hợp lệ, danh sách xám bao gồm các IMEI bị mất cắp, và danh sách đen gồm các IMEI của những thiết bị bị lỗi hoặc không kết nối được với mạng GSM hiện tại.
Trung tâm nhận thực AUC:
Trung tâm nhận thực lưu giữ thông tin về nhận thực thuê bao thông qua khóa nhận thực (Ki), kiểm tra tất cả các thuê bao trong mạng và chịu trách nhiệm xử lý nhận thực cũng như tạo biện pháp bảo mật cho các cuộc gọi AUC, bộ nhận phần cứng trong HLR, cho phép theo dõi và ghi lại các cuộc gọi, đồng thời chống nghe trộm với cấu hình riêng cho từng thuê bao Theo yêu cầu của HLR, AUC tạo ra các nhóm chức năng đa dạng để đảm bảo an ninh mạng.
Số ngẫu nhiên RAND (Random Number) Đáp ứng tín hiệu SRES (Signal Response)
Chìa khoá mật mã Kc
Tổng đài di động cổng G-MSC:
SS có khả năng chứa nhiều MSC, VLR và HLR Để thực hiện cuộc gọi đến người sử dụng GSM, trước tiên cuộc gọi cần được định hướng đến một tổng đài di động cổng (GMSC) mà không cần biết vị trí của thuê bao GMSC có nhiệm vụ quan trọng trong việc xử lý cuộc gọi này.
BSS đóng vai trò quan trọng trong việc cung cấp đường truyền giữa MS và tổng đài mạng di động MSC Nó thực hiện việc trao đổi thông tin với MS thông qua giao diện vô tuyến Um và kết nối với MSC qua các tuyến truyền dẫn 2Mb/s qua giao diện A.
BSS bao gồm 3 bộ phận sau:
- Trạm thu phát gốc ( BTS )
- Bộ điều khiển trạm gốc ( BSC )
- Bộ đổi mã và thích ứng tốc độ ( TRAU )
Bộ điều khiển trạm gốc BSC:
Tin nhắn SMS
1.2.1 Lịch sử tin nhắn SMS
SMS (Dịch vụ tin nhắn ngắn) là một giao thức viễn thông cho phép gửi các tin nhắn văn bản ngắn, tối đa 160 ký tự, hoạt động dựa trên ba công nghệ mạng chính: GSM, CDMA và TDMA SMS lần đầu tiên xuất hiện ở Châu Âu vào năm 1992, với sự phát triển từ chuẩn GSM (Hệ thống toàn cầu về thông tin di động) Sau đó, nó mở rộng sang các công nghệ không dây như CDMA và TDMA Các chuẩn GSM và SMS được phát triển bởi ETSI (Viện tiêu chuẩn viễn thông châu Âu) và hiện nay, 3GPP (Dự án hợp tác thế hệ thứ ba) đang quản lý sự phát triển và duy trì các chuẩn này.
SMS, hay còn gọi là Dịch vụ Tin nhắn Ngắn, cho phép lưu trữ dữ liệu với giới hạn tối đa là 140 byte, tương đương với 1120 ký tự.
21 bit) dữ liệu Vì vậy, một SMS có thể chứa:
- 160 ký tự nếu mã hóa ký tự 7 bit đƣợc sử dụng (phù hợp với mã hóa các ký tự latin nhƣ alphatet của tiếng Anh)
- 70 ký tự nếu nhƣ mã hóa ký tự 16 bit Unicode UCS2 đƣợc sử dụng (dùng cho các ký tự không phải mã latin nhƣ chữ Trung Quốc)
SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau, bao gồm cả Arabic, Trung Quốc, Nhật Bản và Hàn Quốc, nhờ vào mã Unicode Ngoài việc gửi tin nhắn văn bản, SMS còn cho phép truyền tải dữ liệu dạng binary, giúp người dùng gửi nhạc chuông, hình ảnh và nhiều tiện ích khác từ điện thoại này sang điện thoại khác.
Một trong những ƣu điểm nổi trội của SMS là đƣợc hỗ trợ bởi các điện thoại sử dụng GSM hoàn toàn
Hầu hết 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 wireless
Các yếu tố kích thích sự phát triển của SMS:
Việc nhắn tin liên mạng giữa các nhà cung cấp dịch vụ trong cùng khu vực cho phép khách hàng sử dụng dịch vụ nhắn tin SMS tương tự như dịch vụ thoại Nhờ đó, khách hàng có thể gọi điện và nhắn tin cho nhau từ các mạng khác nhau một cách dễ dàng.
Dịch vụ nhắn tin SMS trả trước là yếu tố quan trọng thúc đẩy sự phát triển của dịch vụ SMS Với hình thức này, khách hàng có thể thanh toán trước cho dịch vụ mà không cần phải đăng ký với nhà cung cấp.
Dự đoán văn bản trên máy đã đơn giản hóa việc nhắn tin và tăng lượng tin nhắn được gửi đi Sự ra đời của các thuật toán dự báo tin nhắn giúp giảm đáng kể việc bấm phím, đồng thời tích hợp các thuật toán này vào điện thoại đã thúc đẩy sự phát triển của dịch vụ SMS.
Chuẩn hóa các giao thức đã tạo ra môi trường thuận lợi cho các nhà hoạch định, phát triển và triển khai dịch vụ của doanh nghiệp Điều này cũng giúp người sử dụng dễ dàng hơn trong việc trả lời tin nhắn và truy cập vào các dịch vụ tin nhắn.
Sự phát triển của các thiết bị đầu cuối thân thiện với người dùng đã thúc đẩy đáng kể việc sử dụng tin nhắn Những thiết bị này không chỉ dễ sử dụng mà còn mang lại trải nghiệm tốt hơn cho người tiêu dùng, từ đó làm tăng tần suất giao tiếp qua tin nhắn.
1.2.2 Cách thức hoạt động của SMS
Tin nhắn văn bản từ điện thoại di động được lưu trữ tại trung tâm lưu trữ tin nhắn SMC (Stored Message Central) trước khi chuyển tiếp đến đích cần thiết SMS sử dụng một kênh riêng biệt để gửi và quản lý tin nhắn, đảm bảo rằng các cuộc gọi và dạng tin nhắn khác không bị ảnh hưởng Kênh điều khiển này cũng giúp theo dõi vị trí điện thoại của bạn, cho phép tin nhắn được gửi chính xác đến địa điểm hiện tại của bạn.
1.2.3 Cấu trúc một tin nhắn SMS
Nội dung của 1 tin nhắn SMS khi đƣợc gửi đi chia làm 5 phần nhƣ sau:
- Instructions to air interface: chỉ thị dữ liệu kết nối với air interface
- Instructions to SMSC: chỉ thị dữ liệu kết nối với trung tâm tin nhắn SMSC
- Instructions to handset: chỉ thị dữ liệu kết nối bắt tay
- Instructions to SIM (optional): chỉ thị dữ liệu kết nối, nhận biết SIM
- Message body: nội dung tin nhắn SMS
1.2.4 Ƣu điểm của các tin nhắn SMS
- Tin nhắn có thể đƣợc gửi và đọc tại bất kỳ thời điểm nào
- Tin nhắn SMS có thể đƣợc gửi tới các điện thoại dù chúng đang bị tắt nguồn
- Ít gây phiền phức trong khi vẫn có thể giữ liên lạc
- Đƣợc sử dụng trên các điện thoại di động khác nhau và có thể gửi cùng mạng hoặc khác mạng đều đƣợc
Các ứng dụng wireless tương thích hoàn hảo với chức năng SMS, được hỗ trợ 100% bởi điện thoại sử dụng công nghệ GSM Người dùng có thể gửi nhạc chuông, hình ảnh và thanh toán cho các dịch vụ trực tuyến để tải nhạc chuông dễ dàng.
1.2.5 Tin nhắn SMS chuỗi Để khắc phục khuyết điểm mang lƣợng giới hạn dữ liệu, một mở rộng mới ra đời đó là SMS chuỗi (SMS dài) Một 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 SMS chuỗi có cơ cấu hoạt động nhƣ sau: điện thoại di động sẽ chia tin nhắn dài ra thành nhiều phần nhỏ và sau đó gửi các
Các tin nhắn SMS được chia thành 23 phần nhỏ Khi tất cả các phần này được gửi đến đích, chúng sẽ được kết hợp lại trên máy di động của người nhận.
Module SIM900A
Module SIM900 là một thiết bị GSM/GPRS nhỏ gọn, đáp ứng nhu cầu toàn cầu Nó hoạt động như một thiết bị đầu cuối với chip xử lý đơn nhân mạnh mẽ, tích hợp các tính năng quan trọng dựa trên vi xử lý ARM926EJ-S.
Giống như điện thoại di động GSM, modem GSM cũng cần một thẻ SIM và mạng không dây để hoạt động Trong số các loại modem GSM, Module SIM900 là một lựa chọn phổ biến, nhưng SIM900A là phiên bản nâng cấp với tốc độ truyền dữ liệu nhanh hơn.
Hình 1.3 Module SIM900A Mini 1.3.2 Cấu trúc Module SIM900A
Hình 2.4 Sơ đồ chân Module SIM900
1.3.3 Các thông số kỹ thuật
+ Dòng tiêu thụ chế độ chờ: 10mA
+ Dòng tiêu thụ khi hoạt động: 100mA ÷ 2A
+ Băng tần hoạt động: GSM 850MHz, EGSM 900MHz, DCS 1800MHz và PCS 1900MHz
Bảng 1.1 Chức năng các chân Module SIM900 [7]
VBAT Cấp nguồn cho module V=3.4÷4.5V, Vnorm=4.0V
BACKUP I/O Nguồn vào cho bộ thời gian thực
CHG_IN I Nguồn cung cấp cho bộ sạc pin
GND Chân nối đất dành cho các ứng dụng số
PWRKEY I Ngõ vào dùng để mở và tắt nguồn chính của module và đƣợc nối với một nút nhấn MIC1P
MIC1N I Ngõ vào của microphone 1
MIC2N I Ngõ vào của microphone 2
SPK1N O Ngõ ra của loa 1
SPK2N O Ngõ ra của loa 2
BUZZER O Ngõ ra dành cho còi báo
AGND Chân nối đất các ứng dụng tương tự
DISP_D0 I/O Ngõ vào ra để kiểm tra đường truyền dữ liệu
DISP_CLK O Ngõ ra kiểm tra xung Clock
DISP_A0 O Ngõ ra kiểm tra dữ liệu và địa chỉ
KCOL0~KCOL4 I/O Các ngõ vào ra dành cho phím bấm
Các ngõ vào ra với mục đích chung
NETLIGHT O Ngõ ra cho biết trạng thái hoạt động của module GSM
STATUS O Ngõ ra cho biết các trạng thái hoạt động của các ứng dụng khác có trong module
GPIO32 I/O Ngõ vào ra dùng chung cho các mục đích khác
DTR I Ngõ vào cho biết giao tiếp đã sẵn sàng
RXD I Ngõ vào nhận dữ liệu,
TXD O Ngõ ra truyền dữ liệu
RTS I Ngõ vào yêu cầu gửi dữ liệu
CTS O Sẵn sàng để gửi dữ liệu
RI O Ngõ ra cho biết trạng thái hoạt động
DCD O Ngõ ra cho biết dữ liệu đã đƣợc gửi đi
Port dùng để sửa lỗi và giao tiếp tập lệnh AT
Các chân dành cho Sim card
VSIM O Nguồn cung cấp cho Sim card
VILmax=0.3* VSIM VIHmin=0.7* VSIM VIHmax= VSIM +0.3 VOLmin=GND VOLmax=0.2V VOHmin= VSIM -0.2 VOHmax= VSIM
AUXADC1 I Ngõ và dành cho mục đích chuyển đổi từ dạng tương tự sang dạng số
TEMP_BAT I Ngõ vào cho biết nhiệt độ của pin
1.3.4 Kết nối với Module SIM900A Để có thể giao tiếp và sử dụng ứng dụng GSM, module SIM900A cần cung cấp một chuẩn giao tiếp nối tiếp
- Bảy đường liên kết trên một Port giao tiếp
- Bao gồm đường truyền dữ liệu RXD và TXD, đường truyền trạng thái RTS và CTS, đường truyền điều khiển DTR, DCD, RING
- Với chuẩn giao tiếp này có thể sử dụng cho CSD FAX, dịch vụ GPRS và gửi lệnh AT Command
Hình 1.5 Chuẩn giao tiếp Sim 900A
Dữ liệu được truyền qua đường TXD và RXD, trạng thái truyền qua đường RTS và CTS Tốc độ baud của giao tiếp nối tiếp: 1200, 2400, 4800, 9600, 19200,
38400, 57600, 115200bps Module có thể tự động lựa chọn tốc độ baud để giao tiếp
Các lệnh AT là hướng dẫn dùng để điều khiển modem, với "AT" là viết tắt của chữ "Attention" Mỗi lệnh bắt đầu bằng "AT", cho phép người dùng tương tác và điều chỉnh các chức năng của modem một cách hiệu quả.
The term "AT" refers to the commands used to control dial-up modems, known as AT commands These commands, such as ATD (Dial), ATA (Answer), ATH (Hang up), and ATO (Return to online data state), are also supported by GSM/GPRS modems, enabling effective communication and management of modem functions.
27 các điện thoại di động
Ngoài bộ lệnh AT phổ biến, các modem GSM/GPRS và điện thoại di động còn được hỗ trợ bởi bộ lệnh AT đặc biệt dành cho công nghệ GSM.
Bài viết này đề cập đến các lệnh SMS quan trọng như AT+CMGS để gửi tin nhắn, AT+CMSS cho phép gửi tin nhắn từ vùng lưu trữ, AT+CMGL để liệt kê các tin nhắn và AT+CMGR dùng để đọc tin nhắn SMS.
: Carriage return (Mã ASCII 0x0D)
: Line Feed (Mã ASCII 0x0A)
MT: Mobile Terminal- Thiết bị đầu cuối mạng
TE: Terminal Equipment- Thiết bị đầu cuối b) Cú pháp
- Khởi đầu lệnh: Tiền tố “AT” hoặc “at”
- Kết thúc lệnh: ký tự
- Lệnh AT thường có một đáp ứng theo sau nó, có cấu trúc:
“”
- Tập lệnh AT có thể chia thành 3 loại cú pháp chính: cú pháp cơ bản, cú pháp tham số S, cú pháp mở rộng
+ Cú pháp cơ bản: “AT” hoặc “AT&”
Đối số của lệnh có thể là một hoặc nhiều, và chúng có thể được tùy chỉnh Nếu lệnh thiếu đối số, hệ thống sẽ thiết lập giá trị mặc định cho các đối số đó.
+ Cú pháp tham số S: “AT=”
Với: : Chỉ số của thanh ghi S đƣợc thiết lập
: Giá trị đặt cho thanh ghi S có thể tùy chỉnh, nếu thiếu, giá trị mặc định sẽ đƣợc đặt cho
+ Cú pháp mở rộng: các lệnh có cú pháp này có thể hoạt động ở nhiều chế độ
Khi kết hợp các lệnh AT trên cùng một dòng, bạn chỉ cần gõ "AT" hoặc "at" một lần ở đầu dòng, sau đó nhập các lệnh còn lại, phân cách bằng dấu chấm phẩy Lưu ý rằng một dòng lệnh chỉ chấp nhận tối đa 256 ký tự; nếu vượt quá số ký tự này, không lệnh nào sẽ được thực thi.
Khi nhập các lệnh AT trên các dòng lệnh khác nhau, cần chú ý rằng giữa các lệnh sẽ có một phản hồi (ví dụ: OK, error, ) Người dùng phải chờ đợi phản hồi này trước khi tiếp tục nhập lệnh AT tiếp theo.
Bảng 1.2 Chế độ lệnh AT Command [6]
Lệnh kiểm tra AT+=? Liệt kê danh sách các tham số của lệnh và các giá trị có thể thiết lập cho tham số
Lệnh đọc AT+? Cho biết giá trị hiện tại của các tham số trong lệnh
Lệnh thiết lập AT+=< > Thiết lập các giá trị cho các tham số của lệnh
Lệnh thực thi AT+ Đọc các tham số bất biến đƣợc tác động bởi các tiến trình bên trong của module
Bảng 1.3 Các lệnh chức năng [6]
AT+CMGD Xóa tin nhắn sms
AT+CMGF Định dạng văn bản tin nhắn
AT+CMGL Danh sách tin nhắn đã lưu
AT+CMGR Lệnh đọc tin nhắn
AT+CMGS Lệnh gửi tin nhắn
AT+CMGW Lưu tin nhắn vào bộ nhớ
AT+CMSS Gửi tin nhắn đã lưu
AT+CMGC Gửi sms lệnh
AT+CNMI MT gửi thông báo khi có tin nhắn mới
AT+CPMS Các tin nhắn riêng biệt được lưu
AT+CRES Cài đặt lại tin nhắn
AT+CSAS Lưu các cài đặt cho tin nhắn
AT+CSCA Địa chỉ dịch vu tin nhắn
AT+CSMP Cài đặt định dạng chữ của tin nhắn
AT+CSMS Lựa chọn tin nhắn dịch vụ
Kết luận chương
Chương 1 đã trình bày tổng quan về mạng thông tin di động GSM từ đó có thể đƣa ra các tiêu chí lựa chọn, đánh giá, sử dụng các dịch vụ triển khai Đặc biệt là quan tâm tới loại hình dịch vụ SMS và cuộc gọi đƣợc sử dụng nhiều trong các thiết bị di động Mô tả cấu trúc của module SIM900A đồng thời cũng là phương tiện giao tiếp để điều khiển hệ thống được thiết kế ở phần chương sau
VI ĐIỀU KHIỂN PIC
Tổng quan về họ vi điều khiển PIC
PIC là dòng vi điều khiển RISC được sản xuất bởi Microchip Technology, nổi bật với khả năng ứng dụng từ đơn giản đến phức tạp Ngoài việc hỗ trợ lập trình bằng ngôn ngữ assembler như các MCU khác, PIC còn cho phép lập trình bằng ngôn ngữ C thông qua các phần mềm hỗ trợ như PIC18C và CCS C.
Dòng vi điều khiển PIC đầu tiên, PIC1650, được phát triển bởi Microelectronics Division thuộc General Instrument, mang ý nghĩa "Programmable Intelligent Computer" (Máy tính khả trình thông minh) và được gọi là "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi) khi được sử dụng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16-bit CP1600 Mặc dù CP1600 là một CPU tốt, nhưng nó gặp khó khăn trong các hoạt động xuất nhập, dẫn đến việc phát triển PIC 8-bit vào khoảng năm 1975 để hỗ trợ chức năng này PIC sử dụng microcode đơn giản trong ROM và mặc dù thuật ngữ RISC chưa được sử dụng vào thời điểm đó, nhưng nó thực sự là một vi điều khiển với kiến trúc RISC, thực hiện một lệnh trong một chu kỳ máy Hiện nay, nhiều dòng PIC đã được phát triển với hàng loạt module ngoại vi tích hợp sẵn, bao gồm USART, PWM, ADC, với bộ nhớ chương trình từ 512 word đến 32K word.
Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhƣng có thể điểm qua một vài đặc tính nổi bật nhƣ sau :
- 8/16 bit CPU, xây dựng theo kiến trúc Harvard có sửa đổi
- Flash và ROM có thể tuỳ chọn từ 256 byte đến 256 Kbyte
- Các cổng Xuất/ Nhập (I/ O) (mức logic thường từ 0V đến 5.5V, ứng với
- Bộ so sánh điện áp
- Các chuẩn giao tiếp nối tiếp đồng bộ/ khung đồng bộ USART, bộ chuyển đổi ADC 10bit
- Các module Capture/ Compare/ PWM LCD
- MSSP Peripheral dựng cho các giao tiếp I2C, SPI
- Bộ nhớ nội EPROM - có thể ghi/ xoá lên tới 1 triệu lần
- Module Điều khiển động cơ, đọc encoder
- Hỗ trợ giao tiếp USB
- Hỗ trợ giao tiếp CAN; Hỗ trợ giao tiếp LIN
- Hỗ trợ giao tiếp IrDA
- Một số dòng có tích hợp bộ RF (PIC16F639 và RFPIC), KEELOQ, mờ hoá và giải mờ
- Tất cả các lệnh là 1chu kỳ ngoại trừ chương trình con là 2 chu kỳ
+ Ngõ vào xung clock: 20MHz
- Độ rộng của bộ nhớ chương trình Flash là 8K x 14word, của bộ nhớ dữ liệu (RAM) là 368 x 8bytes, của bộ nhớ dữ liệu (EPROM) là 256 x 8bytes.[4]
Vi điều khiển PIC16FXX và PIC16F877A
2.2.1 Vi điều khiển PIC16FXX
PIC16F8XX là một nhóm vi điều khiển 8-bit thuộc họ PIC16XX, nổi bật với tính năng tiết kiệm năng lượng, tốc độ phản hồi nhanh và công nghệ chế tạo CMOS, chống tĩnh điện hiệu quả Các vi điều khiển trong dòng PIC16/17 sử dụng kiến trúc RISC, với PIC16CXX có 8 mức ngăn xếp và nhiều nguồn ngắt tích hợp Hệ thống có cấu trúc Harvard với bus dữ liệu và bus thực thi chương trình riêng biệt, cho phép độ dài lệnh 14-bit và bus dữ liệu 8-bit Tất cả các lệnh đều thực hiện trong 1 chu kỳ, ngoại trừ lệnh nhảy mất 2 chu kỳ, với tổng cộng 35 lệnh và nhiều thanh ghi, mang lại hiệu suất cao trong ứng dụng Họ PIC16F8X tích hợp nhiều tính năng đặc biệt giúp giảm thiểu số lượng thiết bị ngoại vi cần thiết.
Hệ thống này có tính kinh tế cao với độ tin cậy nổi bật và mức tiêu thụ năng lượng thấp Chế độ SLEEP giúp tiết kiệm nguồn và có khả năng được khôi phục bởi các nguồn reset.
PIC16F877A có 40/44 chân với sự phân chia cấu trúc nhƣ sau:
- Có 8 kênh chuyển đổi A/D 10-bit
- Có 3 bộ định thời: Timer0, timer1 và timer2
- Có giao tiếp truyền nối tiếp: chuẩn RS232, I2C… a) Sơ đồ chân PIC16F877A
Hình 2.1 Sơ đồ chân của vi điều khiển PIC16F877A[5]
Hình 2.2 Vi điều khiển PIC16F877A dạng DIP
Bảng 2.1 Chức năng các chân của PIC16F877A[5]
1 MCLR/VPP - : Hoạt động Reset ở mức thấp
- VPP : ngõ vào áp lập trình
2 RA0/AN0 - RA0 : xuất/nhập số
- AN0 : ngõ vào tương tự
3 RA1/AN1 - RA1 : xuất/nhập số
- AN1 : ngõ vào tương tự
- AN2 : ngõ vào tương tự
- VREF -: ngõ vào điện áp chuẩn (thấp) của bộ A/D
5 RA3/AN3/VREF+ - RA3 : xuất/nhập số
- AN3 : ngõ vào tương tự
- VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D
- TOCKI : ngõ vào xung clock bên ngoài cho timer0
- C1 OUT : Ngõ ra bộ so sánh 1
- AN4 : ngõ vào tương tự 4
- SS : ngõ vào chọn lựa SPI phụ
- C2 OUT : ngõ ra bộ so sánh 2
- RD : điều khiển việc đọc ở port nhánh song song
- AN5 : ngõ vào tương tự
- WR : điều khiển việc ghi ở port nhánh song song
- AN6 : ngõ vào tương tự
- CS : Chip lựa chọn sự điều khiển ở port nhánh song song
- AN7 : ngõ vào tương tự
11 VDD Chân nguồn của PIC
Ngõ vào dao động nội hoặc xung clock bên ngoài
- OSC1 : ngõ vào dao động thạch anh hoặc xung clock bên ngoài Ngõ vào Schmit trigger khi đƣợc cấu tạo ở chế độ RC, một cách khác của CMOS
- CLKI : ngõ vào nguồn xung bên ngoài Luôn đƣợc kết hợp với chức năng OSC1
Ngõ vào dao động thạch anh hoặc xung clock
- OSC2 : Ngõ ra dao động thạch anh Kết nối đến thạch anh hoặc bộ cộng hưởng
- CLKO : ở chế độ RC, ngõ ra của OSC2, bằng tần số của OSC1 và chỉ ra tốc độ của chu kỳ lệnh
15 RC0/T1OCO/T1CKI - RC0 : xuất/nhập số
- T1OCO : ngõ vào bộ dao động Timer 1
- T1CKI : ngõ vào xung clock bên ngoài Timer 1
- T1OSI : ngõ vào bộ dao động Timer 1
- CCP2 : ngõ vào Capture 2, ngõ ra compare 2, ngõ ra PWM2
- CCP1 : ngõ vào Capture 1, ngõ ra compare 1, ngõ ra PWM1
- SCK : ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI
- SCL : ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ I2C
19 RD0/PSP0 - RD0 : xuất/nhập số
- PSP0 : dữ liệu port nhánh song song
20 RD1/PSP1 - RD1 : xuất/nhập số
- PSP1 : dữ liệu port nhánh song song
21 RD2/PSP2 - RD2 : xuất/nhập số
- PSP2 : dữ liệu port nhánh song song
22 RD3/PSP3 - RD3: xuất/nhập số
- PSP3 : dữ liệu port nhánh song song
- SDI : dữ liệu vào SPI
- SDA : xuất/nhập dữ liệu vào I2C
24 RC5/SDO - RC5 : xuất/nhập số
- SDO : dữ liệu ra SPI
- TX : truyền bất đồng bộ USART
- CK : xung đồng bộ USART
- RX : nhận bất đồng USART
- DT : dữ liệu đồng bộ USART
27 RD4/PSP - RD4: xuất/nhập số
- PSP4 : dữ liệu port nhánh song song
28 RD5/PSP5 - RD5: xuất/nhập số
- PSP5 : dữ liệu port nhánh song song
29 RD6/PSP6 - RD6: xuất/nhập số
- PSP6 : dữ liệu port nhánh song song
30 RD7/PSP7 - RD7: xuất/nhập số
- PSP7 : dữ liệu port nhánh song song
32 VDD Chân nguồn của PIC
33 RB0/INT - RB0: xuất/nhập số
36 RB3 - RB3: xuất/nhập số
- Chân cho phép lập trình điện áp thấp ICPS
- PGC: mạch vi sai và xung clock lập trình ICSP
- PGD: mạch vi sai và dữ liệu lập trình ICSP
- Ngắt PortB b) Sơ đồ khối vi điều khiển PIC16F877A [5]
Hình 2.3 Sơ đồ khối cấu trúc bên trong của PIC16F877A[5]
Cấu trúc khối vi điều khiển PIC16F877A bao gồm các khối chính:
- Khối ALU – Arithmetic Logic Unit
- Khối bộ nhớ chứa chương trình – Flash Program Memory
- Khối bộ nhớ chứa dữ liệu EEPROM – Data EEPROM
- Khối bộ nhớ file thanh ghi RAM – RAM file Register
- Khối thanh ghi đặt biệt
- Khối giao tiếp, khối chuyển đổi ADC
- Khối các Port xuất nhập c) Các thông số kỹ thuật [5] Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài
Bài viết đề cập đến một hệ thống vi điều khiển với độ phân giải 14 bit, nơi mỗi lệnh được thực thi trong một chu kỳ xung clock Tốc độ tối đa đạt được là 20 MHz, tương ứng với chu kỳ lệnh 200ns Hệ thống có bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu RAM 368x8 byte và bộ nhớ EEPROM 256x8 byte, cùng với 5 PORT tương ứng với 33 chân.
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
Timer1 là một bộ đếm 16 bit tích hợp bộ chia tần số, cho phép thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay cả khi vi điều khiển đang hoạt động ở chế độ sleep.
- Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler Hai bộ Capture/ so sánh/ điều chế độ rộng xung
- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
- Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển
RD, WR, CS ở bên ngoài
- Các đặc tính Analog: 8 kênh chuyển đổi ADC 10 bit Hai bộ so sánh
- Bộ nhớ flash với khả năng ghi xóa đƣợc 100.000 lần
- Bộ nhớ EEPROM với khả năng ghi xóa đƣợc 1.000.000 lần
- Dữ liệu bộ nhớ EEPROM, có 256 byte (có địa chỉ 00h÷FFh), có thể lưu trữ trên 40 năm
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm
- Watchdog Timer với bộ dao động trong Chức năng bảo mật mã chương trình Chế độ Sleep
- Có thể hoạt động với nhiều dạng Oscillator khác nhau
PIC 16F877A bao gồm 3 loại bộ nhớ: bộ nhớ chương trình (Program Memory), bộ nhớ dữ liệu RAM và bộ nhớ dữ liệu EEPROM
PIC có kiến trúc bộ nhớ dạng Harvard, một kiến trúc cải tiến so với kiến trúc Von Neumann
Kiến trúc Von Neumann sử dụng một bus dữ liệu 8 bit để kết nối bộ nhớ với CPU, trong đó bộ nhớ chứa các ô nhớ 8 bit, đồng thời lưu trữ cả chương trình và dữ liệu.
- Ƣu điểm: kiến trúc đơn giản
- Nhƣợc điểm: do chỉ có 1 bus nên tốc độ truy suất chậm, khó thay đổi dung lượng lưu trữ của ô nhớ
Kiến trúc Harvard tách bộ nhớ thành hai loại độc lập: bộ nhớ lưu chương trình và bộ nhớ lưu dữ liệu, yêu cầu hai bus riêng biệt để CPU giao tiếp Sự độc lập này cho phép thay đổi số bit lưu trữ của từng bộ nhớ mà không ảnh hưởng đến nhau Cụ thể, trong kiến trúc này, bộ nhớ chương trình có mỗi ô lưu trữ 14 bit, trong khi bộ nhớ dữ liệu có mỗi ô lưu trữ 8 bit.
- Ƣu điểm: do chỉ có 2 bus nên tốc độ truy xuất nhanh, thay đổi số bit của ô nhớ
- Khuyết điểm: kiến trúc phức tạp
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash với dung lượng 8K word (1 word = 14 bit), được chia thành nhiều trang từ page 0 đến page 3 Điều này cho phép bộ nhớ chương trình lưu trữ tối đa 8*1024 = 8192 lệnh, vì mỗi lệnh mã hóa chiếm 1 word (14 bit).
Hình 2.5 Bộ nhớ chương trình của PIC16F877A [5]
Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình Khi vi điều khiển được reset, bộ đếm chương trình sẽ trỏ đến địa chỉ 0000h (Reset vector), trong khi khi có ngắt xảy ra, nó sẽ chỉ đến địa chỉ 0004h (Interrupt vector).
Bộ nhớ dữ liệu của PIC16F877A là bộ nhớ EEPROM, được chia thành 4 bank, mỗi bank có dung lượng riêng biệt.
Bộ nhớ 128 byte bao gồm các thanh ghi chức năng đặc biệt SFG ở các địa chỉ thấp và thanh ghi mục đích chung GPR ở các địa chỉ còn lại Các thanh ghi SFR thường xuyên sử dụng được đặt ở tất cả các bank của bộ nhớ dữ liệu, giúp việc truy xuất trở nên thuận tiện hơn và giảm bớt số lượng lệnh trong chương trình.
Hình 2.6 Bộ nhớ dữ liệu của PIC16F877A [5] e) Cổng xuất nhập dữ liệu
PORTA bao gồm 6 chân I/O hai chiều, cho phép cả xuất và nhập dữ liệu Chức năng I/O của các chân này được điều khiển bởi thanh ghi TRISA tại địa chỉ 85h Để thiết lập một chân trong PORTA là input, cần "set" bit điều khiển tương ứng trong TRISA; ngược lại, để thiết lập chân đó là output, ta "clear" bit tương ứng trong TRISA Quy trình này cũng áp dụng tương tự cho các PORT khác và các thanh ghi điều khiển tương ứng, như TRISB cho PORTB, TRISC cho PORTC, và TRISD cho PORTD.
TRISD và đối với PORTF là TRISE) Ngoài ra, PORTA còn có các chức năng quan trọng sau:
- Ngõ vào Analog của bộ ADC thực hiện chức năng chuyển từ dữ liệu từ tín hiệu Analog sang tín hiệu Digital
- Ngõ vào điện thế so sánh
- Ngõ vào xung Clock của Timer0 trong kiến trúc phần cứng thực hiện các nhiệm vụ đếm xung thông qua Timer0…
- Ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port)
Các thanh ghi SFR liên quan đến PORTA bao gồm:
- PORTA (địa chỉ 05h): chứa các giá trị pin trong PORTA
- TRISA (địa chỉ 85h) : điều khiển xuất nhập
- CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh
- CVRCON (địa chỉ 9Dh): thanh ghi điều khiển bộ so sánh điện áp
- ADCON1 (địa chỉ 9Fh): thanh ghi điều khiển bộ ADC
PORTB: bao gồm 8 chân I/O và thanh ghi điều khiển xuất nhập tương ứng là
PORTB không chỉ được sử dụng cho việc nạp chương trình vi điều khiển với các chế độ khác nhau, mà còn liên quan đến ngắt ngoại vi và bộ Timer0 Ngoài ra, PORTB tích hợp chức năng điện trở kéo lên, có thể được điều khiển thông qua chương trình Các thanh ghi SFR liên quan đến PORTB cũng rất quan trọng trong quá trình hoạt động của nó.
- PORTB (địa chỉ 06h, 106h): chứa giá trị pin trong PORTB
- TRISB (địa chỉ 86h, 186h): điều khiển xuất nhập
- OPTION_REG (địa chỉ 81h, 181h): điều khiển ngắt ngoại vi bộ Timer0
PORTC có 8 chân, thực hiện chức năng input và output dưới sự điều khiển của thanh ghi TRISC Ngoài ra, PORTC còn đảm nhận những chức năng quan trọng khác.
- Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng
- Bộ PWM thực hiện chức năng điều xung lập trình đƣợc tần số, duty cycle: sử dụng trong điều khiển tốc dộ và vị trí động cơ v.v…
- Tích hợp các bộ giao tiếp nối tiếp 12C, SPI, USART
PORTD có 8 chân và sử dụng thanh ghi TRISD để điều khiển chức năng input và output Tương tự như các cổng khác, PORTD cũng đóng vai trò là cổng xuất dữ liệu cho chuẩn giao tiếp song song PSP (Parallel Slave Port) Các thanh ghi liên quan đến PORTD rất quan trọng trong việc quản lý và điều khiển hoạt động của cổng này.
- Thanh ghi PORTD: chứa giá trị các pin trong PORTD
- Thanh ghi TRISD: điều khiển xuất nhập
- Thanh ghi TRISE: điều khiển xuất nhập PORTE và chuẩn giao tiếp PSP
PORTE: gồm có 3 chân, thanh ghi điều khiển xuất nhập tương ứng là TRISE
Chân PORTE có ngõ vào analog và đồng thời là chân điều khiển cho chuẩn giao tiếp PSP Các thanh ghi liên quan đến chân PORTE cũng rất quan trọng.
- PORTE: chứa giá trị các chân trong PORTE
- TRISE: điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP
- ADCON1: thanh ghi điều khiển khối ADC f) Các thanh ghi đặc biệt
- Thanh ghi FSR và INDF
Hình 2.7 Sơ đồ thanh ghi FSR [5]
Thanh ghi FSR chứa địa chỉ “con trỏ” chỉ đến, thanh ghi INDF chứa nội dung có địa chỉ nằm trong thanh ghi FSR
Thanh ghi INDF không phải là một thanh ghi vật lí Nó chứa giá trị của thanh ghi có địa chỉ nằm ở thanh ghi FSR
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 IRP: đây là bit lựa chọn bank thanh ghi đƣợc sử dụng cho định địa chỉ gián tiếp
- Bit RP1, RP0: là bit lựa chọn bank thanh ghi, sử dụng trong định địa chỉ trực tiếp
- Bit TO: Bit báo hiệu hoạt động của WDT
- Bit 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
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
1: có một số nhớ 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 C: Cờ nhớ (Carry Flag)/ borrow
1: có một số nhớ sinh ra bởi phép cộng hoặc phép trừ 4 bit cao
0: không có số nhớ sinh ra
- Thanh ghi điều khiển ngắt INTCON:
Hình 2.9 Thanh ghi điều khiển ngắt INTCON [5]
- Bit GIE: bit cho phép ngắt toàn cục
1: cho phép ngắt toàn cục
- Bit 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ông cho phép ngắt ghi vào EEPROM hoạt động
- Bit 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 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 RBIE: cho phép ngắt khi trạng thái PORTB thay đổi
1: cho phép ngắt khi thay đổi trạng thái
0: không cho phép khi thay đổi trạng thái
- Bit TMR0IF: cờ báo ngắt Timer 0
- Bit INTF: cờ báo ngắt ngoài RB0/INT
- Bit RBIF: cờ báo ngắt khi có thay đổi trạng thái PORTB
0: không có thay đổi xảy ra trên PORTB
Ngoài ra còn một số thanh ghi chức năng khác nhƣ:
- Thanh ghi PIE1: địa chỉ 8Ch, thanh ghi này chứa các bit điều khiển chi tiết các ngắt của các khối chức năng ngoại vi
Kết luận chương
Chương 2 giới thiệu chi tiết về đặc điểm và cấu trúc của họ vi điều khiển PIC16F8XX nói chung và PIC16F877A nói riêng, lập trình vi điều khiển, cách thức giao tiếp giữa vi điều khiển với các module
NGHIÊN CỨU, THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ TỪ XA THÔNG QUA SMS VÀ CUỘC GỌI
Yêu cầu thiết kế
Thiết kế mô hình nhỏ để điều khiển 4 thiết bị điện là bước đầu quan trọng, từ đó có thể mở rộng thành một hệ thống lớn hơn Mô hình này cần được xây dựng chi tiết, đảm bảo tính khả thi và hiệu quả trong việc quản lý và điều khiển các thiết bị điện.
- Thiết kế hệ thống điểu khiển 4 thiết bị thông qua tin nhắn và cuộc gọi từ SIM của điện thoại di động
- Sau khi nhận và thực thi lệnh, gửi lại báo cáo tình trạng cho bên máy điện thoại di động
- Hiển thị các trạng thái hoạt động thiết bị lên màn hình LCD.
Thiết kế hệ thống điều khiển
3.2.1 Sơ đồ khối hệ thống điều khiển
Hình 3.1 Sơ đồ khối hệ thống điều khiển thiết bị qua SMS và cuộc gọi
Hệ thống điều khiển thiết bị điện qua tin nhắn SMS và cuộc gọi bao gồm các khối chính:
- Khối nguồn: tạo điện áp 5V cung cấp cho các khối chức năng hoạt động
- Khối vi điều khiển PIC16F877A: khối trung tâm thực thi tất cả các lệnh
- Khối hiển thị LCD: hiển thị các trạng thái hoạt động của Module SIM900A
- Khối Module SIM900A: nhận và thực thi các lệnh điều khiển
- Khối công suất: sử dụng relay để đóng ngắt tải đầu ra cấp cho thiết bị điện
3.2.2 Sơ đồ nguyên lý hệ thống điều khiển
Hình 3.2 Sơ đồ nguyên lý hệ thống điều khiển a) Khối hiển thị LCD
Hình 3.3 Nguyên lý khối hiển thị LCD
Khối mạch LCD hoạt động với điện áp 5VDC và giao tiếp dữ liệu theo kiểu 4bit với vi điều khiển PIC16F877A, nhằm hiển thị các trạng thái hoạt động của module SIM900A.
Bảng 3.1 Sơ đồ kết nối chân LCD 1602 và PIC16F877A
Để điều chỉnh độ tương phản của màn hình LCD, cần thêm một biến trở tinh chỉnh RVkΩ Ngoài ra, trong khối Module Relay, chúng ta sử dụng 4 Relay 5V-10A với mức logic cao (mức 1).
Khi chân vi điều khiển ở mức logic thấp (0), transistor NPN không mở, dẫn đến relay không kích hoạt, giữ cặp tiếp điểm ở trạng thái NC (No Close), do đó thiết bị điện không hoạt động.
Ở mức logic cao (mức 1), transistor sẽ mở, làm cho relay đóng lại, dẫn đến việc hai cặp tiếp điểm kết nối với nhau Kết quả là đường truyền giữa các thiết bị điện được nối thông và hoạt động hiệu quả.
Do dòng ra của các vi điều khiển thường không đủ để kích hoạt Relay, chúng ta sử dụng Transistor C1815 để điều chỉnh dòng điện cho Relay Đồng thời, một đèn LED được kết nối để báo trạng thái của Module Trong trường hợp này, Relay sử dụng là loại 5V-10A như hình 3.5.
Với các thông số ở trên thì:
+ 10A 250VAC: cường độ dòng điện tối đa qua các tiếp điểm của Relay với hiệu điện thế ≤250VAC tối đa là 10A
+ 10A 30VDC: cường độ dòng điện tối đa qua các tiếp điểm của Relay với hiệu điện thế ≤30VDC tối đa là 10A
+ 10A 125VAC: cường độ dòng điện tối đa qua các tiếp điểm của Relay với hiệu điện thế ≤125VAC tối đa là 10A
+ 10A 28VDC: cường độ dòng điện tối đa qua các tiếp điểm của Relay với hiệu điện thế ≤28VDC tối đa là 10A
+ SRD-05VDC-SL-C: hiệu điện thế kích tối ƣu là 5VDC
Khi điều khiển các thiết bị có công suất lớn, cần sử dụng Relay có công suất cao hơn hoặc các thiết bị công suất chuyên dụng tương tự như Relay để đảm bảo hiệu quả và an toàn.
3.2.3 Lập trình phần mềm a) Nguyên lý hoạt động của hệ thống điều khiển
Khi hệ thống khởi động, nó sẽ tự động gửi một tin nhắn SMS đến số điện thoại đã được cài đặt để thông báo rằng hệ thống đã sẵn sàng hoạt động Mặc định, tất cả các trạng thái ngõ ra đều ở mức thấp, dẫn đến việc các relay không được kích hoạt và tất cả các thiết bị sẽ không hoạt động.
Thông qua thiết bị di động, chúng ta có thể gửi các bản tin SMS điều khiển đến Module SIM900A, cho phép hệ thống nhận và thực hiện yêu cầu Đồng thời, hệ thống cũng sẽ gửi lại bản tin hồi đáp để thông báo trạng thái hoạt động của các thiết bị điện.
- Điều khiển cùng lúc tất cả các thiết bị ta gửi lệnh yêu cầu:
+ “BATHET”: tất cả các thiết bị sẽ đƣợc bật
+ “TATHET”: tất cả các thiết bị sẽ đƣợc tắt
- Điều khiển độc lập từng thiết bị ta gửi lệnh yêu cầu:
+ “BATx”: thiết bị số “x” đƣợc bật lên
+ “TATx”: thiết bị số “x” đƣợc tắt đi
- Kiểm tra trạng thái hoạt động các thiết bị ta sẽ gửi lệnh yêu cầu: “KT”
Để đảm bảo sự đơn giản và thuận tiện, tất cả các lệnh gửi trong hệ thống không phân biệt giữa ký tự in hoa và in thường, chỉ cần tuân thủ đúng cú pháp nội dung.
Hình 3.6 Lưu đồ thuật toán hệ thống
Chế tạo hệ thống thử nghiệm
3.3.1 Mô phỏng hệ thống điều khiển thử nghiệm
Sau khi nghiên cứu cấu trúc và nguyên lý hoạt động của các linh kiện cần thiết, chúng tôi đã lựa chọn các linh kiện phù hợp trên phần mềm Proteus Tiếp theo, chúng tôi tiến hành sắp xếp và bố trí các linh kiện, thực hiện kỹ thuật đi dây và phủ đồng, từ đó tạo ra mạch in cho các khối chức năng như thể hiện trong hình 3.7.
Hình 3.7 Mạch in các khối chức năng
Sau khi hoàn thiện mạch in, chúng ta sẽ tạo ra sơ đồ bố trí linh kiện để hỗ trợ quá trình lắp ráp và hàn linh kiện trên mạch thực tế, nhằm giảm thiểu sai sót có thể dẫn đến mạch không hoạt động hoặc gây cháy linh kiện Sơ đồ bố trí này thể hiện các khối chức năng và được mô tả ở hình 3.8.
Hình 3.8 Sơ đồ bố trí linh kiện các khối chức năng
Để dễ dàng lắp đặt và hình dung mạch điện trên thực tế, chúng ta có thể mô phỏng mạch dưới dạng 3D bằng phần mềm, như thể hiện trong hình 3.9.
Hình 3.9 Sơ đồ 3D các khối chức năng hệ thống
Qua quá trình thực hiện mô phỏng trên phần mềm proteus Ta tiến hành làm mạch thực tế Kết quả mạch hoàn thiện đƣợc biểu diễn ở hình 3.10
Hình 3.10 Hệ thống mạch thực tế 3.3.2 Khảo sát hoạt động của mạch thực tế
Sau khi lắp đặt hệ thống vào các thiết bị như bóng đèn, quạt điện và tivi, chúng tôi đã tiến hành khảo sát và nhận thấy hệ thống hoạt động hiệu quả, đóng ngắt theo lệnh một cách ổn định và nhanh chóng Sản phẩm không chỉ có giá thành thấp mà còn khắc phục được một số nhược điểm của các hệ thống khác, đặc biệt về khoảng cách và độ ổn định.
Kết luận chương
Trong chương 3, chúng tôi đã thiết kế và hoàn thiện sản phẩm hệ thống điều khiển từ xa Sau khi hoàn tất, chúng tôi đã tiến hành kiểm tra hoạt động của mạch, và sản phẩm cho thấy hiệu suất ổn định, nhanh chóng đáp ứng các yêu cầu xử lý.