首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于PIC16F873单片机的步进电机控制系统
来源:本站整理  作者:佚名  2009-08-05 13:25:22



2.4 硬件电路抗干扰设计
2.4.1 PCB的抗干扰设计
    (1)当集成电路在工作状态翻转时,其工作电流的变化很大。集成电路电源线的电感会阻止电流的瞬态变化,从而影响集成电路的响应速度。与此同时集成电路芯片的瞬态变化电流流过环路面积较大电源线路时,将会产生较为强烈的对外辐射噪声。由于各集成电路很可能会流经相同的线路,在此线路上存在较大的公共阻抗,从而产生较严重的阻抗耦合干扰。除电源系统输出端采用电解电容与高频瓷片电容并联去耦外,还应包括MCU与数字集成电路去耦、电源走线末端去耦等措施。具体做法如下:电源输入端接10~100μF的电解电容。在集成电路的电源输入端和接地端之间接0.01μF陶瓷电容。在 VCC与电源地之间安放一个O.1μF的瓷片去耦电容。
    (2)合理布线是提高单片机系统抗干扰的最主要措施。电源系统在PCB上的走线较长,当电磁噪声感应到电源系统,将可能导致系统内诸如触发器、反向器等电路的状态改变,从而使系统产生误动作。另一方面,电源系统上产生的快变大电流,也可能产生电磁能量的发送。设计时可按下列原则布线:电源线尽可能与地线平行,以减小供电环路面积,减小电源噪声的产生。对大电流的走线,尽可能将它们的宽度加粗,使传输压降减到最低。将不同电路功能区域的地分开走线,最后汇到主接触地点。数字地与模拟地应分开布线、单点连接。
2.4.2 电机驱动电路的抗干扰设计
    为了防止电机产生的噪声引起干扰,将单片机定时控制电路和电机控制电路分成2块电路板,这样有利于抗干扰,并提高电控板的可靠性。电机驱动信号由 PIC16F873智能运算后加至电机驱动器,通过电平转换芯片输出。MCU的几个输出端口加接的光电耦合电路“耦合”两边的“地”分割开来。电机的电源引线不要和其他引线捆扎在一起,避免绕过或覆盖电控板上的元器件而产生对复位信号的干扰,引起单片机死机。

3 软件设计
3.1 加减速优化设计
3.1.1 指数型加减速优化控制方法
    步进电机运行时一定满足动力学方程:

  
式中:θ为步距角;J为转动惯量;Tl为负载转矩;Tm为输出转矩;f为频率。
    每个频率下的最大输出力矩可以由电机矩频特性曲线得到,但是一般的矩频特性曲线是整体呈下降趋势的非线性曲线,不便于计算;所以在一定的频率范围内,采用直线来近似拟合它的特性,得到电机的输出转矩与频率的关系:
  
    这种近似的关系要根据电机自身的矩频特性曲线和一定频率范围内曲线的特性来确定。Tm0为电机的最大转矩,α为拟和直线的斜率。对于不同的电机和在不同的频率范围内,也可用二次函数或其他的函数近似表示它们之间的关系。利用直线拟合矩频特性,通过牛顿跌代法和Matlab中的m-file编程,可计算得到加减速运行时每步所走的速度台阶,即步进电机的指数型加减速运行曲线。
3.1.2 提出新优化方法
    由上面的理论方法得到的理论加减速曲线,对于负载比较大的系统,所需的加减速台阶数过多,过程复杂,消耗了大量的系统资源,同时步进电机也出现了明显的失步情况,其原因在于每个速度只运行一步,还没有完全稳定就运行到更高的速度,从而造成了系统的不稳定。通过在实际工作中的经验,提出了一种升降速曲线的优化方法:电机的加减速趋势采用理论计算得到的指数加减速曲线趋势;上升和下降的台阶数分别取相应的理论优化曲线的一半,然后每个上升台阶走5步,每个下降台阶走3步,这样就可以保证电机正常运行,而且有较快的速度,同时减少了运行的台阶数,使曲线更简单;同时即使负载有少量的变化,电机也可以正常运行,使系统的鲁棒性更好。
3.2 软件中的抗干扰设计
3.2.1 “看门狗”程序
    采用“看门狗”程序,防止单片机系统因干扰而产生持续异常甚至导致元器件和外围部件的损坏。“看门狗”必须在开机复位后,初始化前被激活,并且必须设置在主程序中,尽量避免放在中断程序或子程序中。
3.2.2 标志检测程序
    单片机系统受干扰而导致出错后,若无法自动恢复,通常是由于RAM区数据被破坏的缘故。因此,可以利用数据RAM单元,设置检验标志,应用程序定期检查各标志位,若标志正确,相应功能程序继续运行;否则,进入初始化程序。
3.2.3 未使用存储器与中断地址的处理程序
    若程序计数器出错而跳转到MCU的未用程序存储器空间,程序将按照其中的指令代码运行,会产生异常。处理办法有2种:填写软件中断指令,程序计数器落人该区域时,产生软件中断,将程序导入预定的程序入口地址;填写空操作指令,并最终跳转到初始化程序。
3.3 模块化结构设计
    软件部分采用模块化结构设计。对步进电机转速的控制是通过定时器工作在中断方式实现的。定时器定时中断产生周期性脉冲序列,不是采用软件延时的方式,这样不占用MCU的时间。MCU在非中断时间内可以处理其他事件,只有在中断发生时才驱动步进电机转动一步。根据步进电机励磁状态转换,采用查表法求出所需的输出状态,并以二进制码的形式依次存人单片机内部的存储器中,然后按照正向或反向顺序依次取出地址的状态字,送给PIC16F873的RA1,RA2,RA3,RA4,输出各励磁状态,经放大电路驱动步进电机,从而实现环形分配器的功能。程序总体框架包括3部分:主程序、过流检测中断服务子程序、定时器中断服务子程序、以及其他子程序(包括正转、反转子程序、键盘显示控制子程序、A/D转换子程序等),由于篇幅限制,在此不再赘述。

4 结 语
    在电机控制系统开发过程中,如果恰当地选取单片机的型号及各个电路模块,则一定能够简化设计过程,起到事半功倍的效果。该步进电机控制系统采用PIC1 6F873单片机,工作方式、转动速率及转矩数可以通过键盘输入,也可通过普通旋钮以及上位机调节。键盘与LED控制部分采用具有SPI接口的 ZLG7289实现,简化了硬件电路。采用硬件、软件抗干扰技术措施和一种升降速曲线的优化方法,解决了步进电机在升降速过程中,脉冲频率的变化不合理,使系统无法做到精确定位的问题。系统工作可靠,具有通用性,适当改变输出口各位控制端,便可控制不同相数的步进电机。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:303,496.10000 毫秒