新闻中心

EEPW首页 > 业界动态 > 基于Wujian100多功能电机控制系统的研究*

基于Wujian100多功能电机控制系统的研究*

作者:陈岳海,廖墀坤,张 涵,陈少真,陈星如 (广东工业大学,广州 510006)时间:2021-03-15来源:电子产品世界收藏
编者按:*本项目获得“2020年全国大学生集成电路创新创业大赛”“平头哥杯”二等奖。


本文引用地址:http://www.eepw.com.cn/article/202103/423462.htm

摘要:本文提出基于Wujian100 开源SoC平台实现一个多功能、高精度的步进系统。本系统使用自适应BP算法,可动态调节控制参数,提高系统的稳定性。搭配梯形加减速、SPTA以及电机速度控制算法,实现对步进电机的旋转角度和速度的控制。搭载温湿度、电压电流检测模块、电机表面温度测量装置等来保证电机工作环境的适宜性。本系统在基于对单个电机精确控制的基础上实现了对三轴电机的多功能控制,包括角度和速度。此外为实现本地离线和远程在线控制,系统通过串口触摸屏、WiFi传输模块,搭配阿里云平台,设计了多种人机控制界面,均可进行多功能控制。

0   引言

随着时代的到来以及自动控制领域的发展,以智能化为代表的机器人在社会的各行各业影响到我们,并发挥了神奇的力量。在各领域中,涉及自动化控制的系统,均与电机的控制相关,尤其在高精度系统中,要求精度非常高。由此,研究高精度、高效率、成本低的系统非常必要。

Wujian100 SoC 平台的开发,自适应BP 神经网络PID、梯形加减速、SPTA、电机速度闭环控制算法。最终实现了控制系统的搭建,包括硬件结构、软件结构及系统仿真和调试。

作者简介:陈岳海(2000—),廖墀坤、张涵(1999—),陈少真、陈星如(1998—),男,主要从事集成电路设计、自然语言处理、信号处理的研究、或器件仿真等的学习与研究。

1   电机控制系统总体设计方案

1.1 电机控制方式

本系统采用57 式两相四线步进电机,使用DM860电机驱动器,该驱动器可实现400~40 000 细分,在本系统中使用1 600 细分的精度,驱动器有三种控制信号:PUL、DIR、ENA。PUL 可控制步进电机的转动,每一个步进电机都有固定的步距角,即一个脉冲信号电机会运行一步,通过细分技术可以改变电机转动一圈所需的步数,即改变所需脉冲个数[1]。在细分数不变的情况下,PUL 的频率决定了电机转动的速率,PUL 的脉冲个数决定了电机运行的步数。DIR 信号决定了电机运行的方向,ENA 决定了电机的锁定状态,在通电后,电机会被锁定不可拧动,只能通过ENA 信号解除锁定状态。因此,通过调整PUL 脉冲信号的个数和频率,即可以完成对步进电机的控制,本系统的电机控制研究均基于此原理。

1.2 电机控制系统总体方案

本步进电机控制系统基于Wujian100 综合、实现、生成的Bit 流文件,配置Xilinx 的A7200T 的FPGA 开发板,搭配57 步进电机开发,以自适应BP 算法为核心算法。搭载WiFi 传输模块、Usart-GPU串口屏等模块,实现对步进电机的加减速、正反转以及角度的精确控制,并可通过继电器模块实现开闭环的控制选择。在应用扩展上,基于该系统使用三个步进电机,实现三轴控制。控制算法共采用了开环和闭环两套控制算法,分别是SPTA 和BP 算法。人机交互控制界面是将阿里云平台、安卓APP、串口触摸屏有机地结合在一起,可实现云端互联,通过APP操纵电机,或者直接利用串口屏进行操纵(如图1)。

1615774109929310.png

图1 电机控制系统实物图

2   控制系统硬件平台

2.1 电机控制单元的选择

主控平台选择面向AIoT 的国内首个开源SoC 平台——Wujian100,搭载基于RISC-V CPU 架构的玄铁902 处理器,提供了UART、SPI、PWM 等多种外设以及驱动,并在AHB、APB 总线上提供了dummy 接口,可实现将自主设计的IP 模块集成到该SoC 平台。

1615774224630006.png

图2 控制单元俯视图

2.2 闭环控制系统的搭建

本系统的电机运动信号采集使用龙邱mini4096 线增量式光电编码器,输出AB 相正交信号。该编码器在10 00 rpm 的高速条件下不会发生丢步情况,且转动一圈AB相均会输出4 096 个脉冲,则精度达到了0.087 9°/脉冲,当对脉冲进行4 倍频,脉冲计数会达到16 384 个,精度会达到0.021 9°/ 脉冲,满足实现搭建高精度位置、速度可控的电机控制系统。

2.3 外围构成的电机保护系统

步进电机控制系统中使用DHT11 温湿度模块、高精度电压电流检测模块和磁吸式K 型热电偶电机测温模块等,以组成电机保护系统。温/ 湿度主要负责对环境进行监测,判断环境是否满足电机工作条件。高精度电压、电流检测模块用于检测电机在工作状态时的电压电流值,判断电机是否工作在正常状态。磁吸式K 型热电偶测温模块则用于检测在电机工作时的表面温度,防止电机温度过高。综上,多个有机结合在一起,保证电机的安全运行。

