伺服与运动控制 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
基于单片机的新型步进电机运动控制器 |
|
作者:匡胤 唐年庆 魏玉华 |
|
摘 要:运动控制器在开放式数控系统中占有很重要的地位。开发了一款基于单片机的新型步进电机运动控制器。硬件部分重点对运动控制器的脉冲分频电路、RS-232通信接口电路、D/A转换电路、V/I转换电路、开关信号输入电路、系统抗干扰电路等进行了设计和分析;软件方面提出了系统的总体架构。
关键字:运动控制 步进电机 单片机 电路设计
1 引言
数控技术是一种采用计算机对机械加工过程中各种控制信息进行数字化运算处理,并通过高性能的驱动单元对机械执行构件进行自动化控制的高新技术。现代机械加工业逐步向柔性化、集成化、智能化方向发展,因此新一代数控技术就必需强调具有开放式、智能化、网络化的特征[1]。本文采用新型微处理器、高性能集成电路,研究开发智能步进电机控制卡。
2 系统总体结构设计
通过对步进电机控制器关键技术进行分析、研究和比较,并综合国内外运动控制器产品智能化、集成化、开放化的发展趋势,我们提出的步进电机运动控制器总体结构如图1所示。
图1 系统总体结构 3 系统硬件电路设计
3.1 脉冲分频电路设计
本系统的主要控制对象为步进电机。步进电机是一种将电脉冲转化为角位移的执行机构,因此产生符合系统要求的步进电机驱动脉冲为整个系统设计中的关键。本系统的脉冲分频电路由图2所示。整个电路采用3片8254来产生X,Y,Z三个轴的驱动脉冲信号,鉴于Y,Z轴的电路与X轴相同,因此图中只表示了X轴脉冲数输出的电路原理。
Inte18254是可编程定时/计数器,片内包含3个独立通道,每个通道均为功能相同的16位计数器,每个计数器的工作方式和计数长度分别由软件编程选择。8254是8253的改进型,操作方式及引脚与8253完全相同。8253计数频率为2.6MHz,8254的计数频率则更高,可达到6MHz。本系统选择8254作为脉冲分频电路的主控芯片。
图2 脉冲分频电路图 3.2 RS-232通信接口电路设计
在单片机系统的通信中,RS-232和RS-485标准总线应用最为成熟。为了使运动控制器的适用范围更加广泛,配合PC的现有接口,我们选用RS-232标准总线来实现控制器和PC的通信,其接口电路如图3所示。在图3中,选用MAX232作为系统的通信接口芯片。MAX232是MAXIM公司生产的低功耗、单电源双RS-232发送/接收发器,适用于各种EIA-232E和V.28/V.24的通信接口。MAX232芯片可以把输入的+5V电源变换成RS-232输出电平所需的±10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。
图3 通信接口电路 MAX232外围需要4个电解电容C1,C2,C3,C4是内部电源转换所需电容,其取值均为0.1μF/25V。C44为0.1μF的去耦电容。MAX232的引脚T1IN,T2IN,R1OUT,R2OUT为接TTL/CMOS电平的引脚。
引脚T1OUT,T2OUT,R1IN,R2IN为接RS-232C电平的引脚。因此TTL/CMOS电平的T1IN,T2IN引脚应接MCS-51的串行发送引脚TXD;R1OUT,R2OUT应接MCS-51的串行接收引脚RxD。与之对应的RS-232C电平的T1OUT,T2OUT应接PC机的接收端RD;R1IN,R2IN应接PC机的发送端。
3.3 D/A转换与V/I转换电路设计
本运动控制器需要对电主轴的转速进行控制,对电主轴的控制通过其驱动器来实现。电主轴驱动器根据输入的电压或电流的大小来确定主轴的转速,因此系统需要输出0~5V的电压或0~20mA的电流,必须将系统处理过的数字量经D/A转换变成模拟量输出。本控制器的D/A转换主要由DAC0832芯片实现。DAC0832是8位微处理器兼容型数/模转换器芯片,是DAC0830系列的一种。DAC0832与微机接口方便,可以充分利用微处理器的控制能力实现对D/A转换的控制,因此在实际中得到了广泛的应用。
不同的电主轴驱动器对输入的信号有不同的要求,有的需要0~5V的电压信号,有的需要0~20mV的电流信号,因此我们同样设计了V/I转换电路,使系统具备了电流信号的输出,增强了系统的适应性。
3.4 开关信号输入电路设计
在步进电机运动过程中,常采用机械式开关和光电开关构成开关信号输入回路,通过开关的闭合或断开,以电平的形式反映步进电机的工况。这包括X,Y,Z轴限位;加工过程中对刀,X,Y,Z轴电机的回零操作等等[2-3]。
由于开关的机械式设计,触点闭合或断开时伴有机械抖动,会使输出信号波形出现振荡。若将该信号输入到微控制器的计数器中,会造成错误的计数而导致系统控制混乱。开关量的输入干扰是系统设计中客观存在的问题。因此在获得开关信号后,我们必须对开关信号进行处理,使其成为单片机可以识别的数字信号后才能做出相应的反应。系统共提供了12路的开关信号接口,限位开关信号处理如图4所示。
图4 限位开关信号处理电路原理图 在开关信号输入CPU之前,首先用电容对其进行滤波,抑制信号中的高频分量。TPL光耦隔离实现了光电开关、限位开关信号和控制器之间的电平转换,并实现了两个不同回路间的隔离,保证了控制器电路不受来自开关信号电路的干扰。
3.5 硬件抗干扰技术
为了克服可能发生的各种干扰,保证系统能够可靠的运行,现有的抗干扰技术在硬件方面采取如下措施[4]:
①抑制电源干扰。传导干扰通常由交流电源端引入系统内部。为了抑制这种干扰,系统通常在交流进线端串接入低通LC滤波器。这种方法在实际中己经取得明显效果,但为了抑制电源浪涌电压的冲击,系统还必须在电源线之间及电源线对地之间分别装压敏电阻。
②抑制传输线干扰。对于系统中传输距离较长的线路通常选用屏蔽电缆来实现系统各部分的连接,以达到抗干扰的目的。在一些应用环境比较恶劣的系统中,为了进一步抑制干扰,可采用光电隔离方式将系统控制部分与I/O口部分分开,并采用双电源供电。
③尽量减小干扰造成的影响。通常的做法有:1)增加硬件看门狗电路。2)增加电压监测电路。3)选择抗干扰能力较强的单片机系列。4)尽可能使用单片机的内部程序存储器和内部数据存储器而不使用外部总线连接这些器件。5)协调好电路中不同类型IC的电平匹配。6)数据总线和控制总线间形成板与板连接时,应加总线驱动器。
4 系统软件设计
系统的主程序由消息循环和初始化程序构成,其流程如图5所示。在系统的主程序中,初始化程序的功能是在系统复位后完成单片机各个特殊功能寄存器的设置、各数据区的初始化、外部硬件设备的设置等操作;系统的消息循环则用来实现消息合法性的判断及消息处理功能模块的调用。
图5 系统主程序流程图 为了能够对消息的合法性进行判断,我们为消息组中的每个消息定义了对应的合法性判断标识位。如果某消息所对应的合法性判断标识位为“1”,则表示该消息是合法的消息,系统应该调用相应的消息处理功能模块对消息进行处理;为“0”则表示该消息是非法的消息,系统应该忽略该消息。为了实现“看门狗”功能,我们还在消息循环中加入了喂狗输出操作。值得注意的是,在系统的串行通信处理模块中,根据接收到的数据进行判断是自动加工,或是手动加工,还是参数设置,分别对消息序列中的标志位进行置位,以保证主程序能够正确实现各处理模块的调用。
5 本文创新点
本系统采用MCS51系列单片机对数据进行处理及对运动状态进行控制,由8254可编程定时/计数器实现脉冲的分频输出,保证了运动控制的实时性要求。为了使运动控制器能够在恶劣的环境下可靠地工作,我们采用X5045集成芯片为主要器件构成低成本、高可靠性的抗干扰电路,实现对步进电机运动控制卡的自动保护。系统投入使用以来,产生直接经济效益50余万元。
参考文献
[1]王正兵,任偲.开放式体系结构-数控系统发展的潮流[J].制造技术与机床,2002,42(1):42.
[2]徐雅晖,程明霄,张玉华.基于80196与PBL3717的步进电机控制系统[J].微计算机信息, 2007,23(4-2):123-125.
[3]荀殿栋,徐志军.数字电路设计用手册[M].北京:电子工业出版社,2003.
[4]宋学君,朱明刚,乌鸿彦.数字电子技术[M].北京:科学出版社,2002.(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(2/11/2009) |
对 伺服与运动控制 有何见解?请到 伺服与运动控制论坛 畅所欲言吧!
|