基于FPGA的多通道直流电机控制器设计

时间:2012-11-21来源:网络

2.2 分频模块
尽管可以设计中采用锁相环来完成分频器的设计,但为了节省逻辑资源,降低芯片功耗,在对于时钟要求不太严格的设计中,可自主设计进行时钟分频。本设计中采用常用的计数分频,只改变分频系数就可实现随意分频。其设计过程简单,且消耗系统资源少。在本设计中输入时钟CLK_25M为25 MHz,为了设计方便,选择分频系数设为16。通过对模块输出进行仿真,测量时钟输出频率为1.562 5 MHz,周期为640 ns满足设计要求。
2.3 计数模块
本设计中采用霍尔传感器对直流电机进行转速测量,电机每转一圈,霍尔传感器就输出一个高脉冲。测速模块其功能主要是计数,并且将所得到的数字应予锁存输出。根据单位周期内霍尔传感器输出的高脉冲数就可以估算出电机的转速。在本设计中设定每500 ms的周期内对计数结果进行一次输出并清零。根据其具体逻辑功能将利用Verilog HDL语言实现,其逻辑框图如图4所示。

g.JPG


测速模块的逻辑仿真结果如图5所示,分频后系统时钟频率为1.562 5 MHz,系统复位后,开始对被测霍尔传感器输入进行计数测量,其结果为20。已经被测输入信号周期为50 ms,则频率为20,表明设计完全正确。

b.JPG


2.4 并行控制模块
并行控制模块部分是电机控制的核心部分,主要负责根据预定设置和计数模块的计数结果,按照设计目的,完成对PWM占空比的控制。由于要实现各通道电机之间互不干扰,则要求各并行控制模块与测速模块和PWM生成模块一一对应,以实现各通道并行独立控制。
2.5 PWM生成模块
产生PWM原理:FPGA中的基准计数器用来产生类似模拟电路的三角波基准,是一个最小计数值为0,最大计数值为周期寄存器中保存的数值。PWM的任务逻辑由输入时钟CLK,输出信号pwm_out,使能位,32位计数器以及一个32位比较器组成。输入时钟作为32位计数器的时钟信号,32位计数器的当前值与占空比设定寄存器中的值经过比较器后来决定pwm_out的输出为高或为低。当前计数器中的值小于或等于占空比寄存器中的值时,pwm_out输出低电平,否则输出高电平。PWM的周期设定寄存器来设置pwm_out的信号周期,当前计数器的值等于周期设定寄存器中设定的值时产生一个复位信号来清除计数器中的值。使能控制寄存器能使时钟信号有效或无效,从而控制计数器是否工作,进而控制pwm_out是否保持当前状态不变。PWM生成模块逻辑图如图6所示。

h.JPG

1 2 3

关键词: FPGA 多通道 直流电机 制器设计

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版