当前位置:   article > 正文

STM32电机驱动模块(L9110S)_stm32直流电机驱动模块

stm32直流电机驱动模块

一、L9110S简介

L9110S是一种常用的双通道H桥电机驱动器集成电路,用于控制直流电机的方向和速度。它可以同时控制两个电机,每个通道最大可输出800mA的电流。L9110S具有高效的电源管理和过流保护功能,可以保护电路免受电机反冲电流的损害。它通常用于机器人、小型车辆和其他需要精确电机控制的项目中。

二、硬件电路

三、代码例程

main.c

  1. OpenLock();//开锁
  2. Delay_ms(5000);
  3. OFFLock();//关锁

motor.c

  1. #include "motor.h"
  2. #include "delay.h"
  3. /*
  4. MOTOR_IB PB3
  5. MOTOR_IA PB4
  6. */
  7. void Motor_Config(void)
  8. {
  9. //开启GPIOC的时钟
  10. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
  11. //定义结构体
  12. GPIO_InitTypeDef GPIO_InitStruct;
  13. // 配置连接到语音数据信号的引脚
  14. GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
  15. GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
  16. GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
  17. GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
  18. GPIO_InitStruct.GPIO_Speed = GPIO_Fast_Speed;
  19. GPIO_Init(GPIOB, &GPIO_InitStruct);
  20. MOTOR_IB_Low;
  21. MOTOR_IA_Low;
  22. }
  23. void OpenLock(void)
  24. {
  25. MOTOR_IB_High;
  26. Delay_ms(400);
  27. MOTOR_IB_Low;
  28. }
  29. void OFFLock(void)
  30. {
  31. MOTOR_IA_High;
  32. Delay_ms(400);
  33. MOTOR_IA_Low;
  34. }

 motor.h

  1. #ifndef _MOTOR_H_
  2. #define _MOTOR_H_
  3. #include "stm32f4xx.h"
  4. #define MOTOR_IA_High GPIO_SetBits(GPIOB,GPIO_Pin_4);
  5. #define MOTOR_IA_Low GPIO_ResetBits(GPIOB,GPIO_Pin_4);
  6. #define MOTOR_IB_High GPIO_SetBits(GPIOB,GPIO_Pin_3);
  7. #define MOTOR_IB_Low GPIO_ResetBits(GPIOB,GPIO_Pin_3);
  8. void Motor_Config(void);
  9. void OpenLock(void);
  10. void OFFLock(void);
  11. #endif

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号