0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

做单片机千万不能忽略的一个问题

GReq_mcu168 来源:未知 作者:胡薇 2018-05-02 09:38 次阅读

说一个我获得的教训,老板的一个朋友委托我们给他做一个小型的控制器,要求的工期比较急,没时间做线路板了,所以我们根据他说的要求选了一个我们以前的成型产品做基础,在这个基础上改。

这个东西的工作过程很简单,只需要把传感器传上来的数据分别送两块数字表显示,然后根据传感器传上来的数据确定两个出口固态继电器的动作。这里面用到了3个按键,3个指示灯,2个出口固态继电器和485通讯。我们用了ATMEG8做控制芯片,用内部8MRC振荡器时钟,内部看门狗,程序用C语言写的,我的C语言水平比较差上学的时候没学过,刚用单片机的时候全是用的汇编,今年才边学边用C语言做产品。

刚做好程序的时候我都试过了,接上传感器和数字表可以正常的显示数据,并能根据按键执行规定的动作,我认为没问题了就交了差。

同事拿着我做的控制器去操作箱上安装配线,后来调试的时候同事告诉我说装置死机了...

我说不能啊,我已经配置了看门狗,正常程序出错是可以复位的。把同事拿回来的装置通电测试果然没有反应了,重新烧写片子还能正常工作。

是不是静电搞的鬼?

因为我们的装置原来是没有按键的,这次的按键是在操作箱上接3个按钮到装置的CPU管脚上,没有保护措施,现在冬天空气干燥,很容易产生静电。

马上改!

给3个按钮都加上了光耦隔离,改好了再装到控制箱上测试,没一会的功夫同事又回来了,说又死机了。啊!?这是怎么回事呢?

我有点傻了,难道是我的程序有问题?査吧,把程序从头到尾看了几个来回也没看出毛病。

把死机的片子擦了,重新烧程序还是能正常工作,这就怪了!难道是操作箱有问题?怎么在我这好好的东西上到操作箱上就死机呢?

同事干脆把操作箱从车间运到我的办公室来,让我自己做实验。果然刚烧好的片子上到操作箱上一会功夫就死机了,经过反复的实验发现是和数字表通讯之后死的,更进一步的确认是跟数字表通讯以后修改了控制器的EEPROM以后死的。去掉了控制器的写EEPROM程序就不再死机了,难道是GCC的EEPROM库有问题?先不管,看能正常运行了再说,反正这个功能不重要。重新烧写芯片,装到控制箱上,手动操作没问题!装置开始自动运行,呀!怎么复位了?是没看清吗?

再等一会....又复位了!一波未平一波又起,怎么回事?

这么个小东西程序不超过2K怎么这么多问题?我不至于这么烂吧?这么个小程序都写不好?还得试找出问题!反复试了几十次发现规律了,只要是自动状态的1号状态再和数字表一通讯就复位,是不是485通讯没加隔离的问题?动手加隔离(这里要说一下我们的软硬件是两个人负责的,我做软件,另一个同事专做硬件),我的同事刚才加了按键的隔离这回又加485的隔离,为了增加隔离电源又在原装置的基础上改了电源。改完了装上测试,还复位!天啊!我同事都不用好眼色看我了!

妈呀,我可怎么办啊?

从程序上怎么也看不出问题,可恶的M8不支持仿真又看不到C语言程序具体是怎么执行的。没办法只好用汇编写程序吧,这个我熟而且每一步都可控制,肯定不会再出错了,一个白天加一个晚上把程序就写出来了,第二天调试通过,上到操作箱上,天啊!又复位了!

不对!一定是硬件有问题,同事说没关系我给你换CPU板,同事又改了一块CPU板给我送来,装上一试,你们猜怎么样?还是不行!别扔白菜,我真完了/_\,呜呜...我心里直哭。

突然我转念一想,不对就不能还是硬件有问题?

这回我不吱声了,我另找了一套没改过的硬件,是原来测试用的肯定是好的,我用它试试。

嘿嘿!这回没事了,先别着急,我把改过的主板换到这个上面再试,还是没问题。把我那个做硬件的同事揪过来,你看看外面是不是下雪了!说明什么?我冤啊!快赶上窦娥了!她六月下雪,我11月下雪呀!同事二话没说,拿过继电器板对比,发现好的板两个固态继电器输入电阻一样,不好的输入电阻差了几十欧,总是复位的那个电阻小,是不是阻抗太低单片机输出能力不够引起的啊?给固态继电器输入端串上200欧电阻,这个行了。能正常工作了。运行一会看看吧。

过了大约半个小时,啊!又复位了!

