步进电机控制器设计

2024-08-07

步进电机控制器设计(共12篇)

步进电机控制器设计 篇1

0 引言

步进电机是一种特种电机,属于开环控制元件,它可以将电脉冲信号转变为线位移或角位移,在额定负载运行时,电机转动的速度和转过的角度不受负载变化的影响,而是由脉冲信号的变化频率以及脉冲个数决定的,所以步进电机被广泛应用在各种自动化开环控制系统中。CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件属于大规模集成电路,是由可编程阵列逻辑器件和可编程通用阵列逻辑器件发展而来,其主要特点是使用者可以根据实际需求自行设计逻辑功能[1,2,3]。本文采用Altera生产的MAXIIEPM1270芯片设计开发了一款通用的四相步进电机控制器,为四相步进电机的开环控制提供了一种新的方法。

1 四相步进电机的工作原理

四相步进电机按照不同的通电方式有3种工作模式:单四拍、双四拍、四相八拍。四相步进电机对于每一次脉冲信号变化电机转子都会转过一个角位移,这个角位移称为歩距角θ,θ=360°/(转子齿数×运行拍数)。从θ的计算公式可以看出,对于单四拍和双四拍两种工作方式,它们都是四拍运行,所以在这两种工作模式下步进电机的歩距角相同,而四相八拍工作方式的歩距角则是单四拍和双四拍两种工作模式的一半。3种工作方式除了歩距角不同,电机的转动力矩也有所不同,单四拍每次通电脉冲变化只有一相通电,力矩最小;双四拍每次通电脉冲变化有两相通电,力矩最大;四相八拍随着通电脉冲变化一相通电和两相通电交替运行,所以其力矩介于单四拍和双四拍之间。四相步进电机通电脉冲变化顺序如表1所示。

2 基于CPLD的步进电机控制器设计

2.1 分频模块

步进电机的运动过程分为启动、加速、恒速、减速、停止[4]。首先步进电机以启动频率启动运行,然后逐渐加速到电机连续运行频率后以此速度恒速运行,当快要到达终点时,又逐渐减速到启动频率下运行,直到走完规定的步数后停止运行,这样步进电机就可以最快而又最准确地走完规定行程。步进电机运行速度的快慢靠电机脉冲变化速度进行控制,脉冲变化频率越高电机运行速度越快。因此步进电机控制器中应具备分频功能,通过将基准输入时钟脉冲进行分频处理,从而输出可变频率的控制脉冲[5,6,7]。

基于以上分析设计的分频模块集成电路设计如图1所示。CLK为基准输入频率,由外部电路提供。START为启动信号,当START为高电平时模块工作,有脉冲输出;当START为低电平时模块停止工作,无脉冲输出。S1和S0为运行模式控制端,当S1S0=00时,模块处于启动模式,按照电机启动频率输出控制脉冲;当S1S0=01时,模块处于加速模式,输出脉冲频率增大,直至频率上限;当S1S0=10时,模块处于减速模式,输出脉冲频率减小,直至启动频率;当S1S0=11时,模块处于恒速模式,输出脉冲按照当前频率恒定输出。分频模块程序流程如图2所示。

整个分频模块程序由CLK下降沿触发,当CLK下降沿到来时,首先判断START管脚的值,如果为低电平,则程序返回,等待下一次CLK下降沿到来;如果START为高电平,则判断程序内部计数值与预设值的大小,如果计数值小于预设值则计数值加1,如果计数值大于等于预设值则输出电平翻转。输出完毕后,程序判断S1S0管脚的值,如果S1S0=00,将预设值设置为启动频率,实现电机按照启动频率运行;如果S1S0=01,则减小预设值,使输出脉冲频率增大,实现电机的加速;如果S1S0=11,则预设值保持不变,实现电机的恒速运行;如果S1S0=10,则增大预设值,使输出脉冲频率减小,实现电机减速。预设值增大不会大于预设值上限,预设值减小不会小于启动频率。

2.2 控制模块

步进电机控制模块应具有3项功能,首先是电机工作模式控制,实现单四拍、双四拍、四相八拍3种工作模式的切换;其次是对步进电机转动方向的控制,通过改变输出脉冲顺序来实现;最后是应答功能,当电机转过一定的歩距角后向上层控制器发出应答信号,方便上层控制器改变速度控制逻辑,实现电机的准确运行。

基于以上分析,设计的控制模块集成电路如图3所示。CLK是控制脉冲输入,接分频模块的输出。START是启动信号,当START为高电平时模块工作;当START为低电平时模块停止。D是方向控制信号,D为高电平时正转;D为低电平时反转。M是运行模式控制端,当M1M0=00时按照单四拍方式输出脉冲;当M1M0=01时按照双四拍方式输出脉冲;当M1M0=10时按照四相八拍方式输出脉冲。D和M1M0的值只有在START为0时才能进行有效输入,防止电机在运行过程中突然改变运行模式或运行方向对电机造成损坏[8,9]。控制模块程序流程如图4所示。

整个控制模块由CLK下降沿触发,当CLK下降沿到来时,程序读取START管脚值,如果START为低电平,模块停止工作,但是读取M1M0和D的值;如果START为高电平,模块工作并判断M1M0和D的值,根据M1M0和D的组合输出OUT顺序脉冲。

2.3 步进电机控制器连接

将分频模块的OUT与START管脚分别与控制模块的CLK和START管脚连接就构成了整个步进电机控制器,如图5所示。

3 步进电机控制器仿真

3.1 控制器工作模式仿真

在时钟CLK下降沿触发下,令D=1、M1M0=00、S1S0=00,使控制器按照单四拍正转模式以启动频率发出控制脉冲,仿真结果如图6所示。

从图6中可以看出,输出脉冲顺序为A-B-C-D-A-B-C-D,控制器按照单四拍正转方式工作。

3.2 控制器速度控制仿真

在时钟CLK下降沿触发下,令D=0、M1M0=10,使控制器在四相八拍反转模式下工作,通过动态改变S1S0对输出脉冲的变化频率进行调节,从而达到调速的目的,仿真结果如图7所示。

从图7可以看出,在t0时间内,START为低电平,控制器停止工作,脉冲输出为0000,但是在此时间内控制器接收D和M的值;t1~t4时间内START为高电平,控制器工作,输出脉冲按照四相八拍反转方式输出脉冲,ACK应答信号按照每输出8个脉冲输出一个高电平信号,在实际应用中可根据实际传动结构修改此值;在t1时间内,S1S0=00,控制器按照启动频率输出脉冲;在t2时间内,S1S0=01,控制器处于加速阶段,输出脉冲的频率逐渐增大;在t3时间内,S1S0=11,控制器处于恒速阶段,输出脉冲频率保持不变;在t4时间内,S1S0=10,控制器处于减速阶段,输出脉冲频率逐渐减小;在t5时间内,START为低电平,控制器停止工作,输出脉冲为0000。

4 结束语

本文利用CPLD设计开发了四相步进电机通用控制器,可以较完善地完成对步进电机多个工作方式的配置,以及完成对步进电机运行速度的控制。其控制器功能全面,执行速度快,具有良好的实际应用价值。

参考文献

[1]徐伟业,江冰,虞湘宾.CPLD/FPGA的发展与应用之比较[J].现代电子技术,2007(2):4-7.

[2]董秀洁,杨艳,周游.FPGA/CPLD选型与设计优化[J].化工自动化及仪表,2009,36(3):60-63.

[3]周维,何健鹰,聂菊根.CPLD和FPGA编程与配置的实现[J].计算机与数字工程,2006,34(1):100-106.

[4]徐格宁,胡增嵘.电梯速度曲线、行程及时间综合分析[J].中国工程机械学报,2004(4):413-416.

[5]李淳,李建林,李彩霞,等.DSP+CPLD实现CPS-SPWM下的单相多电平脉冲[J].高电压技术,2006,32(8):76-78.

[6]黄丽薇.基于CPLD的串行通信模块设计[J].电子测量技术,2007,30(1):175-177.

[7]王朔,李刚,于学敏.基于CPLD的串并转换和高UBS通信设计[J].单片机与嵌入式系统应用,2002(5):30-33.

[8]杨帆,王自强.电机保护电路设计[J].电力电子,2011(2):34-36.

[9]范克明,刘永平,张月海,等.一种新型的电机保护的理论和方法[J].煤矿现代化,2007(4):52-53.

步进电机控制器设计 篇2

摘要:依思普林产品采用自主开发的1200V/400-800A六单元 IPM模块,电机控制器结构完全针对电动客车应用设计,具有体积小、重量轻、功率密度高、温升低(控制器内部温升比市场同类产品低30℃以上)、长期可靠性高的特点,产品性能达到国际先进水平。

关键词:纯电动客车;电机控制器;设计方案

早在2010年,我在一次去瑞士考察时,走在苏黎世大街上,整洁的大街上几乎看不到燃油车,简直就是有轨电车的天下,恍惚间让我看到八九十年代老北京什刹海的景色,干净的空气让我流连!在回来不久后我就成立了深圳市依思普林科技有限公司,专注从事新能源汽车核心部件的研发。

依思普林目前拥有多名IGBT模块及电机控制器开发经验技术人员,团队所研发的电机控制器,性能覆盖540V/200kW以内所有新能源电动客车车型,功率范围在80kw-200kw。产品采用自主开发的1200V/400-800A六单元 IPM模块,电机控制器结构完全针对电动客车应用设计,具有体积小、重量轻、功率密度高、温升低(控制器内部温升比市场同类产品低30℃以上)、长期可靠性高的特点,产品性能国内领先,达到国际先进水平。

一、控制器外观结构及技术参数

图1-1 电机控制器内部结构

图1-2 电机控制器外形图 电机控制器技术参数如下表:

