首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

采用DSP和STM32的双核智能电液伺服控制器(2)

采用DSP和STM32的双核智能电液伺服控制器(2)

2 软件设计  2.1 STM32主程序设计
  待系统上电初始化完成后,首先执行故障自诊断程序,当STM32F103RET6(以下简称STM32)无故障且外围硬件电路无故障时,启动STM32内部A/D转换器,对指令信号(或本地给定信号)与反馈信号进行采样和模数转换,并将采集的数据通过SPI通信传给DSP进行运算。DSP再将计算结果通过SPI传给STM32,STM32经过内部的D/A变换输出模拟量来控制电液伺服阀,并可以通过触摸屏查询各种参数、输出控制量的曲线图,判断计算偏差的大小。若偏差为0,则退出程序;反之,则继续执行以上过程,直至偏差为0.系统工作的流程如图4所示。


  控制器的软件设计采用模块化编程方案,软件由STM32部分和DSP部分组成,STM32部分包括了系统初始化子程序、A/D转换子程序、D/A转换子程序、系统自检报警子程序、SPI通信子程序。DSP部分包括控制算法子程序、以太网通信子程序、EEPROM存储子程序、SPI数据通信子程序、系统初始化设置子程序。
  2.2 DSP主程序设计
  DSP部分的主程序主要的功能是:与STM32进行SPI通信,将STM32采集的数据通过控制算法计算出控制输出量和以太网通信。在主函数中,首先禁用DSP内部看门狗,初始化DSP时钟;其次,初始化DSP各个内部模块,然后禁用全局中断,初始化中断向量表,根据需求对中断进行配置;待所有初始化完成后再打开全局中断,最后程序进入无限循环等待SPI和以太网中断。主程序流程图如图5所示。


  3 系统测试
  本系统设计了参数在线设定、故障自检测等功能,在系统整体的测试过程中,液晶显示出故障的部分。经过各项测试,测试结果表明该控制器运行可靠,具备良好的稳态性能和动态品质,能够获得精密且实时的控制效果。表1为伺服控制器瞬时测试结果。
  其测试条件为:本地控制工作模式下,输入信号均为4~20 mA,且伺服阀为正作用,位置反馈为正作用。根据伺服阀电流的变化趋势来确认控制算法是否正确,在整个测试过程中,当指令信号小于反馈信号时。伺服阀电流呈现减小变化的趋势;当指令信号大于反馈信号时,伺服阀电流呈现增大变化的趋势。根据变化趋势得出控制算法符合实际的调节规律。本伺服控制器的线性拟合度可达到0.078%,能完全满足线性拟合度优于0.1%的要求,完全达到了预期设定的目标。
  结语
  本课题根据电液伺服控制系统的性能要求,研制了一款采用32位浮点DSP芯片TMS320F28335和Cortex-M3为内核的ARM芯片STM32F103RE T6为控制核心的智能伺服控制器,并且通过系统测试证明了本控制器的稳定性、可靠性及实用性。
继承事业,薪火相传
返回列表