设计基于高速单片机C8051F120和CPLD的高精度大型望远镜的伺服控制器,由单片机实现闭环控制算法、上位机通信和LCD显示控制,CPLD实现增量式编码器计数、电机驱动波形发生以及I/O接口。该控制器可独立进行电机控制,也可配合上位机进行控制,具有实时性和抗干扰能力强、成本低、调试方便等特点。
引言
微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。
在高精度大型望远镜伺服控制应用场所,采用高精度光电编码器作为主要反馈手段,主要有绝对式和增量式编码器。驱动电机的信号有模拟电压输出或PWM脉冲输出,通过调整电压的大小或PWM的占空比来调整电机的速度。系统具有和上位机的通信接口以及一些逻辑输入/输出接口等。大型望远镜是用于跟踪测量空中飞行目标或观测天体目标的精密光学设备。伺服系统是望远镜的重要组成部分,它对于跟踪目标、精确测量目标的位置以及其他参数都起着重要作用。伺服系统的性能会直接影响望远镜的观测能力,对望远镜的高精度伺服控制需要高精度的位置反馈装置,以及高分辨率的PWM驱动脉冲。
本文采用高速单片机C8051F120作为主控制器,与光电编码器接口多为AB正交码和零位信号输入;驱动电机多采用带死区PWM信号驱动有刷直流电机;采用CPLD实现高速光电编码器的AB码计数、计数位数的设定以及32位的可逆计数,同时可以输出高分辨率的带死区的PWM电机驱动信号。本文结合高速单片机和CPLD的优点进行望远镜伺服系统的控制器设计。
1 系统硬件设计
设计采用高速单片机作为主控制器来构成低成本的伺服控制方案。CPLD具有编程灵活、集成度高、开发周期短、成本低的特点,可实现较大规模的数字电路设计。因此,选择一款合适的CPLD可满足伺服控制系统的AB正交码计数和PWM波形产生等电路接口要求,同时大大减小PCB面积,增强可靠性。整个控制器系统原理框图如图1所示。
作为主控制器的高速单片机选择C8051F120。它是完全集成的混合信号片上系统型芯片,主要实现数学运算、控制算法和A/D采集等功能。
C8051F120具有如下特性:
◆高速、流水线结构的8051兼容的CIP-51内核(100 MIPS或50MIPS);
◆真正12位、100 ksps的ADC,带PGA和8通道模拟多路开关;
◆两个12位DAC,具有可编程数据更新方式;
◆2周期的16×16乘法和累加引擎;
◆128 KB可在系统编程的Flash存储器;
◆8448(8 K+256)字节的片内RAM;
◆可寻址64 KB地址空间的外部数据存储器接口;
◆硬件实现的SPI、SMBus/I2C和2个UART串行接口;
◆5个通用的16位定时器;
◆具有6个捕捉/比较模块的可编程计数器/定时器阵列;
◆片内看门狗定时器、VDD监视器和温度传感器。
CPLD选用A1tera公司的低功耗MAXII系列的EPM570T100。它含有570个逻辑单元(LE),等效于440个宏单元;8192位的用户Flash存储器,可满足用户小容量信息存储要求;最大用户I/0数为76,最短访问时间为4.5ns,内部最大时钟频率为304 MHz,完全满足系统设计要求。EPM570T100主要和C8051F120的P1、P5、P6、P7接口,以及和编码器的ABZ码、8路输出和8路输入接口电路相接,实现和C8051F120的数据总线和地址总线接口电路、外部定时中断电路、译码电路、PWM脉冲发生电路、倍频鉴向电路、计数电路、故障保护电路等功能。
LCD显示模块主要显示系统的状态变量值,如位置、速度、编码器值等信息。采用串口电平转换收发器SP3223实现与上位机的两路RS232通信,可完成工作模式(如定点、等速模式),以及数值大小的设定;同时,单片机可实时地将工作状态变量送至上位机,利于数据记录和分析。控制器参数(如比例系数KP和积分系数KI等)也可由上位机进行设置,对于开放式运动控制模块,这是必需的。
另外,设计了8路按键,用于功能参数设置等。如图2所示。光电增量式编码器的接口一般为RS422差分对输入接口。
如图3所示,光电增量式编码器接口电路具有终端匹配电阻和滤波网络电路,可增强抗干扰能力。其中,接口芯片SP489将RS422信号转换为TTL电平。
2 CPLD片上各模块实现
2.1 倍频鉴向和计数电路
经过图3所示的编码器接口电路处理后,输出TTL电平的A1、B1、Z1信号到CPLD。首先,对波形进行整形、数字滤波处理;经过4细分后,进入辨向电路;然后由可逆计数电路完成对脉冲的计数,输出32位的二进制码值;单片机在每个采样周期中读取计数值来获得位置值,通过微分即可得到速度值。望远镜的位置反馈圆光栅输出的AB码频率可达10MHz,高频CPLDEPM570T100完全可以胜任。在CPLD输入端口进行施密特触发和滤波处理,以避免尖峰毛刺干扰,进一步增强系统鲁棒性。
2.2 时钟电路
CPLD的全局时钟为100MHz,对其进行分频提供给内部各个模块,如计数模块电路、PWM处理电路和单片机的中断信号。100MHz可分频成1kHz、500 Hz、50Hz。本设计中,采样周期为1ms,即1kHz采样频率,用于单片机的外部中断信号。在采样周期内,单片机完成对圆光栅计数采样、速度计算、算法实现、PWM控制变量产生,以及过程状态变量赋值等工作。实际测得完成单个电机控制所需的时间为120μs左右,剩余时间可用于实现LCD显示控制和通信功能。可见,利用该单片机可以胜任望远镜伺服闭环工作。
2.3 PWM脉冲电路
功率级采用H桥电路,需要4路带死区的PWM信号,避免直通。如图4所示,首先由100 MHz产生12.5kHz的三角波信号,与单片机输出的数据(0~8000)进行比较,得到1路PWM信号(数据的大小决定占空比的值,O对应O%,8000对应100%),再由该PWM信号产生与之反向的信号。同时,经死区电路得到2路死区时间至少为5μs的PWM信号,以及经电机工作模式控制电路处理得到的4路驱动功率级PWM信号,可控制电机工作在单极性或双极性方式。当需要控制多个电机时,采用上述方法同样处理就行,这就是CPLD灵活性的具体体现。
2.4 其他电路
转台上的限位信号、功率级的故障信号、外部逻辑数字信号等输入到CPLD,进行相应的逻辑处理(如输出使能和停止),从而达到对电机的有效控制和保护。
3 控制算法实现
在控制算法的实现上采用内模控制。其设计思路是将对象模型与实际对象相并联,控制器逼近模型的动态逆。对单变量系统而言,内模控制器取为模型最小相位部分的逆,并通过附加低通滤波器增强系统的鲁棒性。模型和被控对象模型精确匹配时,控制系统的输入等于输出。内模控制能够清楚地表明调节参数和闭环响应及鲁棒性的关系,内模控制器的动态特性取决于内部模型与被控对象的匹配情况。
内模控制原理框图如图5所示。其中,GP(s)为控制对象*****为内部模型,GIMC(s)为内模控制器,Gd(s)为外界干扰模型;x、u、y分别为给定输入、控制量、对象输出,d为外界干扰。在工业过程中,与经典PID控制相比,内模控制仅有一个整定参数,参数调整与系统动态品质和鲁棒性的关系比较明确,故采用内模控制原理可以提高PID控制器的设计水平。由于参数调节简单,此算法利于单片机程序实现。
大型光电望远镜属于大惯量系统,机械时间常数远大于电气时间常数,故可忽略电气时间常数的影响。对象的速度传递函数可简化为:
式中,Tm是机械时间常数,K是增益。因此可以选择内模控制器为:
式中,λ是滤波器参数。如图5所示,点画线内的部分可等效为反馈控制器:
当模型匹配时,存在内模控制系统闭环为一惯性环节。它的时间可以依据需要进行调节,λ值小有利于动态性能,λ值大则有利于增强鲁棒性。对于内模控制器输出不饱和而言,其等效于反馈控制器PI,因而,系统对阶跃输入和阶跃扰动的稳态误差为零,其抗干扰能力与常规PI完全一致。采用增量式PID控制算法,控制变量为:
式中,ek为第k步时刻速度误差,Ts为采样周期,μ(k)为当前控制量输出。
4 实验结果
采用基于高速单片机C8051F120和CPLDEPM570T100设计的伺服控制器硬件平台,实现大型望远镜转台的速度控制,驱动功率级采用H桥双极性功率放大器,反馈采用直径为413 mm的圆光栅,栅道64800,细分1000,分辨率为0.02"/s,采样周期1 ms,控制回路计算时间测得为120μs,包含圆光栅数据读取时间。望远镜的一转台的速度传递函数为:
利用板上的通信口发送实际的速度值(波特率115200bps,1ms发送1次),由上位计算机记录数据,测得的速度响应曲线如图6所示。起始阶段电机以20"/s的低速度运行,中间升至1800"/s,最后达到3600"/s,可见每个阶段的速度都非常平稳。在实际数据处理时,需要对零位信号时刻的圆光栅数据进行处理,因该光栅有零位信号输出,计算速度时要进行合理的辨别方向和大小分析处理。
结语
本文采用高速单片机和CPLD组成望远镜伺服控制器,实现了圆光栅四倍频细分电路、计数模块以及电机PWM驱动控制信号产生,并用单片机实现了内模控制算法、LCD显示和数据通信等功能。最终通过实验验证了该系统的可行性。
全部0条评论
快来发表一下你的评论吧 !