电机应用-直流有刷电机

2023-11-06 19:28
文章标签 应用 电机 直流 有刷

本文主要是介绍电机应用-直流有刷电机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直流有刷电机

直流有刷电机具有结构简单、易于控制、成本低等特点。

基本的直流有刷电机在电源和电机间只需要两根电缆,可以节省配线和连接器所需的空间,并降低电缆和连接器的成本。

还可以使用MOSFET/IGBT开关对直流有刷电机进行控制,给电机提供足够好的性能,并且整个电机控制系统也会比较便宜。

直流有刷电机转速快、扭矩小,在某些应用中可能无法满足要求。直流有刷减速电机可以降低转速并提高力矩

工作原理

直流有刷电机在其电枢(转子)上绕有大量的线圈,所产生强大的磁场与外部磁场相互作用产生旋转运动。

电源通过电刷向线框供电,线框就有电流通过,在线框两侧放一对磁极NS形成磁场,磁力线由N到S。

线框有电流时,线框就会收到磁场的作用力,按照左手定则,红色线框受到力F1,蓝色线框受到力F2,F1和F2力的方向相反,使得线框会转动。

当线框转到90°时,换向器改变了线框电流的方向,产生的安培力方向不变,于是线框会连续旋转。

直流有刷减速电机的重要参数

空载转速:正常工作电压下电机不带任何负载的转速(单位为r/min,即转/分)。空载转速由于没有反向力矩,所以输出功率和堵转情况不一样,该参数只是提供一个电机在规定电压下最大转速的参考。

空载电流:正常工作电压下电机不带任何负载的工作电流(单位为mA)。电机越好,该值越小。

负载转速:正常工作电压下电机带负载的转速。

负载力矩:正常工作电压下电机带负载的力矩(单位为N·m,即牛·米)。

负载电流:电机拖动负载时实际检测到的定子电流数值。

堵转力矩:在电机受反向外力使其停止转动时的力矩。如果电机堵转现象经常出现,则会损坏电机或烧坏电机驱动芯片。所以选电机时,除了考虑转速还要考虑堵转。堵转时间一长,电机温度上升的很快,这个值也会下降的很厉害。

堵转电流:在电机受反向外力使其停止转动时的电流。此时电流非常大,稍微就可能会烧毁电机,在实际使用时应尽量避免。

减速比:没有减速齿轮组时转速和有减速齿轮组时转速之比。

功率:一般为额定功率(单位W,即瓦),即在额定电压下能够长期正常运转的最大功率,也是指电动机在制造厂所规定的额定情况下运行时其输出端的机械功率。

电路原理与分析

当拥有一个直流电机和一节电池,只要把电机的两根电源线和电池的电源线连接在一起时,电机就可以正常旋转。反接时电机就反向旋转。但实际单片机一般是用H桥电路来驱动电机。

如下图:H桥电机驱动电路包括4个三极管和一个电机。要想电机运转就必须导通对角线上的一对三极管,所以电流可能会从左到右或从右到左流过电机,从而控制电机转向。

当同一侧的Q1和Q2导通时,电流将从电源经过Q1和Q2,然后直接流到电源负极,这个回路中除了三极管外没有经过负载(电机),这时电流可能会达到最大值而造成烧毁三极管。当同一侧的Q3和Q4导通时也一样。于是可以改进电路原理图。

改进后的电路增加了4个与门和2个非门,以及Q1和Q3换成了NPN三极管。这样的组合可以实现一个信号控制两个同一侧的三极管,并且可以保证在同一侧的两个三极管不会同时导通,即在同一时刻只有一个三极管是导通的。

ENABLE脚接入高电平,IN1脚接入高电平,AND1_2脚是低电平,所以AND1_3脚是低电平,所以Q1截止。而AND2_1脚和AND2_2脚都是高电平,所以ADN2_3脚是高电平,所以Q2导通。然后IN2脚接入低电平,AND4_2脚是高电平,且AND4_1是高电平,所以AND4_3脚是高电平,所以Q3导通。而AND3_1脚是高电平,AND3_2脚是低电平,所以AND3_3脚是低电平,所以Q4截止。故电机逆时针转动。

