依托控件的电机核准扼制程序的预设研讨

来源:网络  作者:网络转载   2019-10-06 阅读:116

  仿真波形,如上面的仿真图所示,本模块已实现了所需要的功能,当将所有的输入数均设为1并且在使能load(load=0)信号的时候,所收到的速度控制数据为220-1=1048575,收到的相位控制数据为210-1=1023.而在将使能信号设为非使能状态(load=1)时,收到的数据便被锁存在指定的寄存信号中,不再接收数据了,这样就保证了我们的模块正常地处理接收数据模块和驱动模块的合理工作。

  串行数据输入的过程(dload=0时)串行数据输入的结果(dload=1时)电机转速调节模块在本系统中使用了DDS原理相位累加部分用来生成控制步进电机转速控制的脉冲分配。本设计中对于步进电机的频率控制字的计算公式如下:FPGA的工作频率为24MHz,经分频计分频后为4MHz.而相位累加器的长度为N位即为2N.电机的转动采用8拍驱动,则电机的转动频率为:f=4×106×82N

  c因为一个相位溢出为8拍,所以频率值乘了一个8,其中N为相位累加器的位数,c为频率控制字。通过单片机计算好控制字,而本模块的功能则是利用接收来的控制字进行累加送出驱动步进电机的驱动脉冲。

  程序如下,他主要做的就是对相位累加器进行累加:process(clk6)//相位累加器variablephase:std_logic_vector(22downto0);//相位累加寄存器beginifclk6′eventandclk6=′1′thenphase(22downto0):=phase(22downto0)+invv(19downto0);cconter<=phase(22downto20);//输出计时器clkcter<=phase(19);endif;endprocess;其中,phase为相位累加器,他要做的任务只是本身不断的累加,然后将自身的高3位传给cconter计数器,溢出时便将溢出位抛弃,然后继续累加。

  输出译码模块这个模块是主程序不可缺少的重要模块,他要完成的功能是将由相位累加器通过信号cconter传送到con的计数数值译码输出,以形成驱动步进电机的驱动脉冲。

  定位模块定位模块所要完成的功能是通过编写程序控制FP2GA芯片从而来控制步进按照想要设定的步数来进行转动。一旦设定步数到达,那步进电机的动作也就结束了,用一个计数器来实现这一个功能,当然也就是对这个计数器在给定步数内进行不断的累加,当该计数器到达设定的步数后,便可能通过这个计数器断开模块程序的动行。使得驱动输出的停止,以求达到准确定位的目的。

  

标签: 扼制
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

购物指南

支付方式

商家合作

关于我们

微信扫一扫

(c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

在线咨询

在线咨询:

QQ交流群

微信公众号