文章编号;1007-757X(2019) 10-0152-03基于FPGA的数控机床步进电机高精度控制刘武常陈锋2(1•西安航空职业技术学院航空制造工程中心,西安7108;2.西安飞豹科技有限公司,西安7100)摘 要:为了实现基于FPGA的数控机床步进电机的高精度控制,设计了对应的控制模块。根据综合线性速度控制函数.微
控制器(STM32F103)给出具体的控制指令,FPGA据此生成控制信号,步进电机驱动器接收到控制信号后,将控制电流按照 顺序导入步进电机,实现对被控对象的高精度控制。光栅传感器负责采集运行流程.FPGA负责分析并传输所得具体运行成 果至微控制器.微控制器主要起到实时监控和修正的作用。关键词:PFGA;步进电机;高精度控制中图分类号:TG659
文献标志码:AHigh Precision Control of Stepper Motor Based on FPGA for CNC Machine ToolsLIU Wuchang(Aviation Manufacturing Engineering Center, Xian Aeronautical Polytechnic Institute, Xi'an 7108)Abstract: In order to realize the high precision control of stepper motor in CNC machine tools based on FPGA, the correspond
ing control module is designed. According to the integrated linear speed control function, the microcontroller (STM32F103)
gives the specific control instructions. The control signal is generated by the FPGA, and the stepper motor driver receives the control signal and controls it. The current is introduced into the stepper motor in sequence to achieve high precision control of
the controlled object. The grating sensor is responsible for collecting the operation process, and the FPGA is responsible for
analyzing and transmitting the specific operation results to the microcontroller. The microcontroller mainly plays the role of real-time monitoring and correction.Key words: PFGA; Stepper motor; High precision control实现高精度控制目标,该模块的硬件结构如图1所示⑵。0引言数控机床步进电机因控制精度不高,无法对速度参数间
的关系进行有效协调对,步进电机可实现控制信号数模转
换,具备鲁棒性强、控制误差不累计等优点,随着各方面自动 水平的不断发展与完善,步进电机应用领域广泛,包括数控、
计量、器械等。在数控领域中因为控制水平比较稳定,步进 电机是数控机床中的核心控制设备,现阶段对步进电机高精
度控制模块的需求较大,是研究的热点⑴。1高精度控制模块设计1.1整体方案设计图1模块硬件结构图微控制器主要负责实时监控和修正作用•微控制器给出 运行流程的控制指令,根据指令现场可编程门阵列(FPGA) 生成控制信号,控制步进电机的初始化和速度,同时微控制
现场可编程门阵列 FPGA ( Field-Programmable Gate Array)是在PAL、GAL、CPLD等可编程器件的基础上进一
步发展的产物,FPGA是作为专用集成电路(ASIC)领域中的 一种半定制电路而出现的,既解决了定制电路的不足,又克
器接收并显示步进电机的运行状况。在实际数控机床的应
用中会涉及多台步进电机,FPGA能够有效解决这一问题, 可同时控制多台数控机床,并可以精准分配控制指令,对模
服了原有可编程器件门电路数有限的缺点。本文所设计的控制模块结合综合线性速度控制函数的
块控制误差的缩减以及响应效果的提高起到决定性作用。步进电机的正常运行需通过驱动器,FPGA不能同其直
使用,其硬件控制核心使用了 STM32F103微控制器,缩减了
控制误差,使模块响应效果和控制成果得以有效提高,进而
接相连,需传输控制信号至步进电机驱动器,根据控制信号
作者简介:刘武常(1985-),男,陕西省韩城市,实验师,工程硕士,研究方向:机械工程,控制工程。陈锋(1982-),男,陕西省咸阳市•助理工程师,本科,研究方向:机械设计制造及自动控制。• 1 •Microcomputer Applications Vol. 35,No. 10.2019技术交流微型电脑应用2019年第35 <第10期位置的排序,将控制电流依次导入步进电机,模块中的光栅
传感器采集步进电机的运行流程,再由FPGA完成内容的判 断后,将具体运行结果传输给微控制器⑶。1.2微控制器设计微控制器(STM32F103)成本低、携带方便且控制能力较
强,是一款32位控制器,是通过优化8位单片机后产生的, 显著提高了运算速度和转换效率,微控制器能耗低、通信能
力及兼容性较好,电压范围在2 V-3. 6 V之间。微控制器
通信接口类型较多,可实现多方信号的同时、快速传输,提供
了节能工作模块、标准工作模块和休眠工作模块,最大传输
频率为70 MHz。微控制器中重要的功能电路是晶振电路和
电源电路:微控制器可连接为其提供高速标准计时的晶振电
路,或连接为其提供低速精准计时的晶振电路,电容C1和
则由虚拟内存来实现,线接口主要负责对控制指令进行相应
C2负责激励晶振Y(Y的规格为10 MHz),晶振电路如图2
操作(包括编译、重置、写入、锁定和只读)。根据实际情况
所示。FPGA会结合使用分频测试和内部测试,完成对控制指令的
信号转换过程,fpga输出格式为数字脉冲信号的控制信
号。在数控机床实际应用过程中,需步进电机具有初始化、
稳定运转、加减速运转和休眠的运行流程,对于晶振电路的
计时输岀,FPGA需先对其进行分频,然后进行信号转换,步 进电机驱动器将接收经转换后获取的控制信号并对其完成
相应操作。1.4驱动器设计FPGA难以激活步进电机(发出的控制信号能量较低), 需首先放大其控制信号(需循环进行),这一过程由步进电机 驱动器实现。本文选用双相细分驱动器,具备便于携带、精
电源电路为微控制器提供了外接蓄电池、数据传输接口 以及计算机软件接口三种供能模式。电源电路为5 V(考虑
度高、噪音小等优势,为兼顾设计成本与效率,采用光电耦合
信号控制器作为电路中的时钟接口,简化了操作流程。步进
电机在电源(12 V)输出稳定电流的条件下的运行状态为反
电路中的电能损失),电容C1和C4、C2和C3的规格分别为 0.1 mF和10卩F,因此需转换电源电路的电压,本文选择
相转动,在无电流输岀条件下的运行状态为正向转动。步进 电机驱动器电路示意图如图5所示⑹。12 VLT1117稳压管作为转换器,电源电路如图3所示⑷。5 V输入
3 V输出转换器电源接地端电源顺序循环1 电感…电源接地端弱波23£_6_h 1\" 1时钟正极接口 1上接口 1下接口 2上时钟负极X图3电源电路X分区正极分区负极接口 2下71.3 FPGA 设计方向控制信号本文的高精度控制模块在具体设计时,采用的FPGA控
制成果较好且成本低,包括输入/输出端口 148个和引脚210
图5步进电机驱动器电路示意图个,运行温度范围在0—90匸之间,电源输入电压范围在1. 2-3. 5 V间,FPGA工作模式包括分频测试和内部测试两在数控机床中,接口 1与接口 2直接连接步进电机;方
向控制信号器连接分区接口,对于控制信号中控制位置的排
种,进而实现高精度控制步进电机。FPGA与微控制器的接 口连接形式如图4所示⑸。FPGA包含输入线接口和输出门接口的个数分别为5序,由方向控制信号器负责依次对其进行读取与准确输送,
从而使控制模块实现高精度控制被控对象。2控制模块软件设计数控机床中的传统步进电机控制模块中,步进电机加减
速的控制过程一般使用直线或抛物线函数,在模块对被控对
个、20个,门接口 0-7可同时控制8个步进电机,微控制器在控制指令的传输时,需对其传输地址进行控制,这部分功能155Microcomputer Applications Vol. 35, No. 10.2019象的响应速度方面,运算量较少的直线速度控制函数因其效
技术交流徼空电砂应用2019年第35悪第10期实验结果表明在响应效果方面,各控制模块对机器转速
率较高,可使模块对被控对象的响应效果得以提升,其缺点
在于对误差和成果的控制程度较差;抛物线控制函数对模块 的控制误差的降低效果较好,但涉及的运算量大,响应效果
的控制要优于位移(差值在三秒左右),与其他两个模块相
比,本文模块的响应时间更低,且表现出了较强的稳定性,具
有良好的响应效果。质量欠佳。为有效协调这些问题,本文在步进电机高精度控
制模块的具体设计时,融合直线和抛物线的各自优势,采用
(2) 控制误差分析控制误差的确定是通过步进电机的数据转矩(不确定性 较大)实现的,需模块具备较小的控制误差才能提高模块的
了综合线性速度控制函数,实现对被控对象的高精度 控制⑺。高精度控制,相比其他两个控制模块,本文设计的基于FP
步进电机(处于加速运行状态)的加速函数用yxc表示,
整个过程可细分为抛物线用式(1)表示、直线用式(2)表示、
GA的控制模块的输出最接近实验控制指令中的转矩标准,
证明所设计的控制模块的控制误差较好。抛物线用式(3)表示,具体函数式如下:-(1):/(0 =血一』+几(3) 控制成果分析实验机器产生的加工元件的规格同越接近目标规格,模
y (2) :/\"(/) = a/ + c块控制成果越好。实验结果表明本文控制模块的控制成果
(3):/(O =-b(r — ®)2 +£其中,直线加速度由a表示•抛物线斜率由〃表示,步进电机 初始速度由5表示M表示加速时间,九表示第一次加速抛
范围高达[97. 5%,99. 5%],与其他两个模块相比,控制成果
更好,可实现高精度控制。物线的参数,(•表示坐标轴与直线方程的交点位移,/;表示
第三次加速抛物线的参数,由/•表示加速抛物线的总参数,
4总结本文完成了基于FPGA的数控机床步进电机高精度控
具体式如下:/ = 0. 05 X (£ 一九)制模块的设计,为提高模块的响应效果,缩减控制误差,模块
的硬件控制核心使用微控制器(STM32F103),结合综合步进
电机驱动器、现场可编程门阵列等•通过使用线性速度控制 甬数,有效提升了控制成果,进而实现模块的高精度控制。 通过对控制模块进行检测,结果表明该模块响应效果较好,
步进电机在直线的加速阶段速度、抛物线1/2的加速阶段速
度分别用“ d 表示,三者间关系式如下:“=务=a .~2b + tr3个加速阶段此时所能获取的控制指令数量P表示为:实现了误差和成果控制的目标,能有效完成对被控对象的高
精度控制过程。(1):P = - «0)3 + /o(n - [2] 徐伟龙,顾金良,郭睿,等.基于PSD的步进电机控制 < (2):P =号(F — \"2)+心一S)系统[J].传感器与微系统,2015(7):76-78.(3):P= y(z2 -Zf)3 +/o(Z2 -^)当第n个控制指令由微控制器发出时,各加速阶段的加 侯晓方,陶宝峰.数控机床中的步进电机高精度控制模 块设计[J].现代电子技术,2017(8):129-133.速时间r同该指令间的关系式表示为:'11[3] 张纪宽•彭力,陈志勇.基于STM32的双轴监控云台精 + btk-i3/3 -4- fptk-\\ ~ n加-2/3 + /°+ 叫一12/2 + dll — natk-i /2 + c准控制系统设计[J].单片机与嵌入式系统应用,2016 (6):32-35.[4] 王宽,赵巍•张翔宇.基于Mach3的教学型五轴数控机 以一]床控制系统设计[J].天津职业技术师范大学学报, I 乩-i'/3 + + n[i zn—2016(1):37-40.[5] [6] 伍玩秋.机电控制中的高精度步进角度控制器设计 [J].电气传动,2017(8):67-71.减速运行状态的步进电机的减速曲线运算方式与其相 近,表现为和加速曲线呈对称关系。通过对式中各项参数的 调节,对高精度控制的实现具有重要作用,可有效协调步进 电机的速度关系,提高响应效果,获取良好的控制误差和 刘明明,刘志红.基于小型PLC的有轨小车寻线高精 度控制数学模型设计[J].现代电子技术,2017(13): 144-147.成果⑻。[7] [8] [9] 刘洋.数控车床控制系统数学模型的建立和性能分析 [J].教育教学论坛,2016(24):256-257.3仿真实验检测与分析本文实验具体采用对比方式,以机器转速和位移为检测 对象,分析本文控制模块的响应效果、控制误差和成果,在同 等条件下,完成本文控制模块、逻辑控制器(可编程)控制模 潘齐欣,唐型基.基于步进电机控制的仿人机械手臂抓 取移动系统设计[J].科技通报,2016(3):118-121.杨楠,齐芳.数控加工中激光探头的步进电机高精度控 制模型仿真[J].激光杂志,2016(8):49-53.(收稿日期:2018. 09. 28)块与单片机控制模块对相同机器转速和位移的控制[9】。(1)响应效果分析156 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务