使用stm32控制步进电机
简述:根据使用正点原子教程结合csdn资源改过来的,正点原子精英版,控制器选用的是TB6600,电机随便选用的是28的。
一共包括三个文件,.h .c main文件
.h头文件主要是做函数声明一样的东西,.c源文件是主要的配置文件,main文件是主程序,调用已经配置好的资源产生相应的功能。
主要是利用.c文件中的定时器产生pwm波,通过控制器来控制步进电机,在很多的博文和资料中,已经说明,电机转速关联于pwm波的频率,具体不详述。
关于控制器与电机和板子之间的接线,采用的是共阴极接法。P+连接于板子上面的pwm波的输出IO口(A7),控制器共阴极后阴极线连接于
板子的GND。其他接线按照控制器说明书来搞
代码
主要如下:.c文件(下面的代码中文注释乱码了,不知道为啥,不影响)
#include "pwm.h"
void TIM3_PWM_Init(u16 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStruct;
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
TIM_OCInitTypeDef TIM_OCInitStruct;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);//使能AFIO和A口
GPIO_InitStruct.GPIO_M