DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4369|回复: 3
打印 上一主题 下一主题

[cnc控制] 基于89C2051的步进电机驱动系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-29 18:05:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
基于89C2051的步进电机驱动系统设计
设计了一种基于89C2051单片机的步进电机驱动系统。该系统优化了电机在不同工作频率下的能量供给,取得了高频力矩提升、低频功耗下降的优良效果。

关键词: 可控电源; 步进电机;89C2051
引言

步进电动机驱动方式主要分为恒压驱动、恒流驱动、细分驱动等,其中恒压驱动是成本最低、最简单的解决方案,但是它的显著缺点是:高频力矩下降较快,无法满足某些应用场合的要求。另外,目前市场上几乎所有的步进电机驱动器都存在着低频热耗散大的缺点。在成本压力较大、对功耗和高低频力矩都有较高要求的情况下,如何取舍是一件很难抉择的事情。

本设计通过一个低成本可控电源,针对控制频率的全程范围,相应输出若干段电压,低频低压、高频高压。同时,在同一频率下采用高低压驱动法,在电机启动时刻提供高电压,力矩保持阶段提供低电压,从而实现了低成本下的高频力矩提升、低频功耗下降的优良效果。
硬件设计

系统硬件电路主要由单片机电路、可控电源电路和步进电机驱动电路构成。单片机采用ATMEL公司的89C2051。实际应用中,用其P1口低4 位输出控制信号给可控电源电路,使可控电源输出不同梯次的驱动电压,当控制信号为“0000”时输出电压最低,控制信号为“1111”时输出电压最高,P1口高4 位用于输出相序控制信号给四相步进电机驱动电路,单片机根据控制策略决定驱动电压的高低和相序的变化。

可控电源

可控电源部分主要由LM2576-ADJ、缓冲器、电阻、二极管组成,电路如图1所示。图中LM2576-ADJ是一个降压型开关稳压源,其输出电压为:



图1 可控电源电路
其中VH 为缓冲器输出的高电平电压,VD 为二极管结压降,VREF 为参考电压,Di 为单片机I/O口数字量输出。电路中采用缓冲器是为了提高高电平输出的稳定性和电流驱动能力,权电阻网络在单片机I/O口数字量控制下向VREF 节点提供电流从而改变输出电压Vout,二极管的作用是防止控制信号为低电平时产生反相电流。本设计采用4 位I/O控制信号,形成了4位8级可调电源。

四相步进电机驱动电路

图2所示为四相单极性步进电机驱动电路,主要由MOSFET、续流二极管、电阻组成。单片机I/O口输出信号MA、MB、MC、MD为高电平时,相应的开关管MOSFET导通,Vout向对应的电机绕组供电。电路中为了减小驱动元件的压降,采用了具有低导通电阻特性的MOSFET器件,利用二极管和电阻构成电机绕组的续流回路,避免了MOSFET器件在换相时由于瞬间电压过高而击穿。



图2 四项步进电机驱动电路

控制方案及软件设计

为了实现高频力矩提升、低频功耗下降的目的,设计中采用了高低压驱动和驱动电压根据频率分段而调整相结合的控制策略。

高低压驱动方案

图3 所示为单片机输出的步进电机相序控制信号 MA、MB、MC、MD与驱动电压Vout的时序关系。控制相序依次为:AB→BC→CD →DA→AB...。图中可见,步进电机每走一步驱动电压首先变高为Uf,然后再变低为UO,即在电机启动时刻提供高电压,力矩保持阶段提供低电压。Uf值高于UO值的目的为了使电机保持较高的动态转矩,经过T1时间后,驱动电压变成U0,以便给电机提供较低的维持转矩所需的电流。T1的值是固定的,当频率较低时T远远大于T1,此时电源输出的平均电压低,功耗也低,电机做的功低。当频率提高时,T减小,一个周期内U0电压在时间轴上所占比例减小,电源消耗的功率增大,电机做功较大,当T小于等于T1时,驱动电压为一个恒定值Uf。从而实现了低频低功耗,高频高能量供给的优化驱动模式,避免了常用驱动电路低频热耗散大的缺点。



图3 相续控制信号与驱动电压关系

频率分段调整驱动电压的控制

实际应用中,将工作频率范围分成若干段,不同频率段对应不同的驱动电压值,频率越高驱动电压越大。由于步进电机绕组是感性负载,换相过程中驱动回路电流变化率越大,电机的动态响应速度越快,动态转矩越大。而电流变化率是与驱动电压成正比的。所以本控制方案大大提高了步进电机的高频转矩。

步进电机驱动控制软件

根据上述控制方案,设计了步进电机驱动程序。根据经验值预先建立了不同段频率与相应驱动电压控制码的对应关系表,并存入系统存储器。运行过程中依据当前工作频率,对应出每步周期T,再通过查表确定驱动电压控制代码,并由口P13--P10输出给可控电源,同时口P17--P14输出相序控制信号。另外,驱动电压Uf建立时间T1决定了高压输出在每步驱动中所占的比例,T1时间到,则变成维持电压U0(低压)供电,从而实现了高低压驱动。
应用情况与结果

本控制方案在XL21系列医用点滴泵中已成功应用。XL21系列原型号医用点滴泵采用工作电压为8伏的恒压驱动方案,最高流速可达820ml/hour,在流速500ml/hour以下出现整机发热现象。现型号医用点滴泵对应0-600ml/hour、600-670ml/hour、670-750ml/hour、750-800ml/hour、800-850ml/hour、850-900ml/hour、900-950ml/hour、950-1000ml/hour 8个流速段分别采用7.549V、7.868V、8.185V、8.345V、8.664V、8.981V、9.299V、9.616V共8个梯次电压驱动的方式,使整机发热得到很大缓解,同时最高流速上升到1000ml/hour。图4为原型号和现型号医用点滴泵在不同流速下的实测启动转矩对比。从图中可见,原型号泵随着设定流速的提高,输出转矩迅速衰减,而现型号泵随着设定流速的提高,由于驱动电压分段提高导致输出转矩更加平缓,使得在满足同等力矩的条件下,流速范围扩大。



图4 两种方案启动转据对比

进电机驱动方案与恒压驱动方案相比,低速功耗明显下降,而高速力矩得到显著提升。在兼顾节能和改善步进电机矩频特性的应用中,该设计是一种性价比很好的解决方案。
参考文献
1.王松武,常用电路模块分析与设计指导,清华大学出版社,2007
2.张占松、蔡宣三,开关电源的原理与设计(修订版),电子工业出版社,2004(9)
3.黄继昌,电源专用集成电路及其应用—集成电路应用丛书,人民邮电出版社,2006(6)
4.吴红星,电机驱动与控制专用集成电路及应用,中国电力出版社,2006
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏3 分享分享 支持支持 反对反对
地板
发表于 2015-10-15 22:14:14 | 只看该作者
这个很好,感谢楼主的好资料
板凳
发表于 2014-10-26 21:01:54 | 只看该作者
这个资料真好。收藏下来,下次做个成品。搞一下。感谢楼主!
沙发
发表于 2013-10-8 23:03:00 | 只看该作者
好贴,楼主辛苦了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-26 13:02 , 耗时 0.083630 秒, 18 个查询请求 , Gzip 开启.

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

桂公网安备 45031202000115号

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

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

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

QQ:28000622;Email:libyoufer@sina.com

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

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