直流电机+L298N电机驱动模块

news/2024/10/31 7:34:21/

本次来写一下关于驱动直流电机的知识,今天目的是驱动它,下次写使用PWM精准的对直流电机进行控速。下面是我使用的直流电机图:

由于STM32单片机不能直接的输出较大电压和电流,所以得借助驱动模块来控制电机,我们使用的L298N电机驱动模块来驱动电机,当然也可以使用TB6612,L293D,ULN2003等电机驱动模块,他们原理都是一样的,会一个其他的都可以信手拈来。下面是L298N的图:

一个L298N电机驱动模块可以控制两个直流电机或者一个两相步进电机。支持两个电压的供电模式,5V或者12V。由于没有5V,12V的电源,所以我们用了15V的电源进行降压处理后为5V给其供电。使用5V的电压也是因为可以直接给单片机直接供电,可以将单片机与电脑分离开来。如果没有电源的话,也可以直接使用单片机5V电压给电机驱动模块提供电压。降压模块如下图,使用DC-DC模块焊的一个电路板。(其实电源就是12V的只是为了多加一个模块)DC-DC模块用时一定分清正负,要不然电容会炸的。黄色的纽扣扭动可以调节输出电压。

接下来是我驱动直流电机的整体图:

这个图连错了,注意不要这样来,分清in和out呀!!!

驱动电机的代码如下(我直接用的我们刚做完项目的代码,没有改,只需要使用PB5、PB6就好):

power.h

#ifndef __POWER_H
#define __POWER_H	 
#include "sys.h"#define PB5 PBout(5)	
#define PB6 PBout(6)	
#define PB7 PBout(7)	
#define PB8 PBout(8)
#define PB9 PBout(9)	
#define PB10 PBout(10)	
#define PB11 PBout(11)	
#define PB12 PBout(12)
#define PB13 PBout(13)	
#define PB14 PBout(14)	
#define PB15 PBout(15)
void POWER_Init(void);
void goon(void);
void back(void);
void right(void);
void left(void);#endif

power.c

#include "power.h"void POWER_Init()
{GPIO_InitTypeDef  GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);	 	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;				 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		GPIO_Init(GPIOB, &GPIO_InitStructure);					 GPIO_ResetBits(GPIOB,GPIO_Pin_6|GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
}void goon(void)
{PB5 =1;PB6 =0;}

完了直接在主函数里面调用就好:

int main(void){	delay_init();POWER_Init();while(1){goon();};
}

有什么问题下面留言,一起讨论解决。


http://www.ppmy.cn/news/318142.html

相关文章

HP L380 G9磁盘阵列安装

二. 开机F10更换用HP Smart Storage Administrator (HPSSA)配置阵列 1.重启服务器F10进到Intelligent Provisioning 2.选择HP Smart Storage Administrator,以下简称HPSSA 3.在如下界面,左侧选择需要配置的阵列卡,…

关于L298N电机驱动模块

关于L298N电机驱动模块 模块参数L298的逻辑功能关于模块的供电关于驱动电机:注意事项总结 原文链接:https://www.yourcee.com/newsinfo/2924323.html 模块参数 本模块使用ST公司的L298N作为主驱动芯片具有驱动能力强,发热量低,抗干扰能力强…

在 Node.js 中如何通过子进程与其他语言(Go)进行 IPC 通信

Node.js 如何与子进程进行通信 在 Node.js 官方文档中有这样一段描述:在子进程中,可以通过 NODE_CHANNEL_FD这个环境变量来获取到一个文件描述符来与父进程进行通信,那这个 NODE_CHANNEL_FD是从哪里来的?又该如何使用呢&#xff1…

Linux ALSA声卡驱动之七:ASoC架构中的Codec

1. Codec简介 在移动设备中,Codec的作用可以归结为4种,分别是: 对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信…

Linux ALSA 之八:ALSA ASOC Platform Driver

ALSA ASOC Platform Driver 一、Platform 驱动作用二、ASOC Platform Driver 代码分析2.1 Linux Platform Driver & Platform Device 驱动模型2.2 在 Probe 函数中注册 ASOC Platform Driver(PCM DMA) & DAI Driver(CPU DAI)2.3 ASoc Platform Driver(PCM DMA) & D…

L298N电机驱动使用方法

298N是一款很常用的电机驱动,但是最近发现有几个学弟学妹学的时候接线错了,给他们讲解了一下,顺手就在这说一下使用方法, 下面是我用的一款298n; 相信大家一看就明白了,下面三个接口分别是VCC输入&#xf…

L298N电机驱动板的使用说明

目录 一、为什么要用L298N驱动板来驱动电机 二、L298N引脚功能图 三、供电方式 1、接入5V电源 2、接入7~12V电源 3、接入大于12V电源 四、L298N的驱动方式 一、为什么要用L298N驱动板来驱动电机 你可能有这个疑惑,电机是4-6V供电的,单片机的输出也…

三星3475处理器_三星新入门手机Galaxy O5 采用Exynos 3475处理器

原标题:三星新入门手机Galaxy O5 采用Exynos 3475处理器 在8月下旬时,曾传出三星将在现行的Galaxy Note、S、A、E、J等手机机海阵容中,另新增名为系列的入门手机系列。如今继先前曝光的SM-G6000手机后,一款名称为的手机&#xff0…