一、L9110S简介
L9110S是一种常用的双通道H桥电机驱动器集成电路,用于控制直流电机的方向和速度。它可以同时控制两个电机,每个通道最大可输出800mA的电流。L9110S具有高效的电源管理和过流保护功能,可以保护电路免受电机反冲电流的损害。它通常用于机器人、小型车辆和其他需要精确电机控制的项目中。
二、硬件电路
三、代码例程
main.c
OpenLock();//开锁
Delay_ms(5000);
OFFLock();//关锁
motor.c
#include "motor.h"
#include "delay.h"
/*
MOTOR_IB PB3
MOTOR_IA PB4
*/
void Motor_Config(void)
{
//开启GPIOC的时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
//定义结构体
GPIO_InitTypeDef GPIO_InitStruct;
// 配置连接到语音数据信号的引脚
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct.GPIO_Speed = GPIO_Fast_Speed;
GPIO_Init(GPIOB, &GPIO_InitStruct);
MOTOR_IB_Low;
MOTOR_IA_Low;
}
void OpenLock(void)
{
MOTOR_IB_High;
Delay_ms(400);
MOTOR_IB_Low;
}
void OFFLock(void)
{
MOTOR_IA_High;
Delay_ms(400);
MOTOR_IA_Low;
}
motor.h
#ifndef _MOTOR_H_
#define _MOTOR_H_
#include "stm32f4xx.h"
#define MOTOR_IA_High GPIO_SetBits(GPIOB,GPIO_Pin_4);
#define MOTOR_IA_Low GPIO_ResetBits(GPIOB,GPIO_Pin_4);
#define MOTOR_IB_High GPIO_SetBits(GPIOB,GPIO_Pin_3);
#define MOTOR_IB_Low GPIO_ResetBits(GPIOB,GPIO_Pin_3);
void Motor_Config(void);
void OpenLock(void);
void OFFLock(void);
#endif