打印

单片机抗干扰问题求助

[复制链接]
2536|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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校验的方法)后进行主动复位,可解决一部分,但并不彻底。
请高手帮我分析一下啊,谢谢啦。

使用特权

评论回复
5
lhkjg| | 2010-3-26 13:34 | 只看该作者
如果是软件不是很复杂,并且是C语言写的程序我到是可以帮你解决下次问题,前提条件是你要邮寄样品给我,应该是可以解决此问题的,我过去做一个高压发生器,5000V的高压,刚开始的时候就是你说的这个显现,后来通过硬件跟软件上的修改就把此问题的故障降低到了千分之几,主要是软件上下的功夫,当时是。

使用特权

评论回复
6
mohanwei| | 2010-3-26 14:21 | 只看该作者
估计还是软件的BUG居多……
你可以先做个小程序测一下:
开机;
for(i=0;i<内存范围;i++)
{
         ram[i]=i;
}
while(1)
{
       读RAM并比较,不等则通过LED对外指示
}

使用特权

评论回复
7
pa2792| | 2010-4-2 23:03 | 只看该作者
软件BUG问题,不是干扰问题,是驱动没写好。

使用特权

评论回复
8
创嵌电子| | 2010-4-3 12:16 | 只看该作者
好像工作环境也挺恶劣的,加个屏蔽罩试试!

使用特权

评论回复
9
航行天下| | 2010-4-9 14:41 | 只看该作者
LZ用的是不是PIC的片子啊?

使用特权

评论回复
10
XZL| | 2010-4-14 08:56 | 只看该作者
要软件先试试:参数多存几个,使用时采取多数优先原则。前提是要确认MCU没有复位!@……@

使用特权

评论回复
11
pa2792| | 2010-4-23 21:28 | 只看该作者
这问题,本公司也遇到过,都是程序问题。

使用特权

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

本版积分规则

89

主题

252

帖子

1

粉丝