CN113552798B - 一种低成本高精度在线学习稳定控制器 - Google Patents

一种低成本高精度在线学习稳定控制器 Download PDF

Info

Publication number
CN113552798B
CN113552798B CN202110672660.4A CN202110672660A CN113552798B CN 113552798 B CN113552798 B CN 113552798B CN 202110672660 A CN202110672660 A CN 202110672660A CN 113552798 B CN113552798 B CN 113552798B
Authority
CN
China
Prior art keywords
pin
circuit
chip
capacitor
pins
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110672660.4A
Other languages
English (en)
Other versions
CN113552798A (zh
Inventor
高强
侯远龙
侯润民
羊书毅
花纯磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN202110672660.4A priority Critical patent/CN113552798B/zh
Publication of CN113552798A publication Critical patent/CN113552798A/zh
Application granted granted Critical
Publication of CN113552798B publication Critical patent/CN113552798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种高精度在线学习稳定控制器,包括主控制模块、CAN口电路、串口电路、I/O输入输出电路、存储电路、电源电路;主控制模块分别与CAN口电路、串口电路、I/O输入输出电路、存储电路、电源电路连接;可以在控制过程中根据实际工况实现控制参数神经网络自学习,以保证高精度控制;利用非线性扩张状态观测器ESO实时观测扰动,对控制量进行扰动补偿;控制停止后将本次学习的最优参数保存,下次控制前读取最优参数;适应性强,位置反馈或速度反馈可以通过16位IO、CAN接口、串口中的一种方式获取,控制量可以通过CAN接口以数字量形式输出或者外扩DA模块以模拟量形式输出;可以实现一类位置闭环或速度闭环系统的位置或速度高精度稳定控制。

Description

一种低成本高精度在线学习稳定控制器
技术领域
本发明涉及一种稳定控制器,特别是一种低成本高精度在线学习稳定控制器
背景技术
舰船在海洋中行驶,舰船上某一负载要相对于海平面保持一定的空间位置,则需要由上位机通过平台罗经等传感器实时测量出舰船的摇摆角度,根据空间目标角度实时计算出负载相对于舰船的目标位置角度,将目标位置角度发送给稳定控制装置,由稳定控制装置保持负载的空间位置。由于海浪对舰船的扰动、传动系统的间隙与空回、负载转动惯量大范围变化、交流伺服系统模型参数随工况变化等非线性因素的存在,舰载负载的高精度稳定难度较大。
轮式或履带式车辆在路面上行驶时,其上负载受到路面颠簸的影响,难以相对于大地保持一定的位置。通过安装在负载上的陀螺测量出负载相对于大地的运动速度,若要保证一段时间内负载相对于大地的位置不变,则需要保证负载速度的积分在该时间段内趋近于0,也即通过稳定控制器的控制,无论车体如何振动,负载相对大地的速度积分为0。由于车辆在路面行驶时振动频率较高,实现车载载负载的高精度稳定难度较大。
发明专利《一种高精度稳定平台系统、控制方法、设备、介质及终端》(李京书、毛宁、许江宁、江鹏飞、陈鑫、吴苗、梁益丰.专利申请号:CN202011313520.X)介绍了一种高精度稳定平台系统、控制方法、设备、介质及终端,尤其涉及一种基于陀螺角速率和姿态位置双闭环结构的高精度稳定平台系统及其控制方法。由惯性测量系统、控制系统、供电系统、减震系统组成。该发明将重力仪和光纤陀螺捷联测姿系统固联,通过光纤陀螺惯性定姿系统对重力仪的姿态进行实时高精度测量,同时采集陀螺的输出,敏感重力仪相对于惯性空间的角运动信息,采用角位置-角速度双环PID策略进行稳定控制,使平台始终追踪当地地理水平面。
发明专利《一种用于水面漂浮的三轴稳定平台的稳定控制方法》(贾国明、童飞、刘强.专利申请号:CN202010283182.3)介绍了一种用于水面漂浮的三轴稳定平台的稳定控制方法。通过采集漂浮平台姿态信息数据和稳定平台自身的姿态信息数据得到横摇补偿电机的控制量和纵摇补偿电机的控制量;通过驱动电机带动梯形丝杠机构上下运动从而控制稳定平台上台面的水平。通过采集的数据得到漂浮平台的偏航信息,并根据偏航信息得出方位电机的修正量,控制方位电机驱动方位减速机相对大地坐标进行稳定旋转。完成稳定平台的稳定性控制。
现有技术的不足在于:1)采用PID策略,缺乏对控制参数的自学习与最优参数保存;2)无扰动观测器,不能对系统扰动进行实时测试,对控制量进行扰动补偿,实现高精度控制;3)不具备灵活性,只能通过模拟量输出控制,不能用数字方法输出;
发明内容
本发明所解决的技术问题在于提供一种低成本高精度在线学习稳定控制器,可以在-40℃~50℃环境温度下,在控制过程中根据实际工况(指令或扰动)实现控制参数神经网络自学习,利用非线性扩张状态观测器ESO实时观测扰动,对控制量进行扰动补偿,实现高精度控制,可以应用于舰载负载的位置稳定控制、车载负载的速度稳定控制。
实现本发明目的的技术解决方案为:
一种高精度在线学习稳定控制器,包括主控制模块、CAN口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路;
所述主控制模块分别与CAN接口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路连接。
主控制模块用于完成稳定控制器的控制流程,在控制过程中根据指标函数神经网络自学习,同时利用非线性扩张状态观测器ESO实时观测扰动,计算出扰动补偿量,叠加在控制量上,以保证高精度位置或速度控制;主控制模块通过CAN接口电路模块、I/O输入输出电路模块或串口电路模块获取位置反馈或速度反馈,并通过CAN接口电路模块输出控制量。
在进行高精度位置闭环控制时,主控制模块通第一过CAN接口电路读取目标位置,通过第一I/O电路或第二串口电路读取负载当前位置,根据目标位置与当前位置计算位置误差,将位置误差的比例、积分、微分乘以相应的系数Kp、Ki、Kd计算出控制量,在控制过程中根据指标函数,对系数Kp、Ki、Kd进行神经网络自学习;同时,利用非线性扩张状态观测器ESO实时观测扰动,计算出扰动补偿量,叠加在控制量上,以保证高精度位置控制。
在进行高精度速度闭环控制时,主控制模块通过第一CAN接口电路读取目标速度,通过第二串口电路读取负载当前速度,根据目标速度与当前速度计算速度误差,速度误差积分后得到位置误差,将位置误差的比例、积分、微分乘以相应的系数Kp、Ki、Kd计算出控制量,在控制过程中根据指标函数,对系数Kp、Ki、Kd进行神经网络自学习,以保证高精度速度控制。控制停止后将本次学习的最优参数保存在E2PROM中,下次控制前读取最优参数。
高精度在线学习稳定控制器适应性强,位置反馈或速度反馈可以通过16位IO、CAN接口、串口中的一种方式获取,控制量可以通过CAN接口以数字量形式输出或者外扩DA模块以模拟量形式输出。
本发明与现有技术相比,其显著优点在于:
(1)本发明在控制过程中根据实际工况(指令或扰动)实现控制参数神经网络自学习,以保证高精度控制;
(2)本发明利用非线性扩张状态观测器ESO实时观测扰动,对控制量进行扰动补偿;
(3)本发明控制停止后将本次学习的最优参数保存,下次控制前读取最优参数;
(4)本发明的控制器适应性强,位置反馈或速度反馈可以通过16位IO、CAN接口、串口中的一种方式获取,控制量可以通过CAN接口以数字量形式输出或者外扩DA模块以模拟量形式输出;
(5)宽温设计,可以在-40℃~50℃环境温度下实现高精度控制;
(6)电磁兼容性设计,金属壳体封装,满足多种使用场景。
下面结合具体实施方式和附图对本发明做进一步的说明。
附图说明
图1为本发明低成本高精度在线学习稳定控制器的系统总体设计图。
图2为本发明的稳定控制器主控制模块电路图。
图3为本发明的稳定控制器存储模块电路图。
图4为本发明的稳定控制器第一I/O电路电路图。
图5为本发明的稳定控制器第二I/O电路电路图。
图6为本发明的稳定控制器第三I/O电路电路图。
图7为本发明的稳定控制器第四I/O电路电路图。
图8为本发明的稳定控制器第一CAN接口电路电路图。
图9为本发明的稳定控制器第二CAN接口电路电路图。
图10为本发明的稳定控制器第一串口电路电路图。
图11为本发明的稳定控制器第二串口电路电路图。
图12为本发明的稳定控制器控制模块的电源模块电路图。
图13为本发明的稳定控制器的主程序流程图。
图14为本发明的高精度在线学习位置闭环控制流程图。
图15为本发明的位置环神经网络控制量计算及自学习流程图。
图16为本发明的位置环ESO扰动观测流程图。
图17为本发明的高精度在线学习速度闭环控制流程图。
图18为本发明的速度环神经网络控制量计算及自学习流程图。
图19为本发明的速度环ESO扰动观测流程图。
具体实施方式
一种高精度在线学习稳定控制器,其特征在于:包括主控制模块、CAN口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路;
所述主控制模块分别与CAN接口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路连接;
主控制模块用于完成稳定控制器的控制流程,在控制过程中根据指标函数神经网络自学习,同时利用非线性扩张状态观测器ESO实时观测扰动,计算出扰动补偿量,叠加在控制量上,以保证高精度位置或速度控制;主控制模块通过CAN接口电路模块、I/O输入输出电路模块或串口电路模块获取位置反馈或速度反馈,并通过CAN接口电路模块输出控制量。
进行高精度位置闭环控制时,主控制模块通过第一CAN接口电路读取目标位置,通过第一I/O电路或第二串口电路读取负载当前位置,根据目标位置与当前位置计算位置误差,将位置误差的比例、积分、微分乘以相应的系数Kp、Ki、Kd计算出控制量,在控制过程中根据指标函数,对系数Kp、Ki、Kd进行神经网络自学习;同时,利用非线性扩张状态观测器ESO实时观测扰动,计算出扰动补偿量,叠加在控制量上,以保证高精度位置控制。
进行高精度速度闭环控制时,主控制模块通过第一CAN接口电路读取目标速度,通过第二串口电路读取负载当前速度,根据目标速度与当前速度计算速度误差,速度误差积分后得到位置误差,将位置误差的比例、积分、微分乘以相应的系数Kp、Ki、Kd计算出控制量,在控制过程中根据指标函数,对系数Kp、Ki、Kd进行神经网络自学习,以保证高精度速度控制。
控制停止后将本次学习的最优参数保存在E2PROM中,下次控制前读取最优参数。
所述主控制模块包括主控制芯片U1、第一电阻R1、第十电阻R10、第十一电阻R11、第一晶体振荡器Y1、第七电容C7、第八电容C8、第十三电容C13、第十四电容C14、第二接口CN2;
所述第二接口CN2的4、12、14、19、20、22、25引脚接地,21、26引脚接+5V电压,第二接口CN2的7、8引脚接+3.3V电压;
所述主控制芯片U1的73、14、6、54、53、48、47、96、32、31、24、23引脚悬空,主控制芯片U1的94、49、74、99、27、10、19、20、37引脚接地,主控制芯片U1的12引脚OSC_IN与第一电阻R1的一侧连接,第一电阻R1的另一侧与第一晶体振荡器Y1的一侧连接,第一晶体振荡器Y1的另一侧与主控制芯片U1的13引脚OSC_OUT连接,第一电阻R1与第一晶体振荡器Y1连接的一侧还通过第十三电容C13接地,主控制芯片U1的第13引脚OSC_OUT还通过第十四电容C14接地;
主控制芯片U1的21引脚VREF+、22引脚VDDA相连接后接+3.3V电压,同时接并联的第七电容C7、第八电容C8的一端,并联的第七电容C7、第八电容C8的另一端接地;
主控制芯片U1 76引脚PA14分别连接第二接口CN2的11引脚和第十一电阻R11的一端,第十一电阻R11的另一端接地;主控制芯片U1的72引脚PA13分别连接第二接口CN2的13引脚和第十电阻R10的一端,第十电阻R10的另一端+3.3V电压;主控制芯片U1的29引脚PA4、30引脚PA5分别连接第二接口CN2的17引脚、18引脚。
所述存储电路包括芯片AT24C02 U12,第十三电阻R13、第十四电阻R14、第十八电容C18;
所述芯片AT24C02 U12的6引脚SCL同时连接主控制芯片U1的92引脚PB6和第十四电阻R14的一端,5引脚SDA同时连接主控制芯片U1的93引脚PB7和第十三电阻R13的一端,第十三电阻R13的另一端和第十四电阻R14的另一端相连后同时连接芯片AT24C02 U12的8引脚VCC、+3.3V电压和第十八电容C18的一端,第十八电容C18的另一端接地;芯片AT24C02U12的1引脚A0、2引脚A1、3引脚A2、4引脚VSS和7引脚WP接地。
所述I/O输入输出电路模块包括第一I/O电路、第二I/O电路、第三I/O电路和第四I/O电路;
所述第一I/O电路包括第一I/O电路芯片1U8、第一I/O电路芯片2U9和第一接口CN1;
所述第一I/O电路芯片1U8和第一I/O电路芯片2U9与16位RDC模块相连,用于读入负载当前位置;
所述主控制芯片U1的97引脚PE0、98引脚PE1、1引脚PE2、2引脚PE3、3引脚PE4、4引脚PE5、5引脚PE6、38引脚PE7分别与第一I/O电路芯片1U8的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;主控制芯片U1的39引脚PE8、40引脚PE9、41引脚PE10、42引脚PE11、43引脚PE12、44引脚PE13、45引脚PE14、46引脚PE15分别与第一I/O电路芯片2U9的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;
第一I/O电路芯片1U8的11、12、13、22引脚接地,1引脚接+5V电压,23、24引脚接+3.3V电压,第一I/O电路芯片1U8的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接第一接口CN1的17、18、19、20、21、22、23、24引脚;
第一I/O电路芯片2U9的11、12、13、22引脚接地,1引脚接+5V电压,23、24引脚接+3.3V电压,第一I/O电路芯片2U9的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接第一接口CN1的25、26、27、28、29、30、31、32引脚;第一接口CN1的16、33、34引脚接地;第一接口CN1的11、15引脚接+3.3V电压;第一接口CN1的13引脚接+5V电压
所述第二I/O电路包括第二I/O电路芯片U5,第二I/O电路芯片U5实现16位分辨率模拟量输出,向伺服驱动器输出控制量;所述主控制芯片U1的81引脚PD0、82引脚PD1、83引脚PD2、84引脚PD3、85引脚PD4、86引脚PD5、87引脚PD6、88引脚PD7分别与第二I/O电路芯片U5的5引脚D15、6引脚D14、7引脚D13、8引脚D12、9引脚D11、10引脚D10、11引脚D9、12引脚D8相连;主控制芯片U1的55引脚PD8、56引脚PD9、57引脚PD10、58引脚PD11、59引脚PD12、60引脚PD13、61引脚PD14、62引脚PD15分别与第二I/O电路芯片U5的13引脚D7、14引脚D6、15引脚D5、16引脚D4、17引脚D3、18引脚D2、19引脚D1、20引脚D0相连,主控制芯片U1的95引脚PB8、91引脚PB5、90引脚PB4、89引脚PB3、36引脚PB1、35引脚PB0、77引脚PA15分别与第二I/O电路芯片U5的30引脚PD、24引脚A0、23引脚A1、29引脚RST、27引脚LDAC、26引脚R/W、25引脚CS相连;
第二I/O电路芯片U5的1、32、35、39、43、47引脚接+5V电压,4、21引脚接+3.3V电压,2引脚GND、3引脚IOGND接第一接口CN1的14引脚,第二I/O电路芯片U5的22引脚IOGND、28引脚GND、31引脚GND、36引脚REFD-、40引脚VREFC-、44引脚VREFB-、48引脚VREFA-分别连接第一接口CN1的7、5、1、2、8、12、9引脚,第二I/O电路芯片U5的33引脚VOUTD、34引脚VFBD连接第一接口CN1的3引脚,第二I/O电路芯片U5的37引脚VOUTC、38引脚VFBC连接第一接口CN1的2引脚,第二I/O电路芯片U5的41引脚VOUTB、42引脚VFBB连接第一接口CN1的6引脚,第二I/O电路芯片U5的45引脚VOUTA、46引脚VFBA连接第一接口CN1的10引脚;
所述第三I/O电路包括第三I/O电路芯片U11,实现I/O量读入;所述主控制芯片U1的15引脚PC0、16引脚PC1、17引脚PC2、18引脚PC3、33引脚PC4、34引脚PC5分别与第三I/O电路芯片U11的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6相连;
第三I/O电路芯片U11的9、10、14、15引脚悬空,2、11、12、13、22引脚接地,1引脚VCCA接+5V电压,23引脚NC、34引脚VCCB接+3.3V电压,第三I/O电路芯片U11的3引脚A1、4引脚A2、5引脚A3分别连接第二接口CN2的3、2、1引脚;第三I/O电路芯片U11的6引脚A4接第一I/O电路芯片1U8的2引脚DIR,第三I/O电路芯片U11的7引脚A5接第一I/O电路芯片2U9的2引脚DIR;
所述第四I/O电路包括第四I/O电路芯片U10,实现I/O量输出;所述主控制芯片U1的65引脚PC8、66引脚PC9、78引脚PC10、79引脚PC11、80引脚PC12、7引脚PC13、8引脚PC14、9引脚PC15分别与第四I/O电路芯片U10的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;
第四I/O电路芯片U10的1引脚VCCA接+5V电压,11、12、13、22引脚接地,23引脚NC、24引脚VCCB接+3.3V电压;第四I/O电路芯片U10的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接第二接口CN2的34、33、32、31、30、29、28、27引脚;
第四I/O电路芯片U10的2引脚DIR接第三I/O电路芯片U11的8引脚A6。
所述CAN接口电路模块包括第一CAN接口电路、第二CAN接口电路;
所述第一CAN接口电路包括第一CAN接口芯片U3,第十二电阻R12、第十七电容C17;第一CAN接口电路与上位机通讯,接收目标位置数据及控制指令,向上位机发送当前位置及控制状态,由上位机显示和存储位置数据;
所述主控制芯片U1的70引脚PA11、71引脚PA12分别与第一CAN接口芯片U3的4引脚R、1引脚D相连;
第一CAN接口芯片U3的2引脚、8引脚接地,5引脚悬空,第一CAN接口芯片U3的3引脚VCC同时接+3.3V电压和第十七电容C17的一端,第十七电容C17的另一端接地,第一CAN接口芯片U3 6引脚同时连接第二节欧酷CN2的24引脚和第十二电阻R12的一端;第一CAN接口芯片U3的7引脚同时连接第二CN2的23引脚和电阻R12的另一端;
第二CAN接口电路包括第二CAN接口芯片U4,第二CAN接口电路与伺服驱动器通讯,向伺服驱动器发送控制量,接收伺服驱动器速度反馈及伺服状态;所述主控制芯片U1的51引脚PB12、52引脚PB13分别与第二CAN接口芯片U4的4引脚R、1引脚D相连;
第二CAN接口芯片U4的2引脚、8引脚接地,5引脚悬空,第二CAN接口芯片U4的3引脚VCC同时接+3.3V电压和第十九电容C19的一端,第十九电容C19的另一端接地;第二CAN接口芯片U4 6引脚同时接第二接口CN2的16引脚和第十五电阻R15的一端;第二CAN接口芯片U4的7引脚同时连接第二接口CN2的15引脚和第十五电阻R15的另一端。
在波特率、帧格式相同的情况下,第一CAN接口电路和第二CAN接口电路可以组网。
所述串口模块包括第一串口电路、第二串口电路;
所述第一串口电路包括第一串口电路芯片U17、第四十三电容C43、第四十四电容C44、第四十五电容C45;所述主控制芯片U1的25引脚PA2、26引脚PA3分别接第一串口电路芯片U17的12引脚、11引脚;第一串口电路芯片U17可与外部具有RS232串口的设备通讯,以下载初始参数,上报当前参数;
所述第一串口电路芯片U17的7、8、9、10引脚悬空,第一串口电路芯片U17的1引脚C1+接第四十三电容C43的一端,第四十三电容C43的另一端接第一串口电路芯片U17的3引脚C1-,第一串口电路芯片U17的4引脚C2+接第四十四电容C44的一端,第四十四电容C44的另一端接第一串口电路芯片U17的5引脚C2-,第一串口电路芯片U17的15引脚GND同时接地和第四十六电容C46的一端,第四十六电容C46的另一端与第一串口电路芯片U17的6脚V-相连接,第一串口电路芯片U17的16引脚VCC同时接+3.3V电压和第四十五电容C45的一端,第四十五电容C45的另一端与第一串口电路芯片U17的2引脚V+相连接;第一串口电路芯片U17的13引脚、14引脚分别连接第二接口CN2的9、10引脚;
所述第二串口电路包括第二串口电路芯片U15、第二十三电阻R23、第二十四电阻R24、第二十五电阻R25、第二十六电阻R26和第四十二电容C42;
第二串口电路芯片U15可与具有RS422串口的陀螺通讯读取当前负载速度,或与具有RS422串口的光电编码器通讯读取当前负载位置。
所述主控制芯片U1的67引脚PA8接第二串口电路芯片U15的2引脚/RE、3引脚DE和电阻R26的一端,电阻R26的另一端接地;主控制芯片U1的68引脚PA9、69引脚PA10分别接第二串口电路芯片U15的4引脚DI、1引脚RO;
第二串口电路芯片U15的5引脚接地,第二串口电路芯片U15的6引脚同时与第二十四电阻R24的一端、第二十五电阻R25的一端和第二接口CN2的5引脚相连接,第二串口电路芯片U15的7引脚同时接第二十三电阻R23的一端、第二十五电阻R25的另一端和第二接口CN2的6引脚,第二十三电阻R23的另一端接地,第二十四电阻R24的另一端接5V电压,第二串口电路芯片U15的8引脚接+5V电压和第四十二电容C42的一端,第四十二电容C42的另一端接地。
所述电源模块包括线性稳压器U2、第一电容C1、第二电容C2、第三电容C3、第四电容C4、第五电容C5、第六电容C6、第九电容C9、第十电容C10、第十一电容C11、第十二电容C12、第一电感L1;所述电源模块可将外部提供的+5V电压转换为+3.3V,为主控制模块、CAN口电路模块、串口电路模块、I/O输入输出电路模块和存储模块供电,
所述线性稳压器U2的输入Vin引脚接+5V电压,Vout引脚输出+3.3V电压,GND引脚接模拟地,+5V电压通过两个并联电容第九电容C9、第十电容C10接模拟地,输出的+3.3V电压的一端通过两个并联电容第十一电容C11、第十二电容C12接模拟地;第一电容C1、第二电容C2、第三电容C3、第四电容C4、第五电容C5、第六电容C6并联,一端接+3.3V电压,另一端接数字地;第一电感L1一端接数字地,另一端接模拟地。
一种高精度在线学习稳定控制器的控制方法,包括以下步骤:
步骤1:初始化,进行I/O口初始化、串口初始化、DA初始化、CAN口初始化,然后I2C初始化,读取保存在E2PROM中的控制参数;
步骤2:进入控制循环中,首先判断是否设置位置反馈读入方式、控制量输出方式,若是则执行步骤3,否则进入下一个判断:判断是否设置或者读取控制参数,若是则执行步骤4,否则进入下一个判断:判断是否进行位置闭环控制,若是执行步骤5,否则进入下一个判断:判断是否进行速度闭环控制,若是则执行步骤6,否则结束循环,执行步骤7;
步骤3:设置位置反馈读入方式、控制量输出方式:调用Mode_set()函数,设置反馈数据是通过第一I/O电路读入,还是通过第二串口电路读入;设置控制量是通过第二I/O电路输出,还是通过第二CAN电路输出,之后返回步骤2;
步骤4:设置或者读取控制参数:调用Parameter_Set()函数,设置初始控制参数,保存在E2PROM中,或者从E2PROM中读取已学习、优化好的控制参数,并返回步骤2;
步骤5:进行高精度在线学习位置闭环控制,调用P_Control()函数实现高精度在线学习位置闭环控制,并返回步骤2;
步骤6:进行高精度在线学习速度闭环控制,调用S_Control()函数实现高精度在线学习速度闭环控制,并返回步骤2;
步骤7:退出循环。
所述步骤5中的高精度在线学习位置闭环控制,具体为:
步骤1:首先通过第一CAN口电路读取目标位置值,然后判断是否从第一IO电路读取当前位置值,若是则通过第一IO电路读取当前位置值,确定位置误差值,若否则通过第二串口电路读取当前位置值,确定位置误差值;
步骤2:确定完位置误差值之后,调用P_NNC()函数确定位置环主控制量,具体流程为:
首先计算中间层各单元输入和输出,然后计算输出层各单元输入以及位置环主控制量,然后计算中间层、输出层各单元校正误差,判断误差是否小于设定值,若否则中间层至输出层权值自学习,输入层至中间层权值自学习,调整位置环学习速率,并结束;若是则直接调整位置环学习速率,并结束;
步骤3:利用P_ESO()函数确定位置环补偿控制量,具体流程为:首先计算实际位置值与ESO跟踪位置状态的误差,然后利用可调误差校正增益、非线性函数nfal,估算系统内外总扰动的扩张状态量,最后结合补偿因子,计算补偿位置环控制量;
步骤4:,向上位机发送当前位置值及状态,判断是否通过第二CAN口电路输出控制量,若是则通过第二CAN口电路输出控制量,进入步骤5,若否则通过第二IO电路输出控制量,进入步骤5;
步骤5:判断是否结束位置控制,若否则返回步骤1,若是则控制参数保存到E2PROM,并结束。
所述步骤6中的高精度在线学习速度闭环控制,具体为:
步骤1:通过第一CAN口电路读取目标速度值,通过第二串口电路读取当前速度值,确定速度误差值;
步骤2:调用S_NNC()函数确定速度环主控制量,具体流程为:首先确定中间层各单元输入和输出,然后确定输出层各单元输入以及速度环主控制量,然后计算中间层、输出层各单元校正误差,判断误差是否小于设定值,若否则中间层至输出层权值自学习,输入层至中间层权值自学习,调整速度环学习速率;若是则直接调整速度环学习速率;
步骤3:调用S_ESO()函数计算速度环补偿控制量,具体为:确定实际速度值与ESO跟踪速度状态的误差,然后利用可调误差校正增益、非线性函数nfal,估算系统内外总扰动的扩张状态量,最后结合补偿因子,确定补偿速度环控制量;
步骤4:向上位机发送当前速度值及状态,判断是否通过第二CAN口电路输出控制量,若是则通过第二CAN口电路输出控制量,进入步骤5;若否则通过第二IO电路输出控制量,进入步骤5;
步骤5:判断是否结束速度控制,若否则返回步骤1,若是则控制参数保存到E2PROM,并结束。
下面结合实施例对本发明做进一步的描述。
实施例
一种高精度在线学习稳定控制器,其特征在于:包括主控制模块、CAN口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路;
所述主控制模块分别与CAN接口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路连接。
主控制模块用于完成稳定控制器的控制流程,在控制过程中根据指标函数神经网络自学习,同时利用非线性扩张状态观测器ESO实时观测扰动,计算出扰动补偿量,叠加在控制量上,以保证高精度位置或速度控制;主控制模块通过CAN接口电路模块、I/O输入输出电路模块或串口电路模块获取位置反馈或速度反馈,并通过CAN接口电路模块输出控制量。
所述主控制模块包括主控制芯片U1芯片TM32F107VCT6、第一电阻R1、第十电阻R10、第十一电阻R11、第一晶体振荡器Y1、第七电容C7、第八电容C8、第十三电容C13、第十四电容C14、第二接口CN2;
本实施例中第二接口CN2采用接口Header17X2,接口Header17X2CN2的4、12、14、19、20、22、25引脚接地,21、26引脚接+5V电压,接口Header17X2CN2的7、8引脚接+3.3V电压;
本实施例中主控制芯片U1采用芯片STM32F107VCT6,芯片STM32F107VCT6U1的73、14、6、54、53、48、47、96、32、31、24、23引脚悬空,芯片STM32F107VCT6U1的94、49、74、99、27、10、19、20、37引脚接地,芯片STM32F107VCT6U1的12引脚OSC_IN与第一电阻R1的一侧连接,第一电阻R1的另一侧与第一晶体振荡器Y1的一侧连接,第一晶体振荡器Y1的另一侧与芯片STM32F107VCT6U1的13引脚OSC_OUT连接,第一电阻R1与第一晶体振荡器Y1连接的一侧还通过第十三电容C13接地,芯片STM32F107VCT6U1的第13引脚OSC_OUT还通过第十四电容C14接地;
芯片STM32F107VCT6U1的21引脚VREF+、22引脚VDDA相连接后接+3.3V电压,同时接并联的第七电容C7、第八电容C8的一端,并联的第七电容C7、第八电容C8的另一端接地;
芯片STM32F107VCT6U1 76引脚PA14分别连接接口Header17X2CN2的11引脚和第十一电阻R11的一端,第十一电阻R11的另一端接地;芯片STM32F107VCT6U1的72引脚PA13分别连接接口Header17X2CN2的13引脚和第十电阻R10的一端,第十电阻R10的另一端+3.3V电压;芯片STM32F107VCT6U1的29引脚PA4、30引脚PA5分别连接接口Header17X2CN2的17引脚、18引脚。
所述存储电路包括存储芯片U12,第十三电阻R13、第十四电阻R14、第十八电容C18;
本实施例中存储芯片U12选用芯片AT24C02,芯片AT24C02 U12的6引脚SCL同时连接芯片STM32F107VCT6U1的92引脚PB6和第十四电阻R14的一端,5引脚SDA同时连接芯片STM32F107VCT6U1的93引脚PB7和第十三电阻R13的一端,第十三电阻R13的另一端和第十四电阻R14的另一端相连后同时连接芯片AT24C02 U12的8引脚VCC、+3.3V电压和第十八电容C18的一端,第十八电容C18的另一端接地;芯片AT24C02 U12的1引脚A0、2引脚A1、3引脚A2、4引脚VSS和7引脚WP接地。
所述I/O输入输出电路模块包括第一I/O电路、第二I/O电路、第三I/O电路和第四I/O电路;
所述第一I/O电路包括第一I/O电路芯片1U8、第一I/O电路芯片2U9和第一接口CN1;
所述第一I/O电路芯片1U8和第一I/O电路芯片2U9与16位RDC模块相连,用于读入负载当前位置;
本实施例中第一I/O电路芯片1U8和第一I/O电路芯片2U9均选用芯片MC74LVX4245DWR2G,第一接口CN1选用接口Header17X2
所述芯片STM32F107VCT6U1的97引脚PE0、98引脚PE1、1引脚PE2、2引脚PE3、3引脚PE4、4引脚PE5、5引脚PE6、38引脚PE7分别与MC74LVX4245DWR2GU8的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;芯片STM32F107VCT6U1的39引脚PE8、40引脚PE9、41引脚PE10、42引脚PE11、43引脚PE12、44引脚PE13、45引脚PE14、46引脚PE15分别与MC74LVX4245DWR2GU9的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;
MC74LVX4245DWR2GU8的11、12、13、22引脚接地,1引脚接+5V电压,23、24引脚接+3.3V电压,MC74LVX4245DWR2GU8的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接接口Header17X2CN1的17、18、19、20、21、22、23、24引脚;
MC74LVX4245DWR2GU9的11、12、13、22引脚接地,1引脚接+5V电压,23、24引脚接+3.3V电压,MC74LVX4245DWR2GU9的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接接口Header17X2CN1的25、26、27、28、29、30、31、32引脚;接口Header17X2CN1的16、33、34引脚接地;接口Header17X2CN1的11、15引脚接+3.3V电压;接口Header17X2CN1的13引脚接+5V电压
所述第二I/O电路包括第二I/O电路芯片U5,第二I/O电路芯片U5实现16位分辨率模拟量输出,向伺服驱动器输出控制量;
本实施例中第二I/O电路芯片U5选用芯片DAC8544;
所述芯片STM32F107VCT6U1的81引脚PD0、82引脚PD1、83引脚PD2、84引脚PD3、85引脚PD4、86引脚PD5、87引脚PD6、88引脚PD7分别与芯片DAC8544U5的5引脚D15、6引脚D14、7引脚D13、8引脚D12、9引脚D11、10引脚D10、11引脚D9、12引脚D8相连;芯片STM32F107VCT6U1的55引脚PD8、56引脚PD9、57引脚PD10、58引脚PD11、59引脚PD12、60引脚PD13、61引脚PD14、62引脚PD15分别与芯片DAC8544U5的13引脚D7、14引脚D6、15引脚D5、16引脚D4、17引脚D3、18引脚D2、19引脚D1、20引脚D0相连,芯片STM32F107VCT6U1的95引脚PB8、91引脚PB5、90引脚PB4、89引脚PB3、36引脚PB1、35引脚PB0、77引脚PA15分别与芯片DAC8544U5的30引脚PD、24引脚A0、23引脚A1、29引脚RST、27引脚LDAC、26引脚R/W、25引脚CS相连;
芯片DAC8544U5的1、32、35、39、43、47引脚接+5V电压,4、21引脚接+3.3V电压,2引脚GND、3引脚IOGND接接口Header17X2CN1的14引脚,芯片DAC8544U5的22引脚IOGND、28引脚GND、31引脚GND、36引脚REFD-、40引脚VREFC-、44引脚VREFB-、48引脚VREFA-分别连接接口Header17X2CN1的7、5、1、2、8、12、9引脚,芯片DAC8544U5的33引脚VOUTD、34引脚VFBD连接接口Header17X2CN1的3引脚,芯片DAC8544U5的37引脚VOUTC、38引脚VFBC连接接口Header17X2CN1的2引脚,芯片DAC8544U5的41引脚VOUTB、42引脚VFBB连接接口Header17X2CN1的6引脚,芯片DAC8544U5的45引脚VOUTA、46引脚VFBA连接接口Header17X2CN1的10引脚;
所述第三I/O电路包括第三I/O电路芯片U11,实现I/O量读入;本实施例中第三I/O电路芯片U11选用芯片MC74LVX4245DWR2G;
所述芯片STM32F107VCT6U1的15引脚PC0、16引脚PC1、17引脚PC2、18引脚PC3、33引脚PC4、34引脚PC5分别与芯片MC74LVX4245DWR2GU11的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6相连;
芯片MC74LVX4245DWR2GU11的9、10、14、15引脚悬空,2、11、12、13、22引脚接地,1引脚VCCA接+5V电压,23引脚NC、34引脚VCCB接+3.3V电压,芯片MC74LVX4245DWR2GU11的3引脚A1、4引脚A2、5引脚A3分别连接接口Header17X2CN2的3、2、1引脚;芯片MC74LVX4245DWR2GU11的6引脚A4接MC74LVX4245DWR2GU8的2引脚DIR,芯片MC74LVX4245DWR2GU11的7引脚A5接MC74LVX4245DWR2GU9的2引脚DIR;
所述第四I/O电路包括第四I/O电路芯片U10,实现I/O量输出;
本实施例中第四I/O电路芯片U10选用芯片MC74LVX4245DWR2G;
所述芯片STM32F107VCT6U1的65引脚PC8、66引脚PC9、78引脚PC10、79引脚PC11、80引脚PC12、7引脚PC13、8引脚PC14、9引脚PC15分别与MC74LVX4245DWR2GU10的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;
MC74LVX4245DWR2GU10的1引脚VCCA接+5V电压,11、12、13、22引脚接地,23引脚NC、24引脚VCCB接+3.3V电压;MC74LVX4245DWR2GU10的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接接口Header17X2CN2的34、33、32、31、30、29、28、27引脚;
MC74LVX4245DWR2GU10的2引脚DIR接芯片MC74LVX4245DWR2GU11的8引脚A6。
所述CAN接口电路模块包括第一CAN接口电路、第二CAN接口电路;
所述第一CAN接口电路包括第一CAN接口芯片U3,第十二电阻R12、第十七电容C17;第一CAN接口电路与上位机通讯,接收目标位置数据及控制指令,向上位机发送当前位置及控制状态,由上位机显示和存储位置数据;
本实施例中第一CAN接口芯片U3选用芯片SN65HVD230/231D;
所述芯片STM32F107VCT6U1的70引脚PA11、71引脚PA12分别与芯片SN65HVD230/231DU3的4引脚R、1引脚D相连;
芯片SN65HVD230/231DU3的2引脚、8引脚接地,5引脚悬空,芯片SN65HVD230/231DU3的3引脚VCC同时接+3.3V电压和第十七电容C17的一端,第十七电容C17的另一端接地,芯片SN65HVD230/231DU3 6引脚同时连接第二节欧酷CN2的24引脚和第十二电阻R12的一端;芯片SN65HVD230/231DU3的7引脚同时连接第二CN2的23引脚和电阻R12的另一端;
第二CAN接口电路包括第二CAN接口芯片U4,第二CAN接口电路与伺服驱动器通讯,向伺服驱动器发送控制量,接收伺服驱动器速度反馈及伺服状态
本实施例中第二CAN接口芯片U4选用芯片SN65HVD230/231D;
所述芯片STM32F107VCT6U1的51引脚PB12、52引脚PB13分别与芯片SN65HVD230/231DU3的4引脚R、1引脚D相连;
芯片SN65HVD230/231DU3的2引脚、8引脚接地,5引脚悬空,芯片SN65HVD230/231DU3的3引脚VCC同时接+3.3V电压和第十九电容C19的一端,第十九电容C19的另一端接地;芯片SN65HVD230/231DU3 6引脚同时接接口Header17X2CN2的16引脚和第十五电阻R15的一端;芯片SN65HVD230/231DU3的7引脚同时连接接口Header17X2CN2的15引脚和第十五电阻R15的另一端。
在波特率、帧格式相同的情况下,第一CAN接口电路和第二CAN接口电路可以组网。
所述串口模块包括第一串口电路、第二串口电路;
所述第一串口电路包括第一串口电路芯片U17、第四十三电容C43、第四十四电容C44、第四十五电容C45;第一串口电路芯片U17可与外部具有RS232串口的设备通讯,以下载初始参数,上报当前参数;
本实施例中第一串口电路芯片U17采用芯片MAX3232ESE;
所述芯片STM32F107VCT6U1的25引脚PA2、26引脚PA3分别接芯片MAX3232ESEU17的12引脚、11引脚;
所述芯片MAX3232ESEU17的7、8、9、10引脚悬空,芯片MAX3232ESEU17的1引脚C1+接第四十三电容C43的一端,第四十三电容C43的另一端接芯片MAX3232ESEU17的3引脚C1-,芯片MAX3232ESEU17的4引脚C2+接第四十四电容C44的一端,第四十四电容C44的另一端接芯片MAX3232ESEU17的5引脚C2-,芯片MAX3232ESEU17的15引脚GND同时接地和第四十六电容C46的一端,第四十六电容C46的另一端与芯片MAX3232ESEU17的6脚V-相连接,芯片MAX3232ESEU17的16引脚VCC同时接+3.3V电压和第四十五电容C45的一端,第四十五电容C45的另一端与芯片MAX3232ESEU17的2引脚V+相连接;芯片MAX3232ESEU17的13引脚、14引脚分别连接第二接口CN2的9、10引脚;
所述第二串口电路包括第二串口电路芯片U15、第二十三电阻R23、第二十四电阻R24、第二十五电阻R25、第二十六电阻R26和第四十二电容C42;
第二串口电路芯片U15可与具有RS422串口的陀螺通讯读取当前负载速度,或与具有RS422串口的光电编码器通讯读取当前负载位置。
本实施例中第二串口电路芯片U15选用芯片MAX485ESA;
所述芯片STM32F107VCT6U1的67引脚PA8接芯片MAX485ESAU15的2引脚/RE、3引脚DE和电阻R26的一端,电阻R26的另一端接地;主控制芯片U1的68引脚PA9、69引脚PA10分别接芯片MAX485ESAU15的4引脚DI、1引脚RO;
芯片MAX485ESAU15的5引脚接地,芯片MAX485ESAU15的6引脚同时与第二十四电阻R24的一端、第二十五电阻R25的一端和接口Header17X2CN2的5引脚相连接,芯片MAX485ESAU15的7引脚同时接第二十三电阻R23的一端、第二十五电阻R25的另一端和接口Header17X2CN2的6引脚,第二十三电阻R23的另一端接地,第二十四电阻R24的另一端接5V电压,芯片MAX485ESAU15的8引脚接+5V电压和第四十二电容C42的一端,第四十二电容C42的另一端接地。
所述电源模块包括线性稳压器U2、第一电容C1、第二电容C2、第三电容C3、第四电容C4、第五电容C5、第六电容C6、第九电容C9、第十电容C10、第十一电容C11、第十二电容C12、第一电感L1;所述电源模块可将外部提供的+5V电压转换为+3.3V,为主控制模块、CAN口电路模块、串口电路模块、I/O输入输出电路模块和存储模块供电,
线性稳压器U2采用线性稳压器AMS1117_3.3;所述线性稳压器AMS1117_3.3U2的输入Vin引脚接+5V电压,Vout引脚输出+3.3V电压,GND引脚接模拟地,+5V电压通过两个并联电容第九电容C9、第十电容C10接模拟地,输出的+3.3V电压的一端通过两个并联电容第十一电容C11、第十二电容C12接模拟地;第一电容C1、第二电容C2、第三电容C3、第四电容C4、第五电容C5、第六电容C6并联,一端接+3.3V电压,另一端接数字地;第一电感L1一端接数字地,另一端接模拟地。
一种高精度在线学习稳定控制器的控制方法,包括以下步骤:
步骤1:进行I/O口初始化、串口初始化、DA初始化、CAN口初始化,然后I2C初始化,读取保存在E2PROM中的控制参数;
步骤2:进入控制循环中,首先判断是否设置位置反馈读入方式、控制量输出方式,若是则执行步骤3,否则进入下一个判断:判断是否设置或者读取控制参数,若是则执行步骤4,否则进入下一个判断:判断是否进行位置闭环控制,若是执行步骤5,否则进入下一个判断:判断是否进行速度闭环控制,若是则执行步骤6,否则结束循环,执行步骤7;
步骤3:设置位置反馈读入方式、控制量输出方式:调用Mode_set()函数,设置反馈数据是通过第一I/O电路读入,还是通过第二串口电路读入;设置控制量是通过第二I/O电路输出,还是通过第二CAN电路输出,之后返回步骤2;
步骤4:设置或者读取控制参数:调用Parameter_Set()函数,设置初始控制参数,保存在E2PROM中,或者从E2PROM中读取已学习、优化好的控制参数,并返回步骤2;
步骤5:进行高精度在线学习位置闭环控制,调用P_Control()函数实现高精度在线学习位置闭环控制,并返回步骤2;
步骤6:进行高精度在线学习速度闭环控制,调用S_Control()函数实现高精度在线学习速度闭环控制,并返回步骤2;
步骤7:退出循环。
所述步骤5中的高精度在线学习位置闭环控制,具体为:
步骤1:首先通过第一CAN口电路读取目标位置值,然后判断是否从第一IO电路读取当前位置值,若是则通过第一IO电路读取当前位置值,确定位置误差值,若否则通过第二串口电路读取当前位置值,确定位置误差值;
步骤2:确定完位置误差值之后,调用P_NNC()函数确定位置环主控制量,具体流程为:
首先计算中间层各单元输入和输出,然后计算输出层各单元输入以及位置环主控制量,然后计算中间层、输出层各单元校正误差,判断误差是否小于设定值,若否则中间层至输出层权值自学习,输入层至中间层权值自学习,调整位置环学习速率,并结束;若是则直接调整位置环学习速率,并结束;
步骤3:利用P_ESO()函数确定位置环补偿控制量,具体流程为:首先计算实际位置值与ESO跟踪位置状态的误差,然后利用可调误差校正增益、非线性函数nfal,估算系统内外总扰动的扩张状态量,最后结合补偿因子,计算补偿位置环控制量;
步骤4:,向上位机发送当前位置值及状态,判断是否通过第二CAN口电路输出控制量,若是则通过第二CAN口电路输出控制量,进入步骤5,若否则通过第二IO电路输出控制量,进入步骤5;
步骤5:判断是否结束位置控制,若否则返回步骤1,若是则控制参数保存到E2PROM,并结束。
所述步骤6中的高精度在线学习速度闭环控制,具体为:
步骤1:通过第一CAN口电路读取目标速度值,通过第二串口电路读取当前速度值,确定速度误差值;
步骤2:调用S_NNC()函数确定速度环主控制量,具体流程为:首先确定中间层各单元输入和输出,然后确定输出层各单元输入以及速度环主控制量,然后计算中间层、输出层各单元校正误差,判断误差是否小于设定值,若否则中间层至输出层权值自学习,输入层至中间层权值自学习,调整速度环学习速率;若是则直接调整速度环学习速率;
步骤3:调用S_ESO()函数计算速度环补偿控制量,具体为:确定实际速度值与ESO跟踪速度状态的误差,然后利用可调误差校正增益、非线性函数nfal,估算系统内外总扰动的扩张状态量,最后结合补偿因子,确定补偿速度环控制量;
步骤4:向上位机发送当前速度值及状态,判断是否通过第二CAN口电路输出控制量,若是则通过第二CAN口电路输出控制量,进入步骤5;若否则通过第二IO电路输出控制量,进入步骤5;
步骤5:判断是否结束速度控制,若否则返回步骤1,若是则控制参数保存到E2PROM,并结束。

