标题: 关于STM32单片机+L298N电机驱动模块只控制了一个电机 [打印本页]

作者: 陈琦琛    时间: 2022-2-27 16:44
标题: 关于STM32单片机+L298N电机驱动模块只控制了一个电机
最近在做一个小车,使用L298N时遇到了一些问题,恳请大家帮忙解决或提议,谢谢大家。


接线如图
L298N  驱动电压(橙色线) 输入接12V锂电池(红色线)
L298N  GND(黑色线)输入接12V锂电池(黑色线)
L298N  GND(绿色线)输入接 单片机GND(绿色线)

IN1  黄色线 接单片机 PB0
IN2  蓝色线 接单片机 PB1
IN3  白色线 接单片机 PB2
IN4  紫色线 接单片机 PB3


程序代码如下







当角度大于105度时左转,角度小于65度时右转,否则停止

测试结果,只实现了右转功能(即左电机转动),左转功能没实现(左右电机都没转动)

如果分别单独测试左转功能或右转功能,两种功能都可以实现,但是放在一起同时测试时就只有右转功能可以实现,左转不行。


之前我使用了串口打印测试了角度大小,可以正常计算出 cos_r1的值。





作者: yzwzfyz    时间: 2022-2-28 15:20
走单步调试一下,就知道了。
作者: 之一知足    时间: 2022-2-28 23:09
多种检查方式,首先检查纯硬件原因,你将不能动的那个电机接到能动的那个上边,端口也都互相换换,首先排除掉硬件问题,也是最容易排除的。其次是程序问题,检查下定义的那几个端口有没有其他地方又给用到了,如果一时找不到,你换几个端口试试,控制电机转动,翻芯片手册,挑最普通的IO口用就行,能翻转高低电平就行。
作者: 陈琦琛    时间: 2022-3-1 10:46
之一知足 发表于 2022-2-28 23:09
多种检查方式,首先检查纯硬件原因,你将不能动的那个电机接到能动的那个上边,端口也都互相换换,首先排除 ...

谢谢指教
作者: 陈琦琛    时间: 2022-3-1 10:46
yzwzfyz 发表于 2022-2-28 15:20
走单步调试一下,就知道了。

谢谢指教
作者: glinfei    时间: 2022-3-1 16:33
在 if(65>cos_r1) 前面加上else 就可以了。否则只要不小于65,都是停止啊。
作者: 陈琦琛    时间: 2022-3-11 10:28
glinfei 发表于 2022-3-1 16:33
在 if(65>cos_r1) 前面加上else 就可以了。否则只要不小于65,都是停止啊。

嗯,我已经改了,成功了,谢谢





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1