步进电机试验1试验目的1通过试验进一步熟悉430微处理器.DOCVIP

步进电机试验1试验目的1通过试验进一步熟悉430微处理器.DOC

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
步进电机试验1试验目的1通过试验进一步熟悉430微处理器

步进电机实验(2) 实验目的: 通过实验进一步熟悉430微处理器的知识; 了解步进电机的原理以及驱动芯片L298的使用方法; 理解L297原理及其使用方法。 实验内容: 实现步进电机开启、停止; 实现步进电机正转、反转;; 实现步进电机调速。 实验原理: 1、步进电机控制原理: 步进电机控制原理在步进电机实验(1)中已经阐述过,此处不再累述。在步进电机实验(1)中主要是在正确理解步进电机控制时序的基础上完成的,对时序分析能力和编程能力要求较高。本实验使用步进电机控制芯片L297,这个芯片可以自动产生控制时序,可以简化编程内容,同时也能够节省I/O口的使用。 2、步进电机控制芯片结构: L297是意大利SGS半导体公司生产的步进电机专用控制器,它能产生4相控制信号,可用于控制的两相双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式控制步进电机。 其主要控制引脚为: 4脚(A)——A相驱动信号。 5脚(INH1)——控制A相和B相的驱动极。6脚(B)—B相驱动信号。 7脚(C)—C相驱动信号。 8脚(INH2)—控制C相和D相的驱动级。作用同INH1相同。 9脚(D)—D相驱动信号。 10脚(ENABLE)—L297的使能输入端。 17脚(CW/CCW)—方向控制端。 18脚(CLOCK)—步进时钟输入端。19脚(HALF/FULL)——半步、全步方式选择端。20脚(RESET)——复位输入端。此引脚输入负脉冲时,初始状态 (ABCD=0101)。 图1 L297引脚图 3、L297驱动相序的产生 L297能产生单四拍、双四拍和四相八拍工作所需的适当相序。3种方式的驱动相序都可以很容易地根据变换器输出的格雷码的顺序产生,格雷码的顺序直接与四八拍(半步方式)相符合,只要在脚19输入一高电平即可得到。其波形图如图所示。 图 四相八拍模式波形图 通过交替跳过在八步顺序中的状态就可以得到全步工作方式,此时需在脚19接一低电平,前已述及根据变换器的状态可得到四拍或双四拍2种工作模式,如图,所示。 图? 单四拍模式波形图 ?图 双四拍模式波形图 ?图 图6 取反电路 工作原理为:430输出信号从R2输入即基极B输入,从集电极C接L297。当基极输出电压大于0.7V时,三极管导通,集电极端电压为低电平0V;当基极输出电压小于0.7V时,三极管截止,集电极端电压为高电平电平5V。这样就实现了电平调整,同时取反。 5、程序流程图: 实验步骤和结果: 1、按电路图连接电路; 调试程序并下载; 查看实验结果。 附录: /*********************************************************** 说明:P1.2-P1.6接按键,P2.4-P2.6口接L297相应控制管脚, P3.0是时钟输出口。通过按键改变步进电机转动状况 ************************************************************/ #include msp430x14x.h void delay(unsigned int); //函数声明 void Iint_Port1(void); unsigned int Speed=4; //设置速度为七档,默认为4档 unsigned int m; //延时参数声明 void Speed_Update(); //更新速度值 void main(void) { WDTCTL=WDTPW+WDTHOLD; //关闭看门狗 Iint_Port1(); P3DIR = BIT0; //时钟输出口,速度调整控制口 // P1DIR =~BIT3; P2DIR |= (BIT4+BIT5+BIT6); //p2.4-P2.6为控制信号输出口 P2OUT |= (BIT4+BIT5+BIT6); _EINT(); //开总中断允许 while(1) { P3OUT = ~BIT0; //时钟输出取反 Speed_Update(); //调取延时选择子函数 delay(m); //延时

文档评论(0)

wumanduo11 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档