表1-1 电机控制器技术参数

二、电动客车电控整体解决方案

三、主要技术创新点:

1、造型新颖

依思普林电机控制器的箱体是铝合金一体压铸,防护等级达到IP67。体积小,重量轻,造型新颖,突出了 “绿色、环保”的主题。

2、自主知识产权汽车级大功率IGBT模块技术 目前国内市场上电机控制器多采用标准封装的工业级的IGBT模块,由于模块不是针对电动客车应用设计,IGBT模块采用的材料、结构及长期可靠性均无法满足电动客车的应用要求,依思普林自主开发的1200V/400A~800A六单元 IGBT模块完全针对电动客车应用设计,具有小体积、高功率密度、低热阻(热阻相比传统模块降低33%以上)、高长期可靠性的特点,模块性能达到国际先进水平。

图3-1 IGBT模块(1200V/400A~800A)结构图(1)为提高模块抗机械振动和机械冲击能力,模块内部连接均采用铝线进行软连接,避免了传统模块的焊接方式,同时电极均采用注塑的方式埋入塑料外壳中,保证了模块内部连接的长期可靠性,满足电动大巴长期振动的应用要求;

(2)模块采用三相全桥设计,使模块更加紧凑,同时根据应用需求,优化安装和连接方式,便于电容、驱动电路等布置,帮助用户降低应用系统体积。

(3)采用IGBT模块和电机控制器散热器一体化设计,直接水冷,有效降低系统热阻,提高系统功率密度。

3、驱动板结构方案

依思普林不仅自主研发了汽车级IGBT模块,还开发了与之相匹配的驱动板,两者结合形成了真正意义上的IPM。

图3-2依思普林IGBT驱动电路板

本驱动板是专门为自主研发的IGBT模块配套研发的一套驱动系统(图3-2)。它具有高可靠性和宽的温度(-40℃-125℃)适用范围,其使用器件均为汽车级产品,使其非常适合汽车级的应用;驱动板采用优化的EMC设计,驱动芯片采用先进的Coreless Transrormer技术,使其传输延迟更短,共模抑制能力更强;可靠的IGBT短路保护和有源米勒钳位,具有上下桥互锁功能,使IGBT工作更加安全;具有两级关断功能,更好的抑制关断时的dv/dt;直接焊接在自主研发的IGBT模块上,结构紧凑,最大限度的节省了空间,实现驱动系统的小型化。驱动板与IGBT模块采取PIN-FIN的方式直接安装,同时为了提高电路板的EMI性能,在其上面设计了接地端,在安装好IGBT模块和驱动板后,接地端与散热箱体进行良好的电气连接。

4、IPM模块散热技术 4.1 PIN-FIN直接水冷

新能源电动客车需求的驱动功率大,同时产生的热损耗也较大,这给控制器中IGBT模块的散热提出了新的挑战。大功率IGBT模块是电机控制器中的核心器件,也是系统运行时温度最高的器件。我们知道,随着工作结温的上升,电子器件的寿命呈指数下降,而目前国内外在电动客车电机控制器中普遍采用的大功率IGBT模块为传统平基板结构,且为工业产品,该结构除散热面积小外,不足之处还在于需在该平基板与散热器之间涂一层导热硅脂,这会大大增加热阻,而采用我司自行研发设计生产的汽车级pin-fin直接水冷IGBT模块,该结构不仅大大增加了散热面积,而且省去了一层导热硅脂,使用时IGBT模块直接泡在冷却液中,大大减小热阻。经实际测试,在低速大扭矩试验中,汽车级pin-fin直接水冷IGBT模块的结温要比传统平基板模块低将近30℃,Rj-h降低33%,从而保证系统长期可靠运行,寿命可长达10年。

图3-3 IPM模块底板设计

图3-4 依思普林散热设计与传统技术对比

4.2 IPM模块热匹配设计

图3-5 IPM模块热匹配设计

采用AlSiC底板,AlN DBC,封装材料热膨胀系数匹配良好,模块耐温度循环能力增强,可达到1000次循环以上(-40℃~150℃)。同等测试条件,工业模块低于100次循环寿命。

5、驱动控制软硬件技术

驱动电机控制器通过CAN总线与整车控制器进行通讯,并根据整车控制器所发出的指令决定工作模式以及输出转矩。

在驱动电机控制器设计方面依思普林研发团队重点突破了以下关键技术: ■基于DSP的多功能全数字控制技术

硬件方面:重点研究DC/DC、母排与电解电容(薄膜电容)模块化结构设计技术、电力电子集成控制器的热管理技术;

软件方面:重点研究矢量控制技术、弱磁调速控制技术以及制动回馈最优控制技术等。

■驱动与控制系统的电磁兼容性分析与系统设计

在驱动电机系统开发过程中应用数字建模和仿真技术,对电磁噪声产生与传播路径进行预测、分析及测试;并研究电磁波传导、耦合、辐射干扰的防治技术。

■驱动电机故障诊断及失效控制技术

驱动电机及控制系统是新能源汽车行驶的原动力,一旦出现故障,轻则使车辆性能严重下降或者不能启动,重则导致重大安全事故。驱动电机故障诊断及失效控制技术就是通过电机控制系统实时监测系统的工作状态,并通过CAN总线将自身工作状态实时的传输给整车控制器,以便整车控制器根据电机及控制系统所上传的信息对车辆的工作状态做出及时的调整,或者通过报警系统及时的警告车辆驾驶人员,从而保证车辆行驶的安全。

5.1、硬件电路设计技术 系统采用:双电源冗余设计、多重隔离、多级过流保护。系统运行过程中,如果控制电路突然掉电,IGBT模块栅极就会失去控制,电池的母线电压会将IGBT芯片击穿,造成严重的损失。本公司系统方案采用双辅助电源冗余设计,当车载12V/24V电源异常断电后,电源部分会不间断启用动力电池电源,从而避免IGBT模块击穿损坏。

系统工作电源采用独立宽范围开关电源设计,系统电源与车载12V/24V电源以及高压蓄电池组电气隔离,既保证电路绝缘隔离安全要求,降低相互干扰,同时优异的输入宽范围特性,让系统工作更加稳定。

系统工作过流保护在常规的硬件及软件检测上,还配置IGBT饱和导通压降检测保护,异常状态时快速动作,大幅缩短故障响应时间,提高系统可靠性。

图3-6依思普林双辅助电源冗余示意图

5.2电机控制软件算法创新设计

采用先进的电机矢量控制算法和SVPWM空间矢量脉宽调制技术,系统最高效率可达95%以上,具有适合数字化实现、谐波少、电压利用率高等特点,在电机控制行业得到大量应用。另外,软件具有智能弱磁控制策略,控制电机在全转速区运行平稳可靠;死区补偿策略可以有效减少三相电流谐波,提高系统效率;过调制技术在最大化利用直流侧电压的同时保证电机控制平稳。软件具有过压保护、欠压保护、过流保护、过温保护等防护策略,可以有效保证控制器的长期可靠性。

四、主流产品对比报告

图4-1 国内外产品对比报告分析图

五、总结与展望

步进电机控制器设计 篇3

摘 要 本文利用一个8引脚的8位单片机,4个可控硅实现了单相感应电机的调速,对控制器的设计从硬件和软件上分别做了详细的介绍,并对实验结果进行了分析研究。

关键词 单相感应电机 电机调速 可控硅

一、引言

传统的单相感应电机的调速,一般可以通过两种方式:一是通过电机绕组的多抽头设计,可以实现几个不同的转速,但这种方式电机的材料成本高,制造工艺复杂。另外一种方式是通过变频控制器实现,通过这种控制器可以实现电机的连续调速,但这种控制器的设计一般需要采用高性能的处理器芯片,成本较高的功率模块或功率晶体管。本文设计的控制器只需要一个普通的8引脚的8位单片机,四个可控硅就可以实现电机的调速。

二、控制器硬件电路设计

控制器的硬件电路部分主要有四个组成部分:直流电源电路,SCR组成的H桥电路,H桥的驱动电路,交流电源的过零点检测电路。控制器的直流电源部分利用阻容降压的方式,得到直流5伏和15伏;利用4个TCR组成H桥电路,使用单片机的4个数字输出口和4个光耦组成驱动电路;由于单片机的数字输入输出端口的内部带有5伏电压的嵌位保护二极管,所以直接将电源火线或零线串联一个限流电阻,然后直接接到单片机的一个数字输入端口,就可以检测到交流电源的过零点。

三、控制器的软件设计

控制器的变频调速的原理是:对输入的50HZ或60HZ的交流电进行调压或分频处理。具体的实现方法就是通过检测交流电源的过零点,根据需要得到的频率或电压,通过可控硅的H桥电路进行斩波或翻转,就可以得到不同频率或电压的交流电源。其软件的程序流程图如下所示:

四、实验结果

本文利用该控制器分别进行了以下三种测试:一种频率不变电压变;一种是电压和频率都改变;一种是频率变电压不变。以下是控制器驱动电机时实际测试的电压和电流波形图:

五、结论

本文设计的控制器简单实用,通过调压或调频可以有效的实现单相感应电机的调速。

参考文献:

[1]Xu L.Dynamical Model of and Integral-cycle Controlled Single-phase Induction Machine.IEEE Transactions on Energy Conversion.2002.7(4):761-767.

[2]Young C,Liu C.New Inverter-driven Design and Control Method for Two-phase Induction Motor Drives.IEE Proceedings on Electric Power Application.1996.143(6):458-466.

[3]Muljadi E,Zhao Y,Liu T et al.Adjustable AC Capacitor for a Single-phase Induction Motor.IEEE Transaction on Industry Applications.1993.29(3):479-485.

步进电机控制系统设计 篇4

关键词:步进电机,微机,汇编,控制

