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
Sinh viên thực hiện: Nguyễn Duy Thịnh 20149575
Nguyễn Việt Anh 20121228
Giảng viên hướng dẫn: TS Ngô Vũ Đức
Hà Nội, 3 - 2016
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ó)
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)
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
Thông số Giá trị
Bảng 4.2 Thông số mạch nguồn 4.3÷4.8V
Thông số Giá trị
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
GPRS data downlink / uplink 85.6kbps / 42.8kbps
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
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,
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
thử USB to COM Việt Anh 6 days Mon 3/21/16 Sun 3/27/16 Tìm hiểu về cấu trúc vi điều
khiển STM32 Thịnh 6 days Mon 3/21/16 Sun 3/27/16 Tìm hiểu về mô hình
Tìm hiểu về module
SIM900A Việt Anh 11 days Mon 3/28/16 Sun 4/10/16 Tìm hiểu về truyền thông
UART trên SMT32 Thịnh 11 days Mon 3/28/16 Sun 4/10/16 Tìm hiểu về phần mềm
Giao tiếp module SIM và
USB to COM Việt Anh 6 days Mon 4/11/16 Sun 4/17/16 Thử nghiệm truyền thông
Viết phần mềm giao tiếp
UART trên LabVIEW Minh 6 days Mon 4/11/16 Sun 4/17/16
Kết hợp giao tiếp module
SIM và STM32
Thịnh + Việt Anh 11 days Mon 4/18/16 Sun 5/1/16
Trang 12Tìm hiểu về giao thức
TCP/IP, UDP
Minh + Thịnh 11 days Mon 4/18/16 Sun 5/1/16
Hoàn thiện giao tiếp module
SIM và STM32 Việt Anh 6 days Mon 5/2/16 Sun 5/8/16 Tìm hiểu về cảm biến
Xây dựng phần mềm thu
nhận dữ liệu qua giao thức
TCP/IP, UDP
Minh 6 days Mon 5/2/16 Sun 5/8/16
Giao tiếp DHT11 với
Kết nối đến phần mềm thu
nhận được xây dựng Việt Anh 6 days Mon 5/9/16 Sun 5/15/16 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
Minh 6 days Mon 5/9/16 Sun 5/15/16
Hoàn thiện giao tiếp
STM32, DHT11 và module
SIM
Việt Anh 6 days Mon 5/16/16 Sun 5/22/16
Thiết kế phần cứng cho từng
Hoàn thiện phần mềm xây
dựng trên LabVIEW Minh 6 days Mon 5/16/16 Sun 5/22/16
Giao tiếp thử nghiệm toàn All 6 days Mon 5/23/16 Sun 5/29/16
Trang 13bộ hệ thống
Viết báo cáo All 6 days Mon 5/23/16 Sun 5/29/16
Hàn mạch, thử nghiệm phần
Hoàn thiện sản phẩm All 1 day Mon 5/30/16 Mon 5/30/16