基于STM32的智能宠物项圈设计与实现(完整项目)
摘要:本文设计并实现了一种基于STM32F103C8T6单片机的智能宠物项圈系统。该系统整合多种传感器模块,包括MAX30102心率血氧传感器、DS18B20温度传感器、GPS模块和光敏传感器,实现宠物健康数据采集、环境监测和位置追踪功能。通过OLED显示屏实时显示数据,并支持自动/手动模式切换,具有阈值调节、智能报警和蓝牙APP远程管控等功能。硬件设计采用模块化架构,软件部分基于Keil MDK
基于STM32的智能宠物项圈设计与实现
摘要
随着人们生活水平的提升,宠物逐渐成为家庭生活的重要成员,宠物的健康监测、安全防护及便捷管理成为宠物主人的核心需求。传统宠物项圈仅具备装饰、牵引等基础功能,无法实现宠物健康数据监测、位置追踪及远程管控,难以满足现代宠物饲养的智能化、精细化需求。
本文设计并实现了一套基于STM32F103C8T6单片机的智能宠物项圈,整合环境采集、OLED显示、模式切换、自动报警、手动控制、阈值调节及蓝牙APP远程管控等核心功能,采用指定材料清单中的元器件搭建硬件系统,构建了完整的智能宠物项圈架构。系统以STM32F103C8T6为核心控制单元,搭载MAX30102心率血氧传感器、DS18B20温度传感器、GPS传感器、光敏传感器、OLED显示屏、BT04A蓝牙模块、JR6001语音模块、有源蜂鸣器及大功率LED灯模块,通过多模块协同工作,实现宠物健康监测、环境感知、位置追踪、智能报警及远程管控,兼顾实用性、便携性和稳定性。
本文详细阐述了系统的总体设计方案、硬件电路设计、软件程序开发、蓝牙APP对接及系统调试过程,通过实际测试验证系统的性能。测试结果表明,该系统各功能运行稳定,环境采集模块可精准采集宠物心率血氧、体温、环境光照及位置信息;OLED屏幕可清晰显示各项数据;模式切换流畅,自动模式下可实现光照联动照明、健康异常报警及蓝牙断开语音提醒,手动模式下可灵活控制照明和报警;阈值调节功能便捷,可根据宠物个体差异自定义参数;蓝牙APP可稳定接收数据并下发控制指令。该项圈体积小巧、佩戴舒适、成本适中,能够有效帮助宠物主人实时掌握宠物状态、保障宠物安全,具有良好的实际应用价值和推广前景。
关键词:STM32;智能宠物项圈;健康监测;GPS定位;蓝牙通信;模式切换