1 星研集成环境介绍

(1) 提供DOS、WIN95/98/ME/NT/2000/2003/XP二个版本的集成环境软件, 与KEIL公司提供的C51调试软件很大部分相同, 也有自己的特色。集编辑编译器 (VC++风格) 、项目管理、编译、连接、错误定位、下载于一体, 并提供调试功能。

(2) 功能强大的项目管理功能:现在单片机软件越来越大, 也越来越复杂, 维护成本也很高。通过项目管理可化大为小、化整为零, 便于管理。项目管理功能也使多模块、多语言混合调试成为可能。支持宏汇编、C、PLM语言混合编程, 有强大的项目管理功能, 含并且包含调试与该项目相关的仿真器件、相关文件、编译软件以及编译连接控制等硬软件信息。

(3) 本次设计基于星研集成环境, 所有硬件、软件环境都已集成。

2 编写步进电机汇编程序的方法

2.1 8255可编程并行接口芯片介绍

8255可编程外围接口芯片是Intel公司生产的通用并行I/0接口芯片, 它具有A、B、C三个并行接口, 用+5V单电源供电, 能在以下三种方式下工作:

方式0—基本输入/出方式;方式1—选通输入/出方式;方式2—双向选通工作方式。

2.2 编程中三个重要的参数

(1) 运转步数N:操控步进电机的定位精度。

(2) 延时时间DELAY:控制步进电机步进的速率。

(3) 温度:控制步进电机停止工作的最大温度。

3 工作过程

3.1 步进电机的概述及四相八拍步进电机的工作原理:

步进电机是一种将电脉冲信号转换成角位移或线位移的机电元件。此步进电机工作方式为四相八拍, 由单极性直流电源进行供电。只需变换不同合适的时序对步进电机的各相绕组通电, 就可以使步进电机步进转动。

四相步进电机按根据电顺序的不同, 可以分为单四拍、双四拍等工作方式。单四拍和双四拍的步距角相等, 但是单四拍的转动力矩较小。而八拍工作方式的步距角是单四拍以及双四拍的一半, 所以, 八拍的工作方式不但可以保持较高的转动力矩而且可以提高控制精度。

3.2 步进电机的工作方式:

35BYJ46有四个相“ABCD”, 如果对每个相单独依次通电, "A-B-C-D", 旋转一周需要磁场换相四次, 称为四相单四拍;如果每次两相一组同时通电, "AB-BC-CD-DA", 这称为四相双四拍;而单四拍和双四拍相互交替使用, 则称为四相八拍, 如:"A-AB-B-BC-C-CD-D-DA"、"AB-ABC-BC-BCD-CD-CDA-DA-DAB", 此时磁场旋转一周需要换相八次。四相八拍与四相四拍相比, 步距角减少了一倍, 这有利于削弱振荡, 从而提高了电机的带负载能力。

3.3 控制原理

步进电机通过顺序切换它的每相线圈电流来使电机作步进式旋转运动, 相应的驱动电路通过脉冲控制, 因此调节脉冲频率可调整步进电机的转速。另外, 由于电机存在转动惯量, 故其转动速度还受到驱动功率大小的影响, 若脉冲的频率大于某一固定值 (本系统f>100hz) , 电机将不再转动。

4 设计系统的操作

4.1 怎样改变电机的转速

程序下载好后在试验箱上可以通过按键改变步进电机的转速, 按键A可以改变步进电机的转动方向, ‘1’是顺时针, ‘0’是逆时针;B按键可增大步进电机的转速, C键可减小步进电机的转速, D键能控制步进电机工作, A、B、C任一按键的改变都会使步进电机停止转动。

4.2 通过实验找出电机转速的上限, 如何能进一步提高最大转速

例示程序速度最大显示为B, 即“11”, 通过更改步进延时可以增大转动速度。当转速调至C, 即“12”时, 步进电机开始转速很快, 然后会停止转动, 因为步进电机转动惯量的存在, 故其转动速度还受到驱动功率大小的影响, 若脉冲的频率大于某一固定值 (本系统f>100hz) , 电机将不再转动。故想要进一步提高转速, 应该增大驱动功率。

4.3 怎样能使电机反转

按键A可以改变步进电机的转动方向, ‘1’是顺时针, ‘0’是逆时针;若在程序中修改, 则只需将MOV bclockwise, 1改为MOV bclockwise, 0则会使按键控制效果相反。

4.4 通过其它外设的检测 (如光电) , 控制步进电机的停、转

本次设计我通过将步进电机与温度计结合, 设计出了一个用温度控制步进电机停止转动的程序, 即当温度超过40度时控制步进电机停止转动。可以实现步进电机的基本功能, 也可以实现温度的测量。

5 实验数据分析

实验测得的数据因计时水平有限以及视觉误差存在误差, 故不是很精确, 但却很明显的反应了增加速度等级可以增加转速, B级速度为最大值。若速度再次增加, 因为步进电机转动惯量的存在, 故其转动速度还受到驱动功率大小的影响, 若脉冲的频率大于某一固定值 (本系统f>100hz) , 电机将不再转动。在具体实验中可通过温度控制部分将设定温度值改为15度进行测试, 理论上可以在15度时将步进电机的转动终止。

参考文献

[1]http://wenku.baidu.com/link?url=Srp-voo Rr Il Vcyvz5DKKFTv Rr5A4d9ES1VG696c L5GWLCPJk VWth9V01Yd Ujq1f M2_8zbrp N3Cf L8f6Tk IAcb Qgiz99DM_Bde S3Endi5j K3

[2]杨季文著.80X86汇编语言程序设计教程[M].清华大学出版社, 1998.

步进电机控制器设计 篇5

关键词:电机车;控制系统;设计分析;软件程序

引言

井下轨道电机车作为煤矿生产作业过程中所不可或缺的关键核心运输装备,其依据速度调控方式的差异可分为直流牵引电阻调速、直流牵引斩波调速和交流牵引变频调速三大类别。其中交流牵引电机车作为新型的机车类型,相较于传统的直流牵引电机车具有质量轻、体积小、运行稳定性佳、作业维护简便、无需配设滑环与换向装置,防爆性能优良的诸多优势,加之变频调速技术良好的节能效果。可以说,在交流牵引电机车必将成为今后井下电机车的主流形式。因此结合其运行特征和使用需求,探究有效的电机车交流变频控制方案,构建性能优良的交流变频调速系统。

1控制系统设计分析

基于DSPIC30F6010A型十六位单片机,设计研发一种电机车交流变频控制系统。系统运行时有蓄电池供应直流电压,并经由三相逆变控制单元将直流电调控成频率可控的三相交流电。整个系统的主要构成组件囊括蓄电池、充电及电容模块、三相逆变电桥、电流传感组件、驱动模块、检测模块、单片机控制电路等[1-2]。

2DSPIC30F6010A型单片机控制系统

DSPIC30F6010A单片机控制电路为系统功能得以有效实现的关键核心,整个控制电路囊括五大构成部分:一是由DSPIC30F6010A型单片机、速度检测电路、数字输入信号端等构成的DSP(数字信号处理)数字系统,其可以有效开展各类数字运算、子模块调控以及电机车启停运行、点动运行、多段速设定等功效;二是运行模拟量接口电路,其构成组件包括电流电压检测模块、温度监测模块、运行速度设定模块等,功效是为DSP系统采集数字信息;三是IGBT(绝缘栅双极型晶体管)驱动电路,该电路能够将从DSP系统中输出的SPWM(脉冲宽度调制)讯号转换为能够调控IGBT系统的脉冲讯号。此外,当IGBT系统出现过载或短路现象时,该驱动电路课自行向DSP系统发送故障讯号;四是CAN(现场总线)通讯电路;五是液晶显示模块和键盘录入模块,其中录入模块能够借助外接的键盘设备对系统的运行设定各类参数,譬如控制电机车的启动或停止,设定电机车运行维持在某一速度值等,而液晶显示模块核心功能便是对电机车运行中的各项运行参数进行设定,同时对运行中存在的故障数据进行记录[3-4]。

3软件系统分析

所设计控制系统配套软件程序主要包含作业操控主程序、捕捉中断程序、定时中断服务程序、异步通讯中断程序、总线通讯中断程序等子程序。主程序的核心功能是完成系统运行的初始化和设定相应运行参数,同时确保数据寄存装置的有效初始化以及各类中断功能运行的有效性。异步通讯中断程序的核心功能是实现同录入键盘之间的有效对接,一方面实时接收键盘所传输的系统运行指令,另一方面将控制系统运行的各项参数和故障信息等实时传输至键盘进行显示,便于操作者了解运行状况[5]。捕获中断程序的核心功能是实现对占空比同周期寄存装置内部的数据更新,并解算出相应的占空比,完成脉冲宽度调制波的产生于输出。定时中断服务程序的核心功能主要有三点:一是对系统外界端口的各类子信号进行采样作业,一般包括电机启停信号、运动方向信号、速度信号、故障信号以及复位信号等;二是针对运行时电路中的直流电压、三相电流、电路温度等数据进行采样和分析;三是针对电机开展缺相检查、转矩跟踪与补偿解算、V/F曲线求解、稳压求解、死区补偿求解、相位累加求解、寄存装置数值求解、过载过流求解等[6]。

4系统运行效果分析

当电机车空载启动时,其电流波形如图3-1所示,电机车可在5s内实现有效的启动操作,并进入运行稳定状态。同时结合图片内容可知,电机启动时其启动电流波形稳定性保持良好。此时电流值约为125A,电压值约为180V均处于安全运行区间范围内,同时由图片波形状态可知,电机运行稳定,安全5结语本次设计基于DSPIC30F6010A型单片机开展,所设计电机车控制系统硬件电路结构简单,模块区分鲜明,功能设置合理,能够结合具体的实际使用需求设定相应的运行参数,从而确保了电机车在不同作业环境下使用的有效性。加之所配套软件程序功能众多,具备良好可移植性,极大地方便了不同型号电机车的使用需求。

