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

发布者:创意旋律最新更新时间:2011-08-12 关键字:PIC16F873  步进电机控制 手机看文章 扫描二维码
随时随地手机看文章

 

  单片机控制步进电机具有功能灵活多样,脉冲输出准确,实时性强等特点,通过软件设计可以实现各种复杂的控制,其系统成本较低,近些年来已被广泛应用在各种不同的运动控制系统中。

  在实际应用中,若步进电机在升降速时,脉冲频率的变化不合理,就会使电机失步或者过冲,使系统无法做到精确定位;同时,由于系统快速性的要求,电机需要很快地完成加减速过程。

  这里设计了基于PIC单片机的步进电机控制系统,分析快速性最好的指数型加减速曲线在实际系统中的应用规律,提出了一种升降速曲线的优化方法,采用了硬件、软件抗干扰技术措施。可以通过键盘输入数据与指令,并能通过旋钮方便地实现电机的连续调速,实时设置与显示步进电机的工作方式。

  1 控制系统总体方案设计

  系统功能原理示意图如图1所示。

  在该系统中由单片机直接输出电机的各相控制脉冲序列,光耦进行必要的光电隔离,采用分立元件构成功率MOSFET管驱动电路,带动电机转动。键盘接口与LED显示功能由具有SPI串行接口功能的ZLG7289实现。既可使用按键输入的方式精确设置电机的工作方式与转速,也可以通过调速旋钮实现电机转速的连续调节,还能通过上位微机实现对电机工作方式的调整与控制。[page]

