STM32电机驱动模块(L9110S)

一、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
相关推荐
锻炼²9 小时前
stm32 HAL配置usb全速 自定义HID类详解
stm32·usb·usb枚举过程·全速传输
polarislove021416 小时前
10.1 [ADC] 逐次逼近型ADC-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
qq_6725927516 小时前
STM32超声测距离的测量精度评估
stm32·硬件架构·硬件工程
谈思汽车16 小时前
TEE or HSM/SE?车载安全技术选型指南
嵌入式硬件·安全·智能汽车·可信执行环境·汽车信息安全
单片机系统设计16 小时前
基于STM32的智能垃圾桶/语音分类/自动开盖/矩阵按键
stm32·矩阵·毕业设计·语音识别·智能垃圾桶
-曾牛17 小时前
【汇编语言入门】从第一个加法程序吃透汇编核心基础
汇编·单片机·嵌入式硬件·汇编语言·病毒分析·lcx·逆向开发
IT方大同17 小时前
ADC&DAC概述
嵌入式硬件
三品吉他手会点灯18 小时前
STM32F103 学习笔记-21-串口通信(第3节)-STM32串口初始化结构体和固件库讲解
笔记·stm32·单片机·嵌入式硬件·学习
Lester_110118 小时前
单片机EEPROM写入数据之前为什么要先擦除?
单片机·嵌入式软件
点灯小铭18 小时前
基于单片机的多功能LCD万年历时钟设计与温度显示系统
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业