2021-11-29:电池BMS RS485调试记录

问题:软件哥描述,使用逻辑分析仪抓取BMS的AB线,发现A线能抓取到数据,B线无数据,怀疑是硬件问题

条件:

①MCU端485芯片:UM3483EESA    BMS端未知     

②MCU:STM32F407VET6  freeRTOS操作系统

③485芯片使用3.3V电源供电,匹配电阻120欧姆,上下拉电阻1.2K

④软件进行流向控制

调试过程:

step1、刚开始没使用示波器查看波形,软件调整为485芯片一直拉高,一直发送,使用逻辑分析仪抓取数据,发现A线数据正常,B线数据不正常(和A不是反相关系),有点开始怀疑芯片原因;

step2、单独使用MCU发送485数据,使用485转USB模块连接电脑,发现电脑串口调试助手能够正常接收到数据,此时使用串口调试助手定时100ms发送数据(非BMS板正常发送数据),使用逻辑分析仪抓取MCU板卡上A、B线数据,A线能够正常接收数据,但是B线数据不正常(和A不是反相关系),怀疑逻辑分析抓取问题;

step3、使用示波器查看A、B数据,发现A、B线数据正常,反相关系,MCU端口也能正常接收到数据;但是接到BMS板无法正常接收数据,但是A线上BMS有数据返回,此时怀疑数据流向没做好;

step4、软件更改流向控制时间,为数据发送完成后,立即拉低流向控制引脚,进入接收模式,此时MCU能够正常接收到BMS板接收到的数据。

经验总结:

1、逻辑分析仪抓的数据和实际波形会有差距(也有可能是逻辑分析太便宜了或者坏了,没有时间去验证)

2、使用软件进行流向控制对软件和时序要求较高,成本和其他条件允许的话,个人还是建议使用硬件流控【最简单的在TX加反相:三极管:在高温时会出问题---->不记得在某篇帖子上看过了,他当时将三极管更改为MOS管之后解决了】

3、示波器是个好东西【会用才行】

版权声明:本文为CSDN博主「不喜欢吃面」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25854651/article/details/121620342

生成海报
点赞 0

不喜欢吃面

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

RT-Thread Studio移植LAN8720A驱动

RTT网络协议栈驱动移植(霸天虎) 1、新建工程 ​ 工程路径不含中文路径名,工程名用纯英文不含任何符号。 2、用CubeMx配置板子外设 2.1、配置时钟 ​ 按照自己板子配置相应时钟。

【STM32Cube笔记】12-配置外部中断

【STM32Cube笔记】系列文章目录 1-基于STM32的VSCode入门级教程前言 2-STM32Cube安装教程 3-STM32CubeIDE汉化 4-STM32Cube配置时钟设置 5-跑马灯引脚配置 6-Cortex-M7内核基本配

stm32cubemx+HAL+串口接收中断

stm32cubemxHAL串口接收中断 在cubemx配置完串口和global interrupt后需要在keil中添加如下代码。 第一步:在main函数中添加接收中断标志位开启函数 HAL_UART_Receive_IT