Claims (8)

1.一种低成本高精度在线学习稳定控制器,其特征在于:包括主控制模块、CAN口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路;
所述主控制模块分别与CAN接口电路模块、串口电路模块、I/O输入输出电路模块、存储电路和电源电路连接;
主控制模块用于完成稳定控制器的控制流程,在控制过程中根据指标函数神经网络自学习,同时利用非线性扩张状态观测器ESO实时观测扰动,计算出扰动补偿量,叠加在控制量上,以保证高精度位置或速度控制;主控制模块通过CAN接口电路模块、I/O输入输出电路模块或串口电路模块获取位置反馈或速度反馈,并通过CAN接口电路模块输出控制量;
其控制流程为:
步骤1:初始化,进行I/O口初始化、串口初始化、DA初始化、CAN口初始化,然后I2C初始化,读取保存在E2PROM中的控制参数;
步骤2:进入控制循环,首先判断是否设置位置反馈读入方式、控制量输出方式,若是则执行步骤3,否则进入下一个判断:判断是否设置或者读取控制参数,若是则执行步骤4,否则进入下一个判断:判断是否进行位置闭环控制,若是执行步骤5,否则进入下一个判断:判断是否进行速度闭环控制,若是则执行步骤6,否则结束循环,执行步骤7;
步骤3:设置位置反馈读入方式、控制量输出方式:调用Mode_set()函数,设置反馈数据是通过第一I/O电路读入,还是通过第二串口电路读入;设置控制量是通过第二I/O电路输出,还是通过第二CAN接口电路输出,之后返回步骤2;
步骤4:设置或者读取控制参数:调用Parameter_Set()函数,设置初始控制参数,保存在E2PROM中,或者从E2PROM中读取已学习、优化好的控制参数,并返回步骤2;
步骤5:进行高精度在线学习位置闭环控制,调用P_Control()函数实现高精度在线学习位置闭环控制,并返回步骤2;
步骤6:进行高精度在线学习速度闭环控制,调用S_Control()函数实现高精度在线学习速度闭环控制,并返回步骤2;
所述高精度在线学习速度闭环控制,具体为:
步骤6-1:通过第一CAN口电路读取目标速度值,通过第二串口电路读取当前速度值,确定速度误差值;
步骤6-2:调用S_NNC()函数确定速度环主控制量,具体流程为:首先确定中间层各单元输入和输出,然后确定输出层各单元输入以及速度环主控制量,然后计算中间层、输出层各单元校正误差,判断误差是否小于设定值,若否则中间层至输出层权值自学习,输入层至中间层权值自学习,调整速度环学习速率;若是则直接调整速度环学习速率;
步骤6-3:调用S_ESO()函数计算速度环补偿控制量,具体为:确定实际速度值与ESO跟踪速度状态的误差,然后利用可调误差校正增益、非线性函数nfal,估算系统内外总扰动的扩张状态量,最后结合补偿因子,确定补偿速度环控制量;
步骤6-4:向上位机发送当前速度值及状态,判断是否通过第二CAN口电路输出控制量,若是则通过第二CAN口电路输出控制量,进入步骤5;若否则通过第二IO电路输出控制量,进入步骤5;
步骤6-5:判断是否结束速度控制,若否则返回步骤1,若是则控制参数保存到E2PROM,并结束
步骤7:退出循环。
2.根据权利要求1所述的低成本高精度在线学习稳定控制器,其特征在于,所述主控制模块包括主控制芯片[U1]、第一电阻[R1]、第十电阻[R10]、第十一电阻[R11]、第一晶体振荡器[Y1]、第七电容[C7]、第八电容[C8]、第十三电容[C13]、第十四电容[C14]、第二接口[CN2];
所述第二接口[CN2]的4、12、14、19、20、22、25引脚接地,21、26引脚接+5V电压,第二接口[CN2]的7、8引脚接+3.3V电压;
所述主控制芯片[U1]的73、14、6、54、53、48、47、96、32、31、24、23引脚悬空,主控制芯片[U1]的94、49、74、99、27、10、19、20、37引脚接地,主控制芯片[U1]的12引脚OSC_IN与第一电阻[R1]的一侧连接,第一电阻[R1]的另一侧与第一晶体振荡器[Y1]的一侧连接,第一晶体振荡器[Y1]的另一侧与主控制芯片[U1]的13引脚OSC_OUT连接,第一电阻[R1]与第一晶体振荡器[Y1]连接的一侧还通过第十三电容[C13]接地,主控制芯片[U1]的第13引脚OSC_OUT还通过第十四电容[C14]接地;
主控制芯片[U1]的21引脚VREF+、22引脚VDDA相连接后接+3.3V电压,同时接并联的第七电容[C7]、第八电容[C8]的一端,并联的第七电容[C7]、第八电容[C8]的另一端接地;
主控制芯片[U1]76引脚PA14分别连接第二接口[CN2]的11引脚和第十一电阻[R11]的一端,第十一电阻[R11]的另一端接地;主控制芯片[U1]的72引脚PA13分别连接第二接口[CN2]的13引脚和第十电阻[R10]的一端,第十电阻[R10]的另一端+3.3V电压;主控制芯片[U1]的29引脚PA4、30引脚PA5分别连接第二接口[CN2]的17引脚、18引脚。
3.根据权利要求2所述的低成本高精度在线学习稳定控制器,其特征在于,所述存储电路包括芯片AT24C02[U12],第十三电阻[R13]、第十四电阻[R14]、第十八电容[C18];
所述芯片AT24C02[U12]的6引脚SCL同时连接主控制芯片[U1]的92引脚PB6和第十四电阻[R14]的一端,5引脚SDA同时连接主控制芯片[U1]的93引脚PB7和第十三电阻[R13]的一端,第十三电阻[R13]的另一端和第十四电阻[R14]的另一端相连后同时连接芯片AT24C02[U12]的8引脚VCC、+3.3V电压和第十八电容[C18]的一端,第十八电容[C18]的另一端接地;芯片AT24C02[U12]的1引脚A0、2引脚A1、3引脚A2、4引脚VSS和7引脚WP接地。
4.根据权利要求2所述的低成本高精度在线学习稳定控制器,其特征在于,所述I/O输入输出电路模块包括第一I/O电路、第二I/O电路、第三I/O电路和第四I/O电路;
所述第一I/O电路包括第一I/O电路芯片1[U8]、第一I/O电路芯片2[U9]和第一接口[CN1];
所述第一I/O电路芯片1[U8]和第一I/O电路芯片2[U9]与16位RDC模块相连,用于读入负载当前位置;
所述主控制芯片[U1]的97引脚PE0、98引脚PE1、1引脚PE2、2引脚PE3、3引脚PE4、4引脚PE5、5引脚PE6、38引脚PE7分别与第一I/O电路芯片1[U8]的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;主控制芯片[U1]的39引脚PE8、40引脚PE9、41引脚PE10、42引脚PE11、43引脚PE12、44引脚PE13、45引脚PE14、46引脚PE15分别与第一I/O电路芯片2[U9]的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;
第一I/O电路芯片1[U8]的11、12、13、22引脚接地,1引脚接+5V电压,23、24引脚接+3.3V电压,第一I/O电路芯片1[U8]的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接第一接口[CN1]的17、18、19、20、21、22、23、24引脚;
第一I/O电路芯片2[U9]的11、12、13、22引脚接地,1引脚接+5V电压,23、24引脚接+3.3V电压,第一I/O电路芯片2[U9]的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接第一接口[CN1]的25、26、27、28、29、30、31、32引脚;第一接口[CN1]的16、33、34引脚接地;第一接口[CN1]的11、15引脚接+3.3V电压;第一接口[CN1]的13引脚接+5V电压
所述第二I/O电路包括第二I/O电路芯片[U5],所述主控制芯片[U1]的81引脚PD0、82引脚PD1、83引脚PD2、84引脚PD3、85引脚PD4、86引脚PD5、87引脚PD6、88引脚PD7分别与第二I/O电路芯片[U5]的5引脚D15、6引脚D14、7引脚D13、8引脚D12、9引脚D11、10引脚D10、11引脚D9、12引脚D8相连;主控制芯片[U1]的55引脚PD8、56引脚PD9、57引脚PD10、58引脚PD11、59引脚PD12、60引脚PD13、61引脚PD14、62引脚PD15分别与第二I/O电路芯片[U5]的13引脚D7、14引脚D6、15引脚D5、16引脚D4、17引脚D3、18引脚D2、19引脚D1、20引脚D0相连,主控制芯片[U1]的95引脚PB8、91引脚PB5、90引脚PB4、89引脚PB3、36引脚PB1、35引脚PB0、77引脚PA15分别与第二I/O电路芯片[U5]的30引脚PD、24引脚A0、23引脚A1、29引脚RST、27引脚LDAC、26引脚R/W、25引脚CS相连;
第二I/O电路芯片[U5]的1、32、35、39、43、47引脚接+5V电压,4、21引脚接+3.3V电压,2引脚GND、3引脚IOGND接第一接口[CN1]的14引脚,第二I/O电路芯片[U5]的22引脚IOGND、28引脚GND、31引脚GND、36引脚REFD-、40引脚VREFC-、44引脚VREFB-、48引脚VREFA-分别连接第一接口[CN1]的7、5、1、2、8、12、9引脚,第二I/O电路芯片[U5]的33引脚VOUTD、34引脚VFBD连接第一接口[CN1]的3引脚,第二I/O电路芯片[U5]的37引脚VOUTC、38引脚VFBC连接第一接口[CN1]的2引脚,第二I/O电路芯片[U5]的41引脚VOUTB、42引脚VFBB连接第一接口[CN1]的6引脚,第二I/O电路芯片[U5]的45引脚VOUTA、46引脚VFBA连接第一接口[CN1]的10引脚;
所述第三I/O电路包括第三I/O电路芯片[U11],所述主控制芯片[U1]的15引脚PC0、16引脚PC1、17引脚PC2、18引脚PC3、33引脚PC4、34引脚PC5分别与第三I/O电路芯片[U11]的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6相连;
第三I/O电路芯片[U11]的9、10、14、15引脚悬空,2、11、12、13、22引脚接地,1引脚VCCA接+5V电压,23引脚NC、34引脚VCCB接+3.3V电压,第三I/O电路芯片[U11]的3引脚A1、4引脚A2、5引脚A3分别连接第二接口[CN2]的3、2、1引脚;第三I/O电路芯片[U11]的6引脚A4接第一I/O电路芯片1[U8]的2引脚DIR,第三I/O电路芯片[U11]的7引脚A5接第一I/O电路芯片2[U9]的2引脚DIR;
所述第四I/O电路包括第四I/O电路芯片[U10],所述主控制芯片[U1]的65引脚PC8、66引脚PC9、78引脚PC10、79引脚PC11、80引脚PC12、7引脚PC13、8引脚PC14、9引脚PC15分别与第四I/O电路芯片[U10]的21引脚B1、20引脚B2、19引脚B3、18引脚B4、17引脚B5、16引脚B6、15引脚B7、14引脚B8相连;
第四I/O电路芯片[U10]的1引脚VCCA接+5V电压,11、12、13、22引脚接地,23引脚NC、24引脚VCCB接+3.3V电压;第四I/O电路芯片[U10]的3引脚A1、4引脚A2、5引脚A3、6引脚A4、7引脚A5、8引脚A6、9引脚A7、10引脚A8分别连接第二接口[CN2]的34、33、32、31、30、29、28、27引脚;
第四I/O电路芯片[U10]的2引脚DIR接第三I/O电路芯片[U11]的8引脚A6。
5.根据权利要求2所述的低成本高精度在线学习稳定控制器,其特征在于,所述CAN接口电路模块包括第一CAN接口电路、第二CAN接口电路;
所述第一CAN接口电路包括第一CAN接口芯片[U3],第十二电阻[R12]、第十七电容[C17];所述主控制芯片[U1]的70引脚PA11、71引脚PA12分别与第一CAN接口芯片[U3]的4引脚R、1引脚D相连;
第一CAN接口芯片[U3]的2引脚、8引脚接地,5引脚悬空,第一CAN接口芯片[U3]的3引脚VCC同时接+3.3V电压和第十七电容[C17]的一端,第十七电容[C17]的另一端接地,第一CAN接口芯片[U3]6引脚同时连接第二节欧酷[CN2]的24引脚和第十二电阻[R12]的一端;第一CAN接口芯片[U3]的7引脚同时连接第二[CN2]的23引脚和电阻[R12]的另一端;
第二CAN接口电路包括第二CAN接口芯片[U4],所述主控制芯片[U1]的51引脚PB12、52引脚PB13分别与第二CAN接口芯片[U4]的4引脚R、1引脚D相连;
第二CAN接口芯片[U4]的2引脚、8引脚接地,5引脚悬空,第二CAN接口芯片[U4]的3引脚VCC同时接+3.3V电压和第十九电容[C19]的一端,第十九电容[C19]的另一端接地;第二CAN接口芯片[U4]6引脚同时接第二接口[CN2]的16引脚和第十五电阻[R15]的一端;第二CAN接口芯片[U4]的7引脚同时连接第二接口[CN2]的15引脚和第十五电阻[R15]的另一端。
6.根据权利要求2所述的低成本高精度在线学习稳定控制器,其特征在于,所述串口模块包括第一串口电路、第二串口电路;
所述第一串口电路包括第一串口电路芯片[U17]、第四十三电容[C43]、第四十四电容[C44]、第四十五电容[C45];所述主控制芯片[U1]的25引脚PA2、26引脚PA3分别接第一串口电路芯片[U17]的12引脚、11引脚;
所述第一串口电路芯片[U17]的7、8、9、10引脚悬空,第一串口电路芯片[U17]的1引脚C1+接第四十三电容[C43]的一端,第四十三电容[C43]的另一端接第一串口电路芯片[U17]的3引脚C1-,第一串口电路芯片[U17]的4引脚C2+接第四十四电容[C44]的一端,第四十四电容[C44]的另一端接第一串口电路芯片[U17]的5引脚C2-,第一串口电路芯片[U17]的15引脚GND同时接地和第四十六电容[C46]的一端,第四十六电容[C46]的另一端与第一串口电路芯片[U17]的6脚V-相连接,第一串口电路芯片[U17]的16引脚VCC同时接+3.3V电压和第四十五电容[C45]的一端,第四十五电容[C45]的另一端与第一串口电路芯片[U17]的2引脚V+相连接;第一串口电路芯片[U17]的13引脚、14引脚分别连接第二接口[CN2]的9、10引脚;
所述第二串口电路包括第二串口电路芯片[U15]、第二十三电阻[R23]、第二十四电阻[R24]、第二十五电阻[R25]、第二十六电阻[R26]和第四十二电容[C42];所述主控制芯片[U1]的67引脚PA8接第二串口电路芯片[U15]的2引脚/RE、3引脚DE和电阻[R26]的一端,电阻[R26]的另一端接地;主控制芯片[U1]的68引脚PA9、69引脚PA10分别接第二串口电路芯片[U15]的4引脚DI、1引脚RO;
第二串口电路芯片[U15]的5引脚接地,第二串口电路芯片[U15]的6引脚同时与第二十四电阻[R24]的一端、第二十五电阻[R25]的一端和第二接口[CN2]的5引脚相连接,第二串口电路芯片[U15]的7引脚同时接第二十三电阻[R23]的一端、第二十五电阻[R25]的另一端和第二接口[CN2]的6引脚,第二十三电阻[R23]的另一端接地,第二十四电阻[R24]的另一端接5V电压,第二串口电路芯片[U15]的8引脚接+5V电压和第四十二电容[C42]的一端,第四十二电容[C42]的另一端接地。
7.根据权利要求2所述的低成本高精度在线学习稳定控制器,其特征在于,所述电源模块包括线性稳压器[U2]、第一电容[C1]、第二电容[C2]、第三电容[C3]、第四电容[C4]、第五电容[C5]、第六电容[C6]、第九电容[C9]、第十电容[C10]、第十一电容[C11]、第十二电容[C12]、第一电感[L1];
所述线性稳压器[U2]的输入Vin引脚接+5V电压,Vout引脚输出+3.3V电压,GND引脚接模拟地,+5V电压通过两个并联电容第九电容[C9]、第十电容[C10]接模拟地,输出的+3.3V电压的一端通过两个并联电容第十一电容[C11]、第十二电容[C12]接模拟地;第一电容[C1]、第二电容[C2]、第三电容[C3]、第四电容[C4]、第五电容[C5]、第六电容[C6]并联,一端接+3.3V电压,另一端接数字地;第一电感[L1]一端接数字地,另一端接模拟地。
8.根据权利要求1所述的低成本高精度在线学习稳定控制器,其特征在于,所述步骤5中的高精度在线学习位置闭环控制,具体为:
步骤1:首先通过第一CAN口电路读取目标位置值,然后判断是否从第一IO电路读取当前位置值,若是则通过第一IO电路读取当前位置值,确定位置误差值,若否则通过第二串口电路读取当前位置值,确定位置误差值;
步骤2:确定完位置误差值之后,调用P_NNC()函数确定位置环主控制量,具体流程为:
首先计算中间层各单元输入和输出,然后计算输出层各单元输入以及位置环主控制量,然后计算中间层、输出层各单元校正误差,判断误差是否小于设定值,若否则中间层至输出层权值自学习,输入层至中间层权值自学习,调整位置环学习速率,并结束;若是则直接调整位置环学习速率,并结束;
步骤3:利用P_ESO()函数确定位置环补偿控制量,具体流程为:首先计算实际位置值与ESO跟踪位置状态的误差,然后利用可调误差校正增益、非线性函数nfal,估算系统内外总扰动的扩张状态量,最后结合补偿因子,计算补偿位置环控制量;
步骤4:向上位机发送当前位置值及状态,判断是否通过第二CAN口电路输出控制量,若是则通过第二CAN口电路输出控制量,进入步骤5,若否则通过第二IO电路输出控制量,进入步骤5;
步骤5:判断是否结束位置控制,若否则返回步骤1,若是则控制参数保存到E2PROM,并结束。
CN202110672660.4A 2021-06-17 2021-06-17 一种低成本高精度在线学习稳定控制器 Active CN113552798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110672660.4A CN113552798B (zh) 2021-06-17 2021-06-17 一种低成本高精度在线学习稳定控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110672660.4A CN113552798B (zh) 2021-06-17 2021-06-17 一种低成本高精度在线学习稳定控制器