参考文献

步进电机控制器设计 篇6

关键词:PLC;变频器;组态软件技术;设计

1 概述

随着电子技术和自动化控制技术应用范围的不断扩大,交流变频调速在工业电机领域得到了迅猛发展。可编程控制器(PLC)作为继电器的替代装置,具有操作便捷、性能可靠、通用灵活、人机交互、寿命长等多项优势,已经被广泛应用于现场数据的采集和设备控制环节;组态软件技术可用于定制满足用户需求的功能工具,显示电机转速或对其进行调速控制;利用PLC控制器,组态软件技术和变频器,可对电动机进行变频调速试验。本文将对PLC控制电机变频调速试验系统的设计与实现展开分析。

2 关键技术分析

2.1 变频器调速原理

变频器是通过改变电机的供电电压和供电频率而进行的一项节能措施,同时还能达到提高生产效率,产品质量以及实现生产自动化的目的。变频器主要包括主电路和控制电路两部分,其中主电路是给异步电动机提供调压调频电源的电力变换部分,主要由交-直变换电路、能耗电路、直-交变换电路和缓冲电路构成;而控制电缆则是给主电路提供控制信号的回路部分,包括运算电路、检测电缆、驱动电路、输入/输出电路、速度检测电路以及保护电路。

2.2 组态软件技术

组态软件是随着计算机技术的发展而逐渐被研发并应用起来,该技术通过提供良好的人机界面,使技术人员用最简单的方法按照自己的需求组装控制系统。组态的涵义是利用计算机软件工具对各项资源进行配置,使其能够按照预先设置的目标自动完成任务,所配置的资源既可以是计算机,也可以是各类软件,配置后的组态软件就成为具有监控和数据采集功能的软件平台工具,功能也由早期的人机图形界面扩展至实时数据库、实时控制、监控、数据采集、通信、开放数据接口、对I/O设备的支持等,可执行多种任务,运行可靠,应用范围极广。

2.3 PLC技术

PLC技术设计的目的是取代继电器盘,在继电器操作简单、成本低廉等优点上,进一步提高反应时间、控制精度、工艺可更改性、功能扩展性等,以适应现代化生产线的工艺要求。随着电子技术的不断进步,大规模集成电路的研发和应用使8位微处理器和位片处理器相继问世,进一步推动了PLC技术的发展,使该项技术增加了数值运算,扩大了输入输出规模,部分PLC已经可以取代某些模拟控制装置和小型机的DDC系统。

3 系统软件设计与功能实现

本文以提升机为例,对其电机改进设计进行分析:

3.1 系统软件设计

首先,PLC控制软件的设计。PLC控制软件的主要功能是对提升机的启动、停止、加速、减速、匀速等过程进行控制,同时采集信号,用于后期的逻辑处理;设计时应包括主程序、故障处理子程序和中断子程序,共计三个模块;PLC具有多种功能,因此其涉及的参数较多,主要有变频器复位、电机正反转、安全报警、故障、多段频率、启动、停止、上升、下降、松绳、复位、过卷等。其次,变频器参数设置。变频器与PLC的连接方式如下:变频器的DI1和DI2分别接PLC的Q0.0以及Q0.1,而变频器的AI1则与PLC的DA连接。变频器运转控制通过外给定方式实现,然后借助自动补偿方式对转矩进行补偿,电机的控制模式则可选择速度传感器矢量进行控制。编程时,变频器的10Hz与DA的给定值6400对应,其余频率则可按照正比进行适当的增加或减少,一般频率浮动范围控制在0.2-50Hz内。

最后,触摸屏监控系统设计。根据生产实际需求选择对应的触摸型,本次试验所选用的为威纶通公司的产品,型号为MT6100iv3,该产品性能可靠、操作简单,使用寿命长;利用EB8000对触摸屏界面进行编译和设计,然后下载到触摸屏即可。

3.2 PLC组成及其功能实现

第一,微处理器(CPU)。CPU是计算机系统的核心部件,同时也是PLC控制系统的核心组成部分,对整个系统的运转起着指挥和调节作用。一般CPU处理器有单片机、位片式处理器和通用处理器等,CPU位数越多,PLC档次越高,对电机进行变频调节效率也越高。单片机或8位微处理器一般用在小型PLC控制器中;而单片机或16位微处理器则用于中型PLC控制器中;位片式微处理器用于大型PLC控制器中。

第二,存储器。PLC使用的存储器一般分为系统类和用户类,系统类用于存储系统程序,而用户类则用于存储用户所编制的控制代码。CMOSRAM是一种随机存储器,能耗低,价格合理,使用寿命可长达5-8年左右。

第三,编程器。编程器是PLC的重要外围设备,能为用户提供程序写入功能,还能对程序进行检查和调试。编程器一般分为图形编辑器和简易编程器两大类,可实现指令编程、梯形图编程、脱机和联机编程等;而简易编程器的功能较少,用于小型PLC较为合适。

第四,I/O扩展单元。I/O扩展单元用于输入或者输出点数的扩展,若扩扎点数超过了PLC限制,就需要扩展单元进行扩展,确保输入/输出点数在PLC规定范围内。

4 结束语

PLC控制电机变频调速试验系统具有节能、高效、适应性强等多项优点,该系统是利用变频技术、PLC技术以及组态软件技术将传感设备、控制设备与电机结合在一起,实现了对电机设备的合理控制,保障电机运行的稳定性;除此之外,PLC控制系统还能对电机的故障检修与修复提供便利,当设备出现故障后,系统可自动对故障的位置及原因进行分析,并将分析结果提供给维修人员,帮助维修人员尽快排除故障,确保电力系统运行的安全性。

参考文献:

[1]王建伟.基于PLC的电机变频调速试验系统开发[D].中北大学,2010.

[2]刘玉娥.PLC控制电机变频调速试验系统的设计与实现[J].电子技术与软件工程,2013,18:190.

[3]刘瑞杰,常宇.PLC控制电机变频调速试验系统的设计与实现[J]. 黑龙江科技信息,2015,27:35.

步进电机控制器设计 篇7

步进电机是将输入的电脉冲 (数字控制信号) 转换成角位移或直线位移的机电执行元件。由于步进电机的位移输出没有累积误差, 其输出转角、转速与输入脉冲的个数、频率呈线性关系[1], 被广泛应用于各种开环控制, 如仪器仪表、机器人、数控机床等。

步进电机的运行离不开驱动器[2], 当前市场上有多种物美价廉驱动器可供选择。图1是常见的两相混合式步进电机与驱动器的连线图, 可以看出, 让步进电机运转只需两个基本信号———驱动脉冲和方向电平。但对普通计算机来说, 要输出这两个信号却不容易。计算机的常用端口要么不能产生脉冲序列, 要么太占用CPU资源[3,4]。要实现计算机对步进电机的控制比较可行的是采用中转控制器。计算机通过对中转控制器发送控制命令, 然后由控制器解读并执行命令, 从而实现对步进电机的间接控制。PLC和单片机都可用作中转控制器。PLC功能强大, 成本较高, 如果仅用于控制一个步进电机有点大材小用。而单片机功能够用, 成本很低, 很适合做步进电机的控制器。

1 步进电机控制器电路

控制器采用89C51单片机。如果仅控制一个步进电机, 只需最小系统即可满足要求。89C51单片机内部有两个定时器, T1中断可用于与计算机通信, T0中断正好用于脉冲输出。单片机的P1口用作信号输出口, 步进电机驱动器信号输入的公共阳端接5V电源正极。当单片机复位后, P1口均为高电位, 步进电机的状态不受影响[5]。89C51单片机虽然有串行通信模块, 但它是TTL电平的, 要变成标准RS-232口, 需要添加一个电平转换器件———MAX232[6]。图2为整个控制器的电路原理图, 此控制器所需电子元件较少, 容易实现。

2 控制指令设计

在工控领域, 常用PLC来控制步进电机或伺服电机, 虽然PLC的步进指令只有两三个, 但通过一些指令组合可实现复杂的运动控制[7]。因此, 控制器的指令设计也应考虑计算机控制步进电机的灵活性。另外, PLC的控制指令一般由操作码加操作数构成[8,9], 本控制器亦采用此方式。步进电机的运行基本有定行程正转、定行程反转、恒速正转、恒速反转、停机等, 为实现这些运行过程, 控制指令设计如表1所示。

前进步数XXXX的值可以从1到9999。频率YYYY的最大值理论上能达到9999, 但实际赋值时要根据步进电机能力来定;而最小值与单片机程序设计方案相关, 最小值不能为1。

由于前进步数和频率这两个参数是字符串形式的十进制数, 单片机需要转换才能使用。单片机运算能力较低, 进行数据转换比较费时, 必然导致控制器的响应速度变慢, 但是采用字符串形式时, 计算机不必知道控制器CPU的频率和相关参数的计算方法, 使用起来非常容易。

3 单片机程序设计

以上单个命令只能实现简单的运动控制, 复杂的控制则需多种命令组合。为了让运动过程尽可能符合目标要求, 单片机对计算机的响应尽可能快, 接收命令和发送信号采用8051的串行中断。而电机控制工作可能占用的时间非常长, 此时T1已被用于串行通信, 只能采用定时器T0中断。如此安排, 则系统大多数时间是在查询计算机的命令, 以便及时做出响应。为方便计算机操作, 除V命令和Z命令外, 其它命令都有反馈信息。

图3为主程序的流程图, 表1中各命令的使用规则如下:

