(步进电机智能小车控制系统.docVIP

  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文档。上传文档
查看更多
(步进电机智能小车控制系统

引言 步进电机是通过输入脉冲信号来进行控制,电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。随着计算机技术的进步和生产自动化程度的提高,步进电机在国民经济各领域中被广泛使用。 在很多的实际应用中,常常需要多台步进电机工作于同一个系统中,但是每台步进电机的传动距离却各不相同。这种情况下,可以采用每台电机单独运行,顺序控制的方法,这种方法明显的缺点是效率低。针对这种情况,本文提出利用STM32系列单片机的先进特性如DMA以及多条PWM输出通道,在同一系统内进行多台步进电机同步运行的优化控制系统研究。 系统硬件设计 本系统采用STM32F10X系列单片机作为主控芯片,该芯片是一款ARM Cortex-M3 内核的处理器,很适合在控制领域应用,具有速度快,效率高,价格低,以及丰富的外设功能等优点。同时STM32具有自己独特的优点:在Cortex-M3架构上进行了多项改进,在提升性能的同时,所有新功能都具有较低的功耗,其内核电压为1.8V,芯片电压为3.3V,可以选择睡眠模式、待机模式,保证低功耗应用的要求;相对于ARM系列的其他芯片,STM32运行速度更快;7个TIM最多可以产生28个精准的PWM信号,方便地用于步进电机控制;丰富的通信模块便于上位机进行通信[1]。另外STM32还配备了相当完善的DMA资源:两个DMA控制器共有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或者多个外设对存储器访问的DMA请求,还有一个仲裁器来协调各个DMA请求的优先权。 根据使用步进电机的实际情况,应该采用相对于的步进驱动器。步进驱动器分为2相步进驱动器、3相步进驱动器、5相步进驱动器等不同种类,通常情况下,其驱动电流可调,驱动电流的细分数也可调。 本系统采用3台两相四线制步进电机,采用2HB504MA来驱动。系统总体方案如图1所示。 系统软件设计 2.1 多台步进电机同步运行控制方法 要实现多台步进电机的同步运行,就需要实现多台步进电机的同时启动、加速、匀速、减速及制动。然而众所周知,步进电机在启动、停止以及改变速度都需要一个渐进的过程,它受到迁入频率、迁出频率等技术指标的限制,因此,控制步进电机驱动器的步进脉冲信号必须是一种频率可控,脉冲数量可控的脉冲信号。一个典型的步进电机的运行过程如图2所示,T1之前的时刻是步进电机的加速段,步进频率从V0上升到了V1,这里可以是线性升速或者其他升速曲线。T1到T2是匀速运行阶段,步进频率不变。T2到T3时刻是步进电机减速段[2]。如图所示 如果两台步进电机每次调整的PWM信号频率运行的时间相同,同时启动后的加速、匀速、减速过程经过相同的调整次数,则同时停止运转。即A电机各次调整后运行时间为:,B电机各次调整后运行时间为:,使,则两电机可同步完成整个运动过程。 要实现对 PWM 脉冲频率的控制,就要先明确它的决定因素。我们已知其决定因素包括 :f(时钟频率)、M(预分频值)、T(计数周期)。其中 f 和 T 通常是不变的,这样我们只有通过改变 M 来实现输出脉冲频率的调整。 首先把其中一台电机作为基准,结合实际需求给电机依次设定6个M值来完成运行过程,其值为。根据公式可求出各预分频值对应的电机步速。 每个步速运行下所走过的步数分别设置为。在各步速下运行时,步进电机走过的步速占总步速的比重可以调整。进一步可得出 第2台步进电机每个步速运行下所走过的步进分别设。 Kede 在程序设计中,通过计算并设计并设定,,t,即可实现对步进电机的同步控制。依照此类方法可以实现对多台步进电机的同步控制[]。 2.2 通过DMA功能实现优化控制 通常是通过定时器中断方式产生脉冲,升速或减速的频率和步数已经以数组的方式存储在单片机的FLASH中,数组中的数据必须结合电机的资料和反复的实验来确定最佳的值。把升减速表的第一个值装入定时器TIM1的装载寄存器,启动定时器TIM1,而后在每个定时器中断到来时,首先输出一个脉冲信号,然后根据已走的步数查表得出下一步进脉冲信号需要的频率来更新定时器的装载值,最后退出中断[]。这种方法的优点是适应性好,在中断中可以实现各种算法。缺点是CPU的占用率高,尤其是控制那些使用高细分数的步进电机控制器在高转速时,需要很高频率的脉冲信号,单片机运算时间被定时器中断大量占用,特别是系统中存在多台步进电机同时运行的情况。如图3所示,定时器中断与步进脉冲的关系。 定时器中断与步进脉冲的关系 针对这种多台步进电机同时运行,CPU占用率过高的情况,提出通过DMA功能实现优化控制。CPU最重要的工作是进行数据的运算,搬运数

文档评论(0)

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

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

1亿VIP精品文档

相关文档