主题:【讨论】对一个项目的执着01 -- 米高扬
这几年一个项目,拖了好几年,一直在胶着。理论上很简单,但是做起来老不出成果。
振动环境数据采集系统技术指标
在飞行过程中,该系统能够自动采集三个不同部位的应变及一个部位的温度信号并存储、处理,独立供电,不需要机组成员操作。在试飞起落完成后,通过数据接口下载数据并采用转换软件将数据转换为十进制数据文件。
具体技术指标:
1、采集通道:4个通道(3个应变通道;1个温度通道)。采集应变的幅值范围±3000με,精度±5με;温度±2℃;通道间相互独立,某通道故障不会影响其他通道正常工作;
2、采集频率范围50Hz~5KHz范围内的动态应变信号,要求采样速率≥10KHz,并可以通过控制程序调整。温度采样速率1Hz;
3、系统设置自动或手动调零,并保证零点漂移在允许范围内(1~2με/h);
4、存储选用不小于2G的Flash内存芯片,系统采集记录容量不能少于3小时的飞行记录数据;应变片选择BF350-3AA(23),温度传感器选用贴片式AD590或NTC等方便安装的温度传感器;
5、每次采集的数据中要包含采集起始时刻,结束时刻,采样率等信息,数据丢失率要求小于2‰;通过上位机软件导出后,最终提供的十进制数据应包含5列:时间,应变1,应变2,应变3,温度;
6、配有运行于WinXP平台的上位机软件,该软件具有状态监测,自检,参数配置,文件处理等功能;
7、设置系统时钟,起点时刻与标准授时(北京时间)误差在5s内,能使分析结果中应变突变等时刻与相应的飞机操纵时刻对应起来;
8、测试系统自带电源,并且该系统(指仪器本身)在工作温度范围(-40℃~85℃)内至少能连续采集数据3 h以上,总重量不超过1 Kg,采集器与传感器连接线长度5m左右;
9、系统同时设置软件及硬件触发,包括触发采集及触发结束。软件触发采取计算应变平均值与预设门槛值比较的办法;硬件触发暂定安装双轴向加速度传感器(陀螺仪);
10、所有器件均满足军工级应用标准,系统的电磁兼容,耐冲击(9g),环境温度,符合国军标要求,防爆,防水等满足IP67标准;
在现在基础上,
微应变---用内部12位AD转换数据,尽量做稳定,至少能稳定识别5个微应变
微应变---最高速度达到10KHz,且在待机时,采集速度等级可调
微应变---采集均匀度达到93%以上
加速度---采用低功耗单片机单独识别,且在待机时,加速度启动门槛值可调
低功耗单片机对电池电源[能否加装一个硬件电路开关?]进行管理
时钟精准,且在待机时,可校准时钟
两个数字温度传感器---主机温度+应变片环境温度
数据格式为(用16进制,且将SD卡当做内存RAM来应用):
加速度触发[后续可以考虑把三方向的加速度值和温度值一起记录下来用来了解被测量物的姿态。],打开主单片机,外设所有电源,主单片机正常工作后,延时10秒,开始做以下数据采集并存储到SD卡:[采集多少数据开始向SD卡存储?是否文件增大后存储时间过长会影响采集周期?]
年 月 日 频率 时 分 秒 本机温度 应变温度 应变1 应变2 应变3 应变1 应变2 应变3 …………应变1 应变2 应变3 807F[这一标记要特别,不能在转换成10进制数或操作时被误判为其它标识。](10K组/1秒完成)
时 分 秒 本机温度 应变温度 应变1 应变2 应变3 应变1 应变2 应变3 …………应变1 应变2 应变3 807F(10K组/1秒完成)
.
.
.
时 分 秒 本机温度 应变温度 应变1 应变2 应变3 应变1 应变2 应变3 …………应变1 应变2 应变3 807F 605D(10K组/1秒完成)
采集结束,等待下一次触发
加速度有了新的触发,打开主单片机,外设所有电源,主单片机正常工作后,延时30秒[从触发到开始采集延时30s那么会丢失这段时间的数据,尤其若有突发短时载荷时采集会来不及响应,这个问题如何解决?],开始做以下数据采集并存储到SD卡:
年 月 日 频率 时 分 秒 本机温度 应变温度 应变1 应变2 应变3 应变1 应变2 应变3 …………应变1 应变2 应变3 807F(10K组/1秒完成)
时 分 秒 本机温度 应变温度 应变1 应变2 应变3 应变1 应变2 应变3 …………应变1 应变2 应变3 807F(10K组/1秒完成)
.
.
.
时 分 秒 本机温度 应变温度 应变1 应变2 应变3 应变1 应变2 应变3 …………应变1 应变2 应变3 807F 605D[此标识也要避免与其它标识重复以免程序误判](10K组/1秒完成)
采集结束,等待下一次触发,若SD卡满,则自动停止数据采集。同时给低功耗单片机识别信息,使得下一次加速度有变化时,也不会启动主单片机与外设工作,即保持低功耗状态。
注意,年月日,只在首次加速度启动采集时才存储一次! 时 分 秒 本机温度 应变温度 每秒作为开头数据包存储一次![年月日是否可以开机时在SD卡内以年月日小时分秒建立文件夹?]
10、时钟校准、加速度门槛值设置、采集速度设置 采用UART通信 且232---USB模块与电脑上位机设置软件操作。
军工真不缺钱了,什么新装备都可以上了。
1. 要小心SD卡的速度。考虑到你的数据量要多一点预量。
2. 数据格式不好。
“时 分 秒 本机温度 应变温度 应变1 应变2 应变3 应变1 应变2 应变3 …………应变1 应变2 应变3 807F(10K组/1秒完成)”
一般应定义一个数据包为一个frame(有 SoF, start of the Frame 起头,第二、三字节 或更多为 size of the frame, 然后是 contents,最后结尾是你选用的checksum,业界有不同的算法可参考) 在接受端用一个简单的parser,state machine,来处理接受到的数据。807F 作为一个简单的分割还好,如此设计太业余了。
在实际应用中,噪声、干扰是很多的。你会发现即使使用了以上的方法,错误也是无法避免的。如果使用先前的方法,会完全乱掉的。
3. 另外,时间数据可以单独定义成一个frame类型,在你的数据流中离散插入(另建立一个独立的timer task, 触发后对UART 写入)就好。避免过分的冗余。我的理解是精确到秒即可,不是是否理解正确。
4. 看起来你的应用是一个飞行有关的,其中的输入可能有 加速度 传感器和其他的陀螺仪等,sensor 的选取(他们的范围、精度、和功耗)要多注意,阈值设置就看你的应用了。美国这边有一些很好的open source hardware/software 的项目你都可以参考。
以前看你的帖子,很受益。本人发帖很少,还不熟练,就先些这些吧,希望有用。也算一个回馈吧。
1、从正弦信号测试结果可得:
输入正弦波电压值x与AD值关系大致为ADsin y1100x,随着输入幅值的增大,这一系数在减小,大致从1200多降到1100左右。
去除滤波元件后波形毛刺明显:见图(1)和(2)。
随着输入信号频率的增加,波形失真越来越严重,朝三角波的方向发展。
2、从方波信号测试结果可得:
频率不高时未滤波的信号毛刺比较明显。
输入方波电压值x与AD值关系大致为ADsquare y1200x,随着输入幅值的增大,这一系数基本没有变化。
200hz以上信号失真明显,1khz时出现尖峰,类似斜坡信号,输入信号幅值越大,平台越不明显,被尖峰代替。
3、从锯齿波信号测试结果可得:
输入锯齿波电压值x与AD值关系大致为ADsquare y1000x,随着输入信号频率的增大,这一系数下降较大。100hz时为1200,200hz为1100,500hz时为1000,1khz时已下降至800。
超过200hz波形失真就较严重。
低频时波形毛刺较多。
测试存在的问题总结:
去除滤波元件后采集较低频率(100hz以下)信号时毛刺较大,而高频时又会出现波形失真又严重(正弦400hz以上,方波、锯齿波500hz以上);
正弦和方波的输入电压x与采集仪AD值关系大致为AD=1100x,对于这一系数应该是稳定值,但结果显示:对方波信号,此系数稳定在1200;对正弦信号,随着输入频率的上升系数会从1200降到1100左右;对锯齿波信号随着输入频率上升从1200降到800,下降严重,未去除滤波元件时对锯齿波也有此现象。
去掉滤波元件前后频域分析结果没有改善,依然是比输入频率低20%。
如下图所示,时间标记在每秒间隔时能否写在上一秒数据之后,这样方便连续选取长时间的数据序列,但由此是否会带来列数增多占用空间增大?此问题的焦点在于要便于选取长时间的数据。
这个采集仪给对方一说,都觉得简单,但是拿出来的产品没有一个使人满意的。觉得主要问题一方面他们觉得简单投入的精力不足,没有意识到把前端调理电路和采集存储集成在很小的电路板上的难度;另一方面可能是找的几家公司的实力不够吧。前几天和一个代理采集仪的经理聊天,他说这个技术问题不太难,国外没有类似商用成品的原因可能是需求不大。
谢谢你的回复,理论上难度不大,但是做出来没有一个能用。开始大家的意见认为是硬件设计问题,但现在看软件上也有大问题。 很认可你的分析。
1、高频率采集
每秒1500个采样点,四个通道4×1500个点。尤其不能出现调存的现象。
2、采集信号微小
本采集仪采集的信号是毫伏级别的的,前端放大电路要消除噪声干扰。
3、放大器电源精度
采集信号电压低,如放大器电源精度不足,会导致产生大量噪音,使采集数据无法使用。
因为我还没说这个东西是干什么的,只是理论上很简单的东西,一直失败,一直失败,一直做不出结果。
损失钱、浪费精力、心有余而力不足,只能这样耗着。
1,负责采集的和负责存储的可以是两块单片机,程序写起来比两项工作放在一起做可能会容易些。
2,在信号检测领域,毫伏级别的信号不算小了,不过电磁环境可能比较复杂,是不是应该考虑下屏蔽的问题,敏感电路部分可以用铁皮包上。再有就是要选择好运放,要低噪声低温漂的,比如仪表放大器,但价格会贵一点。
3,电源看上去是用电池的,其电压稳定性应该是最好的,除非你还使用的DC—DC电源变换,给不同的电路提供不同的电压,否则应该没有电源精度问题。不知你的电源精度是指什么,电压的数值大小还是交流纹波?泛泛来说,可以考虑用LC滤波、加一级线性稳压器(选低压差的)等方法。在局部电流不大的情况下甚至可以考虑用运放的输出作电源,其电压特性近乎理想,可以用在最关键的地方。
此外,地线的布线是需要注意的地方。
以前做过一个汽车上的类似项目,就用这家的产品
试试Campbell Scientific的CR9000x
重量和内存不符合要求。
重量没法改,这种通用工业级的东西对重量不敏感。
内存可以用编程取单位时间内的极值,然后只保存极值。
心脏病不好治。
未能全明白那些参数,但感觉你面对的主要问题是干扰和温飘。市面上的成品你就别指望了,若是此道中人就自己做吧,否则找厂家替你做。
温飘的解决看书加实践,一是用低温飘的元件,二是补偿。
金属密闭空间内的电磁干扰一般人没概念,所以只能靠你自己了。建议你做成分布式的,中央机负责时间同步和数据存储,前端机负责放大调理,AD转换及串行传输。注意放大器一定要低阻的(串行数传也要低阻的),尽量靠近测点。带宽要足够,低通滤波适可而止,否则动态误差太大。
至于机械性能,对你应不是问题。用LY12在加工中心上抠个壳,25G的冲击都是小意思。
1,1500赫兹不算什么高频采样吧。很难吗?我手上项目数据每秒2500线每线9000点采样数据,微控制器系统。
2,弱信号放大倒是不容易。是否数据为振幅数据?采用频率数据如何?
不了解详细情况,无责任瞎说的。
请问这个外包么,如果是测量电压,我做过高精度的台式万用表,可以看看,如果不外包,大家讨论下也好