基于stm32与l298n的直流电机pwm调速(二)

这篇博文介绍了基于STM32控制器和L298N驱动器对直流电机进行PWM调速的方法。通过讲解接线逻辑、控制引脚和电路配置,展示了如何使用STM32的通用定时器3通道2输出PWM信号,并通过PA4和PA5控制电机正反转。文中还提供了关键代码段,包括GPIO和定时器初始化,以及按键中断实现的调速控制。
摘要由CSDN通过智能技术生成

在上一博文中说了直流电机驱动板的电路原理,现在具体说一下直流电机的调速原理以及代码实现,亲测调速有效。

首先说一下接线,l298n可以控制两路直流电机,在这里仅测试一路,看一下l298n的控制逻辑以及芯片引脚。
芯片引脚

所用到的就是IN1-4,两个使能ENA和ENB,然后OUT1-4。看一下其控制逻辑

控制逻辑

使能信号ENA高电平有效,然后逻辑信号IN1和IN2一起控制正反转和刹车。利用stm32进行控制并实现调速,只需要输出两个逻辑信号和一个pwm信号即可。这里采用其通用定时器3的通道2输出pwm,在开发板上对应引脚为pa7,逻辑信号利用pa4和pa5输出。那么,具体接线就简单了,接线图如下:
接线图
在这里插入图片描述

具体接线描述:L298N的out1和out2接电机的正负极,IN1和IN2分别对应开发板的PA4和PA5,12V电源接入L298N的12V供电和GND,然后将开发板的gnd和l298n的gnd连接(一定要共地)接线完工。

具体代码分析首先要进行gpio口和时钟的初始化,代码利用按键中断来输出不同的pwm波形,所以还需要进行中断初始化,最后主函数循环等待即可。

首先gpio初始化,利用GPIOA的4/5/7,4/5输出高低电平,设置成推挽输出即可,7输出pwm,需要设置为复用推挽。具体代码如下:

GPIO_InitTypeDef GPIO_InitStructure;//定义数组
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能GPIO外设时钟
   //设置该引脚为复用输出功能,输出TIM3 CH2的PWM脉冲波形 GPIOA.7
 GPI
评论 78
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值