(1)显示更新任务:流程如图3所示。该任务启动后将检测更新信号是否到来。若信号没有到来,操作系统将其从运行状态转入等待状态;若更新信号到来,程序从邮箱中取出中断服务程序发送的各轴计数值或操作检测任务发送的显示设置信息。经换算和比较后,选定频率最高的轴作为基准,将其与另外两个轴的脉冲一同显示在脉冲显示区中,并以正负号的方式在屏幕的方向标志区上指示出各轴的运动方向。随后再根据频率值f和步进电机在单个脉冲下驱动刀具直线运动的距离l计算出实际速度,按照一定比例N衰减后得到显示屏上的各轴运动速度v=fl/N和行进距离s=vt,进而绘制出刀具各轴向的大致行走情况。
(2)操作检测任务:流程如图4所示。该任务启动后将定时进行A/D采样和I/O电平检测,并与上次结果进行对比。如果电位器的电位发生较大的变化或功能选择的I/O电平发生变化时,就将变换值以约定好的数据形式通过邮箱发送给显示更新任务,并发送更新信号量,通知显示更新任务刷新显示屏。
(3)信号捕获中断服务程序:流程如图5所示。
发生中断后首先判断是哪一个轴产生的中断,然后将计数值存放在相应的变量中,并清除计时器的值,接着读取方向信号的电平。在与上一次的计时数值比较后,如果相同,则说明机床在做直线运动,不需要刷新显示屏,程序返回;如果计数值或电平发生了变化,则通过邮箱向更新任务发送相关数据,然后发送信号量通知屏幕刷新。
3 系统测试与应用
经测试,该系统在最高脉冲频率为200 kHz的运动控制芯片驱动下能够正常显示各轴脉冲的比例关系和相应的频率值,并能准确地描绘出如直线、简单曲线和基本弧形等加工轨迹。图示仪的最大响应延时约为30 ms,基本上能满足设计要求。
图6是驱动器最高脉冲频率为20 kHz下加工弧形时绘制的图形。图中弧形约占5π/8,横轴和纵轴的速度比约为2:1。在驱动器允许范围内,频率表与速度成正比,即频率比也约为2:1。图中测试值基本符合理论值。
该系统应用于数控机床实验系统,教学中,取得了较好的实验教学效果,学生反应良好。
4 结 话
在此着重介绍了基于ARM的运动轨迹数字图示仪的设计,分别从硬件设计和软件设计两个方面描述了系统的实现方法。它通过较低的成本,解决了数控研究和教学过程中分析插补算法、插补脉冲和刀具运动轨迹三者间关系的困难问题,在教学实用性上效果明显。