0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机和CPLD的高精度大型望远镜伺服控制器设计

电子设计 2018-08-30 10:36 次阅读

设计基于高速单片机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显示和数据通信等功能。最终通过实验验证了该系统的可行性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43990

    浏览量

    621017
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168331
  • C8051F120
    +关注

    关注

    0

    文章

    8

    浏览量

    11916
  • 伺服控制
    +关注

    关注

    4

    文章

    141

    浏览量

    20272
收藏 人收藏

    评论

    相关推荐

    牛顿反射式望远镜DIY过程全解

    多,并且不存在色差,因此世界上绝大多数的大型望远镜都是折射式。因此,对于我们来说,了解反射式望远镜的原理也是必要的。接下来,简单介绍一下制作原理上的牛顿反射式望远镜的方法步骤。以下步骤
    发表于 08-28 10:25

    天文望远镜自制导星借口

    的双轴电跟手柄,来实现望远镜的自动追踪星星。用的是STC89c516+的MC,一个ULN2003的反相驱动,和四个继电器我是初次接触单片机,第一次DIY,就简单发个帖子。一下是图片:导星接口,用一个USB转TTL实现与电脑的通信这是导星接口与手柄的连接`
    发表于 11-27 12:00

    操作天文望远镜哪这些必须注意

    本帖最后由 望远镜时代 于 2013-6-21 17:23 编辑   文章信息来源于:中国望远镜(wyj.99114.com) 望远镜的工作原理可简单理解为收集光线,并在一段距离外的物体在焦
    发表于 06-21 17:21

    znxsensor 电容传感可以用于天文望远镜镜片微调吗

    znxsensor 电容传感可以用于天文望远镜镜片微调
    发表于 07-11 17:58

    我想请教大神指导关于望远镜图像如何提取

    我这个项目首先是将一个长筒望远镜通过圆通放大进行望远镜内图像放大,然后通过可以调节的仪器进行对放大镜内图像进行提取,通过LED屏显示,经过我调节,图像是看到清,但是LED屏中只是圆形中有图像,现在想让图像铺满全屏,我想知道该怎
    发表于 10-13 20:17

    [原创]第一次从望远镜里看到土星的环(手机+望远镜拍摄)

    `长这么大头一次在望远镜里看到要土星的环,手机拍照留念,赞叹!先看月亮配角主角登场了`
    发表于 12-30 23:39

    PRCXI SC8000系列 林格曼数码测烟望远镜

    望远镜视角放大率10倍2、望远镜观测距离10~1000米3、物镜通光孔径50毫米4、电子林格曼黑度等级0~5级;5、测量精度:0.2级;6、电源镍氢电池/电源DC9V.700mA;7、采样时间连续、1
    发表于 05-19 16:39

    望远镜测距仪的原理是什么?

    望远镜测距仪,是激光测距仪的一个分支,或者叫做远距离激光测距仪。一般它的测距距离是500-3000米。望远镜测距仪,由于采用脉冲法测距,所以其测量盲区在15米左右。测量误差在+/-1米。
    发表于 03-25 09:01

    利用MatLab对天文望远镜系统进行仿真设计研究

    控制精度的高低直接影响了整个天文望远镜系统的精度。主要研究的是在天文望远镜中选用的直流电机,电机系统为双闭环控制结构,利用MatLab对其进
    发表于 09-07 06:10

    一个基于ESP32板和Onstep文件的Goto望远镜控制

    描述该项目包括一个基于ESP32板和Onstep文件的Goto望远镜控制板。
    发表于 07-07 06:23

    自制一个望远镜聚焦

    描述我厌倦了 400 美元和 1000 美元的望远镜聚焦,所以我花了 1500 美元开发了一个聚焦,普通人可以用低于 75 美元的价格自行组装。您需要一个 27:1 比率的步进电机。我喜欢
    发表于 08-16 07:20

    基于STM32的虚拟天文望远镜

    望远镜上,并通过 USB 端口与计算机连接。StarPointer 使用一些板载传感来确定其角度和位置。在获得该信息后,该单元计算望远镜的 RA(赤经)和 DEC(赤纬)坐标,并将这些细节传输
    发表于 08-29 07:31

    单片机在赤道式天文望远镜控制系统中的应用

    本文着重介绍了怎样使用单片机的汇编语言实现自动找星的控制算法,摆脱了以往的望远镜依赖上位机的苦恼,实现脱机找星。关键字:汇编语言,自动找星,控制算法Abstract:
    发表于 07-08 08:28 48次下载

    基于MSP430的小型望远镜防抖系统设计

    为了提高望远镜影像稳定系统的防抖性能,设计了一种小型望远镜防抖系统。采用负反馈闭环控制进行镜片的位置伺服控制,以MSP430F169
    发表于 07-30 09:49 17次下载

    望远镜的原理

    望远镜的原理 望远镜不同于显微镜,如图3—36为望远镜的原理图. 望远镜光路图
    发表于 11-18 10:29 4.1w次阅读
    <b class='flag-5'>望远镜</b>的原理