搜索
bottom↓
回复: 21

做了一块工控板, 用的stc单片机, 接负载跑几个小时会死掉

[复制链接]

出0入0汤圆

发表于 2023-11-12 18:33:18 | 显示全部楼层 |阅读模式
本帖最后由 guoyvv 于 2023-11-12 19:25 编辑

一块冷库的工控板, 用继电器控制压缩机, 用可控硅控制加热管, 有时候会出现stc单片机死机的情况.
用的stc8a8k64d4, 用双路变压器做电源隔离
外部晶振, RST脚用做普通IO
晶振用的11.0592MHz
可以确认是单片机死机, 因为控制功能和串口通讯功能都失效了
请帮忙看看有没是要修改的地方没有, 谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2023-11-12 18:42:53 | 显示全部楼层
各路输出都做了隔离,电源也分了两路,死机问题大概率出在程序吧!

出140入158汤圆

发表于 2023-11-12 19:04:12 | 显示全部楼层
1. 51貌似没有HartFault,而且逻辑估计不太复杂,软件有可能有问题,但估计概率不大,另外没有开狗?
2. 地平面惨不忍睹,建议地平面尽量完整,成本允许的上4层板,留一内层是完整地。如果成本不允许,地的过孔尽量多,线尽量粗,地回路尽量又粗又短。
3. 二十几年前用51的时候,晶振是很敏感的,晶振尽可能靠近芯片,晶振负载电容的地尽量和芯片的地又短又粗的连接,晶振外壳接地。
4. 由于没有原理图,但PCB粗看一下,很多外部接口处于裸跑状态,不烧已经是踩狗屎运,外部干扰从接口跑入打死MCU一点不奇怪。
5. MCU去耦又少又远
6. 另外,您这强电部分,完全不符合爬电距离啊,来电灰尘和潮气,漏电炸板等可能性极大,总体真是惨不忍睹啊

出0入0汤圆

 楼主| 发表于 2023-11-12 19:24:03 | 显示全部楼层
amigenius 发表于 2023-11-12 19:04
1. 51貌似没有HartFault,而且逻辑估计不太复杂,软件有可能有问题,但估计概率不大,另外没有开狗?
2. 地 ...
(引用自3楼)

有原理图, pdf版本的,  麻烦您看下
有看门狗

出1310入193汤圆

发表于 2023-11-12 20:08:12 来自手机 | 显示全部楼层
冷库房间使用场景,是不是低温方面影响。
输入端子控制io有哪些,看pcb没有隔离处理吗?
有狗死机情况不多见,定时器中断中喂狗不大可能吧。
都工控板了,有源晶振加一个外置max8xx系列电压监控芯片,多不了几块钱。换一个安心安稳。

出0入0汤圆

 楼主| 发表于 2023-11-12 20:15:11 | 显示全部楼层
lb0857 发表于 2023-11-12 20:08
冷库房间使用场景,是不是低温方面影响。
输入端子控制io有哪些,看pcb没有隔离处理吗?
有狗死机情况不多 ...
(引用自5楼)

输入确实没有隔离, 或者保护
之前一版mcu端没有加防反流二极管, 稳压二极管, 也死过, 现在加了已经

出0入25汤圆

发表于 2023-11-12 20:18:11 | 显示全部楼层
guoyvv 发表于 2023-11-12 20:15
输入确实没有隔离, 或者保护
之前一版mcu端没有加防反流二极管, 稳压二极管, 也死过, 现在加了已经
...
(引用自6楼)



很简单的问题。   在rst 叫 加一个  max809  或者类似的芯片。。  然后拿到现场去烤鸡。 看看能不能解决这个问题

出1310入193汤圆

发表于 2023-11-12 20:18:29 来自手机 | 显示全部楼层
工控产品,输出控制io加反相器驱动,输入隔离之后加施密特缓冲器。
参考一下国外plc线路板,有收获

出0入442汤圆