2 硬件电路设计

  21 控制电路设计

  控制芯片采用PIC16F873,该单片机具有抗干扰能力强,超低功耗。芯片自带硬件看门狗,具有高速SPI通信端口,6通道10位A/D转换,2路PWM输出,8 KB容量的FLASH存储器,368 B容量的SRAM,3个定时器,1个SPI串行通信口。由于单片机内部的资源丰富,性价比高。能够满足该设计的要求,而且减少硬件电路的设计,提高工作效率。单片机的外部引脚定义以及在该设计的资源分布如图2所示。

  RA0口外接4.7 kΩ的可调电位器,利用单片机内部的模/数转换功能转换成数字量,进而控制输出脉冲频率的高低,完成步进电机速度的“连续”调节。过流检测的结果直接引入到RB6,通过中断实现对电流的快速控制。

  22 驱动电路设计

  功率MOSFET管的部分驱动电路如图3所示。

  由于功率MOSFET管栅极电容的存在,对该管的驱动电流实际表现为对栅极电容的充、放电。图中电路的设计可改进功率MOSFET管的快速开通时间,减少在前级门电路上的功耗,提高了驱动电流的前后沿陡度,能够改善高频响应。

  栅源间过压保护齐纳二极管的稳压值为15 V。功率MOSFET管栅源间的阻抗很高,工作于开关状态下的漏源间电压的突变会通过极间电容藕合到栅极而产生相当幅度的VGS脉冲电压。这一电压会引起栅源击穿造成管子的永久损坏,如果是正方向的VGS脉冲电压,虽然达不到损坏器件的程度,但会导致器件的误导通。为此,要适当降低栅极驱动电路的阻抗,在栅源之间并接阻尼电阻或接一个稳压值小于20 V而又接近20 V的齐纳二极管,防止栅源开路工作。

  为了抑制功率管内的快恢复二极管出现反向恢复效应.在电路中接入4只快恢复二极管。其中,反并联快恢复二极管的作用是为电机相绕组提供续流通路,其余2只是为了使功率MOSFET管内部的快恢复二极管不流过反向电流,以保证功率MOSFET管在动态工作时能起正常的开关作用。

  23 显示与按键处理电路

  在单片机应用系统中,键盘显示接口技术已经比较成熟,相对于并行方式,串行扩展接线灵活,占用单片机资源少,系统结构简化,极易形成用户的模块化结构。现代单片机应用系统广泛采用串行扩展技术。ZLG7289A是具有SPI串行接口功能的可同时驱动8位共阴式数码管或64只独立LED的智能显示驱动芯片。单片即可完成LED显示、键盘接口的全部功能。ZLG7289A采用串行方式与微处理器通信。串行数据从。DIO引脚送入芯片,并由CLK端同步。当选信号变为低电平后,DIO引脚上的数据在CLK引脚的上升沿被写入ZLG7289A的缓冲寄存器。

  应注意的是ZLG7289A应连接共阴式数码管,在应用中无需用到的数码管和键盘可以不连接,省去数码管和对数码管设置消隐属性均不会影响键盘的使用。整个电路无需添加锁存器、驱动器、寄存器等,耗电较小,软件设计中也无需进行显示译码,省去了静态显示扩展芯片,大大节省了MCU的占用时间,因而使用更方便,适于推广。

  本电路设计中仅采用4×4键盘和4位数码管,已完全满足设计需要。PIC16F873单片机与ZLG7289接口示意如图4所示。

  24 硬件电路抗干扰设计

  241 PCB的抗干扰设计

  (1)当集成电路在工作状态翻转时,其工作电流的变化很大。集成电路电源线的电感会阻止电流的瞬态变化,从而影响集成电路的响应速度。与此同时集成电路芯片的瞬态变化电流流过环路面积较大电源线路时,将会产生较为强烈的对外辐射噪声。由于各集成电路很可能会流经相同的线路,在此线路上存在较大的公共阻抗,从而产生较严重的阻抗耦合干扰。除电源系统输出端采用电解电容与高频瓷片电容并联去耦外,还应包括MCU与数字集成电路去耦、电源走线末端去耦等措施。具体做法如下:电源输入端接10~100μF的电解电容。在集成电路的电源输入端和接地端之间接0.01μF陶瓷电容。在VCC与电源地之间安放一个O.1μF的瓷片去耦电容。

  (2)合理布线是提高单片机系统抗干扰的最主要措施。电源系统在PCB上的走线较长,当电磁噪声感应到电源系统,将可能导致系统内诸如触发器、反向器等电路的状态改变,从而使系统产生误动作。另一方面,电源系统上产生的快变大电流,也可能产生电磁能量的发送。设计时可按下列原则布线:电源线尽可能与地线平行,以减小供电环路面积,减小电源噪声的产生。对大电流的走线,尽可能将它们的宽度加粗,使传输压降减到最低。将不同电路功能区域的地分开走线,最后汇到主接触地点。数字地与模拟地应分开布线、单点连接。

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

  为了防止电机产生的噪声引起干扰,将单片机定时控制电路和电机控制电路分成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在非中断时间内可以处理其他事件,只有在中断发生时才驱动步进电机转动一步。根据步进电机励磁状态转换,采用查表法求出所需的输出状态,并以二进制码的形式依次存人单片机内部的存储器中,然后按照正向或反向顺序依次取出地址的状态字,送给PIC16F873的RA1,RA2,RA3,RA4,输出各励磁状态,经放大电路驱动步进电机,从而实现环形分配器的功能。程序总体框架包括3部分:主程序、过流检测中断服务子程序、定时器中断服务子程序、以及其他子程序(包括正转、反转子程序、键盘显示控制子程序、A/D转换子程序等),由于篇幅限制,在此不再赘述。

  4

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

 

关键字:PIC16F873  步进电机控制 引用地址:基于PIC16F873单片机的步进电机控制系统

上一篇:PIC单片机控制时钟芯片DS1302汇编程序
下一篇:PIC单片机存储体0或1的选用说明(程序)

推荐阅读最新更新时间:2024-03-16 12:39

