单片机抗干扰问题求助

[复制链接]
 楼主| mgarm 发表于 2010-3-24 11:02 | 显示全部楼层 |阅读模式
本帖最后由 mgarm 于 2010-3-30 10:31 编辑

公司有一款产品,长时间运行会导致单片机内存(RAM)自动改变
导致控制失灵

控制器安装于一金属外壳内,电源形势为变压器整流稳压,类似空调机组,
控制器控制一压缩机,一风机,其它电磁阀等等。

由于此产品库存比较多,希望通过外部防干扰方式解决问题,而不是更改电路(PCB),尽管PCB的抗干扰设计很差。

特请高手指教!

mgarm@126.com

地点:北京。
jjjyufan 发表于 2010-3-24 14:29 | 显示全部楼层
发个图及相关资料给我jjjyufan@126.com,我给你看看,原理图PCB图及产品正反面照片。
lhkjg 发表于 2010-3-24 20:02 | 显示全部楼层
就是,把资料发上来看看,应该修改软件可以达到这个目的,RAM自动改变一般都是复位造成的,只要软件上电的时候不要初始化RAM基本上就能解决。^_^
 楼主| mgarm 发表于 2010-3-25 10:03 | 显示全部楼层
楼上貌似说出了要点,复位时我从EEPROM读参数后存到RAM变量,发现这个参数有时失效。
我用ATMEGA8做的主控制板,显示控制器与主控制板4根线连接(5m长) , 这四根线是2根电源(12V)线和485通信的A,B信号线。
根据我们的判定,出现故障时是主控制板单片机RAM数据发生改变,大约有10%的故障率,我认为软件无逻辑问题,后来我软件上加了抗干扰的一些小程序,就是发现RAM内参数发生改变(用CRC校验的方法)后进行主动复位,可解决一部分,但并不彻底。
请高手帮我分析一下啊,谢谢啦。
lhkjg 发表于 2010-3-26 13:34 | 显示全部楼层
如果是软件不是很复杂,并且是C语言写的程序我到是可以帮你解决下次问题,前提条件是你要邮寄样品给我,应该是可以解决此问题的,我过去做一个高压发生器,5000V的高压,刚开始的时候就是你说的这个显现,后来通过硬件跟软件上的修改就把此问题的故障降低到了千分之几,主要是软件上下的功夫,当时是。
mohanwei 发表于 2010-3-26 14:21 | 显示全部楼层
估计还是软件的BUG居多……
你可以先做个小程序测一下:
开机;
for(i=0;i<内存范围;i++)
{
         ram[i]=i;
}
while(1)
{
       读RAM并比较,不等则通过LED对外指示
}
pa2792 发表于 2010-4-2 23:03 | 显示全部楼层
软件BUG问题,不是干扰问题,是驱动没写好。
创嵌电子 发表于 2010-4-3 12:16 | 显示全部楼层
好像工作环境也挺恶劣的,加个屏蔽罩试试!
航行天下 发表于 2010-4-9 14:41 | 显示全部楼层
LZ用的是不是PIC的片子啊?
XZL 发表于 2010-4-14 08:56 | 显示全部楼层
要软件先试试:参数多存几个,使用时采取多数优先原则。前提是要确认MCU没有复位!@……@
pa2792 发表于 2010-4-23 21:28 | 显示全部楼层
这问题,本公司也遇到过,都是程序问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

89

主题

252

帖子

1

粉丝
快速回复 返回顶部 返回列表