零基础使用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控制步进电机转动
热门推荐
八字层次高低如何看 八字看层次的高低
ISP管道中的8种关键图像处理算法详解
空置商品房怎么申请减免物业费
空置房物业费减免政策解读与市场影响分析
装修资质是什么?装修资质需要哪些申请条件?
如何在城市建设中加强生态环境保护?这种保护需要采取哪些措施?
优化城镇体系规划助力区域经济发展新模式
如何在二手车市场挑选到性价比高的车辆?
校内互检是什么?
蛋黄胆固醇高是真的还是假的
项目管理经费估算怎么写
下肢深静脉瓣膜功能不全术后多久下地活动
Excel计算咖啡物料成本的完整指南
嵌入式硬件工程师是做什么的:从需求分析到PCB设计的核心职责与技能要求
ITX小机箱CPU散热器选购攻略:类型、品牌、安装详解与应用案例分析
气候变暖改变全球冰下湖活动及其功能
2025年春季学期学生资助政策全解析
李飞飞团队发布《2024年人工智能指数报告》:10大趋势,揭示AI大模型喜与忧
怎样选择草皮的品种
什么办法可以使草坪生长快一点
2025年高三备考策略技巧全攻略
倒睫对眼睛的影响
孩子老揉眼睛,竟然是睫毛在作怪?家长们注意了…
麻省理工大学艺术类专业有哪些?
中国的磁偏角的变化规律
床墊異味如何除臭?小孩寵物尿床、嘔吐去除臭味及預防?
动态照片如何储存视频里
电子文档如何科学归类管理
做核磁共振憋气方法
如何判断源码是否开源