1 引言
本文采用了自主开发的永磁伺服电机和驱动器,研制出了具有自主知识产权电子套接机控制系统,该电子套接机达到或接近国外样机的性能指标。由于采用自行设计的伺服电机控制系统仅采用了一块TMS320C2407作为控制系统,其需要完成伺服电机的控制,X,Y轴步进电动机控制,以及外部操作面板的显示和键盘接口,采用常规的编程方式难以实时完成如此多的任务,并且由于实时性要求较强的特定,不能移植像UC/OSⅡ这样的嵌入式实时操作系统,为此本文采用了自行设计的实时操作系统的控制方式,达到了电子套接机可在200~3000针的缝纫速度下缝制出多种花样。
2.硬件设计
电子套接机的控制核心采用TI公司的TMS320C2407,其时钟频率为40MHz,外部采用8K的EEPROM用于存储用户的参数设置和新增的部分缝制花样,其硬件框图如图1所示。
TMS320C2407需要根据针杆位置传感器对永磁伺服电动机的初始磁场位置和针杆传感器进行定位,根据设置的缝制图案和伺服电动机的位置控制X轴、Y轴步进电机的移动,控制抬压脚电磁铁和剪线电磁铁的动作。
图1中编码器的脉冲信号和永磁伺服电机的电流传感器信号主要用于对永磁伺服电机的磁场定向控制。控制面板上的显示和键盘设置用于参数的设置和缝制状态的显示。
3实时操作系统的软件设计
根据电子套接机的实现功能和硬件的结构特点,采用了自行设计的实时操作系统,对所需完成的任务进行了分割,确定了各个任务的优先级,编制了特定的软件系统。
3.1任务的分割
电子套接机需要完成如下任务,①伺服电动机的初始磁场位置确定;②针杆的初始位置确定;③缝制图案的初始化;④伺服电机磁场定向控制;⑤伺服电机的加、减速和速度控制;⑥步进电机的方向控制;⑦步进电机的步进脉冲;⑧外部键盘的读取;⑨外部键盘的处理;⑩外部显示的更新;11抬压脚传感器信号、抬压脚控制信号和缝制开始信号的读取;12缝制开始信号的处理;13抬压脚的控制;14剪线电磁铁的控制;15故障的诊断。
根据上述实现功能,划分的任务如图2所示。
初始任务:电子套接机中,初始上电时,套接机需要根据针杆位置的传感器,确定针杆的停针位置,永磁伺服电机也根据针杆位置传感器确定其初始磁场位置,故将任务①和任务②确定为初始任务,在初始任务完成后,系统才进入实时任务的处理之中。
优先级任务1:优先级任务1在时钟中断时执行,其包括永磁伺服电机控制矢量控制,时钟中断标志,本设计中采用计时器1用于伺服电机矢量的控制和时间优先级为70 mu;s任务的计时中断,采用计时器2作为时间优先级为15 mu;s任务的计时中断;其他各任务的优先级,如图2所示。
3.3任务的创建和调度
电子套接机的状态可以分为运行状态、Ready状态、参数设置和修改状态,由OS_Sys-tem( )任务创建、删除和调度各任务。
运行状态:在Ready状态后,当系统检测到缝制开始信号后,禁止OS_Ready( )程序,许可OS_Make_Up( ),由该程序根据预先确定的优先级和时钟脉冲,给步进电机方向控制、X/Y轴步进电机脉冲控制、伺服电机起动和停止、伺服电机加减速任务、抬压脚电磁铁动作、剪线电磁铁动作等任务,发送运行许可信息,调度跟缝制相关的各任务的执行。当缝制完成后,OS_Make_up( )将返回1,OS_System( )将禁止OS_Make_Up( )程序运行,许可OS_Ready( )程序运行。
Ready状态:在Ready按键处理后,OS_Sys-tern将许可OS_Ready( )程序,该程序将首先调度和执行OS-Ready_Init( )程序,完成读取缝制图案的数据,如图案的针数、X轴和Y轴步进电机在各缝制针数时的移动方向和步数,X轴和Y轴的缩放比例,伺服电机的速度等任务,根据各任务的执行时序和预先确定的优先级、时钟脉冲等,为步进电机方向控制、步进电机脉冲控制和步进电机细分设置任务等发送运行请求信号。OS_Ready_Init( )执行完成后,OS_Ready( )将调度和执行OS_Ready_State( )程序,由该程序负责根据外部传感器的状态和键盘状态,给抬压脚控制,步进电机方向控制、步进电机脉冲控制、缝制状态等任务发送运行请求信号,完成抬压脚动作、补针等功能。
参数设置和修改状态:在OS_Ready_Request(系统Ready请求状态)、OS_Ready_State(系统Ready状态)和OS_Makeup_Run_State(缝制状态)都为0时,OS_System( )将运行OS_Parame-ter_Set( )程序,由该程序负责根据键盘的状态参数设置的任务为发送参数设置请求信号。
本设计中的实时操作系统,采用非强占式和强占式的分时操作系统方式,任务优先级为1的任务在时钟中断时调用,为强占式方式,其他各任务都是在相应的时钟优先级中断信号为1时,根据任务的优先级和任务的状态进行执行,任务优先级2~9的任务只能在当前任务执行完后,再选择任务优先级较高的任务进行执行,为非强占式。这样做的主要目的是为了减少系统优先级调度所需的时间,减少堆栈空间的需求,提高系统执行的效率。
4 结论
目前,该控制系统已完成500h的单机性能实验和小批量生产的试用工作,正在进行批量化的生产准备,该系统的进一步设计和修改,可用到程序控制的电脑绣花机上。