[原创] 光照强度记录仪的设计

jennyzhaojie   2021-3-20 15:18 楼主

在家居环境的测评中,采光质量是一项重要指标。单凭人介绍,显然是缺乏数据支撑的。

使用CH32V103开发板,结合相应的光照强度传感器及OLED显示屏等即可自行设计一个实用的光照强度记录仪,其构成情况如图1所示。  image-20210320152717-1.png

图1 光照强度记录仪构成

 

在该设计过程中,主要涉及以下问题的处理:

1. 数据写入文本文件

在原U盘读写的例程中,已提供了将字符串写入文本文件的方式,但记录仪要求的则是将动态变化的数据写入文件。解决此问题的办法是使用如下语句:

i = sprintf( (PCHAR)buf,"%d %d:%d:%d %d\r\n",c+1,calendar.hour,calendar.min,calendar.sec,sd);

                         mCmdParam.ByteWrite.mByteCount = i;

                         mCmdParam.ByteWrite.mByteBuffer = buf;

这样就将多个变量的数据转换为可供存储的字符串,且统计出了其字节长度,并据此来写入文件中。

2.添加RTC计时功能和光照强度采集功能

作为RTC计时功能和光照强度采集功能,均已在前面的帖子中介绍过,但由于是对功能进行集成,所以要对引脚的使用进行重新地调节,比如此前的光照强度采集是使用PA11和PA12,但U盘读写所用的恰恰也是这两个引脚,为此便把其所用的引脚迁移到PA0和PA1上。

image-20210320152717-2.png image-20210320152717-3.png

图2  USB接口原理图

 

将2个功能混合后,其实时检测的输出效果如图3所示。

image-20210320152717-4.png

图3 实时输出效果

 

3.添加OLED屏实时数显

为了便于实时观察光照强度的变换,将实时数显功能串入整体的功能处理中,其显示效果如图4所示。

image-20210320152717-5.png

图4 实时数显效果

 

4.精准地控制采集间隔

在通常情况下,使用延时函数即可准确地控制采集的间隔。但在处理任务量比较重的情况下,会导致积累性的间隔差异。

此问题的解决方法是按计时值来控制采集间隔,所用的语句为:

Get_Sunlight_Value();

//Delay_Ms(1000);

x=calendar.sec;

while(y==x)

{

            x=calendar.sec;

}

y=x;

 

image-20210320152717-6.png

图5 采用延时的记录内容

 

image-20210320152717-7.png image-20210320152717-8.png

图6 按计时值的记录内容

 

5.采用时长的控制

为了完整地记录一个采集周期的数据,为此将采集时长定为一天,采用间隔为1秒,其控制程序为:

for(c=0; c<86400; c++)     //   60*60*24=86400

{

i = sprintf( (PCHAR)buf,"%d %d:%d:%d %d\r\n",c+1,calendar.hour,calendar.min,calendar.sec,sd);

mCmdParam.ByteWrite.mByteCount = i;                /* 指定本次写入的字节数 */

mCmdParam.ByteWrite.mByteBuffer = buf;            /* 指向缓冲区 */

s = CHRV3ByteWrite( );                               /* 以字节为单位向文件写入数据 */

mStopIfError( s );

//printf("成功写入 %02X次\r\n",(UINT16)c);

Get_Sunlight_Value();

//Delay_Ms(1000);

x=calendar.sec;

while(y==x)

{

          x=calendar.sec;

}

y=x;

}

结束语:通过对光照强度记录仪的设计,可以发现尽管CH32V103开发板的体积很小,可其性能是很出色的,基于其串口通讯和U盘读写芯片的基地,其出品MCU是独具特色,且十分便于小型应用产品的开发。该设计所用到的U盘读写性能就大大地简化了设计难度并起到了提高设计效率的功效,CH32V103值得在设计中广泛采用。

本帖最后由 jennyzhaojie 于 2021-3-20 18:21 编辑

回复评论 (2)

引用: Jacktang 发表于 2021-3-20 21:04 和哪个“【RISC-V MCU CH32V103测评】光照强度记录仪的设计 (兼结题报告) ”贴是一样的哦 ...

嗐,先是发错版块了,也没法去除就稍改一点放着吧,管管看是重复的可能就给清除了。

点赞  2021-3-21 00:50
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复