打印
[电源]

转贴:做单片机先把电源做好

[复制链接]
2695|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jxmzzr|  楼主 | 2012-9-6 16:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说一个我最近获得的教训,老板的一个朋友委托我们给他做一个小型的控制器,要求的工期比较急,没时间做线路板了,所以我们根据他说的要求选了一个我们以前的成型产品做基础,在这个基础上改。这个东西的工作过程很简单,只需要把传感器传上来的数据分别送两块数字表显示,然后根据传感器传上来的数据确定两个出口固态继电器的动作。这里面用到了3个按键,3个指示灯,2个出口固态继电器和485通讯。我们用了ATMEG8做控制芯片,用内部8M RC振荡器做时钟,内部看门狗,程序用C语言写的,我的C语言水平比较差上学的时候没学过,刚用单片机的时候全是用的汇编,今年才边学边用C语言做产品。刚做好程序的时候我都试过了,接上传感器和数字表可以正常的显示数据,并能根据按键执行规定的动作,我认为没问题了就交了差。
同事拿着我做的控制器去操作箱上安装配线,后来调试的时候同事告诉我说装置死机了,我说不能啊,我已经配置了看门狗,正常程序出错是可以复位的。把同事拿回来的装置通电测试果然没有反应了,重新烧写片子还能正常工作。是不是静电搞的鬼?因为我们的装置原来是没有按键的,这次的按键是在操作箱上接3个按钮到装置的CPU管脚上,没有保护措施,现在冬天空气干燥,很容易产生静电。马上改!给3个按钮都加上了光耦隔离,改好了再装到控制箱上测试,没一会的功夫同事又回来了,说又死机了。啊!?这是怎么回事呢?我有点傻了,难道是我的程序有问题??税桑?把程序从头到尾看了几个来回也没看出毛病。把死机的片子擦了,重新烧程序还是能正常工作,这就怪了!难道是操作箱有问题?怎么在我这好好的东西上到操作箱上就死机呢?同事干脆把操作箱从车间运到我的办公室来,让我自己做实验。果然刚烧好的片子上到操作箱上一会功夫就死机了,经过反复的实验发现是和数字表通讯之后死的,更进一步的确认是跟数字表通讯以后修改了控制器的 EEPROM以后死的。去掉了控制器的写EEPROM程序就不再死机了,难道是GCC的EEPROM库有问题?先不管,看能正常运行了再说,反正这个功能不重要。重新烧写芯片,装到控制箱上,手动操作没问题!装置开始自动运行,呀!怎么复位了?是没看清吗?再等一会....又复位了!一波未平一波又起,怎么回事?这么个小东西程序不超过2K怎么这么多问题?我不至于这么烂吧?这么个小程序都写不好?还得试找出问题!反复试了几十次发现规律了,只要是自动状态的1号状态再和数字表一通讯就复位,是不是485通讯没加隔离的问题?动手加隔离(这里要说一下我们的软硬件是两个人负责的,我做软件,另一个同事专做硬件),我的同事刚才加了按键的隔离这回又加485的隔离,为了增加隔离电源又在原装置的基础上改了电源。改完了装上测试,还复位!天啊!我同事都不用好眼色看我了!妈呀,我可怎么办啊?从程序上怎么也看不出问题,可恶的M8不支持仿真又看不到C语言程序具体是怎么执行的。没办法只好用汇编写程序吧,这个我熟而且每一步都可控制,肯定不会再出错了,一个白天加一个晚上把程序就写出来了,第二天调试通过,上到操作箱上,天啊!又复位了!不对!一定是硬件有问题,同事说没关系我给你换CPU板,同事又改了一块CPU板给我送来,装上一试,你们猜怎么样?还是不行!别扔白菜,我真完了 /_\ ,呜呜...我心里直哭。
突然我转念一想,不对就不能还是硬件有问题?这回我不吱声了,我另找了一套没改过的硬件,是原来测试用的肯定是好的,我用它试试。嘿嘿!这回没事了,先别着急,我把改过的主板换到这个上面再试,还是没问题。把我那个做硬件的同事揪过来,你看看外面是不是下雪了!说明什么?我冤啊!快赶上窦娥了!她六月下雪,我11月下雪呀!同事二话没说,拿过继电器板对比,发现好的板两个固态继电器输入电阻一样,不好的输入电阻差了几十欧,总是复位的那个电阻小,是不是阻抗太低单片机输出能力不够引起的啊?给固态继电器输入端串上200欧电阻,这个行了。能正常工作了。运行一会看看吧。过了大约半个小时,啊!又复位了!这回我没紧张,肯定是硬件问题,因为我的程序C语言版和汇编版都试过。拿来示波器看看是不是复位脚有干扰啊?没有。看看电源呢?啊?CPU的5V电源在复位的时候是个大低谷,持续大约50毫秒,元凶终于找到了!是这个电源质量不好,当有继电器动作,并且来通讯,电源就挺不住了。同事也没话说了,改造电源吧,给电源变压器增加容量后,再也不复位了。终于圆满结束了。
围着电源的一个小问题,我转了一大圈,把这个教训分享出来提醒大家注意。


