STM32之TIM定时器驱动42步进电机-驱动器型号TB6600

本文介绍了如何使用STM32c8t6单片机通过TIM2控制共阴极步进电机,详细阐述了接线配置、脉冲细分设置以及代码实现。通过对TIM2 PWM中断的重定义,实现了电机转动的计数控制,并在主函数中启动PWM和方向设置,使得电机能够按预期转动。
摘要由CSDN通过智能技术生成

我使用的是STM32c8t6这款

1. 先看接线官方的接线

我采用的是共阴极接线
单片机的TIM2_Chanl1接PUL+
DIR+接单片机PA1
EA+可以不接,接上高电平就是打开了脱机锁定功能,看看官方怎么说的吧

电流还有细分看着图打就好了
比如我的:

  • 1on 2、3off 就是设置的细分数为4细分,也就是来800个脉冲才转一圈,

官方的说明

  • 4、6on ,5off 设置的电流为1A
    在这里插入图片描述

AB相的话在电机上因该就会贴上,照着接就没问题

接下来就是配置CubeMX了

1配置TIM2定时器输出PWM波



接下来就是直接生成代码

重定义一下这个函数void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)

void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{
	if(htim == &htim2)
	{
		if(count <1000)
		{
			count++;
		}
		else
		{					
			HAL_TIM_PWM_Stop_IT(&htim2, TIM_CHANNEL_1);
			count = 0;
		}
	}
}

然后在主函数上添上这段代码

	HAL_TIM_PWM_Start_IT(&htim2,TIM_CHANNEL_1);
	HAL_GPIO_WritePin(DIR_GPIO_Port,DIR_Pin,GPIO_PIN_SET);

ok可以转了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值