《第19章_步进电机控制》.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《第19章_步进电机控制》.ppt

第十九讲 步进电机控制 19.0 项目演示效果 19.1 项目目标设计 19.2 项目任务 19.3 系统板上硬件连线 19.4 程序流程图 19.5 C语言源程序(略) 19.6 系统构成和程序分析 19.7 项目扩展任务 结合图19-7,下面对TA8435H的细分控制原理来进行分析。在图19-7中,第一个CLK(CLK1或CLK2)时钟周期内,解码器打开桥式驱动电路,电流从Vma流经电机的线圈后经Rnfa后与地构成回路,由于线圈电感的作用,电流是逐渐增大的,所以Rnfa上的电压也随之上升。当Rnfa上的电压Vnfa大于比较器正端的电压时,比较器使桥式驱动电路关闭,电机线圈上的电流IA开始衰减,Rnfa上的电压也相应减小;当电压值小于比较器正向电压时,桥式驱动电路又重新导通,如此循环,电流不断的上升和下降形成锯齿波,其波形如图19-10中IA波形的第1段。 TA8435H正常工作时,其内部另斩波器的频率很高,一般在几十kHz,其频率大小与所选用电容有关。在OSC作用下,电流锯齿波纹非常小,可以近似认为输出电流是直流。 在第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的电流共同作用下,步进电机运转一个细分步。 由以上介绍可知,细分工作方式的优点是显而易见的,即使用细分方式可以提高步进电机的控制精度,降低步进电机的振动和噪声。因此,步进电机在低频工作时,可以选用1/4细分或1/8细分模式,以降低系统的振动和噪声。 当系统需要在高速工作时,细分模式有可能达不到要求的运行速度,这时可以选用整步或半步方式。在速度较高时,步进电机运行在整步或半步工作模式下,可以达到稳定、振动和噪声都小的要求。实践证明【48】, 步进电机细分驱动技术可以减小步进电机的步距角, 提高电机运行的平稳性, 增加控制的灵活性等。 19.6.4 开发板上两相步进电机转速调节的实现 图19-8是PMY单片机开发板上TA8435H对两相混合式步进电机的细分控制的系统功能图,为了充分利用板上资源,这里可以用并口扩展芯片82C55的PB口来实现对TA8435H的控制。 82C55芯片PB口的PB0和PB1分别与TA8435H的时钟输入CLKl和CLK2相连,这两个时钟的最大频率不能超过5kHz。控制时钟的频率,即可控制电机转动速率。本项目中的19.5节C语言源程序中利用了定时器T0实现对时钟CLK2的频率控制,由于主程序在初始化时将CLKl置为高电平,因此项目中采用的是单时钟方式,T0的设置代码如下: void Timer0_init() //定时器T0初始化 { TMOD=0x01; //定时器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值的改变而被修改,相关程序如下: void t0(void) interrupt 1 using 0 //定时器T0中断服务程序,产生CLK2时钟脉冲 { ET0=0; //关定时器T0中断,防止其它T0中断打断中断处理过程 TH0=(65536-Tset)/256; //工作方式1要求定时器T0计数值高位被再次赋值 TL0=(65536-Tset)%256; //工作方式1要求定时器T0计数值低位被再次赋值 … } 由于Tset是常数,在源程序中修改Tset值后,程序必须被重新编译一次。如果将Tset设置成变量,通过设置键值改变它的大小,则定时器T0并不会象意料中的改变TH0和TL0的值,这说明定时器计数器T

文档评论(0)

seym + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档