1、步进电机电路图
2、管脚作用
- 用于控制转向的控制管脚。顾名思义,控制转向就是控制电机的正转和反转。电机正反转,再通过传动轨道,就可以实现窗帘的开启和关闭。
- 用于控制转速的管脚。该管脚是用于控制电机的转速。通过MCU输出一个PWM来调节电机的转速,如果要窗帘的开合要做到流畅的话,最好的办法是,电机要慢慢启动转动,然后匀速,然后当窗帘即将闭合时,电机速度慢慢降低,然后到速度变为0,使得开关窗帘更加优雅。
- 用于测速的输入管脚:主要用于检测电机转了多少圈。窗帘如果要实现自定义“停位点”,则必须知道当前电机转了多少圈,带动窗帘多少距离。
- 用于检测电流的管脚:电机在正常转动和被堵住是的电流是不一样的,电机电流管脚可以让MCU知道电机的当前的状态是处于正常工作还是处于恶意破坏的状态。生活中无法避免窗帘可能被一些东西勾住了,此时,电机处于堵住状态而无法正常转动,此时电机的电流变大,因而MCU可以获知电机的状态。
- 用于控制急停的管脚:这个可以用于如果用户恶意破坏窗帘电机,可以通过该管脚输出一个电平信号让电机急停。
3.步进电机简介
步进电机和普通的电机的不同点是,步进电机驱动方法是通过“两相四拍”的方法来进行驱动。实际上两相四线的步进电机,有两个绕组:A,B。A绕组通正向电流用(+A)表示;通反向电流用(-A)表示。B绕组表示方法同上。通电次序:(+A)(+B)—>(-A)(+B)—>(-A)(-B)—>(+A)(-B)。
下图为两相步进电机的工作原理示意图,它有2个绕组A和B
4、初始化函数
5、 步进电机原理
步进电机的驱动原理如下:
- 丝杆步进电机有四个引脚
2)每一个节拍的电平状态必须保持800us以上的稳定状态才可以切换到下一个节拍。 - 每一个节拍都需控制四个管脚的电平
- 丝杆步进电机需要800个节拍可以实现从最左边移动到最右边,或者从最右端移动到最左端。
- 滑竿往左走的节拍顺序:12341234…;滑竿往右走的节拍顺序:43214321…
void Stepper_motor_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin