找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于ARM LPC2101的无刷直流电机控制方案

[复制链接]
admin 发表于 2013-3-23 23:43:59 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  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导通电机反相旋转。
    2012110705114909103943.jpg
     
     图2 使用全桥电路双向旋转
     2.2 速度控制部分
     无负载的电机速度与加到电机上的电压有一定的比例关系,因此通过采样加载到电机上的电压,可以控制电机的速度。脉宽调制解调用于产生这种电压的变化,如图3所示。脉宽调制是基于占空比的固定频率脉宽波形。加载到电机上的平均电压与PWM占空比成正比关系。
    2012110705114912228944.jpg
     
     图3 PWM速度控制
     PWM信号(Q1和Q2)根据LPC2101微控制器定时器2的3个匹配寄存器决定信号的时基频率。电机速度(占空比)和方向通过调整电位器输入及改变LPC2101 ADC的输入数值来控制,如图4所示。
    2012110705114941915945.jpg
     
     图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所示。
    2012110705114945040946.jpg
     
     图6 SO669(LFPAK)封装
     3.4 MOSFET驱动选择
     MOSFET驱动提升了控制器输出信号驱动电机的能力。本设计选择NXP芯片PMD2001D和PMGD280UN,如图7所示。
    2012110705114952852947.jpg
     
     图7 简化的MOSFETMOSFET全桥和半桥驱动电路
     3.5 速度控制和方向控制
     为了控制方向和电机速度,用10 kΩ的电位器,连接到LPC2101ADC输入端(参见图4)。由于是10位A/D,实际上只需要8位就可以采用256个步进数值,如图8所示。采用10位A/D可以达到1024个步进数值。
     图8 电位器模拟速度输入和方向
     4 硬件与软件设计
     4.1 硬件设计
     控制部分的电路原理如图9所示。电源和电机部分的电路原理如图10所示。
    2012110705114957539948.jpg
     
     图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的系统定时。
    2012110705114960664949.jpg
     
     图11 主程序流程
    2012110705114963789950.jpg
     
     图12 状态流程
     LPC2101配置使用Keil ARM开发环境中标准的启动代码,设定CCLK时钟为60 MHz,PCLK时钟为15MHz。相关测试代码包括main.c,adc.c,timer0.c,motor.c,uart.c,bcd.h等。
     5 总结
     使用LPC2101 ARM7内核开发无刷电机控制系统,代码精简,控制系统可靠。经过长时间实际测量证明,系统相关器件的选型设计是稳定的。另外,目前增强型51系列微处理器的价格、性能与LPC21系列相比较,LPC21系列功耗低,价格与普通8位机价格差不多,但是性能却比增强型51系列好。比如,带Modem的双串口,双I2C接口,带大容量的Flash和RAM存储区,多通道PWM,多个32位定时器,高精度10位A/D转换器等。因此,从芯片设计和系统设计上,该无刷电机产品有一定的推广价值。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-25 12:50 , Processed in 0.061145 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表