新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种嵌入式运动控制器的实现

一种嵌入式运动控制器的实现

作者: 时间:2011-09-07 来源:网络 收藏
3 系统软件设计

本文引用地址:https://www.eepw.com.cn/article/150256.htm

  软件设计采用模块化设计方法,程序的总体结构采用以数据管理和位置速度控制为主,以I/O端口控制、逻辑控制、插补运算等为中断任务或子函数任务的形式。位置速度控制主要负责对实时状态的监控与调节;I/O端口控制主要负责扫描输入端口、设置输出端口等辅助性任务。

  DSP控制程序主要由一个定时中断构成,主程序启动后,首先完成对TMS320F2812的初始化及系统的一些基本配置,并处于等待状态。控制功能是在伺服中断服务程序中的。主程序和伺服中断服务程序基本流程如图4所示。

  

运动控制器的主程序和伺服中断服务程序基本流程

  FPGA主要完成的精插补功能,采用数字积分法进行插补。把数字积分法分为3个状态:

  (1)状态WAIT,等待插补信号;

  (2)状态L1,判断总的脉冲数;

  (3)状态L2,积分累加器累加一次,如有溢出,相应的输出脉冲为高电平,剩余累加次数减1。

  数字积分法的有限状态机如图5所示。

  

 数字积分法的有限状态机

  触发条件T1:没有启动信号,下一状态为WAIT,无操作;

  触发条件T2:有启动信号,下一状态为L1,操作为初始化各寄存器,置忙信号;

  触发条件T3:剩余累加次数大于0,下一状态为L2,操作为各轴输出脉冲为低电平;

  触发条件T4:剩余累加次数为0,下一状态为WAIT,操作为各轴输出脉冲为低电平,清忙标志;

  无触发条件:下一状态为L1。

  具体方法为:时序电路产生的插补脉冲作为此模块的累加脉冲,每累加1次,剩余累加次数减1。当剩余累加次数为0时,此次插补过程结束。

  4 结语

  该运动的结构设计可以模块化和易于扩展,这样可以满足用户的各种需求。在软件部分中,采用有限状态机的插补方法,在插补速度处理环节做了优化,使脉冲输出更加稳定。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

伺服电机相关文章:伺服电机工作原理



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