核心内容摘要
每日大赛每日大赛-每日大赛聚集地Nina:点燃你的竞技之魂,赢取荣耀与精彩!
2 系统总体设计方案及各模块选型
1 系统的总体设计方案本系统所设计的数据采集系统功能结构主要是应用于采集健身自行车的基本数据使得健身自行车的运行状态变得更加可视化系统的运行模式为以STM32作为主要控制芯片对各个模块采集到的数据进行处理后显示到显示模块上对采集到的电流模拟信号以及通过ADC单元转换为数字信号待数据稳定后发送到显示模块显示系统在空闲时将实时地显示时间以及周围环境的温湿度的变化当检测到周围的温湿度不在正常的范围内时此时告知警报模块做出警报当系统发现自行车转速不为空时系统将切换到采集自行车数据的模式中该模式下仍然会有实时时间的显示以及温湿度的检测增加新开启的时钟以对采集到的自行车车速以及电流等数据进行计算后得到实时的数据发送到显示模块显示总体的系统框图如下图
1所示。
图
1 总体系统框图
2.
4 显示模块选型目前嵌入式设备中显示模块只要有LED灯显示LCD屏幕显示以及OLED显示其中LED灯显示主要应用于简单的数字或简单的字符显示而由于LCD屏幕比较大所以LCD屏幕可以显示比较复杂的图形界面而且LCD屏幕色彩显示比较丰富故LCD屏幕在手机等电子设备上应用比较广泛。
OLED屏幕目前也是非常流行从显示效果上面来说OLED屏幕优于LED和LCD屏幕而且OLED屏幕更加节能所以价格上来说OLED屏幕相对前两者来说都略微显得高。
但是由于本次设计的系统显示的多数是文本类的信息类似于电脑的终端所以对显示屏幕的大小要求不高基于前面三种显示方式来说此处选用OLED更为恰当。
本文选择的OLED屏幕如图
5所示。
图
5 OLED屏幕模块3 系统硬件连接设计
1 STM32F407XX芯片简介STM32系列芯片目前被广泛应用于各行各业包括汽车行业变电站等等STM32系列是由ST公司开发的一种性能高功耗低价格合理的微控制器。
STM32的ART技术使得其芯片程序执行效率大大提高相对于传统的51单片机STM32可以说是一个质的提高其高速的运算能力以及丰富的外设都是51单片机不可比拟的。
STM32F4具有丰富的定时器以及多大一百多个引脚比起STM32F1多了两个32位的定时器使得STM32F4拥有更加持久更加精确的定时更多的引脚使得STM32F4有了更强的可拓展性。
并且拥有多重AHB总线矩阵和多通道DMA支持程序执行和数据传输并行处理[3]数据传输速率非常快由于这些优点STM32目前在嵌入式市场也是非常流行如图
1为STM32F407ZGT6。
图
1 STM32F407ZGT6芯片
2 温湿度传感器模块如图
2所示DHT11模块有3个引脚其中一个引脚用于接VCC5伏电压一个引脚用于接GND剩下的那个引脚是DATA引脚也就是数据传输的引脚本次将DHT11的DATA引脚接与STM32的PG9引脚也就是可以通过读取PG9引脚的值来获取DHT11获取到的数据硬件连接如图
2所示。
图
2 DHT11硬件连接
6 其他警报模块基于
的选型又根据LED灯和蜂鸣器的特点由于LED灯和蜂鸣器直接给对应的连接引脚即可实现度其控制故选用引脚时可选用功能较为简单的引脚结合本次的控制片本次将两个LED灯分别连接到PF9PF10引脚蜂鸣器连接到PF8引脚硬件连接图
6所示。
图
6 警报模块硬件连接4 系统软件设计
1 系统开发软件介绍由于基本控制器基于STM32F4 ARM内核因此许多基于ARM的嵌入式开发环境都可以应用于软件程序开发。
常见的ARM开发工具是MDK和IAR Evaram。
本次选择MDK作为系统开发工具。
这是ARM在2007年发布的嵌入式开发工具。
此环境将LTV的优势与ARM Real View编译器工具RVCT
1的优势结合在一起。
ARM嵌入式开发的主要工具MDK是为数不多的完全支持皮质的工具之一。
它是使用STM 32F40X系列处理器和外围接口以获取完整的数据手册[6]。
图
1显示了下面的开发环境。
图
1 KeilMDK开发环境
2 系统程序设计
4.
1 温湿度传感器模块程序设计DHT11温湿度传感器模块与主制芯片采用的是单总线协议通讯方式即是主控芯片发送一次复位信号请求DHT11传输数据DHT11接受到主机复位信号后从低功率模式转换到高速模式当主控芯片复位信号结束后DHT11立即向主控芯片发送响应信号同时将总线电平拉高准备开始数据传输。
DHT11传输数据有规定的协议一次完整的传输包括40bit也就是5个字节的数据其中8bit湿度整数部分数据8bit湿度小数部分数据8bit温度整数部分数据8bit温度小数部分数据以及8bit的数据校验数据校验位的数据如果为前4个字节数据相加[7]则表示数据传输正确否则则表示数据传输异常数据传输正常且主控芯片无再次发送复位信号请求数据时DHT11将自动切换回低功率模式当出现异常时主控芯片应再次发送复位信号请求DHT11传输数据连续5次接受到异常数据时主控芯片将视DHT11模块异常短时间内不再向DHT11发送数据请求。
DHT在传输数据时有严格的实习要求在操作时序上应严格按照时序图进行操作一般分以下几个步骤进行1主控芯片发送复位信号时序图如图
2所示首先主控芯片主动拉低总线电平至少保持18ms然后拉高总线电平至少保持
us此时主控芯片已完成复位信号的发送。
2主控芯片发送完成复位信号后DHT11发送应答信号时序图如图
2所示当DHT11监听到主控芯片的复位信号时立即切换到高速运作模式同时向主控芯片发送响应信号此时DHT11将总线电平拉低80us由于误差无可避免实际开发中很难保证电平拉低的时间为80us所以允许时间波动当低电平时间为
us时即可视为DHT11响应成功告诉主控芯片数据准备完成随之DHT11拉高总线电平80us在主控芯片接受到响应信号时立即会监听总线当监听到总线电平有80us的高电平时即认为DHT11已做好数据传输的准备做好开始传输数据的准备。
图
2 DHT11起始及相应时序信号图文章底部可以获取博主的联系方式获取源码、查看详细的视频演示或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。
对于本系统我们提供全方位的支持包括修改时间和标题以及完整的安装、部署、运行和调试服务确保系统能在你的电脑上顺利运行。