专利名称: |
基于Linux和ARM的通用光谱检测装置及方法 |
摘要: |
本发明属于嵌入式光谱无损快速检测技术领域,具体涉及一种基于Linux和ARM的通用光谱检测装置及方法,一种基于Linux和ARM的通用光谱检测方法包括如下步骤:S1、ARM环境配置;S2、电脑环境配置;S3、程序编写及交叉编译;S4、程序拷贝;S5、光谱数据获取;S6、数据保存;S7、模型植入。一种基于Linux和ARM的通用光谱检测装置包括:控制箱、光谱数据采集单元、参数调节单元及罩壳,光谱数据采集单元和参数调节单元位于罩壳内,控制箱与光谱数据采集单元、参数调节单元相连;本方法可在嵌入式中实现透射或反射光谱数据的直接获取和保存,代入植入的模型,输出结果,集成度和检测效率高。 |
专利类型: |
发明专利 |
国家地区组织代码: |
北京;11 |
申请人: |
中国农业大学 |
发明人: |
汤修映;申志雄;董俊;荆渤文;张贝贝 |
专利状态: |
有效 |
申请日期: |
2019-06-20T00:00:00+0800 |
发布日期: |
2019-11-08T00:00:00+0800 |
申请号: |
CN201910534477.0 |
公开号: |
CN110426354A |
代理机构: |
北京卫平智业专利代理事务所(普通合伙) |
代理人: |
张新利;谢建玲 |
分类号: |
G01N21/31(2006.01);G;G01;G01N;G01N21 |
申请人地址: |
100193 北京市海淀区圆明园西路2号 |
主权项: |
1.一种基于Linux和ARM的通用光谱检测装置,其特征在于,包括: 控制箱、光谱数据采集单元、参数调节单元及罩壳,所述的光谱数据采集单元和参数调节单元位于罩壳内,所述的控制箱与光谱数据采集单元、参数调节单元相连; 所述控制箱包括ARM(8)、单片机(9); 所述光谱数据采集单元包括透射光纤固定架(2)、样品台(3)、反射光纤固定架(6)、光纤(7)、六个卤钨灯光源(10)、两个反射光源固定架(12)、光谱仪(15); 光纤(7)与光谱仪(15)相连,光谱仪(15)与ARM(8)相连,光通过光纤(7)进入光谱仪(15),所述ARM(8)用于通过光谱仪(15)读取光强信息; 所述参数调节单元包括升降台(1)、光源转塔(11)、丝杠滑台(13); 所述罩壳包括弧形扇门(4)、光谱暗箱(5)和载物台(14); 所述ARM(8)通过RS232串口控制单片机(9)点亮卤钨灯光源(10); 所述光谱暗箱(5)前部设有弧形扇门(4),所述载物台(14)置于光谱暗箱(5)内部; 所述光源转塔(11)固定于丝杠滑台(13)上; 所述丝杠滑台(13)垂直固定于载物台(14)上; 所述光源转塔(11)上设有四个工位,四个卤钨灯光源(10)分别安装于四个工位上,用于调节不同功率光源; 另外两个卤钨灯光源(10)分别固定于两个反射光源固定架(12)上; 所述反射光纤固定架(6)和两个反射光源固定架(12)分别固定于载物台(14); 所述透射光纤固定架(2)固定于升降台(1)上; 所述样品台(3)位于载物台(14)上; 所述升降台(1)位于载物台(14)下方; 所述固定于光源转塔(11)上的四个卤钨灯光源(10)用于为透射光谱的采集提供稳定光源,固定于两个反射光源固定架(12)的两个卤钨灯光源(10)用于采集反射光谱时使用; 所述透射光纤固定架(2)用于采集透射光谱时固定光纤(7),反射光纤固定架(6)用于在采集反射光谱时固定光纤(7); 所述样品台(3)用于放置被检测样品; 所述载物台(14)用于放置样品台(3)、丝杠滑台(13)、反射光纤固定架(6)和两个反射光源固定架(12); 所述丝杠滑台(13)用于调节光源转塔(11)上的卤钨灯光源(10)与样品台(3)的距离; 所述升降台(1)用于调节透射光纤固定架(2)上的光纤(7)的高度; 所述光谱暗箱(5)用于营造暗环境,避免外界光对采集的影响。 2.如权利要求1所述的基于Linux和ARM的通用光谱检测装置,其特征在于,所述光源转塔(11)上设有的四个工位上设有的卤钨灯光源(10)的功率分别为20W、35W、50W、100W;所述单片机(9)为STM32。 3.如权利要求1所述的基于Linux和ARM的通用光谱检测装置,其特征在于,所述罩壳外表面为驼色,罩壳内部喷涂亚光黑,所述弧形扇门(4)采用圆弧形双侧推拉式结构;所述两个反射光纤固定架(12)关于载物台(14)的中心呈中心对称。 4.应用权利要求1~3任一权利要求所述的基于Linux和ARM的通用光谱检测装置的检测方法,其特征在于,包括如下步骤: S1、ARM环境配置:将驱动程序交叉编译进Linux内核中,刷新ARM板并将生成的动态链接库放置于ARM板/usr/lib目录下,实现ARM板环境的配置,连接光谱仪(15)并运行测试程序测试光谱仪(15); S2、电脑环境配置:在电脑端安装Ubuntu Linux系统和集成开发环境Qt并安装配置交叉编译工具,连接光谱仪(15)并对光谱仪(15)进行测试; S3、程序编写及交叉编译:在电脑端使用编辑器编写实现具体功能的源程序,使用交叉编译工具对其进行交叉编译生成在ARM板上运行的可执行程序二; S4、程序拷贝:将生成的可执行程序二通过U盘、SD卡或ftp命令拷贝到ARM板中并设置为启动程序; S5、光谱数据获取:调用驱动程序中函数来对光谱仪(15)进行设置,获取光谱数据; S6、数据保存:将获取的光谱数据以*.txt或*.xls格式保存到当前运行的可执行程序二所在目录下; S7、模型植入:将数学模型程序化并集成到应用程序中,从而将获取的光谱数据代入到模型中,输出相应结果。 5.如权利要求5所述的基于Linux和ARM的通用光谱检测方法,其特征在于,步骤S1所述的驱动程序包括光谱仪设备驱动程序库及USB设备访问程序库,所述光谱仪(15)为OceanOptics光谱仪,所述测试程序为交叉编译驱动程序库时生成的seabreeze_test_posix可执行程序一。 6.如权利要求5所述的基于Linux和ARM的通用光谱检测方法,其特征在于,步骤S2所述的对光谱仪(15)进行测试包括以下步骤: S21、在电脑端交叉编译驱动程序库; S22、将交叉编译生成的动态链接库拷贝到ARM板/usr/lib目录下; S23、重启电脑; S24、连接光谱仪(15)并运行测试程序,所述测试程序为交叉编译驱动程序库时生成的seabreeze_test_posix可执行程序一。 7.如权利要求5所述的基于Linux和ARM的通用光谱检测方法,其特征在于,步骤S3所述具体功能包括光源高度调节、光纤高度调节、光谱数据获取。 8.如权利要求5所述的基于Linux和ARM的通用光谱检测方法,其特征在于,步骤S4所述的程序拷贝,包括以下步骤: S41、将交叉编译生成的可执行程序复制到主目录下; S42、进入电脑终端; S43、输入ftp命令; S44、输入open命令连接ARM板; S45、以根用户进入ARM板; S46、输入put命令将程序发送到ARM板。 9.如权利要求5所述的基于Linux和ARM的通用光谱检测方法,其特征在于,步骤S5所述的光谱数据获取,包括以下步骤: S51、调用函数sbapi_initialize(),对光谱仪(15)进行初始化设置; S52、调用函数sbapi_get_number_of_device_ids(),获取设备数目; S53、调用函数(long*)calloc(),分配地址空间,用于存放设备ID号; S54、调用函数sbapi_get_device_ids(),获取光谱仪(15)的ID号; S55、调用函数sbapi_get_device_type(),获得光谱仪(15)型号; S56、调用函数sbapi_open_device(),打开光谱仪(15); S57、调用函数sbapi_spectrometer_set_trigger_mode(),设置触发模式; S58、调用函数sbapi_spectrometer_get_maximum_intensity(),获取光谱仪(15)最大强度,用于计算透射率或反射率; S59、调用函数sbapi_spectrometer_get_minimum_integration_time_micros(),读取光谱仪(15)的最小积分时间; S510、调用函数sbapi_spectrometer_set_integration_time_micros(),设置积分时间,且积分时间为最小积分时间的整数倍; S511、调用函数sbapi_spectrometer_get_wavelengths(),读取波长; S512、调用函数sbapi_spectrometer_get_formatted_spectrum(),读取与波长相对应的光谱值; S513、调用函数sbapi_close_device(),关闭设备; S514、调用函数sbapi_shutdown(),关闭通信连接。 10.如权利要求5所述的基于Linux和ARM的通用光谱检测方法,其特征在于,步骤S6所述的数据保存包括以下步骤: S61:调用fopen函数,新建并打开文件; S62:调用fprintf函数,将数据输出到文件中; S63:调用fclose函数,关闭并保存文件。 |
所属类别: |
发明专利 |