智能小车 - DRV8833电机驱动模块
创始人
2024-03-31 17:48:07
0

一.硬件

在这里插入图片描述在这里插入图片描述
基本兼容TB662模块管脚,可驱动1.5A以下的直流电机和4线步进电机。

在这里插入图片描述)

芯片中共有两个全H桥。因此最多可以同时驱动两个直流电机或一个步进电机。

管脚说明:
ANI1:AO1的逻辑输入控制端口,电平0-5V。
AIN2:AO2的逻辑输入控制端口,电平0-5V。
BNI1:BO1的逻辑输入控制端口,电平0-5V。
BIN2:BO2的逻辑输入控制端口,电平0-5V。
AO1、AO2为1路H桥输出端口,接一个直流电机的两个脚。
BO1、BO2为2路H桥输出端口,接另一个外直接电机的两个脚。
GND:接地。
VM:芯片和电机供电脚,电压范围2.7 V – 10.8 V。
STBY:接地或悬空芯片不工作,无输出,接5V工作;电平0-5V。
NC:空脚

二.全H桥电路基础知识

在这里插入图片描述

从上图可看出,此电机驱动电路由4个NMOS管构成,形如H型,故名全H桥电路。通过控制4个MOS管的导通与截止达到对中间电机的不同控制效果。NMOS管的栅极为高电平时导通,低电平时截止。
在这里插入图片描述
当Q1、Q4的栅极为高电平,Q2、Q3为低电平时,Q1,Q4导通,如图所示,电机正向旋转。

二.接线

第一种DRV8833驱动模块
在这里插入图片描述

DRV8833的的用法
DRV8833是双驱动,也就是可以驱动两个电机 下面分别是控制两个电机的IO口
STBY口接单片机的IOD清零电机全部停止,
置1通过AIN1 AIN2, BIN1,BIN2来控制正反转
VM 接12V以内电源
GND接地

第二种DRV8833驱动模块
在这里插入图片描述

ULT低电平为睡眠模式(需要断开模块后面的J2短接焊点)
OUT1,0UT2为1路H桥,相对应控制为IN1,IN2.
OUT3,0UT4为第2路H桥,相对应控制为IN3,IN4.
EEP为保护输出,默认不用。
VCC为电压输入3至10V.
GND接地。
在这里插入图片描述
在这里插入图片描述
STBY 控制小车的启动还是停止
AIN1和AIN2控制电机的正转或反转
在这里插入图片描述

二.代码

/******************************************************************************* 
Copyright: 2022
File name: driver_dc_brush_motor.c
Description: 直流电机驱动文件
Author: 如图所示z
Version: v1.0
Date: 20220707
History: 20220707:v1.0:初版 
*******************************************************************************/
#include "driver_dc_brush_motor.h"unsigned int n = 0;/*******************************************************************************
Function: DC_Brush_Motor_Configuration 
Description: 直流电机PWM配置
Input:  无
Output: 无
Return: 无
*******************************************************************************/
void DC_Brush_Motor_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;/*开启端口时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);/*开启定时器时钟*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM4, ENABLE);//PA1:PWMGPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period = 19999;  //小车调速范围TIM_TimeBaseStructure.TIM_Prescaler = 71;  //71+1= 72分频//TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OC2Init(TIM2, & TIM_OCInitStructure);//PB6GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init(GPIOB, &GPIO_InitStructure);TIM_TimeBaseStructure.TIM_Period = 19999;  TIM_TimeBaseStructure.TIM_Prescaler = 71;  //71+1= 72分频//TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OC1Init(TIM4, & TIM_OCInitStructure);	TIM_SetCompare2(TIM2, 5000); //占空比TIM_SetCompare1(TIM4, 5000); //占空比TIM_Cmd(TIM2, ENABLE);TIM_Cmd(TIM4, ENABLE);//PA2:AIN1  PA3:AIN2  PA11:STBYGPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_11;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);// 另一侧的轮子PB7:BIN1	PB8:BIN2GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOB, &GPIO_InitStructure);
}

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...