(1) V命令后可以继续使用V命令以实现调速过程。定时使用V命令, 或者使用R命令读取位置, 然后根据所处位置使用V命令, 可以获得比较好的升降速效果。V命令后不能使用S命令, 因为连续运行时定位没有意义, 只有使用P命令停机后或处在停机状态方可使用S命令。

(2) S命令执行过程中也不能接受V命令, 因为升降速过程直接做在脉冲输出中断中。

(3) P命令不受现行电机运行状态的限制, 以便于紧急停机。

(4) R命令亦不受电机运行状态限制, 计算机可随时读取电机相对位置。

(5) Z命令虽然可随时执行, 但是受信号延迟的影响, 运行中所定位的参考零点不准, 只有在电机停止时所定位的零点才有意义。

图4为定时器T0的中断程序流程图。每进入一次中断程序只发送半个脉冲, 根据晶振频率11.0592MHz可得出控制器输出的频率范围为8~9999Hz。为快速完成定行程的运动, 常采用升降速设计。在本控制器中, S命令被直接设计成带升降速的定行程指令而不是匀速的定行程指令, 也没有再设计匀速的定行程指令, 如此设计目的是简化和方便用户操作。

4 计算机程序设计

采用Visual Basic编写控制程序, 通信控件采用MSComm。由于通信命令采用的是字符传输, 所以计算机只需将这些命令字符串通过串口发送出来即可[10]。程序为:

5 结语

设计一种带通信功能的中间控制器, 可很容易地实现计算机对步进电机的控制, 适合于组建简单的自动控制系统。对于有着不同功能需求的现场, 可以通过改变或增加控制器的控制指令, 以实现目标要求。

摘要:为了实现计算机对步进电机的控制, 基于89C51单片机, 设计带通信功能的步进电机控制器。

关键词:步进电机,单片机,控制器,计算机,串行通信

参考文献

[1]王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社, 2002:181-188

[2]刘宝廷, 程树康.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社, 1997

[3]曲明, 王富昕.用VC++实现WinXP下并口步进电机控制[J].吉林大学学报 (信息科学版) , 2004, 22 (5) :481-484

[4]陈慧超, 陈永明.一种用VB实现并口控制步进电机的方法[J].科技创新导报, 2010, (7) :23-23

[5]李学海, 孙群中, 李聪聪.单片机的状态迁移与复位操作[J].单片机与嵌入式系统应用, 2007, (5) :66-68

[6]张志良.单片机原理与控制技术[M].北京:机械工业出版社, 2003:223-226

[7]庄焕伟, 吴奕程, 苏宏英.基于PLC的步进电机控制方法研究[J].机电一体化, 2012, (9) :48-50

[8]蔡杏山.零起步轻松学欧姆龙PLC技术[M].北京:人民邮电出版社, 2011:333-341

[9]龚仲华, 史建成, 孙毅.三菱FX/Q系列PLC应用技术[M].北京:北京人民邮电出版社, 2006:200-205

遥控步进电机控制电路的设计 篇8

关键词:AT89S52单片机,315红外发射接收模块,步进电机

0引言

随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活, 以单片机为核心的自动门系统就是其中之一。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。

步进电机是机电一体化产品中关键部件之一,广泛应用在各种自动化控制系统中。通常被用作定位控制和定速控制。 步进电机惯量低、定位精度高、无累积误差、控制简单等特点。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。

1遥控步进电机设计方案

1.1设计主要任务及技术指标

1.1.1主要任务

设计一个能够实现步进电机遥控的控制系统。该设计要求能够控制步进电机的正、反转,加速和停止,并且还要控制电机的转速,使电机在启动频率上转动一段时间后,能够以一定的加速度进入到预设的工作频率。为了防止电机发生失步或越步,电机的工作频率不能过高。

1.1.2技术指标

① 步进电机的工作电压为5~9V

② 输出电流最高达1.5A

③ 315模块工作电压:3~12V( 发射模块)、3~6V(接收模块)

④ 工作频率频率为315MHz

⑤ 工作电压 :3~12V,发射距离 :50~120米

⑥ 发射模块的工作电流:10mA ;接收模块工作电流:2.2mA

⑦ 最大发射功率:10dBm

1.2单片机方案的选择

采用MCS-51系列单片机作为控制器。使用AT89S52单片机作为控制核心, Keil Uvision2编程软件和C51语言对系统程序进行编写和调试。该单片机内部资源丰富,集成了内部看门狗、双数据指针、在系统编程(串行下载目标程序)等功能。编程语言和软件使用方便,对外部扩展器件要求较低,控制简单。

2系统硬件电路的设计

系统的硬件电路由单片机控制电路, 红外发射、接收电路,驱动电路、键盘输入电路和步进电机五大部分构成,其结构框图如图3-1所示

系统电路的工作原理:

本设计实现一个基于51系列单片机控制的步进电机系统,单片机根据按键输入命令通过软件分配脉冲,驱动电路驱动步进电机的运行,使它的输出电流最大为1.5A,实现了正转,反转,加速,停止的功能。

2.1遥控发射接收模块电路的设计

315发射接收模块是一款低成本的超外差接收模块,采用内含射频放大器, 晶体振荡器,中频限幅放大器,滤波器等电路的射频接收芯片。本模块有OOK和ASK两种工作方式,有315MHz或433MHz频段两种模块可供选择。适合与同频发射模块配对,组成一个完整的收发系统,可靠传输距离可达200米以上。适用于各种遥控器,报警器及单片机短距离数据传输。315接收模块输出端平时处于零电平状态,无噪声,具有较好的抗干扰特性。

在此设计中,我采用专用集成电路315发射模块代替了光电接收管和放大器三级管,315收发模块遥控发射距离远, 具有电路结构简单,使用方便。性能稳定及功能完善的优点。

2.2步进电机主控制电路的设计

2.2.1四相步进电机控制电路的设计

步进电机控制系统的原理图如图3-2所示,单片机的主要作用是提供控制步进电机的时序脉冲,每当步进电机从脉冲输入线上得到一个脉冲,便沿时序所确定的方向进一步。

2.2.2步进电机的工作原理

步进电机是一种将电脉冲转化为角位移的执行机构,可以作为一种控制用的特种电机,利用其没有累误差(精度为100%)的特点,广泛应用于各种开环控制。

1) 步进电机的工作原理

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲决定,而电机的转速由脉冲信号频率决定。

2) 步进电机的一些基本参数 :

①电机固有步距角 :

它表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如86BYG250A型电机给出的值为0.9° /1.8°(表示半步工作时为0.9°、整步工作时为1.8°),这个步距角可以称之为“电机固有步距角”,它不一定是电机实际工作时的真正步距角, 真正的步距角和驱动器有关。

步进电机的相数:是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,其步距角也不同,一般二相电机的步距角为0.9° /1.8°、三相的为0.75° /1.5°、五相的为0.36° /0.72°。在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步距角的要求。用户只需在驱动器上改变细分数,就可以改变步距角。

②保持转矩(HOLDING TORQUE) :

是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。

③ DETENT TORQUE :是指步进电机没有通电的情况下,定子锁住转子的力矩。DETENT TORQUE在国内没有统一的翻译方式,容易使大家产生误解;由于反应式步进电机的转子不是永磁材料,所以它没有DETENT TORQUE。

2.2.3键盘输入电路的设计

由按键控制输入控制步进电机的启动。实现正转,反转、手动加速、停止等功能,键盘电路。由键盘先输入电机的运行方式和运行方向,然后输入相应的数值, 再设定此次运动的速度,按下确定键后, 电机运行,传动机构开始执行。

2.2.4单片机主控电路模块的设计

本设计通过AT89S52单片机对步进电机进行控制,实现了对步进电机的控制,使电机按照预定方式进行自动化运行。

系统的电路由Atmel公司的AT89S52实现的单片机及键盘电路,单片机工作于11.0592MHZ频率时钟,该时钟由两引脚卧式晶体产生,具有很高的稳定性。步进电机采用四相步进电机,通过按键由单片机分配驱动控制由单片机去控制步进电机的驱动脉冲频率,即决定了步进电机的转速( 频率)。

由键盘先输入电机的运行方式和运行方向,然后输入相应的数值,再设定此次运动的速度,按下确定键后,电机运行, 传动机构开始执行。例如:当先输入反转步数的数值,再输入正转步数的数值,最后输入速度的数值,则此次电机就会按照步数的运行方式、先反转再正转的运行方向,根据输入的速度值进行运行,达到精确控制。步进电机的工作原理由于本设计采用的步进电机是永磁式的电机,步进电机控制系统线路图。

步进电机控制系统工作原理是通过利用红外发射接收,接收到红外信号,有按键电路,控制步进机的正反转,及转速。 按键S1-S5控制步进电机的转动,S1控制正转,S3控制反转,S2停止,S4控制减速,S5加速,五个按键分别接单片机的P1.0,P1.1,P1.2,P1.3,P1.4端口控制。

2.3步进电机驱动电路模块的设计

2.3.1步进电机驱动电路模块的设计

设计一种步进电机驱动电路,使加到电机绕组上的电流信号前后沿较陡,降低了开关损耗,改善了电机的高频特性,同时具有多种保护功能。实验证明,该驱动电路简单、可靠并具有优良的驱动性能。

本驱动器电源驱动部分线路简单,通过对电流前后沿的合理设计,降低了开关损耗,改善了电机的高频特性,并具有多种保护功能,实际使用中效果良好。

使用L298N芯片电路为步进电机提供驱动电流。L298N提供的相序信息放大至步进电机需要的大电流相序以驱动步进电机转动。保证电机能够平稳运行, 易于起停、正反转及变速。驱动电路图。