Publications (2)

Publication Number Publication Date
CN113552798A CN113552798A (zh) 2021-10-26
CN113552798B true CN113552798B (zh) 2024-06-07

Family

ID=78130639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110672660.4A Active CN113552798B (zh) 2021-06-17 2021-06-17 一种低成本高精度在线学习稳定控制器

Country Status (1)

Country Link
CN (1) CN113552798B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004592A (zh) * 2007-01-25 2007-07-25 上海交通大学 干扰和时滞不稳定系统的前馈-反馈控制系统控制方法
CN101578584A (zh) * 2005-09-19 2009-11-11 克利夫兰州立大学 控制器、观测器及其应用
CN102981407A (zh) * 2012-11-29 2013-03-20 北京理工大学 一种基于自抗扰控制技术的坦克炮控伺服控制方法
CN103019091A (zh) * 2012-12-20 2013-04-03 北京航空航天大学 一种基于线性扩张状态观测器的柔性航天器容错姿态控制方法
CN103336479A (zh) * 2013-07-27 2013-10-02 南京理工大学 一种伺服电机控制模块

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101578584A (zh) * 2005-09-19 2009-11-11 克利夫兰州立大学 控制器、观测器及其应用
CN101004592A (zh) * 2007-01-25 2007-07-25 上海交通大学 干扰和时滞不稳定系统的前馈-反馈控制系统控制方法
CN102981407A (zh) * 2012-11-29 2013-03-20 北京理工大学 一种基于自抗扰控制技术的坦克炮控伺服控制方法
CN103019091A (zh) * 2012-12-20 2013-04-03 北京航空航天大学 一种基于线性扩张状态观测器的柔性航天器容错姿态控制方法
CN103336479A (zh) * 2013-07-27 2013-10-02 南京理工大学 一种伺服电机控制模块

