深圳市瑞申电子有限公司

深圳市瑞申电子有限公司是一家10年专业大功率电感生产加工厂商,主要以大功率,大电流、扁平线圈电感、平面变压器设计、生产、销售工厂。设计、绕线、组装、检测、包装、出货等全制程的工艺流程!拥有完整、科学的质量管理体系。专业技术团队10人,我们的诚信、实力和产品质量获得业界的认可。欢迎各界朋友莅临参观、指导和业务洽谈。 ...

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

时间:2015-04-15 09:22:10 点击:

步进电机定位控制系统VHDL程序与仿真
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity step_motor is
port (reset:in STD_LOGIC; --系统复位信号
dir: in STD_LOGIC; --方向控制信号
clk: in STD_LOGIC; --系统时钟信号
ini: in STD_LOGIC; --初始化使能信号
manner: in STD_LOGIC_VECTOR (1 downto 0); --激磁方式的选择开关
angle: in INTEGER range 255 downto 0; --步进角的倍数设定输入
baBA: out STD_LOGIC_VECTOR (3 downto 0)); --步进电机状态输出
end step_motor;
architecture stepmotor_arch of step_motor is
signal count: INTEGER range 0 to 7; --计数器
signal cntInc: INTEGER range -2 to 2; --设定累加器所需的累(加/减)计数值
signal cc : integer range 0 to 3;
signal cntIni: INTEGER range -1 to 0; --设定累加器所需的计数初值
sign电感生产厂家al angleDnCount: INTEGER range 255 downto 0; --计算已经转过的步进角
signal angleDnCntDec: INTEGER range 2 downto 1;
begin
process(dir, manner, angle)--, ini)
begin
--if ini='1' then
cc<=conv_integer(manner);
if dir='0' then
case cc is
when 1 => -- 1-?相激励
--count<=0;
cntIni<=0;
cntInc<=2;
angleDnCntDec<=2;--"10";
when 2 => -- 2-?相激励
--count<=7;
cntIni<=-1;
cntInc<=2;
angleDnCntDec<=2;--"10";
when 3 => -- 1-2?相激励
--count<=0;
cntIni<=0;
cntInc<=1;
angleDnCntDec<=1;--"01";
when 0 => --manner="00" autodetect
if (angle rem 2) =1 then -- 2-?相激励
--count<=7;
cntIni<=-1;
cntInc<=2;
angleDnCntDec<=2;--"10";
else -- 1-?相激励
--count<=0;
cntIni<=0;
cntInc<=2;
angleDnCntDec<=2;--"10";
end 工字电感器if; --angle
end case; --manner
else -- if dir='1'
case cc is
when 1 => -- 1-?相激励
--count<=0;
cntIni<=0;
cntInc<=-2;
angleDnCntDec<=2;--"10";
when 2 => -- 2-?相激励
--count<=7;
cntIni<=-1;
cntInc<=-2;
angleDnCntDec<=2;--"10";
when 3 => -- 1-2?相激励
--count<=0;
cntIni<=0;
cntInc<=-1;
angleDnCntDec<=1;--"01";
when 0 => --manner="00" autodetect
if (angle rem 2) = 1 th电感电压en -- 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;

大功率电感厂家 |大电流电感工厂
  • 屏蔽電感
    狀,其中包括螺旋管,Pot 核芯和一体电感器生产E 核芯。磁芯形狀如彈狀核芯和線軸,需要應用問題。一定比例的磁場將功率电感器生产厂家會跳脫的磁芯材料。這甚至適用於環形磁芯,滲透率較低
  • 功率电感:IGBT应用设计全面剖
    ●尽可能减少电路中的杂散功率电感。 ●采用吸收回路。吸收回路的作用是;当IGBT关断时,吸收电感中释放的能量,以降低关断过电压。 ●适当增大栅极电阻Rg。 IGBT的过热保护一般是采用散热器(包括普通
  • 电感线圈厂家【晨飞】向广大客户提供更优质的产品和服务
    深圳电感线圈厂家【晨飞,李先生,188252192一体电感生产厂家08 】欢迎各界新老客户来公司光临指导,洽谈业务,我们愿与您携手共创美好明天!分频器所使用的电感线圈分为空芯线圈和铁芯线圈两类,而铁
  • 大功率电感