




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电机SpTA控制算法PosAddActualPositionTargetPosition目标位置,用户输入步进电机运动的步数电机SpTA控制算法SpTA IP Steps per Time algorithm,它与步进电机 S形曲线控制算不同,S形曲线控制算法思想是根据电机的步数来计算时间,即所谓的Time per Steps该控制算法先计算电机每一步运行频率,再根据运动曲线计算得到时间参数,而SpTA算法则是以时间计算为中心,根据时间来计算运动步数相关参数,它 的做法是将电机的运动时间分割成若干个合适的小时间片,在每个时间片内它 都将速度参数加到位置参数上,如果位置参数溢出,它就会输出一个脉
2、冲,速 度参数根据加速度参数和时间而改变,随着时间推移,速度参数越来越大,位 置参数溢出频率越来越高,则电机的运行频率也越来越高错谡!未找到引用源。为了实 现根据速度参数控制脉冲输出频率,需要定义以下变量:PosAccumulator 位置累加器位置增加值实际位置在时间片到来后进行如下计算:PosAccumulator += ActualVelocity;位置累加器 + 实际速度PosAdd = PosAccumulator >> 17;/移位,判断速度累加器是否溢出PosAccumulator -= PosAdd << 17;/位置累加器去掉溢出部分if(PosAdd
3、! =0)/位置累加器溢出,产生一个不进脉冲ActualPosition+=1;产生一个步进脉冲;这样控制器输出的脉冲频率就随着实际速度的增大而增高,随着实际速度VelAccumulatorActualAccelerationVelAddActualVelocityTargetvelocity减小而降低。为了根据时间实现实际速度的变化,需要定义以下变量:速度累加器实际加速度,用户设定的加速度数值速度增加值实际速度目标速度在时间片到来后进行如下计算:if(ActualVelocity!=TargetVelocity)(/如果实际速度!=目标速度VelAccumulator+=ActualAcce
4、leration;速度累加器 + 实际加速度VelAdd = VelAccumulator >> 17;移位,判断速度累加器是否溢出VelAccumulator-=VelAdd << 17;/速度累加器去掉溢出部分if(ActualVelocity<TargetVelocity) (/汝口果实际速度 <目标速度ActualVelocity=MIN(ActualVelocity+VelAdd, TargetVelocity); / 实际速度为两者中小者 else if(ActualVelocity>TargetVelocity)(/汝口果实际速度 >
5、;大于目标速度ActualVelocity=MAX(ActualVelocity-VelAdd, TargetVelocity);/ 实际速度为两者中大者) else(/实际速度=目标速度,不需要执行加加速算法VelAccumulator=0;VelAdd=0;)这样,就实现了通过时间和目标速度改变电机实际速度参数,进而间接改变控制器输出脉冲的频率,时间参数是随着电机运行而递增的,目标速度参数数值是使用一个状态机根据当前的运行状态来确定的,该状态机具有四种状态:0: RAMP_IDLE-空闲状态1: RAMP_ACCELERATE-力口速状态2: RAMP_DRIVING -匀速状态3: RA
6、MP_DECELERATE-减速状态状态状态切换及其条件如图3-11所示:SpTA算法同样是通过定时器来实现的,与 S形曲线算法不同的是它没有使 用定时器的PWM功能,仅仅是通过定时器定时中断来产生一个时间片,在定 时器中断服务子程序中完成上述算法,在需要时,通过控制GPIO产生一个步进脉冲。SpTA与S型算法的比较:从上面的两种算法可以看出,传统的 S形曲线控制算法实现比较简单,但 是它将要输出的脉冲频率(周期)和脉冲个数存储在RAM里,占用了一定的内存,且要想实现更好的控制效果,S形曲线的离散化程度越高,占用的 RAM 越大,如果要改变电机的运行速度曲线,需要重新计算每个阶段脉冲频率和脉
7、冲个数,计算时使用了浮点数,运算量较大。SpTA算法是根据用户输入的加速度和目标速度以及设定的总脉冲数,自行 决定如何输出达到最佳运动效果的脉冲,它不需要占用额外的RAM来存储每个阶段脉冲频率和脉冲个数,算法实现基本上都是 MCU拿手”的加减法和移位 运算,算法效率高,但是该算法为了达到较好的运动控制,需要一个时间片很 小的定时中断来调整数据,这样在输出一个脉冲期间要频繁产生中断,尤其是 在电机起步和停止的时候,脉冲频率低,但是定时器中断的次数很高,这样 CPU的效率就会被定时器中断拉低。从算法计算量、占用RAM大小、控制效果和CPU效率上,两种控制算法 对比分析如表3.2所示,综合考虑二者的优缺点,本系统中对于试剂盘、样本 盘、反应盘等负载较大的电机使用 SpTA控制算法,其它负载使用S形曲线控 制算法。S形曲线控制算法SpTA控制算法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 听力音符测试题及答案
- 乡村特岗考试试题及答案
- 2024年老年三区护理理论试题及答案
- (2025)工业机器人系统操作员技术及理论知识竞赛试题库(附含参考答案)
- 三级营销员模考试题含答案
- 免疫规划培训试题及答案2024
- 2025年建筑师专业注册资格证考试题库与答案
- 2025年学校、托幼机构传染病防控工作培训考试试题(附答案)
- 《汽车使用性能与检测》配套教学检测:期末测试题
- 早产的临床诊断与治疗指南考核试题及答案
- 农业与食品行业营销方案
- CBL教学法应用介绍
- 提高肋骨骨折影像学诊断
- 东华临床科研数据管理系统解决方案白皮书
- 辽宁省丹东市《教师基本素养及教育教学综合能力知识》教师教育
- 2023年全国保密知识竞赛全套复习题库及答案(共460道题)
- (推荐下载)家族性结肠息肉病教学课件
- 水生产企业(自来水公司)安全生产责任制(含安全手册)
- 《材料成型装备及自动化》课程大纲
- 临时用电JSA分析表
- 如何提高护士对患者病情掌握的知晓率
评论
0/150
提交评论