1 / 6
文档名称:

STM32F103C8 L298N PWM直流电机调速.doc

格式:doc   大小:44KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

STM32F103C8 L298N PWM直流电机调速.doc

上传人:brnpnu31 2021/12/9 文件大小:44 KB

下载得到文件列表

STM32F103C8 L298N PWM直流电机调速.doc

文档介绍

文档介绍:精品文档,仅供学****与交流,如有侵权请联系网站删除
【精品文档】第 1 页
STM32F103C8T6核心板+L298N直流电机调速PWM调速
功能说明
用L298N驱动一台直流减速电机,引脚IN1,IN2可用于PWM控制。仅用STM32的两个端口给出PWM信号控制IN1,IN2即可实现正反转、加减速等动作。
硬件说明:
控制板:STM32F03C8T6最小系统;
控制板说明
型号:
STM32F103C8T6
内核:
ARM 32位的CortexTM-M3 CPU
调试方式:
SWD
尺寸:
×
直流电机驱动板:L298N是SGS公司的产品,比较常见的是15脚MulTIwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。
资源配置:
STM32F03C8T6使用端口定义
端口
功能说明
配置
PA2
连接L298N芯片的IN1
通用定时器的PWM功能,
TIM2_CH3
PA3
连接L298N芯片的IN2
通用定时器的PWM功能,
TIM2_CH4
PC13
控制板带的LED指示灯,周期性的变化,每变化一次,电机的转运方向变化一次。
由TIM3中断定时控制。
通用定时器TIM3定时中断
L298N端口定义
IN1
IN2
ENA
电机状态
PA2
0
始终是1
顺时针运转,调整PA2的频率,可高速。
0
PA3
始终是1
逆时针运转,调整PA2的频率,可高速。
0
0
始终是1
停止
软件实现
1:通用定时器TIM3的中断定时实现步骤
① 使能定时器时钟。
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
② 初始化定时器,配置【ARR自动装载值,PSC预分频系数。】
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
③ 开启定时器中断,配置NVIC。
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
NVIC_Init(&NVIC_InitStructure);
④ 使能定时器。
TIM_Cmd(TIM3, ENABLE); //实际是配置 控制寄存器1 (TIM3_CR1)
精品文档,仅供学****与交流,如有侵权请联系网站删除
【精品文档】第 2 页
⑥ 编写中断服务函数。
TIMx IRQHandler();
2:通用定时器TIM2的Channel1、Channel2的PWM实现步骤
① 使能定时器2和相关IO口时钟。
使能定时器2时钟:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
使能GPIOB时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
② 初始化IO口为复用功能输出。函数:GPIO_Init();
= GPIO_Mo