这回我没紧张,肯定是硬件问题,因为我的程序C语言版和汇编版都试过。拿来示波器看看是不是复位脚有干扰啊?没有。看看电源呢?啊?CPU的5V电源在复位的时候是个大低谷,持续大约50毫秒...

元凶终于找到了!

是这个电源质量不好,当有继电器动作,并且来通讯,电源就挺不住了。同事也没话说了,改造电源吧,给电源变压器增加容量后,再也不复位了。终于圆满结束了。

围着电源的一个小问题,我转了一大圈,把这个教训分享出来提醒大家注意。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16423

    浏览量

    244143
  • 传感器
    +关注

    关注

    2515

    文章

    47679

    浏览量

    738660
  • 控制器
    +关注

    关注

    112

    文章

    15018

    浏览量

    170332

原文标题:做单片机的朋友,忽视这个问题你就懵圈了

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【DIY单片机最小系统】晒晒我的PIC单片机最小系统

    PIC单片机最小系统区别于51单片机最小系统,大家速来看!  网上PIC单片机的资料比较少,而且各个网站的资料基本上都样,所以只能拿着数据手册自己摸索了,因此这个最小系统
    发表于 11-23 14:20

    单片机的接口扩展问题

    大棚设计,用单片机控制核心,需要测6参数(由6传感器测量所得温度、湿度、光照等参数),
    发表于 03-14 15:45

    怎么用单片机项目

    学了2单片机了,对单片机都有定程度上的了解,不过要做项目的话,真的不知道怎么,有高人指点一二吗
    发表于 05-19 13:56

    怎么给自己的最小单片机烧写程序

    我买了单片机,自己做了块最小单片机。我买的那块有TTL输出口:V,RX,TX,G。分别把他们接到的那块的V,TX,RX,G口,但是烧
    发表于 08-29 16:31

    多个单片机传数据给单片机,能实现吗?

    急急急,各位大神,请问基于独立的三STC89c52单片机超声波测得的距离数据,可以传给另外52单片机吗?就是多个
    发表于 08-14 19:14

    画的PCB,上面有单片机和FPGA模块,但是识别不到单片机

    的板子上面有单片机和FPGA,开始只焊的单片机那块,然后是可以识别检测到单片机的,但是再把FPGA那块焊上后就不能检测到
    发表于 03-29 16:38

    单片机千万身家,“技术型老总”需要哪些神技能?

    、DSP、ARM、STM32等各种各样的单片机的兴衰成败。现在带领团队致力于智能硬件、电机驱动等产品的研发、设计与市场推广。如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不定喜欢
    发表于 05-27 14:49

    不能推荐款最小封装的单片机,我只用IO

    我在项目上,需要用到单片机IO控制,市面上供货充足,小尺寸的单片,大家能推荐么?
    发表于 01-23 11:39

    单片机在不同板子上,有的能工作,有的不能

    我现在有48块相同板子,焊接好后有10快不能用,查出来是单片机问题,换新单片机后可以工作。把换下来的10单片机焊接到别的板子上(板子不
    发表于 05-11 15:47

    分享51单片机的小程序

    这是51单片机的小程序,是我接触单片机之初的小练习。首先感谢学社的学长学姐指导,再感谢我自己虽然学的不是这个专业,却仍在坚持。里面运用
    发表于 07-15 09:08

    51单片机可以用来做什么?单片机可以的小产品 精选资料分享

    51单片机麻雀虽小五脏俱全,在家用、玩具等消费类领域有非常多的应用。新手刚学习完51单片机以后,不要直接就进阶到STM32。而是通过51单片机
    发表于 07-16 07:43

    教你如何自学单片机

    语言、数字电路以及模拟电路等。所以如果你打算自学单片机,那么必然不能急于求成,而是要有循序渐进的过程,否则就会越学越难,直至放弃。学习单片机
    发表于 07-20 08:14

    单片机透彻地理解

    、去背寄存器千万不要去记寄存器,我开发这么多年了,寄存器都记不住。寄存器般是我们要使用
    发表于 08-23 08:53

    51单片机实时秒表的设计资料分享

    的,觉得太低级可以忽略。课 程 设 计 任 务 书、目的任务《电子系统综合设计I》是《模拟电子技术》、《数字电子技术》、《单片机原理及应用》等课程完成后的
    发表于 11-10 06:08

    想做一个利用单片机一个音频滤波计数设备,有人可以这个吗?

    本帖最后由 克拉克d 于 2021-12-27 09:31 编辑 刚注册的,没积分没法子设悬赏目前在学校实验需要做一个利用单片机对音频信号分析来获取冲击频率。采集的声音类似风镐的冲击声,冲击
    发表于 12-25 17:35