第7章 设置PMAC2用于脉冲加方向控制.doc_第1页
第7章 设置PMAC2用于脉冲加方向控制.doc_第2页
第7章 设置PMAC2用于脉冲加方向控制.doc_第3页
第7章 设置PMAC2用于脉冲加方向控制.doc_第4页
第7章 设置PMAC2用于脉冲加方向控制.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章 设置PMAC2用于脉冲加方向控制脉冲加方向输入格式 PMAC2能够控制脉冲加方向输入的步进电机驱动器,或者这种格式下的替换步进的伺服驱动器,PMAC2能控制这些驱动器既可以在开环模式下,实际上是通过内部的子程序将脉冲串引入到自己的编码计数器,建立一个伪闭环,也可以在闭环模式下实际上是将外部设备的反馈连接到PMAC2建立其它闭环。 PMAC2使用板上的全数字脉冲频率调制(PFM)电路建立它的脉冲和方向信号。这个电路重复地把最新的指令频率值加到一个累加器中。其可编程的计数率高达40MHz当累加器向上溢出时,产生一个正方向的信号,当累加器向下溢出时,产生一个启方向的,信号输出的脉冲串的频率正比于指令值,而且不存在模拟脉冲发生器的偏移,波形失真等问题。硬件连接 PMAC2根据硬件配置其接口可连接4轴或8轴,分别是1 4轴或1 8轴每一个轴的接口有3个指令输出寄存器,标号为A、B、C(例如:3A、3B和3C),每一个标号都有它们自己的输出线,PFM电路对每一个轴使用指令输出C寄存器,因此输出信号线是C寄存器。 每个指令输出寄存器有两个差分信号对(4根线),对于寄存器C这些信号对既可以是脉冲宽度调试信号(PWM),也可以是PFM信号,这两种信号的选择是通过PMAC的软件参数实现 的,如下:1、 PWM CTOPn + / DIRn +2、 PWM CTOPn - / DERn 3、 PWM CBOTn + / PULSEn +4、 PWM CBOTn - / PULSEn 这里n是轴接口(1 - 8)的号数,这样该管脚可用于对轴n的第三个项端及底端是PWM输出,以控制PWM驱动器,或是PFM输出控制脉冲和方向驱动器,部分端子列出了PWM的标号,但他们总是用于PFM信号,这主要是通过软件来完成的。输出是5x的基分线驱动对,类似于RS-422形式的驱动,可通过屏蔽电缆或双绞线将信号传到很远,这些输出可用于直接输入到大部分步进驱动器,而不论驱动器的电子的还是光电耦合的。在PMAC 100针JMACH连接器上,这些信号在43 46针用于奇数轴输出,在93 96针用于偶数轴输出。在步进电机接口板ACC -8S板上,这也是特价比最好的步进系统接口板,在TB6的1 4针这些信号输出用于控制奇数号轴,而在TBT的1 4针用于偶数号轴。在ACC-8E模拟接口板上,TB2的9 -12针用于奇数轴,TB3的9 12针用于偶数轴,在 101及更新一点的板上这些是可用的,但在 100版本上不行。在ACC 8F数字接口板上,这些信号是通过DB-37的11 14针接到每一个轴。时序控制脉冲和方向信号驱动来自于内部的PFM CLK信号,其频率控制是通过I903或者I907(如下),在PFM CLK控制下脉冲的宽度是通过I904或者I908控制的(如下),输出脉冲呆以是高有效(高电平期间为脉冲,低反之)或者低有效,是通过I9n7控制;缺省时是高有效,DIRn的极性是通过I9n8控制的。脉冲和方向仅只在PFM CLK的上繁荣昌盛沿能够改变,假如一个脉冲的DIRn改变,人将在脉冲的前端立即改变,某些步进驱动器需要在脉冲上繁荣昌盛沿前方向信号一个设定单,这些系统可以通过脉冲信号反向控制I9n7来实现 。方向信号在该状态销存直到下一个脉冲的前端,脉冲信号为真的PFM CLK周期数是通过I904或者I908设置的,因此脉冲为假且保持这一时间,这将保证脉冲的占空比不会超过50%,脉冲信号可以通过I9n7进行反相控制,而设定的脉冲小宽度不会受到干扰。注意:某些较早的步进电机驱动器在软件中设置方向,并且在些期间接收的所有脉冲都做为上次设定方向的脉冲,这就需要一个比PMAC2直接产生的方向时还要长,这样一个简单的外部逻辑使PMAC2在方向改变后吸收第一个脉冲。此外,调整输出脉冲串使其反馈到PMAC2编码器计数器形成假的闭环,因此,这些系统必须有回环电路序列,通常在相同的板子上作为脉冲吸收吸,并且I9n0必须设置为接收外部脉冲和方向(= 0或4,使用内部脉冲设置为(=8),Delta Tau的步进电机接口板ACC 8S含有这个脉冲吸收电路,对于使用ACC 8S的任何通道I9n0将设置为0。参数设置 有几个PMAC2的I变量必须正确设置以使用PFM电路正常工作。这一节将讲述这些变量,(注意:控制DSP GATE ASIC的硬件设置,在PMAC2上是通过I900后的变量,同最早的PMAC设置不同,因为采用了不同的ASICs)全局硬件信号的参数设置。 PFM时钟频率控制:I903,I907,I993 用I变量控制频率,使指令值按照设定的频率输入到累加器中,这个时钟信号称为PFMCLK,在每一个PFMCLK周期中做一次累加,因此累加的频率等PFMCLK的频率,对于给定指令的脉冲频率直接同累加频率成正比。 这具PFMCLK/累加频率在能够产生的脉冲频率上设一上限,绝对限制是PFMCLK/累加频率的1/4,依据于在高速下对最差的频率失真的包容度,许多人将限制他们的最大频率为PFMCLK/累加频率的1/10,因此,他们将选择PFMCLK/累加频率比他们期望的最大频率快10到20倍。PFMCLK/累加频率设置的下限在脉冲频率上可以是累加频率的八百万分之一,作为绝对极限(不带振颤),缺省的频率是10MHz能够提供的有用范围是1Hz到1百分Hz,适合于大范围的应用,特别是细分驱动,对于整/半步驱动器,PFMCLK/累加频率要设置适当的下限,适当的频率一般是1.2MHz或者600KHz。 I903控制轴1到4的PFMCLK频率;I907控制5到8轴的PFMCLK频率;I993控制附加的通道1*的PFMCLK频率,输入到时钟控制电路的信号是39.3216MHz,可进行1,2,4,8,16,32,64或者128分频以得到PFMCLK信号,因此,可能的PFMCLK频率如下:分 频分频数N (1/2N)PFMCLK频率1039,3216MHz2119,6608MHz429,8304MHz834,9152MHz1642,4576MHz3251,2288MHz646611,44KHz1287305,72KHz分频数N用于通过这些I变量确定频率这些变量也可以控制编码器采样频率SCLK,及D/A和A/D的转换时钟频率,DAC CLK和ADC CLK。他们也可以用相同的方法从39,3216MHz向F分频,假如将脉冲串反馈到编码计数器中,则SCLK的频率与PFMCLK的频率相同。PFM脉冲的宽度:I904,I908,I994I904控制轴1到4的脉冲宽度,I908控制5到8轴的脉冲宽度,I994控制附加的通道1*的脉冲宽度,脉冲宽度用PFMCLK的周期来指定,范围是1到255个周期。两个脉冲之间的最小差距等于一个脉冲宽度,因此最小的脉冲周期是脉冲宽度的两倍,这里设置一个最大的PFM输出频率假如更高频率的算法,PMAC2将不产生所需的频率。设置每一通道硬件信号的参数:在8个接口通道的每一个电路中,有几个硬件设置I变量,每个通道10个,I910到I919控制第一个接口通道(通常用于1号电机)I920到I929控制第二个接口通道,依次类推,将字母”n”放在十位数字位中以控制相应的通道n,如I9n6对于第一通道为I916,对于第七通道为I976。输出模式控制:I9n6I9n6控制从通道n的A、B和C指令寄存器输出何种形式的信号,从C寄存器输出PFM信号时I9n6设置为2或者3。输出反向控制:I9n7I9n7控制脉冲信号是否反向,其值为0或1时对应C脉冲是高有效,为2或3对应C脉冲是低有效。PFM方向反向控制:I9n8I9n8控制PFM方向信号的极性,值为0表示正方向为低,值为1表示负方向为低。编码器解码控制:I9n0I9n0控制位置反馈信号的本源及如何进行解码,0到7用于设置外部信号连接到PMAC,在此范围内不同的值确定对信号如何解码,如果你使用实际的反馈将使用其中一个值,一般设为3或者7用于对正交编码信号的4倍频解码。值8用于选择内部产生的PFM信号,并且自动选择脉冲和方向的解码形式。注意不需要外部电缆反馈到PFM信号。假如脉冲串在实际步进驱动器上遇上限制时需要外部进行对PMAC2调整,除使用外部脉冲和方向外I9n0必须设置为0或4,假如方向信号没有反向,I9n0将设为0,当使用步进电机接口板ACC 8S时,调整外部脉冲串到PMAC2反馈I9n0将设置为0。对于外部反馈信号,正确地设置I9n0以使编码器计数器在你希望的方向上向上计数,且必须同输出的方向匹配起来,正的指令值(例如O10指令)必须使计数器向上计数,负的指令值(例如0 -10)必须引起计数器向下计数,你可以设置I9n8让方向反向,也可以改变连线。电机基本操作的参数设置几个电机的I变量必须设置正确以使PFM信号正确,这些寄存器的许多地址,一般 #1电机将使用轴1的接口电路,依次类推,但这不是绝对的。电机有效模式:Ix00,Ix01Ix00必须设为1以通过软件激活电机,并且Ix01必须设为0以告之PMAC2不做换相控制(在这种模式下驱动器做换相控制)指令输出地址:Ix02Ix02告之PMAC2对电机x的指令输出值写到何处,使用PFM,输出必须写到正确的轴的接口电路的C指令寄存器(缺省的是A指令寄存器),对于8个主要通道和蔼个附加通道的C指令寄存器如下表所示:通 道 数地 址通 道 数地 址1Y:$C0045Y:$C0242Y:$C00C6Y:$C02C3Y:$C0147Y:$C0344Y:$C01C8Y:$C03C1*Y:$C0942*Y:$C09C如果电机x使用轴接口通道x,Ix02值如下:表7 2 Ix02所需地址通 道 数地 址通 道 数地 址I102$C004I502$C024I202$C00CI602$C02CI302$C014I702$C034I402$C01CI802$C03C编码器转换表编码器转换表对实际的或模拟的反馈寄存器做初始化处理,在PMAC2中缺省的转换表处理8个主要的编码器通道,加上两个附加编码器通道,在它里面这T个首先做为时基的1/T子脉冲插补,假如实际使用增量式编码器反馈这些设置是可以的。警告在PMAC2里计数器和计时器的地址同PMAC不同,但可以经过表的缺省设置进行,早期投放的PMAC执行软件里,PMAC2的这些地址可能相同是不正确的。因此,假如输出脉冲串作模拟环反馈,最好对数据不进行任何子脉冲插补,这将使PMAC防止在两个脉冲之间产生振颤,在PMAC执行程序编码器转换表窗口,你可以将增量带1/T插补改变到增量不带插补,如果你直接写到表的内部地址,你将把字节$00改成$C0在PMAC2中计数器和计时器的地址在表7 2中所示,这些地址是编码器转换表的源地址。表7 3显示十个编码器通道编码转换表的设置,既可带1/T插补也可不带插补,比如,将前四个编码器通道以缺省转换表改变为不带插补,可使用下面的指令:WY:$0720,$C0C000,$C0C008,$C0C010,$C0C018,表7 3计数器和计时器设置地址计数器/计时器1$C000计数器/计时器5$C020计数器/计时器2$C008计数器/计时器6$C028计数器/计时器3$C010计数器/计时器7$C030计数器/计时器4$C018计数器/计时器8$C038计数器/计时器1*$C090计数器/计时器2*$C098表7 4编码转换表配置入口号设置字地址1/T插补设置不带动/T插补设置结果地址1Y:$0720$C0C000$C0C000x:$07202Y:$0721$C0C008$C0C008x:$07213Y:$0722$C0C010$C0C010x:$07224Y:$0723$C0C018$C0C018x:$07235Y:$0724$C0C020$C0C020x:$07246Y:$0725$C0C028$C0C028x:$07257Y:$0726$C0C030$C0C030x:$07268Y:$0727$C0C038$C0C038x:$07271*Y:$0728$C0C090$C0C090x:$07282*Y:$0729$C0C098$C0C098x:$0729反馈地址:Ix03,Ix04Ix03告之PMAC2在何处得到位置环反馈,而不管是实际的反馈或模拟反馈,这个地址将包含PMAC2的编码器转换表码盘计数器处理过的数据,在一般设置中,在PMAC2上电机x将使用编码器转换表的第x号输入,地睛从$072到$0727,Ix03使用这些缺省值,Ix04告之PMAC2在何处得到速度环反馈,对于模拟反馈,这将设置为与Ix03相同的值。比例系数:Ix08,Ix09Ix08和Ix09将设置到最小以允许设置伺服环增益及优化脉冲串性能提供最大的灵活性,假如没有位置跟随误差(电子齿轮),Ix08和Ix09将设置为最小的可能值1。输出(频率)限制:Ix69对于给定的PFMCLK频率,Ix69控制最高脉冲频率,Ix69在最大值32767时,最大的脉冲频率是PFMCLK的一半,(这将需要通过I904或者I908设置脉冲的宽度为1个PFMCLK周期),通常你需要一个实际最大的频率,设置Ix69的公式为: Max Freq(KHz,MHz)Ix69 = * 65536 PFMCLK (KHz,MHz)比如,缺省的PFMCLK的频率是9.83MHz,并且希望最魇频率是500KHz,Ix69 =(0.5MHz / 9.83MHz)* 65536 =3333警告:电机使用PFM输出使用PMAC内部计算时,Ix70必须设置为0,此餐,可能产生轻微的漂移(Ix70对小数偏移部分有效)设置电机伺服增益参数如果你使用实际的反馈元件,电机将作为一个政党的伺服电机进行调整,如果你将脉冲串反馈到编码器建立一个全电路环路,环路的响应是可预知的,增益的调整可以这里解释的公式进行,无论什么情况,控制环路可在PMAC2中作为执行一个速度模式的伺服驱动器。建立闭环位置响应周有频率25Hz,阻尼比为1(几乎适合于所有的系统),下一节将通过计算设置增益。比例增益:Ix30比例增益Ix30依据下面公式设置: 660000Ix30 = Ix08 *PFMCLK( MHz)比如,缺省时PFMCLK频率为9.83MHz,Ix08缺省为96。Ix30 = 660000 / (96 * 9.83)=700微分增益:Ix31由于环路类似于一个速度环伺服驱动器,并且不需要PMAC2阻尼,因此,Ix31设置为0速度前馈增益:Ix32速度前馈增益Ix32依据公式设置Ix32 = 6660 * Servo Freq(KHz)这里Servo Freq是由I900,I901和I902确定的伺服中断频率,比如缺省的Servo Freq是2.26KHz,(I900 = 6527,I901 = 0,I902 =3)Ix32 = 6660 *2.26 = 15050假如你设置的Ix30跟上面的公式指定的不同,Ix32将从上面公式得出的值反比例改变,例如:假如Ix30为上面计算的一半,Ix32将为上面计算的两倍。积分增益:Ix33,Ix34由于这里没有偏移或者对数字电字环路的干扰,积分增益项Ix33一般设置为0,有些人使用积分增益限制0标志误差,甚至当其他增益没有设置好。假如Ix33设为0积分模式Ix34是对此不相关的,假如使用Ix33,Ix34设为1时仅只在指令速度为零时打开积分增益,Ix34设为0在所有时间都有效。加速度前馈增益:Ix35由于电子环路不存在惯量,因此加速度前馈项Ix35通常设置为零,此外,在速度改变时,某些用户想使用Ix35补偿速度改变的跟随误差,来补偿短时延迟以啬到脉冲发生器中,对于给定的伺服更新时间,最优的Ix35能够在实质上清除所有的加速度误差。陷波滤波器参数:Ix36 Ix39在开环的情况下陷波滤波器参数Ix36 Ix39设置为0,因为电子回路本身不存在波,甚至假如机械系统也存在 波。测试设置参数:准备测试:在开环系统中,你可以只使用PMAC2对设置进行初始化测试因为环路的操作都在PMAC2上面,进行测试时,你需要设置Ix25来禁止位置极限。比如,I125缺省值为$C000,将使用第一个标志,将Ix25改为$2C000禁止极限禁止输入,允许不连接到PMAC进行指令移动。在初始测试中将监视对给定电机的指令位置和速度,在PMAC的执行软件的位置显示窗口提供了监视这些的非常方便的方法,选择窗口的选项用于显示位置、速度、及你要测试电机的跟随误差,在执行软件3.0或更新版本,你可以指定位置或速度的单们(对速度来说是每秒计数,相当于Hz).进行开环测试首先,使用“O”指令(开环输出)来校验频率发生器的运行,这条指令简单放置同指令输出寄存器中的值成正比的值,这将从脉冲发生器产生一个恒定的频率输出,在显示显示窗口可显示恒定改变的位置和稳定非零(对非零指令)的速度,现在你不必但心他们的精确值,正如你建立一个新的指令值。一个“0 - 10”指令将建立一个负的速度和负方向的位置计数。开环测试错误检查假如你在测试时没得到相应结果,应检测下面内容:1、 使用“为什么我不运行?”可以在在执行程序中显示PMAC2固件不允许指令的某些原因。例如:你的越程限位输入必须保持为低,或者通过Ix25禁止限位输入。2、 如果你有示波器或频率计数器,在你的输出管脚上可以观看你是否得到脉冲串,这将帮助你划分问题;你发出一个非0的指令是否得到脉冲,发一个“O0”指不得到脉冲,是因为你产生了脉冲但是没有正确地反馈他们,假如你没有得到脉冲,是因为你没有正确地产生脉冲。3、 定义一个M变量指向Ix02指向的输出寄存器,两次检测以确保这个地址是PFM电路能够驱动的指令输出C寄存器,例如:定义M102 Y:$C004,8,16,S指向指令输出寄存器1C,现在当你发O指令可在执行程序的观察窗口或者终端窗口监视M变量,其值将改变,相当于Ix69*(O指令数值)/ 100。(注意:指令寄存器实际是一个24位寄存器,通过定义M变量以指向高16位,返回值用Ix69限制值为单位)。4、 假如在返回的M变量你没有得到改变,重新检测Ix02和机器接口通道n的变量I9n6,以确保你使用脉冲和方向信号输出。5、 检测反馈路径,首先查看你使用的机器接口通道n的变量I9n0.设置为8将使用内部脉冲和方向信号反馈到编码计数器n,或者对于外部脉冲和方向设置为0或4,接下来,在执行程序的配置菜单下查看编码转换表的设置,他将包含你将使用的正交转换的入口地址和编码计数器n(如上所示)的地址,可以带1/ T插补,但是正确的是不带1 / T插补,记住在PMAC2之前出售的PMAC执行程序中相同源地址的名称可能不正确,检测实际的十六进制地址值(例如:$C000为编码器1,$C008为编码器2)。注意表中结果寄存器的地址(例如:$0720为带一个入口地址)。6、 现在检测Ix03和Ix04,他们将包含如上调整的转换表寄存器结果的地址,这将告诉电机使用转换表中的处理值作为他的反馈。7、 你对当前的脉冲串和他的反馈到码盘计数器和电机位置寄存器进行一次校验,检测你是否得到你期望的频率变化,发一个0100指令,你能在报告速度的窗口检测频率,和/或者在示波器或者频率计上测试脉冲串,检测频率可在n个正的或负的指令值(如:050,0-50,0-100),在你期望的范围内得到适合你的正比于指令的频率值。8、 如果你没有得到正确的频率范围,重新检测设置你的频率PFMCLK的I903或I907的设置,也可以检测在这个PFMCLK频率确定最大频率的Ix69的值。(用0100的频率)。进行闭环测试接下来,通过J/指令闭合环路,位置汇报窗口将保持稳定,并且速度汇报窗口为0,设置手动运行的I变量Ix19到Ix22以得到你想要的速度和加速度,发一个“J+”指令,你将得到按Ix22(你的观察单位)变化率的向上计数,发一个“J -”指令,你将得到相同速率的向下计数。现在你执行一个PMAC限制闭的运动,伺服环增益参数很重要,监视性能最简单的方法是在PMAC执行程序的位置窗口可对当前电机设置为位置显示,速度显示,和跟随误差显示,更详细的分析可通过数据采取绘图。闭环故障检测当这些手动运行出现故障,重要的是看PMAC让电机运行比较反馈脉冲,电机实际运行情况,比如,假如电机停止但是你通过PMAC的位置窗口观看PMAC保存的计数位置,电机是否正确停止,可能包含超过的速度指令,过载,和谐问题,此外,如果PMAC也停止报告,在PMAC的模拟环路有些故障,正确的原因是跟随误差超差引起停止,最可能的是Ix30比例增益值太低及Ix32速度前馈,或者Ix69输出极限。调试当付给三个寄存器零指令,我们可以用示波器观察六个PWM的输出信号。所有的六个波形应50%的工作周期(减去I904设的死区时间),频率由I900决定,所有三个top PWM信号应是相互在一个相内,所有三个bottom PWM信号应是相互在一个相内,对于top信号,有一半周期在相外,观察top和bottom一对信号,你应该可以观察到top信号与bottom信号之间的死区时间。当给A相一个正指令,给B相一个负指令,给C相零指令,这些波形会变化,在示波器上,你会看到PNMATOP1在递增,而PWMABOT1在递减,并且在死区时间内保持,相似的,你会看到PNMBTOP1信号在递减速,而PWMBBOT1信号在北增,且在死区时间内保持。如果可以用模拟电压来表示电流的测量值,那么可以作为诊断的参考值,许多直接PWM驱动器可以通过一个接口板提供模拟电流的输出测量值和A/D转换;对于驱动器,该检测装置很容易设计。如果A/D转换在驱动器实现,你需要进一步测试返些A/D转换的装置,对于A/D转换信号的位置及缩放比例,应参考驱动器手册。建立基本电流环操作 一量你已经正确建立了PMAC2的PWM输出电路,和PMAC2的ADC输入电路。以及所有驱动器和电机之间的电路,你已准备好闭合电流环。PMAC执行程序V3.2及更新版本,具有数字电流环的自动调整和相互调整的程序,许多客房会使用这两种或其中一种程序方法去调整电流环,这些程序还可以确认读回电流环的正确极性。然而你也可以用本节提供的手动指令去闭环电流环。目的接下去测试的目的是为快速设定电流增益而不是稳定的电流响应。可以通过发送给电机一个电流指令并且观察电流的响应。测试电流环是使用PMAC2的“0”指令,去闭环电流环,而使位置环和速度环是开环的。0指令数值的大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论