正文:系统中LPC2294和MCX314AS的复位电路采用上电复位和按键复位相结合(如图3所示)。MCX314AS的复位电压为+5V;LPC2294的复位电压是+3.3V,即

,可通过电阻分压来实现。

,从而可得

当

时,

,考虑到常规电阻没有99K,因此

。

图 3 系统的复位电路
Fig. 3 The reset circuit of system MCX314AS内部同步的时钟信号的频率由外部决定 ,本系统采用了MCX314AS默认的16MHz频率作为时钟信号(见图4)。
同时为了更好地掌握MCX314AS的四根轴是否正常工作,在XDRIVE、YDRIVE、ZDRIVE和UDRIVE的引脚上分别接LED指示灯,某个轴被驱动时,相应的指示灯就会亮。

图 4 MCX314AS时钟电路图
Fig. 4 The clock circuit of MCX314AS 
图 5 MCX314AS和电机驱动器的连接图
Fig. 5 The connection graph of MCX314AS and motor driver 数控机床的现场比较复杂,噪声干扰和高频干扰都比较大,需要对输入系统的信号,主要是一些状态信号进行隔离处理(见图5),以确保系统能够高稳定、高精度、高速地运转。驱动输出脉冲通过线性驱动器AM26LS31输出差动信号,考虑到电磁兼容性EMC,驱动脉冲输出信号连接使用屏蔽双绞线,减少传输线上的干扰,提高系统的稳定性和可靠性。通用信号通过缓冲器76LS06集电极开路输出;其他信号通过光耦隔离和RC滤波之后与电机驱动器相连,从而保证系统可以在恶劣的环境中正常高效的工作。考虑到MCX314AS的最大插补速度为4MPPS,即插补频率的最大值为4MHz(插补周期的最小值为250ns),故系统中的光耦上升沿延时时间

和下降沿的延时时间

的总和应该小于250ns,即

。本系统的光耦采用高速光耦TLP2630。高速光耦TLP2630的上升沿延时时间和下降沿延时时间的最大值为75ns,两者的总延时时间的最大值为150ns,即

,符合该系统的要求。
2.数控系统的软件设计
(The software design of NC system)LPC2294主要完成通信、运行控制算法产生控制指令、MCX314AS的读写操作等多任务。MCX314AS的所有功能都是有特定的寄存器控制,操作MCX314As 对于程序设计来说就是按一定的时序读写其内部的寄存器。MCX314As可“写”的寄存器有:命令寄存器WR0,模式寄存器WR1~3,输出寄存器WR4,插补模式寄存器WR5,数据寄存器WR6~7;可“读”的寄存器有:主状态寄存器RR0,状态寄存器RR1~5,数据寄存器RR6~7。
整个系统的软件编程包括两部分:LPC2294的初始化和MCX314AS的控制程序。LPC2294的初始化主要包括串口的初始化和外部数据总线接口的初始化;MCX314AS的控制程序主要包括软件限位、速度控制、插补模式的选择和相关参数的设置。
3.系统功能指标
(Function indexes of system)通过软硬件的结合,本系统可以实现以下主要的功能指标:
- 各种类型的插补:圆弧插补、直线插补、位模式插补和连续插补。其中圆弧插补和直线插补的插补频率范围为1Hz~4MHz,连续插补的最大插补速度为2MPPS。
- 实时监控:在驱动操作的任何一个状态,命令指定的位置、实际位置、驱动速度、加/减速(加速中、定速中、减速中)等状态都可以通过MCX314AS的状态寄存器(RR1、RR2和RR3)读出,传输到触摸屏上显示,从而实现对系统的实时监控。
- 速度控制:MCX314AS可以以较小的误差合成在其频率范围内的任何频率。每根单独的轴还可以被独立的预置为S曲线或梯形加/减速。对于S曲线或梯形加/减速驱动,输出脉冲的频率范围为1Hz~4MHz。驱动脉冲输出的速度可以在不运行的时候自由改变。
- 位置控制和软件限位:通过逻辑比较计数器和实际位置计数器来实现位置控制,两种的比较结果则可以用来实现软件限位。
下面以直线插补的实现为例,软件部分为:
//*****************直线插补********************************************
//两轴直线插补
void LineI2(void)
{outpw(wr5,0x000e);
outpw(wr7,0x7a); //高字节
outpw(wr6,0x1200); //低字节
outpw(wr0,0x200); //使用0x00命令设置Y轴的R:8000000
outpw(wr6,0x7d0); //初始速度为2000PPS
outpw(wr0,0x204); //使用0x04命令设置SV值
outpw(wr6,0x7d0); //驱动速度为2000PPS
outpw(wr0,0x205); //使用0x05命令设置V值
outpw(wr7,0x00); //高字节
outpw(wr6,0x190); //低字节
outpw(wr0,0x206); //使用0x02命令设置结束点(Y,Z)=(400,200)
outpw(wr7,0x00); //高字节
outpw(wr6,0xC8); //低字节
outpw(wr0,0x406); //置减速命令
outpw(wr0,0x030); //2轴直线插补
return;
}
int main (void)
{PINSEL0 = 0x00000005;// 设置I/O连接到UART0
BCFG2 = 0x1000ffef;
PINSEL2 = 0X0f814914;
UART0_Init();
LineI2(); //两轴直线插补
DelayNS(100);
inpw(rr0); //两轴直线插补的状态信号
while(1);
return 0;
}
实验的结果:用示波器观测MCX314AS的YPP,可以观察到周期为500us的方波;两轴直线插补的状态信号为06H,通过LPC2294的串口可以输出到触摸屏上显示;接YDRIVE和ZDRIVE的指示灯亮。
4.结语
2/3 首页 上一页 1 2 3 下一页 尾页