相关帖子

沙发
shenmu2012| | 2012-9-6 17:56 | 只看该作者
楼主转帖的很好啊,单片机做出的产品的稳定性很大程度上都是取决于电源的,电源不稳定,后果很严重的

使用特权

评论回复
板凳
airwill| | 2012-9-6 20:20 | 只看该作者
的确, 电源的稳定性是单片机系统的稳定性的基础.
电源不稳定, 系统就不可能稳定.

使用特权

评论回复
地板
老电工1979| | 2012-9-6 20:29 | 只看该作者
楼主的观点不错!!!有些不注意的地方往往对系统稳定很重要

使用特权

评论回复
5
sqcumt123| | 2012-9-7 08:47 | 只看该作者
现身说法,值得信赖,电源确实很重要

使用特权

评论回复
6
happybird21| | 2012-9-7 16:25 | 只看该作者
弱电里面,尤其是单片机 电源稳定是很重要,数字信号怕干扰

使用特权

评论回复
7
hawksabre| | 2012-9-7 19:45 | 只看该作者
这个是好帖   电源看似简单   其实是个大头   如果电源做不好   单片机本身想可靠工作绝对不可能   主要是处理好高频电磁干扰  以及供电不足问题

使用特权

评论回复
8
dxl1120| | 2012-9-7 21:39 | 只看该作者
的确 电源很重要呢

使用特权

评论回复
9
happy啦啦啦| | 2012-9-10 22:16 | 只看该作者
电源不稳定,芯片容易出问题

使用特权

评论回复
10
lzmm| | 2012-9-12 09:55 | 只看该作者
使用DCDC芯片的功耗大

使用特权

评论回复
11
拿起书本| | 2012-9-13 09:48 | 只看该作者
电源的好坏决定了其它硬件在工作时的一个状态。

使用特权

评论回复
12
zzw111| | 2012-9-13 17:02 | 只看该作者
那个出问题的电源时怎么弄的,做个了解,以后可以避免。

使用特权

评论回复
13
lubaodong| | 2013-7-11 08:45 | 只看该作者
电源的稳健性确实很重要,我们也遇到过因为电源质量不好而导致系统运行异常的情况。

使用特权

评论回复
14
hkcj| | 2013-7-11 12:34 | 只看该作者
电源的稳定性很重要    楼主   这一块   需要好好学一学  顶一个

使用特权

评论回复
15
cjhk| | 2013-7-11 19:22 | 只看该作者
电源的稳定性对于电路很重要   楼主  这一块需要花时间好好琢磨

使用特权

评论回复
16
cjhk| | 2013-7-11 19:22 | 只看该作者
话说开关电源还是很难搞得  个人觉得

使用特权

评论回复
17
comeon201208| | 2013-7-11 21:52 | 只看该作者
这个说的是啊,单片机能否正常工作的,电源的稳定性是非常重要的

使用特权

评论回复
18
zeluo| | 2013-7-12 19:48 | 只看该作者
电源的稳定性真的很重要   楼主  真心需要花时间去好好学一学这一块的资料   谢谢了   楼主

使用特权

评论回复
19
trumpxp| | 2013-7-13 09:57 | 只看该作者
电源的稳定性很重要    楼主  顶一个  很不错

使用特权

评论回复
20
yppic82| | 2013-7-18 22:09 | 只看该作者
要努力的方向还很多啊,谢谢分享

使用特权

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

本版积分规则

460

主题

2188

帖子

12

粉丝