APP下载

直流电机测控系统设计与实现

2020-07-04王桂芳

智能计算机与应用 2020年3期
关键词:直流电机

王桂芳

摘要:本文利用FPGA可编程逻辑器件实现了对直流电机控制系统的设计。在熟悉直流电机工作原理及特性的前提下,掌握PWM控制原理,实现了对直流电机的速度、旋转方向控制和速度测量。本系统使用VHDL编程,利用嵌入式逻辑分析仪进行测试,验证设计的正确性。

关键词: 直流电机; PWM; FPGA; VHDL

【Abstract】 In this paper,the design of DC motor control system is realized by FPGA programmable logic device. Under the premise of familiarizing with the principles and characteristics of DC motor, the PWM control is grasped, and the speed control, rotation direction control and speed measurement of DC motor are realized. The system described in the VHDL language, and the embedded logic analyzer is used for test to verify the correctness of the design.

【Key words】  DC motor; Pulse Width Modulation; Field Programmable Gate Array; Very High Speed Integrated Circuit Hardware Description Language

0 引 言

直流电机具有启制动性能良好、速度易控制、能够实现较宽范围内的平滑调速等特点,在工业中得到广泛应用[1]。直流电机速度控制最常用的是电枢电压控制法,通过调节电阻改变端电压达到调速目的。PWM(Pulse Width Modulation,脉宽调制)控制技术以其控制简单灵活和动态响应好的优点成为电力电子技术广泛应用的控制方式[2]。与此同时,可编程门阵列(Field  Programmable  Gate  Array,FPGA)器件的出现,为高性能的直流电机控制实现数字化提供了契机。FPGA器件是以硬件电路为基础实现算法程序,能够将电路板级产品集成为芯片级产品,简化系统结构,提高系统的稳定性和可靠性[3]。

1 系统总体设计

本系统采用模块化设计方案,将系统按功能划分为4个基本模块,如图1所示。转速控制模块:控制电机的转动速度,即控制PWM信号的占空比(高电平宽度与低电平宽度的比值),实现不同的电机转速;PWM信号发生模块:以计数器代替三角波波形,产生占空比不同的频率信号;电机的正反转模块:编写程序控制DM1、DM2信号,用来控制电机不同方向的转动;测速模块:运用试验箱内部的红外光电测速模块测量电机的速度。

2 PWM信号产生模块设计

一般的脉宽调制PWM信号是通过模拟比较器产生的,在比较器的一端接给定的参考电压,另一端接周期性的锯齿波电压。当锯齿波电压小于参考电压时输出高电平,锯齿波电压大于参考电压时输出低电平,改变参考电压就可以改变PWM信号的占空比[4]。如采用单片机产生PWM信号,需先用D/A转换器产生锯齿波电压和参考电压,再通过外接模拟比较器输出PWM信号,外围电路比较复杂[5]。而FPGA中的数字PWM调制电路与一般的模拟PWM调制电路相比,产生PWM信号只需要FPGA内部资源就可以实现。PWM信号的产生如图2所示。锯齿波B与固定值A比较之后,能够产生固定脉宽的PWM信号,如果想要改变PWM信号的占空比,只需要改变A的值即可。当输入的直流电机速度值改变时,PWM信号的占空比也会随之改变。PWM信号的占空比增加,电机转速加快,PWM信号的占空比减小,则电机转速变慢。

在系统中,计数器CNT8在时钟信号CLK激励下输出计数脉冲。为了能够输出逐渐增大的锯齿波,程序在每一個时钟上升沿到来时都会输出一个计数值,下一个上升沿到来时加1,直到cnt=“11111111”时将cnt清零,从而输出周期性的锯齿波波形。锯齿波CNT8输出信号cnt与转速控制输出信号count同时加到数字比较器的两个输入端口,然后将两者进行比较。如果cnt的值小于count的值,比较器输出高电平,反之输出低电平。由此产生周期性的PWM信号,只要改变速率的设定值count,就可以改变PWM信号的占空比,达到调速的目的。

3 电机转速测量模块设计

根据直流电机转速测量的原理,可以参照频率计的设计方法来设计测速模块,并且通过数码管来显示转速测量的结果。直流电机转速测量电路包括时序控制器、计数器和锁存器。其中时序控制器能够产生测量转速时的工作时序;计数器能够用来统计直流电机的转数(光电码盘产生的脉冲个数);锁存器用来锁存计数器输出的转数值。

电机的转速测量由3个模块组成:时序模块、计数器模块、锁存器模块。如图3所示。运用时序模块产生3种信号,分别为:TSTEN、CLR_CNT、LOAD。TSTEN是使能信号,让计数器开始工作,记录1 s内的电机旋转圈数;CLR_CNT是计数清零信号,当CLR_CNT=1时,计数器的值清零,从下1 s开始计数;LOAD是锁存信号,当LOAD=1时,锁存器将数据锁存,在数码管上显示电机当前转速。CLK的频率为1 Hz,在CLK=1 s的时间段内(一个周期),计数使能信号TSTEN若为高电平则允许计数器CNT计数,计算电机转动的频率。锁存器的工作时钟为LOAD信号,在CLK=1且LOAD=1时,将LTCH中锁存的转速脉冲个数进行输出。在CLK信号接下来的1s的时段内,LOAD=1且CLK=0,计数器清零信号CLR_CNT=1有效,将计数器CNT中已经锁存的计数值清零,使得CNT能够在下一个计数使能信号TSTEN=1有效期间继续统计脉冲数。另外,直流电机的频率测量值可通过P[7..0]连接带译码器的数码显示电路,显示电机的频率,求得电机的转速。

4 测试分析

随着系统功能的不断强大,逻辑设计也越来越复杂,已不能僅依靠软件仿真测试的方法去了解系统的硬件功能,检查存在的问题。应采用更高效的测试手段与传统测试方法相结合的方式进行系统测试,这就是嵌入式逻辑分析仪的基本思想[6]。

本文使用嵌入式逻辑分析仪对系统进行了测试分析。其中GW48试验箱选用的FPGA器件是CycloneIII系列的EP3C40Q240C8N。操作过程如下:

(1)输入信号。将程序下载到试验箱,将要观察的信号加入嵌入式逻辑分析仪中。下载之后需要先在试验箱运行,才能实时观察分析仪中的信号变化。如图4所示,下载后信号初始值均为0。

(2)开始分析。按下start按钮,电机开始正转。由图5可见,产生的PWM信号直接加载到控制电机正转的信号i,使电机正转。ctrl输入为“11000011”,占空比等于76.47%。

(3)按下zhuan按钮,使得电机的旋转方向发生改变。PWM信号全部传给信号o,count为“11000011”,占空比为76.47%。如图6所示。

(4)电机反转加速。加速时count为“11110011”,占空比为95.29%,电机旋转速度加快。由图7看到,此时PWM信号的占空比增大。

(5)电机反转减速,减速时count为“10101100”,占空比为67.45%,电机旋转速度减慢。从图8中可见,PWM信号的占空比变小。

在试验箱上验证系统功能的同时,实时观察信[CM)]号的变化情况,确保有问题时可以及时发现处理,这种方式能够给予设计者们极大的便利。通过以上测试分析,验证了直流电机综合控制系统设计的合理性以及正确性。

5 结束语

本系统相比以往的直流电机控制系统有许多改进。PWM控制技术的使用使电机控制更加高效。利用FPGA内部资源产生PWM信号,省去了D/A转换器、模拟比较器,减少了外部连线,简化了系统结构,使控制变得更容易。采用嵌入式逻辑分析仪进行测试分析,降低了程序设计的复杂性。综上所述,研究且制造出这种高性能、高可靠性的直流电机控制系统,对现实生活有着十分重要的意义。

参考文献

[1] 王云飞,张凯.基于STM32的直流电动机测速系统设计[J].电子制作,2018(23):28-31,10.

[2]胡飞虎.基于FPGA的直流电机PWM控制器设计[J].机电信息,2012(30):144-145.

[3]齐晶晶,黄彩霞,黄利斌.基于FPGA的电机控制器的设计[J].信息技术,2016(8):56-58.

[4]潘明,许勇.基于FPGA的直流电机脉宽调制控制[J].广西科学院学报,2005(4):219-221.

[5]胡亚琦,胡翔宇,牛宝.基于FPGA直流电机的PWM控制[J].实验室研究与探索,2014,33(9):44-47.

[6]潘 松,黄继业. EDA技术实用教程 [ M ].北京:科学出版社, 2013.

猜你喜欢

直流电机
基于24V直流电机调速的应用
基于霍尔位置信号的无刷直流电机直接转矩控制
基于硬件滤波电路的无刷直流电机转子位置辨识