发表于 2023-11-12 20:20:46 | 显示全部楼层
guoyvv 发表于 2023-11-12 20:15
输入确实没有隔离, 或者保护
之前一版mcu端没有加防反流二极管, 稳压二极管, 也死过, 现在加了已经
...
(引用自6楼)


打log,一个一个代码定位,看看死在哪。可能程序里面在while(1)一个实际状态不正确的信号。。

另外注意中断嵌套的话,栈是不是溢出了。可以关掉中断嵌套测试一下。

出0入103汤圆

发表于 2023-11-12 21:20:05 | 显示全部楼层
amigenius 发表于 2023-11-12 19:04
1. 51貌似没有HartFault,而且逻辑估计不太复杂,软件有可能有问题,但估计概率不大,另外没有开狗?
2. 地 ...
(引用自3楼)

说得很对。楼主未必能懂字面后的意思,和怎样尽可能优化,奈何。

出0入0汤圆

发表于 2023-11-12 22:50:17 | 显示全部楼层
万不得已,不要用复位囗做ⅠO

出10入113汤圆

发表于 2023-11-13 07:14:05 | 显示全部楼层
晶体外壳最好接地,晶体太远。

出0入0汤圆

发表于 2023-11-13 08:39:24 | 显示全部楼层
1、去掉晶振,使用内部晶振;
2、你的板子死机的原因,是从触点继电器进去的。

出0入137汤圆

发表于 2023-11-13 08:43:35 | 显示全部楼层
本帖最后由 pulan 于 2023-11-14 08:25 编辑

外部加一个DC24V电源,板子上电源都用DC/DC隔离模块。

出330入0汤圆

发表于 2023-11-13 08:56:46 来自手机 | 显示全部楼层
用STC以来,做了好多机器。从没用过外部晶振

出0入0汤圆

发表于 2023-11-13 09:40:57 | 显示全部楼层
这个电路图感觉没有什么问题,我们做的产品也是这个,除了芯片不同其他都差不多,建议把晶振焊下来,使用内部RC.

出0入0汤圆

 楼主| 发表于 2023-11-13 21:23:03 | 显示全部楼层
多谢大家的回答.
问题还在测试.
目前感觉还是软件问题, 具体就是函数嵌套层数太大, 传参太多.
另外, 在keil里, 设置成large模式, 这样的话, data区域就会大大减少, 跑了3个小时没出问题.
我总结下来, stc单片机性能还是太弱了, 所以没法用stm32的方式去写程序, 只能说程序尽量简单吧

当然各位说的硬件上的问题, 后续打板也慢慢改掉, 毕竟保护越多, 越稳定
非常感谢!!!!

出1310入193汤圆

发表于 2023-11-13 22:05:26 来自手机 | 显示全部楼层
嵌套太多,死机
某一个死循环中还喂狗了吗?

出20入128汤圆

发表于 2023-11-13 22:06:18 | 显示全部楼层
NB,这个485电路可以这样用吗?稳定吗?

出0入0汤圆

发表于 2023-11-13 23:35:31 来自手机 | 显示全部楼层
阿豪博士 发表于 2023-11-13 08:39
1、去掉晶振,使用内部晶振;
2、你的板子死机的原因,是从触点继电器进去的。
...

(引用自13楼)

你的第二点可以细说一下吗?

出10入210汤圆

发表于 2023-11-13 23:47:53 | 显示全部楼层
songyongpan 发表于 2023-11-13 23:35
你的第二点可以细说一下吗?
(引用自20楼)

触点开关时打火产生干扰的可能性最大。

出0入4汤圆

发表于 2023-11-14 09:16:10 | 显示全部楼层
lb0857 发表于 2023-11-12 20:18
工控产品,输出控制io加反相器驱动,输入隔离之后加施密特缓冲器。
参考一下国外plc线路板,有收获 ...
(引用自8楼)

有电路图吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-30 02:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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