开发板连接电机,烧坏芯片的原因、解决

2024-05-15 21:28

本文主要是介绍开发板连接电机,烧坏芯片的原因、解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当使用开发板、核心板,连接电机驱动板,控制电机的转动,会很容易烧芯片。

极少数是通电就烧坏,有些是调试了一段时间才烧,也有些是稳定运行好些日子突然烧了......

百度搜索:“STM32 电机 烧坏”,可以看到一堆堆带眼泪的文章。

导致的原因很多:过流、过压、电磁干扰、不当的PWM调速、电源不稳定、保护电路缺失等;

从多年的咨询中收集了大量反馈,最基本的原因:

电机驱动板,与开发板之间,没有做电源隔离、信号隔离。

一、电机的反电动势

这个词,咱长话短说,具体的自行百度。

电机在运行过程中,会产生反电动势,如快速停止或反转等。

即使是小电机,这个反电动势,也可以瞬间窜至几十V。

驱动电路上,如果没有做好续流、过流、过压和隔离等保护,反电动势就很容易损坏设备。

二、开发板,没有针对电机驱动进行预先设计保护措施

目前市面上绝大部分的开发板,芯片的引脚,都是直接连接到排针。

根本没有针对电机的使用作设计保护、隔离。

这并非开发板的设计有啥问题,也并非板商们刻意节约成本。

因为这是“开发板”呢:每一个引脚,都可能被用于实现各种功能。

如引脚-PA10,能作电平输出、能作电平输入,还可以作为USART1_RX、TIM1_CH3......。

每个用户,对每个引脚的使用需求,也不尽相同。

设计时,无法预料每一个引脚将被用于什么功能,就无法预先针对性地设计需要的隔离和保护。

芯片引脚直接“赤裸裸”地引出至排针:

  • 好处:引脚的功能可以灵活地使用。
  • 坏处:很容易因各种原因导致芯片被烧坏,如电机驱动时缺失保护。

因此,用开发板玩电机控制,没有做好外部保护措施,烧芯片就是大概率的事了。

特别是使用一些低端低价的电机驱动板,如L298N等,5元包邮,反烧芯片是很普遍的。

三、如何有效地防止烧芯片

如果使用开发板控制电机,下面三个“必须”,请务必注意:

1、电机驱动器,如L298N等,必须使用独立电源,不能与开发板使用同一个电源供电。

2、如果电机驱动器、开发板,不得不使用同一个电源时,开发板必须使用电源隔离模块。

(如,很多人使用的L298N,开发板直接从L298N上面的5V取电,不能这样操作!别作死!)

3、信号线,即PWM线、方向线,必须经光耦隔离模块!

如果是自己画的电机驱动电路,在参考上述外,增加以下考虑:

1、电机驱动电路,必须配置续流装置,如高速二极管。 

2、Vin端,配置大电容,且按照设计要求配置。

3、控制芯片,单独占用一个隔离电源!

4、控制地和驱动地连接要符合单点连接的原则,杜绝多点接地 。

四、电源隔离模块,参考:

(不上链接了,怕被误判为广告,自行淘宝)

     

五、光耦隔离模块,参考:

(不上链接了,怕被误判为广告,自行淘宝)

这篇关于开发板连接电机,烧坏芯片的原因、解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/992960

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错