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
Trang 1TRƯỜ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
Giảng viên hướng dẫn: TS Ngô Vũ Đức
Trang 2MỤ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
Trang 3I 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ó)
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)
Trang 4III 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, ngoà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ì…
Trang 54.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
Trang 6Bảng 4.1 Thông số mạch nguồn +3.3V
Bảng 4.2 Thông số mạch nguồn 4.3÷4.8V
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
Trang 74.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
Trang 84.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
Trang 9Hì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 hoà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
Trang 10LabVIEW 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 quá 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
Trang 11Lự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 Phân công trưởng nhóm,
All 1 day Sat 3/19/16 Sat 3/19/16 công việc
Nộp mô tả chi tiết của đề tài Thịnh 1 day Sun 3/20/16 Sun 3/20/16
Tìm hiểu về module kiểm
Việt Anh 6 days Mon 3/21/16 Sun 3/27/16 thử USB to COM
Tìm hiểu về cấu trúc vi điều Thịnh 6 days Mon 3/21/16 Sun 3/27/16 khiển STM32
Tìm hiểu về mô hình Client- Minh 6 days Mon 3/21/16 Sun 3/27/16 Server
Tìm hiểu về module
Việt Anh 11 days Mon 3/28/16 Sun 4/10/16 SIM900A
Tìm hiểu về truyền thông
Thịnh 11 days Mon 3/28/16 Sun 4/10/16 UART trên SMT32
Tìm hiểu về phần mềm
Minh 11 days Mon 3/28/16 Sun 4/10/16 LabVIEW
Giao tiếp module SIM và
Việt Anh 6 days Mon 4/11/16 Sun 4/17/16 USB to COM
Thử nghiệm truyền thông
Thịnh 6 days Mon 4/11/16 Sun 4/17/16 UART
Viết phần mềm giao tiếp
Minh 6 days Mon 4/11/16 Sun 4/17/16 UART trên LabVIEW
Trang 12SIM và STM32 Việt Anh
10
Trang 13Tìm hiểu về giao thức Minh +
11 days Mon 4/18/16 Sun 5/1/16
Hoàn thiện giao tiếp module Việt Anh 6 days Mon 5/2/16 Sun 5/8/16 SIM và STM32
Tìm hiểu về cảm biến
Thịnh 6 days Mon 5/2/16 Sun 5/8/16 DHT11
Xây dựng phần mềm thu
nhận dữ liệu qua giao thức Minh 6 days Mon 5/2/16 Sun 5/8/16 TCP/IP, UDP
Giao tiếp DHT11 với
Thịnh 6 days Mon 5/9/16 Sun 5/15/16 STM32
Kết nối đến phần mềm thu
Việt Anh 6 days Mon 5/9/16 Sun 5/15/16 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 Minh 6 days Mon 5/9/16 Sun 5/15/16 giao thức TCP/IP, UDP
Hoàn thiện giao tiếp
STM32, DHT11 và module Việt Anh 6 days Mon 5/16/16 Sun 5/22/16 SIM
Thiết kế phần cứng cho từng Thịnh 6 days Mon 5/16/16 Sun 5/22/16 khối
Hoàn thiện phần mềm xây
Minh 6 days Mon 5/16/16 Sun 5/22/16 dựng trên LabVIEW
Trang 1411
Trang 15bộ hệ thống
Hàn mạch, thử nghiệm phần All 1 day Mon 5/30/16 Mon 5/30/16 cứng
Hoàn thiện sản phẩm All 1 day Mon 5/30/16 Mon 5/30/16