完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
当今,开放式数控系统正在工业领域得到广泛应用。其中,工控机通过PCI总线连接专用运动控制卡的数控系统为流行。在运动控制卡中,由于DSP采用多总线哈佛结构使得处理指令和数据可以同时进行,因此相比传统控制中的单片机具有更多的优势。同时,运动控制卡与PC机通过PCI局部总线通信,能够达到很高的数据传输速率,从而还保证了数控系统的实时性。
|
|
|
|
系统概述
DSP模块 DSP芯片TMS320LF2407A采用高性能静态CMOS工艺,供电电压仅3.3V;指令周期缩短到33ns。 作为系统的,TMS320LF 2407A主要完成复杂的运动控制算法,比如升降频控制、插入补偿等。本设计主要是完成双轴步进电机控制,故插入补偿采用经典的DDA算法。由于本设计对步进电机采用无反馈控制,这样对步进电机的升降频控制就显得格外重要,这也成了整个系统设计的一个难点。根据步进电机变速过程动力学特性,以指数曲线前段规律作为前后沿的近似梯形波,进而确定升降频特性,这样既能保证步进电机运行过程不会失步,又充分发挥了步进电机的固有性能,使升频过程达到时间短的要求。下面讨论一下升降频控制的算法实现。 升降频控制 为实现所确定的运行频率—时间函数,通常是将其离散化,即将其转换为脉冲时间间隔对脉冲个数的函数。另一种方法是按升降频过程所走过的脉冲步数通过定步中断来变频。但是离散化方法既会引起频率突跳和失步,又要进行复杂的迭代运算,而定步法同样需要进行迭代。这两种方法在DSP上都不易实现且灵活性较差。为此本文研究了一种称为定时的方法。 设运行频率为fh(电机恒速段的速度),升频段总时间为ts。则根据步进电动机指数型升频过程的频率—时间关系: f(t)=fM-(fM-fb)*exp(-t/T) (1) 式中fb为步进电动机起动频率;fM为极限运行频率;T为驱动系统时间常数 则有fh=f(ts)=fM-(fM-fb)*exp(-ts/T) 从而得到 ts=T*ln((fM-fb)/(fM-fh)) (2) 将ts等分为N段,得到各段时间为:ta=ts/N 则在第i个等分段ta内脉冲切换频率和要送出的脉冲数分别为: f[i]=f(i*ta)=fM-(fM-fb)*exp(-i*ta/T)(3) X[i]=ta*f[i] (4) 故升频段的总步数为: P=X[0]+X[1]+…+X[N-1] (5) 将脉冲间隔1/f[i]转换为DSP内部16位定时器的时间常数K[i]。转换关系式为 K[i]=f_DSP/f[i], i=0,1,2…, N-1 (6) 由于降频段特性变化规律与升频段相反,可知降频序列是升频序列的逆序列。 电机在恒速步进阶段,以fh的换相频率步进。因此对应的定时器时间常数为: K[N]=f_DSP/fh (7) 恒速段总步数为: X_h=X_total-2*P (8) 式中X_total为步进电机运动的总步数。 电机运行前,由主程序计算出升频段和恒速段定时器时间常数序列K[i](i=0, …,N-1),存放于DSP的SARAM中,形成一个K-P升速表格。当电机运行时,在线查表,并取出K[i]用于设置DSP的PWM中周期寄存器的值,从而不断改变PWM波形的周期,实现对电机的速度调节。根据升速、降速或高频恒速,决定升速表地址指针增1、减1或不变。通过这种定时的方法,一方面提高了系统的灵活性,可根据输入的频率、起动频率等参数改变升降速表,另一方面升降速表的求取不占用运行时间,从而提高了运行效率。 |
|
|
|
系统的部分软件流程
图2为升降频控制子程序流程图,其中:p_SARAM为指向电机升降速时间常数表的指针,采用DSP的内部SARAM来存放该表;X_up、X_con、X_down分别代表电机在升速段、恒速段、降速段要走的总步数;up_flag、con_flag、down_flag分别代表当前电机的运动状态(升速、恒速、降速)。 DSP与PC机的通信 DSP与PC机的通信通过CY09449连接,CY09449内部带有128KB双向静态SRAM,为了在工作中,使PC机和DSP对SRAM的访问不会发生冲突,本设计中把SRAM均分为两个单元A和B, PC机和DSP对这两部分的操作采用乒乓操作模式。由于DSP具有外部数据存储器扩展能力,所以该SRAM完全可以作为DSP的外扩数据存储器,这样在设计中便采用DSP的外部数据存储器有效信号/DS来作为CY09449的片选信号/SELECT。 DSP的编码接口 本设计也考虑到如果需要对电机进行控制时,就需要对电机进行闭环控制。一般情况下,会运用光电编码器作为系统的闭环反馈元件。由于本设计是针对双轴步进电机的运动,而单轴的光电编码器就输出两相相差为90°的脉冲信号A、B,以及归零信号Z(都是差分形式),这样一共就有6路反馈信号。但是DSP只有两个正交编码单元,所以设计中把DSP的引脚PWM9和PWM10设为通用输入脚。这样,反馈信号经过高速光耦隔离后,就送入到DSP的正交编码接口QEP1/QEP2、QEP3/QEP4,以及PWM9/PWM10,然后由DSP对该反馈信号进行计算处理,从而得出电机的实际运动信息。 |
|
|
|
只有小组成员才能发言,加入小组>>
12399 浏览 0 评论
5859 浏览 3 评论
17651 浏览 6 评论
2686 浏览 1 评论
3338 浏览 1 评论
980浏览 1评论
950浏览 1评论
3284浏览 1评论
1332浏览 0评论
469浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-2 14:19 , Processed in 1.185121 second(s), Total 52, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号