步进电机控制芯片与驱动电路
步进电机控制芯片TC1002 是一个高性能二相步进电机细分驱动控制器。TC1002支持14 种细分等级,最大256细分,最大支持4.2A和8.0A电流。TC1002它包含一个模拟 SINE/COSINE 信号发生器, 完整的数字控制集成在一颗芯片中,高集成度减少产品的设计周期。尽量的减少了外部的分 立元件,提供给设计者一个简单但又高效的产品。 在一个完整的细分控制系统上,TC1002 全面的控制马达运行状况,它能在任何时候改变马达状态,没有必要要复位控制器。它很容易使马达前进使用者设定的固定步数。另外在“整步”输出上,当马达长 时间工作后,它会指出马达是否还处于整步状态上。TC1002  通过输入时钟和方向两种信号 就可控制马
[嵌入式]
TMC428型3轴步进电机控制器的原理及应用
摘要:TMC428是TRINAMIC公司最新开发的步进电机运动控制器,它可减少电机控制软件设计的工作量,降低开发成本。以它为核心(包括TMC236型步进电机驱动器)构成的3轴步进电机驱动控制系统具有尺寸小、控制简单的优点,可同时控制3个两相步进电机。 关键词:步进电机 控制器 TMC428 1 主要性能特点 TMC428是小尺寸、高性价比的二相步进电机控制芯片。它带有二个独立的SPI口,可分别与微处理器和带有SPI接口的步进电机驱动器相连以构成完整的系统。其控制指令可由微处理器通过SPI接口给定。TMC428提供了所有与数字运动控制有关的功能,包括位置控制、速度控制及微步控制等步进电机常用的控制功能。这些功能如果让微处理器
[工业控制]
51单片机学习笔记:步进电机控制,正转反转等
步进电机应用广泛, 例如打印机、磁盘驱动器、玩具、汽车雨刷、手机震动、机械夹具、刻录机等各种机械控制场合 一些概念: 拍数N 定子控制绕组每改变一次通电方式,即为一拍 一个磁场通电周期是 A-B-C-D-A 完成一个磁场周期性变化所需脉冲数, 也指电机转过一个齿距角所需脉冲数,用N表示 拍数又等于相数的1倍或2倍, 以四相电机为例, 有4相4拍, A-B-C-D-A... 4相8拍, A-AB-B-BC-C-CD-D-DA-A... 齿距角θz 一个通电循环周期(比如4拍)转子转过一个齿距角 齿距角又等于360除以转子齿数Z, θz=360/Z 步距角θs 步距角,即在没有减速齿轮的情况下,对于一个脉冲信号,转子所转过的机械
[单片机]
51单片机学习笔记:<font color='red'>步进电机控制</font>,正转反转等
基于DSP实现的步进电机控制器的设计
DSP(Digital Signal Processor)是一种特别适合于进行数字信号处理运算的微处理器,其采用先进的软、硬件结构,其内部的程序空间和数据空间分开,可以同时访问指令和数据,并且具有事件模块管理功能及快速的中断处理功能,其以高性能及日趋低价位的特点,越来越广泛地应用于信息处理、控制系统中。TMS320LF2407芯片作为一款定点DSP控制器尤为适合于控制系统,其所包含的事件管理模块,可以极为方便的实现电机数字化控制。步进电机是数字控制系统的一种常见的执行元件,其接收数字控制信号(电脉冲信号),并转换成与之相对应的角位移或直线位移。步进电机具有开环控制无累计误差的优点,控制系统结构简单,因而得到了广泛的应用。本文所介绍
[电源管理]
基于DSP实现的<font color='red'>步进电机控制</font>器的设计
基于ARM的步进电机控制系统
在现代的工业控制系统中步进电机是一个重要的执行器件,其被广泛地应用于自动化工业控制系统和机电一体化的产品。在现代的大部分电子产品和工业产品中都是以步进电机为动力核心,如工业机器人、打印机、数控机床、绘图仪等。随着对产品的要求越来越高,对其控制也要求越来越高,以前的步进电机控制系统的控制能力无法满足现在的要求,因此,提出一种更高效、实用性更强的控制系统变得更加重要。 传统的工业控制大多数是采用8位单片机为控制内核,其价格便宜、设计简单,容易满足一般控制要求,但是该单片机存储空间小,外设资源较少,往往需要与PC机联合控制才能实现,这样带来的问题是实时性较差,人机交互较为复杂,操作麻烦等问题。采用功能较为强大的32位ARM为控制
[单片机]
基于ARM的<font color='red'>步进电机控制</font>系统
利用PIC单片机控制步进电机控制系统的方法概述
1 引言 步进电机是一种离散运动的装置,它和现代数字控制技术有着紧密的本质的联系。步进电机亦是一种将电脉冲转化为角位移或直线位移的执行机构,当步进电机驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(又称之为步进角),为此可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过脉冲频率来控制步进电机的转动速度和加速度,从而达到调速的目的。从以上所述可知,步进电机是可以用脉冲信号直接进行定位控制,由于其具有一定的精度,且控制线路简单,使用方便、可靠;因此它广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备(扫描仪、磁盘驱动器、打印机)、照相机(包括光学照相机与数码照相机),投
[单片机]
利用PIC单片机控制<font color='red'>步进电机控制</font>系统的方法概述
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved