完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.电路图设计问题
(1)2016-11-02:SHT10温湿度传感器的DATA引脚未接10K上拉电阻到VCC3.3,造成数据读不出。 (2)2016-11-02:电路图中的USB转USART模块中CH340G芯片的2脚为TXD,应该接STM32F103ZET6的US1_RX,3脚为RXD,应该接STM32F103ZET6的US1_TX,原电路图中正好画反了。 (3)2016-11-13:P5的6脚和P5的7脚接反了,实际板子上6脚-》US2_TX 7脚-》US2_RX (4)2016-11-06:添加RTC_Init()函数,RTC初始化,必须初始化RTC外部32.678K晶振才能起震工作;此电路板32.678K晶振并联的电阻为10M才正常起震。 (5)示波器看传感器时序时有两种方法:1.看某个固定的函数时序时可以采用程序中写while(1)的方式;2.看整个时序时可以采用示波器上的trigger功能,调整触发值为3.3V以下,然后触发方式为单次,点击RUN后便停在有波形的位置。 (6)学习到AutoFlowchart和Source Insight 3的使用,可以更直观的查阅代码和跟踪代码。 2.SHT10温湿度传感器 首先讲讲SHT10这款温室度传感器。SHT1x(包括SHT10,SHT11和SHT15)属于Sersirion温湿度传感器家族中的贴片封装系列。更之前我讲过的DHT11这款温湿度传感器相比,体积小了许多,特别适合用于产品中。SHT10温湿度传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件(文绉绉的),传感器内部有一个精度高达14为位的A/D转换器,适应串行接口电路实现无缝连接。该产品具有品质卓越、响应速度速度快,抗干扰能力强、性价比高等优点。 1、接口定义: SHT10的接口定义 如上图所示,1脚为GND,4脚为VDD。它的供电电压范围为2.4~5.5V,建议的电压为3.3V,在电源引脚(VDD、GND)之间必须加上一个0.1uf的电容,应于去耦滤波用。它的2脚DATA为数据引脚,3脚SCK为时钟控制引脚,没有发现这两个引脚很像IIC所使用的引脚功能?没错,这个传感器确实可以认为是IIC接口,但是又有却别。该传感器不能按照IIC的协议编址,但是,如果IIC总线上没有挂接别的元件,传感器可以直接连到IIC总线上,但是单片机必须按照传感器的协议工作。 2、传感器的通讯 2.1、“启动传输”时序 用一组“启动传输”时序来完成数据传输的初始化。它包括:当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变成低电平,随后是在SCK时钟高电平,随后是在SCK时钟高电平DATA翻转位高电平。 2.2、复位时序 如果与SHT1x 通讯中断,可通过下列信号时序复位:当DATA 保持高电平时,触发SCK 时钟9 次或更多。 2.3、命令集 传感器的命令包含三个地址位(目前只支持000,这就是他只能挂接在空闲的IIC总线上的原因)和五个命令位。。SHT1x 会以下述方式表示已正确地接收到指令:在第8 个SCK 时钟的下降沿之后,将DATA 下拉为低电平(ACK 位)。在第9 个SCK 时钟的下降沿之后,释放DATA(恢复高电平)。 2.4、温湿度测量 发布一组测量命令(‘00000101’表示相对湿度RH,‘00000011’表示温度T)后,控制器要等待测量结束。这个过程需要大约20/80/320ms,分别对应8/12/14bit 测量。确切的时间随内部晶振速度,最多可能有-30%的变化。。SHT1x 通过下拉DATA 至低电平并进入空闲模式,表示测量的结束。控制器在再次触发SCK 时钟前,必须等待这个“数据备妥”信号来读出数据。检测数据可以先被存储,这样控制器可以继续执行其它任务在需要时再读出数据。 在收到CRC 的确认位之后,表明通讯结束。如果不使用CRC-8 校验,控制器可以在测量值LSB 后,通过保持ACK高电平终止通讯。在测量和通讯完成后,SHT1x 自动转入休眠模式。 2.5、状态寄存器 SHT1x 的某些高级功能可以通过给状态寄存器发送指令来实现,如选择测量分辨率,电量不足提醒,使用 OTP 加载或启动加热功能等。 测量分辨率:默认分辨率 14bit (温度) 和 12bit (湿度) 可以被降低为 12 和 8bit. 尤其适用于要求测量速度极高或者功耗极低的应用。 电量不足检测功能:在电压不足 2.47V 发出警告。精度为±0.05 V。 加热:可通过向状态寄存器内写入命令启动传感器内部加热器。。加热器可以使传感器的温度高于周围环境 5 – 10°C12 。功耗大约为 8mA @ 5V 。 OPT加载:开启此功能,标定数据将在每次测量前被上传到寄存器。如果不开启此功能,可减少大约 10ms的测量时间。 上面的寄存器如果没有什么特殊要求或应用于特定的场合,则无需配置,选择默认就可以了。 2.6、通讯过程 传感器的通讯过程为:发送”启动传输“时序,初始化传感器——》发送命令——》等待传感器应答,及测量结束——》接收传感器的16位数据值——》接收8为的CRC校验数据——》休眠,等待下一次传输开始。 上图中 TS = 传输开始, MSB = 高有效字节,LSB =低有效字节, LSb = 低有效位。 下面举个实际测量时的相对湿度测量时序例子。 这张图可以知道:我们接收到的数据数值为”0000 0100 0011 0001“ = 1073 = 35.50% RH (位含温度补偿),至于怎么计算的,请接着往下看。 2.7、信号转化 2.7.1 温度的转化 设T 2 1 SOt为从传感器上读出来的测量数值,我们需要用下面的公式将测量数值转换成整整的温度值。 T = d1 + d2 * SOt (其中d1,d2的值根据实际情况选择,选项如下) 2.7.2 湿度的转换 湿度的转换公式如下: 。其中湿度的转化参数如下选择:根据采样的精度不同而不同。 99%以上的湿度已经接近饱和必须经过处理显示100%RH13.请注意 湿度传感器对电压无依赖性。 相对湿度根据上面的参数与公式算出来之后,还需要考虑当前环境温度而进行适当的补偿。 2.7.3、露点的计算 露点的定义:露点温度指空气在此温度下能保持最多的水汽,当温度冷却到露点,空气变得饱和,就会出现雾、露或霜。 SHT1x 并不直接进行露点测量,,但露点可以通过温度和湿度读数计算得到。。由于温度和湿度在同一块集成电路上测量,SHT1x 可测量露点。 一块集成电路上测量,SHT1x 可测量露点。 下面直接给出结论性的露点计算公式了。 LogEW=(0.66077+7.5*T/(237.3+T)+(log10(RH)-2) 露点:Dp=((0.66077-logEW)*237.3/(logEW-8.16077) 例如:RH=10% T=25C -》EW=23.7465-》露点=-8.69℃ RH=90% T=50C -》EW=92.4753-》露点=47.89℃ |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1754 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1053 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1667 浏览 2 评论
1931浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
716浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
562浏览 3评论
587浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
546浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 15:18 , Processed in 0.863648 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号