MỤC LỤC
1
LỜI MỞ ĐẦU
1. Đặt vấn đề.
Ngày nay có lẽ khí gas chắc không còn xa lạ với mọi nhà bởi nó rất hữu ích giúp
ta ở hầu hết mọi hoạt động từ nấu nướng ở gia đình đến áp dụng nhiều trong các dây
chuyền sản xuất trong công nghiệp…Nhưng khi sử dụng nó cũng tồn tại các mối nguy
hiểm như: có rò rỉ ta không phát hiện kịp thời mà tiếp xúc và vô tình ngửi phải sẽ ảnh
hưởng lớn đến sức khỏe, tín mạng. Thậm chí, khi có tia lửa trong vùng không gian tồn
tại khí gas sẽ gây ra cháy nổ.
Chính vì tồn tại những rủi ro hết sức nguy hiểm đó nên nhóm chúng em đã chọn
và nghiên cứu một giải pháp đề phòng tránh đó là “Nghiên cứu và thiết kế giải pháp
cho thiết bị giám sát và cảnh báo sớm đối với nguy cơ rò rỉ khí gas trong môi trường
phòng kín” thông minh. Hệ thống sẽ gồm nhiều bộ sử dụng cảm biến khí gas và đặt ở
vị trí có nguy cơ rò rỉ để thu thập tình trạng rò rỉ khí gas ở nơi đó. Khi có nguy hiểm sẽ
gửi tín hiệu bằng sóng vô tuyến về bộ xử lí trung tâm để bộ xử lí trung tâm điều khiển
gửi tín nhắn, gọi điện đến chủ nhà hay phòng bảo vệ để báo động có rò rỉ khí gas và cụ
thể là nơi nào. Nhờ đó họ sẽ có biện pháp xử lí kịp thời. Bên cạnh đó, hệ thống còi báo
động trong toàn hệ thống cũng sẽ báo động và hiển thị thông tin nơi rò rỉ lên màn hình
LCD để mọi đang có ý định đi đến hoặc đi ngang khu vực nguy hiểm đó tránh xa.
Không dừng lại ở đó hệ thống còn được kết nối với internet và đưa dữ liệu liệu lên
web giúp ta có thể giám sát từ xa.
2. Mục đích nghiên cứu.
Với đề tài: “Nghiên cứu và thiết kế giải pháp cho thiết bị giám sát và cảnh báo
sớm đối với nguy cơ rò rỉ khí gas trong môi trường phòng kín” nhằm phát hiện và
phòng ngừa sớm nguy cơ cháy nổ do hiện tưởng rò rỉ khí gas tại những vị trí quan
trọng. Thiết bị có thể báo động tại chỗ qua hệ thống còi và đèn báo động, đồng thời
báo động từ xa qua cuộc gọi và tin nhắn thoại. Do vậy, chúng ta có thể giám sát được
từ xa để ngăn ngừa sớm hậu quả xảy ra.
3. Mục tiêu nghiên cứu.
-
Thu thập dữ liệu nồng độ khí gas hiển thị lên LCD.
1
2
-
Khi một khu vực phát hiện khí gas bị rò rỉ, cả hệ thống đều báo động và hiển
thị lên LCD.
-
Điều khiển còi và đèn báo động khi phát hiện rò rỉ khí gas nguy hiểm.
-
Báo nguy hiểm thông qua gọi điện và tin nhắn điện thoại.
4. Nội dung nghiên cứu.
-
Xác định mục tiêu và giới hạn đề tài.
-
Tìm hiểu cơ sở lý thuyết.
-
Thiết kế khối cảm biến, khối hiển thị, khối báo động tại chỗ, khối báo động
qua tin nhắn.
-
Viết code cho Arduino Uno R3.
-
Thiết kế hộp bảo vệ cho board mạch.
-
Lắp ráp các board mạch, cảm biến vào hộp bảo vệ.
-
Chỉnh sửa các lỗi điều khiển, lỗi lập trình và lỗi của các thiết bị.
-
Chạy thử nghiệm hệ thống.
-
Cân chỉnh hệ thống.
-
Viết báo cáo.
-
Báo cáo đề tài.
5. Phương pháp nghiên cứu.
Phương pháp nghiên cứu tài liệu: Tìm kiếm, thu thập tài liệu liên quan trên mạng
Internet, thư viện, từ đó trích lọc những thông tin cần thiết phục vụ cho thực hiện đề
tài.
Phương pháp phân tích và tổng hợp lý thuyết: Phân tích, nghiên cứu các tư liệu, tài
liệu, lý luận từ nhiều nguồn, phân tích chúng thành từng bộ phận để tìm hiểu sâu sắc
về thiết bị. Tổng hợp, liên kết từng mặt, từng bộ phận thông tin đã được phân tích tạo
ra một hệ thống lý thuyết mới đầy đủ, sâu sắc và thể hiện bằng mô phỏng trên phần
mềm để trình bày vào báo cáo.
Phương pháp chuyên gia: Tham khảo các ý kiến của giáo viên hướng dẫn, các
thầy cô có kinh nghiệm để hoàn thiện báo cáo.
Phương pháp thực nghiệm: Cho ra sản phẩm thiết bị.
6. Bố cục.
1
3
Với đề tài: “Nghiên cứu và thiết kế giải pháp cho thiết bị giám sát và cảnh báo sớm
đối với nguy cơ rò rỉ khí gas trong môi trường phòng kín” thì bố cục đồ án như sau:
•
Chương 1: Cơ Sở Lý Thuyết.
Chương này trình bày giới thiệu lý thuyết phần cứng của hệ thống, các chuẩn
giao tiếp trong quá trình truyền – nhận dữ liệu.
•
Chương 2: Thiết Kế Thiết Bị Và Giải Thuật Phần Mềm.
Chương này trình bày về trình bày về nguyên lý thiết kế ứng dụng, các tham số,
chức năng cần phải đạt được của ứng dụng. Vẽ sơ đồ khối, sơ đồ nguyên lý mạch kết
nối phần cứng. Trình bày thuật toán thực hiện chương trình vi điều khiển.
•
Chương 3: Kết Quả Của Đề Tài.
Chương này trình bày kết quả đạt được của sản phẩm: kết quả mô phỏng, hoặc
kết quả chạy trên bảng mạch thật, trình bày hướng ứng dụng của đề tài vào các sản
phẩm có trong thực tế, ưu nhược điểm của mạch thiết kế.
Chương 4: Kết Luận và Hướng Phát Triển.
Chương này trình bày những kết quả mà đề tài đạt được, đồng thời đưa ra hướng
phát triển để có được một đề tài hoàn thiện và đáp ứng được nhu cầu cho cuộc sống
hiện đại như ngày nay.
1
4
Chương 1. CƠ SỞ LÝ THUYẾT
1.1 GIỚI THIỆU
Trong chương này là các lý thuyết có liên quan đến các vấn đề mà đề tài sẽ dùng
để thực hiện thiết kế, thi công cho đề tài.
1.2 GIỚI THIỆU PHẦN CỨNG
-
Thiết bị đầu vào: Module cảm biến khí MQ-2.
-
Thiết bị đầu ra: LCD 16x2,
-
Thiết bị vừa là thiết bị đầu vào vừa là thiết bị đầu ra: Module Sim900a mini
V3.8.2
-
Thiết bị điều khiển trung tâm: Arduino Uno R3.
-
Chuẩn truyền thông: SPI, UART.
- Thiết bị giám sát: Điện thoại có mạng viễn thông.
1.2.1 Bộ điều khiển trung tâm
Trên thị trường có rất nhiều vi điều khiển để xử lý hệ thống như: vi điều khiển
hãng Microchip (tiêu biểu PIC 16F887, 18F4550, vi điều khiển hãng ATMEL
(AT89C52), RASPBERRY PI, ARDUINO.
Với đề tài này nhóm đang thực hiện chúng em lựa chọn bộ điều khiển trung tâm là
Arduino Uno R3,
• Giới thiệu về Arduino Uno R3
Arduino Uno R3 là một board điều khiển phù hợp nhất cho những người mới bắt
đầu sử dụng vi xử lí ATmega328. Nó có 14 đầu vào / đầu ra số (trong đó 6 chân có thể
được sử dụng làm đầu ra PWM), 6 đầu vào analog, một thạch anh thạch anh 16 MHz,
một kết nối USB, một jack cắm điện, một đầu ICSP và một nút reset. Nó chứa mọi thứ
cần thiết để hỗ trợ vi điều khiển; chỉ đơn giản kết nối nó với một máy tính bằng cáp
USB hoặc sử dụng nó với một bộ chuyển đổi AC sang DC hoặc pin để bắt đầu. Bạn có
thể làm việc với UNO mà không phải lo lắng quá nhiều về việc làm sai, kịch bản xấu
nhất bạn có thể gặp là thay thế chip với một vài đô la và bắt đầu lại.
5
Hình 1.1: Hình ảnh thực tế Arduino Uno R3
• Thông số kỹ thuật Arduino Uno R3
▪ Vi xử lý: Atmega328
▪ Điện áp hoạt động: 5V
▪ Điện áp đầu vào: 7-12V
▪ Điện áp đầu vào (Giới hạn): 6-20V
▪ Chân vào/ra (I/O) số: 14 (6 chân có thể cho đầu ra PWM)
▪ Chân vào tương tự: 6
▪ Chân I/O số PWM: 6
▪ Dòng điện trong mỗi chân I/O: 20mA
▪ Dòng điện chân nguồn 3.3V: 50mA
▪ Bộ nhớ Flash: 32 KB (ATmega328) với 0.5 KB sử dụng cho trình nạp khởi
động.
▪ SRAM: 2 KB (ATmega328)
▪ EEPROM: 1 KB (ATmega328)
▪ Xung nhịp: 16MHz
▪ SRAM: 8KB
▪ EEPROM: 4KB
▪ Xung nhịp: 16 MHz
6
• Các thành phần chức năng chính của Arduino Uno R3
Hình 1.2: Các thành phần chức năng của Arduino Uno R3
USB Connector:
Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp USB chúng ta có
thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cho
Arduino.
Power Jack:
Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoài
thông qua jack cắm 2.1mm (cực dương ở giữa) hoặc có thể sử dụng 2 chân V in và
GND để cấp nguồn cho Arduino.
Board mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 12 volt. Chúng ta có thể cấp
một áp lớn hơn tuy nhiên chân 5V sẽ có mức điện áp lớn hơn 5 volt. Và nếu sử dụng
nguồn lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng board mạch.
Khuyết cáo nên dùng nguồn ổn định từ 5 đến dưới 12 volt.
Chân 5V và chân 3.3V (Output voltage): các chân này dùng để lấy nguồn ra từ
nguồn mà chúng ta đã cung cấp cho Arduino. Lưu ý: không được cấp nguồn vào các
chân này vì sẽ làm hỏng Arduino.
GND: chân mass.
Chip ATmega328, Chip ATmega2560:
Chip ATmega328 có 32KB bộ nhớ flash trong đó 0.5 KB sử dụng cho trình nạp khởi
động.
7
Chip ATmega2560 có 256KB bộ nhớ flash trong đó 8KB sử dụng cho trình nạp
khởi động
Digital I/O pins:
Arduino UNO có 14 chân digital, Arduino Mega 2560 có 54 chân digital với chức
năng input và output sử dụng các hàm pinMode(), digitalWrite() và
digitalRead() để điều khiển các chân.
Cũng trên 14 chân digital của Uno và 54 chân digital của Mega này chúng ta còn một
số chân chức năng đó là: Serial: 0 và 1. Dùng để truyền (Tx) và nhận (Rx) dữ liệu nối
tiếp TTL. Chúng ta có thể sử dụng nó để giao tiếp với cổng COM của một số thiết bị
hoặc các linh kiện có chuẩn giao tiếp nối tiếp.
PWM (pulse width modulation): 6 chân PWM trên board mạch Uno và 16 chân PWM
trên board mạch Mega. Các chân PWM giúp chúng ta có thể sử dụng nó để điều khiển
tốc độ động cơ, độ sáng của đèn…
Reset button: Dùng để reset Arduino.
• Một số ứng dụng cơ bản của Arduino
Trong công nghiệp
Arduino là trung tâm của bộ xử lí nên được dùng làm bộ nhớ trung tâm trong các hệ
thống điều khiển tự động như băng chuyền, hệ thống đếm hàng, hệ thống tự động đóng
chai trong các nhà máy nước ngọt….
Hình 1.3: Hệ thống đếm hàng tự động sử dụng Arduino
Nhỏ gọn, đơn giản nhưng nhiều Arduino có thể kết hợp lại với nhau tạo nên
nhưng hệ thống lớn như nhà máy điện mặt trời, các robot công nghiệp…
8
Hình 1.4: Máy in 3D sử dụng công nghệ Arduino
Trong dân dụng
Arduino được biết đến như là một thiết bị nhỏ gọn, rẻ và dễ dàng tương tác nên
được sử dụng rất nhiều trong dân dụng.
Các hệ thống điều khiển các thiết bị từ xa, hệ thống chống trộm, ngôi nhà thông
minh… Tất cả đề thân thiện và dễ dàng sử dụng.
Với giá thành rẻ và dễ dàng lắp đặt, ngày càng có nhiều sản phẩm được hoàn
thiện trong lĩnh vực này.
Hình 1.5: Hệ thống nhà thông minh sử dụng Arduino
Trong học tập
Với ưu điểm giá rẻ và mã nguồn mở, Arduino dễ dàng trở thành một trợ thủ đắc
lực dành cho các bạn sinh viên muốn thỏa mãn niềm đam mê sáng tạo với công
nghệ. Chỉ cần có một tí hiểu biết về lập trình, các bạn có thể dễ dàng tạo ra nhưng
9
sản phẩm đơn giản dành riêng cho mình như xe điều khiển từ xa, các demo đo
nhiệt độ, điều khiển thiết bị qua điện thoại…
Arduino mang lại khả năng sáng tạo không giới hạn cho các bạn sinh viên, là
môi trường học tập rèn luyện lí tưởng để nắm bắt sự phát triển vượt bậc của công
nghệ.
Hình 1.6: Mô hình xe robot dò đường sử dụng Arduino
1.2.2 LCD 16x2
• Giới thiệu LCD
Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất
nhiều các ứng dụng của vi điều khiển. LCD có rất nhiều ưu điểm so với các dạng
hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ
họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau,
tốn rất ít tài nguyên hệ thống và giá thành rẽ…
• Tổng quan về LCD 16x2 HD44780
Hình dáng, kích thước
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình
dưới đây là loại LCD thông dụng là LCD 16x2.
10
Hình 1.7: Hình dáng của loại LCD 16x2
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong
lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự
và đặt tên như hình:
Hình 1.8: Sơ đồ chân của LCD 16x2
Chức năng các chân
Bảng 1.1 Chức năng các chân của LCD
Chân
Ký hiệu
Mô tả
1
Vss
Chân nối đất cho LCD, khi thiết kế mạch ta nối chân
này với GND của mạch điều khiển.
2
VDD
Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối
chân này với VCC=5V của mạch điều khiển.
3
VEE
Điều chỉnh độ tương phản của LCD.
4
RS
Chân chọn thanh ghi (Register select). Nối chân RS
với logic “0” (GND) hoặc logic “1” (VCC) để chọn
thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi
lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối
với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read).
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi
dữ liệu DR bên trong LCD.
5
R/W
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân
R/W với logic “0” để LCD hoạt động ở chế độ ghi,
hoặc nối với logic “1” để LCD ở chế độ đọc.
11
6
E
Chân cho phép (Enable). Sau khi các tín hiệu được
đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận
khi có 1 xung cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD
chuyển vào (chấp nhận) thanh ghi bên trong nó khi
phát hiện một xung (high-to-low transition) của tín
hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra
DB0-DB7 khi phát hiện cạnh lên (low-to-high
transition) ở chân E và được LCD giữ ở bus đến khi
nào chân E xuống mức thấp.
7 - 14
DB0 - DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin
với MPU. Có 2 chế độ sử dụng 8 đường bus này:
+ Chế độ 8 bit: Dữ liệu được truyền trên cả 8
đường, với bit MSB là bit DB7.
+ Chế độ 4 bit: Dữ liệu được truyền trên 4
đường từ DB4 tới DB7, bit MSB là DB7
15
-
16
-
Nguồn dương cho đèn nền
GND cho đèn nền
* Ghi chú: Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các
chân DBx.
Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông
qua các chân DBx.
•
Các thanh ghi
Chíp HD44780 có 2 thanh ghi 8-bit quan trọng: Thanh ghi lệnh IR (Instructor
Register) và thanh ghi dữ liệu DR (Data Register)
Thanh ghi IR:
Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám đường bus
DB0DB7. Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng. Người dùng chỉ
việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR.
Nghĩa là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng mã
lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó.
VD:
12
Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0).
Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110.
Thanh ghi DR:
Thanh ghi DR dùng để chứa dữ liệu 8-bit để ghi vào vùng RAM DDRAM hoặc
CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi ra cho
MPU (ở chế độ đọc). Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên
trong chíp sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM. Hoặc khi
thông tin về địa chỉ được ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội
của HD44780 sẽ
được chuyển ra DR để truyền cho MPU.
=> Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2
thanh ghi này khi giao tiếp với MPU.
Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao
tiếp.
Bảng 1.2 Chức năng chân RS và R/W theo mục đích sử dụng
RS
R/W
Chức năng
0
0
Ghi vào thanh ghi IR để ra lệnh cho LCD
0
1
Đọc cờ BF ở DB7 và giá trị của bộ đếm địa chỉ ở
DB0-DB6
1
0
Ghi vào thanh ghi DR
1
1
Đọc dữ liệu từ DR
• Khởi tạo LCD:
Khởi tạo là việc thiết lập các thông số làm việc ban đầu. Đối với LCD, khởi tạo
giúp thiết lập các giao thức làm việc giữa LCD và MPU. Việc khởi tạo chỉ được
thực hiện 1 lần duy nhất ở đầu chương trình điều khiển LCD và bao gồm các thiết
lập sau:
▪ Display clear: Xóa/không xóa toàn bộ nội dung hiển thị trước đó. ▪ Function
set: Kiểu giao tiếp 8bit/4bit, số hàng hiển thị 1hàng/2hàng, kiểu kí tự
5x8/5x10.
13
▪ Display on/off control: Hiển thị/tắt màn hình, hiển thị/tắt con trỏ, nhấp
nháy/không nhấp nháy.
▪ Entry mode set: các thiết lập kiểu nhập kí tự như: Dịch/không dịch, tự
tăng/giảm (Increment).
1.2.3 Module cảm biến khí MQ-2
•
Giới thiệu về cảm biến khí MQ-2
Vật liệu nhạy cảm của cảm biến khí MQ-2 là SnO2, có độ dẫn thấp trong không
khí trong lành. Khi tồn tại khí đốt mục tiêu, độ dẫn điện của cảm biến sẽ cao hơn
cùng với nồng độ khí tăng lên.
Bộ cảm biến khí MQ-2 có độ nhạy cao đối với LPG, Propane và Hydrogen, cũng
có thể được sử dụng cho Methane và hơi đốt khác, với chi phí thấp và thích hợp
cho các ứng dụng khác nhau
Hình 1.9: Hình ảnh thực tế cảm biến khí MQ-2
•
Tổng quan về cảm biến khí MQ-2
Đặc tính
▪ Độ nhạy tốt với khí đốt trong phạm vi rộng
▪ Độ nhạy cao đối với LPG, Propane và Hydrogen
▪ Tuổi thọ cao và chi phí thấp
▪ Mạch đơn giản
Ứng dụng
▪ Máy dò rò rỉ gas trong nước
14
▪ Máy dò khí đốt công nghiệp
▪ Máy dò khí xách tay
• Thông số kỹ thuật
Bảng 1.3 Thông số kỹ thuật cảm biến MQ-2
Mẫu số
MQ-2
Loại cảm biến
Bán dẫn
Tiêu chuẩn đóng gói
Bakelite (Black Bakelite)
Khí phát hiện
Khí đốt dễ cháy, khói thuốc
Nồng độ
300-10000ppm (Nồng độ khí gas)
Mạch điện
Đặc tính
Điện áp mạch
��
4
≤ 24
Điện áp sưởi
��
5.0V±0.2V ACorDC
Điện trở tải
��
Có thể điều chỉnh được
Điện trở sưởi
��
31Ω±3Ω�Nhiệt độ phòng�
Công suất
sưởi tiêu thụ
��
Điện trở cảm
giác
��
2KΩ-20KΩ (trong 2000ppm �3� 8)
Độ nhạy
S
��(trong không khí)/ � (�100
0 0��4)
0
≤ 900
≥5
Độ dốc
Điều kiện
•
α
≤0.6(�5000��� /�3000��� 4)
Nhiệt độ, độ ẩm
20℃±2℃�65%±5%RH
Kiểm tra mạch tiêu
chuẩn
��:5.0V±0.1V�
Thời gian nóng sơ bộ
Hơn 48 giờ
��:5.0V±0.1V
Tìm hiểu module cảm biến khí gas MQ-2
Module cảm biến khí gas MQ-2 là sự tích hợp thêm cho cảm biến MQ-2 một
mạch điện đơn giản để khi cảm biến phát hiện khí dễ cháy thì độ nhạy của cảm
biến tăng lên, cũng như độ dẫn điện cũng cao hơn dựa vào đó mạch điện đơn giản
sẽ chuyển sang tín hiệu tương tự hay tín hiệu số cho người dùng tiện sử dụng.
15
Hình 1.10: Hình ảnh thực tế module cảm biến khí Gas MQ-2
Module được sử dụng rộng rãi trong công nghiệp và dân dụng do mạch đơn giản,
nhỏ gọn và chi phí thấp. Có cả 2 tín hiệu đầu ra: Analog (A0), Digital (D0) và điện
áp sử dụng 5V.
1.2.4 Module Sim900A mini v3.8.2.
•
Giới thiệu Sim900A
Hình 1.11: Sim900A
Sim900A là được xem như là một chiếc điện thoại với các chức năng từ cơ bản
như: nghe gọi, nhắn tin cho đến GPRS …
Giao tiếp vật lý trong ứng dụng điện thoại của SIM900A là 60 chân, nó cung cấp
tất cả các giao diện vật lý giữa module Sim và bo mạch của khách hàng: ▪ Có
Serial port và Debug port giúp dễ dàng hơn trong việc phát triển ứng dụng.
▪ Một kênh audio bao gồm Input của Microphone và Ouput của Speaker.
▪ Có thể dễ dàng được cấu hình bằng lệnh AT qua cổng giao tiếp nối tiếp.
▪ Giao tiếp với simcard giống như điện thoại di động.
16
SIM900A hỗ trợ giao thức TCP/IP, rất hữu ích cho việc truyền dữ liệu trên
Internet.
SIM900A được thiết kế với công nghệ tiết kiệm năng lượng vì vậy mức tiêu thụ
chỉ ở mức 1.5mA ở trong chế độ SLEEP.
Để hiện thực việc nhắn tin qua sim900A thì chỉ cần Serial port của Sim900A để
gửi, nhận các AT command.
•
Tổng quan Module Sim900A
Mạch nguồn:
Sim900A đòi hỏi nguồn khá khắt khe. Cụ thể, nguồn cung cấp cho SIM900A là
nguồn DC 3,2V – 4,8V. Dòng điện cung cấp phải lớn hơn hoặc bằng 2A. Trong
quá trình khởi động SIM900A, áp sẽ bị sụt áp. Nếu dòng cung cấp không đủ, điện
áp sẽ bị sụt xuống dưới mức yêu cầu và SIM900A không thể khởi động được.
Nếu điện áp lớn hơn 4.8V thì sim900A sẽ bị cháy.
Phần giao tiếp với sim card:
Sim900A hỗ trợ 2 loại SIM Card: 1.8V và 3V. Sim900A sẽ tự xác định loại sim nào và
cấp nguồn.
Sim 900A hỗ trợ sử dụng loại sim 6 chân.
Hình 1.12: Phần giao tiếp simcard
Đèn thông tin trạng thái của sim900A.
Để kiểm tra trạng thái kết nối của sim900A với mạng thì dùng đèn netlight.
17
Hình 1.13: Mạch kiểm tra trạng thái kết nối của sim900A
Bảng 1.7 Mô tả các chân giao tiếp simcard
Tên chân
Kí hiệu
Chức năng
C1
SIM_VDD
Cung cấp nguồn cho Simcard
C2
SIM_RST
Reset Simcard
C3
SIM_CLK
Khóa Simcard
C5
GND
Nối GND
C6
VPP
Không kết nối
C7
SIM_DATA
Đường dữ liệu Simcard vào ra
Bảng 1.8 Trạng thái của đèn
Trạng thái
Off
Chức năng của GSM/GPRS
GSM không hoạt động
64ms On/ 800ms Off
GSM không tìm thấy mạng
64ms On/ 3000ms Off
GSM đang kết nối mạng
64ms On/ 300ms Off
Đang kết nối GPRS
Giao tiếp với module sim900A qua AT conmand:
Việc điều khiển Sim900a được thực hiện thông qua việc truyền các lệnh AT
(các lệnh này thường bắt đầu bằng “AT”, dùng để điều khiển các thiết bị tương tác với
mạng.
Ví dụ:
18
Lệnh AT để gửi một tin nhắn :
AT+CMGS=”+84908556993”
Lệnh AT để lấy danh sách tin nhắn:
AT+CMGL=”ALL”
Lệnh AT để đọc tin nhắn:
AT+GMGR = 1
Lệnh AT để xoá tin nhắn:
AT+CMGD=1
•
Giới thiệu module GSM GPRS Sim900A Mini V3.8.2
Module GSM GPRS Sim900A Mini V3.8.2 được thiết kế nhỏ gọn với chi phí
thấp nhưng vẫn đảm bảo được khả năng hoạt động tốt. Mạch được thiết kế ra các
chân cơ bản của SIM900A, tích hợp khe sim kích cỡ thông thường và Anten.
Mạch SIM900A được thiết kế để có khả năng cấp nguồn trực tiếp 5V và nguồn
không cần phải có dòng lớn (nhờ có diod và tụ bù), có thể cấp trực tiếp từ 5V của
Arduino hoặc từ cổng usb máy tính, các chân GIPO của SIM900A cũng có thể
giao tiếp trực tiếp ở mức logic 3-5VDC.
•
Thông số kỹ thuật:
▪ IC chính: Sim900A
▪ Nguồn cấp: 4.5-5V, có thể sử dụng với nguồn dòng thấp từ 500mAh trở lên
(như cổng USB, nguồn từ Board Arduino). Nên dùng nguồn 2A để đảm bảo
hiệu suất hoạt động của SIM. ▪ Tích hợp khe Sim kích thước chuẩn.
▪ Tích hợp led báo trạng thái Sim900A
▪ Tích hợp tụ bù điện dung cao và Diod giảm áp để có thể cấp 5VDC và
nguồn dòng thấp.
▪ Dòng khi ở chế độ chờ: 10 mA
▪ Dòng khi hoạt động: 100 mA đến 2A.
▪ Kích thước: 2.5 cm x 3.1 cm
19
Hình 1.14: Module GSM GPRS Sim 900A Mini V3.8.2
•
Chức năng các chân ▪ VCC: Nguồn vào 5V.
▪ TXD: Chân truyền Uart TX.
▪ RXD: Chân nhận Uart RX.
▪ GND: Chân Mass, cấp 0V.
1.2.5 Key pad Matrix 4x4:
• Giới thiệu: keypad matrix là bàn phím ma trận 4x4 với 16 nút nhấn được kết
nối tạo thành 4 cột và bốn hàng.
Hình 1.15: Hình ảnh thực tế
• Sơ đồ bàn phím:
Keypad matrix 4x4
20
Hình 1.16: Sơ đồ nút key pad
Hình 1.17: Mô phỏng key pad trên proteus
- Để đo giá trị của phím bấm ta sử dụng thuật toán quét phím. Có 2 cách quét là quét
theo cột và quét theo hàng.
•Nối dây:
Bảng 1.9 Kết nối Arduino và Keypad
Arduino
Keypad
4
R1
5
R2
6
R3
7
R4
21
3
C1
2
C2
1
C3
0
C4
•Thông số kỹ thuật:
Điện áp làm việc: 5V DC (với bảng điều khiển điện tử)
Nhiệt độ làm việc: -20 ℃ ~ 60 ℃
Số phím: 16.
• Với mỗi hàng (R1 đến R4), Chọn ra hàng Ri. Cấp cực âm (0v) cho hàng Ri.Nếu điện
áp ở chân Cj bất kì là dương (INPUT PULLUP) => chưa nhấn. Nếu điện áp ở chân Cj
bất kì là âm (INPUT PULLUP) => đang nhấn.
1.3 CÁC CHUẨN TRUYỀN DỮ LIỆU
1.3.1 Giao tiếp Serial – UART
UART là viết tắt của Universal Asynchronous Receiver – Transmitter. Là kiểu
truyền thông tin nối tiếp không đồng bộ thường là một mạch tích hợp. Mục đích
của UART là để truyền tín hiệu qua lại lẫn nhau (ví dụ truyền tín hiệu từ Laptop
vào Modem hay ngược lại) hay truyền từ vi điều khiển tới vi điều khiển, từ laptop
tới vi
điều khiển…
22
Hình 1.18: Truyền dữ liệu qua lại giữa 2 vi điều khiển và giữa vi điều khiển với PC
Hình 1.19: Vị trí UART trên arduino.
1.3.2. Chuẩn giao tiếp I2C:
• Giới thiệu về giao tiếp I2C
I2C là tên viết tắt của cụm từ tiếng anh “Inter-Integrated Circuit”. Nó là một giao
thức giao tiếp được phát triển bởi Philips Semiconductors để truyền dữ liệu giữa một
23
bộ xử lý trung tâm với nhiều IC trên cùng một board mạch chỉ sử dụng hai đường
truyền tín hiệu.
Do tính đơn giản của nó nên loại giao thức này được sử dụng rộng rãi cho giao
tiếp giữa vi điều khiển và mảng cảm biến, các thiết bị hiển thị, thiết bị IoT, EEPROMs,
v.v …
Đây là một loại giao thức giao tiếp nối tiếp đồng bộ. Nó có nghĩa là các bit dữ
liệu được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi một
tín hiệu đồng hồ tham chiếu.
•
Đặc điểm
Sau đây là một số đặc điểm quan trọng của giao thức giao tiếp I2C:
Chỉ cần có hai đường bus (dây) chung để điều khiển bất kỳ thiết bị / IC nào trên mạng
I2C
Không cần thỏa thuận trước về tốc độ truyền dữ liệu như trong giao tiếp UART. Vì
vậy, tốc độ truyền dữ liệu có thể được điều chỉnh bất cứ khi nào cần thiết
Cơ chế đơn giản để xác thực dữ liệu được truyền
Sử dụng hệ thống địa chỉ 7 bit để xác định một thiết bị / IC cụ thể trên bus I2C
Các mạng I2C dễ dàng mở rộng. Các thiết bị mới có thể được kết nối đơn giản với hai
đường bus chung I2C.
1.3.3. Chuẩn giao tiếp one wire.
•
Giới Thiệu Chuẩn 1_Wire :
-
1_Wire là một chuẩn giao tiếp được thiết kế bởi Dallas Semiconductor và đã được
maxim mua lại năm 2001. Maxim là một hãng sản xuất chip lớn.
-
1_Wrire dùng một dây để truyền nhận nên có tốc độ thấp . Chủ yếu sử dụng cho việc
thu thập dữ liệu, truyền nhận dữ liệu thời tiết, nhiệt độ, công việc không yêu cầu tốc độ
cao.
24
Hình 1.20: sơ đồ chuẩn giao tiếp one wire
•
Cơ sở truyền nhận :
Các tín hiệu sử dụng Restart , 0 write , 1 write , Read .
Write 1 : truyền đi bit 1 : Master kéo xuống 0 một khoảng A(us) rồi về mức 1 khoảng
B
Write 0 : truyền đi bit 0 : Master kéo xuống 0 khoảng C rồi trả về 1 khoảng D
Read : Đọc một Bit : Master kéo xuống 0 khoảng A rồi trả về 1 . delay khoảng E rồi
đọc giá trị slave gửi về . delay F
Restart : Chuẩn bị giao tiếp . Master ké0 xuống 0 một khoảng H rồi nhả lên mức 1 sau
đó cấu hình Master là chân In delay I (us) rồi đọc giá trị slave trả về . Nếu =0 thì cho
phép giao tiếp . =1 đường truyền lỗi hoặc slave đang bận .
25