直流电机简介

直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。

直流电机的工作原理是里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。

直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。

感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。

导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。

直流电机控制原理

对于普通直流电机。其控制方法比较简单。只需给电机的两根控制线加上适当的电压即可使电机转动起来,电压越高则电机转速越高。对于直流电机的速度调节。可以采用改变电压的方法,也可采用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是如何控制直流电机正反转的相关推荐

  1. l298n电机哪一端为正_L298N控制直流电机正反转_张天鹏

    Design L298N控制直流电机正反转 文/张天鹏  徐磊  北京林业大学工学院 摘要:在分析了直流电机驱动芯片 L298N 的性能.结构的基础上,结合 SPCE061A EMU BOARD单片机 ...

  2. Arudino+L298N控制直流电机正反转

    Arudino+L298N控制直流电机正反转 所需元器件 电路连接图 Arduino程序 所需元器件 Arduino uno, L298N, 直流电机马达两个,两节18650电池,一个电池盒,杜邦线若 ...

  3. android 8 esp8266,ESP8266 WIFI模块学习之路(8)——自写Android手机APP控制直流电机正反转...

    本次向通过Android远程控制直流电机正反转,在这之前可以看一下我写的"STC单片机简单控制直流电机正反转"有助刚学的同学理解. 可以看一下我的硬件连接电路,如图: 单片机硬件程 ...

  4. K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 1.MX1919模块驱动时序 2.对应程序: 3.PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MX1919 ...

  5. STC单片机简单控制直流电机正反转

    最近在研究智能小车,简单研究了一下单片机简单控制直流电机正反转,一开始想着用单片机直接控制,结果失败了. 原因是:虽然I/O口输出的电压也是5V,但输出的电流太小,以致输出功率太小,不足以驱动电机工作 ...

  6. K_A08_003 基于 STM32等单片机驱动L9110模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 L9110模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+L9110模块 2.STM ...

  7. K_A08_002 基于 STM32等单片机驱动MAX1508模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 3.驱动说明 MAX1508模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MAX1508模块 2 ...

  8. STC52单片机简单控制直流电机正反转(已验证)

    STC52单片机简单控制直流电机正反转(已验证) 本实验源码来源于:坛友-书盲<STC单片机简单控制直流电机正反转> 开发环境:Keil STC型号STC89C52RC

  9. K_A08_012 基于 STM32等单片机驱动 DRV8833 模块按键控制直流电机正反转

    目录 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 驱动时序 对应程序: 四.部分代码说明 接线说明 STC89C52RC+DRV8833模块 STM32F103C8T6+DRV8833模 ...

  10. l298n电机哪一端为正_一文详解电机倒顺开关接法!

    现在的开关种类多种多样,接线原理虽然大同小异,但很多人依然不太会接.今天小编给大家分享的是倒顺开关的接法,希望对大家有所帮助. 一.倒顺开关作用 首先我们需要明白倒顺开关的作用,它的作用主要是连通.断 ...

最新文章

  1. chmod命令中的suid和guid?
  2. SQL游标的使用与语法
  3. python多个for的执行顺序-python顺序执行多个py文件
  4. TCP和UDP基本原理
  5. ubuntu 下通过 sh 命令运行脚本产生如下错误:[: y: unexpected operator
  6. 心电图前波过多_【动态心电】如何阅读24小时动态心电图?
  7. 曲线行驶最后什么时候回正_曲线行驶总压线?老教练给你支支招,看完觉得太简单了……...
  8. 5个常见的Hibernate异常及其解决方法
  9. java 泛型 t extends_Java泛型的定义以及对于? extends T和? super T
  10. 如何判断用户使用的模拟器还是真正的安卓设备?
  11. 读完 Effective Java,我整理这 59 条技巧!
  12. 笔记.cloudflare 的橙色云代理ssl坑
  13. 零基础逆向工程11_C语言05_结构体
  14. ZWrite 和ZTest
  15. call、apply和bind的用法与说明
  16. iPhone X (XS XR XSMAX)如何根据状态栏上的图标 获取设备的联网状态(不是单个应用的)
  17. nginx反向代理是什么意思
  18. 【kali】kali2020.2安装 超级详细教程
  19. 做ppt课件直播(课堂直播)使用云课堂直播软件的教程
  20. python-使用递归函数计算阶乘

热门文章

  1. Hadoop大数据综合案例4-Hive数据分析
  2. 平面直角坐标系中的旋转公式_【初中数学大招流】从平面几何到解析几何
  3. 3U VPX 高性能视频图像处理板( 国产ARM 信号处理板 FPGA + HI3559A )
  4. Eclipse及Android环境配置
  5. WinCC7.5 SP2 安装与授权(文末附授权软件)
  6. java 3dm_3DM游戏运行库合集安装包v3.0
  7. c51用c语言写PO口复用6,毕业回馈—89C51之GPIO使用(示例代码)
  8. 基于fo-dicom 的 Worklist CStore 我的学习实现路线
  9. cad字体安装_如何安装CAD字体库【AutoCAD教程】
  10. 基于NFC的Android读写软件,Android基于nfc的读写(一)