Also Published As

Publication number Publication date
CN113552798A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
CN1152237C (zh) 基于微机电技术的微型导航系统
Ha Trajectory tracking control for navigation of the inverse pendulum type self-contained mobile robot
CN102955477B (zh) 一种四旋翼飞行器姿态控制系统及控制方法
CN110794877B (zh) 一种车载摄像头云台伺服系统及控制方法
CN104567931A (zh) 一种室内惯性导航定位的航向漂移误差消除方法
CN102087110B (zh) 微型水下运动体自主姿态检测装置及方法
CN103712622A (zh) 基于惯性测量单元旋转的陀螺漂移估计补偿方法及装置
Liu et al. Two-wheel self-balanced car based on Kalman filtering and PID algorithm
CN111580536B (zh) 基于磁场感应控制的输电线路巡线无人机
CN103587688B (zh) 一种用于多旋翼无人施药机的喷头增稳方法
CN113552798B (zh) 一种低成本高精度在线学习稳定控制器
Feng et al. Modeling and implementation of two-wheel self-balancing robot equipped with supporting arms
CN108469269A (zh) 一种宽频惯性基准稳定平台的谐振点测试系统
CN204128560U (zh) 一种四旋翼飞行器惯性测量系统
CN105300407B (zh) 一种用于单轴调制激光陀螺惯导系统的海上动态启动方法
CN109571467A (zh) 双轮差速机器人运动模型标定方法、装置及里程计系统
Jie et al. Design of upright intelligent vehicle based on camera
CN103336439A (zh) 用于汽车稳定控制在环仿真的车身姿态模拟方法及其系统
CN114019787B (zh) 基于elm观测器的平衡自行车滑模控制系统及方法
CN1291714A (zh) 地磁辅助组合导航装置
CN111483455B (zh) 一种无人车的自主平滑转弯控制系统及其控制方法
CN114802200A (zh) 一种智能汽车极限工况下轨迹跟踪和稳定性控制方法
Koch et al. Inertial navigation for wheeled robots in outdoor terrain
Omar et al. Two-wheeled self balancing robot modeling and control using artificial neural networks (ann)
CN2474994Y (zh) 基于微机电技术的微型导航装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant