《步进电机控制》PPT课件.ppt
第十九讲第十九讲 步进电机控制步进电机控制119.0 19.0 项目演示效果项目演示效果图图XP_19_01 XP_19_01 步骤步骤1-1-步进电机控制的开机状态步进电机控制的开机状态2图图XP_19_02 XP_19_02 步骤步骤2-2-启动步进电机顺时针旋转启动步进电机顺时针旋转3图图XP_19_03 XP_19_03 步骤步骤3-3-步进电机逆时针步进电机逆时针1/81/8细分方式运行细分方式运行 419.1 19.1 项目目标设计项目目标设计1.学习步进电机的基本工作原理;2.掌握步进电机的控制方法;3.学习TA8435H步进电机驱动芯片的基本工作原理;4.掌握TA8435H步进电机驱动芯片在本开发板中的应用方法和原理;5.学习通过82C55并行扩展芯片进行控制信号输出的编程技巧;6.掌握步进电机的控制电路的硬件连接方法;7.在达到以上六点目标的基础上,根据本章“项目扩展任务”中提出的问题,以组或个人为单位,在规定时间里完成扩展项目任务。519.2 19.2 项目任务项目任务 步进电机控制项目的电路原理图如图19-1所示,步进电机的控制信号由STC89C52RC单片机给出,但不是直接使用自己的端口进行控制,而是通过控制并行端口扩展芯片82C55的PB0PB5引脚的电平输出,间接控制TA8435H步进电机驱动芯片的运行。图19-1中的J15为后备的输入电源(另一路为USB供电和程序下载接口,这两路不能同时引入外接直流电源)接入端子,有5V和12V两级可以选择引入的直流电源。三端连接插线设置端子J16实现将TA8435H负载输入电压Vsel与上面引入的两路电源电压中的哪一路相连,方法是在J16的不同插针间接插短接片。P1为4针端子,引出TA8435H对两相双极性步进电机的控制信号。6图图19-1 19-1 步进电机控制项目的电路原理图步进电机控制项目的电路原理图7 本项目应完成以下程序设计:打开开发板开关后,七段数码管相应位置显示OFF、F和1,分别表示步进电机关机、准备顺时针旋转和将要运行在整步方式。按压S1键,按照设定运行步进电机,数码管相应位置显示OE;按压S4键,关闭步进电机,数码管相应位置显示OFF;按压S5键,步进电机顺时针旋转,数码管相应位置显示F;按压S8键,步进电机逆时针旋转,数码管相应位置显示b;按压S9键,步进电机整步方式运行,数码管相应位置显示1;按压S10键,步进电机半步方式运行,数码管相应位置显示2;按压S11键,步进电机1/4细分方式运行,数码管相应位置显示4;按压S12键,步进电机1/8细分方式运行,数码管相应位置显示8;按压其它键,不会引发步进电机动作。819.3 19.3 系统板上硬件连线系统板上硬件连线 本项目要求PMY单片机开发板上的短接片接CON1的07引脚、CON2的05引脚,J5和J7的2和3引脚分别短接。若板上引入12V电源,则应将J16的12V和Vsel短接;否则,短接5V和Vsel,其余连接插线不接,见图19-2步进电机控制的连接插线设置示意图。图图19-2 19-2 步进电机控制项目系统板硬件连线图步进电机控制项目系统板硬件连线图919.4 19.4 程序流程序流程图程图图图19-3 19-3 步进步进电机控制项目电机控制项目的程序流程图的程序流程图1019.5 C19.5 C语言源程序(略)语言源程序(略)19.6 19.6 系统构成和程序分析系统构成和程序分析19.6.1 19.6.1 步进电机的结构和工作原理步进电机的结构和工作原理 步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用【42】。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,就会驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。11图图19-4 19-4 常见的两相混合式步进电机实物图常见的两相混合式步进电机实物图12 步进电机是一种控制用的特种电机,可利用其没有积累误差(精度为100%)的特点,应用于各种开环控制。比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等,图19-4给出了一些最常见的两相混合式步进电机实物图。永磁式步进电机一般为两相,转矩和体积较小,步距角一般为度或15度;反应式步进电机一般为三相,可实现大转矩输出,步距角一般为度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。13 混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步距角一般为度,而五相步距角一般为 度。这种步进电机的应用最为广泛,也是本开发板控制驱动方案所选用的步进电机类型。以三相电机为例,将步进电机内部的定转子平行展开【43】,如图19-5所示,可以看到电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。相邻两转子齿轴线间的距离为齿距以T表示,即A与齿1相对齐,B与齿2向右错开1/3T,C与齿3向右错开2/3T,A与齿5相对齐,(A就是A,齿5就是齿1)。14图图19-5 19-5 步进电机内部的定转子工作原理图步进电机内部的定转子工作原理图15 接着来看步进电机是如何旋转起来的。(1)、如A相通电,B、C相不通电时,由于磁场作用,齿1与A对齐(最大磁导率、最小磁阻),转子不受任何力。(2)、如B相通电,A、C相不通电时,齿2应与B对齐,此时转子向 右 移 过 1/3T,齿 3与 C偏 移 为 1/3T,齿 4与 A偏 移(T-1/3T)=2/3T。(3)、如C相通电,A、B相不通电,齿3应与C对齐,转子又向右移过1/3T,此时齿4与A偏移为1/3T对齐。(4)、如A相通电,B、C相不通电,齿4与A对齐,转子又向右移过1/3T。这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A、B、C、A的顺序通电,每来一个脉冲电机就移位1/3T,方向向右旋转;如果按A、C、B、A的顺序通电,电机就反转。16 由由此此可可见见,步步进进电电机机的的位位置置和和速速度度与与导导电电次次数数(脉脉冲冲数数)和和频频率率成一一对应关系,而方向由导电顺序决定。成一一对应关系,而方向由导电顺序决定。不过,出于对力矩、平稳、噪音及减少角度等方面的考虑,电机定子往往采用AABBBCCCAA的导电顺序,将原来每步移位1/3T改变为1/6T,甚至可以通过二相电流不同的组合,使移位由1/3T变为1/12T、1/24T。不难看出,电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏1/m、2/m(m-1)/m,并且导电按一定的相序,就能控制电机正反转,这是步进电机旋转的物理条件。只要符合这一条件理论上可以制造任何相数的步进电机。出于成本等多方面考虑,市场上的步机电机一般以二、三、四、五相为多。根据以上对步机电机工作原理的分析,可以引出以下一些步进电机的基本参数:17电机固有步距角:表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如0.9/1.8(表示半步工作时为0.9、整步工作时为1.8),这个步距角可以称之为“电机固有步距角”,它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关。步进电机的相数。是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,其步距角也不同,一般二相电机的步距角为0.9/1.8、三相的为0.75/1.5、五相的为0.36/0.72。在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步距角的要求。如果使用细分驱动器,则相数将变得没有意义,用户只需在驱动器上改变细分数,就可以改变步距角。18保持转矩(HOLDING TORQUE):是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。例如,标记为的步进电机,是指该步进电机的保持转矩为。以下是步进电机的一些主要特点:(1)、一般步进电机的精度为步距角的3-5%,且不累积。(2)、步进电机外表允许的最高温度。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在130以上,有的甚至高达200以上,所以步进电机外表温度在8090完全正常。19(3)、步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。(4)、步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。步进电机有一个技术参数为空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。读者若要对步进电机的结构和工作原理做进一步了解,请参阅参考文献【44】和【45】中的相关章节。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途,伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域内得到应用。2019.6.2 TA8435H19.6.2 TA8435H步进电机驱动芯片步进电机驱动芯片 TA8435H是东芝(TOSHIBA)公司生产的双极性单片正弦细分二相步进电机驱动专用芯片,采用HZIP25封装形式,如图19-6所示给出了TA8435H的实物图。TA8435H可以驱动二相步进电机,且电路简单、工作可靠。该芯片还具有以下特点【46】:图图19-6 TA8435H19-6 TA8435H步进电机驱动芯片实物图步进电机驱动芯片实物图21(1)、工作电压范围宽,达到1040V。(2)、输出电流可达1.5A(平均)和2.5A(峰值)。(3)、具有整步、半步、1/4 细分和1/8细分运行方式可供选择。(4)、采用脉宽调制式斩波驱动方式。(5)、具有正/反转控制功能。(6)、带有复位和使能引脚。(7)、可选择使用单时钟输入或双时钟输入。图19-7是TA8435H步进电机驱动芯片内部功能及引脚图,各引脚功能被列在表19-1中。从图19-7中可以看出,TA8435H主要由1个解码器、2个桥式驱动电路、2个输出电流控制电路、1个最大电流限制电路、1个斩波器和2个电压比较器等功能模块组成。22图图19-7 19-7 TA84TA8435H35H步进步进电机电机驱动驱动芯片芯片内部内部功能功能及引及引脚图脚图23引脚引脚引脚引脚标识标识标识标识名称名称名称名称功能功能功能功能1 1S-GNDS-GND信号地信号地2 2nRESETnRESET复位端复位端低电平有效低电平有效,当该端有效时当该端有效时,电路复位到起始状态电路复位到起始状态,此时在任何激此时在任何激励方式下励方式下,输出各相都置于它们的原点输出各相都置于它们的原点3 3nENABLnENABLE E使能端使能端低电平有效低电平有效;当该端为高电平时电路处于维持状态当该端为高电平时电路处于维持状态,此时各相输此时各相输出被强制关闭出被强制关闭4 4OSCOSC斩波频率斩波频率输入输入该脚外接电容的典型值可决定芯片内部驱动级的斩波频该脚外接电容的典型值可决定芯片内部驱动级的斩波频(15kHz(15kHz80kHz),80kHz),计算公式为计算公式为:fosc=1/(5.15 COSC),:fosc=1/(5.15 COSC),式中式中,COSC COSC 的单位为的单位为F,fOSCF,fOSC的单位为的单位为kHzkHz。5 5CW/CW/CCWCCW正、反转控制引脚正、反转控制引脚6 6CLKCLK2 2时钟时钟2 2时钟输入端时钟输入端7 7CLKCLK1 1时钟时钟1 1时钟输入端时钟输入端,可选择单时钟输入或双时钟输入可选择单时钟输入或双时钟输入,最大时钟输入频最大时钟输入频率为率为5kHz 5kHz 8 8MM1 1激励方式激励方式选择激励方式选择激励方式9 9MM2 2激励方式激励方式00 00 表示步进电机工作在整步方式表示步进电机工作在整步方式,10,10 为半步方式为半步方式,01,01 为为1/4 1/4 细分方式细分方式,11,11 为为1/8 1/8 细分方式细分方式;1010REFINREFINV Vnfnf输入控输入控制制接高电平时接高电平时V Vnfnf为为0.8V,0.8V,接低电平时接低电平时V Vnfnf为为0.5V0.5V11111111nMOnMOnMOnMO输出监视输出监视输出监视输出监视用于监视输出电流峰值位置用于监视输出电流峰值位置用于监视输出电流峰值位置用于监视输出电流峰值位置;2412121212NCNC未分配未分配使用时悬空使用时悬空13131313VCCVCC供电供电逻辑电路供电引脚逻辑电路供电引脚,一般为一般为5V5V14141414NCNC未分配未分配使用时悬空使用时悬空15151515V VmbmbB B 相负载电源端相负载电源端16161616nBnBB B相反相输出引脚相反相输出引脚17171717P-GND-BP-GND-B B B相负载地相负载地18181818N NfbfbB B 相电流检相电流检测端测端由该引脚外接电阻和由该引脚外接电阻和REF-IN REF-IN 引脚控制的输出电流引脚控制的输出电流为为:I Infbnfb=V=Vnfbnfb/R/Rnfbnfb 19191919B BB B相输出引脚相输出引脚;20202020nAnAA A相反相输出引脚相反相输出引脚21212121N NfafaA A相电流检相电流检测端测端由该引脚外接电阻和由该引脚外接电阻和REF-IN REF-IN 引脚控制的输出电流为引脚控制的输出电流为:I Infanfa=V=Vnfanfa/R/Rnfa nfa 22222222P-GND-AP-GND-AA A相负载地相负载地23232323A AA A相输出引脚相输出引脚24242424V VmamaA A相负载电源端相负载电源端25252525NCNC未分配未分配使用时悬空使用时悬空表表19-1 TA8435H步进电机驱动芯片各步进电机驱动芯片各引脚引脚功能功能2519.6.3 TA8435H19.6.3 TA8435H对两相步进电机的细分控制对两相步进电机的细分控制图图19-8 TA8435H19-8 TA8435H对两相步进电机的细分控制系统功能图对两相步进电机的细分控制系统功能图26 步进电机有两种工作方式,即整步方式和半步方式。以步距角1.8的两相混合式步进电机为例,若采用双极性驱动方式【44】,则可以将步进电机的两相视作四相进行控制。双极性驱动方式是指对绕组进行正向和反向通电,两两相相混混合合式式步步进进电电机机必必须须采采用用双双极极性性驱动方式。驱动方式。图19-8是TA8435H对两相步进电机细分控制的系统功能图,A和nA是电机的一相,B和nB是电机的另一相,由TA8435H的相应输出给出控制脉冲信号。在整步方式下【47】,步进电机每接收一个脉冲,转子旋转1.8,旋转一周,则需要200个脉冲。在半步方式下,步进电机每接收一个脉冲,旋转0.9,旋转一周,则需要400个脉冲。控制步进电机的旋转必须按一定的时序对步进电机引入线输入给定脉冲。以上述两相四线制步进电机为例,其半步工作方式和整步工作方式的控制时序如图19-9所示。27图图19-9 19-9 步进电机整步方式和半步方式时序图步进电机整步方式和半步方式时序图28 步进电机各相绕组的电流是按照给定工作方式的节拍轮流通电的,绕组的通电是按照通电断电再通电再断电的顺序循环进行,如果将这一过程复杂化,即每次通电时电流的幅值并不是一次升到位,而是分级、逐级上升。同样,每次断电时电流也不是一次降到0,而是逐级下降。由于电磁力的大小与绕组通电电流的大小有关,当通电相的电流并不马上升到位,而断电相的电流并不立即降为0时,它们所产生的磁场合力会使转子有一个新的平衡位置,这个新的平衡位置限定在原来步距角的范围内,此时绕组中电流的波形不再是一个近似方波,而是一个被分成N个阶段的近似阶梯波,则电流每升或降一个阶梯时,转子转动一小步,当转子按照这样的规律转过N小步时,实际上相当于它转过一个步距角,这种将一个步距角细分成若干小步的驱动方法称为细分驱动。29图图19-10 TA8435H19-10 TA8435H的细分控制原理图的细分控制原理图30 结合图19-7,下面对TA8435H的细分控制原理来进行分析。在图19-7中,第一个CLK(CLK1或CLK2)时钟周期内,解码器打开桥式驱动电路,电流从Vma流经电机的线圈后经Rnfa后与地构成回路,由于线圈电感的作用,电流是逐渐增大的,所以Rnfa上的电压也随之上升。当Rnfa上的电压Vnfa大于比较器正端的电压时,比较器使桥式驱动电路关闭,电机线圈上的电流IA开始衰减,Rnfa上的电压也相应减小;当电压值小于比较器正向电压时,桥式驱动电路又重新导通,如此循环,电流不断的上升和下降形成锯齿波,其波形如图19-10中IA波形的第1段。TA8435H正常工作时,其内部另斩波器的频率很高,一般在几十kHz,其频率大小与所选用电容有关。在OSC作用下,电流锯齿波纹非常小,可以近似认为输出电流是直流。31 在第2个时钟周期开始时,输出给步进电机线圈电流的控制电压UA达到第2阶段,比较器正向电压也相应为第2阶段的电压,因此,流经步进电机线圈的电流从第l阶段也升至第2阶段。电流波形如图19-10中IA的第2部分。TA8435H的工作原理在第3、4时钟周期与第1、2是一样的,只是又升高比较器正向电压而已,输出电流波形如图19-10中IA的第3、4部分。如此最终形成阶梯电流,加在线圈B上的电流,如图19-10中IB。在CLK的一个时钟周期内,流经线圈A和线圈B的电流共同作用下,步进电机运转一个细分步。32 由以上介绍可知,细分工作方式的优点是显而易见的,即使用细分方式可以提高步进电机的控制精度,降低步进电机的振动和噪声。因此,步进电机在低频工作时,可以选用1/4细分或1/8细分模式,以降低系统的振动和噪声。当系统需要在高速工作时,细分模式有可能达不到要求的运行速度,这时可以选用整步或半步方式。在速度较高时,步进电机运行在整步或半步工作模式下,可以达到稳定、振动和噪声都小的要求。实践证明【48】,步进电机细分驱动技术可以减小步进电机的步距角,提高电机运行的平稳性,增加控制的灵活性等。3319.6.4 19.6.4 开发板上两相步进电机转速调节的实现开发板上两相步进电机转速调节的实现 图19-8是PMY单片机开发板上TA8435H对两相混合式步进电机的细分控制的系统功能图,为了充分利用板上资源,这里可以用并口扩展芯片82C55的PB口来实现对TA8435H的控制。82C55芯片PB口的PB0和PB1分别与TA8435H的时钟输入CLKl和CLK2相连,这两个时钟的最大频率不能超过5kHz。控制时钟的频率,即可控制电机转动速率。本项目中的节C语言源程序中利用了定时器T0实现对时钟CLK2的频率控制,由于主程序在初始化时将CLKl置为高电平,因此项目中采用的是单时钟方式,T0的设置代码如下:34void Timer0_init()/定时器T0初始化 TMOD=0 x01;/定时器T0工作在方式1 TH0=(65536-Tset)/256;/定时器T0计数值高位 TL0=(65536-Tset)%256;/定时器T0计数值低位 程序中的符号常量Tset是定时器T0的时间设置常数,Tset取值越大,控制时钟CLK2的频率越小。可以通过修改整个程序开头的预定义部分:#define Tset 3000 设置Tset的值。同时,由于定时器T0工作在方式1,所以在定时器T0中断服务程序中,定时器计数器TH0和TL0的值也会随着Tset值的改变而被修改,相关程序如下:35void t0(void)interrupt 1 using 0 /定时器T0中断服务程序,产生CLK2时钟脉冲 ET0=0;/关定时器T0中断,防止其它T0中断打断中断处理过程 TH0=(65536-Tset)/256;/工作方式1要求定时器T0计数值高位被再次赋值 TL0=(65536-Tset)%256;/工作方式1要求定时器T0计数值低位被再次赋值 36 由于Tset是常数,在源程序中修改Tset值后,程序必须被重新编译一次。如果将Tset设置成变量,通过设置键值改变它的大小,则定时器T0并不会象意料中的改变TH0和TL0的值,这说明定时器计数器TH0和TL0中的设置值必须为常量。另一种调节步进电机转速的方法就是采用延时程序产生时钟CLK2,这时CLK2的频率可以在程序中被连续设置,其缺点是延时程序会占用大量的主程序资源,影响系统对其他事件的响应。3719.6.5 19.6.5 开发板上两相步进电机启动控制开发板上两相步进电机启动控制 除了通过TA8435H对两相步进电机进行调速控制之外,还可以通过它完成对两相步进电机的启动、正反转和细分控制。定时器T0产生的CLK2时钟是TA8435H的时钟输入,若无CLK1或CLK2时钟信号产生,则TA8435H不会驱动两相步进电机的运行,因此可以通过启动和关闭单片机定时器T0的方式来控制步进电机的开合。在主程序初始化时,为了满足开机后步进电机处于关机状态,应在定时器T0初始化完毕后即刻关闭:TR0=0;/关定时器T0,无CLK2时钟输出38 只有通过相应的按键,才能使得步进电机启动或停止运行:case 1:TR0=1;/开定时器T0,启动CLK2时钟输出,运行步进电机 ;PA8255=0 x00;/打开8个LED灯,表示步进电机运行 break;case 4:TR0=0;/TR0=0,步进电机关机 ;PA8255=0 xff;/8个LED灯全灭,表示步进电机停转 break;因此开发板上的S4键具有将定时器T0关闭的功能;S1键则可以打开定时器T0。8个LED灯可以作为步进电机运行的状态指示,步进电机停转时所有灯都灭;运行时则全部点亮。3919.6.6 19.6.6 开发板上两相步进电机正反转控制开发板上两相步进电机正反转控制 在 图 19-8中,与 82C55并 口 扩 展 芯 片 PB2脚 相 连 的 是TA8435H的CW/CCW引脚,由表19-1可知,该引脚控制步进电机的正、反转。高电平为CW,控制电机正转;低电平为CCW,表示电机反转。前文已经介绍过,STC单片机对自己的端口进行读写时,既可以单独对某个引脚给出控制信号,也可通过总线读写方式进行控制。由于本项目是通过82C55对TA8435H进行输出控制的,不能选择端口控制方式,必须通过总线控制方式实现对步进电机的正、反转控制,以下是步进电机正反转控制的具体实现:40case 5:PB8255|=0 x04;/设置PB2:CW/CWW=1,电机正转 ;break;case 8:PB8255&=0 xfb;/设置PB2:CW/CWW=0,电机反转 ;break;项目开发板上的S5键完成电机正转的控制,如何通过设置PB2脚为高电平而不影响PB口的其它控制信号的状态呢?程序是通过用PB82C55端口与0 x04按位相或实现的,如图19-11所示,这种方法既能够将PB2脚设置为高电平也会保持PB端口的其它控制信号状态。同理,用数字0 xfb与PB82C55端口按位相与,实现将PB2脚设置为低电平同时保持PB端口的其它控制信号状态不变,开发板上的S8键完成这一功能选择。41图图19-11 19-11 程序对程序对82C5582C55的的PB2PB2脚高低电平设置原理图脚高低电平设置原理图4219.6.7 19.6.7 开发板上两相步进电机的细分控制开发板上两相步进电机的细分控制 最后,看一下程序是如何实现两相步进电机的细分控制。还是在图19-8中,82C55的PB5与TA8435H的REFIN相连,REFIN为高电平时,Nfa和Nfb的输出电压为,REFIN为低电平时,Nfa和Nfb输出电压为(见表19-1),这2个引脚控制步进电机的输入电流。以Nfa端为例,电流Infa的大小与Nfa端外接电阻Rnfa的关系式为:Infa=Vnfa/Rnfa。主程序中,设REFIN=l:PB8255=0 x07;/PB5:EFIN=0;PB4:M2=0;PB3:M1=0;PB2:CW/CWW=1;PB1:CLK2=1;PB0:CLK1=1若选定步进电机额定电流为0.4 A,Rl、R2则必须选用、2W的大功率电阻。43 与82C55并口扩展芯片PB3和P4脚相连的是TA8435H的M1和M2引脚,由表19-1可知,M1和M2决定电机的转动方式,即M1=0、M2=0,电机按整步方式运转;Ml=1、M2=0,电机按半步方式运转;M1=0、M2=1,电机按1/4细分方式运转;Ml=1、M2=1,电机按l/8步细分方式运转。引入程序:case 9:PB8255&=0 xe7;/设置PB4:M2=0;PB3:M1=0;步进电机整步方式运行 ;break;case 10:PB8255&=0 xef;/设置PB4:M2=0;PB8255|=0 x08;/设置PB3:M1=1;步进电机半步方式运行 ;break;44case 11:PB8255&=0 xf7;/设置PB3:M1=0;PB8255|=0 x10;/设置PB4:M2=1;步进电机1/4细分方式运行 ;break;case 12:PB8255|=0 x18;/设置PB4:M2=0;PB3:M1=0;步进电机1/8细分方式运行 ;break;程序中的这4条case语句,实现了S9、S10、S11和S12键分别对步进电机整步、半步、1/4细分和1/8细分方式运行的选择,对M1和M2引脚高低电平的设置原理请读者参阅图19-11所示的示例或节的相关内容。4519.7 19.7 项目扩展任务项目扩展任务 理解本项目中关于单片机对步进电机控制的节解释说明,以组或个人为单位,参照本章例子程序设计以下程序。仿照本项目例程,利用现有板上资源,通过采用延时程序产生时钟CLK2,实现时钟CLK2的频率可以在程序中被连续设置,以达到连续调节步进电机转速的目的。4647