Robin_0123 发表于 2023-2-20 17:31:31

GN125_1984 发表于 2023-02-20 07:45
<p>用DCDC后,信号也要隔离的,否则没有用的,单向信号用光耦隔离,双向通讯用专用的信号隔离芯片,但是你这个电路只需要对TB6612芯片隔离就可以了,就是TB6612这一块电路从信号到电源都与其它部分没有任何电路上通路的关系,所以一块DCDC隔离就可以了。我在实际使用中也感到ESP32芯片极易收到干扰。我用STM32芯片比较多,还有STM8的芯片也用的,他们的稳定性要比ESP32好多了。</p><link rel="stylesheet" href="//bbs.591moto.net/source/plugin/wcn_editor/public/wcn_editor_fit.css?v134_i6I" id="wcn_editor_css"/>

照道理来说 mcu 研发过程中 都是要做严格的EMC实验的 一般情况下是不太可能受到这种级别的干扰的 如果不放心 确实也可以试试stm32 毕竟意法半导体是大厂https://wap.591moto.com/public/emotion/face_068.png

Robin_0123 发表于 2023-2-20 17:38:04

开在边缘 发表于 2023-02-20 00:26
<p></p><p>对的,驱动用的是TB6612FNG。</p><p><br/></p><p>信号应该没关系,因为我写EEPROM是单片机内部程序的事情,都在ESP32内部完成,不牵涉到外部信号的传输。</p><p><br/></p><p>DCDC隔离我没用过,请教一下。如果我用2个DCDC隔离模块,然后电池的正负极分别接到2个隔离模块的IN,然后OUT接各自的降压模块MP1584,降压模块出来再分别接ESP32和电机,这样是否可行?</p><p><br/></p><p>或者是电池的先接各自的降压模块,降压模块出来再分别接隔离模块,隔离模块出来再接ESP32和电机?</p><p><br/></p><link rel="stylesheet" href="//bbs.591moto.net/source/plugin/wcn_editor/public/wcn_editor_fit.css?v134_i6I" id="wcn_editor_css"/>

“信号应该没关系,因为我写EEPROM是单片机内部程序的事情,都在ESP32内部完成,不牵涉到外部信号的传输。” eeprom是否在单片机内部读写 与 信号有没有问题似乎没有关系。如果你eeprom是在外部的 并且你可以正常读写eeprom(不管是通过iic 还是spi 还是其他)那么似乎还可以侧面的证明一点点 信号可能是好的https://wap.591moto.com/public/emotion/face_043.png

Robin_0123 发表于 2023-2-20 17:43:38

开在边缘 发表于 2023-02-19 22:30
<p>之后为了好玩,又加了一个线性CCD循迹功能,用的是TSL1401CL,配120度广角镜头,然后自己打印底座和支架。后期调试的时候发现,在弱光环境下,CCD简直就是一个瞎子,就算是运放输出,也是一个白内障,所以又加了一个简单的照明。</p><p><br/></p><p></p><p><br/></p><p></p><p><br/></p><p></p><p><br/></p><p></p><p><br/></p><p></p><p><br/></p><p></p><p><br/></p><p>视频点击下方<br/></p><p>https://v.youku.com/v_show/id_XNDczNTUzOTU2MA==.html</p><p><br/></p><p>还有一个问题就是,EPS32在SPI总线交换数据的时候,会引起I2C超时,哪怕SPI和I2C的读写是在两个不同的core上运行的两个任务,这个也不知道怎么解决。</p><p><br/></p><link rel="stylesheet" href="//bbs.591moto.net/source/plugin/wcn_editor/public/wcn_editor_fit.css?v134_i6I" id="wcn_editor_css"/>

关于 使用spi 导致iic 超时 这个的原因有很多 我推测 大概率是软件原因。不过 从驱动层到应用层 都有可能导致这个现象。比如IO引脚复用出错 初始化出错 中断时能关闭出错 任务抢占 发送时序出错 cpu负载过高 等等

Robin_0123 发表于 2023-2-20 17:53:27

“有时候当我写EEPROM时,ESP32就重启了,连接串口后,显示的信息是地址不存在。后来发现和电机通电有关,如果电机在运转,就会随机的出现这个问题。如果电机不在运转,就没问题。难道是电磁造成的干扰?”写eeprom的时候 mcu 重启, 好了 我推测你应该是片上eeprom。就是说 你的eeprom是集成在你的mcu里面的对吗?因为你说当你写数据的时候 出现重启 并且串口打印地址错误 我推测 这个打印的代码应该是你之前写着方便调试用的 你可以去跳进那段代码之前的地方看看 是不是地址写错了 是不是把数据当地址写了 检查一下指针使用是否规范 有没有空指针的出现 或者把mcu的地址误当作eeprom的地址等等

开在边缘 发表于 2023-2-20 18:40:10

Robin_0123 发表于 2023-2-20 17:53
“有时候当我写EEPROM时,ESP32就重启了,连接串口后,显示的信息是地址不存在。后来发现和电机通电有关, ...

<p>对,eeprom是片上的,集成在ESP32内部的。代码应该没有问题,前前后后检查无数遍了,写eeprom前特意还把地址通过串口打印出来,地址是正确的,但是写的时候报地址错,然后重启了。并且在断开电机电源后,程序运行起来完全没有问题,一切正常。</p><p><br/></p><p>SPI导致I2C超时这个问题,我试过很多办法,比如在一个core上用多任务来运行,或者直接在2个core上分别运行,都不行。如果SPI和I2C的操作,在一个core上分批执行,那么完全没问题,不管是先执行哪个都没问题。两者使用的IO引脚也没有重复的,所以引脚复用可以排除掉。然后分批执行没问题,那么程序本身应该没有问题,包括初始化、中断之类的。我怀疑会不会是MCU本身出现了任务分配上的问题,之前我查了很多资料,也没查到ESP32不能同时运行SPI和I2C的说法。</p><p><br/></p><link rel="stylesheet" href="//bbs.591moto.net/source/plugin/wcn_editor/public/wcn_editor_fit.css?v134_i6I" id="wcn_editor_css"/>

人间四月天 发表于 2023-2-20 22:05:07

都说高手在民间,这才是真正的高手

市北苦力 发表于 2023-2-21 10:45:12

开发摩托车自动驾驶https://wap.591moto.com/public/emotion/face_043.png

郎杰 发表于 2023-2-21 18:40:40

做好gnd,信号线做屏蔽,可进0v拉平杂音

罗林史东 发表于 2023-2-22 12:14:56

天书奇谭{:6_699:}
页: 1 2 [3]
查看完整版本: 懂航模动力电池、直流电机对单片机造成干扰的兄弟进来看看