零基础使用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控制步进电机转动
热门推荐
交通事故现场如何照相?理赔流程与注意事项全攻略
5分钟搞定!轻微交通事故一键报警!
一旦人类穿越回从前,是否敢于去改变历史?
姜黄粉怎么服用
头肩底形态的k线图「股票k线左肩和右肩是什么意思」
韩币贬值远景如何?历史经验与专家析
受美元升值影响 亚洲多国货币贬值经济承压
鸡蛋孵化器外贸如何做?
南京铁路警方多措并举全力保障旅客春运返程出行安全
开学季校园传染病预防指南:这些疾病要当心,这些措施要做好
5年随访证实:干细胞治疗慢性膝关节疼痛安全有效
鱼可以放冰箱冷冻多久?冷冻鱼的保存与烹饪指南
身体莫名疼痛找不到原因?可能是精神心理问题在作祟
古代中国的粮食产量探究
古代粮食产量探析:历史变迁与产量估算
孔乙己人物形象分析
秦朝的章邯军团战斗力为什么强悍?难道真是靠骊山刑徒、奴隶?
“新型坐月子”越来越流行:婆婆不受累,彻底杜绝“月子仇”!
南安:小小“黑豆”蝶变致富“金豆”
AI有多会一本正经地瞎编?深度解析大模型的"幻觉"机制
【深入浅出 FPGA】同步复位、异步复位以及异步复位同步释放
环市街道组织基层工作者赴佛山顺德区学习交流
预算30万元,奔驰GLB和宝马X1怎么选?
什么是大宗交易
广州11区最新房价出炉!这些区变化最大……
亲子互动新玩法:趣味字词游戏,让孩子爱上语言学习!
什么是脾功能亢进症
《牡丹亭》:一段跨越生死的浪漫传奇
香辣诱人!一碗油泼面满足你的味蕾
这种豆角全身都能吃,种子更被誉为“维生素 E 之王”,错过真的太可惜