2.4 三轴电机扩展控制

本系统在基于单轴电机控制的基础上,进行三轴电机的扩展开发应用[2],使用三个步进电机,组成仿机械臂结构,三个电机分别对应控制X、Y、Z 轴,三个轴的控制是互相独立的,但又可作为一个整体来控制,使用三套不同的控制算法,位置控制分别是自适应PID 算法、增量式PID 算法和SPTA 算法,速度控制算法均采用闭环速度PID。可在串口触摸屏、阿里云IoT Studio网页端、安卓APP 端实现对三轴电机的各种控制。

3   SoC系统设计

3.1 内存扩展

在实际应用中, 为了防止Wujian100 的内存不足,在步进电机控制系统项目初期对Wujian100 内存进行了扩展,在AHB 总线上预留的两个dummy 接口(imemdummy 和dmemdummy) 上来扩展ISRAM 及DSRAM,对应的设备是s1 和s5,防止因平台内存不足而产生其他问题。

3.2 正交解码脉冲计数器IP设计

本次设计是输入AB 相信号的所有边沿都会进行采样,首先对输入的信号进行数字滤波,然后采用正交信号的四倍频技术,因此处理后只需要判断当前两个信号组成的数字值与上一次是否相等,如果不等便需要进行判断,首先得出当前转动方向,然后与设定方向比较,判断计数器是进行加运算还是减运算。最后通过功能仿真,编写IP 模块接口,将其集成到Wujian100 的APB总线上,便可以通过总线访问IP 内部寄存器。

1615774494820908.png

图3 IP模块接口

4   控制算法设计

4.1 BP神经网路自适应调整PID算法

基于BP 神经网络的PID 控制系统结构如图4 所示。控制器由两部分组成:①经典的PID 控制器:直接对被控对象进行闭环控制,并且三个参数Kp、Ki、Kd 为在线调整方式[3]。② BP 神经网络:根据系统的运行状态,调节PID 控制器的参数,以其达到某种性能指标的最优化,即使输出层神经元的输出状态对应于PID 控制器的三个可调参数Kp、Ki、Kd,通过神经网络的自身学习、加权系数调整,从而使其稳定状态对应于某种最优控制规律下的PID 控制器参数[4]

1615774596436943.png

图4 BP神经网络PID算法结构

4.2 SPTA加减速算法

SPTA 算法是以时间计算为中心,根据时间来计算运动步数相关参数,它的做法是将步进电机的运动时间分割成若干个合适的时间片段,在每个时间片段计时达到后,它都将速度参数加到位置参数上,如果位置参数溢出,则输出一个脉冲,控制步进电机运行一步,速度参数根据加速度参数和时间的改变而改变。随着时间推移,速度参数越来越大,位置参数溢出频率越来越高[5],则步进电机的运行频率也越来越高。

4.3 电机速度控制算法

速度控制算法基于闭环控制,系统设定20 ms 采集一次编码器的计数值。利用M 法测速,可以得出当前电机的转速。再通过经典的速度环控制,使电机达到对应的速度。速度控制可实现达到指定速度、停止运行以及实现电机运行过程中的反转等功能,其中也包括了三轴电机的控制,在反转的过程,首先让电机停止,然后继续反向加速到指定速度。

1615774700702824.png

图5 丰富的控制界面

5   总结与展望

本文从需求出发,介绍了一个基于Wujian100 平台的步进电机控制系统。首先介绍研究背景,接着以整体系统的功能实现为基础介绍电机的整体方案设计,再以电机系统结构为基础介绍SoC 系统、软件系统的设计。根据整篇文章的介绍,可知系统采用了基于BP神经网络自适应PID 算法,搭配SPTA、梯形加减速等工业界使用较多的步进电机控制算法。难点主要是在Wujian100 平台上搭建了一个神经网络,通过误差反向传播,适时调整权值,实现对PID 的参数Kp,Ki,Kd的自适应调节。同时结合闭环控制系统,实现了对单轴、三轴电机的高精度速度控制,并搭配阿里云物联网平台,设计多种人机控制方案,使整个系统控制方式更加丰富。到目前为止,一个高精度、反应速度快的步进电机系统基本完成。

但是由于只是实现了基本功能,所以还有很多后续研究工作可以开展,例如后续将继续完善拓扑结构,使步进电机的反应更加灵敏,提高精度,以及完善APP。机械控制涉及生活的方方面面,本系统有较好的移植性,是机械精准度控制不可缺失的一部分,可移植到如云台、机械臂、智能机器人等精确控制的领域中,后续的开发工作我们也将继续进行下去。

参考文献:

[1] 徐建国.步进电机智能控制的设计与实现[J].电子技术与软件工程,2016(22):139.

[2] 李俊敏.多轴运动实验平台的控制系统研究[J].现代制造技术与装备,2017(7):145-146

[3] 周建新,熊延辉.基于神经网络的蓄热式加热炉的温度控制研究

[J].科技风,2019(8):165.

[4] 陈忠华,李雷,赵力.基于BP神经网络的自适应补偿控制方法[J].计算机仿真,2012(7):202-204.

[5] 王岩.基于FPGA的SpTa自适应电机控制算法[J].科技资讯,2018(25):11-12.

(本文来源于《电子产品世界》杂志社2021年1月期)



评论


相关推荐

技术专区

关闭