电压值:5V
这个直流电机并不用PWM输出控制,可以直接通过GPIO高低电平控制
X3,X4为电机输出驱动脚,BAK,FOR是电机转向控制脚,通过BAK,FOR输入脚的电平控制转向
z为休眠状态,其中BAK和FOR不同才会驱使,其他状态下都为停止
**
* @函数名:void dcmotor_init()
* @作者:嵌入式小炜
* @形参:void
* @函数返回值:void
* @:函数说明:
*/
void dcmotor_init()
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStruct .GPIO_OType=GPIO_OType_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_3;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz ;
GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_4;
GPIO_Init(GPIOB, &GPIO_InitStruct);
}
/**
* @函数名: void opendoor()
* @作者:嵌入式小炜
* @形参:void
* @函数返回值:void
* @:函数说明:打开门锁电机 BAK为1 FOR为0电机正转 BAK为0 FOR为0电机停转
*/
void opendoor()
{
//电机正转
PBout(3)=0; //BAK输出低电平
PBout(4)=1;//FOR输出高电平
delay_ms(300);
//电机停转
PBout(3)=0;
PBout(4)=0;
}
/**
* @函数名: void close_door()
* @作者:嵌入式小炜
* @形参:void
* @函数返回值:void
* @:函数说明:关闭门锁电机
*/
void closedoor()
{
//电机反转
PBout(3)=1; //BAK输出高电平
PBout(4)=0;//FOR输出低电平
delay_ms(300);
PBout(3)=0;
PBout(4)=0;
}
这个电机可以模拟门锁