零基础使用STM32CubeMX配置PWM输出控制步进电机
创作时间:
作者:
@小白创作中心
零基础使用STM32CubeMX配置PWM输出控制步进电机
引用
CSDN
1.
https://m.blog.csdn.net/weixin_54221349/article/details/137514758
本文详细介绍了如何使用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控制步进电机转动
热门推荐
二层平顶自建房设计:特色鲜明的美式风格
20岁得了黑色素瘤怎么办
掼蛋比赛中的策略与智慧
JSON 数据解析利器:深度对比 JMESPath 与 JsonPath
机器学习中如何确定某个特征是有用特征
宝宝发烧时可以洗澡,但需注意这些关键点
办理签证需要查看征信吗?征信对签证申请有影响吗?
商务谈判中关键的六种谈判思维方式
肚子发胀怎么快速解决
BIM培训:探索建筑信息模型技术新领域
幼猫感染猫疱疹病毒怎么治?
208款新国标奶粉DHA含量排行榜:最高最低相差近十倍!
苏武牧羊:忠诚与坚韧的历史传奇!
00后开始流行社交式养生
离心训练的代谢和神经学意义
股票的实际价值如何确定?股票实际价值的评估方法有哪些?
可提供分散化收益 高盛看好中国股票
云盘视频如何保存相册
绝对值函数在实际应用中的五大经典案例解析
中央红军长征翻越的第一座大雪山夹金山隧道贯通
长征万里险,最忆夹金山
如何提高云计算虚拟化环境计算资源CPU利用率
抽动症应该怎么治疗
血脂高应经常吃哪些蔬菜
JAMA 子刊:各年龄段个体面对消极生活事件的情绪反应差别大吗?
电子合同必须CA认证才有效吗?
Seats的多种英文翻译:揭秘不同语境下的最佳表达
「铭一」名字的含义和寓意_铭一的出处与意思解释
回填砂检测什么?回填砂检测项目都有哪些?
肠道手术后吃什么好