零基础使用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控制步进电机转动
热门推荐
猫咪几个月才算成年期?如何判断猫咪的成年状态?
AI无法替代的思考:哲学在技术时代的永恒价值
二战德军攻城炮大盘点:80厘米古斯塔夫巨炮堪称要塞克星
牙周脓肿的"惊奇冒险":从成因到预防的全面解析
羽衣甘蓝的功效与作用
玫瑰菊花茶能否改善皮肤干燥?
台州八大特色美食推荐,第七道菜健康又美味!
旧款电脑用户必读:Windows 11 24H2更新的全面影响与应对策略
长期跷二郎腿对膝关节有影响吗?5招轻松纠正快速康复
水管漏水要查明 表前表后大不同
胃镜检查时,如何解读Barrett食管
增程车的纯电续航短是否值得购买?使用后才明白真相。
持股时间对股票分红有影响吗?分析持股期限与分红金额的关系
拓普“吃下”奇瑞供应商,“宁波富豪”打响汽车零部件“兼并战”
盗窃车内财物立案标准
“一天开几百个榴莲,工具都累了”,实地调查榴莲价格大跳水
拖欠工资不给奖金可以在职仲裁吗
经常觉得喉咙不舒服,我们该怎么办?至少有6个方面可以做
石榴石:激情、力量和永恒之美的宝石
什么是租售比?如何根据租售比评估房价?
清香满怀的诗句:春天采茶的诗句?
氟斑牙冷光美白有用吗
尿黄原因何在?医生告诉你!
小便总是黄色的怎么回事
未成年人人身损害赔偿起诉状写作指南及责任归属解析
如何计算累计不良率?不良率的计算方法有哪些?
银行不良率怎么算
肠漏是什么?医生专业解答
李白与杜甫:晚年矛盾与隔阂探析
甪直古镇游玩攻略,含门票、交通、游玩路线、景点介绍、美食