电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章FPGA步进电机定位控制系统VHDL程序与仿真

步进电机定位控制系统VHDL程序与仿真

11-20 16:14:54 | http://www.5idzw.com | FPGA | 人气:608
标签:fpga是什么,fpga教程,fpga培训,http://www.5idzw.com 步进电机定位控制系统VHDL程序与仿真,http://www.5idzw.com
                  cntIni<=0;
                  cntInc<=-1;
                  angleDnCntDec<=1;--"01";   
              when 0 => --manner="00" autodetect            
                  if (angle rem 2) = 1 then -- 2-相激励
                      cntIni<=-1;
                      cntInc<=-2;
                      angleDnCntDec<=2;--"10"; 
                  else -- 1-相激励                  
                      cntIni<=0;
                      cntInc<=-2;
                      angleDnCntDec<=2;--"10";
                  end if; --angle
          end case; --manner
      end if; -- else dir=0
      --end if; -- ini
  end process;

  counting_reset: process(reset,ini, angle, clk)
  begin
      if reset='1' then
         count<=0;
         angleDnCount<=0;
      elsif clk'event and clk='1' then
          if ini='0' then
              count<=0+cntIni;
              angleDnCount<=angle;
          else
              count <= count+cntInc;
              if angleDnCount > angleDnCntDec then
                  angleDnCount <= angleDnCount-angleDnCntDec;
              else
                  angleDnCount <= 0;
              end if;
          end if;
      end if;
  end process;


  baBA <="0000" when angleDnCount=0 else
         "0001" when count=0 else
         "0011" when count=1 else
         "0010" when count=2 else
         "0110" when count=3 else
         "0100" when count=4 else
         "1100" when count=5 else
         "1000" when count=6 else
         "1001";-- when count>=7;

end stepmotor_arch;

上一页  [1] [2] 

,步进电机定位控制系统VHDL程序与仿真