TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN
THIẾT KẾ HỆ NHÚNG
Đề tài:
THIẾT KẾ CHẾ TẠO HỆ THỐNG GIÁM SÁT,
THU THẬP THÔNG TIN TỪ XA
Sinh viên thực hiện:
Giảng viên hướng dẫn:
Nguyễn Duy Thịnh
20149575
Lê Quang Minh
20159503
Nguyễn Việt Anh
20121228
TS. Ngô Vũ Đức
Hà Nội, 3 - 2016
Tieu luan
MỤC LỤC
MỤC LỤC..........................................................................................................................................................1
I. MÔ TẢ ĐỀ TÀI.............................................................................................................................................2
II. YÊU CẦU CHỨC NĂNG............................................................................................................................2
III. YÊU CẦU PHI CHỨC NĂNG..................................................................................................................3
IV. THIẾT KẾ HỆ THỐNG.............................................................................................................................3
4.1 Sơ đồ khối và chức năng...........................................................................................................................4
4.2 Thông số linh kiện dự kiến sử dụng cho phần cứng.................................................................................4
4.2.1 Khối nguồn.......................................................................................................................................4
4.2.2 Khối cảm biến...................................................................................................................................5
4.2.3 Khối MCU........................................................................................................................................6
4.2.4 Khối module SIM.............................................................................................................................6
4.3 Phần mềm kiểm thử và ngơn ngữ lập trình LabVIEW..............................................................................7
4.3.1 Phần mềm Hercules..........................................................................................................................7
4.3.2 Phần mềm SDiags.............................................................................................................................7
4.3.3 Ngơn ngữ lập trình LabVIEW..........................................................................................................8
V. KẾ HOẠCH THỰC HIỆN ĐỀ TÀI............................................................................................................9
1
Tieu luan
I. MÔ TẢ ĐỀ TÀI
Hiện nay, các ứng dụng khai thác hạ tầng mạng thông tin di động và mạng
Internet sẵn có đang phát triển mạnh mẽ. Một số ứng dụng thực tế có thể kể ra như:
hệ thống thu thập dữ liệu từ môi trường, hệ thống điều khiển thiết bị, hệ thống giám
sát, cảnh báo từ xa… Trong các ứng dụng này thường sử dụng module SIM để
truyền dữ liệu (SMS/DATA) qua hạ tầng mạng thông tin di động. Bài tập lớn môn
Thiết kế hệ nhúng yêu cầu mỗi nhóm sinh viên tìm hiểu, thiết kế và thực hiện một
hệ thống nhỏ tương tự các hệ thống nêu trên, nhằm giúp sinh viên củng cố và nắm
chắc kiến thức chung về một hệ thống nhúng cơ bản, áp dụng kiến thức đã học vào
giải quyết một bài toán cụ thể trong thực tế.
Với vấn đề nêu trên, chúng em đã lựa chọn đề tài: “Thiết kế chế tạo hệ
thống giám sát, thu thập thông tin từ xa”. Đề tài này sẽ tập trung vào việc nghiên
cứu và xây dựng thiết kế mạch phần cứng, phần mềm nhằm giải quyết các vấn đề
sau:
Nghiên cứu các giao thức truyền nhận với module SIM900
Thiết kế mạch điện tử thu nhận dữ liệu từ cảm biến
Tối ưu năng lượng tiêu thụ và hoạt động ổn định
Truyền dữ liệu thu thập được về một server giả lập trước
Kết hợp với phần mềm Client-Server (nếu có)
II. YÊU CẦU CHỨC NĂNG
Các dữ liệu sau khi thu thập được từ cảm biến (nhiệt độ và độ ẩm) được xử
lý và đưa lên Server giả lập thơng qua module SIM. Đó chính là một ví dụ điển hình
cho mơ hình Client-Server. Cụ thể, các yêu cầu chức năng chính của đề tài này bao
gồm:
Thu thập dữ liệu về môi trường (nhiệt độ, độ ẩm…) thông qua cảm biến
Dữ liệu thu thập được có thể truyền lên Server hoặc tự động gửi SMS về điện
thoại di động
Hiển thị dữ liệu trên phần mềm giả lập Server
Giao tiếp được với phần mềm máy tính
Cảnh báo nếu các thơng số nếu vượt quá ngưỡng cảnh báo (led, buzzer)
2
Tieu luan
III. YÊU CẦU PHI CHỨC NĂNG
Ngoài các yêu cầu chức năng đã nêu trên, hệ thống cần phải đảm bảo thêm
một số yêu cầu phi chức năng nhằm phục vụ các mục đích sử dụng và phát triển hệ
thống sau này.
Sử dụng vi điều khiển lõi ARM Cortex-M3, phù hợp trong các ứng dụng
thực tế cũng như hệ thống nhúng
Linh kiện sử dụng trong hệ thống chủ yếu là linh kiện dán, thuận tiện trong
việc tối ưu hệ thống sau này
Code viết sử dụng ngôn ngữ lập trình C, trình biên dịch Keil C
PCB được thiết kế để dễ dàng trong quá trình debug cũng như phát triển
thêm các tính năng khác
Nguồn cung cấp ổn định, đảm bảo hệ thống hoạt động lâu dài trong môi
trường thực tế
Tương tác giữa phần cứng và phần mềm đơn giản
IV. THIẾT KẾ HỆ THỐNG
Để xây dựng hệ thống giám sát, thu thập thơng tin từ xa, ngồi việc có được
hiểu biết về các phương thức thu thập dữ liệu hay giao thức truyền dữ liệu, phải xác
định được chi tiết những gì mà một hệ thống cần đạt được. Cụ thể là cần phải đưa ra
các mục tiêu rõ ràng, liệt kê các mục tiêu mà hệ thống sẽ đạt được như loại cảm
biến đo lường, giao thức sử dụng… Cụ thể ở đây đó là, với phần cứng cần xác định
được loại linh kiện sử dụng, các thông số liên quan, giao tiếp…; đối với phần mềm
thì sử dụng trình biên dịch nào để xây dựng nên, giao thức làm việc tương ứng với
phần cứng là gì…
3
Tieu luan
4.1 Sơ đồ khối và chức năng
Hình 4.1 Sơ đồ khối của hệ thống
Phần cứng thu thập dữ liệu được ghép bởi các khối chức năng:
Khối cảm biến: các tín hiệu thu được từ cảm biến
Khối MCU: xử lý tín hiệu thu được từ khối cảm biến, giao tiếp với module
SIM
Khối nguồn: bao gồm nguồn xung cung cấp cho cho khối module SIM và
nguồn tuyến tính cho khối MCU và cảm biến
Khối module SIM: tiếp nhận lệnh từ khối MCU truyền dữ liệu về một Server
giả lập trước hoặc gửi SMS về điện thoại
Trong đó, khối nguồn là khối quan trọng nhất. Khối nguồn hoạt động tốt sẽ
đảm bảo tín hiệu được truyền một cách liên tục, đặc biệt khối module SIM không bị
treo và reset giữa chừng do tiêu thụ nhiều năng lượng hơn so với các khối khác.
4.2 Thông số linh kiện dự kiến sử dụng cho phần cứng
4.2.1 Khối nguồn
Nguồn là 1 vấn đề quan trọng trong bất kỳ hệ thống nào. Trong hệ thống cần
cung cấp nguồn cho khối module SIM, khối MCU và khối cảm biến với các yêu cầu
cụ thể là:
Khối MCU và khối cảm biến: +3.3V
Khối module SIM: 4.3÷4.8V / 2÷3A
4
Tieu luan
Bảng 4.1 Thông số mạch nguồn +3.3V
Thông số
Giá trị
IC
AMS1117
Điện áp đầu vào
+5V
Điện áp đầu ra
+3.3V
Dịng
1A
Dropout Voltage
1V
Bảng 4.2 Thơng số mạch nguồn 4.3÷4.8V
Thơng số
Giá trị
Linh kiện
LM2576
Điện áp đầu vào
+12V
Điện áp đầu ra
Adjustable
Dòng
3A
4.2.2 Khối cảm biến
Yêu cầu ban đầu đặt ra là thu nhận hai thơng số cảm biến, do đó nhóm lựa
chọn hai thông số cơ bản là nhiệt độ, độ ẩm. DHT11 là loại cảm biến tích hợp có thể
đo được hai thông số trên một cách đồng thời.
Bảng 4.3 Một số thông số cơ bản của khối cảm biến
Thông số
Giá trị
Sensor
DHT11
Dải đo
20÷90%RH, 0÷50oC
Độ chính xác
±5% RH, ±2% oC
Độ phân giải
1
Package
4-pin Single Row
Giao thức
Serial Interface
Nguồn cung cấp
3÷5.5V
5
Tieu luan
4.2.3 Khối MCU
Tín hiệu được thu nhận từ cảm biến vào vi điều khiển phải đảm bảo tốc độ và
độ trung thực của dữ liệu thu nhận được. Vì thế với những ưu điểm đáp ứng được
yêu cầu, vi điều khiển STM32F103C8T6 của ST Microelectronics đã được lựa chọn
cho thiết kế.
Các đặc tính nổi bật của STM32F103C8T6:
Dải điện áp -0.3 – 4V
MIPS đơn xung nhịp, tần số thạch anh tối đa 72MHz
Full Speed USB 2.0
Truyền thông nối tiếp tốc độ cao USART, I2C, SPI, CAN…
Lập trình được các chế độ tiêu thụ năng lượng Sleep, Stop, Standby
Trong phạm vi đề tài này, sử dụng dụng tính năng truyền thơng nối tiếp tốc
độ cao USART với module SIM.
4.2.4 Khối module SIM
Hiện trên thị trường cho khá nhiều module SIM có thể đáp ứng được yêu cầu
của đề tài. Các module này hầu hết đều hỗ trợ truyền thông UART với vi điều
khiển, giao tiếp được thông qua tập lệnh AT, dễ dàng kiểm thử thông qua module
USB to COM… Với yêu cầu như vậy, nhóm đã lựa chọn module SIM900A.
Bảng 4.4 Thông số của module SIM900
Thông số
Giá trị
Nguồn cung cấp
3.4÷4.5V
Giao tiếp
AT command
Các giao thức hỗ trợ
UDP, TCP/IP
GSM class
Small MS
External antenna
Antenna pad
GPRS data downlink / uplink
85.6kbps / 42.8kbps
6
Tieu luan
4.3 Phần mềm kiểm thử và ngơn ngữ lập trình LabVIEW
4.3.1 Phần mềm Hercules
Hercules là một trong những phần mềm được thiết kế rất gọn nhẹ và trực
quan cho phép quản lý các kết nối đến máy tính. Có thể sử dụng phần mềm này như
một công cụ hiển thị thơng báo từ vi điều khiển lên máy tính, giúp công việc test và
debug được thuận lợi hơn. Dưới đây là giao diện của phần mềm Hercules.
Hình 4.2 Giao diện phần mềm Hercules
4.3.2 Phần mềm SDiags
Phần mềm SDiags sử dụng để test module SIM900 với máy tính với các
chức năng cơ bản như cấu hình module SIM, truyền nhận tin nhắn (SMS), thực hiện
cuộc gọi (CALL)… Về chức năng cũng gần tương tự như phần mềm Hercules.
7
Tieu luan
Hình 4.3 Giao diện phần mềm SDiags
4.3.3 Ngơn ngữ lập trình LabVIEW
LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) là
một phần mềm máy tính được phát triển bởi National Instruments. LabVIEW dùng
trong hầu hết các phịng thí nghiệm, lĩnh vực khoa học kỹ thuật như tự động hóa,
điều khiển, điện tử, cơ điện tử, hàng khơng, hóa sinh, điện tử y sinh ở các nước đặc
biệt là Mỹ, Hàn quốc, Nhật Bản. Nó cung cấp cho người dùng một hệ thống các
hàm hỗ trợ giao tiếp, mô phỏng dữ liệu, các hàm xử lý tín hiệu... LabVIEW khác
với ngơn ngữ lập trình thơng thường như C, Basic. Hệ thống lập trình khác sử dụng
ngơn ngữ text-based để tạo các dịng lệnh, trong khi LabVIEW sử dụng ngơn ngữ
lập trình đồ họa, đó là việc dùng các khối hình ảnh sinh động và dây nối để tạo các
lệnh và các hàm. Chương trình lập trình hồn thiện nhìn vào sẽ giống như một dạng
sơ đồ khối chi tiết. Chính điều khác biệt này LabVIEW đã làm việc lập trình trở nên
đơn giản hơn nhiều so với việc lập trình nhàm chán truyền thống.
8
Tieu luan
LabVIEW hỗ trợ các kỹ sư, nhà khoa học và sinh viên… xây dựng các thuật
toán một cách nhanh gọn, sáng tạo và dễ hiểu nhờ các khối hình ảnh có tính gợi nhớ
và cách thức hoạt động theo kiểu dòng dữ liệu (data flow) lần lượt từ trái qua phải.
Các ứng dụng của LabVIEW có thể kể đến là:
Kết nối bất kỳ cảm biến và bất kỳ cơ cấu chấp hành nào với máy tính
Có thể xử lý các kiểu dữ liệu như tín hiệu tương tự (Analog), tín hiệu số
(Digital), hình ảnh (Vision), âm thanh (Audio)…
Hỗ trợ các giao thức giao tiếp khác nhau như RS232, RS485, TCP/IP,
UDP…
Hình 4.4 Phần mềm điều khiển động cơ DC thiết kế bằng LabVIEW
Chính bởi các ưu điểm trên, nhóm dự kiến sau q trình kiểm thử với các
phần mềm thu nhận có sẵn Hercules, Sdiags… sẽ bắt đầu tiến hành xây dựng phần
mềm thu nhận dữ liệu được viết bởi ngơn ngữ lập trình LabVIEW.
V. KẾ HOẠCH THỰC HIỆN ĐỀ TÀI
No Task Name
1 Week 32
In Charge
By
Duration Start
6 days
Finish
Mon 3/14/16 Sun 3/20/16
9
Tieu luan
Lựa chọn đề tài
All
3 days
Mon 3/14/16 Wed 3/16/16
Viết mô tả chi tiết cho đề tài All
2 days
Fri 1/17/14
Sat 1/18/14
1 day
Sat 3/19/16
Sat 3/19/16
1 day
Sun 3/20/16
Sun 3/20/16
6 days
Mon 3/21/16 Sun 3/27/16
Việt Anh 6 days
Mon 3/21/16 Sun 3/27/16
Thịnh
6 days
Mon 3/21/16 Sun 3/27/16
Minh
6 days
Mon 3/21/16 Sun 3/27/16
Phân cơng trưởng nhóm,
All
cơng việc
Nộp mơ tả chi tiết của đề tài Thịnh
2 Week 33
Tìm hiểu về module kiểm
thử USB to COM
Tìm hiểu về cấu trúc vi điều
khiển STM32
Tìm hiểu về mơ hình ClientServer
3 Week 34
11 days Mon 3/28/16 Sun 4/10/16
Tìm hiểu về module
SIM900A
Tìm hiểu về truyền thơng
UART trên SMT32
Tìm hiểu về phần mềm
LabVIEW
Việt Anh 11 days
Mon 3/28/16 Sun 4/10/16
Thịnh
11 days
Mon 3/28/16 Sun 4/10/16
Minh
11 days
Mon 3/28/16 Sun 4/10/16
6 days
Mon 4/11/16 Sun 4/17/16
Việt Anh 6 days
Mon 4/11/16 Sun 4/17/16
Thịnh
6 days
Mon 4/11/16 Sun 4/17/16
Minh
6 days
Mon 4/11/16 Sun 4/17/16
4 Week 35
Giao tiếp module SIM và
USB to COM
Thử nghiệm truyền thông
UART
Viết phần mềm giao tiếp
UART trên LabVIEW
5 Week 36
11 days Mon 4/18/16 Sun 5/1/16
Kết hợp giao tiếp module
Thịnh +
SIM và STM32
Việt Anh
11 days
Mon 4/18/16 Sun 5/1/16
10
Tieu luan
Tìm hiểu về giao thức
Minh +
TCP/IP, UDP
Thịnh
11 days
Mon 4/18/16 Sun 5/1/16
6 days
Mon 5/2/16
Sun 5/8/16
Việt Anh 6 days
Mon 5/2/16
Sun 5/8/16
Thịnh
6 days
Mon 5/2/16
Sun 5/8/16
Minh
6 days
Mon 5/2/16
Sun 5/8/16
6 days
Mon 5/9/16
Sun 5/15/16
6 days
Mon 5/9/16
Sun 5/15/16
Việt Anh 6 days
Mon 5/9/16
Sun 5/15/16
Minh
6 days
Mon 5/9/16
Sun 5/15/16
6 days
Mon 5/16/16 Sun 5/22/16
STM32, DHT11 và module Việt Anh 6 days
Mon 5/16/16 Sun 5/22/16
6 Week 37
Hoàn thiện giao tiếp module
SIM và STM32
Tìm hiểu về cảm biến
DHT11
Xây dựng phần mềm thu
nhận dữ liệu qua giao thức
TCP/IP, UDP
7 Week 38
Giao tiếp DHT11 với
Thịnh
STM32
Kết nối đến phần mềm thu
nhận được xây dựng
Tiếp tục xây dựng phần
mềm thu nhận dữ liệu qua
giao thức TCP/IP, UDP
8 Week 39
Hoàn thiện giao tiếp
SIM
Thiết kế phần cứng cho từng
khối
Hoàn thiện phần mềm xây
dựng trên LabVIEW
Thịnh
6 days
Mon 5/16/16 Sun 5/22/16
Minh
6 days
Mon 5/16/16 Sun 5/22/16
6 days
Mon 5/23/16 Sun 5/29/16
9 Week 40
Đặt mạch
Thịnh
6 days
Mon 5/23/16 Sun 5/29/16
Giao tiếp thử nghiệm toàn
All
6 days
Mon 5/23/16 Sun 5/29/16
11
Tieu luan
bộ hệ thống
Viết báo cáo
All
6 days
Mon 5/23/16 Sun 5/29/16
2 days
Mon 5/30/16 Tue 5/31/16
All
1 day
Mon 5/30/16 Mon 5/30/16
All
1 day
Mon 5/30/16 Mon 5/30/16
All
1 day
Tue 5/31/16 Tue 5/31/16
10 Week 41
Hàn mạch, thử nghiệm phần
cứng
Hoàn thiện sản phẩm
11 Bảo vệ
12
Tieu luan