快捷搜索:

基于Nios II嵌入式处理器和FPGA实现电机速度伺服控

引 言

作为机械人履行机构的伺服系统,其伺服机能和事情的靠得住性对机械人的整体事情机能起着抉择性的感化;然则传统的节制措施及其封闭式布局,已经不能满意今世伺服节制的要求。神经收集节制因为能够很好地降服机械人伺服系统中模型参数的变更和非线性等不确定身分的影响,很得当用于时变非线性、强耦合的工业机械人节制系统中。可编程片上系统SOPC和大年夜规模现场可编程门阵列FPGA的呈现,为神经收集节制器的硬件实现供给了新的载体。

本文以Altera FPGA及内含的一个Nios II嵌入式软核处置惩罚器作为上位机来钻研机器手臂直流电机速率伺服节制器的片上可编程系统(SOPC)。根据模块化的设计思惟,采纳Verilog HDL说话,将神经收集节制器和其他电路模块在FPGA芯片内以硬件要领实现。

1、 系统总体布局

节制部分用A1trea公司Cyclone II EP2C35芯片取代了传统的单片机DSP。FPGA与单片机最大年夜的差别就在于它的并行性,能够并行地采集、处置惩罚和输出旌旗灯号,是实现神经收集并交运算的关键,为前进全部系统的运行速率起了很大年夜的感化。其FPGA芯片内集成的Nios II软核处置惩罚器作为上位机,根据末尾履行器的速率,采纳C++说话进行坐标变换和轨迹筹划,准时向伺服节制系统发出节制敕令和运行参数。系统总体框图如图1所示。

2 、电机运动节制模块的组成

伺服节制系统模块接管到速率给定旌旗灯号和敕令落后行速率调节,如图2所示。速率调节器的输出便是PWM脉宽调制电路的节制旌旗灯号,之后孕育发生PWM旌旗灯号传给伺服电机驱动器驱动电机。速率反馈旌旗灯号由装在电机轴上的光电编码器孕育发生。为了前进反馈旌旗灯号的分辨率,对光电编码器的输出旌旗灯号进行倍频,从而前进了编码器的分辨率,也就前进了速率反馈旌旗灯号的分辨率。速率调节采纳神经收集参数辨识自适应节制。

3、 参数辨识自适应节制系统

用作自适应节制器的BPNNC,输入为电机给定转速y与实际转速yf相对照获得的转速偏差e及其变更率ec,输出为PWM的节制旌旗灯号Vp(k)。用作参数辨识的BPN—NI的输入为驱动系统的实际输入(即BPNNC的输出值Vp)和电机实际转速yf,输出为辨识的系统输出y*。y*为猜测转速,用y*代替yf,用作RBFNNC的在线练习。图3为参数辨识自适应节制框图。

2个BPNN都是两输入单输出收集,离线练习的样本均经由过程实验的措施得到。NNC的输入样本向量为Xci=(e(k),ec(k)},输出样本向量为Yci={Vp(k)}。NNI的输入样本向量XIi=(Vp(k一1),yf(k一1)},其输出样本向量为YIi={y*(k)}。收集参数的进修分为两步进行:先在离线练习中确定隐层节点的个数及其各层的收集连接初始权值,再经由过程在线练习自适应地调剂权值。

4 、硬件电路的FPGA实现

4.1 BPNN在FPGA中的硬件可重构实现

今朝基于SRAM工艺的FPGA具有易掉性的特征,每次从新加电FPGA都要重设置设置设备摆设摆设,才能使FPGA进人事情状态。设置设置设备摆设摆设信息平日寄放在片外存储器中,导致FPGA器件的资本设置设置设备摆设摆设可改变特点刚好可以满意由上述可知的BP收集的布局可重构、激活函数可重构和进修算法可重构的要求。

从谋略的角度斟酌,BP收集的算法可以划分成3个步骤,即前向传播、偏差反向传播以及权值更新。然则斟酌到神经收集的繁杂性和设计文件的复用性,BP神经收集的硬件实现必须办理与算法有关的运算速率、谋略精度、并行性和可存储性等问题。本着层次化、模块化的原则,采纳由Verilog HDL硬件描述说话输入的自上而下的设计措施,把BP神经收集分为前向运算模块、偏差反传及权值调剂模块、权值存储模块、权值分配模块等几个大年夜的功能模块。系统布局框图如图4所示。

将各个BP收集运算模块进行组合就可以实现一整套人工神经收集,然则仅仅将这些模块简单连在一路并不能让收集进行事情或练习。还必须正确设定在每一个时钟沿对每一个模块发出精确的使能旌旗灯号,使每一个模块处于事情状态或者停滞状态,并且还必须要有相宜的地址旌旗灯号发生器在精确的光阴孕育发生精确的地址旌旗灯号,使每一次数据都能从精确的位置读出并写入精确的位置。本文根据BP算法的运算规则设计节制模块,并且采纳一个共用的地址发生器,节制模块有7个输出旌旗灯号,分手是前向模块使能旌旗灯号、进修模块使能旌旗灯号、片内RAM及地址孕育发生模块使能旌旗灯号、片内RAM写入节制旌旗灯号wen、片内RAM读出节制旌旗灯号ren、片外存储器写节制旌旗灯号save、片外存储器读节制旌旗灯号load。着末的节制器可以使收集进行离线练习时将前向模块、偏差反传模块和响应的节制模块同时设置设置设备摆设摆设到FPGA中进行收集练习;而当练习好的收集正常事情时,只在FPGA中设置设置设备摆设摆设前向模块和响应的节制模块就可以高速运行该神经收集。事情流程如图5所示。

4.2 其他主要模块在FPGA中的实现

三角波脉宽调制器(PWM)采纳等腰三角形作为载波,将输入旌旗灯号与三角波旌旗灯号对照孕育发生。测速模块、鉴相倍频电路模块可根据其道理设置响应的乘法器和除法器即可实现。

5、 实验结果

参考文献经由过程对一些范例利用的钻研和阐发,觉得16位定点数是不削弱神经收集能力的最小精度要求,并且为避免运算规模过于宏大年夜和节约芯片资本,以是对32位的输出数据进行了截尾操作,仅取32位中的前16位。

速率伺服节制器电路中的所有模块均用硬件说话Verilog HDL进行描述,在源代码经由过程功能仿真和时序仿真测试后,再综合天生网表文件,着末在Altera公司的Cyclone II EP2C35器件中实现,全部设计耗损的资本已经靠近饱和。BP收集节制器的QuartusII仿真结果如图6所示。由图可知颠末多次练习后系统输出值f靠近于给定值t,偏差err变小[llg2],小于给定偏差。

驱动工具是一台直流电机,输入电压是DC 27 V,额定电流为2.5 A,最大年夜空载转速为600 r/min。图7为空载状态下转速指令由O上升到1lO r/min阶跃输入时的系统跟踪结果。由图7可知,系统能很快地相应给定转速的变更,有较好的跟踪能力和稳定性。

6、结 语

运用神经收集节制的措施,在FPGA中硬件实现速率反馈调控电路,采纳C++说话在FPGA片内集成的NiosII软核处置惩罚器内进行坐标变换和轨迹筹划,构成一个完备的机器臂枢纽关头速率节制器的SOPC系统。经由过程实验结果可知,此节制规划进一步前进了速率伺服系统的精度,增添了系统的集成度、抗滋扰性和稳定性,同时前进了系统的调试效率,是今世机械人伺服系统向模块化、智能化成长的偏向。

责任编辑:gt

您可能还会对下面的文章感兴趣: