导言
以往的直流电机调速体系一般选用单片机或DSP进行操控,而单片机需求运用很多的外围电路,且体系的可晋级性差,如替换操控器,往往要对整个软硬件进行从头规划,可重用性不高。而选用DSP作为首要操控器,假如碰到处理多任务体系时,一片DSP不能担任,这时就需求再扩展一片DSP或许FPGA芯片来辅佐操控,然后实施双芯片操控办法。但这样做,既添加了两个处理器之间同步和通讯的担负,又使体系实时性变坏,延伸体系开发时刻。依据以上此类问题,本文提出了选用Altera公司推出的NiosⅡ软核来操控直流电机调速体系,它的优点在于Ni-osⅡ归于软核处理器,能够直接经过软件办法扩展成双核甚至多核,无需外加芯片;再者NiosⅡ软核处理器和一切外围电路能够集成到一片FPGA芯片上来完结整个直流电机操控体系,这样无疑大大减小了操控器体积和分量,规划人员也能够在短时刻内完结整个体系的制造,提高了作业效率。
本文运用Altera公司的FPGA芯片EP2C35F672C6作为体系操控器,选用数字PID算法对直流电机进行PWM闭环调速操控。而且运用硬件描绘言语(VHDL)自行规划、生成PWM模块和测速模块,最终经过试验验证了该体系的可行性。
1 体系硬件规划
1.1 体系全体规划计划
选用Altera公司的DE2开发板作为开发渠道,选用SOPC技能经过在FPGA中植入嵌入式体系处理器NiosⅡ作为中心操控电路,运用FPGA中的可编程逻辑资源和IP软核来构成该嵌入式体系处理器的接口功用模块,借助于Avalon总线,完结对外围PWM模块、测速模块、SDRAM、键盘等硬件的操控,FPGA经过Avalon总线对输入模块和输出等模块进行装备,全体功用框图如图1所示。
整个体系的首要作业流程如下:当体系启动完结各单元初始化后,经过键盘输入希望设定值,一起由光电编码器收集实测转速传输到测速模块,经过NiosⅡ处理器处理电机PID操控算法,并将核算后的数据传输给自定制的PWM模块对其进行闭环操控。最终在NiosⅡIDE上收集到实践输出数据,并经过Matlab软件画出操控曲线波形图,最终对试验成果进行剖析。
1.2 PWM模块
体系中的自定制PWM模块是经过写VHDL代码,经过仿真、编译、管脚分配,最终生成PWM功用模块。它在整个体系中的作用是:对实测转速经过核算进行闭环操控。生成的PWM模块如图2所示。
图2中:clk为时钟信号端;sta用来操控直流电机正回转;conword为占空比信号;PWM_A标明直流电机处于正转状况时的占空比输出;PWM_B标明直流电机处于回转时的占空比输出。
PWM模块的原理如下:将时钟源50 MHz的基频信号64分频,作为PWM模块的基频信号,以256个该基频脉冲信号作为PWM输出的一个周期,由NiosⅡ处理器给出的conword的值指定一个PWM周期内高电平持续时刻,改动conword的值立刻改动占空比输出的值。
1.3 测速模块
体系中的测速模块生成办法如PWM模块,它在整个体系中的作用如下:首要是运用基频的周期来核算光栅信号的周期,算出直流电机的转速,其生成的模块如图3所示。
图3中:clk为时钟信号端;en为使能信号,即标明光栅有用;dout标明光橱有用时刻。
测速模块的原理如下:给出已知频率的基频,用光栅作为门限,测基频脉冲的个数,由基频的周期来核算光栅信号的周期,再算出转速,电机操控算法即依据测速模块测出的速度进行算法调整,到达闭环操控的作用。
2 体系软件规划
本次规划的软件首要分为两部分:
(1)运用QuartusⅡ7.2完结NiosⅡ体系的构建:运用SOPC Builder构建NiosⅡCPU;运用VHDL编写各操控模块。
(2)运用NiosⅡIDE完结体系操控与操控算法编写,首要运用C言语进行操控与算法编写;对直流电机进行成功操控后,在NiosⅡIDE上收集输出转速的实测数据,将其导入Matlab画出操控作用图,全体软件框图如图4所示。
本次规划运用SOPC Builder组成的NiosⅡ嵌入式体系,如图5所示。该体系除了装备NiosⅡ最小体系的CPU核NiosII CPU,Avalon总线,运用FPGA资源例化的存储器之外,还有以下外接设备的操控单元:
(1)SDRAM Controller;
(2)Common Flash InteRFace;
(3)JTAG UART;
(4)锁相环PLL;
(5)Interval TImer;
(6)通用I/O接口,包含PWM模块接口conw,msta和测速模块接口speed,按钮接口button。
关于SOPC Builder组成的NiosⅡ体系,能够在QuartusⅡ软件方便地调用,在QuartusⅡ中Block Diagram规划调用NiosⅡ体系的框图如图6所示。给该体系装备作业时钟,并分配FPGA的I/O管脚,程序经归纳,布局,仿真之后,就可将装备文件经过各种装备办法下载到FPGA上。本文运用JTAG+AS办法装备,经过USB Blaster下载电缆线将核算机USB接口与FPGA的JTAG口相连,把装备文件从核算机下载到FPGA中,这样就完结了体系的软件规划。
3 试验与数据剖析
3.1 测验体系
测验体系由一个额外电压为2.5 V的直流有刷电机和Altera公司的DE2开发板组成。电机相关技能指标为:额外电压为2.5 V,额外功率为O.065 W,额外转速为2 150 r/min,空载转速为2 650 r/min。
整个测验体系的硬件结构图如图1中所示,其作业流程在前文中有具体介绍。
3.2 试验成果及剖析
将直流电机增量式PID算法以C言语的办法写入NiosⅡIDE中,调试后将其收集到的实测数据导入Matlab,画出时刻与转速之间的联系图形如图7~图9所示。
(1)份额(P)操控
取采样周期T=0.1 s,KP=0.5,试验成果如图7所示。
在P操控中,份额环节的作用是对差错作出快速呼应,Kp,越大,操控能力越强,但跟过大的Kp会增大超调量,别的份额环节能够削减稳态差错,但不能彻底消除。从图7中能够看出份额环节使得电机的转速从零提升到设定值的进程比较快,但呈现了比较显着的超调,且存在必定的稳态差错。
(2)份额积分(PI)操控取采样周期T=O.1 s,Kp=0.5,T1=2,试验成果如图8所示。
在PI操控中,积分环节的作用的是消除累计下来的差错(即稳态差错),在操控进程中,只需有差错存在,积分环节的输出就不断增大,直到差错为零,输出才或许稳定在某一值上。但积分环节会下降呼应速度,添加超调量,T1越大,积分作用越弱。从图8中能够看出,在份额环节上加上积分环节,从前的稳态差错得到消除,电机转速趋于设定值,但一起也添加了另一段超调量。
(3)份额积分微分(PID)操控取采样周期T=O.1 s,Kp=O.5,T1=2,TD=O.1,试验成果如图9所示。
在PID操控中,微分作用是依据差错的改变趋势进行操控的,差错改变得越快,微分环节输出就越大,而且能在差错值变大前进行批改。微分环节有利于减小超调量,战胜振动,TD越大,微分作用越大。从图9中能够看出,参加微分环节后,超调量显着得到有用按捺。
从图7~图9中能够看出,用PID操控算法操控依据NiosⅡ的直流电机操控作用仍是不错的,有必定的稳定性,即便在转速呈现跳变时,也能进行杰出的盯梢。PID操控算法现已适当老练,参数能够经过整定很简单得到,试验标明,此计划具有必定的可行性。
4 结语
提出一种直流电机的新式操控办法,即运用NiosⅡ软核和FPGA芯片对其操控。经过试验验证,将PID增量式算法使用到此体系中,能进行杰出的闭环操控。在电机操控中如遇更杂乱的电机,如无刷电机等,用NiosⅡ软核进行操控,能够将其扩展为双核甚至多核,一个CPU用来操控算法,另一个CPU用来操控外围体系,互不搅扰,发挥NiosⅡ处理器的最大优势。