ENABLE脚接入高电平,IN1脚接入低电平,AND1_2脚是高电平,所以AND1_3脚是高电平,所以Q1导通。而AND2_1脚是高电平,AND2_2脚是低电平,所以ADN2_3脚是低电平,所以Q2截止。然后IN2脚接入高电平,AND4_2脚是低电平,AND4_1是高电平,所以AND4_3脚是低电平,所以Q3截止。而AND3_1脚是高电平,AND3_2脚是高电平,所以AND3_3脚是高电平,所以Q4导通。故电机顺时针转动。

当ENABLE脚接入高电平,IN1和IN2都接入同一电平(高电平或低电平)都只会同时导通上面或下面的两个三极管,不会出现同一侧的三极管同时导通的情况。此时电机停止,当然,ENABLE脚接入低电平时不管IN1、IN2怎样电平,都停止电机。

驱动芯片分析

通常在驱动电机时会选择集成H桥的IC,因为H桥使用分立元件搭建比较麻烦,增加了硬件设计难度。

当我们选择集成IC时,需要考虑集成IC是否能满足电机的驱动电压要求,是否能承受电机工作时的电流等情况。

如果集成IC无法满足功率要求时还是需要自己使用MOS管、三极管等元件搭建H桥电路,这样的分立元件搭建的H桥一般驱动能力也会比集成IC要高。

L298N驱动芯片

L298N是ST公司的产品,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专门驱动芯片,即内含两个H桥的高电压大电流双桥式驱动器,接收标准的TTL逻辑电平信号,可驱动4.5V~46V、2A以下的电机,电流峰值输出可达3A。

原理和刚刚的电路原理分析一致。

直流有刷减速电机控制实现

控制速度原理

PWM通过一定的频率来改变通电和断电的时间,从而控制电路输出功率,在电机的控制周期中,通电时间决定了它的转速。

占空比 = 通电时间 / (通电时间+断电时间),即高电平占整个周期的百分比。

假如T1为高电平时间,T2为低电平时间,T为周期,D为占空比,则D = T1 / T。设电机速度为V,最大速度为Vmax,则V = Vmax * D。当D的大小改变时,速度V也会改变,所以只要改变占空比就能达到控制电机的速度。

硬件设计

主控有刷电机接口如上图,有刷电机接口和无刷电机接口都使用同一个接口。本实验只用到了TIM1_CH1和TIM1_CH2,即PA8和PA9来输出PWM信号控制电机,需注意主控板需要和电机驱动板共地。

L298N

驱动板可以支持12~46V的宽电压供电,并且带输入电压转5V的电压芯片,所以驱动板只需一个电源输入,具体需要多大电压需要根据电机来选择。

ENABLEA和ENABLEB都是使能输入脚,ENABLEA用于控制A桥,ENABLEB用于控制B桥,可以接到单片机的引脚进行电平控制,也可以直接使用跳帽接入5V。

INPUT1和INPUT2是A桥的控制信号,INPUT3和INPUT4是B桥的控制信号,可以接PWM控制电机。

OUTPUT1和OUTPUT2是A桥的输出信号,OUTPUT3和OUTPUT4是B桥的输出信号。

两路电机接口的8个二极管用于防止电机的反电动势损坏L298N。

当E点反电动势为正,超过电源+0.7V时,上端二极管导通,因此输出线就被限位在电源电压+0.7V上,不会超过这个数值。

当E点反电动势为负,低于电源-0.7V时,下端二极管导通,因此输出线就被限位在电源电压-0.7V上,不会低于这个数值。

软件设计

这篇关于电机应用-直流有刷电机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/358584

相关文章

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印