步进电机的缺陷是高频出力不足,低频振荡,步进电机的性能除电机自身固有的性能外,驱动器的驱动电源也直接影响电机的特性.要想改善步进电机的频率特性,就必须提高电源电压。

2.3.2电路设计

本驱动器电源驱动部分线路简单,通过对电流前后沿的合理设计,降低了开关损耗,改善了电机的高频特性,并具有多种保护功能,实际使用中效果良好。

设计一种步进电机驱动电路,使加到电机绕组上的电流信号前后沿较陡,降低了开关损耗,改善了电机的高频特性,同时具有多种保护功能.实验证明,该驱动电路简单、可靠并具有优良的驱动性能。

3软件设计

单片机作为控制整个系统完成相应功能的核心和关键部分,其功能强大、体积小、可靠性高、容易开发和价格低廉等一系列的优点,在系统软件设计中,采用了电平触发方式,加入防抖动程序,保证控制的稳定性。

步进电机控制系统的设计 篇9

关键词:运动控制卡,步进电机,VC++,开环控制,设计

0引言

常用的运动控制系统有单片机、PLC、专用控制系统和“PC+运动控制卡”等,随着信息处理速度要求和运动控制精度的提高,“PC+运动控制卡”的控制方式成为运动控制的发展趋势,相对于其他运动控制形式, 其具有运行轨迹复杂准确、柔性强等优点。目前,大多数的主流运动控制系统都采用了这种方案[1]。

本文主要介绍采用“IPC+运动控制卡”的方式来对机械臂末端手爪步进电机进行控制。IPC(工业控制计算机)是专门针对工业生产而设计的PC机,当机械臂运行到指定位置和姿态时,IPC控制步进电机控制卡发送脉冲和方向信号,步进电机开始工作,在不损坏目标的前提下,对目标进行抓取或释放等动作。

1步进电机控制系统的硬件构成

控制系统的上位机采用研华610H工控机,其具有环境适应能力强、信息处理速度快等优点,负责整个控制系统的协调运动。下位机采用研华公司的PCI1243U四轴步进电机控制卡,PCI-1243U运动控制卡函数库由系统初始化函数、运动控制函数、数字量输入输出函数及时间控制函数等4部分组成[2],通过自带的DLL驱动程序,可以极为方便地用VC++等软件来进行开发。

步进电机采用和利时公司的森创两相混合式步进电机42BYG250BK-SASSML-0151。步进电机每接收一个脉冲信号便旋转一定角度,该角度称为步距角,通过控制脉冲的个数来实现对步进电机的精确控制。步进电机驱动器采用森创两相步进电机细分驱动器SD20403,其采用32位DSP数字控制方式,具有低振动、 低噪声和低功耗等优点。控制系统硬件电路连接图如图1所示。

2步进电机控制系统的软件开发

为了使整个控制系统上位机软件协调一致,皆采用VC++6.0来进行开发[3]。研华公司提供了动态链接库和各种VC++开发的范例,可进行学习借鉴,大大降低了开发难度。

首先是对步进电机控制卡进行设置,利用研华公司提供的Subroutine.cpp文件,将其添加到新建的工程中,然后根据实际要求来修改里面的内容。以Set machine parameter为例,其默认的设置为:

我们根据脉冲+方向的驱动器控制模式,需要将其脉冲模式设置为ADM_PULSE_DIR,修改如下:

其余参数皆采用默认值即可。运动控制卡的其他设置方法与之类似,具体定义可参考PCI-1243U软件手册。

当机械臂各关 节电机运 行到指定 位置时,PCI1243U打开,读取参数设置,步进电机开始运行,手爪闭合完成抓取动作。位置判断和步进电机运动控制代码如下:

其中,m_f_num1~6是1~6号电机的目标位置,由运动学的逆解求得;dAP1~6是1~6号电机的实际位置,由电机编码器读取。因为存在一定的误差,目标位置和实际位置两者不可能完全相等,所以当两者之差小于50cts时,我们就认为已经到达了指定的位置,此时步进电机开始反转,旋转的脉冲数具体根据目标的大小来人工确定。目标的释放则是根据1~6号电机的实际位置接近于0时,认为其已经回零到达初始位置,步进电机正转相应的脉冲数,目标便能释放。至此,整个抓取释放工作完成。

为了监控步进电机的运行状态,需要对其位置和速度进行读取和显示,其代码如下:

为了在运动过程中遇到紧急情况时能够保证人员和财产的安全,因此我们需要添加步进电机急停按钮, 其代码如下:

3结语

步进电机控制器设计 篇10

步进电机必须使用一个驱动控制电路才能正常工作, 图1是步进电机驱动控制电路的一般原理框图。其中, 控制电路可由基于分离元器件、PLC或者单片机来设计, 其主要功能是产生脉冲和其它信号, 送进脉冲分配电路, 并按步进电机的通电顺序, 将脉冲放大后分配到相应的绕组, 驱动步进电机转动。在PLC或者单片机控制的情况下, 通常不需要另外设计脉冲分配器, 脉冲分配功能由单片机通过软件编程的方法来获得。近年来, 基于单片机的控制方案, 越来越得到设计人员的采用。

步进电机步距角的减少, 能有效提高电机的控制精度、提高电机的输出转矩, 并能有效地消除电机的低频振荡现象。近年来, 步进电机的细分驱动技术在工业界受到了广泛的关注并得到广泛的应用。细分驱动工作的基本思路是逐步改变各个绕组的电流大小及方向, 使电机内部的磁场逐步地改变, 也就使得转子逐步跟踪绕组形成的磁场而步进运动。把原本一个步距角的通电方式改变, 由于驱动电流波形变成了阶梯形, 绕组的通电过程也被分为多个过程, 使得电机实现细分工作。

本文设计了一个以STC89C52单片机为核心控制器件、THB6404H为核心驱动器件的步进电机驱动控制器, 能有效对57系列二相步进电机进行启动、停止、正反转、增减转速等指标进行控制, 并能实现1/2-1/64共8档的细分控制。电路各项设计指标符合实际应用领域要求, 并且结构简单, 成本低, 可靠性高。

硬件电路设计

系统设计方案及要求

整个电路包括基于SCT89S52构成的控制电路和基于THB6064H构成的驱动电路两部分。其中, 控制电路包括单片机最小系统、控制及数据输入键盘、LCD显示屏等, 驱动电路主要由THB6064H芯片及其外围电路构成。电路框图如图2所示。

单片机作为整个系统的控制核心, 其主要功能包括: (1) 负责产生向驱动电路输出的脉冲控制信号、正反转控制信号和电机脱机控制信号; (2) 接受来自键盘的控制信息, 实现对电机的实时控制; (3) 接受来自数字键盘的信息, 完成对控制信息的预置; (4) 负责处理来自驱动电路细分状态的检测; (5) 负责对电机的转速、转向、细分状态等参数实时显示。驱动电路的功能包括: (1) 处理来自控制系统的控制信号, 驱动步进电机进行相应的正反转等动作; (2) 高耐压50VDC, 大电流4.5A (峰值) ; (3) 通过三位开关, 实现1/2、1/8、1/10、1/16、1/20、1/32、1/40、1/64等八种细分模式的选择。

THB6064H介绍

THB6064H是东芝公司生产的一款专业的PWM斩波两相步进电机驱动芯片, 其内部集成了细分、衰减模式设置、电路调节、CMOS功率放大等电路, 配合简单的外围电路即可实现高性能、多细分、大电流的驱动电路。适合驱动57、86型步进电机。在低成本、低振动、小噪声、高速度的设计中应用效果较佳。其主要参数和性能指标包括:

1.单芯片两相正弦细分步进电机驱动;

2.直接采用单脉冲和方向信号译码控制模式;

3.采用高耐压Bi CD工艺;

4.可实现正反转控制;

5.通过3位选择8档细分控制。

THB6064H外形及管脚功能分别如图3及表1所示。

驱动电路

驱动电路主要由THB6064H芯片及其主要外围电路、光电隔离电路、上电复位及衰减模式选择电路、+5V电源电路、细分选择级反馈电路以及电流设定及半流锁定电路构成。其中, THB6064H芯片及其主要外围电路如图4所示。18脚EN端子为电机驱动电路待机使能控制端, 其值为为低电平时, 驱动电路进入待机模式, 所有的逻辑被重置, 驱动输出为0;当EN端子为高电平时, 芯片解除待机模式并开始工作。管脚21为脉冲输入端CLK, 接受来自控制电路的步进信号。管脚22 (CW/CCW端) 为电机正反转控制端, 其值为0时, 电机正转, 为1时, 电机反转;管脚RESET为上电复位端;管脚1为过电机过载报警输出, 当电机过载时, 该端输出低电平, LED3红灯亮, 而正常工作时, 其输出高电平, LED3红灯灭, LED2绿灯亮, 表示负载未过载。

单片机控制电路

单片机控制电路包括STC89C52单片机、晶体振荡电路、键盘电路、1602LCD显示电路等。STC89C52是一种8位的低功耗、高性能CMOS微控制器, 单片机构成的控制电路如图5所示。系统主频为12MHz, I/O口具体分配如下:

1.P0的8个口用于1602LCD的数据输入, P0.0-P0.7分别联到1602的D0-D7端;

2.P1.0-P1.4分别接红黄绿蓝4个LED, 用于电机正反转等信息的提示;

3.P2.0-P2.2分别用于输出控制驱动板的脉冲信号CLK、正反转控制信号DIR和电机脱机使能信号EN。P2.3-P2.5与驱动板上芯片THB6064H的M1、M2、M3端相联, 接收来自TBH6064H的细分信息, 用于对转速等参数的计算和显示;

4.电路设置了8个轻触按键SWA-SWH, 分别与单片机的RXD, TXD, INT0, INT1, T0, T1, WR, RD (P3口) 相联, 用于输入数据和发出控制指令。

