首页 » 技术文章 » 基于PIC16F873单片机的步进电机控制系统

基于PIC16F873单片机的步进电机控制系统

作者:  时间:2011-05-11 09:03  来源:EDN

  242 电机驱动电路的抗干扰设计

  为了防止电机产生的噪声引起干扰,将单片机定时控制电路和电机控制电路分成2块电路板,这样有利于抗干扰,并提高电控板的可靠性。电机驱动信号由 PIC16F873智能运算后加至电机驱动器,通过电平转换芯片输出。MCU的几个输出端口加接的光电耦合电路耦合两边的分割开来。电机的电源引线不要和其他引线捆扎在一起,避免绕过或覆盖电控板上的元器件而产生对复位信号的干扰,引起单片机死机。

  3 软件设计

  31 加减速优化设计

  311 指数型加减速优化控制方法

  步进电机运行时一定满足动力学方程:

  式中:θ为步距角;J为转动惯量;Tl为负载转矩;Tm为输出转矩;f为频率。

  每个频率下的最大输出力矩可以由电机矩频特性曲线得到,但是一般的矩频特性曲线是整体呈下降趋势的非线性曲线,不便于计算;所以在一定的频率范围内,采用直线来近似拟合它的特性,得到电机的输出转矩与频率的关系:

  这种近似的关系要根据电机自身的矩频特性曲线和一定频率范围内曲线的特性来确定。Tm0为电机的最大转矩,α为拟和直线的斜率。对于不同的电机和在不同的频率范围内,也可用二次函数或其他的函数近似表示它们之间的关系。利用直线拟合矩频特性,通过牛顿跌代法和Matlab中的m-file编程,可计算得到加减速运行时每步所走的速度台阶,即步进电机的指数型加减速运行曲线。

  312 提出新优化方法

  由上面的理论方法得到的理论加减速曲线,对于负载比较大的系统,所需的加减速台阶数过多,过程复杂,消耗了大量的系统资源,同时步进电机也出现了明显的失步情况,其原因在于每个速度只运行一步,还没有完全稳定就运行到更高的速度,从而造成了系统的不稳定。通过在实际工作中的经验,提出了一种升降速曲线的优化方法:电机的加减速趋势采用理论计算得到的指数加减速曲线趋势;上升和下降的台阶数分别取相应的理论优化曲线的一半,然后每个上升台阶走5步,每个下降台阶走3步,这样就可以保证电机正常运行,而且有较快的速度,同时减少了运行的台阶数,使曲线更简单;同时即使负载有少量的变化,电机也可以正常运行,使系统的鲁棒性更好。

  32 软件中的抗干扰设计

  321 “看门狗程序

  采用看门狗程序,防止单片机系统因干扰而产生持续异常甚至导致元器件和外围部件的损坏。看门狗必须在开机复位后,初始化前被激活,并且必须设置在主程序中,尽量避免放在中断程序或子程序中。

  322 标志检测程序

  单片机系统受干扰而导致出错后,若无法自动恢复,通常是由于RAM区数据被破坏的缘故。因此,可以利用数据RAM单元,设置检验标志,应用程序定期检查各标志位,若标志正确,相应功能程序继续运行;否则,进入初始化程序。

  323 未使用存储器与中断地址的处理程序

  若程序计数器出错而跳转到MCU的未用程序存储器空间,程序将按照其中的指令代码运行,会产生异常。处理办法有2种:填写软件中断指令,程序计数器落人该区域时,产生软件中断,将程序导入预定的程序入口地址;填写空操作指令,并最终跳转到初始化程序。

  33 模块化结构设计

  软件部分采用模块化结构设计。对步进电机转速的控制是通过定时器工作在中断方式实现的。定时器定时中断产生周期性脉冲序列,不是采用软件延时的方式,这样不占用MCU的时间。MCU在非中断时间内可以处理其他事件,只有在中断发生时才驱动步进电机转动一步。根据步进电机励磁状态转换,采用查表法求出所需的输出状态,并以二进制码的形式依次存人单片机内部的存储器中,然后按照正向或反向顺序依次取出地址的状态字,送给PIC16F873RA1RA2RA3RA4,输出各励磁状态,经放大电路驱动步进电机,从而实现环形分配器的功能。程序总体框架包括3部分:主程序、过流检测中断服务子程序、定时器中断服务子程序、以及其他子程序(包括正转、反转子程序、键盘显示控制子程序、AD转换子程序等),由于篇幅限制,在此不再赘述。

  4

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

相关推荐

基于一种低成本的新型步进电机驱动器的研制

步进电机  PWM  2011-08-05

基于PIC16F873单片机的步进电机控制系统

步进电机  抗干扰  2011-05-11

智能化逆变电源系统中监控模块的抗干扰设计

逆变电源  抗干扰  2011-04-15

列车用高速数字PCB电路板抗干扰设计

电路板  抗干扰  2011-04-07

基于Linux激光雕刻系统步进电机驱动程序的设计

Linux  驱动程序  步进电机  2010-10-20

单片机应用系统的抗干扰技术

单片机  抗干扰  看门狗  2010-07-08
在线研讨会
焦点