DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 321|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:26:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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



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



图7  简化的MOSFETMOSFET全桥和半桥驱动电路
3.5  速度控制和方向控制
  为了控制方向和电机速度,用10 kΩ的电位器,连接到LPC2101 ADC输入端(参见图4)。由于是10位A/D,实际上只需要8位就可以采用256个步进数值,如图8所示。采用10位A/D可以达到1 024个步进数值。



图8  电位器模拟速度输入和方向
4  硬件与软件设计
4.1  硬件设计
  控制部分的电路原理如图9所示。电源和电机部分的电路原理如图10所示。



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



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



图11  主程序流程
  LPC2101配置使用Keil ARM开发环境中标准的启动代码,设定CCLK时钟为60 MHz,PCLK时钟为15 MHz。相关测试代码包括main.c,adc.c,timer0.c,motor.c,uart.c,bcd.h等。
  相关代码见本刊网站www.mesnet.com.cn——编者注。
5  总结
  使用LPC2101 ARM7内核开发无刷电机控制系统,代码精简,控制系统可靠。经过长时间实际测量证明,系统相关器件的选型设计是稳定的。另外,目前增强型51系列微处理器的价格、性能与LPC21系列相比较,LPC21系列功耗低, 价格与普通8位机价格差不多,但是性能却比增强型51系列好。比如,带Modem的双串口,双I2C接口,带大容量的Flash和RAM存储区,多通道PWM,多个32位定时器,高精度10位A/D转换器等。因此,从芯片设计和系统设计上,该无刷电机产品有一定的推广价值。



图12  状态流程
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-27 21:50 , 耗时 0.169240 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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