第一章 绪论
1.1 研究背景与意义
近年来,宠物经济快速发展,饲养宠物成为越来越多人的生活方式,宠物的健康状况和安全问题日益受到重视。宠物作为人类的伴侣,其健康水平直接影响主人的生活质量,而宠物走失、突发疾病未及时发现等问题,一直是困扰宠物主人的核心痛点。传统宠物项圈功能单一,仅能起到装饰和牵引作用,无法对宠物的健康状态进行实时监测,也无法实现位置追踪和远程管控,当宠物出现健康异常或走失时,主人难以第一时间发现并处理。
随着嵌入式技术、传感器技术、蓝牙通信技术和GPS定位技术的快速发展,智能宠物项圈逐渐成为宠物智能设备的主流产品。智能宠物项圈能够整合多种传感器,实现宠物健康数据(心率、血氧、体温)、环境数据(光照强度)及位置信息的实时采集,通过显示模块和手机APP实现数据可视化,同时具备智能报警、模式切换、远程控制等功能,能够有效解决传统项圈的弊端,为宠物主人提供便捷、全面的宠物管理方案。
STM32系列单片机具有高性能、低功耗、体积小、性价比高、外设丰富等优势,非常适合便携式智能设备的开发。本文基于STM32F103C8T6单片机,结合指定的元器件清单,设计一款功能完善的智能宠物项圈,实现宠物健康监测、位置追踪、智能报警及远程管控等功能,对于提升宠物饲养的智能化水平、保障宠物健康与安全、推动宠物智能设备产业的发展具有重要的理论意义和实际应用价值。
1.2 国内外研究现状
国外智能宠物项圈产业发展起步较早,技术已相对成熟,形成了完善的产品体系和产业链。欧美、日本等发达国家推出了多种高端智能宠物项圈产品,如美国某品牌智能项圈,整合GPS定位、健康监测、活动量统计等功能,支持手机APP远程监控,采用先进的传感器技术和加密通信技术,具有数据采集精准、定位准确、续航持久等优势;日本的智能宠物项圈则更注重便携性和人性化设计,体积小巧、佩戴舒适,同时融入语音交互功能,实现主人与宠物的简单互动。这些产品功能完善、用户体验优良,但价格较高,且部分功能与国内宠物饲养习惯适配性较差,难以广泛普及。
国内智能宠物项圈产业近年来发展迅猛,随着宠物经济的崛起和技术的普及,越来越多的企业和科研机构投入到智能宠物项圈的研究和产品开发中。国内现有智能宠物项圈产品主要分为两类:一类是中高端智能项圈,整合健康监测、GPS定位、蓝牙通信等功能,支持手机APP管控,价格适中,适合普通宠物主人使用;另一类是简易智能项圈,仅具备单一功能(如GPS定位或简单健康监测),价格低廉,但功能不完善,无法满足宠物主人的多元化需求。
目前国内智能宠物项圈仍存在一些不足:部分产品的健康数据采集精度较低,易出现数据偏差;部分产品的GPS定位误差较大,走失追踪效果不佳;部分产品的续航能力较差,需要频繁充电;此外,部分产品缺乏模式切换和阈值调节功能,无法根据宠物个体差异进行个性化设置,且蓝牙通信稳定性有待提升。本文设计的基于STM32的智能宠物项圈,采用指定的高精度传感器和通信模块,优化数据采集算法和通信机制,增加模式切换、阈值调节及语音提醒功能,能够有效弥补现有产品的不足。
1.3 研究内容与目标
1.3.1 研究内容
本文主要围绕基于STM32的智能宠物项圈的设计与实现展开研究,结合指定的材料清单和功能需求,具体研究内容如下:
1. 系统总体方案设计:明确系统的7项核心功能需求,结合材料清单确定系统的总体架构,划分硬件模块和软件模块,制定系统的设计原则和技术路线,实现环境采集、显示、模式切换、报警、控制、阈值调节及蓝牙APP对接等功能的整合。
2. 硬件电路设计:以STM32F103C8T6最小系统板为核心,根据材料清单选型并设计各硬件模块电路,包括心率血氧传感器模块、温度传感器模块、GPS传感器模块、光敏传感器模块、OLED显示模块、蓝牙模块、语音模块、蜂鸣器报警模块、LED照明模块及电源模块,完成硬件焊接与组装,确保各模块接线合理、工作稳定。
3. 软件程序开发:基于Keil MDK开发环境,采用C语言编写系统软件,实现各传感器数据采集与处理、OLED显示驱动、模式切换、自动控制(照明、报警、语音提醒)、手动控制、阈值调节、蓝牙通信及手机APP对接等功能,确保各模块协同工作。
4. 蓝牙APP对接与调试:完成系统与蓝牙APP的对接,开发APP控制界面,实现数据接收(心率、血氧、体温、光照、GPS经纬度)和控制指令下发(照明、报警)功能;调试APP与系统的通信稳定性,确保数据传输流畅、指令响应及时。
5. 系统调试与性能测试:对硬件电路进行调试,确保各模块正常工作;对软件程序进行调试,解决程序中的逻辑错误;对系统的各项功能和性能进行测试,验证传感器采集精度、GPS定位准确性、蓝牙通信稳定性、模式切换流畅性等,优化系统性能。
1.3.2 研究目标
本文的研究目标是设计并实现一套基于STM32的智能宠物项圈,结合指定材料清单,满足所有功能需求,具体目标如下:
1. 实现核心功能:完成7项核心功能(环境采集、OLED显示、模式切换、自动模式控制、手动模式控制、阈值调节、蓝牙APP管控)的设计与实现,确保各功能正常运行、协同工作,完全贴合需求中的功能描述。
2. 保证系统性能:传感器采集精准,心率血氧、体温、光照强度数据采集误差在允许范围内,GPS定位误差较小;OLED显示清晰直观,实时展示各项数据;模式切换流畅,自动模式下照明、报警、语音提醒响应及时,手动模式下控制灵活;蓝牙通信稳定,APP数据接收和指令下发无明显延迟;系统运行稳定,续航能力良好,适合宠物长期佩戴。
3. 提升实用性:项圈体积小巧、重量轻、佩戴舒适,不影响宠物正常活动;操作简便,通过按键即可实现模式切换、阈值调节和手动控制;手机APP界面简洁,易于操作,方便宠物主人实时查看宠物状态、下发控制指令;硬件成本适中,结构紧凑,便于安装和维护,能够适应不同体型宠物的佩戴需求。
1.4 论文结构安排
本文共分为6章,具体结构安排如下:
第一章为绪论,阐述本文的研究背景与意义、国内外研究现状、研究内容与目标及论文结构安排。
第二章为系统相关技术基础,介绍STM32单片机、传感器技术(心率血氧、温度、GPS、光敏)、OLED显示技术、蓝牙通信技术、语音模块技术及电源管理技术,结合材料清单中的元器件特性,为系统设计提供理论支撑。
第三章为系统总体设计,明确系统功能需求和材料清单,设计系统总体架构,划分硬件模块和软件模块,制定系统设计方案、控制逻辑和技术路线。
第四章为系统硬件设计,详细阐述各硬件模块(基于材料清单)的选型、电路设计及硬件组装过程,确保各模块接线合理、适配性良好。
第五章为系统软件设计,详细阐述软件总体架构、各模块程序设计、蓝牙通信程序、手机APP对接程序的开发过程,实现所有功能需求。
第六章为系统调试与性能测试,介绍系统调试过程,对系统各项功能和性能进行测试,分析测试结果,总结系统存在的不足及改进方向。
最后为结论与展望,总结本文的研究成果,对系统的未来发展进行展望。
第二章 系统相关技术基础
2.1 STM32单片机相关技术
2.1.1 STM32F103C8T6简介
本文选用STM32F103C8T6最小系统板作为系统的核心控制单元,该芯片属于ST公司推出的STM32F1系列单片机,基于ARM Cortex-M3内核,主频最高可达72MHz,具有高性能、低功耗、体积小、性价比高、外设丰富的优势,非常适合智能宠物项圈这种便携式智能设备的开发。
STM32F103C8T6拥有64KB的Flash存储器和20KB的SRAM,可满足系统程序存储和数据处理的需求;配备了多个通用I/O口、UART串口、SPI接口、I2C接口、ADC接口等外设,便于与材料清单中的各类传感器、显示模块、通信模块等外设进行连接;支持多种低功耗模式,可有效降低系统功耗,延长项圈的续航时间,适应宠物长期佩戴的需求。
2.1.2 STM32开发环境
系统软件开发采用Keil MDK5开发环境,该环境是ARM公司推出的嵌入式开发工具,支持STM32系列单片机的开发,具有强大的代码编辑、编译、调试功能。Keil MDK5集成了ARM Compiler 5编译器,能够对C语言程序进行高效编译,生成可执行文件;配备了调试器,支持在线调试,可实时查看程序运行状态,快速定位并解决程序中的错误。
此外,还需要安装STM32F103C8T6的芯片包,确保开发环境能够识别该芯片,正常进行程序的编译和下载;同时,需安装相关的库函数,简化程序开发流程,提高开发效率,实现各外设的快速驱动和功能开发,适配材料清单中的所有硬件模块。
2.2 传感器技术
2.2.1 心率血氧传感器技术
本文选用材料清单中的MAX30102心率血氧传感器,实现宠物心率和血氧数据的采集。MAX30102是一款高精度、低功耗的心率血氧集成传感器,具有测量精准、响应速度快、体积小、功耗低等优势,非常适合便携式设备的健康监测场景,能够精准检测宠物的心率和血氧饱和度。
MAX30102传感器的工作电压为3.3V,采用I2C通信协议,可直接与STM32单片机的I2C接口连接,接线简单,占用I/O口少。该传感器内置红外LED和红光LED,通过检测宠物皮肤表面的光反射信号,计算出心率和血氧饱和度数据,测量范围广、精度高,能够满足宠物健康监测的需求。STM32单片机通过I2C协议与传感器通信,读取心率和血氧数据,经过数据处理后,在OLED屏幕上显示,并通过蓝牙模块上传至手机APP。
2.2.2 温度传感器技术
选用材料清单中的DS18B20温度传感器,实现宠物体温数据的采集。DS18B20是一款单总线数字温度传感器,具有测量精度高、抗干扰能力强、接线简单、体积小等优势,适用于宠物体温这种近距离、高精度的温度测量场景。
DS18B20传感器的工作电压为3.3V-5V,输出数字信号,通过单总线与STM32单片机的GPIO口连接,无需额外的ADC转换模块。该传感器的测量范围为-55℃~+125℃,测量精度为±0.5℃,能够精准检测宠物的体温变化。STM32单片机通过单总线协议与传感器通信,发送控制指令后,传感器返回温度数据,经过数据处理后,得到宠物的实时体温,用于健康状态判断和报警触发。
2.2.3 GPS传感器技术
选用材料清单中的GPS传感器,实现宠物位置信息的采集和追踪。GPS传感器能够接收卫星信号,获取宠物的经纬度坐标,通过串口与STM32单片机连接,将位置数据传输给主控单元,实现宠物位置的实时监测和走失追踪。
GPS传感器的工作电压为3.3V,采用UART串口通信,与STM32单片机的UART接口连接,接线简单。传感器开机后自动搜索卫星信号,定位成功后,实时输出经纬度数据,STM32单片机接收数据后,进行解析和处理,将经纬度信息在OLED屏幕上显示,并通过蓝牙模块上传至手机APP,宠物主人可通过APP实时查看宠物的位置,实现走失追踪。
2.2.4 光敏传感器技术
选用材料清单中的光敏传感器,实现环境光照强度的采集。光敏传感器基于光电效应原理,能够将光照强度转换为电信号,具有响应速度快、成本低、体积小等优势,适用于环境光照强度的实时检测,为LED照明的自动控制提供数据依据。
光敏传感器的工作电压为3.3V,输出模拟信号,通过ADC接口与STM32单片机连接。传感器的阻值会随着光照强度的变化而变化:光照强度越强,阻值越小,输出的模拟电压越高;光照强度越弱,阻值越大,输出的模拟电压越低。STM32通过ADC转换将模拟信号转换为数字信号,经过数据处理后,得到环境光照强度数据,用于自动模式下LED照明灯的开启控制。
2.3 OLED显示技术
本文选用材料清单中的4针IIC协议OLED显示屏,作为系统的本地数据显示设备。该显示屏具有分辨率高、对比度高、响应速度快、功耗低、视角广、自发光、体积小等优势,能够清晰、直观地显示宠物心率、血氧、体温、环境光照强度、GPS经纬度、系统模式等信息,适合宠物项圈的便携式显示需求。
4针IIC协议OLED显示屏的工作电压为3.3V,采用I2C通信协议,与STM32单片机的I2C接口连接,接线简单(仅需VCC、GND、SDA、SCL四根线),占用I/O口少。显示屏的分辨率为128×64,可显示字符、数字、图形等信息,通过编写显示驱动程序,可实现数据的实时显示和界面的切换,方便宠物主人本地查看宠物状态。
2.4 蓝牙通信技术
选用材料清单中的BT04A蓝牙模块,实现系统与手机APP的远程通信。BT04A是一款基于蓝牙4.0协议的低功耗蓝牙模块,具有体积小、通信稳定、功耗低、编程简单等优势,支持UART串口通信,可实现数据的双向传输,适用于智能宠物项圈的短距离无线通信场景。
BT04A蓝牙模块的工作电压为3.3V,通过UART串口与STM32单片机连接,实现数据的双向传输:STM32单片机将宠物心率、血氧、体温、环境光照强度、GPS经纬度等数据发送给蓝牙模块,蓝牙模块通过蓝牙与手机APP建立连接,将数据上传至APP;用户通过手机APP发送控制指令(如控制LED照明、蜂鸣器报警),指令经蓝牙模块传输到STM32单片机,实现远程管控。
2.5 语音模块技术
选用材料清单中的JR6001语音模块,实现蓝牙断开后的语音提醒功能。JR6001是一款低成本、低功耗的语音播放模块,支持语音录制和播放,具有体积小、音质清晰、操作简单等优势,可通过GPIO口与STM32单片机连接,实现指定语音的触发播放。
JR6001语音模块的工作电压为3.3V-5V,通过GPIO口与STM32单片机连接,当STM32单片机检测到蓝牙模块与手机APP第一次连接后断开时,输出控制信号,触发语音模块播放预设的语音“小宠物,快回到主人身边”,提醒宠物返回主人身边,同时提醒主人宠物可能走失。
2.6 报警与照明技术
2.6.1 蜂鸣器报警技术
选用材料清单中的有源蜂鸣器,实现系统的报警功能。有源蜂鸣器自带振荡电路,通电后即可发出高分贝报警声,工作电压为5V,通过GPIO口与STM32单片机连接,结构简单,易于实现。当宠物心率、血氧、体温超过预设阈值时,STM32单片机控制蜂鸣器发出报警声,提醒宠物主人宠物健康出现异常;手动模式下,用户可通过按键控制蜂鸣器报警。
2.6.2 LED照明技术
选用材料清单中的大功率LED灯模块,实现系统的照明功能。大功率LED灯具有亮度高、功耗低、寿命长等优势,工作电压为5V,通过驱动电路与STM32单片机连接,支持自动和手动两种控制方式。自动模式下,当环境光照强度小于预设阈值时,STM32单片机控制LED灯开启,为宠物提供照明;手动模式下,用户可通过按键控制LED灯的开启和关闭。
2.7 电源管理技术
智能宠物项圈需要长期佩戴,对续航能力要求较高,系统采用锂电池供电,配备充电模块,实现电源的稳定供给和充电管理。选用3.7V锂电池作为供电电源,通过AMS1117-3.3V稳压芯片将锂电池电压转换为3.3V,为STM32单片机、传感器、OLED显示屏、蓝牙模块等需要3.3V供电的模块供电;通过升压模块将3.7V电压转换为5V,为有源蜂鸣器、大功率LED灯模块等需要5V供电的模块供电。同时,加入电源保护电路,防止过充、过放,延长锂电池的使用寿命。
2.8 本章小结
本章主要介绍了系统设计过程中涉及的相关技术,结合材料清单中的元器件特性,包括STM32单片机技术、传感器技术(MAX30102心率血氧、DS18B20温度、GPS、光敏)、OLED显示技术、BT04A蓝牙通信技术、JR6001语音模块技术、报警与照明技术及电源管理技术。STM32F103C8T6单片机为系统提供核心控制能力;各类传感器实现宠物健康数据、环境数据及位置信息的采集;OLED显示屏实现本地数据显示;BT04A蓝牙模块实现系统与手机APP的远程通信;JR6001语音模块实现蓝牙断开后的语音提醒;蜂鸣器和LED灯模块实现报警和照明功能;电源管理技术确保系统稳定供电和长效续航。这些技术的应用,为系统的设计与实现提供了坚实的理论支撑和技术保障。
第三章 系统总体设计
3.1 系统功能需求与材料清单分析
3.1.1 系统功能需求
根据智能宠物项圈的实际使用需求,本文设计的基于STM32的智能宠物项圈需实现7项核心功能,涵盖环境采集、显示、模式切换、自动控制、手动控制、阈值调节及蓝牙APP管控等多个方面,具体功能需求如下:
1. 环境采集功能:通过光敏传感器采集环境光照强度、MAX30102心率血氧传感器检测宠物的心率血氧数据、DS18B20温度传感器检测宠物的体温数据、GPS模块检测宠物的位置信息(经纬度),所有采集数据精准、实时。
2. 显示功能:将采集到的心率、血氧、体温、环境光照强度、GPS经纬度等信息数据,清晰、直观地显示在4针IIC协议OLED屏幕上,方便用户本地查看。
3. 模式切换功能:通过按键可以切换手动模式和自动模式,两种模式切换流畅,切换后系统立即执行对应模式的控制逻辑,同时在OLED屏幕上显示当前模式。
4. 自动模式功能:光照强度小于预设阈值时,自动开启大功率LED照明灯;宠物心率、血氧、体温超过预设阈值时,有源蜂鸣器自动报警提醒;单片机与手机蓝牙第一次连接后断开连接时,JR6001语音模块播报“小宠物,快回到主人身边”。
5. 手动模式功能:手动模式下,可通过按键控制大功率LED照明灯的开启和关闭,可通过按键控制有源蜂鸣器的报警与停止,操作便捷。
6. 阈值调节功能:可以通过按键进入系统设置界面,可自定义设置心率、血氧、体温和光照强度的阈值,适应不同宠物的个体差异,设置后阈值自动保存,断电不丢失。
7. 蓝牙APP功能:通过BT04A蓝牙模块与手机APP建立连接,APP可实时接收宠物心率、血氧、体温、环境光照强度和GPS经纬度信息数据;用户可通过APP上的按钮,完成控制指令下发(控制LED照明、蜂鸣器报警)。
3.1.2 材料清单分析
系统硬件严格按照指定材料清单选型,所有元器件均适配STM32F103C8T6单片机,确保硬件兼容性和系统稳定性,材料清单及各元器件作用如下:
1. STM32F103C8T6最小系统板:系统核心控制单元,负责接收各模块信号、数据处理、控制各模块工作,实现所有功能的协同运行。
2. OLED显示屏(4针IIC协议):本地数据显示设备,用于显示宠物健康数据、环境数据、GPS位置、系统模式等信息。
3. MAX30102心率血氧传感器:采集宠物心率和血氧饱和度数据,为宠物健康监测提供依据。
4. DS18B20温度传感器:采集宠物体温数据,监测宠物体温变化,及时发现健康异常。
5. GPS传感器:采集宠物位置信息(经纬度),实现宠物位置追踪,防止宠物走失。
6. 光敏传感器:采集环境光照强度数据,为LED照明的自动控制提供依据。
7. BT04A(蓝牙模块):实现系统与手机APP的无线通信,完成数据传输和控制指令下发。
8. JR6001语音模块:实现蓝牙断开后的语音提醒,提醒宠物返回和主人注意。
9. 有源蜂鸣器:实现健康异常报警和手动报警功能,发出高分贝提醒声。
10. 大功率LED灯模块:实现照明功能,支持自动和手动控制,为宠物夜间活动提供照明。
此外,配套选用3.7V锂电池、AMS1117-3.3V稳压芯片、升压模块、按键、电阻、电容等辅助元器件,确保硬件系统的稳定运行和长效续航。
3.2 系统总体架构设计
基于系统功能需求和材料清单,本文设计的智能宠物项圈采用模块化架构,以STM32F103C8T6最小系统板为核心,分为硬件层、软件层和手机APP层三部分,系统总体架构如图3-1所示(此处可插入架构图,论文中补充)。
1. 硬件层:主要包括主控模块、环境采集模块、显示模块、模式控制模块、报警模块、照明模块、通信模块、语音模块及电源模块。主控模块(STM32F103C8T6)负责系统的整体控制和数据处理;环境采集模块(MAX30102、DS18B20、GPS、光敏传感器)负责采集各类数据;显示模块(OLED显示屏)负责本地数据显示;模式控制模块(按键)负责模式切换和阈值调节;报警模块(有源蜂鸣器)负责健康异常报警和手动报警;照明模块(大功率LED灯)负责照明功能;通信模块(BT04A蓝牙)负责与手机APP通信;语音模块(JR6001)负责蓝牙断开语音提醒;电源模块负责为整个系统提供稳定的供电。
2. 软件层:主要包括主控程序、传感器数据采集与处理程序、OLED显示驱动程序、模式切换程序、自动控制程序、手动控制程序、阈值调节程序、蓝牙通信程序、语音播放程序、APP对接程序及电源管理程序。主控程序负责协调各模块程序的运行;采集与处理程序负责采集各类传感器数据并进行解析处理;显示驱动程序负责控制OLED显示屏显示数据;模式切换程序负责实现手动/自动模式的切换;自动控制程序负责自动模式下的照明、报警、语音提醒功能;手动控制程序负责手动模式下的照明和报警控制;阈值调节程序负责阈值的设置与保存;蓝牙通信程序负责实现数据的双向传输;语音播放程序负责触发语音模块播放预设语音;APP对接程序负责实现系统与手机APP的通信;电源管理程序负责电源的稳定供给和低功耗控制。
3. 手机APP层:主要包括APP控制界面、数据显示界面、参数设置界面,负责接收系统发送的各类数据,显示宠物实时状态,同时向系统发送控制指令,实现远程管控和数据查看。
3.3 系统设计原则
为确保系统的实用性、稳定性和便携性,结合智能宠物项圈的使用场景和材料清单,本文在系统设计过程中遵循以下原则:
1. 便携性原则:选用体积小、重量轻的元器件,优化硬件结构设计,确保项圈体积小巧、佩戴舒适,不影响宠物的正常活动,适配不同体型的宠物。
2. 稳定性原则:选用性能稳定、质量可靠的元器件(严格遵循材料清单),硬件电路设计合理,软件程序逻辑严谨,确保系统长期稳定运行,减少故障发生;优化传感器采集算法和蓝牙通信机制,提升数据采集精度和通信稳定性,减少数据偏差和通信中断。
3. 实用性原则:系统功能贴合宠物主人的实际需求,操作简便,通过按键即可实现模式切换、阈值调节和手动控制;OLED屏幕显示清晰,便于用户本地查看;手机APP界面简洁,易于操作,支持实时数据查看和远程控制,让用户随时随地掌握宠物状态。
4. 低功耗原则:优化硬件电路和软件程序,选用低功耗元器件,开启STM32单片机的低功耗模式,降低系统功耗,延长锂电池续航时间,满足宠物长期佩戴的需求。
5. 经济性原则:在满足系统功能和性能的前提下,严格按照材料清单选型,选用性价比高的元器件,降低系统硬件成本,简化电路设计,降低开发和维护成本,便于大规模推广应用,适应普通宠物主人的消费需求。
3.4 系统技术路线
本文按照“需求分析与材料梳理—总体设计—硬件设计—软件设计—APP开发—系统调试—性能测试”的技术路线,结合材料清单和功能需求,完成基于STM32的智能宠物项圈的设计与实现,具体技术路线如下:
1. 需求分析与材料梳理:明确系统的7项核心功能需求,梳理材料清单中的元器件特性,确定各元器件的连接方式和适配方案,制定系统的设计目标和技术指标。
2. 总体设计:设计系统的总体架构,划分硬件模块、软件模块和手机APP层,制定系统的设计方案、控制逻辑和参数设置规则,确保各模块协同工作。
3. 硬件设计:根据材料清单,完成各硬件模块的元器件选型、电路设计,绘制电路原理图,制作PCB板,进行硬件焊接与组装,确保各模块接线合理、工作正常。
4. 软件设计:基于Keil MDK开发环境,编写系统各模块的软件程序,实现传感器数据采集、OLED显示、模式切换、自动控制、手动控制、阈值调节、蓝牙通信、语音播放、APP对接等功能。
5. APP开发:开发手机蓝牙APP控制界面,实现数据接收、指令下发、参数设置等功能,完成APP与BT04A蓝牙模块的对接,确保通信稳定。
6. 系统调试:对硬件电路进行调试,检查各模块是否正常工作;对软件程序进行调试,解决程序中的逻辑错误,确保系统正常运行;调试蓝牙通信和APP对接,确保数据传输流畅、指令响应及时;调试传感器和执行模块,提升采集精度和控制可靠性。
7. 性能测试:对系统的各项功能和性能进行测试,验证传感器采集精度、GPS定位准确性、蓝牙通信稳定性、模式切换流畅性、续航能力等,分析测试结果,优化系统性能。
3.5 系统控制逻辑
系统采用多模块协同工作的控制逻辑,各功能模块相互配合,实现宠物健康监测、环境感知、位置追踪、智能报警及远程管控,具体控制逻辑如下:
1. 系统上电后,默认进入自动模式,各传感器开始工作,GPS模块搜索卫星信号,OLED显示屏显示实时时间、当前模式及初始采集数据;BT04A蓝牙模块开启,等待与手机APP建立连接;电源管理模块开始工作,确保供电稳定。
2. 各功能控制逻辑:
(1)环境采集与显示:MAX30102、DS18B20、光敏传感器、GPS传感器实时采集数据,STM32单片机对数据进行解析处理后,在OLED屏幕上显示心率、血氧、体温、光照强度、GPS经纬度等信息,同时通过蓝牙模块将数据上传至手机APP。
(2)模式切换:用户通过按键切换手动/自动模式,切换后OLED屏幕显示当前模式,系统立即执行对应模式的控制逻辑;再次按下按键,可切换回原模式。
(3)自动模式控制:STM32单片机实时对比光照强度与预设阈值,光照小于阈值时,控制大功率LED灯开启;实时对比心率、血氧、体温与预设阈值,任意一项超过阈值时,控制有源蜂鸣器报警;检测到蓝牙第一次连接后断开时,控制JR6001语音模块播放预设语音。
(4)手动模式控制:用户通过对应按键,控制LED灯的开启和关闭,控制蜂鸣器的报警与停止,操作结果实时在OLED屏幕上显示,并同步至手机APP。
(5)阈值调节:用户通过按键进入设置界面,通过按键选择需要调节的阈值(心率、血氧、体温、光照),调节完成后保存,阈值数据存储在STM32的Flash中,断电不丢失;调节后的阈值实时在OLED屏幕上显示。
(6)蓝牙APP管控:蓝牙模块与手机APP建立连接后,实时上传采集数据;用户通过APP下发控制指令,指令经蓝牙模块传输至STM32单片机,执行相应操作(控制LED、蜂鸣器),并将操作结果反馈至APP。
3. 异常处理逻辑:当传感器采集数据异常(如数据超出测量范围)时,OLED屏幕显示“数据异常”提示,同时通过蓝牙推送异常信息至APP;当蓝牙连接中断时,若为第一次连接后断开,触发语音提醒,否则仅在APP上提示连接中断;当锂电池电量过低时,OLED屏幕显示“电量不足”提示,同时推送至APP,提醒用户充电。
3.6 本章小结
本章主要完成了系统的总体设计,包括系统功能需求与材料清单分析、总体架构设计、设计原则、技术路线及控制逻辑。通过功能需求分析,明确了系统的7项核心功能;结合材料清单,确定了各元器件的选型和适配方案;采用模块化架构,将系统分为硬件层、软件层和手机APP层,确保系统结构清晰、易于开发和维护;遵循便携性、稳定性、实用性等设计原则,制定合理的技术路线和控制逻辑,实现各功能模块的协同工作,为后续系统的硬件设计和软件设计奠定了基础。
第四章 系统硬件设计
4.1 硬件总体设计
系统硬件采用模块化设计,严格按照材料清单选型,以STM32F103C8T6最小系统板为核心,整合环境采集模块、显示模块、模式控制模块、报警模块、照明模块、通信模块、语音模块及电源模块,各模块通过相应的接口与主控模块连接,实现数据传输和指令交互。硬件总体框图如图4-1所示(此处可插入硬件框图,论文中补充)。
硬件设计的核心思路是:在满足所有功能需求的前提下,优化电路结构,减小体积、降低功耗,确保各模块适配性良好、工作稳定,同时兼顾佩戴舒适性和经济性。各硬件模块的连接关系如下:STM32F103C8T6单片机通过I2C接口连接MAX30102心率血氧传感器和OLED显示屏;通过GPIO口连接DS18B20温度传感器、光敏传感器、按键、有源蜂鸣器、JR6001语音模块、大功率LED灯模块;通过UART串口连接GPS传感器和BT04A蓝牙模块;电源模块为所有模块提供稳定供电。
4.2 主控模块设计
4.2.1 主控芯片选型与最小系统板
结合系统功能需求、材料清单和便携性要求,本文选用STM32F103C8T6最小系统板作为系统的主控模块。该最小系统板已集成电源接口、复位电路、晶振电路、下载接口等基础电路,无需额外设计,可直接使用,有效减小硬件体积、简化电路设计,降低开发难度。
STM32F103C8T6芯片的核心优势的是:基于ARM Cortex-M3内核,主频72MHz,能够快速处理各模块的信号和控制指令,满足系统实时性要求;外设丰富,拥有多个I/O口、UART串口、I2C接口、ADC接口等,可直接与材料清单中的所有外设连接;低功耗特性突出,支持多种低功耗模式,能够有效延长项圈续航时间;体积小、性价比高,适合便携式智能设备开发。
4.2.2 主控模块接口分配
为确保各模块正常工作,合理分配STM32F103C8T6的I/O口和外设接口,结合材料清单中的元器件特性,接口分配如下(仅列出核心接口):
1. I2C接口:PB6(I2C1_SCL)、PB7(I2C1_SDA),连接MAX30102心率血氧传感器和OLED显示屏(4针IIC);
2. GPIO口:PB0连接DS18B20温度传感器,PB1连接光敏传感器,PB2-PB4连接控制按键(模式切换、阈值调节、手动控制),PB5连接有源蜂鸣器,PB8连接JR6001语音模块,PA0连接大功率LED灯模块;
3. UART串口:USART1(PA9-TX、PA10-RX)连接GPS传感器,USART2(PA2-TX、PA3-RX)连接BT04A蓝牙模块;
4. ADC接口:PA4连接光敏传感器(模拟信号输入),用于采集光照强度数据;
5. 电源接口:VCC(3.3V)、GND,连接电源模块,为单片机供电。
4.3 环境采集模块设计
4.3.1 心率血氧传感器模块(MAX30102)设计
MAX30102心率血氧传感器模块采用I2C通信协议,与STM32F103C8T6的I2C接口连接,具体电路设计如下:
传感器的VCC引脚接3.3V电源,GND引脚接地,SCL引脚接STM32的PB6引脚(I2C1_SCL),SDA引脚接STM32的PB7引脚(I2C1_SDA);为了提高通信稳定性,在SCL和SDA引脚与VCC引脚之间分别串联一个10KΩ的上拉电阻,确保数据传输稳定,减少信号干扰;同时,在传感器的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对传感器的影响。
MAX30102传感器工作时,通过红外LED和红光LED发射光线,照射宠物皮肤表面,接收反射光线并转换为电信号,STM32单片机通过I2C协议发送控制指令,读取传感器内部的心率和血氧数据,经过数据处理后,得到宠物的实时心率和血氧饱和度,用于健康监测和报警触发。
4.3.2 温度传感器模块(DS18B20)设计
DS18B20温度传感器采用单总线通信,与STM32F103C8T6的GPIO口连接,具体电路设计如下:
传感器的VCC引脚接3.3V电源,GND引脚接地,DQ引脚(数据引脚)接STM32的PB0引脚;为了提高数据传输的稳定性,在DQ引脚与VCC引脚之间串联一个10KΩ的上拉电阻,确保单总线通信稳定,避免信号丢失;同时,在传感器的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源干扰。
DS18B20传感器无需额外的ADC转换模块,可直接输出数字温度信号,STM32单片机通过单总线协议发送复位信号和读取指令,传感器返回温度数据,经过解析处理后,得到宠物的实时体温,当体温超过预设阈值时,触发蜂鸣器报警。
4.3.3 GPS传感器模块设计
GPS传感器采用UART串口通信,与STM32F103C8T6的USART1接口连接,具体电路设计如下:
传感器的VCC引脚接3.3V电源,GND引脚接地,TX引脚(数据发送)接STM32的PA10引脚(USART1_RX),RX引脚(数据接收)接STM32的PA9引脚(USART1_TX);为了确保通信稳定,在TX和RX引脚与GND之间分别并联一个100nF的电容,用于滤波,减少信号干扰;同时,在传感器的VCC和GND引脚之间并联一个10uF的电解电容和一个100nF的陶瓷电容,用于稳定电源电压,避免电压波动影响传感器工作。
GPS传感器开机后,自动搜索卫星信号,定位成功后,通过UART串口实时输出经纬度数据(NMEA协议格式),STM32单片机接收数据后,对NMEA协议数据进行解析,提取经纬度信息,转换为可显示的格式,在OLED屏幕上显示,并通过蓝牙模块上传至手机APP。
4.3.4 光敏传感器模块设计
光敏传感器输出模拟信号,通过ADC接口与STM32F103C8T6的ADC接口连接,具体电路设计如下:
传感器的VCC引脚接3.3V电源,GND引脚接地,OUT引脚(信号输出)接STM32的PA4引脚(ADC1通道);为了提高数据采集的稳定性,在OUT引脚与GND之间并联一个100nF的电容,用于滤波,减少信号干扰;同时,在传感器的VCC和GND引脚之间并联一个100nF的电容,用于稳定电源电压。
光敏传感器的阻值随光照强度变化而变化,输出的模拟电压也随之变化,STM32单片机通过ADC转换,将模拟信号转换为数字信号,经过数据处理后,得到环境光照强度数据,与预设阈值对比,用于自动模式下LED照明灯的开启控制。
4.4 显示模块设计(OLED显示屏)
显示模块选用材料清单中的4针IIC协议OLED显示屏,与STM32F103C8T6的I2C接口连接,具体电路设计如下:
OLED显示屏的VCC引脚接3.3V电源,GND引脚接地,SCL引脚接STM32的PB6引脚(I2C1_SCL),SDA引脚接STM32的PB7引脚(I2C1_SDA);由于OLED显示屏功耗低、工作电流小,无需额外的驱动电路,可直接由STM32单片机供电;为了确保显示稳定,在显示屏的VCC和GND引脚之间并联一个100nF的电容,用于滤波,减少电源噪声对显示效果的影响。
OLED显示屏的分辨率为128×64,采用I2C通信协议,STM32单片机通过I2C协议发送显示指令和数据,控制显示屏显示心率、血氧、体温、光照强度、GPS经纬度、系统模式、阈值等信息;通过编写显示驱动程序,实现多界面切换,将不同类型的数据分区域显示,确保显示清晰、直观,方便用户本地查看。
4.5 模式控制模块设计(按键)
模式控制模块采用3个独立按键,分别实现模式切换、阈值调节、手动控制功能,与STM32F103C8T6的GPIO口连接,具体电路设计如下:
3个按键的一端分别接STM32的PB2、PB3、PB4引脚,另一端均接地;为了防止按键抖动,在每个按键的GPIO口端与VCC引脚之间串联一个10KΩ的上拉电阻,同时在按键两端并联一个100nF的电容,用于硬件消抖;此外,通过软件消抖算法,进一步提升按键输入的稳定性,避免误操作。
按键功能分配如下:PB2按键为模式切换键,按下一次切换手动/自动模式;PB3按键为阈值调节键,按下后进入阈值设置界面,配合PB4按键实现阈值的增减调节;PB4按键为手动控制键,手动模式下,按下控制LED灯开启/关闭,长按控制蜂鸣器报警/停止。
4.6 报警模块设计(有源蜂鸣器)
报警模块选用材料清单中的有源蜂鸣器,与STM32F103C8T6的GPIO口连接,通过三极管驱动,具体电路设计如下:
有源蜂鸣器的VCC引脚接5V电源,GND引脚通过一个NPN三极管(PNP8050)接地,三极管的基极通过一个1KΩ的限流电阻接STM32的PB5引脚;为了保护蜂鸣器,在蜂鸣器的VCC引脚与GND引脚之间并联一个二极管,防止电流反向冲击损坏蜂鸣器;同时,在三极管的基极与GND之间并联一个10KΩ的下拉电阻,确保三极管在未收到控制信号时处于截止状态,蜂鸣器不工作。
当系统检测到宠物心率、血氧、体温超过预设阈值,或手动模式下用户按下报警控制键时,STM32单片机输出高电平,控制三极管导通,蜂鸣器通电发出高分贝报警声;报警解除后,STM32输出低电平,三极管截止,蜂鸣器停止报警。
4.7 照明模块设计(大功率LED灯)
照明模块选用材料清单中的大功率LED灯模块,与STM32F103C8T6的GPIO口连接,通过三极管驱动,具体电路设计如下:
大功率LED灯的阳极接5V电源,阴极通过一个NPN三极管(PNP8050)接地,三极管的基极通过一个1KΩ的限流电阻接STM32的PA0引脚;为了保护LED灯,在LED灯两端并联一个二极管,防止电流反向冲击损坏LED灯;同时,在三极管的基极与GND之间并联一个10KΩ的下拉电阻,确保三极管在未收到控制信号时处于截止状态,LED灯不工作。
自动模式下,当环境光照强度小于预设阈值时,STM32单片机输出高电平,控制三极管导通,LED灯点亮;光照强度大于阈值时,输出低电平,LED灯熄灭;手动模式下,用户通过按键控制STM32输出高/低电平,实现LED灯的开启和关闭,照明状态实时在OLED屏幕上显示,并同步至手机APP。
4.8 通信模块设计(BT04A蓝牙)
通信模块选用材料清单中的BT04A蓝牙模块,采用UART串口通信,与STM32F103C8
更多推荐



所有评论(0)