基于STM32F103的网络温度报警器物联网解析
更新时间:2023-05-03 15:34:01 阅读量: 实用文档 文档下载
基于STM32F103的网络温度报警器设计
作品名:基于STM32F103的网络温度报警器设计
作者:陈华健贾从含
时间:2015年6月17日
1
目录:
1.引言 (1)
2.利用普通二极管PN 结测试环境温度原理 (2)
3.器件的选择和芯片的介绍 (4)
4.UC/OS系统移植 (6)
5.文件系统的移植与文件系统基本函数的功能 (16)
6.Uip及socket实现方法 (27)
2
1.引言
近年来随着科技的飞速发展,嵌入式的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的嵌入式应用系统中,嵌入式往往作为一个核心部件来使用,仅嵌入式方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本系统使用STM32F103实现了接收由上位机通过TCP 协议发出的温度报警阈值信号,并存于SD片卡中。单片机利用普通二极管的PN 结测试环境温度,每30s 采集一次,将采集到的温度信息补充上时间(时、分、秒、毫秒)标注存储在存储芯片中。并将报警时的温度值与当前时间的温度进行比较,当前温度大于阀值温度时,通过发光二极管或蜂鸣器报警。上位机通过TCP,向单片机发送“Read_Info”命令后,单片机能将SD 卡中存储的所有数据发到PC 机的串口助手中;数据格式美观、易懂。
本系统采用普通二极管PN节的温度特性来测量环境温度不失为一种低成本而又容易实现的环境温度测量方式。使用STM32自带的ADC模块进一步降低了成本和设计难度。采用大容量存储芯片可以长时采集环境数据,并且在采集到的温度补充上时间信息使数据更加可信,同时移植了文件系统方便文件在WINDOWS下的读取和处理。
本系统采用了无线传输的方式配合可靠的电源设备或太阳能设备可以在室外持续的传输回温度信息或其他的气象数据(需配合适当的传感器),减少了人工成本,并且更加适应于野外大规模投放接点。
1
2.利用普通二极管PN 结测试环境温度原理.
温度是表示物体或环境冷热程度的一种物理量,而温度传感器是一种能将温度变化转换成电量变化的元器件。由于二极管制造工艺的特殊性,我们可以利用二极管的伏安特性来测量环境的温度,它的伏安特性如下图
众所周知,将PN结用外壳封装起来,并加上电极引线就构成了半导体二极管,即所谓的二极管。由P区引出的电极为阳极,由N区引出的电极为阴极,如下图所示
温度对二极管的性能有较大的影响,温度升高时,二极管的正向压降将减小,每增加1C,正向压降减小约2mV,因此可以使用这一特性来测量环境温度。
2
3 由半导体理论可以得出,PN 结所加端电压u 与流过它的电流i 的关系为:
其中, Is 为反向饱和电流,对于硅材料来说,Is 约为10pA; q 为电子的电量,q=1.6*10的-9次方库伦; k 是玻耳茨曼常数,k=1.38*10的-23次方J/K ; T 为绝对温度, kT/q 可以用UT 来代替, 常温下,即T=300K 时,UT 约为26mV 。
对于足够大的电压,二极管方程可以近似写成
那么,二极管两端的电压可以推导出为:
因此温度的公式为:
)ln(D s
D i I k q u T ??
=
3.器件的选择和芯片的介绍
本系统采用了ST公司和高性能微控制器——STM32F130ZET6,该微控制器具有512K ROM以及62K RAM 足以满足该项目的需求。
本系统使用到的模块有:ENC28J60模块,0.96’OLED模块,SD卡模块,以及2个无线模块和USB-TTL模块。为了满足这些模块的供电需求另外自己用洞洞板做了AMS1117的稳压模块,以及采用德州仪器公司的TPS7333稳压芯片制作了稳压模块为无线模块提供稳定可靠的电源使数据的发送和接收更加稳定。
AMS1117系列稳压芯片有可调版与多种固定电压版,设计用于提供1A输出电流且工作压差可低至1V。在最大输出电流时,AMS1117器件的压差保证最大不超过1.3V,并随负载电流的减小而逐渐降低。本系统采用的是输出3.3v的固定电压版本。电路图如下:
4
TPS7333是由德州仪器公司研发生产的单通道线性稳压芯片,具有单输出LDO、500mA、固定电压(3.3V)、集成SVS、低静态电流,性能十分稳定,输出电压纹波低。应用电路比较简单,电路如下:
5
4.UC/OS系统移植
uC/OS是一个微型的实时操作系统,包括了一个操作系统最基本的一些特性,如任务调度、任务通信、内存管理、中断管理、定时管理等。而且这是一个代码完全开放的实时操作系统,简单明了的结构和严谨的代码风格,非常适合初涉嵌入式操作系统的人士学习。
很多人在学习STM32中,都想亲自移植一下uC/OS,而不是总是用别人已经移植好的。在我学习uC/OS的过程中,查找了很多资料,也看过很多关于如何移植uC/OS到STM32处理器上的教程,但都不尽人意,主要是因为是时间比较赶,无法静下心开好房学习,在一个月时间内完成STM32的学习以及UIP、文件系统的移植还是比较辛苦和困难的。
1.首先需要从官网上下载UC/OS的源码,并且选择STM32F103ZET6,由于官方没有公布KEIL版本的工程只有IAR版本,所以需要进行一定的修改才可用于KEIL中。UC/OS 的文件结构如下图所示:
6
7
2.按照下图的文件结构搭建uC/OS工程文件结构
①把LED工程所在的文件夹先改名为:STM32+UCOS
②在USER文件夹下新建includes.h头文件。
③按照之前给的uC/OS-II文件结构图,我们在工程的根目录下建立BSP文件夹、APP文件夹和uCOS-II文件夹。
BSP文件夹存放外设硬件驱动程序。
APP文件夹存放应用软件任务
uCOS-II文件夹uC/OS-II的相关代码
④把USER文件夹下的led.h 和led.c文件剪切到BSP文件夹里。
8
在BSP文件夹里新建BSP.c和BSP.h文件。
⑤在APP文件夹下建立app.h、app.c和app_cfg.h文件。
拷贝uC/OS-II源代码附件那里的Micrium\Software\EvalBoards\ST
\STM32F103ZE-SK\IAR\OS-Probe-LCD\os_cfg.h到此目录。
⑥把uC/OS-II源代码附件那里的\Micrium\Software\uCOS-II下的Source文件夹复制到工程里刚才新建的uCOS-II文件夹里。
把Micrium\Software\uCOS-II\Ports\arm-cortex-m3\Generic\IAR下的文件复制到工程uCOS-II文件夹中新建的Ports文件夹里。复制后,选中全部文件,右键——属性——去掉只读属性——确定。
如下图添加include path
9
3.配置uC/OS-II
a.修改os_cfg.h:
①首先禁用信号量、互斥信号量、邮箱、队列、信号量集、定时器、内存管理,关闭调试模式:
#define OS_FLAG_EN 0 //禁用信号量集
#define OS_MBOX_EN 0 //禁用邮箱
#define OS_MEM_EN 0 //禁用内存管理
#define OS_MUTEX_EN 0 //禁用互斥信号量
#define OS_Q_EN 0 //禁用队列
#define OS_SEM_EN 0 //禁用信号量
10
#define OS_TMR_EN 0 //禁用定时器
#define OS_DEBUG_EN 0 //禁用调试
b.修改os_cpu.h
注释掉这三行
void OS_CPU_SysTickHandler(void);
void OS_CPU_SysTickInit(void);
INT32U OS_CPU_SysTickClkFreq(void);
c.修改os_cpu_c.c
把OS_CPU_SysTickHandler(), OS_CPU_SysTickInit()及如下图的文件注释掉
d.修改os_cpu_a.asm
由于编译器的原因要将下面的PUBIC改为EXPORT:
PUBLIC OS_CPU_SR_Save ; Functions declared in this file
PUBLIC OS_CPU_SR_Restore
11
正在阅读:
两阳夹一阴06-04
《化工工艺学》试题库(部分)(7-7)05-04
02住宅统一决定12-24
新点2013清单造价江苏版操作视频讲稿01-11
秋兴八首其一12-25
川豪工装事业部运营建议书05-13
监督部门、评标专家权利义务04-10
欢乐的中秋节作文400字06-14
永磁同步发电机的设计及磁场有限元分析12-24
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 器物
- 联网
- STM32F103
- 报警
- 解析
- 温度
- 基于
- 网络
- 2018年八年级语文上册 第三单元 10短文二篇练习 新人教版(1)
- 2021年秋小学五年级少先队工作计划
- 房地产采购管理规定
- 小学奥数举一反三(三年级)全
- 2012电大财务报表分析网考全部试题答案
- 宁夏事业单位行考试行测答题技巧:火眼金睛之识别排列组合
- 2020幼儿园中班语言-小船悠悠(四篇)
- 2019年公安民警严打整治工作汇报(精选多篇)-优秀word范文 (10页)
- 医学高级职称考试模拟题-放射医学副高考试试题-
- 江西省中考语文一模试卷(II )卷
- 昆明市城镇二次供水卫生监督管理办法
- 计算机网络技术中级应知题
- 2020年幼儿园保健工作总结
- 销售部年终总结报告范文
- 2018-2024年中国非标油缸市场发展规划及投资战略可行性预测报告(目录)
- 土建施工记录及验评表式
- 执法人员文明用语规范
- 宝宝提高免疫力有哪些招数?
- 人教版高中物理必修一必修二物理模型
- 广东省20xx高考化学二轮复习专题19电化学原理导学案.doc