ARM LPC2101的无刷直流电机控制方案

2008-06-27 14:06:36来源: EDN_china

  LPC2101是基于16/32位 ARM7CPU嵌入高速Flash闪存的微控制器,具备高性能,小体积封装低功耗,片上可选择多种外设等优点,应用范围很广。其具备的多种32位和16位定时器、10位A/D转换器和每个定时器上PWM匹配输出特性,尤其适用于工业控制

  无刷直流电机是一种易驱动电机,适用于变速和启动转矩很高的应用,它的使用范围从大规模的工业模具到调光控制的小型电机(12V直流电机),外形和尺寸也是各种各样。

  1 无刷直流电机的基本原理

  无刷直流电机一般由定子、转子和金属壳体等组成,如图1所示,通过反向极性的吸引产生扭矩使电机运转。一旦转子开始运转,固定的刷子和转子部分将不断反复地连接、断开,电动势和反电动势在转子旋转过程中产生,新的电极总是和定子极性相反。由于这种变换是固定的,因此转子以一种固定的形式运动。通过给电机施加反向电压和反向的转子线圈电流,使南北极性翻转,电机改变其运动旋转方向。

  

  图1 无刷电机组成

  速度和电机的扭矩大小是依据电机旋转产生的磁场强度来控制的,而电机的旋转能量是依赖于通过电流大小来控制的,因此调整电机转子的电压和电流可以改变电机的速度。本电机速度的控制是根据LPC2101微控制器的PWM信号的变化而产生的。

  2 无刷直流电机的控制

  2.1 双向旋转

  驱动有刷直流电机的双向旋转,可通过全桥驱动电路改变电流来实现完成,如图2所示。这个全桥驱动电路由N通道的MOSFET管组成,当Q2和Q3关闭的时候,Q1和Q4导通电机正相旋转;当Q1和Q4关闭时,Q2和Q3导通电机反相旋转。

  

  图2 使用全桥电路双向旋转

  2.2 速度控制部分

  无负载的电机速度与加到电机上的电压有一定的比例关系,因此通过采样加载到电机上的电压,可以控制电机的速度。脉宽调制解调用于产生这种电压的变化,如图3所示。脉宽调制是基于占空比的固定频率脉宽波形。加载到电机上的平均电压与PWM占空比成正比关系。

  

  图3 PWM速度控制

  PWM信号(Q1和Q2)根据LPC2101微控制器定时器2的3个匹配寄存器决定信号的时基频率。电机速度(占空比)和方向通过调整电位器输入及改变LPC2101 ADC的输入数值来控制,如图4所示。

  

  图4 系统配置

  2.3 电机反馈部分

  低功耗电机电流测量是在MOSFET和地之间使用电流传感器(参见图4)。通过电流传感器的采样电阻检测微小电压;通过在微控制器的前端进行滤波和放大,电流采集总是在最高级别,在PWM产生之前。这个操作通过外部定时器匹配中断,中断后先开始A/D转换。转换数值代表了电机的电流。

  低功耗无传感器电机旋转速度反馈是通过反馈的EMF电压测量(参见图4)。反电动势是通过电机转子旋转磁场和外部电磁场产生的。换句话说,电机表现得像一个发电机。RPM和反电动势电压是成直接正比关系的,反电动势测量是通过MOSFET切换完成的(刹车模式)。本文中,BEMF测量用于检测电机是否完全停止。电压分压是用于满足反电动势电压(最高为12V)在0~3.3 V间的。

  3 无刷直流电机的应用

  3.1 选用LPC2102

  LPC2102(采用LQFP48封装)是目前LPC2000系列ARM7家族中最小、最便宜的一款总线频率高达70MHz的32位CPU处理器;有2 KB的静态RAM和8KB的片上Flash存储区。对于使用USB、CAN总线、Ethernet以太网总线,可以选用LPC2000系列中更高级别的处理器。本文中LPC2101,其CPU使用代码空间为3KB,CPU负载小于5%。没有使用内部外设资源如下:UART、I2C、SPI/SSP、RTC、2个定时器和4个A/D输入,20个未用的I/O口可供用户扩展使用。

  设计选用150 W MAXON RE40电机。在12 V输入下,无负载的速度是6 920 r/s。最大连续电流是6A。PWM时基信号对电机噪声有很大的影响(因为人耳一般能听到的声波的频率范围是20 Hz~20kHz),同时影响电机的表现性能。要防止整个周期中电流过零(就是通常所说的不连续的电流状态,当电机轻载时),如图5(b)所示。这种不连续电流会导致扭矩转速曲线非常陡,在电机中将产生某种脉冲,使电机转子产生更大的噪声,本电路使用MAXON电机,就是为了获得连续的电流模式,所选择的PWM脉冲频率是8kHz。

  图5 PWM时基频率的影响

  3.3 MOSFET选择

  在系统中使用NXP半导体PH1875L N沟道MOSFET,相关的电机电压是12 V,电机启动的最大电流是103 A。作为12V的电机,MOSFET的电压Vds至少为40V。需要足够的灌电流来启动电机,可以通过软件控制在系统运行过程中减小电流。PH1875L需要使用的最大灌电流是45.8 A,漏电流是183A。PH1875L的SMD贴片封装如图6所示。

  

  图6 SO669(LFPAK)封装

  3.4 MOSFET驱动选择

  MOSFET驱动提升了控制器输出信号驱动电机的能力。本设计选择NXP芯片PMD2001D和PMGD280UN,如图7所示。

  

  图7 简化的MOSFETMOSFET全桥和半桥驱动电路

  3.5 速度控制和方向控制

  为了控制方向和电机速度,用10 kΩ的电位器,连接到LPC2101ADC输入端(参见图4)。由于是10位A/D,实际上只需要8位就可以采用256个步进数值,如图8所示。采用10位A/D可以达到1024个步进数值。

  图8 电位器模拟速度输入和方向

  4 硬件与软件设计

  4.1 硬件设计

  控制部分的电路原理如图9所示。电源和电机部分的电路原理如图10所示。

  

  图9 控制部分电路原理

  图10 电源和电机部分电路原理

  4.2 软件设计

  软件部分采用C语言编写,使用Keil μVision(ARM7RealView V3.0)开发环境。主函数实现如下功能:读取电位器数值来调整速度和电机方向;读取电机反电动势电流;设定PWM占空比和控制Q1~Q4MOSFET输出;执行RS232通信。图11表示控制系统流程。使用RS232接口每200ms给PC端计算机发送电机速度和电流、电压信息。电机控制软件部分状态机如图12所示。状态处理是在主程序循环中处理的,LPC2101的定时器2用于产生PWM信号。在每个PWM信号中断子程序进入后,可以通过改变占空比来调整既定电机速度并设置MOSFET输出控制Q1~Q4。定时器0用于10ms的系统定时。

  

  图11 主程序流程

  

  图12 状态流程

  LPC2101配置使用Keil ARM开发环境中标准的启动代码,设定CCLK时钟为60 MHz,PCLK时钟为15MHz。相关测试代码包括main.c,adc.c,timer0.c,motor.c,uart.c,bcd.h等。

  相关代码见本刊网站http://www.mesnet.com.cn/——编者注。

  5 总结

  使用LPC2101 ARM7内核开发无刷电机控制系统,代码精简,控制系统可靠。经过长时间实际测量证明,系统相关器件的选型设计是稳定的。另外,目前增强型51系列微处理器的价格、性能与LPC21系列相比较,LPC21系列功耗低,价格与普通8位机价格差不多,但是性能却比增强型51系列好。比如,带Modem的双串口,双I2C接口,带大容量的Flash和RAM存储区,多通道PWM,多个32位定时器,高精度10位A/D转换器等。因此,从芯片设计和系统设计上,该无刷电机产品有一定的推广价值。

关键字:电机速度  无刷直流电机  电流传感器  电压测量  CCLK  MOSFETMOSFET

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/gykz/2008/0627/article_1030.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
电机速度
无刷直流电机
电流传感器
电压测量
CCLK
MOSFETMOSFET

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved