1.2 下位机软硬件设计
硬件电路控制系统主要包括电源管理、限位开关信号输 入、串口通讯、电机控制和外部存储器。STC12C5A60 单片机是控制系统的核心,单片机通过I/O 口控制三个铣刀和三个磨刀的转动和移动,接收限位开关信号输入,并控制平台的移动。如表 1 所示。
表 1 系统 IO 清单
硬件电路中 IO 口众多,其中伺服电机的控制是关键部分。伺服电机控制加工轴的进给运动。一般伺服电机有三种控制方式: 速度控制方式,转矩控制方式,位置控制方式。本系统中,伺服电机带动相应刀具移动到特定的位置,选择位置控制方式,通过输入脉冲的方向来确定转动的方向,通过脉冲的个数确定移动的距离。
下位机的软件主要包含两个子系统。一是实现基本的 IO 功能,获取传感器信号,控制输出口输出,实现对伺服电机的控制。二是实现通讯协议逻辑,解析上位机通过串口发送过来的命令,根据命令执行控制功能,反馈结果给上位机。
1.3 上位机软件设计
上位机软件通过人机界面获取用户的输入,通过串口与下位机通讯,利用下位机控制机床实现相关功能,实时获取下位机上传的信息,在界面上显示,并进行相应处理。
上位机软件功能包括参数设置、手动加工、单独铣、单独磨、自动铣磨等几个子系统。参数设置中对进退刀量等几十个参数进行设置,参数设置后可以备份与恢复。手动加工主要通过每个轴的单轴运动和每个
磨刀的单独走刀过程来实现对导轨的手动加工,适合机床的调试和在加工完成不满足要求时的补充加工。单独铣可完成铣削加工。单独磨可完成磨削加工。自动铣磨可以一次性完成铣磨加工。
上位机软件采用面向对象设计技术,利用模块化方式,将系统设计为多个开发模块,图 2 为系统的UML 组件图。界面开发利用 MFC 类库。串口通讯基于 MSComm 组件开发。
图 2 系统组件图
铣磨工艺组件是上位机软件的核心部分,实现自动铣削与自动磨削的加工逻辑,通过下位机控制设备完成加工。
铣削通过三把铣刀完成。立铣刀是一个双层铣刀,上层铣刀用来铣导轨的上表面,下层铣刀用来铣齿条槽。左右卧铣刀分别用来铣削导轨的左右侧面。三个铣刀都是一刀铣完整个平面,并且只铣削一次。铣削加工程序流程如图 3 所示。
图 3 铣削程序基本流程
磨削通过三把磨刀完成。卧磨刀用来磨削导轨上表面,左右立磨刀用来磨削导轨左右两侧面。磨刀每一次的进刀量比较小,需要多次进刀,才能完成磨削加工。磨削加工程序流程如图 4 所示。
图 4 磨削程序基本流程
由于砂轮在磨削过程中存在损耗,系统内置补偿算法,由用户调节补偿系数,每一次走刀,系统自动进行微小进刀,补偿磨损量。
1.4 通讯协议设计
上位机与下位机之间必须定义严格的无二义性的通讯协议,才能协同工作。面向机床铣刀,定义出系统中主要的刀具名称,分别为上铣刀、左铣刀、右铣刀、卧磨刀、左立磨刀、右立磨刀,平台朝前移动为前进,朝后移动为后退。每条命令,第一个字节为命令字,命令字大于 A0。如果带有参数,则附加两个 BCD 码字节。移动数据以 mm 为单位,进刀量和补偿量以 μm为单位,均为绝对坐标。起始点为绝对坐标零点。协议中设计了 62 个命令字,通过这些命令,上位机可以通过下位机实现各种控制功能,并可以从下位机获得反馈信息以及限位开关状态信息等。