基于STM32单片机直流电机控制加减速正反转系统设计
1、系统功能介绍
-
系统构成:
- 本设计由STM32F103C8T6单片机核心板电路+L298N电机驱动电路+按键电路+电源电路组成。
-
系统功能:
- 1、通过按键可以控制电机,正转、反转、加速、减速、停止。
- 2、一共有8个挡位。
- 3、按键顺序正转、反转、加速、减速、停止。
-
可根据本篇文章完成毕业设计的开题报告、任务书、设计等
2、资料下载
- 资料下载链接:https://download.csdn.net/download/qq_39020934/85081232
- 更多设计视频:https://space.bilibili.com/3537120073353692
3、系统电路介绍
3.1、STM32单片机最小系统设计
- STM32系列处理器是意法半导体ST公司生产的一种基于ARM 7架构的32位、支持实时仿真和跟踪的微控制器。选择此款控制芯片是因为本系统设计并非追求成本的最低或更小的功耗,而是在实现本设计功能的前提下能够提供更丰富的接口和功能以便于设计实验系统各实验项目所需的外围扩展电路。此款控制芯片在完成单片机课程的学习后上手较为容易,在医疗器械中应用广泛,具有很好的学习、实验研究价值。
STM32的主要优点:
- (1)使用ARM最新的、先进架构的Cortex-M3内核
- (2) 优异的实时性能
- (3) 杰出的功耗控制
- (4) 出众及创新的外设
- (5) 最大程度的集成整合
- (6) 易于开发,可使产品快速将进入市场
单片机最小系统电路图如下图所示
实物图:
3.2、L298N电机驱动模块电路设计
- 本L298N驱动模块,采用ST公司的L298N芯片,L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。该模块可以直接驱动两路3-30V直流电机,并提供了5V输出接口,可以给5V单片机电路系统供电,可以方便的控制直流电机速度和方向。
电机使用注意事项
- (1)第一次上电时观察绿色电源指示灯L5是否点亮,如果不亮,请立即断电检查电源是否接反。
- (2)驱动器为功率设备,请保持工作环境的散热通风;在连上电机后使其连续工作一段时间后观察电机和驱动芯片的温升正常后方可进行后续使用。
电路原理图:
实物图:
3.3、按键电路设计
- 轻触按键是按键产品下属的一款分类产品,它其实相当于是一种电子开关,只要轻轻的按下按键就可以是开关接通,松开时是开关就断开连接,实现原理主要是通过轻触按键内部的金属弹片受力弹动来实现接通和断开的。
- 在本系统中,按键作为系统的输入,起到了人机交互的枢纽作用。按键的单片机控制引脚默认为高电平,当按键按下后,单片机的相关引脚则变成低电平。
电路原理图:
实物图:
4、程序设计
4.1、电机调速程序
- 通过调整pwm波占空比,控制电机速度
void pwmCtrl(void)
{
static unsigned char countRigh;
countRigh++;
if(countRigh<pwmRigh) //占空比调节
{
ENA=1; //打开
}
else if(countRigh<=20) //关闭时间段
{
ENA=0; //关闭
if(countRigh == 20)countRigh= 0;
}
}
4.2、按键初始化
void KEY_Init(void) //IO初始化
{
GPIO_InitTypeDef GPIO_InitStructure;
//init GPIOA.13,GPIOA.15 上拉输入
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}