基于PIC16F873单片机的步进电机控制系统
来源: 作者: 发布时间:2015-03-11 10:03:31 浏览量: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实现,简化了硬件电路。采用硬件、软件抗干扰技术措施和一种升降速曲线的优化方法,解决了步进电机在升降速过程中,脉冲频率的变化不合理,使系统无法做到精确定位的问题。系统工作可靠,具有通用性,适当改变输出口各位控制端,便可控制不同相数的步进电机。
采用Mini-SPM设计高压侧栅极驱动电路 引言Mini-SPM系列产品,为低功率 (100W ~ 2.2kW) 电机驱动电路提供高效率、高可靠性和设计简便的方案。Mini-SPM采用内置高压驱动IC (HVIC) 作为栅极驱动电路,使设计更
充电电池类型和单机快速充电器概述及设计和检测充电电池已经成为当今电子产品的一种标准电源,特别是便携设备:笔记本电脑、掌上导航仪、手机等。这些产品需要消耗的功率越来越大,而可充电电池容量的增长速度远远不能满足它们的需求。功耗增长的主要原因是设备功
90V时,肖特基有蛮长的一段尖峰电压 发现一般的充电器,适配器,在90V时,肖特基都有蛮长的一段尖峰电压,为什么高压的时候没有这种现象呢?
请教高手啊
顶贴,抢沙发我的理解,这个尖峰就是谐振引起的,而这个尖峰的高低