您的位置:首页 > 其它

Clippper模拟量输出设置

2015-06-10 09:29 253 查看
  Clipper的J3(JMACH1)接口是设备接口,共50针。包括:



DAC输出管脚为:

PIN293130323739384048
signalDAC1DAC1/DAC2DAC2/DAC3DAC3/DAC4DAC4/GND
  Clipper不能输出真正的模拟量,clipper输出的+-10V的模拟量实际上是PWM经过一个10KHZ的低通滤波器产生的。PWM的占空比控制输出模拟量的幅值,这个转换关系由PMAC自动处理。PWM波的频率决定输出信号的分辨率和扰动幅度,PWM频率越高,输出分辨率越低,扰动也越低。

  滤波PWM输出的分辨率和频率均通过I7000控制,改变这个变量还会影响相位和伺服中断。而相位与I7001(phase clock divider)相关,伺服中断与I7002(servo clock divider)和I10(servo interrupt time)相关。因此改变I7000的同时还要改变I7001,I7002,I10的值。这几个变量的具体含义参见《软件参考手册》(2014版)P213,P215,P42。

  另外这些变量的值得计算有一个小软件 Dtcalcs2008,

直接输入想要设置的频率即可得到各个变量的值。

  

  要输出模拟量,首先要进行下面的设置:

I7000 = 1001     //PWM1-4频率设置为29.4KHZ
I7001 = 5        //相时钟频率设置为9.8KHZ
I7002 = 3        //伺服频率2.45kHz
I7003 = 1746     //ADC频率
I7100 = 1001     //PWM频率29.4kHz, PWM 5-8
I7103 = 1746     //ADC频率
I7016 = 0        //输出模式: PWM Ixx69 = 1001 ;DAC输出最大10Vdc
I10 = 3421867    //伺服中断时间
I100=0           //关闭电机
I124=$120001     //关闭限位报警等


注:

I7m00: 第m个伺服芯片(IC)的最大相位频率/PWM频率控制。

range:0-32767

units:

MaxPhase Frequency=117,964.8KHZ/[2*I7m00+3]

PWM Frequency=117,964.8KHZ/[4*I7m00+6]

例如,设置I7000=1001,则

PWM频率=117=117,964.8KHZ/[4*1001+6]=29.41766KHZ

I7m01: 第m个伺服芯片(IC)的相位时钟频率控制

range:0-15

units:Phase Frequency=MaxPhase Frequency/[I7m01+1]

例如,设置I7000=1001,则

最大相位频率=117,964.8KHZ/[2*1001+3]=58.83531KHZ

设置I7001=5,则

相位时钟频率=58.83531KHZ/6=9.805885KHZ

I7m02:第m个伺服芯片(IC)的伺服时钟频率控制

range:0-15

uints:Servo Clock Frequency=Phase Clock Frequency / (I7m02+1)

例如,设置I7m02=3,则

伺服时钟频率=9.805885KHZ/4=2.4576KHZ



I7m03:第m个伺服芯片(IC)的硬件时钟控制

range:0-4095

units:单个时钟分频器

I7m03=SCLK+8*PFM_CLK+64*DAC_CLK+512ADC_CLK

其中:

  编码SCLK频率=39.3216MHz / (2SCLK)

  PFM_CLK 频率= 39.3216MHz / (2PFM_CLK)

  DAC_CLK 频率= 39.3216MHz / (2DAC_CLK)

  ADC_CLK 频率= 39.3216MHz / (2ADC_CLK)

  


I10:伺服中断时间

range:0~8388607

units:1/8,388,608 msec

I7mn6:第m个伺服芯片上第n通道输出模式选择

range:0-3

valuedescription
i7mn6=0Outputs A and B are PWM; Output C is PWM
I7mn6=1Outputs A and B are DAC; Output C is PWM
I7mn6=2Outputs A and B are PWM; Output C is PFM
I7mn6=3Outputs A and B are DAC; Output C is PWM
  根据上面的设置(I7000=1001,Ixx69=1010),DAC1输出电压与M102的关系是M102=1001对应输出10V,分辨率为1/1001*10V=10mV。

  

  一个简单的程序从J3pin29(DAC1)输出正弦波。

  


  程序代码:

  

//****************************       初始化部分
open plc1 clear
i7000=1001
i7001=5
i7002=3
i7003=1746
i7100=1001
i7103=1746
i7016=0
i10=3421867
i100=0
i124=$120001
p1=0
m102=0
//****************************     循环部分
While (p1 < 3600)
m102=1000*sin(p1)
p1=p1+1
If (p1 = 3600)
disable plc1
EndIf
EndWhile
enable plc1


M102的地址是:

  M102->Y:$078002,8,16,S OUT1A command value; DAC or PWM对应J3接口的pin29,这是一个16位的寄存器,带符号,范围是-32768~32767,设Ixx00=0后,通过改变M102的值即可改变输出模拟量的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: