hzpyl 发表于 2017-6-16 20:03:11

电池供电的测温仪器,通讯时有干扰,如何软件滤波?

本帖最后由 hzpyl 于 2017-6-18 08:50 编辑

电池供电的测温仪器,
M-BUS通讯,通讯的36V电源是开关电源,(估计干扰大)
0.5秒AD转换一次,

不通讯时,温度显示飘动 ±0.01℃,OK。

通讯时有干扰,温度显示飘动 ±0.05℃,
硬件:CPU与M-BUS通讯有 光耦 隔离,
干扰途径:估计是M-BUS线干扰到温度传感器的线的,温度传感器线长1.5米。
软件:已经中值滤波,
如何更加有效的软件滤波? 硬件不能改了。

为什么有这个要求? 另外厂家差不多硬件一样的产品,通讯时能温度显示飘动 ±0.01℃。

增加:
M-BUS不通讯,只是接通电源,也有明显干扰。
有通讯时干扰更明显。

增加:
应该是50Hz干扰。

增加:
把传感器的1.5米线,剪的很短,通讯时,温度显示飘动 ±0.01℃,OK
所以,应该是传感器的1.5米线,耦合了50HZ干扰。

cne53102 发表于 2017-6-16 20:43:20

数据传输应该不会占用很长时间吧?
考虑到温度是一个变化速度不会特别快的参数。
是否可以在数据传输期间不采样?采样时不传输?

hzpyl 发表于 2017-6-16 20:49:50

cne53102 发表于 2017-6-16 20:43
数据传输应该不会占用很长时间吧?
考虑到温度是一个变化速度不会特别快的参数。
是否可以在数据传输期间不 ...

一个系统可能有成千上万个测温设备,
通讯线上,与另外仪器通讯时,单片机是不知道的。

cne53102 发表于 2017-6-16 21:20:29

hzpyl 发表于 2017-6-16 20:49
一个系统可能有成千上万个测温设备,
通讯线上,与另外仪器通讯时,单片机是不知道的。 ...

噢这么个状况啊。。
有个比较坑的方式是变化幅度小于一定值就不报…………
这显然是不好的……
https://www.amobbs.com/thread-5421239-1-1.html
这帖子里面整理的蛮好的,挑几个试试?

wye11083 发表于 2017-6-16 22:08:24

0.05可以忽略不计了吧。这么小

hzpyl 发表于 2017-6-17 07:06:01

cne53102 发表于 2017-6-16 21:20
噢这么个状况啊。。
有个比较坑的方式是变化幅度小于一定值就不报…………
这显然是不好的……


10种滤波都试验了。中值滤波最好。但还不够。

hzpyl 发表于 2017-6-17 07:08:43

wye11083 发表于 2017-6-16 22:08
0.05可以忽略不计了吧。这么小

是很小。
也符合要求了。

但另外厂家的能稳定,
强迫症的我,
心不甘!{:cry:}

dengxiaofeng 发表于 2017-6-17 08:40:34

明显 硬件抗干扰性能不够!

mtswz.213 发表于 2017-6-17 14:10:57

软件一介滤波,也叫软件rc滤波,中值滤波不能把滤波深度设置的很深,但是rc滤波可以把滤波参数设置很大,只要不影响测温速度就可以了

hzpyl 发表于 2017-6-17 14:48:06

dengxiaofeng 发表于 2017-6-17 08:40
明显 硬件抗干扰性能不够!

另外厂家,硬件差不多,很稳定。
没有办法。

hzpyl 发表于 2017-6-17 14:51:22

mtswz.213 发表于 2017-6-17 14:10
软件一介滤波,也叫软件rc滤波,中值滤波不能把滤波深度设置的很深,但是rc滤波可以把滤波参数设置很大,只 ...

tmp32b = (((u64)tmp32b * 80) >>8) + (((u64)Temp_Ratio * (256 - 80)) >>8);//一阶滤波

一阶滤波的滞后太大了。

mtswz.213 发表于 2017-6-17 16:10:29

你可以试试把几个滤波串在一起,滤波深度可以不一样,里面的滤波系数小一些,外面的大一些,效果要好于只用一个滤波,同时滞后不会太明显

jianfengxixi 发表于 2017-6-17 22:33:48

卡尔曼呢

NJ8888 发表于 2017-6-17 22:39:13

什么样干扰出图

hzpyl 发表于 2017-6-18 08:47:00

jianfengxixi 发表于 2017-6-17 22:33
卡尔曼呢

谢谢。我试试。

hzpyl 发表于 2017-6-18 08:48:10

NJ8888 发表于 2017-6-17 22:39
什么样干扰出图

50HZ电源干扰,通过传感器的线耦合进去。

fengyunyu 发表于 2017-6-18 12:19:52

LZ可以看下这篇文章http://www.eeworld.com.cn/mcu/article_2016102530846.html

蜗牛蜗牛 发表于 2017-6-18 13:42:46

ad最快采样频率是多少?要是够快 可以牺牲采样速度,做过采样处理 ,要是本来采样就很慢 那这个方法不可行了就

hzpyl 发表于 2017-6-18 16:32:46

蜗牛蜗牛 发表于 2017-6-18 13:42
ad最快采样频率是多少?要是够快 可以牺牲采样速度,做过采样处理 ,要是本来采样就很慢 那这个方法不可行了就 ...

由于电池供电,
现在每500ms采样一次,
检测到温度变化大,可连续测量7次。

fiddly 发表于 2017-6-19 08:13:34

关键低功耗,不能多次测量,以前做过1ms采样一次,20次算一个值,还可以。另外,屏蔽有效果没哈。

xukaiming 发表于 2017-6-19 08:57:42

上图,你这个是Mbus供电的吧

hzpyl 发表于 2017-6-19 09:35:38

xukaiming 发表于 2017-6-19 08:57
上图,你这个是Mbus供电的吧

电池供电,
M-BUS通讯,M-BUS有开关电源,通过电线耦合干扰。

xukaiming 发表于 2017-6-19 10:28:30

hzpyl 发表于 2017-6-19 09:35
电池供电,
M-BUS通讯,M-BUS有开关电源,通过电线耦合干扰。

你不上图怎么跟你说呢?再一个可能你的地平面有问题,这个就要看你的版图了

xukaiming 发表于 2017-6-19 10:29:10

不能改电路的话那通信的时候的测量数据只能抛弃了

yanyanyan168 发表于 2017-6-28 10:23:36

我认为卡尔曼能解决

snail_dongbin 发表于 2017-6-28 10:30:52

滑动滤波不就是专门去除周期性的干扰的么
页: [1]
查看完整版本: 电池供电的测温仪器,通讯时有干扰,如何软件滤波?