l298n电机哪一端为正_L298N是如何控制直流电机正反转的
直流电机简介
直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。
直流电机的工作原理是里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。
直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。
感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。
导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。
直流电机控制原理
对于普通直流电机。其控制方法比较简单。只需给电机的两根控制线加上适当的电压即可使电机转动起来,电压越高则电机转速越高。对于直流电机的速度调节。可以采用改变电压的方法,也可采用PWM调速方法。PM调速就是使加在直流电机两端的电压为方波形式,加在电机两端的电压就在VLoad和OV之间不停的跳变,对应的电机电压波形如图1所示:
此时加在电机两端的平均电压Uo=Th/ (Th+T1)*VLoad,可以通过调整PWM的占空比来改变Th和T1的比值。这样就可以通过PWM调节加在电机两端的平均电压,从而改变电机的转速。与步进电机类似。不能将单片机的I.O直接与直流电机的引线相接,而要在二者之间增加驱动电路。也可利用L298N电机驱动芯片实现直流电机驱动。
L298N芯片资料
恒压恒流桥式2A驱动芯片L298N :L298是SGS公司的产品。比较常见的是15脚Mult iwatt封装的L298N.内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机或一个两相步进电机。
l298N芯片可以驱动两个二相电机。也可以驱动一个四相电机。输出电压最高可达50V.可以直接通过电原来调节输出电压:可以直接用单片机的IO口提供信号:而且电路简单,使用比较方便。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5一7 V电压。4脚VS接电源电压,VS电压范围VIH为+2.5一46 V 输出电流可达2.5A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻。形成电流传感信号。L298可驱动2个电动机。OUT1,OUT2和OUT3,OUT4之间可分别接电动机。本实验装置我们选用驱动一台电动机。5,7,10.12脚接输入控制电平。控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。表1是L298N功能逻辑图。
In3.In4的逻辑图与表1相同。由表1可知EnA为低电平时。输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低。电机正或反转。同为低电平电机停止。同为高电平电机刹停。
下面是L298N的系统结构图
用L298N实现控制直流电机正反转和调速
int in1=13;
int in2=12;
int in3=11;
int in4=10;
//上面定义了板上的4个控制端,12一组,34一组
int speedPinA=6;
int speedPinB=5;
//上面定义了PWM引脚
void setup()
{
pinMode(in1,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
//下面程序开始时让控制端都为高电平,电机保持不动。
digitalWrite(in1,HIGH);
digitalWrite(in2,HIGH);
digitalWrite(in3,HIGH);
digitalWrite(in4,HIGH);
}
void loop()
{
//电机正转
_mRight(in1,in2);
_mRight(in3,in4);
//读入电位器的值,然后通过PWM输出,控制电机转速
int n=analogRead(A0)/4;
_mSetSpeed(speedPinA,n);
_mSetSpeed(speedPinB,n);
}
void _mRight(int pin1,int pin2)//电机右转,电机到底是右转还是左转取决于电机端的接线和控制脚的顺序
{
digitalWrite(pin1,HIGH);
digitalWrite(pin2,LOW);
}
void _mLeft(int pin1,int pin2)//同上
{
digitalWrite(pin1,LOW);
digitalWrite(pin2,HIGH);
}
void _mStop(int pin1,int pin2)//紧急制动,实际就是将电机两个端短接了
{
digitalWrite(pin1,HIGH);
digitalWrite(pin2,HIGH);
}
void _mSetSpeed(int pinPWM,int SpeedValue)//控制速度,实际上就是断断续续的控制298N的使能端,手抖的厉害的可以用个按钮自己尝试一下,估计也能实现对电机速度的控制,O(∩_∩)O~
{
analogWrite(pinPWM,SpeedValue);
}
l298n电机哪一端为正_L298N是如何控制直流电机正反转的相关推荐
- l298n电机哪一端为正_L298N控制直流电机正反转_张天鹏
Design L298N控制直流电机正反转 文/张天鹏 徐磊 北京林业大学工学院 摘要:在分析了直流电机驱动芯片 L298N 的性能.结构的基础上,结合 SPCE061A EMU BOARD单片机 ...
- Arudino+L298N控制直流电机正反转
Arudino+L298N控制直流电机正反转 所需元器件 电路连接图 Arduino程序 所需元器件 Arduino uno, L298N, 直流电机马达两个,两节18650电池,一个电池盒,杜邦线若 ...
- android 8 esp8266,ESP8266 WIFI模块学习之路(8)——自写Android手机APP控制直流电机正反转...
本次向通过Android远程控制直流电机正反转,在这之前可以看一下我写的"STC单片机简单控制直流电机正反转"有助刚学的同学理解. 可以看一下我的硬件连接电路,如图: 单片机硬件程 ...
- K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 1.MX1919模块驱动时序 2.对应程序: 3.PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MX1919 ...
- STC单片机简单控制直流电机正反转
最近在研究智能小车,简单研究了一下单片机简单控制直流电机正反转,一开始想着用单片机直接控制,结果失败了. 原因是:虽然I/O口输出的电压也是5V,但输出的电流太小,以致输出功率太小,不足以驱动电机工作 ...
- K_A08_003 基于 STM32等单片机驱动L9110模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 L9110模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+L9110模块 2.STM ...
- K_A08_002 基于 STM32等单片机驱动MAX1508模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 3.驱动说明 MAX1508模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MAX1508模块 2 ...
- STC52单片机简单控制直流电机正反转(已验证)
STC52单片机简单控制直流电机正反转(已验证) 本实验源码来源于:坛友-书盲<STC单片机简单控制直流电机正反转> 开发环境:Keil STC型号STC89C52RC
- K_A08_012 基于 STM32等单片机驱动 DRV8833 模块按键控制直流电机正反转
目录 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 驱动时序 对应程序: 四.部分代码说明 接线说明 STC89C52RC+DRV8833模块 STM32F103C8T6+DRV8833模 ...
- l298n电机哪一端为正_一文详解电机倒顺开关接法!
现在的开关种类多种多样,接线原理虽然大同小异,但很多人依然不太会接.今天小编给大家分享的是倒顺开关的接法,希望对大家有所帮助. 一.倒顺开关作用 首先我们需要明白倒顺开关的作用,它的作用主要是连通.断 ...
最新文章
- chmod命令中的suid和guid?
- SQL游标的使用与语法
- python多个for的执行顺序-python顺序执行多个py文件
- TCP和UDP基本原理
- ubuntu 下通过 sh 命令运行脚本产生如下错误:[: y: unexpected operator
- 心电图前波过多_【动态心电】如何阅读24小时动态心电图?
- 曲线行驶最后什么时候回正_曲线行驶总压线?老教练给你支支招,看完觉得太简单了……...
- 5个常见的Hibernate异常及其解决方法
- java 泛型 t extends_Java泛型的定义以及对于? extends T和? super T
- 如何判断用户使用的模拟器还是真正的安卓设备?
- 读完 Effective Java,我整理这 59 条技巧!
- 笔记.cloudflare 的橙色云代理ssl坑
- 零基础逆向工程11_C语言05_结构体
- ZWrite 和ZTest
- call、apply和bind的用法与说明
- iPhone X (XS XR XSMAX)如何根据状态栏上的图标 获取设备的联网状态(不是单个应用的)
- nginx反向代理是什么意思
- 【kali】kali2020.2安装 超级详细教程
- 做ppt课件直播(课堂直播)使用云课堂直播软件的教程
- python-使用递归函数计算阶乘
热门文章
- Hadoop大数据综合案例4-Hive数据分析
- 平面直角坐标系中的旋转公式_【初中数学大招流】从平面几何到解析几何
- 3U VPX 高性能视频图像处理板( 国产ARM 信号处理板 FPGA + HI3559A )
- Eclipse及Android环境配置
- WinCC7.5 SP2 安装与授权(文末附授权软件)
- java 3dm_3DM游戏运行库合集安装包v3.0
- c51用c语言写PO口复用6,毕业回馈—89C51之GPIO使用(示例代码)
- 基于fo-dicom 的 Worklist CStore 我的学习实现路线
- cad字体安装_如何安装CAD字体库【AutoCAD教程】
- 基于NFC的Android读写软件,Android基于nfc的读写(一)