在电机闭环控制模型的建立中,设计采用H桥驱动电路来驱动电机,即采用双路PWM(即正相、反相两路)输入,要保证无论哪一路的PWM处于高电平时,都能保证计数器处于计数状态,同时采样计数器被周期清零,保证计数器不发生溢出;其次,设采样计数器在正相PWM为高电平时采到的值为+1,在反相PWM为高电平时采到的值为-1,在低电平时采集到的值都为0。将采样计数器的输出与采到的值+1与-1值进行累加,结果作为电机的电压输入信号;最后,本模块还提供一路时钟输出作为电流计算模块和角度计算模块的计算使能时钟,为8MHz。至此,PWM方波至电机电枢两端电压的转换完成,按照上述方案进行搭建模型即可。
因为PWM信号是外部信源产生的非同源信号,因此若用FPGA系统进行电机建模时,需对外部输入的PWM信号进行双采样处理,避免亚稳态的产生和传播,从而导致系统发生不可预知的情况。
电流计算即建立电机电枢两端电压和流经电机电流的关系,是典型的闭环控制环节和非线性环节,利用电机的驱动特性方程以及将非线性过程线性化来解决,是建模的另一个难点。忽略电机的最大静摩擦力、负载力矩等一些非线性因素,将此处的电流计算过程与下节的角度计算过程均近似为一个线性过程。
电流计算模块又可细化为电流计算、电流滤波以及截位输出。电流滤波是为了使电流曲线更加平滑,以使后面的截位操作产生的误差更小,这里采用一阶低通滤波。截位的目的是为了把电机电流这个浮点数转化为便于计算机存储和管理的定点数。