零基础使用STM32CubeMX配置PWM输出控制步进电机
创作时间:
作者:
@小白创作中心
零基础使用STM32CubeMX配置PWM输出控制步进电机
引用
CSDN
1.
https://blog.csdn.net/weixin_54221349/article/details/137514758
本文将详细介绍如何使用STM32CubeMX配置PWM输出以控制步进电机。从软件配置到硬件连接,再到代码实现,提供完整的步骤和具体参数设置,适合零基础的读者学习。
软件配置步骤
- 打开STM32CubeMX并选择自己的芯片版本
- 系统时钟RCC选择外部晶振Crystal/Ceramic Resonator
- 配置时钟
- 配置定时器为PWM输出模式,根据上一步配置的时钟频率72MHz设置预分频系数为18-1,设置计数周期为500-1。根据公式:PWM输出频率 = 定时器时钟频率 ÷ ((预分频系数+1) × (计数周期 + 1))计算得到,PWM输出频率为8kHz。
- 设置PWM输出引脚,此处使用默认的PA15引脚
- 电机转动方向引脚配置,此处配置为PF8,配置输出电平为高high,开漏输出Output Open Drain,上拉Pull-up(很重要!!!!!!)。
- 项目生成配置,注意保存路径不要有中文
- 设置只拷贝使用到的库,分离.c和.h文件,然后生成代码完成CubeMX的配置。
代码实现
打开main函数配置如下代码,实现三秒正转,三秒反转
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
__HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1, 50); //修改占空比=50/计数周期(499)+1
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); //使能TIM2的PWM CHANNEL_1输出
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_8, 1); //电机正转
HAL_Delay(3000);
HAL_GPIO_WritePin(GPIOF, GPIO_PIN_8, 0); //电机反转
HAL_Delay(3000);
}
/* USER CODE END 3 */
硬件连接注意事项
实验发现直接使用PF8引脚输出3.3V信号无法控制电机正反转(因为控制器需要5V信号驱动电机),采用外部上拉实现5V输出,此时需配置引脚为开漏输出且查看datasheet芯片手册tIO口号是否带有FT标识。必须带有FT标识才能通过开漏输出加外部上拉输出5V电平。外部上拉原理如下图所示。
实物连接图及运行视频
stm32控制步进电机转动
热门推荐
低渗性脱水和高渗性脱水的区别
考研数学要不要报班?
如何了解期货交易的风险控制?这种风险控制如何保障投资者利益?
多渠道降低资金成本 打破融资瓶颈有新招
大乔小乔:江东名媛的家世背景与传奇结局
买玩具“悦己” 拍照找“搭子” 青年消费 “花样百出”
项目规划前公示:定义、目的、关键步骤与未来趋势
应届生如何把握烟草局春招时间节点?
项目书未来规划怎么写
【读书日】 坚韧不拔的英雄群体 激情澎湃的战斗故事
职业决策中的风险该如何评估和规避
植牙假牙是什麼?一篇搞懂植牙假牙優缺點、價格、流程
建筑结构承重标准及检测流程详解
达姆弹为什么被禁用?其历史背景和影响是什么?
健康管理专业的求职者如何撰写实习经历
现在学CNC操机有工资吗?
太极拳运动对大学生身心健康发展的重要意义
想在Unturned中与朋友畅玩?教你快速建立自己的服务器
这4类人要注意了!咖啡虽能提神,但可不能喝太多,以免“伤身”
出生证信息出错,亲子鉴定成关键修正步骤!
甄宓的“宓”怎么读?宓又是什么意思?你知道“甄宓”有多美吗?
棋道亦是剑道:围棋与武士文化的相通之处在日本棋界的真实体现
古DNA解析东亚南北方人群的迁徙与演化历史
汽车减震器漏油会有异响吗?详解减震器漏油与异响的关系
智能城市的基石:UWB模块在智能城市建设中的重要作用
合疗住院应如何报销?报销比例如何确定?
短期生产理论:总产量、平均产量与边际产量的关系
美国本科音乐专业毕业生有哪些就业机会
清明节手抄报创意设计指南,简易而不失文化韵味
朝辞白帝彩云间,千里江陵一日还:这座白帝城是刘备托孤的白帝城吗?