系统软件设计

主程序设计

选用C语言作为系统软件的编程语言, 采用南京伟福实业有限公司开发生产的伟福H51/S仿真器, 配合WAVE6000软件完成系统的软件设计、编译以及硬件的在线仿真调试。系统设计的操作过程为:

1.上电后, LCD屏显示英文问候语。此时如按下SWA键, 系统进入预置数设置运行状态。可对转速 (SPD) 、转向 (DR) 和运行总步数 (TSTEP) 进行设置。其中LCD的第一行显示输入转速和转向, 转速可输入的未数为3位, 数值可从001到999设置, 通过移动光标键SWG和数据加键SWE和数据减键SWF逐位设置转速, 每设置一位数, 需按数据确认键SWH。正反转参数设置由SWE键和确认键SWF共同完成, 正转显示+, 反转显示-, SWH键确认。第二行输入总运行步数 (TSTEP) , 其有效值为0-10000000, 设置方法和速度值设置一样。参数设置完成后, 按下启动键SWC, 系统按以上设置参数运行, 1秒后, LCD屏自动进入状态显示, 第一行显示转速 (SPED) 、转向 (DR) 和正在运行到的步数。运行完成后, 需重新进行模式选择。运行过程可按SWD键直接停止, 程序回到键盘扫描。

2.系统上电后, 如按下SWB键, 则系统进入手动控制模式, 执行手动控制程序。进入手动控制程序后, 系统首先按60转/分启动正转运行, 按键SWE和SWF可随时改变电动机转向, 按键SWE控制电机运行过程中加速, 按键SWF控制电机运行过程中减速。在整个手动控制状态, LED在第1行即时显示转速 (SPEED) 和转向 (DR) 两个参数。

3.LED红灯D闪烁显示电机正转运行, LED黄灯R闪烁显示电机反转运行, LED绿灯W亮显示系统复位正常, 可以工作。

步进脉冲输出模块

本设计中, STC89C52脉冲输出的频率f决定步进电机的转速V, 它们的关系为:

其中, M为细分数, 其值由驱动板上的M1、M2、M3电平决定。以手动控制模式情况为例, 脉冲输出模块程序流程如图6所示。

测试结果及分析

驱动电路细分工作测试

由拨码开关将THB6064H设定在不同的细分数, 观察电机的运行状态, 结果表明:随着细分数的增加, 电机能按细分规律降低转速, 转速平稳。在手动模式状态下, 将转速固定在初始转速即60转/min, 细分模式是1/2, 然后依次拨动细分控制开关, 通过秒表计时方式, 目测电机实际转速, 同时对照LCD显示结果。测试结果如表3所示, 显然, 细分及LCD显示电路工作正常。

绕组电流测试

测试方法:在驱动器某相输出与该相电机绕组之间串联一个0.1欧姆、3w的电阻。用示波器的探头分别接在电阻的两端测量其电压, 该电压的波形即代表该相绕组电流的波形。

测试内容:进入手动控制模式, 将电机转速调至100转/min, 将细分设置分别置于不同的状态, 用示波器观测在不同细分状态下, 示波器显示的A相电流波形。图7为细分状态为1/12时的观测结果。

从观测结果看出, 当驱动为1/12细分时, A相绕组电流从0上升到波峰值或由0下降到波谷值被分为12个台阶, 这显然是由于步距角被细分为12个细分步距角产生的。在不同的细分状态下, 示波器观测到的结果类似, 符合理论预期。同时, 细分值越大, 波形越接近正弦波。

结束语

设计了一个以STC89C52单片机为核心控制器件、THB6404H为核心驱动器件的控制系统, 能有效对57系列二相步进电机进行启动、停止、正反转、增减转速、细分等控制, 各项设计指标符合实际应用领域要求, 电路结构简单成本低, 可靠性高, 实用性强。

单片机控制步进电机 篇11

位置控制是自动化控制中一个基本控制单元,设备精度的要求越来越高,器件及加工件越来越小,对位置的定位精度的要求也越来越高,原来的直流电机、交流电机也已不能满足设备的要求,应在许多位置控制方面采用更高精度的步进电机、伺服电机去替换原先的直流电机及交流电机。虽然现在大部分的PLC都具有位置控制(脉冲输出)功能,但使用起来很不方便,当要更改某些位置参数时,要么借助于个人PC或编程器去更改PLC内存中的位置参数信息,要么增加触摸屏去更改PLC内存中的位置参数信息,以更改电机的位置参数,这样会增加设备使用的复杂性,同时也会增加设备的成本。为了方便使用设备、降低成本,笔者采用单片机及LCD显示技术设计了一块单轴运动控制板,该控制器可手动设置位置参数及按照设计的运动轨迹自动运行、具有LCD显示、专用的电机限位接口、通用I/O、串行通讯接口,可满足大部分设备的要求。下面谈谈该步进电机运动控制板。

一、主要功能

可手动设定位置参数。

有LCD显示。

有专用及通用I/O。可扩展串行通讯,实现上位PC控制。

二、控制器系统结构框图

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入∕输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法编程,也可以在线编程。将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

主要功能特性包括:与MCS-51产品指令和引脚完全兼容;8k可反复擦写(>1000次)Flash ROM;3个16位可编程定时/计数器;时钟频率0-24MHz;256×8bit内部RAM;8个外部中断源;32个可编程I/O口,可直接驱动LED;低功耗空闲和掉电功能;可编程UARL通道;软件设置睡眠和唤醒功能。

四、LED显示模块(NT-1624A)图

此控制器采用的LCD显示模块为2×16的字符型显示模块,由单片机直接驱动。当选中该LCD模块工作时,写入要显示数据的地址,再在数据总线上写入需要显示的数据后,即可在LCD模块上显示需要显示的字符。在更新屏幕时需先清除屏幕,否则当更新的屏幕显示的字符少于上次显示的字符时,上次显示的部分字符会不能清除。

五、串行通讯功能(MAX232E)

系统扩展一块两通道的串行通讯芯片MAX232E,用来与上位PC通讯,发送数据及返回状态。

引脚功能:

数据发送(T1IN)。 用于向上位PC发送数据。

数据接收(R1OUT)。用于接收上位PC发送过来的数据。

六、I/O定义及其工作原理

1.I/O定义

本单轴运动控制器采用ATMEL公司生产的AT89C52单片机控制,该单片机有32个可编程I/O接口,该单轴运动控制板应用在某公司生产的单轴点胶机上,这些I/O接口在单轴点胶机中作用定义如下。

(1)LCD显示模块接口。

P00~P07:用作LCD显示模块数据总线接口。

P20~P22:用作LCD显示模块操作接口。

(2)通用输入接口。

P10~P13:用作按钮输入接口。

P10:GO_UP键;P11:GO_DOWN键;P12:SHIFT键;P13:ENTER键。

P14~P17:用作外部通用输入接口。

P14:点胶头下位;P15:点胶头上位。P16、P17:备用。

(3)通用输出接口。

P24~P27:用作外部通用输出接口。

P27:点胶头上、下;P15:点胶阀打开、关闭。P16、P17:备用。

(4)专用输入输出接口。

P32、P33:用作步进电机的限位输入。

P33、P34:用作步进电机的脉冲及方向输出。

2.工作原理

该单轴运动控制板应用在某公司生产的单轴点胶机上,具体工作原理是:当控制板上电后,系统初始化,LCD显示欢迎界面:“COLIBRIWELCOME”延时1秒后,系统显示:“POSITIONSET”系统进入点胶位置设置界面,用户可按LCD显示的提示位置参数的设定。在位置设置期间按SHIFT键可进行大小步切换;按GO_UP键电机正走一步(大步时步进电机走50步,小步时步进电机走5步);按GO_DOWN键电机反走一步(大步时步进电机走50步,小步时步进电机走5步);长按ENTER键保存位置参数并进入下一位置参数设定。当完成所有的位置参数后系统显示:“POSITIONSETFINISH”延时1秒后,系统显示:“SYSTEMGOHOME”系统复位,步进电机复位,所有通用输出关闭,复位完成后,系统显示待机界面: “READY PRESSSTART” 此时,长按ENTER键进入位置参数设置操作,可按上面的方法完成位置参数设置。当完成位置参数设置后,系统又回到待机界面。若短按ENTER键则运行客户程序执行点胶动作。当进入点胶程序后,系统显示:“MOVE TO POS-1”步进电机移动到第一个点胶位置,电机到位后系统显示:“OPEN OUT-1”点胶头下(打开通用输出1),等待点胶头到下位(等待通用输入1为ON),延时0.5S,系统显示:“OPEN OUT-2”打开点胶阀(打开通用输出2),开始点胶,延时0.5S,系统显示:“CLOSE OUT-2”关闭点胶阀(关闭通用输出2),延时0.5S,系统显示:“CLOSE OUT-1”点胶头回上位(关闭输出1),等待点胶头到上位(等待通用输入2为ON),完成一个位置的点胶。以后位置的点胶同第一个位置的点胶,即移动到下一个位置,点胶头下,等待点胶头到下位,延时0.5S,打开点胶阀,延时0.5S,关闭点胶阀,延时0.5S,点胶头上,等待点胶头回上位。当所有位置都点完后,步进电机回复位,完成一次点胶循环,系统回到待机界面。

步进电机控制器设计 篇12

关键词:可编程片上系统,步进电机,IP核,脉宽调制,加减速,Avalon总线接口,现场可编程门阵列

0 引 言

