基于fpga的无刷直流电机控制软件篇之霍尔信号).doc

基于fpga的无刷直流电机控制软件篇之霍尔信号).doc

ID:62286621

大小:183.50 KB

页数:9页

时间:2021-04-25

基于fpga的无刷直流电机控制软件篇之霍尔信号).doc_第1页
基于fpga的无刷直流电机控制软件篇之霍尔信号).doc_第2页
基于fpga的无刷直流电机控制软件篇之霍尔信号).doc_第3页
基于fpga的无刷直流电机控制软件篇之霍尔信号).doc_第4页
基于fpga的无刷直流电机控制软件篇之霍尔信号).doc_第5页
资源描述:

《基于fpga的无刷直流电机控制软件篇之霍尔信号).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、霍尔信号根据在电机安装位置的不同,有2种不同的时序图,分别是60度和120度。这个要根据电机的厂家提供的资料。我这次选型的电机是60度。时序图如下: s1-s6分别对应6个状态,每一个状态的电气角度是60度。霍尔信号在这里不仅要用来换向。还要用测速,提高电机控制系统的测速反馈。先来说换向。s1-s6代表6个状态,每个状态对应6个开关管的开启和关闭。 上图为6个状态对应霍尔信号逻辑电平和对应6个开关管的开关逻辑状态。软件部分这里很好处理,简单的状态机就可以实现了。但是,不要忘记我们的集成模块是dvr8312,它的控制接口为pwm_apwm_b,pwm_crst_

2、a,rst_b,rst_c,并不是对应6个开关管。 这是dvr8312手册上给出的用常规6个开关管信号的逻辑图。我们就按手册的来。程序如下:`timescale1ns/1psmodulePWM_ctrl(clk,rst_n,    pwm_ah,pwm_bh,pwm_ch,    rst_an,rst_bn,rst_cn,    hall_a,hall_b,hall_c    );inputclk;inputrst_n;inputhall_a;        //三相霍尔信号inputhall_b;inputhall_c;outputpwm_ah;      

3、  //a相输出outputpwm_bh;        //b相输出outputpwm_ch;        //c相输出outputrst_an;        //rst_a输出outputrst_bn;        //rst_b输出outputrst_cn;        //rst_c输出//---------------------------------------------------------------------//霍尔换相分为6状态每状态只有2相通电 //      s1  s2  s3  s4  s5  s6//hall_a 

4、 1  1  1  0  0  0//hall_b  0  0  1  1  1  0//hall_c  1  0  0  0  1  1//pwm_ah  1  1  0  0  0  0//pwm_al  0  0  0  1  1  0//pwm_bh  0  0  1  1  0  0//pwm_bl  1  0  0  0  0  1//pwm_ch  0  0  0  0  1  1 //pwm_cl  0  1  1  0  0  0//-------------------------------------------------------

5、---------------reg[2:0]hall1;reg[2:0]hall2;regpwm_ahr;regpwm_bhr;regpwm_chr;regpwm_alr;regpwm_blr;regpwm_clr;//reg  [9:0]ctrl_reg;reg  pwm_reg;reg[9:0]cnt;parameterctrl_reg=200;always@(posedge clkornegedgerst_n)  if(!rst_n)begin  pwm_reg<=  1'b0;  cnt<=10'b0;  end  elsebegin  if(cnt

6、<=ctrl_reg)  pwm_reg<=1'b1;  elsepwm_reg<=1'b0;     endalways@(posedgeclkornegedgerst_n)  if(!rst_n)cnt<=10'b0;  elsecnt<=cnt+1'b1;always@(posedgeclkornegedgerst_n)  if(!rst_n)begin  hall1<=3'b0;  hall2<=3'b0;  end  elsebegin  hall1<={hall_a,hall_b,hall_c};  hall2<=hall1;  end//----

7、--------------------------------------------------------------------always@(posedgeclkornegedgerst_n)  if(!rst_n)begin  pwm_ahr<=1'b0;  pwm_bhr<=1'b0;  pwm_chr<=1'b0;  pwm_alr<=1'b0;  pwm_blr<=1'b0;  pwm_clr<=1'b0;  end  elsebegin  case(hall2)  3'b101:begin    pwm_ahr<=pwm_reg;    p

8、wm_bhr<=1'b0;    pw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。