基于STM32F103C8T6和L298N电机驱动模块调速实验NO.1
2025-10-22 来源:bilibili
你们好啊,小伙伴们!
最近我有个困扰,想用STM32和L298N从新温习一下寻线小车车实验。
但是没想到12V电源带动小黄电机跑的实在是太快太快了(带吓唬~),快到寻线灯等都反应不过来就冲了赛道......我们得想办法把电机速度调下来才行!
功夫不负有心人。经过我半天的调试终于把他驯服了!(掌声!~)
方法:PWM控制+物理控制
这里肯定会有人问了:“阿婆~阿婆~你用的L298N不是用IN1、IN2(IN3、IN4相同)数字电平逻辑控制的吗?怎么输出PWM控制电机转速呢?”

实物图&引脚图

电机转动控制逻辑
注意事项:

接线
Tips:其实左右电机不用太认真的去接,因为可以写程序的时候反过来就行了,重接线多累啊。
谁说我要用IN口了?嗯?我要用EN1、EN2使能口控制!没想到吧!(这就是我的逃跑路线哒!)

如图中的两个跳线帽
A、B两个使能端口的四个小排针口(跳线帽拔下来之后)靠近板子外边的是PWM输入控制口,靠近里面的是5V供电口,平时接5V就是全力输出的意思(怪不得跑得飞快...)。
然后我们只需要拔下A、B两个跳线帽和STM32板子的有PWM波复用功能口连接(TIM1到TIM4都能用,用你喜欢的那两个),我说便给大家说一下:

中文参考手册里查阅
我用的是定时器TIM4的PB8、PB9(我的是两轮车所以用两个够了),使用的是CH3、CH4通道。我说这些是为了写程序的时候不范错,知道吗!(划重点!)
Tips:要学会自己查STM32中文参考手册,才是一名合格的嵌入式玩家哦!
然后就是程序了:

所用到的文件和初始化函数

短小精悍得延时小函数

主函数Part1

主函数Part2

主函数Part3
我相信细心的小伙伴已经发现了。我的前进、左转、右转里用了物理开关机延时发和发送使能端口PWM控制法来减速,这样的减速效果非常好。
Tips:如果单一的使用一种方法会使速度不能降到能使用的速度因为会有死区(PWM占空比太小电机就不工作了)和程序运行减速(电机会一抖一抖的很沙雕)。

IN数字控制电机IO初始化

寻线小灯IO初始化

TIM4始终初始化Part1
注意:这里我留下了重映射函数但不使能,如果你用其他IO复用重映射功能的话就可以直接修改参数了,很方便。
还有就是这里不分频,频率可以根据需要自己修改太高太低都不好(高了L298N会发烫低了控制效果差)。

TIM4初始化Part2
还有就是OC通道设置和OC预装值的设置一定要有每个通道都设置到否者到时候自闭了就难过了(我就是受害人)。
这里的Value就是可以调节占空比的值我的测试结果是Value=100有0.3V左右小黄电机的阈值电压是1V(PWM输出电压低于1V电机就不转了)大概在Value=550左右是最低输出电压1.1V(我用电压表测的)最大Value=2399也就是5V啦(你自己算算看嘛,(550/2399)*5=1.146V和实际数值相同)。

巡线功能实现????
这篇文章要说的事差不多就说完了,但是我们前进的步伐是不会停止的。
- STM32F103C8T6开发板+GY521制作无刷四轴飞控详细图文教程
- STM32F103C8T6制作舵机/电调测试仪详细图文教程 | 定时器触发ADC | DMA传输 | PWM输出
- 使用Makefile在Windows环境下编译STM32F103C8T6标准库工程,脱离Keil的指南
- STM32F103C8T6单片机性能详解
- STM32F103C8T6微控制器详细参数与特性解析
- STM32F103C8T6引脚定义详解
- STM32F103C8T6单片机GPIO输出点亮初灯:HAL库实战入门
- STM32F103C8T6单片机双极性SPWM逆变技术详解(软件篇二)
- 基于STM32F103C8T6单片机的RTC实时时钟原理及配置代码
- HAl库控制L298N直流电机旋转笔记
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- 【TI 无线主题征集】+Zigbee无线通知设备(CC2530)
- 昨天收到MCU DAY承诺的msp430无线模块
- 这我直接给出BOM表不就好了么?
- 大家来谈谈你们做的产品都用什么MCU
- 谁能告诉我,C2000的LAUNCHPAD板子如何下载程序?如何在线调试?
- FPGA双通道交叉采样同步问题求教
- 【懒人自理鱼缸控制系统】ON Semiconductor IDE环境下RTE配置
- M0 是如何跳转到main函数的?
- Multisim 的示波器显示速度很快,要如何慢下来?
- 关于the golbal default build tree (WINCEROOT) has not been set问题




