蜗牛扑克下载

知识百科 > 蜗牛资讯 > 知识百科

电动手机-电液伺服系统软件设计

发布日期:2019-1-17

电动手机-电液伺服系统软件设计

  电液伺服系统软件设计
  本小节将对下载机器人电液伺服下载系统各部分功能软件进行分模块设计,具体工作如下:
  伺服下载器
  调试接口驱动
  运动下载器
  电源管理
  调试接口驱动
  参数自整定
  伺服下载算法
  电源管理
  上位机软件
  功调
  能软\j试接
  件
  传感器信号采集
  —处理
  ===主号=辱二f二幸==口==驱夸=二」
  一一
  人工操作
  下位机主控
  主控通信接口的驱动设计
  此前,我们确定了电液伺服下载系统的主控通信接口,并对其进行了电路设计。接下来首先进行TCP/IP协议栈的移植[147],本设计选用LwIP作为以太网接口的TCP/IP栈[148]。LwIP可实现嵌入式TCP/IP协议栈的相关功能,其目标是降低内存的使用率和代码的大小,使LwIP适用于资源受限的系统,比如嵌入式系统。为了减少处理的工作量和降低内存需求,LwIP使用经过裁剪且不需进行任何数据复制的APf149]。在此过程中,本书使用ST官方公布的范例进行直接移植,成功实现了相关功能[15()1。
  伺服总线的驱动设计
  伺服总线使用CAN总线方案。CAN总线下载器使用STM32F4系列MCU的片内外设bxCAN。STM32F405和STM32F407拥有两个bxCAN下载器,其中CAN1是主bxCAN,用于处理运动下载器的指令信息;CAN2是从bxCAN,用于处理伺服下载器关注的传感信息和工作状态[151]。伺服总线的设计可分为指令线设计和传感反馈线设计,由于其功能实现存在差异,在此分别进行设计并介绍。
  CAN总线运动下载器部分(指令线)的驱动设计CAN总线运动下载器部分的驱动程序分为接口初始化和收发接口程序两部分。具体工作过程如下:系统上电时首先进行bxCAN的初始化,分别就波特率、ID、邮箱和过滤器设置进行工作参数的初始化;然后发送自检信息,如果收到所有节点的有效自检信息,说明总线完整,通信顺畅,初始化成功;最后对总线的收发服务程序进行初始化,将总线的使用权释放给系统。
  对于运动下载器来说,需要通过CAN1下发伺服下载指令,CAN2接收传感反馈的信息。因此将CAN2的操作配置为中断式以便快速响应数据请求。如实际所示,CAN1的指令发送服务程序按照约定的ID下载字协议进行ID配置,设置数据格式,并按照指令数据帧协议填写8字节的指令数据,判断总线空闲后通过总线发送指令。CAN2的接收中断通过接收到的有效帧ID进行判断,确认帧的类型、所在伺服下载器和对应的驱动单元,然后对数据进行处理和反馈。
  CAN总线伺服下载器部分(反馈线)的驱动设计CAN总线伺服下载器部分的初始化过程与运动下载器的基本相同,不同之处在于执行自检的方式。伺服下载器上电后先对自身的功能进行自检,然后在设定的时间内等待运动下载器的自检信息请求。如果成功收到自检请求,则发送自检数据,表示总线完整,通信顺畅,同时反馈自身的自检情况,交由运动下载器判断电液伺服下载系统是否整体工作正常。如果自检请求等待超时,则通过LED闪烁报错,说明CAN1的通信错误。
  对于伺服制器来说,需要通过CAN1接收伺服下载的指令,CAN2则发送传感反馈的信息。因此,将CAN1的操作配置为中断式,以便快速响应下载指令。CAN1接收中断,通过接收到的有效帧ID进行判断,并进入指令状态以响应不同的伺服操作指令,其流程如实际所示。
  实际运动下载器驱动流程图
  实际伺服下载器驱动流程图
  伺服总线指令协议的设计
  将CAN总线通信的ID配置为标准的11位ID。通过对11位ID的设计,可以实现不同的总线下载字。首先针对伺服下载指令和状态反馈指令都要使用的部分进行约定,设计结果见实际。
  实际协议设计
  读写标志下载字广播标志伺服下载器号关节编号实际中,ID的0、1位为伺服下载器的编号编码位,按照左前腿0号,右前腿1号,左后腿2号,右后腿3号的顺序进行编码。ID的2、3位为关节的编号编码位,对单腿自上而下的髋侧摆、髋正摆和膝关节分别编码为0、1和2。具体编码见实际。
  实际低4位编码
  编码左前腿右前腿左后腿右后腿
  髋侧摆
  髋正摆
  膝关节
  ID的5~9位用于指令编码,因为伺服总线和反馈总线是相互独立的。ID的5~9位含伺服下载和状态反馈,需分别进行设计。ID的4位是广播标志位,该位置为1时,对应指令以广播的形式发给每个通道。ID的10位为伺服总线的读写标志位,该位置为0时,下载指令代表对相应下载量的读指令,伺服下载器通过CAN2发出回包数据。
  调试接口的驱动设计
  运动下载器和伺服下载器均保留UART用于调试。不同于CAN总线,UART为单字节传送协议,因此需要设计指令帧结构,以保证指令帧的完整性。常用的方法有添加帧头、帧长和帧尾校验,同时要设置相关标志变量,以便于响应处理队列溢出和帧溢出的情况。具体程序流程如实际所示。
  传感反馈接口的驱动设计
  传感检测系统使用了STM32H03的片内AD,其软件设计非常便捷,只需要通过固件库对硬件进行初始化处理,完成相应的外设初始化配置即可。软件流程如图所示。
  实际调试接口驱动流程图
  实际传感反馈接口驱动设计
  伺服下载接口的驱动设计
  伺服下载接口通过SPI接口驱动外部DACAD5724R以实现相应功能。首先完成SPI接口的初始化,其中AD5724R的下载指令由三个连续字节组成。SYNC脚为指令的侦同步信号,一次完整写指令操作包括:拉低SYNC脚的电平,电动手机通过SH发送三字节指令;然后拉高SYNC脚的电平,锁存指令。LDAC脚的电平决定输出的更新时间,LDAC脚的电平为低时,输出与通过SYNC锁存的指令同步,在SYNC的上升沿实现更新。本书将AD5724配置为内部参考,±5V输出,CLR输出电压值为OV,ABC通道开启。
  上位机调试工具的设计
  上位机调试工具使用LabVIEW设计,接口使用VISA中的RS232串口驱动模块。通过简单的界面设计(实际),实现对响应曲线的实时观察和参数的在线调整功能。
  实际上位机辅助调试工具界面
  本文转载自
  电动手机www.lyclgc.com
联系我们
电话: +86-574-87515352
邮箱: sales@limonrobot.com

浙江省宁波市鄞州高新区聚贤路587号研发园A区5幢15楼
Follow Me

beplay体育登录千赢国际手机登录网站beplay体育登录