欢迎来到天天文库
浏览记录
ID:62286621
大小:183.50 KB
页数:9页
时间:2021-04-25
《基于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
此文档下载收益归作者所有