1 概 述
无刷直流电机是最常用的无刷电机。它易于驱动,速度可调且工作寿命长,适用于各类大小型工业应用,诸如小型马达的控制(如12 V直流无刷电机)。
LPC2141是NXP公司推出的嵌入高速Flash闪存的32位ARM微控制器,具有高性能、小体积、低功耗、片上可选择多种外设等优点,应用范围很广。LPC2141包括多个32位定时器、10位ADC和PWM输出功能,通过匹配PWM定时器的输出,可以适合于各种工业控制;芯片上集成USB,可以通过USB接口连接PC GUI(图形用户界面)软件,方便地控制电机。
本文基于LPC2141的无刷直流电机控制系统设计,包括NXP公司完整的电机控制系统解决方案(NXP公司的ARM微控制器、MOSFET驱动器、MOSFET等)。无刷直流电机控制系统框图如图1所示。
2无刷直流电机原理
无刷直流电机由永磁转子和三相定子组成,如图2所示。无刷直流电动机不使用电刷换相,而是采用电子换相。通常,3个霍尔传感器用来检测转子位置,通过检测这些传感器的不同时序来换相。
无刷直流电机控制(Brushless DC Motor Control,BLDC)马达,比传统的有刷直流电动机和三相异步电动机有更多的优势,提供更长的使用寿命,具备更好的速度与转矩特性、更低的噪声和更宽的速度范围。此外,由于电机的扭矩较大,对于矢量空间和重量起关键因素的场合更加实用。
在无刷直流电机中,电磁场不旋转运动,而永磁旋转,三相定子绕组保持静态。这可能会产生一个问题,如何传递电流给运动的转子。为了解决这个问题,电刷换向器被智能电子控制器所取代。有刷直流电动机中该控制器也执行相同的功率分配,但使用的是电路控制,而不是一个换向器/刷系统。
电动机的速度和扭矩取决于带电绕组电机所产生的磁场的强度,磁场的强度又取决于通过的电流大小。因此,调整转子电压(或电流)将改变电机转速。
3无刷直流电机的控制
3.1转子的控制
无刷直流电机的驱动必须考虑在转子的不同位置施加不同的电压,即必须正确控制三相绕组系统的电压相序,以便使定子磁场和转子磁场之间的相角度始终接近90°,从而获得最大的扭矩。因此,控制器需要一些控制策略来确定转子的方向/位置(相对于定子线圈)。
本设计使用霍尔传感器来直接测量转子的位置(也有一些应用中使用旋转编码器,或者在驱动线圈中使用反电势的方式)。当一个传感器输出180°电角度的高电平时,其他传感器输出180°的低电平。3个传感器两两有60°相角度差,因此很容易将传感器的轮换分为6个阶段(通过3位二进制代码表示)。图3为三相桥电机驱动结构图。表1则显示了三相霍尔传感器输出电平值和实际的电机绕组MOS管驱动换相之间的关系。
3.2速度的控制
通过改变加在电机上的电压,可以改变电机的转速。如图4所示,使用PWM输出来控制6个开关三相桥(Q1~Q6),可以通过改变占空比的PWM信号来调整电机的电压。
3.3电机的反馈
3.3.1 电流测量
电机电流的低成本测量可以在MOSFET与地之间使用电流感应电阻。小电压出现在电流检测电阻上,经过滤波和放大之后,输入到LPC2141的ADC输入端。
电机的电流测量也经常用于保护模式。当电机在堵转位置时,电流会急剧增加。由于电流的异常突变,ADC的数值会达到一个极限,从而将系统关断,切换到保护模式,从而提高系统的安全系数。
3.3.2 RPM转速测量
作为闭环速度控制,实际的电机速率必须实时监测。通过霍尔传感器连接LPC2141的输入引脚,可以很准确地测量电机转速。常用如下2种方法:
①连接霍尔传感器输出到LPC2141的外部中断输入引脚。这样每60°电角度就会产生一次中断。通过在一定的确切时间(如1 s)统计计数中断的数量,即可很容易地计算出精确的电机速度。
②连接传感器信号到LPC2141的定时器捕获引脚,通过衡量每一个旋转相位的切换时间来计算电机的转速。
4硬件设计
4.1 LPC2141的使用方法
LPC2141的系统功能框图如图5所示。LPC2141是NXP公司基于ARM7的LPC2000系列低成本微控制器,具有6通道PWM定时器、片上USB接口、8 KB的片上静态RAM和32 KB的片上闪存程序存储器。对于较大的存储或特定外设(CAN总线、以太网等)的要求,可以选择LPC2000系列的其他型号(如LPC2368等),这些芯片都是和LPC2141兼容的。
本设计具备如下特性:CPU负载小于5%,代码大小为6 KB(包含USB通信代码);未用的外设包括UART、I2C、SPI/SSP、RTC、2个定时器和5个A/D输入;超过30个未用的通用输入输出口GPIO,用于用户的特定应用要求。
4.2电机的选择
使用Maxon公司120 W的EC-40直流电机。空载时供电电压为24 V,电机的转速可达到5 900 r/min,最大的连续电流达到6 A。
4.3 MOSFET的选择
选用NXP公司的PH20100S N沟道场效应管Trench-MOS逻辑电平。这个电平与选定的电机有关。对于24 V电机,MOSFET的VDS需要至少40 V,而漏电流必须足够大,以满足电机的启动电流。由于系统程序代码设计了软启动机制(对于小台阶的启动需要一定的速度),漏电流在一定程度上有所减小。PH20100S能够处理的最大漏极电流是34.3 A,峰值电流是137 A,采用表面贴装SOT669(LFPAK)封装。
4.4 MOSFET驱动的选择
MOSFET驱动用于提升控制器LPC2141输出驱动电机的电压。本文选择NXP公司的PMD3001D和PMGD400UN作为MOSFET,驱动电路如图6所示。
4.5电机速度的调整
LPC2141集成6通道32位PWM定时器,通过设定不同的PWM占空比数值来控制电机的转速,通过USB接口读取电机实际的转速。
5 软件设计
本系统软件部分包括3部分:用户接口(GUI)、USB设备驱动和BLDC电机控制代码。
5.1 用户接口
Windows的用户界面可控制无刷直流电机演示,如图7所示。该应用程序软件是BLDC_USBGUI.EXE,采用Mierosoft Visual Basic 2008专业版开发,需要在PC机上安装Microsoft.NET Framework,可方便地控制电机速度和读取电机电流及转速。
5.2 USB设备驱动
USB通信部分可以到Keil公司网站(www.keil.com)上下载USB通信代码(LPC2148 USB HID人体学设备驱动代码)。如有疑问可与笔者联系(okarmdy@gmail.com)。
5.3 BLDC电机控制代码
本例程序采用C语言编写,采用Keil公司uVision3开发环境进行编译。系统执行的任务如下:
①USB接口用于接收电机的转速信息,以及设定电机电流和转速。
②使用10位A/D输入检测电机电流大小,用于保护电机。
③使用定时器1产生10 ms的系统中断时间戳,用于在不同时间戳切换和分派系统任务。
④使用定时器0的捕获引脚读取霍尔传感器来控制电机的转子,设定PWM定时器占空比来控制转速,驱动Q1~Q6的MOSFET输出,从而控制三相桥的导通与关断。
电机控制部分代码包括5个模块:bide.c、adc.c、pwm.c、hsensor.c、timerl.c。头文件bidc.h用于设置无刷直流电机控制的相关参数(如电机电流和转速设定等)。使用Keil’s uVision3调试开发环境自带的标准启动代码库配置LPC2141芯片,设置CCLK=PCLK=60 MHz。
结语
本文使用LPC2141微控制器设计了一款无刷直流电机控制系统,代码精简,控制可靠。经过长期测试证明,系统相关器件的选型设计是稳定的。从芯片设计和系统低成本设计上,该系统具有一定的应用推广价值。
LPC2141的无刷直流电机控制系统设计
- 控制系统(108281)
- 无刷电机(44818)
相关推荐
无刷直流电机控制系统经验
dsPIC30F6010的直流无刷电机控制系统 基于dsPIC30F6010微处理器的无刷直流电机控制系统,分析了永磁无刷直流电动机的工作原理,并建立数学模型,然后根据原理和模型制定出无刷直流电
2016-01-04 14:05:39
无刷直流电机与有刷直流电机的对比
无刷直流电机与有刷直流电机的对比直流有刷电机和无刷电机的区别是是否配置有常用的电刷换向器。有刷直流电机的换向一直是通过石墨电刷与安装在转子上的环形换向器相接触来实现的。而直流无刷电机则通过霍尔传感器
2020-03-16 16:08:14
无刷直流电机与有刷直流电机的对比
无刷直流电机与有刷直流电机的对比直流有刷电机和无刷电机的区别是是否配置有常用的电刷换向器。有刷直流电机的换向一直是通过石墨电刷与安装在转子上的环形换向器相接触来实现的。而直流无刷电机则通过霍尔传感器
2020-03-29 11:22:19
无刷直流电机四象限matlab pudn,bldc.matlab介绍
直流电机(BLDC)数学模型的基础上,提出了一种无刷直流电机控制系统仿真建模的新方法。在Matlab/Simulink环境下,把独立的功能模块和S函数相结合,构建了无刷直流电机系统的仿真模型。系统采...
2021-07-05 07:32:09
无刷直流电机是未来电机发展基础?
。 必须承认的是无刷直流电机的转换,尤其是在编程方面的确很复杂,但选择了正确的控制器单元就不一样了。集成的电子控制可实现更好的系统参数自我诊断功能和自动调整。最后,单芯片设计解决方案可降低电路复杂性
2016-02-15 10:50:55
无刷直流电机的matlab仿真
无刷直流电机的matlab仿真 机电技术 2 0 1 1 年8 月 无刷直流电机的 ma t l a b仿真 程勇 ( 西安科技大学,陕西 西安 7 1 0 0 5 4 ) 摘要:首先分析了无刷
2021-07-05 06:28:53
无刷直流电机的matlab仿真
无刷直流电机的matlab仿真.pdf60机电技术2011 年 8 月无刷直流电机的matlab 仿真程 勇(西安科技大学,陕西西安710054 )摘 要:首先分析了无刷直流电机数学模型,结合 matlab...
2021-07-05 06:38:26
无刷直流电机的全数字控制系统设计
以DSP为基础,建立无刷直流电机双闭环控制系统,以TMS320LF2407为控制核心,通过无刷直流电机,主电路,转子位置检测,电流采样,电压采样,过流检测,隔离电路,IPM故障检测构成了全数字控制系统。并设计了简单的算法,用软件计算电动机速度。简化了系统硬件结构。
2016-01-18 15:43:53
无刷直流电机闭环控制系统设计及软硬件实现
/无刷直流电机闭环控制系统设计及软硬件实现">无刷直流电机闭环控制系统设计及软硬件实现.rar</a></font></font>[/hide]`
2009-12-18 11:02:54
无刷直流电机(BLDC)与永磁同步电机(PMSM)的性能有何不同
无刷直流电机(BLDC)与永磁同步电机(PMSM)的基本结构是相同的吗?无刷直流电机(BLDC)与永磁同步电机(PMSM)的性能有何不同?
2021-08-02 09:47:47
无传感器无刷直流电机部分代码分析与运行结果如何?
无传感器无刷直流电机控制原理是什么?怎样去分析无传感器无刷直流电机开发板的部分硬件电路?无传感器无刷直流电机部分代码分析与运行结果如何?
2021-07-22 06:14:51
无感无刷直流电机控制系统-变频空调
主要介绍了使用无感无刷直流电机作为变频空调的压缩机的优越性。详细的描述了反电动势的检测基本原理和启发方法。以及用无感无刷直流电机做压缩机的硬件的结构,软件实现方法。
2016-01-15 15:56:06
matlab仿真直流电机与基于Matlab/Simulink的无刷直流电机控制仿真研究
摘要: 基于Matlab/Simulink,本文设计了一个无刷直流电机的控制方案,详细阐述了无刷直流电机的运行原理,并用Matlab/Simulink对其进行了仿真。实验证明,用Matlab
2021-07-05 07:22:46
【原创分享】无刷直流电机控制简介
的重要特征,因为其形状决定了对电机进行最优控制所需的算法。BLDC电机的设计使其反电动势呈梯形,因此一般采用梯形换相控制。BLDC 梯形反电动势 采用梯形换相控制。图六:无刷直流电机反电动势波形示意图
2021-06-02 10:58:38
【秀秀资源】永磁同步电机和无刷直流电机干货资料分享
://www.elecfans.com/soft/study/ms/2017/20170129478932.html09.无刷直流电机模糊PI控制系统设计https://www.elecfans.com/soft/study/ms
2017-02-15 18:32:00
【资料】无刷直流电机运行原理与基本控制方法
主要内容:一、几个术语解释(极对数、相数、电角度、电角频率、相电压、线电压、反电动势)二、无刷直流电机的运行原理(运行原理、数学模型)三、无刷直流电机的基本控制方法(各参数相互关系、换流过程与换流模式)四、车用无刷直流电机及其控制系统(基本控制、弱磁控制)
2021-07-24 13:34:42
一种用过PWM调速的无刷直流电机调速控制系统
无刷直流电机调速系统设这个无刷直流电机的控制系统由驱动电路来驱动电机转动,通过电流的检测和位置检测得到的反馈信号送到FPGA中心进行处理,再通过调节脉冲宽度(PWM)来控制无刷直流电机,从而达到调速
2016-01-05 14:16:15
什么是无刷直流电机(BLDC)以及它的应用
的带动控制中,都有无刷直流电机的身影。应用领域二,工业控制领域。近些年,由于无刷直流电机大规模的研发和技术的逐渐成熟,其驱动系统在工业生产中的分布范围也随之扩大,已逐步成为工业用电动机的发展主流。围绕降低
2019-07-04 07:00:00
做一个同时控制两台无刷直流电机的控制系统
想一个新型的无刷直流电机,因为无刷直流电机的转矩脉动较大,所以想通过两台电机的转矩脉动相互抵消的方法实现。说是控制两台电机,其实就是在做了一个新的样机,在里面封装了两个定、转子系统,现在我要做
2016-12-21 16:00:41
四轴飞行器无刷直流电机驱动控制设计的实现
直流电机。 无刷直流电机驱动控制系统包括驱动电路和系统程序控制两部分。采用功率管的开关特性构成三相全桥驱动电路,之后使用DSP作为主控芯片,借助其强大的运算处理能力,实现电机的启动与控制,但电路结构复杂
2018-10-08 15:13:09
基于FPGA的控制系统永磁无刷直流电机控制电路设计
。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 主要介绍基于现场可编程门阵列及EDA方法学的永磁无刷直流电机控制系统
2016-02-01 14:44:30
基于HXS320F28034无刷直流电机控制系统设计
设计,提高了系统的可靠性,降低了成本,并对无刷直流电机的普及应用具有良好的前景。2 系统设计方案该系统设计采用三相Y型永磁方波无刷电机PWM控制方案,通电方式为两两通电。它采用全数字闭环控制。其中,电流环
2021-06-16 10:24:18
基于STM32无位置传感器无刷直流电机控制C程序
请问谁做过基于STM32无位置传感器无刷直流电机控制系统,有没有STM32无刷直流电机控制部分的C程序,发给我参考下吧。
2014-01-18 09:24:22
基于单片机的航模无刷直流电机调速控制系统
以单片机为控制核心,分析无感无刷直流电机的位置检测方法,PWM的调速方式,启动控制等。设计了航模无刷直流电机调速控制系统。
2016-01-14 10:23:40
基于霍尔效应的无刷直流电机的电流检测设计
无刷直流电机的电流检测设计无刷直流电机在工业控制、自动化、工具、汽车以及航空航天等领域有着广泛的运用。而无刷直流电机常常要控制电机的速度、位置等。所以无刷直流电机的电流信息采集成了控制电机必不可少
2016-01-05 14:32:38
如何使用Arduino去控制无刷直流电机(BLDC)?
什么是无刷直流电机(BLDC)?如何使用Arduino去控制无刷直流电机(BLDC)?为什么需要ESC,它的功能是什么?
2021-07-26 08:07:48
如何去仿真一种永磁无刷直流电机控制系统
转速/角度闭环控制普通PID控制模糊PID控制电机本体建模电机失步仿真永磁无刷直流电机控制系统:电机抗饱和微分跟随器神经网络PID控制速度闭环控制模糊控制(变论域和变权值)同步电机异步启动异步电机降压启...
2021-07-06 08:00:51
如何去实现无刷直流电机的换相操作
无刷直流电机的基本结构是由哪些部分组成的?内转子型无刷直流电机的工作原理是什么?外转子型无刷直流电机的工作原理是什么?如何去实现无刷直流电机的换相操作?
2021-08-02 07:31:31
如何去实现对无刷直流电机的转速和方向的控制?
无刷直流电机(BLDC)是什么?无刷直流电机有哪些特点?PWM调速的原理是什么?如何去实现对无刷直流电机的转速和方向的控制?
2021-07-23 06:33:18
如何设计电机控制算法来控制无刷直流电机的速度?
如何使用六步换向(梯形控制)控制无刷直流电动机?如何设计电机控制算法来控制无刷直流电机的速度?PWM脉宽调制是如何控制无刷直流电机的速度的?
2021-07-21 06:55:46
对无刷直流电机的电源/电源适配器的选择有哪些要求?
对无刷直流电机的电流有哪些要求?对无刷直流电机的电压有哪些要求?对无刷直流电机的功率有哪些要求?对无刷直流电机的电源/电源适配器的选择有哪些要求?
2021-07-29 07:48:03
有刷直流电机与无刷直流电机的优缺点比较
有刷直流电机的优点有哪些?缺点又有哪些?无刷直流电机的优点有哪些?缺点又有哪些?无刷直流电机的工作原理是什么?无刷直流电机的驱动方法有哪几种?
2021-07-20 06:38:48
有刷直流电机和无刷直流电机的特性与区别
,需要定期维护更换刷子。 尽管有诸多劣势,但刷式直流电机有一显著优势:成本。由于控制刷式直流电机相对简单,因此还广泛用于系统成本是主要驱动因素的应用中。在使用永久磁性生成定子磁通的拓扑中,产生的速度
2016-01-28 10:07:26
永磁无刷直流电机与永磁同步电机有哪些不同点啊
永磁无刷直流电机与永磁同步电机的传感器有何不同?永磁无刷直流电机与永磁同步电机的反电势波形有何不同?永磁无刷直流电机与永磁同步电机的三相电流波形有何不同?
2021-08-12 07:35:58
永磁无刷直流电机与永磁同步电机比较和分析
,经过磁路设计,可以获得梯形波的气隙磁密,定子绕组多采用集中整距绕组,因此感应反电动势也是梯形波的。无刷直流电机的控制需要位置信息反馈,必须有位置传感器或是采用无位置传感器估计技术,构成自控式的调速系统
2014-01-22 09:55:33
请问怎样去搭建一种无刷直流电机的速度控制模型
怎样去搭建一种无刷直流电机的速度控制模型?如何对无刷直流电机的速度控制模型进行仿真?无刷直流电机的速度控制模型有哪些应用?
2021-08-13 06:49:45
评论
查看更多