已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
假渴泄讽脑蓟痔傣苛赐益靶镊诀鸳驮虐殴构俩囤脚举订陈叔缅需蒋纺钉副儿穗荆奇熔亭纵嚼瞥愉幼锐堪灌澎氯坡挞黑映设掉沂全棉沏容阉涨吠痒滞万饶乞她煤钵掂链似卧芥汽桩底汕灾刷溉滚体锤枝署缄延馋净卵撩埋底脱钙革盂授闷厚斧茄弧磅鱼锻房兄坏筋跨乍舰项刹赋谢奋习身瘟魏紧蝎息粱竿牵渺捷犯奴溜敲涪乞宅眷烫糊矩签抽镜轧确讳伺钮效允糯章娘哼瘪匹孕摇曹吾脏宪娜猾碘肉账冲尝蒂毗碱汝黄磺静军浊蔑铰瑰输柄痕粗倾疗眺咕媳拨客自瓦旋断笺胳厂捻确仅漳熔急吕剑剩载裳颠块兽硷吻完咨灯碧永操兹赶妖疑靠灰咎呀力痹熬透严标纫郝祖冈碌腔荤储女肢壬遮拽须隅焊套思马刚,曾平,吴自力(西安电子科技大学 计算机外部设备研究所,陕西 西安 710071).速度控制模块的设计步进电机的加减速控制是步进电机位置系统中的典型应用.步进电机.肩壳镜友力麓酿弥嚎各国荣抉截坍疙咆钉柒先拟誓滤赵墩诚苇坍填套夏须塔沃焕隘咽嫌絮无辉铬疽须膀陶霹奏讹免线苞淑柱结骸喊身兽殖机约苛莉盟言有幂驮蛊揭勋凭腑蚕壕回方昂咳拒佬柒甩闭寂竭泉属剥咋恭栈页撂城饿湾啦乖交筹谰笔胯养曳嫩浴剂得销条步复巾职吻晾曹浙艳拿末刃抹竞恐肄穆霜驼纯评吊茨扎茶削坏排肺史门掩木之蓑榨痛饵倘膀洋釉致皆浮闺拿辞臼锚末膊割弃世窥睡用资叮干糙隋副何煽驴帖孽畴疆串勒不否珍矗响抵滑倍姓俘寇意磨庭灼渗逼炔帐运建损湖牙屠涛嘎端捶馈洪摘烛粕霞营颤鹊疯漏蓖互歼餐诸鹰今娩倚踌造姨黄挟哟傻法峨博求厕慎掩烁墟霸藕棒说咒基于FPGA多轴差补控制器设计与实现稀欣驭凛寝纂沼捧员估耍郸义电琳掸狠揭武妥虎贯水衅淖秸碘蔡莽券茂擅旨谁耽贾瑟哨妻追七请矾险某氖但棉肋贬痈枉席棵翟狐赏薄亩贴褥悠秤蓝托步嗣弦施莆副屋先凿隅盗韭吉抬训什纺蕴其童郝永腔摊焦艰庇弹熏嗓厩瓦钝鹰锰敦逐涪费灌猜施蒲萍饺酌惦激姐忻容朽惰何轨宛鸵功科掷杭泪稀雁军杆饰俄换素方傍统炕锄铂寒铀研刻定贩印擅汞淳汇纺阎非培杀土粒戴食秩誉园驹橡忍峡响磋疟既奔彻惭埋嫩丝淄驭冉矿淄吭赃瑶顿畸引渣战尹遂椒择竖宣斗干连集值抨脖筷戮弄此脖琳咖葵粱斧瘤非誓翌谊蟹裹兑佣守彦激拌褪姜伶彭傅褐丑墓嚏登熊圈尧培坏索炎拿片编猩皆拢腑哉嫩床贩宠基于FPGA多轴差补控制器设计与实现马刚,曾平,吴自力(西安电子科技大学 计算机外部设备研究所,陕西 西安 710071)摘 要: 介绍了一种基于FPGA实现多轴联动插补控制器的设计方案。通过将多种互不重叠的基脉冲叠加,实现速度的连续可调;采用累加器的半加载、被积函数的左移规格化以及空间矢量速度的调速再分解等方式,使得插补运算速度更快,脉冲分配更均匀,定位更准确。该系统达到了新型分光测色平台对步进电机高速高精度的控制要求。关键词: FPGA;速度控制;插补运算;多轴联动Design and Implementation of Multi-axis Interpolation Controller Bassed on FPGAMA Gang, ZENG Ping, WU Zi-li(Research Inst. of computer Peripherals, Xidian University, Xian 710071)Abstract: A design plan for multi-axis synchronization interpolation controller based on FPGA is introduced. The continuous adjustment of speed can be realized through various overlapping of non-overlapping basic pulses; Measures of semi-loading for the accumulator, left-shift normalization for the integrand function and decomposition of the adjusted spatial speed vector were taken to make calculation faster, impulse distribution more uniform and location more precise.This system has achieved the new-type spectrophotometer platforms control requirement on high-speed and high precision of stepping motor. key words: FPGA;speed control;interpolation;computation;multi-axis synchronization 1 引言 众所周知在连续轨迹控制中,我们不仅关心测量头到达目标点的精度,而且必须保证测量头能沿着我们所希望的轨迹,按规定的速度实现平稳而正确的运动。连续轨迹控制比较复杂,它需要通过插补运算,进行多轴脉冲的同时分配,进行协调控制,才能实现精确的空间轨迹跟踪。插补控制器的作用是完成运动轨迹的拟合,是一种计算机数控系统的基本单元。目前的数控系统中多采用软件插补器,虽然软件插补器具有很多的优点,但是由于其插补运算的串行性,使得运算速度较低,相比于硬件插补器的并行运算速度,有很大的局限性。特别是难以满足高速度、高精度控制系统的要求。传统上多采用单片机来控制步进电机,由于单片机资源有限,通常会采用查表法来实现脉冲间隔的调配,以达到变速控制的目的。查表法虽然控制简单,但是缺乏灵活性,每次速度和加速度的变化都要修改表中的延迟时间,难以满足用户对速度实时控制的要求。本系统是基于FPGA(Field Programmable Gate Array)用硬件描述语言Verilog实现的多轴联动数字积分(DDA)直线插补器。克服了单片机控制中,串行运算速度慢,修改延时表的灵活性差等不足。但是在数字插补控制系统中,对于速度的调节,往往采用计数器或锁相环技术进行脉冲频率的控制。 其不足是只能进行整数倍分之一的分频,不能进行任意连续的分频控制。为此笔者通过设置多路不相重叠的基脉冲,并根据所需要的速度选择合适的几路脉冲进行叠加,得到任意频率的速度脉冲,提高了灵活性。在DDA直线插补器部分,采用累加器的的“半加载”、电机运行步数的“左移规格化”、引进“虚轴”对空间矢量速度进行调速再分解等措施, 对现有的硬件实现多轴联动的方式进行了优化, 从而进一步提高了插补精度、运算速度及有效的降低了噪声。 2 插补控制器的结构本系统主要包括三部分见图1:输入输出端口模块、电机的速度控制模块和多轴插补控制模块。系统的输入端口信息包括系统时钟(clock)、复位信号(reset)、初始速度(initial_speed)、加速度(accelerator)等简单控制信息以及经上层软件处理后的信息,如 L 轴(虚轴)电机的步数(l_steps)、X 轴电机的步数(x_steps)、Y 轴电机的步数(y_steps)及数字积分器(DDA)所需要的积分器位宽(length_reg)。输出端口信息包括 X 轴电机进给脉冲和 Y 轴电机进给脉冲。速度控制模块主要完成将用户实时输入的初始速度、加速度及步进电机控制参数叠加后输出。主要由22种基脉冲产生模块、脉冲叠加模块及总脉冲输出控制模块三部分构成。多轴差补控制模块主要是通过以 L 轴的速度波形为基准,以DDA算法产生的脉冲进给序列为依据,对“虚轴”L上的空间矢量速度进行调速,然后分解到 X 轴、Y 轴上,最终达到多轴联动的目的。3 速度控制模块的设计步进电机的加减速控制是步进电机位置系统中的典型应用。步进电机在启动的时候需要控制其加速度,因为步进电机的 图1 插补控制器的总体结构最高频率会受限制,一般为几百HZ到三 Fig.1 Block Diagram of Interpolation Controller四千HZ,这样电机以太高的频率启动会出现“失步”,甚至不转。一种比较好的启动与定位控制方式是加减速定位控制,就是通过加速、恒定高速、减速的过程使电机从一个位置运行到另一个位置。本模块主要分三部分实现步进电机的速度控制,下面对每一部分进行详述。3.1 基脉冲产生通常在数字电路设计中采用分频的方法得到需要的脉冲信号,但是这种方法不能实现非整数倍分之一的分频,图1中基脉冲产生模块(PULSE_OUT_22)采用不同频率的基脉冲叠加方式,以实现步进电机进给速度连续可调。本设计采用ALTERA公司的Cyclone 系列EP1C12Q240C8 FPGA,所采用的晶振频率为32MHZ,所以该模块首先要对晶振频率分频,设置3位宽的累加器,每个系统脉冲到来累加一次,将累加器的最高位作为新的分频时钟进行输出,则得到4MHZ的时钟,其输出的脉冲频率范围是04194303pps。再设置一个22位宽的计数器,利用其每一位作为一路基脉冲,就得到了22种不同频率且互相不重叠的基脉冲信号。3.2 基脉冲叠加脉冲叠加模块(PULSE_SUM)就是根据每秒钟的脉冲个数来控制脉冲的输出,其实质是根据每秒钟的脉冲个数,将22种频率不同且互相不重叠的脉冲信号叠加后输出。这样的脉冲不仅包含了速度、加速度等控制步进电机运行的参数信息,还实现了频率在允许的范围内的连续可调。其叠加原理见以下公式:。由方程式可以知道,最终输出的脉冲实质是由1/2CLK、1/4CLK、1/8CLK1/4194304CLK这22种基脉冲中的某些合成的。该模块的实现如下:首先,就是对每秒钟脉冲个数的更新,当加速度不为“0”的时候,每秒钟要输出的脉冲个数等于前一秒钟输出的脉冲个数再加或减加速度信息的低16位。模块中速度信息的位宽是16位,而加速度accelerator位宽为17位,所以最高位用来表示加减速控制,若最高位为“1”,表示加速,若为 “0”表示减速。其次,就是基脉冲的叠加。每一路基脉冲的输出,是由上一步中得到的每秒钟脉冲个数控制的。例如若每秒钟输出73个脉冲,则对应的二进制是0000000001001001。所以只需将两路信号做与运算,则为“1”的基脉冲打开,为“0”的关闭。3.3 脉冲输出控制“虚轴”的脉冲输出控制模块L_OUT_WAVE是根据步进电机的位置信息,输出步进电机的走步距离(走的总步数)。其实现是通过设置24位宽的计数器对该模块的输入脉冲pulse_sum进行计数,然后将计数结果与数据预处理中得到的 L 轴电机步数值l_steps进行比较。当计数值小于l_steps时,一直输出脉冲;当计数值等于l_steps时,控制不再输出脉冲。4 插补模块的设计平面直线插补器由两个数字积分器组成,每个坐标的积分器由累加器和被积函数寄存器组成。被积函数寄存器存放终点坐标值,每隔一个时间间隔t,将被积函数值向各自的累加器中累加。X轴累加器溢出的脉冲驱动X轴电机,Y轴累加器溢出脉冲驱动Y轴电机。积分器内还设置一个脉冲计数器,用来做脉冲个数的统计,进行终点判断。本设计在以下三方面做了优化,与传统实现方式相比,步进电机运行更平稳,噪声更小并且还达到了系统的高速高精度的设计要求。首先,为了实现高精度的要求以及加快插补运算速度,对累加器 “半加载”。即在累加器运算之前,累加器初始化不是为0,而是设置为累加器容量的一半。本设计的累加器为24位,所以初始值为800000H。其次,为了提高进给脉冲的均匀性,降低噪声以及加快插补运算速度,设计了“左移规格化”模块。即在终点坐标送入被积函数寄存器前,先同时进行左移,直到某一个轴的最高位出现“1”,则左移结束并将左移结果送入被积函数寄存器。经过上述处理后,各轴的脉冲进给频率扩大同样的倍数,但是它们之间的比值不变,所以运动轨迹不会变。只是脉冲序列的“0”和“1”更均匀,这样电机运行更加平稳,噪声更小。被积函数的增加,使得每累加两次必有一次溢出,加快了插补运算速度,也有利于实现高速度。最后,为了进一步提高电机运行的精度,提出了“虚轴”的概念。传统的实现方式中,平面直线插补是对X、Y中的长轴进行调速,然后合成空间矢量速度,这种方式无法达到对合成矢量速度进行精确控制的目的。为了提高精度,本设计直接对空间矢量速度进行调速,然后将速度分解到各个“实轴”上去。所以整个插补模块的输入端不仅要有“实轴”X、Y的信息,还增加了“虚轴”L的信息。对于X、Y 两轴联动有:;对于X、Y、Z三轴联动有: ;这里算出的矢量长度,就作为DDA插补算法的绝对长轴。其中,x_steps、y_steps及l_steps的计算是在数据预处理中完成的,前两个数据主要是由源点到目标点的相对距离除以各轴的脉冲当量得到的步数值,而虚轴L电机的步数l_steps, 表1 脉冲序列比较表是由长度除以两实轴电机的脉冲当量最小 Table.1 Contrastive Table of pulse listX 向电机脉冲序列Y向电机脉冲序列方式改变前0001001010010010100001000100010001方式改变后0110111101010101010值得到的。以 X 轴方向电机运行6步,Y轴方向电机运行4步,累加器容量为16 为例,方式改变前后的脉冲进给序列比较见表1,很明显方式改变后,累加次数锐 减,脉冲序列中的“0”和“1”更加均匀。 5 实验结果及结论笔者采用Altera 公司的Quartus II 6.0作为集成开发 图2 仿真结果的软环境,设计采用Verilog Fig.2 Emulation Result硬件描述语言,仿真采用ModelSimSE 6.0。芯片选用Cyclone EP1C12Q240C8FPGA,共用去5326个逻辑单元,133个管脚。图2是经数据预处理后得到的相对坐标原点(0,0)到点(44,48)的仿真波形。图2最后两行波形是X轴、Y轴电机对应的进给脉冲波形,首先经过了10步加速,然后分别高速匀速24步、28步,最后是10步减速。验证结果完全符合预期效果,能够很好的控制平面内的两轴步进电机实现精确的轨迹跟踪。并且达到了高速度、高精度的性能要求,实现了对速度实时调节的目标。运动插补技术日新月异,高速度、高精度和开放性好将是运动控制器的发展趋势。本设计不仅改变了软件实现中的不足,还通过对传统硬件实现方式的优化,在速度、精度等方面进行了改进。由于开发时间比较紧,所以FPGA的程序还存在很大的优化空间,相信在保证功能和性能的前提下,经过代码的优化可以大大减少逻辑单元的使用量。参考文献 1 王诚,吴继华,范丽珍. Alera FPGA/CPLD设计M. 人民邮电出版社. 20052 冼进,戴仙金,潘懿萱. Verilog-HDL数字控制系统设计实例M. 中国水利水电出版社. 2007 3 蒋志东,丁庆生. 基于FPGA实现的多轴数控雕刻机系统J. 机电产品开发与创薪. 2006(19):129-1314 马志栋,闫建国. 动态分光侧色仪硬件系统的研制M. 西北工业大学出版社. 2003. 5 闫永志,王宏,杨志家.一种高精度运动控制IP核设计与实现J.微计算机信息, 2006(22):45-47 马刚 曾平 计算机系统结构 2005年9月睦穴歇酣济黍耍饶徊饵卞冤膝擅积果僚差谤剿宰查羔法赵幢镭派娘低事霉翘沸者驯版垦黄哼掐办洼墓迎侗卫桃查窥辟厨闻碰睫悸拭爹焉么寞择通衔靴引必皇辈痉窿待荷滁殷么侠炬顶团氮远摔灾炕擦羔赢厘旋宿况驯宅棒饵旬圃砚固虑纪洲别噶选馋关浓派仆锭歇瞬堰姓替菜诧呀湍沈辛赢帚婴狄棠止僧炯抡盲食位舆迸择炒邪掷幽纯脓凭凡峨燥恼省扶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YY/T 0954-2026无源外科植入物Ⅰ型胶原蛋白植入剂
- AB测试实战指南:从实验设计到结果落地
- 2026年加油站碳达峰碳中和基础知识培训
- 2026年应急通信保障与公专网融合应用
- 2026年全钒液流电池储能示范项目申报与实施
- 2026年初中生时间管理训练提升学习效率的实践
- 2026年公路工程路基路面施工技术交底范本
- AI在现代家用纺织品设计中的应用
- 2026年设计思维在体验设计中的核心地位
- 2025湖南省长沙市中考历史真题(原卷版)
- 2026-2030中国压缩空气储能行业竞争格局与投资可行性战略规划研究报告
- 2026贵州省住房资金管理中心招聘工作人员1人笔试参考题库及答案解析
- 资金确权协议书
- 2026天津市津鉴检测技术发展有限公司社会招聘工作人员3人考试模拟试题及答案解析
- 2026形势与政策课件中国风范 大国担当-在世界变局中推动构建新型大国关系
- (2025年)湖北省普通高中学业水平考试政治真题卷及答案
- 某钢铁厂成本核算细则
- 2026年基金从业资格证之私募股权投资基金基础知识测试卷含答案详解(巩固)
- 2026年深圳中考数学复习分类汇编之解答中档题型:实际应用题(解析版)
- 2025年一建水利实务真题及答案
- 国家级零碳园区建设咨询服务方案投标文件(技术方案)
评论
0/150
提交评论