嵌入式系统在大射电望远镜5米模型上悬索控制中的应用.docx

上传人:安*** 文档编号:17776165 上传时间:2022-05-26 格式:DOCX 页数:11 大小:21.71KB
返回 下载 相关 举报
嵌入式系统在大射电望远镜5米模型上悬索控制中的应用.docx_第1页
第1页 / 共11页
嵌入式系统在大射电望远镜5米模型上悬索控制中的应用.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《嵌入式系统在大射电望远镜5米模型上悬索控制中的应用.docx》由会员分享,可在线阅读,更多相关《嵌入式系统在大射电望远镜5米模型上悬索控制中的应用.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式系统在大射电望远镜5米模型上悬索控制中的应用介绍了ARM9和嵌入式实时操纵系统C/OS-II在大射电望远镜5米模型上悬索控制中的应用。介绍了基于ARM9处理器Atmel公司的AT91RM9200的触摸屏、LCD等电路的设计。分析了用AT91RM9200产生6路独立的PWM信号的方法。给出了在嵌入式实时操纵系统C/OS-II下的多任务应用软件的设计实例,并成功实现了六轴联动。“大射电望远镜FASTFivehundredmeterApertureSphericalTelescope预研究是中国科学院知识创新设计方案1。通过六根悬索驱动馈源舱完成馈源的大范围跟踪,保证馈源舱的定位精度在50cm

2、以内。为验证方案的可行性,实地已建造了50m缩比实验模型。现由于实际需要,还建立了5m缩比实验模型以下简称FAST5m。5m缩比模型的馈源舱一级粗调由自动调整和手动调整组成,自动调整由工业控制计算机实现,手动调整主要目的是把馈源舱调到指定位置,为自动调整作预备。手动调整分为点动调整和准确调整两局部。为了调整方便,需要LCD和触摸屏,并要求较高的实时性,加上复杂的控制程序,这就需要更高的CPU处理速度和更大的系统内存,因此选用32位ARM处理器并且使用嵌入式实时操纵系统。本文具体讨论AT91RM9200和C/OS-II在5m缩比模型的一级粗调中手动调整的运用。1系统硬件的组成现FAST5m试验模

3、型只用一个控制柜,控制六台沟通伺服电机调整六根索来控制馈源舱的位置,类似于六轴联动。需要六路独立的脉宽调制信号PWM,整个硬件框图如图1。1.1AT91RM9200及其外围电路AT91RM9200是Atmel公司推出的一款用于工业控制的ARM9处理器,它基于ARM920T内核,工作在180MHz频率下,运算速度可高达200MIPS2。AT91RM9200集成了丰富的系统外围和应用外围及标准的接口,集成了高速片上SRAM和低延迟的外部总线接口EBI。高级中断控制器AIC、外围数据控制器PDC、电源治理控制器PMC集成了USB2.0接口、以太网10/100BaseTMAC控制器,这些接口极大地扩展

4、了外部器件的种类3。AT91RM9200内部只有16KB的SRAM,远远不能知足应用程序的要求。为了能运行嵌入式操纵系统和运用程序的要求,需要扩展外部SDRAM及Flash。1.2LCD和触摸屏接口电路在FAST5m模型手动调整中,采用了LG推出的LB06V2显示屏TFT-LCD和触摸屏,其面板尺寸6.4英寸,分辨率4806404。LCD触摸屏的接口电路如图2所示。LCD控制芯片采用Epson公司的S1D13506。该芯片内部不带显存,需要扩展FPM/FDO-DRAM。考虑到整个界面操纵在图形形式下,需要较大的显存,采用OKI公司的MSM5118155F的16Mbit动态存储器EDORAM。S

5、1D13506驱动LB06V2显示屏需要的60MHz的BUCLK时钟由AT91RM9200提供,25MHz的CLK1和12.5MHz的CLK2由ICS1523提供,AT91RM9200通过I2C总线控制ICS1523输出的所需CLK1和CLK2的频率,以适应不同规格的LCD或者VGA需求。由于S1D13506访问RAM需要等待70ns,这造成LCD显示速度比拟慢。本系统并不需要频繁切换图形界面,主要考虑到AT91RM9200是一款很合适工业控制用的高速ARM处理器。AT91RM9200集成了SPI控制器,可与触摸屏控制芯片ADS7846直接相连接。这使电路设计简单,还可以高速地进展数据传输。本

