一文掌握STM32CubeMX配置PWM控制步进电机
创作时间:
2025-01-22 08:32:26
作者:
@小白创作中心
一文掌握STM32CubeMX配置PWM控制步进电机
STM32CubeMX是ST公司推出的一款图形化配置工具,可以帮助开发者快速配置STM32微控制器的外设和时钟。本文将详细介绍如何使用STM32CubeMX配置PWM输出以控制步进电机,包括系统时钟配置、定时器配置、引脚配置等具体操作,并提供完整的代码示例。
CubeMX配置步骤
打开CubeMX并选择自己的芯片版本
系统时钟(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控制步进电机转动
热门推荐
如何进行黄金交易策略价值的分析?这种分析方法有哪些实际应用?
后期处理中的速度与激情:运动模糊效果详解
从零到高手:Photoshop动态图制作完全指南
朋友结婚送礼什么时候送好?婚礼礼金、贺礼送礼指南
国家统计局:8月份居民消费价格同比上涨0.6%
水浒传角色绰号大揭秘:从“及时雨”到“黑旋风”
水浒传角色绰号在戏剧表演中的新演绎
火出圈!河南卫视春晚:传统与现代的激情碰撞,亮点满满!
宇宙梦想家:设计你的家庭式民宿太空舱
石秀:从《水浒传》到南宋英雄
石秀:《水浒传》里的“拼命三郎”
退休之后:在泰国寻找别样人生
68岁赵本山近照曝光:健康状况引担忧,全球巡演在即
深圳中职高分专业火爆,分数线超普高!
在湖北没吃过麻城吊锅和老米酒,等于白来
邢台冬季娱乐全攻略:十大场所、五大活动详解
西人党如何搅动宣祖朝局?
赛罗奥特曼:从叛逆少年到宇宙英雄的蜕变之路
赛罗奥特曼:从叛逆少年到宇宙守护者
杭温高铁今日开通!杭州至温州最快87分钟可达
汕尾,尽“汕”尽美
八角:煮肉神器还是健康隐患?
白蔻、草果和白芷:让年夜饭卤肉更香的秘密武器
职教改革春风起,中专教育正当时
目睹宝玉拜别时,贾政在想些什么? | 从《红楼梦》看孝心真谛
普华永道在中国市场陷入丑闻 公信力已摇摇欲坠
大阪城公园:2025年最美赏樱地推荐
春节出游攻略:新疆博州三大景区特色全览
这5个超牛的背书方法,帮你少一半备考时间!
高中生背书老是记不住怎么办