
#系列目录【从零开始做一个STM32蓝牙小车】第一章 用驱动模块让电机转起来
提示:这里介绍两个我常用的电机驱动(L298N和TB6612),用这两个常用的电机驱动来让小电机转起来。
在此之前最好是学过一点STM32单片机知识。
本文目录本文内容针对于初学者,请大佬勿喷。
- #系列目录【从零开始做一个STM32蓝牙小车】
- 前言
- 正文
- 一、两种常用的电机驱动的简单了解
- 1. L298N
- 2.TB6612
- 二、STM32单片机的代码
- 1.说明
- 2.代码部分
- 3.接线部分
- 总结
前言
本节学习驱动模块的使用方法,并且让小电机转动起来。
这里介绍两种常用的电机驱动模块,L298N和TB6612。下面会有对着两种驱动模块的简单介绍,另外也附上相关资料的链接,如果看完我的不明白可以点进去链接查看详情。
正文 一、两种常用的电机驱动的简单了解 1. L298N
L298N驱动的说明大概如下,可以对应自己的驱动看看。
IN1,IN2,IN3,IN4依次分别对应OUT1,OUT2,OUT3,OUT4
ENA对应IN1和IN2的使能。
ENB对应IN3和IN4的使能。
用一个电机接线说明: OUT1,OUT2接直流电机电机两根线,IN1,IN2接单片机的两个IO口,驱动供电方面看自己的电源电压而定。小于5V接5V和GND,大于5小于12V接12V和GND。
2.TB6612看不太明白进去链接看看
参考资料:
链接: L298N、电机、单片机的线路连接.
链接: L298N电机驱动模块详解
链接: stm32单片机驱动L298N模块
这个模块还比较简单,使用也和L298N类似,网上资料挺多的,这里不介绍了,下面附上一个讲的还不错的文章链接。
链接: TB6612使用说明,使用方法,引脚图,实物图
二、STM32单片机的代码 1.说明总的来说两个驱动模块使用方式大同小异,会一个的使用其他基本触类旁通了。
2.代码部分单片机我用的是stm32f103c8t6,用其他型号单片机同样适用。
实现逻辑为,使能两个IO口,使其分别输出高低电平,来使驱动输出高低电平,从而使电机转动。给驱动的供电电压大小决定了电机转速的快慢。但是不能超过其供电最大值。
#include "stm32f10x.h" // Device header
void Motor_Init(void)// 初始化两个IO口PB12,PB13
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13);//保证两个IO口开始时为低电平
}
int main()
{
Motor_Init();//初始化IO口
while(1)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_12);//将PB12置低电平
GPIO_SetBits(GPIOB,GPIO_Pin_13);//将PB13置高电平
}
}
3.接线部分
将PB12,PB13分别接在IN1,IN2(或AIN1,AIN2)。
如果正常我们将会看见电机转动。
总结
这里的驱动电机还是比较简单的,主要是对于这些模块的学习,了解其运作机制,便可以成功玩转这些模块了。
接下来将会给电机加上pwm波,用来控制电机转速。如果用这来做一个小风扇就可以调节风力的大小了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)