基于STM32的机械手运动控制器的实现
2021-01-16
来源:好走旅游网
Smart Industry and Information Security 基于STM32的机械手运动控制器的实现 李向如,俞建定,汪沁 (宁波大学信息科学与工程学院,浙江宁波315211) 摘 要:本文以五轴机械手的设计实现为背景,提出了一种基于以Codex—M4为内核的微处理 器STM32F407构成的嵌入式运动控制器。本设计方案引入现场总线的通信方式,利用其高可靠性和 高通用性的特点.使得运动控制器具有高开放性和模块化的特点。文中提供的以CAN总线控制多个 私服电机的设计方法.使得硬件电路的设计大大简化,也使得通信的效率和可靠性大幅提升。测试表 明.控制器的性能稳定可靠,能够满足机械手控制的需求,同时本设计对工业控制领域有着实际的应 用指导意义。 关键词:CAN:多电机系统控制;现场总线 中图分类号:TN9 文献标识码:A 文章编号:1674—7720(2015)21—0007—02 引用格式:李向如,俞建定,汪沁.基于STM32的机械手运动控制器的实现[J].微型机与应用,2015,34(21):7—8,26. Implement of robot motion controller based on STM32 Li Xiangru,Yu Jianding,Wang Qin Science and Engineering,Ningbo University,Ningbo 31521 1,China) Abstract:This paper was based on the design and implementation of five~axis manipulator,and presented an embedded motion controller based on Cortex—M4 as the kernel of the microprocessor STM32F407.In this design scheme,the communication mode of ifeld bus was introduced,and its high reliability and high performance were used,which makes the motion controller have the characteristics of hi gh openness and modularity.In this paper,the design method of muhiple servo motors controlling by CAN bus was provided,which makes the design of the hardware circuit greatly simplified,and the eficifency and reliability of the communication greatly improved.The test shows that the performance of the controller is stable and reliable,and it has practical guidance significance to industialr control field. Key WOrds:CAN;multi—motor system control;fieldbus 0引言 产的效率和质量[21。在此背景下,本文设计了一种基于 STM32F407.采用以太网、CAN总线通信方式的五轴机 械手运动控制器 现代科学技术的不断发展。极大地推动了不同学科 的交叉与渗透,导致了工程领域的技术革命与改造。机 械手是近代自动控制领域出现的一项新技术.并已成为 现代机械制造生产系统中的一个重要组成部分 运动控 1机械手运动控制器总体方案 目前市场上的运动控制器依据不同的原则有不同 的分类。按照运动控制器的核心技术方案,主要有基于 制技术作为其中的核心组成部分,得到长足的发展.目 前已成为自动化技术的一个重要分支… 随着现代控制 技术的提高.运动控制器的出现在某种意义上满足了新 型数控系统的标准化、开放性的要求.为各种工业设备、 模拟电路型、基于微控制单元型、基于可编程逻辑(FP. GA/CLPD)型、基于数字信号处理(DSP)型等:按照运动 控制器的系统结构.可分为基于总线的运动控制器和独 立应用的运动控制器以及混合型的运动控制器[3】 本设 计方案采用基于微控制单元型和现场总线的设计方案. 机械手运动控制器的系统结构如图1所示 国防设备以及智能医疗装置自动化控制系统的研制和 改造提供了一个统一的硬件平台 运动控制器是运动控 制技术中最具代表性的产品.其性能优劣直接关系到生 《微型机与应用》2015年第34卷第21期 欢迎网上投稿WWW.pcachiHa.tom 7 Smart Industry and Information Security 制量的输出:通信模块一方面通过以太网接收手持器发 送的动作命令.另一方面根据命令通过CAN总线来控 制电机运动 运动控制器程序是整个控制系统的核心. 首先调用 ̄C/OS—lI操作系统中的函数完成任务调度和 内存管理.然后根据移植的LWIP协议完成以太网通 图1 机械手运动控制器的系统结构不意图 信.最后是CAN总线和其他I/O的硬件配置 整个程序 主要分为三个任务:以太网通信、数据处理和CAN通 由上图可以看出该系统主要是由手持器、控制电 路、电机驱动器及电机等几部分组成 本文主要讨论其 中的控制电路的设计.其运行过程大致是手持器通过以 太网接口把相应的动作指令发给控制电路.该过程采用 LWIP协议 然后控制电路在接收到指令之后.开始解析 指令.再通过CAN接口给伺服电机驱动器发送指令.该 过程采用CANoDen协议..伺服驱动器在得到指令后开始 驱动电机.在电机到达指定位置后停止 在整个系统运 行过程中.如何实现对五个电机的实时控制是整个系统 信 以太网任务主要完成与手持器的通信,接收上面发 送的数据与指令.采用查询方式来完成数据的接收 数 据处理任务根据以太网传送过来的数据和指令选择不 同的数据处理子函数.通过这些子函数来执行相应的动 作 CAN通信任务主要是与电机驱动器进行通信.把数 据处理任务传送过来的动作指令转换成CANopen协议 的指令形式进行通信 在这三个任务中.数据处理任务 是最为核心部分.其流程图如图3所示 的关键 为了保证数据在传输过程中的可靠性和实时 性.系统在设计时采用了CAN接口和以太网接口 2运动控制器的硬件电路设计 由于本设计采用现场总线进行通信.所以硬件电路 得到很大简化 本设计主要以STM32F407VGT6为处理 中心.通过以太网与手持器通信.以CAN总线与电机驱 动器通信 由图2可以看出.CANopen通信是在控制电 路和电机驱动器之间实现的 STM32F407VGT6基于高性 能ARM CortexTM—M432位RISC内核.可在高达168 MHz的频率下工作 Cortex—M4内核采用单一精密浮点 单元(FPU).支持所有ARM单一精密数据处理指令和 数据类型 该系列还能执行全套DSP指令.执行存储保 护单元(MPU).用以加强应用安全性[41。以太网采用的 图3数据处理任务流程图 是PHY控制器DP83848.DP83848是一个强大的、功能 齐全的单端口10/100物理层设备,提供低功耗管理,包 上图中的模式是指机械手的运动模式,其任务就是 根据以太网中的指令来判断机械手需要在什么模式中 括几个智能功率下降状态 这些低功耗模式可以提高整 体产品的可靠性.减少功耗 CAN的硬件实现包括两个 部分:与OSI模型中数据链路层和物理层分别对应的 CAN控制器和CAN收发器 本文采用基于Codex—M4内 核的STM32系列芯片作为控制电路的MCU,该芯片内 有CAN控制器,并且完全支持CAN 2.0协议。CAN收发 器选用CTM1050T.其内部集成了CAN隔离及收发器 件.将CAN控制器的逻辑电平转换为CAN总线的差分 电平.同时具有隔离功能机ESD保护作用。运动控制器 硬件结构示意图如图2所示【5J。 运行.然后调用子函数运行以太网传递下来的数据,再 通过CAN向驱动器发送指令。 4结束语 本文讨论了多轴运动控制器的设计。给出了基于 ARM和现场总线相结合的控制方案。现场总线集数字 通信、微机技术、网络技术于一身,从根本上突破了传统 的点对点式的模拟信号或数字一模拟信号控制的局限, 为真正的分散式控制集中式管理提供了技术保证。ARM 处理器具有高性能、低功耗、体积小等特点,两者的结合 可以缩短研发时间.提高研发效率.应用前景十分广泛。 参考文献 『11郗志刚,周宏甫.运动控制器的发展与现状【J].电气传动 自动化,2005,27(3):10—14. 『2]李澄,赵辉,聂保钱.基于CANopen协议实现多电机系 统实时控制【J】.微电机,2009(9):53—56. DP8洲器Hs3848 IlSCTM3 控制器l2 H lCT M105 0T 120 n Z 120Q 图2运动控制器硬件结构示意图 3运动控制器程序设计 运动控制器的程序部分主要分为两个模块:控制模 『3]张峰.嵌入式多轴运动控制器的研究与开发[D].青岛: (下转第26页) 块和通信模块。控制模块完成系统控制参数的计算和控 8 《微型机与应用》2015年第34卷第21期 Hardware and Architecture 其中 p是比例系数、 是积分系数。 e(k)=“(k)一u 其中u是设定值 H(k)=n(k一1)+Au(k) (2) (3) f开始1 一 === 系统缓启动l 调整电压幅值和频率参数 首先.为防止脉冲扰动.在AD采样后进行中值滤 波,若滤波后数据超过限定值,则程序立即终止,并发出 报警信号,否则根据式(2)计算输出与设定之间的偏差 e(k)的值,然后把式(2)的结果代入式(1)计算执行装 置位置的改变量△M(k)的值,在此基础上根据式(3)计 算出系统控制输出“(k)的值。把这个值转换成十六进 制的值写入SA4828的控制寄存器即可实现闭环反馈PI 控制,然后步进k自增.重复上述过程 传统的模拟式PI控制中设备的性能受外界温度、 湿度等环境因素影响很大.在实际环境中容易出现工作 不稳定的状况.用数字增量式PI控制策略则可完全解 决这个问题。Au(k)只决定执行装置位置的改变量。当 计算机出现故障时.执行机构仍保持在前一步的位置 上,这样安全性和可靠性就能大大提高。比例环节的作 用是对扰动作出快速反应:积分环节的作用是消除系统 静差,只要偏差不为零,它将通过积累作用影响控制量, 使偏差趋向于零.系统达到稳定 图4变频电源主程序流程图 }更新看门狗 1显示当前工作状态 =二二二][二二二 I=二二 l反馈数据PI整定I L。———— ————一 L 个流程,若一致,则不断更新看门狗,保持当前状态。 5结论 本文设计了一种智能型高精度电磁搅拌电源的控 制系统.基于LPC2368和SA4828的组合.突破了纯硬件 和纯软件设计的瓶颈。ARM主控制器完成通信、显示、 PI计算等事务性功能.SA4828在ARM的驱动信号下发 出6路幅值频率可调的SPWM波.实现了高精度配置灵 活的三相变频电源。为了消除外界扰动对输出的影响. 采用数字增量式PI控制策略.步进能快速消除扰动.即 使计算机出现故障.执行机构仍保持在前一步的位置 上.这样安全性和可靠性也得到了提高 参考文献 『11齐雅丽,蒋光霖,张国志.电磁搅拌对液态金属运动及 凝固组织的影响[J].铸造技术,2005,26(2):118—120. 【2]徐志跃.基于SA4828的变频器设计[J】.电气传动,2006, 36(1):14—16. 4程序设计方案 程序设计是电源系统的核心.它决定三相变频电源 输出电压的稳定度、精度以及动态响应速度等。系统主 程序采用模块化编程方法.图4所示为在主控模块的作 用下.三相变频电源的主程序流程图 系统上电后进行 初始化自检.自检的目的是确保各硬件模块处于正常待 命状态,若自检不通过则不能启动系统,若通过了自检, 则将SA4828幅度控制寄存器的控制字从0逐渐加到设 定值,即可轻松实现缓启动功能。随着电磁搅拌的进程, 需要的电源频率和电流大小都会随时改变.则三相变频 电源需要根据工况调整输出电压幅值和频率参数.在调 整命令发出后就要不断读取传感器传送回来的数值.若 出现过流、过压或欠压的任意一种情况,系统将封锁输 出并报警,若都正常.则在软件中更新看门狗定时器,防 止其溢出导致的系统中断SPWM信号输出 然后在显示器 [3】张艺东.SPWM逆变器调制方式的研究【J】.科技创新与 生产力,2011(5):10o一102. [4]MITEL.SA4828 3-phase pulse width modulation engine ad— vance information[R].1999. (收稿日期:2015—07—06) 上显示当前的工作状态参数.以便在控制室监控现场的工 况 为了减小实际输出值和控制设定值之间的偏差,采用 PI整定进行控制.从而快速稳定系统,把经过PI计算的值 与之前写入SA4828控制寄存器的参数进行比较.看是否 一作者简介: 许煜(1984一),男,硕士,工程师,主要研究方向:嵌人式 仪器仪表开发。E—mail:xuyu178261@baosight.com。 一致.若不一致则需要更新控制参数重复调整参数的整 (上接第8页) 山东科技大学.2008. 作者简介: 李向如(1989一),男,硕士研究生,主要研究方向:嵌入 式系统与应用。 『41吴世名.基于ARM的三轴机械手控制系统研究与设计 fD].杭州:浙江lT业大学,2013 【5]王峰.基于嵌入式系统的CANopen协议分析研究[D】.天 津:天津理工大学.2010. (收稿日期:2015—07—14) 俞建定(1968一),男,高级实验师,主要研究方向:嵌入 式系统与应用、通信与通信系统。 《微型机与应用》2015年第34卷第21期