完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 C-Korey 于 2018-1-25 10:01 编辑
STM32F030使用内部晶体,开机半年,现在冬天出现死机状态使用STM32F030做了一个室外机的内部的电源电压读取部分的一个小模块,使用内部振荡器产生时钟,未使用外部晶体。现在有几百个产品在吉林省使用,目前出现了三十四个设备无法与单片机STM32F030通讯,读不到单片机信息。出现死机状态。 STM32F030单片机编程时使用了两种保护: 1.独立看门狗 2.当进入异常中断时会进行软件复位重启。 但是现在出现死机状态,如果当重新关电重启后恢复正常。由于产品需要常年开机。所以这是一个很大的问题。 由于死机后看门狗和软重启都没起作用。在家测试软重启和看门狗编程验证都是可以的。现在怀疑是单片机低温稳定性不好,内部晶体停振。在家无法复现,也只能怀疑。 以前在家也做过-40℃启动与运行测试,没出现过死机状态,现在批量以后,吉林零下二三十度就死机了。 通讯协议在家也做过压力测试和乱码测试,不会把单片机由于通讯数据错误而卡死。 大家有没有遇到过类似情况? STM32F030稳定性怎么样? 内部晶体性能怎样? |
|
相关推荐
35个回答
|
|
换一句话说就是,人没去吉林?然后猜测的结论?不开机,也有可能是MCU连电都没有。。。因为低温环境下,其他很多原件也会有要求的。。。最简单的一个例子,电源的各种滤波电容,特别是那种电解电容。。。低温分分钟让你奔溃,如果选择的不合适的话。
回到MCU的稳定性上面,一般情况下,至少目前我没遇到不稳定的情况,而且从稳定性来说,内部晶振应该比外部晶振反而更加稳定,只是精度欠缺而已!!!
最佳答案
|
|
|
|
STM32F030稳定性先不用怀疑,还是先排除硬件电路是否有缺陷。
电路中,其它器件是否能保证全宽温;如果在室外,电路外围的防水、防潮、防静电是否考虑充分; 还有其它电磁兼容性问题,是否有考虑。比如,是否有金属屏蔽壳体,壳体是否充分接地;放置的位置,是否有电机等强电磁设备;通信口有没有隔离;电源是否稳定等。 |
|
|
|
jfuwre 发表于 2018-8-20 07:28 设备是通过3G/4G或网络远程可远程控制,设备中有cortex—A8,直接可以远程登录linux查看原始数据。CMU控制着A8这边的电源,A8自己重启可以联网上线。但是就是无法与MCU通信。MCU控制着A8的供电,如果MCU重启或复位,都会断电重启A8。如果A8一段时间不发送握手心跳包给MCU,MCU会复位断电重启A8,我们试过停止发送心跳包,但是MCU不断电重启A8。这种情况下自由切断外部供电后,就能恢复正常通讯。 设备设计时,全是按照-40℃选用的所有器件。机箱压铸铝IP65等级。防雷、低温启动、低温运行、防水、静电、脉冲群、电磁抗扰、电压跌落等等都是做过认证测试的。之前都没出现过这个假死的问题。 |
|
|
|
zhouxk 发表于 2018-8-20 07:42 设备设计时,全是按照-40℃选用的所有器件。机箱压铸铝IP65等级。防雷、低温启动、低温运行、防水、静电、脉冲群、电磁抗扰、电压跌落等等都是做过认证测试的。之前都没出现过这个假死的问题。 |
|
|
|
|
|
|
|
现在开的48M,降频确实可以试一试。在家测试时冻到过-45℃。在低就不行了。 |
|
|
|
本帖最后由 wenyangzeng 于 2018-1-25 13:58 编辑 那证明你也早知道这个低温有隐患。你可以让VCC达到最高值的3.6V。还有是否应该考虑PCB有否结冰了引起短路。 |
|
|
|
ctwewer 发表于 2018-8-20 08:49 现在电压是3.5V,由于客户需求就是-40℃,器件都是按照-40℃选型设计的。机箱是压铸铝IP65等级,做过认证测试的。防雷测试、静电、脉冲群、电磁抗扰度、电压跌落等等都是做过认证测试的。之前都没出现过这种假死现象,所以感觉很奇怪。 设备中还有一块A8平台ARM和3G/4G通讯模块,A8与MCU通讯的,MCU控制着A8的电源,A8通过移动网络上网、我们可以远程直接登录到linux中,查看原始原始数据和进行控制。A8需要向MCU发送心跳包,如果A8一段时间不发送正确的包,MCU就会断A8的电重启A8。我们试过远程关闭心跳发送,MCU没有任何断电复位操作重启A8。第一版当时一个设计缺陷就是,没设计A8复位MCU的功能,第二版就有了,但是现在第一版出去了几百台,冬天来了就有部分假死了。 |
|
|
|
jfuwre 发表于 2018-8-20 07:28 我觉得你说的有一定的道理,特么到冬天电池比MCU还弱鸡,或者板子上其他元器件不耐操呢? 不过这种事情也只是个人猜测,具体还得去现场才能知道。 |
|
|
|
我们内部也有电池,设备要求掉电后运行20分钟以上,使用三元锂电18650,单独设计了辅助加热功能,让电池温度维持在5℃以上。测试过电池-15°几乎就放不出电来了,内阻变得超大。现在使用两节18650,加热控制后,2200毫安时,基本可以满足-40℃,掉电运行半个小时的上网与数据发送。 手机电话卡SIM卡,-15°以下里面数据就读不出了。我们也做了加热。-40℃也没问题了。 |
|
|
|
ligeht 发表于 2018-8-20 09:16 既然有辅助加热,给MCU也加个辅助加热呗。背面贴个PTC电阻应该就解决了~ |
|
|
|
我觉得,既然开了看门狗,而设备死机会并没有自动复位,
很有可能不是单片机的问题,有可能是其它通信芯片出了问题, 当重新上电时,通信芯片也就重新正常通信, 所以单片机也就能正常通信了。 |
|
|
|
东北被那边是低温+干燥,容易出现静电,我有设备接口被静电损毁的经历,其次楼主查查电源是否稳定,外围电路器件是否可靠,有没有温度失控的情况出现。
|
|
|
|
xieweibin 发表于 2018-8-20 09:49 没有用其他芯片,MCU直接串口连得A8的串口。 |
|
|
|
zsqzsqzs 发表于 2018-8-20 10:02 趋势静电比较强,以前在北京,徒手摸了下板子,片子就烧了! ,但不是这个板子 |
|
|
|
建议楼主从吉林寄回几台故障机和未出故障的机器,在低温环境对比测试下,就能很快发现问题。
|
|
|
|
ST的片子最好别用在这种复杂环境下,容易出问题,做民用级的产品还行
|
|
|
|
内部时钟注定是不稳定的,RC振荡器漂移很大,随着使用时间的增长漂移更大,而且外部环境温度极端状况下加剧漂移。很可能是你通讯接收到了错误数据导致程序出错。
ST的MCU切忌为了省成本而用内部RC振荡器,那不是晶振,那是个害人的东西(除非你不通讯)。 |
|
|
|
串口连接的???我估计猜测出问题了。。。内部晶振受温度的影响很大,估计温度偏差太大了。。。导致串口数据错误率太高了。。。甚至没法通信。。。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
969 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
954 浏览 2 评论
2066 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1162 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1587 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:12 , Processed in 0.961127 second(s), Total 109, Slave 92 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号