- CLK:输入时钟,内部默认位16M,可以修改
- D0~D15:16位或者8位的数据总线。
- A0~A3:有了数据总线,还得知道数据发到那个寄存器
- CSN:片选
- WRN:写时置为低
- RDN:读信号
- RESETN:复位
- EXPLSN:外部脉冲输入
- H16L8:16位和8位选择
- TESTN:测试用
- BUSYN:忙
- INTN:中断发给MCU
- SCLK:系统时钟,为CLK的一半。
- XYZU轴脉冲输出和方向输出
- XYZU轴反馈信号输入,一共AB两组
- 各轴的运动状态,停止时为高,运行时为低
- 各轴都有通用用途的8位输出位,共32位
- 各轴,接受伺服驱动器输入状态的反馈
- 各轴,伺服警告的反馈引脚
- 各轴,超量程,各轴将减速到停止
- 各轴,4个引脚,立即停止的各轴,计数器的锁存
- 各轴外部驱动信号时能,正负信号
- EMGN:紧急停止所有输出信号,为输入。
- 电源和地:13个地引脚和7个VDD引脚。
功能和相关技术参数
脉冲输出的模式有两种,一种是定长输出,一种是连续输出,下面讲述
这个相当于一个梯形,当然需要知道一些重要的参数,范围R,加减速AD,驱动速度,初始适度,和输出脉冲数。
在驱动的时候,可以随时更换脉冲数,包括增减脉冲数。
减速点在频繁更改脉冲数和插补时需要手动设置,加速点和减数点可以改变,MCX314会自动设置在哪里开始减速。
这个相当于一直已某个频率输出脉冲,直到有中断信号或者停止命令。这个主要用于寻找机械原点,示教和速度控制。四个通用输入也可以用来设置中断信号。
速度曲线
速度曲线一共有三种:
当驱动速度低于初始化速度的时候,直接开始恒速运行,这个用于有传感器反馈的零点,随时开始,到零点有传感器反馈立即结束。
就是上面的梯形的例子,一般设置加速后,减速自动计算脉冲个数和减速的位置,如果要单独设置,可以设置WR3的D1位,这个时候,需要手动减速。
简单来说,加速度为两个梯形,上身的过程中,开始是加速度增加,增加到一定值后开始保持加速度,然后加速度减小到0,减速的时候过程正好相反。见下图:
这种情况下,显然有如下的参数要设置,范围,加速度率,加速度和减速度的最大值,也就是什么时候开始保持,然后减小,初始速度,驱动速度,输出脉冲数。
这里出现一种特殊情况,如果还没有过加速度增加的这个过程,就需要减速呢,这样,就会出现一个三角波,这个肯定是不行的,因为我们的速度曲线必须平滑,这样,当S曲线加速的脉冲比总脉冲的1/12大的话,将停止加速,开始减速,这个时候还是一个平滑的波形,如下图:
当然,手动立即减速时,为了速度曲线的平滑,也会是先加速度减小到0,然后再开始减速。
S加速曲线也有一些限制,包括,在定长运动中,速度不能修改,手动强制修改会导致工作不正常,插补运动的时候也不能工作,如果减速到初始速度之前,已经没有脉冲了,或者还有比较多的脉冲没有用完,可以修改脉冲数或者减速参数来避免。
另外还有一个完全S和一个部分S的曲线,完全S就是加速度加到一定值开始减小,不保持。这样,加速度增加和减小是一样的时间,可以根据这个来计算所需要的加速度,并进行设置。
占空比,本来应该是50%的占空比,但是在加速或者减速的时候,占空比会进行变化,只有在匀速区域占空比才不会变化。
但是驱动速度会麻烦一点,因为这个速度是基于SCLK的,也就是说,必须设置为整数倍,否则数个数的时候,会数不准确。实际上,就算不是整数倍,MCX314自己也会进行调整,并且精度控制在125ns,这样实际是不会影响到精度的,因为机械的惯性会吸收这样的误差。
位置管理
每个轴都有2个32位的往返计数器,两个寄存器和当前位置进行比较。
逻辑位置寄存器:既然是位置,就会有一个正向一个反向,并且有一个边界,这个正向和方向寄存器就是逻辑位置寄存器,边界则位比较寄存器。如果逻辑计数器大于比较寄存器,将会减速至停止。
插补
圆形插补只限于两轴,直线插补和位模式插补可以拓展到3轴,插补的时候,所有的计算都是基于AX1,所以必须在插补之前将AX1赋给具体的轴,并且设置好所有的其他参数。
直线插补种,如果遇到了硬件限位或者软件限位,则会立刻停止插补,限位传感器也会导致MCX314停止插补。而其他两种模式不会中断插补。
长轴和短轴,我们将移动多一点的轴称为长轴,另外的叫做短轴。以2轴直线插补为例,只要设置好当前位置,则两个轴需要做怎么样的运动,以达到一个标准的平面斜线,我们就不需要管了,MCX314自己来分配。比如平面斜线,设置方法如下:
WR5=0004H;将AX1设置位X轴,AX2设置位Y轴。
WR6=1200H;设置范围
WR7=007AH;
WR0=0100H;
……
然后设置寄存器,分别设置初始速度,驱动速度,X轴终点,Y轴终点,写入2轴直线插补命令就OK了。
3轴插补跟2轴类似,走的是立体面的斜线,设置坐标位3个而已。如下图:
圆形插补分为顺时针和逆时钟,并且长轴不是固定的,下面可以看出来,0,3,4,7时AX1位长轴,其他位置AX2为长轴。
圆形插补会有一个位置检查,因为圆形插补的时候,会有一个最小的有效位的误差,显然,短轴运动距离更小,落在短轴上比较合适,所以位置检查就会根据这个,在短轴位置停止。比如要进行一个顺时针的圆弧插补,则需要:
定义长短轴
范围
2轴的恒定线速范围
初始速度
驱动速度
圆心X,和Y
终点
顺时针,圆弧插补命令
这里可以看出来,一个是进行恒速,一个进行插补。
位模式插补的脉冲是有MCU来控制的,可以画出任何的图形,比如要画出下面的图形,输出的方块数据如下:
可以看出,XPP和XPM分别表示正向插补和反向插补,显然只有可能一个有数据,另外一个肯定为0,一旦开始插补,则从D0开始输出脉冲。
另外还有一个堆栈计数器SC,这个是用于数据写入到哪个轴的缓冲中的。这样,可以按照顺序来发数据,写入SC=3当然是无效的,因为只有三轴嘛,当SC从2变化到1则开始请求MCU发数据,不至于当SC=0的时候,数据还没有刷新。
这里显然还有一个速度的限制,也就是MCU刷新数据的速度。另外MCX314也有一个速度限制。
文章评论(0条评论)
登录后参与讨论