6、系统中SPI的CLK工作在14kHz,完全能保证ADS7846转换的数据准确传输到AT91RM9200。1.3电机控制接口电路AT91RM9200有六个一样定时/计数器TC,可用这六个TC产生12路PWM信号,固然一个TC可产生两路PWM信号,但是这两路PWM频率一样,只是脉冲宽度不同。图3是其中一个TC的局部原理图。本系统中TC控制沟通伺服电机频率控制电机的速度,8254控制脉冲的个数控制电机的角位移。其根本工作原理:把TC配置成产生波外形态,选择AT91RM9200内部时钟或者外部时钟作为16位TC的时钟源,启动计数器CLKSTA,TC从零开场计数。当TC中的值与RA中的值相等,输出控制器

7、可使TIOA输出高电平;当TC中的值与RC中的值相等,输出控制器可使TIOA输出低电平,同时复位TC,使TC重新计数。这样可产生方波信号。RC的值控制TIOA输出脉冲的频率,RA和RC可控制PWM的占控比。当TC的值到达RA、RB、RC的值时还可产生中断,也可把这些中断屏蔽掉。这样产生的PWM频率可从几赫兹到几兆赫兹。TIOB产生PWM信号的原理与TIOA完全一样。本系统中把TIOA配置为脉冲输出口,TIOB为外部事件触发输入口即伺服控制卡中的脉冲计数卡产生的中断,当伺服控制卡中的脉冲计数器8254计数到设定值时产生中断,由TIOB通过RS触发器停顿TC计数。这样可实现伺服电机的速度和位置控制

8、。伺服控制卡的脉冲计数器的核心器件是两片82545,可进展六路独立的脉冲计数,如图4所示。2软件开发由于目前大局部基于ARM9的嵌入式系统一般用Linux,用于实时性要求不高的的设备。采用C/OS需要写ARM9启动代码,初始化SDAM、FLASH、USRT、SPI、触摸屏控制芯片、LCD控制芯片等。写这些底层驱动代码时,在Linux网站开放的源代码很值得借鉴和参考。2.1嵌入式实时操纵系统C/OS-II目前商用的嵌入式操纵系统产品很多,特别成熟,并且提供了强大的开发和调试工具,但开发本钱昂贵且大局部不提供源代码,并不合适小型系统的开发。C/OS-II面向中小型嵌入式系统,其主要特点:公开源代码

9、、可移植性、可固化、可裁减、支持多任务、具有可确定性等4。本系统不需要网络和文件系统,C/OS-II是一个很合适本系统的嵌入式系统。C/OS-II的移植经过比拟简单。它在ARM7处理器上的移植相当成熟。在AT91RM9200上的移植与ARM7处理器上的移植类似,由于篇幅的限制,本文不详细介绍C/OS-II在AT91RM9200上的移植经过。C/OS-II要求用户提供一个周期性的10100次/秒时钟源,实现时间的延时和超时功能4。AT91RM9200内有一个PeriodInteralTimerPIT,它是一个十六位的减法计数器,使用它很轻易给C/OS-II提供10100次/秒时钟节拍。PIT计数

10、器产生时钟节拍为100次/秒的程序代码如下:voiduCOS_TickInitvolatileintstatus;AT91F_AIC_ConfigureItAT91C_BASE_AIC,AT91C_ID_SYS,1,0,OS_CPU_IRQ_ISR;/配置PIT中断AT91F_AIC_EnableItAT91C_BASE_AIC,AT91C_ID_SYS;/PIT产生中断使能AT91C_BASE_ST-ST_IDR=AT91C_ST_PITS;status=AT91C_BASE_ST-ST_SR;AT91C_BASE_ST-ST_PIMR=327;/为C/OS产生100Hz的系统时钟AT91C

11、_BASE_ST-ST_IER=AT91C_ST_PITS;2.2应用程序基于C/OS-II的应用系统工作时,首先初始化CPU;接着进展操纵系统初始化,主要完成任务控制块TCB初始化、TCB优先级表初始化、空任务的创立等;然后开场创立新任务;最后调用OSStart函数启动多任务调度。应用程序的编写主要考虑任务怎样划分、任务的优先级、任务之间的通讯。本系统靠触摸屏实现人机接口,故把检测触摸屏状态设为优先级最高,每10ms检测一次触摸屏状态。控制界面采用类似Windows的控件编程方式,把每一个控件看作一个任务来处理,以手动精调控制界面见图5为例,上面有10个控件:控制电机位置的滚动条控件6个、控

12、制馈源舱运动速度的滚动条控件1个、6台电机位置复位按钮控件1个、切换到自动控制和手动控制按钮控件各一个、电机启动控件1个,加上前面的触摸屏检测任务,在此需建11个任务。它们之间靠消息通讯,触摸屏任务主要完成给其它11个任务发消息。每当检测到ADS7846产生PENIRQ,通过SPI接口向ADS7846发送A/D转换和读A/D转换结果指令,把结果转换到当前触摸屏按下点的坐标值,再把这个坐标值以消息的形式发出去,然后调用OSTimeDly1函数延时10ms。其余10个任务调用OSQPend等待消息坐标值,如坐标值在此控件内,触发相应的事件。其程序局部代码如下:viodmain初始化硬件;OSIni

13、t;OSTaskCreateTouchSreen,void0,OS_STK&TouchStk500,4;/创立触摸屏任务OSTaskCreateMotorRun,void0,OS_STK&RunTaskStk8000,6;/创立电机RUN任务OSStart;/启动多任务voidTouchSreenvoidpdataOS_ENTER_CRITICAL;COS_TickInit;/为C/OS-II提供100Hz的系统时钟OS_EXIT_CRITICAL;Ads7846_Init;/初始化触摸屏控制芯片while1ifADS7846_Int_Flag=1/是否触摸屏按下OSTimeDly1;/延时1

14、0ms发送A/D开场转换指令;读A/D转换的结果;发送消息即触摸屏按下的坐标值;ADS7846_Int_Flag=0;OSTimeDly1;要实现六轴联动,就必须在程序中参加控制算法。由于悬索与馈源舱控制系统具有准确模型难以得到、变构造的特点且控制精度要求较高,可采用的算法能用于动态未知的系统,并能实时适应受控对象的变化,采用非参数模型自适应控制算法6。把这种算法加在RUN按钮事件下。本程序中还有很多中断效劳程序,都放在OS_CPU_C.C中。例如,为了使电机运转连续以保证悬索馈源舱系统做平稳的扫描运动,要求当前伺服指令执行后需要更新脉冲的频率RC的值和脉冲计数的个数8254在几毫秒内完成,同

15、时又要有很好的实时性,必须采用中断效劳方式实现。3测试作者编写了底层硬件的驱动,把C/OS-II成功地移植到AT91RM9200上,并编写了基于触摸屏图形控制界面。本系统中有三个可相互切换触摸屏图形控制界面,其中手动精调控制界面见图5。本系统输出的脉冲可从7Hz到几MHz,AT91RM9200中TIOA见图3最高可输出15MHz的脉冲,但由于8254计数器的最高计数频率为10MHz,制约了整个系统的脉冲输出频率,这完全可以知足一般的伺服驱动器的要求。选择TC计数器见图3的CLK为TIMER_CLOCK27.5MHz,RA=1,RC=3,这时输出的频率应为CLK/RC=7.5/3=2.5MHz,

16、占空比为RC-RA/RA=2,输出电压的平均值为3.32/3=2.2V,用Fluke196C示波器测得实际输出波形与理论完全一致,如图6。本系统在大射电望远镜5米模型上通过调试,运行良好。目前ARM处理器绝大局部都用于手持设备,对实时性要求不高,但工业控制中要务实时性高。本系统也只用到AT91RM9200处理器的局部资源,从某种角度上讲是有点浪费,但作者把ARM9处理器和C/OS-II用在工业控制上是一次尝试,从控制的鲁棒性都证实了AR91RM9200和C/OS-II在控制电机多轴联动的效果是令人满足的。如充分利用AT91RM9200集成的USB2.0接口、以太网10/100BaseTMAC控制器,完全可以知足复杂的工业控制。随着嵌入式系统和ARM处理器的开展,ARM处理器在工业控制中会越来越多。0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