[应用相关]

STM32单片机的光谱仪数据采集与处理系统

[复制链接]
楼主: wangjiahao88
手机看帖
扫描二维码
随时随地手机跟帖
wangjiahao88|  楼主 | 2019-8-19 12:52 | 显示全部楼层
770875d5a2b2170cdf.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:53 | 显示全部楼层
334565d5a2b324b891.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:53 | 显示全部楼层
上位机端需要实现的功能包括设定仪器工作参数、接收下位机发送来的实验数据并处理、显示并保存光谱信息。在软件设计中需要应用到多线程技术,在Windows环境下,每个运行的应用程序都构成一个进程,而每个进程都包含一个或多个线程,线程是程序中一个单一的顺序控制流程,每个线程也需要一组系统分配给的资源,Windows应用程序的进程是从单个线程开始的,而线程又可以衍生出另外的线程,这样线程既可以在前端处理用户的输入,又可以执行后台的任务,使它们看起来像是同时在运行一样;多线程虽然可以使程序功能更丰富,提高应用程序的响应能力,但它要求的并行性也给程序的编写和调试增加了一些难度。在设计中将光谱数据的接收及处理工作放在了接收线程中,接收线程不会影响用户对主程序的操作,而光谱图像的显示放在了显示线程中完成。

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:53 | 显示全部楼层
456645d5a2b589b7f8.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:54 | 显示全部楼层
7665d5a2b6dc039c.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:54 | 显示全部楼层
335955d5a2b7d3002e.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:54 | 显示全部楼层
CCD输出的电压信号对应于每个光敏元的光照强度,在未处理之前,这些数据只表示不同波长光强的空间分布情况,它能够看出光强的变化,但是没有对应具体波长,所以要先确定CCD像元与波长的对应关系,对波长进行标定。光谱仪所测得的光谱曲线是由光谱仪分光系统的特性和输出狭缝处CCD的位置决定的,CCD的位置决定了得到的光谱曲线中检测波长的范围,故为了使CCD接收到的光信号强度合适,尽量将其放置在输出光谱的中间位置,且保证是在输出物镜的焦平面上,此时得到的光谱信号较强,在CCD位置固定好之后,可通过测试标准光源的几个波峰位置来分析波长和像元之间的关系,实验中选用标准汞灯作为参考光源,汞灯在可见光范围内有十几条波峰,试验中CCD可以接收到两个波峰即可,可将像元从第1个到第3648个进行编号,然后根据波峰位置处的波长及对应的像元编号进行比对,可进行线性标定,或二次标定,由于二次标定复杂些,且需要更多一些波峰值,所以在试验中暂时使用线性标定的方法[川。在上位机软件中,有相应的标定模块,点击后输入波峰值及对应的像元编号,软件会计算出用于线性标定的公式,之后再接收到传输的光谱数据,将先进行标定,然后显示出相应的波长一光强图。

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:55 | 显示全部楼层
下位机程序的调试是使用Keil}Vision4来完成,它对程序的模拟调试有两种模式,一种是软件模拟,即可以在不接入硬件电路的情况下,使用仿真器可以仿真微控制器的许多特性,包括串口通信、外部I/O口控制、时钟配置等;另外一种就是硬件模拟,又称为GDI驱动模式,使用高级GDI驱动设备连接目标硬件来进行调试,本程序使用J-Link调试,其中,J-Link通过USB接口与计算机主机连接,通过JTAG接口与硬件电路板相连接,然后可以一步一步控制程序的运行,调试中可以使程序单步运行、设置断点、复位等,也可以观察函数中变量值的变化,这对程序开发调试极为有利。

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:55 | 显示全部楼层
494325d5a2bb4007b8.png

使用特权

评论回复
N0No| | 2019-8-19 12:55 | 显示全部楼层

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:55 | 显示全部楼层
986325d5a2bc9abbc6.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:56 | 显示全部楼层
USB作为STM32芯片内置接口,ST公司也提供了USB的相关说明、开发软件库及例程,配合例程及技术文档也减轻了USB驱动开发的难度。在USB调试中常用到的工具是BusHound,它是由一种专门用于PC机各种总线数据包监视和控制的开发工具软件,它可以捕捉来自设备的协议包和输入输出操作,所有版本的标,键盘等;IDE,SCSI,USB,1394总线;支持各类设备,扫描仪,DVD支持,鼠捕捉的数据缓存与计算机内,可捕捉设备的启动过程,置触发信号自动停止数据捕获操作,查看底层协议和USB协议包,可以通过设输入输出的操作可实时显示到屏幕中,所以可以用它来捕捉USB通信的每一次数据包。
808035d5a2beb1dcb2.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:56 | 显示全部楼层
820035d5a2bfa531d8.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:56 | 显示全部楼层
875935d5a2c0ddc0a2.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:57 | 显示全部楼层
789285d5a2c1a9e194.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:57 | 显示全部楼层
735975d5a2c316aa36.png

使用特权

评论回复
wangjiahao88|  楼主 | 2019-8-19 12:57 | 显示全部楼层
从汞灯和钠灯的测试中可以看出,尽管光谱的特征谱线附近噪声较大,但特
征谱线波峰值可以检测出来
    从光谱图中也可以看出,
且与标准谱线基本符合,系统基本完成预设目标。
特征谱线前会有一段较缓慢的上升曲线
灯和低压汞灯光谱中对有出现,针对这个问题,实验过程中还将CCD
且低压钠
接收面倒
置,即顺时针旋转180度,采集同样光谱信号后发现仍然会出现缓慢上升的曲线,
所以推测是测试中的光学系统还有待改善,这也是后期工作重点。另外,测试中
光学平台的线色散率较大,CCD接收面上光谱覆盖范围只有69.3nm,但与相同
光学平台像元数少的系统来说,还是获得了较高的光谱覆盖范围。
    由于时间原因,上位机应用程序中,完成了光谱定标和光谱数据的滤波处理,
对于光谱的更多处理功能还未加入,这个也和具体需求有关,在实际应用中可以
根据需求添加相关功能。
    综上所述,探测系统成功完成CCD驱动,光谱数据转换、传输及保存,并
在上位机进行光谱图像显示。

使用特权

评论回复
東南博士| | 2019-8-19 14:26 | 显示全部楼层
能使用这个做一个监测蔬菜农残的光谱分析仪吗?如果可以的话 那实用性就大啦!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则