步进电机由于具有运动精确、易于控制、快速响应性好、连续运行无累积误差等特点,被广泛应用于数控机床、打印机、机器人等自动控制系统中[1]。步进电机系统由控制器、驱动器和步进电机3部分组成。步进电机控制器通过输出脉冲信号实现电机的转速和机械位置的精确控制,并且电机的总旋转角度与输入脉冲总数成比例。因此,控制器的脉冲信号频率和总脉冲数决定了步进电机的转速和旋转角度。对于步进电机控制器的脉冲信号发生器,需要精确地设定脉冲频率和总数,通常采用PWM技术[2]。

对于由步进电机作为执行机构的控制系统,为保证运动机构在启动或停止时不产生冲击、失步、超程或振荡,必须对驱动电机的信号脉冲频率进行控制,使得电机加速启动时,加在步进电机上的脉冲频率逐渐增加;而当电机减速停止时,加载步进电机上的脉冲频率逐渐减小,即完成步进电机的“启动—加速—恒速—减速—停止”控制[3]。

随着工业自动化技术的发展,对步进电机的控制也不断提高,DSP、FPGA等现代控制方法成为了全数字化智能控制系统的主流方向[4]。Altera公司Nios Ⅱ软核处理器的提出及SOPC技术的进步,从硬件和软件设计上推动了嵌入式系统设计的发展,使得嵌入式系统的硬件电路更加简单、有效,软件设计变得更轻松、移植性更强[6]。并且,利用Altera公司的通用IP核,使得用户可以根据实际需求来定制Nios Ⅱ外围设备,极大的降低了开发难度和成本以及缩短了产品开发周期[7]。但是,对于一些特定的外设,没有现成可用的IP核,用户可以通过自定义逻辑的方法在SOPC设计中添加自定义IP核。

本研究正是从实际应用出发,开发设计了步进电机加减速的PWM控制器IP核,可以直接应用于步进电机控制的多种场合。

1 PWM控制器IP核设计方案

通常定制基于Avalon总线(由SOPC Builder自动生成,是一种理想的用于系统处理器和外设之间的内联总线)的用户外设有两种方法:一种是SOPC Builder提供的元器件编辑器在图形用户界面下用硬件描述语言(Verilog HDL或VHDL)描述的用户逻辑封装成一个SOPC Builder元件,即IP核;而另一种方法则是在Altera公司提供的现有IP核基础上修改其Class.ptf文件,达到实现所需IP模块功能的目的[8]。

本研究所设计的PWM加减速控制模块的任务逻辑图如图1所示。任务逻辑由系统输入时钟(clk)、输入使能信号、输出信号(PWM)、输出使能信号、计数器以及加法器电路组成。计数器内部包括启动频率模式寄存器(mode_reg)、加速度累加器(connter_add)、加速度设定值寄存器(speedup_reg)等。使能控制寄存器(Enable control register)包括读使能信号、写使能信号、字节使能信号等。由于加速模块和减速模块的计数分频设计方法、原理相同,只是起始参数设置不同,故以下着重于从加速模块的算法设计上进行介绍。

2 PWM控制器IP核的设计与实现

一个典型的IP核由以下功能模块组成:

(1) 任务逻辑。任务逻辑完成该IP核的基本功能,用硬件描述语言HDL描述和仿真硬件逻辑组成其基本的硬件设计。

(2) 寄存器文件。寄存器文件提供了任务逻辑与外界交换信息的途径。使得用户可以通过Avalon接口采用“基地址+地址偏移量”的方式访问IP核内部各寄存器[9]。

(3) Avalon接口。Avalon接口为寄存器文件提供了一个标准的Avalon前端。它使用Avalon必须的信号来访问寄存器文件,并且支持任务逻辑的传输类型[10]。

2.1 HDL任务逻辑设计

本研究所设计的HDL任务逻辑主要由使能控制模块、计数器分频模块和寄存器读写模块构成。加减速分频算法描述如下:

调用加速模块时,首先要将使能信号pwm_enable置为1,使能PWM信号输出;选择一种mode模式(电机启动模式列表如表1所示,对应启动频率可预先根据实际需求设定分频计数值即可)决定PWM输出信号的起始频率,即步进电机的启动频率;设置speedup加速度值,根据实际应用设定,并设定加速度计数累加器speedup_limit的极限值。加速过程流程图如图2所示,系统时钟clk为50 MHz信号,经过24位计数器分频,输出PWM信号;而计数累加器每间隔一定时间自动加上加速度数值,增大累加器数值。启动模式设定寄存器mode_reg中设定的初始值减去计数累加器数值作为分频基数,因此分频基数逐渐增大,分频后得到的PWM输出信号频率就变高;随着累加器数值的不断增大,被mode_reg数值减去得到的计数值逐渐减小,故分频得到的PWM输出信号由启动频率开始逐渐增大;当mode_reg的值减去计数累加器的值与事先所设定的speedup_limit的值相等时,停止PWM信号的输出(此时输出的PWM信号频率已经加速至恒速工作时所需的频率),同时输出使能信号Ena由低电平0变为高电平1。至此,步进电机从低速启动到加速至设定值(即speedup_limit作为计数分频值时所产生的PWM频率信号)的PWM加速过程完成。

减速模块的工作过程和加速过程原理相同,只是将初始值设定在分频输出工作时的高频率信号,之后计数分频器的数值随着加速度的每次叠加,使得分频计数器的数值逐渐增大,分频所输出的PWM信号频率逐渐减小,对应电机的转速逐渐降低。直到分频计数器的数值与设定的极限值相等时(此时为电机转动的低速状态,低于电机的额定启动频率,可以直接停止脉冲输出使电机停止),停止PWM信号的输出,步进电机停止转动。此过程对应的就是步进电机减速至停止过程,即为减速模块。

2.2 寄存器组及Avalon总线接口

寄存器为软件提供了访问硬件的通道,一系列寄存器构成了寄存器组。寄存器是根据任务逻辑中需要实现的特定逻辑功能来设定的,任务逻辑中的数据通过寄存器传输。将这些寄存器映射成Avalon Slave端口地址空间内一个单独的偏移地址。每个寄存器都能进行读/写访问,软件可以读回寄存器的当前值,其中的寄存器及偏移地址如表2所示。

PWM控制器IP核的Avalon接口需要一个简单的Slave端口,使用较少的Avalon信号来处理简单的寄存器读/写传输。本研究的Avalon Slave端口与Avalon slave端口时钟信号同步,由于读/写寄存器只需一个时钟周期,读/写时的建立和保持时间为0,不需要延时。该模块对HDL任务逻辑和寄存器组进行例化和封装[11],使其信号类型符合Avalon总线信号规范和外设模块的信号规范。

2.3 IP核硬件构建及设置

本研究所设计的PWM加减速IP核是通过SOPC Builder提供的IP核生成向导,按照图形界面提供的选型进行配置得到的[12]。其具体构建如下:

本研究在Quartus Ⅱ中设计PWM加减速的Verilog HDL程序代码(即任务逻辑模块),并编译、仿真(如图3所示),然后在SOPC Builder中的IP核生成向导中添加该程序代码。新建的IP核应包括描述文件Class.ptf和cb_generator.pl、用户存放硬件描述文件的hdl_synthesis文件及用来包含HAL软件文件的HAL文件夹[13]。

其中,在Signals标签页面中,显示的是所有之前导入的顶层硬件代码中使用的I/O信号,所有这些信号都需要映射到有效的Avalon信号类型。组件编辑器自动填充在顶层HDL源文件中找到的信号细节,如果一个信号名与一个Avalon总线类型相同,则组件编辑器可以自动指定信号类型,否则将其设置为export类型,此时需要设计者针对具体设计指定信号类型。组件中使用信号的指定类型具体配置如图4所示。

由于所设计的IP核直接在Nios Ⅱ IDE环境下进行软件编写,不需要提供组件的驱动,所以不需要软件文件的导入。最终创建的IP核系统配置图如图5所示,其中在System Contents标签下,用户新建的User_IP分组下出现了所创建的命名为PWM_Speedup的PWM加减速IP核。

3 仿真调试与结果分析

仿真过程是在Quartus Ⅱ中完成的。当输入mode为01时,对应的启动频率为mode_50 Hz,即50 Hz;加速度speedup设置为1 000,加速度计数累加器speedup_limit的值设定为480 000,即加速到1.25 kHz。其仿真图如图6(a)所示,输出PWM信号的频率从50 Hz加速到1.25 kHz停止,加速完成的同时输出使能信号ena由0变为1,使能输出PWM恒速模块。

当输入mode为10时,对应的启动频率为mode_100 Hz,即100 Hz;加速度speedup设置为2 000,加速度计数累加器speedup_limit的值设定为230 000,即加速到1.25 kHz。仿真图如图6(b)所示,完成PWM信号从100 Hz加速到1.25 kHz的工作频率,然后通过使能ena信号调用下一PWM信号恒速模块。

当需要从恒速模块减速至低频率后停止时,只需要对加速模块的分频计数参数进行设置即可。

下载调试是在Altera公司cyclone系列EP1C12Q240C8的FPGA开发板上进行的,采用的是86BYG450型号的步进电机和DM808驱动器。通过硬件电路的配置和Nios Ⅱ IDE中软件程序的编写,最终调试结果表明,步进电机能平稳地从低速加速至设定的工作频率以及减速至较低频率停止。

4 结束语

本研究对基于SOPC的步进电机加减速PWM控制器IP核进行了初步设计,并经过实验仿真和调试。实验结果表明,该IP核结合Nios Ⅱ系统强大的可扩展性,能够实现步进电机控制的启动加速和停止减速的控制环节,并且电机工作稳定,达到了预期设计目的。同时,在调用该IP核时,通过对启动频率参数、加速度和加速计数累加器值的设定,即可满足不同频率的PWM信号输出,具有很好的通用性,有效地缩短了开发时间,有利于模块的重复利用。

上一篇:穿越技术的迷雾下一篇:化工工艺中的节能分析