简易加油机控制系统要点

简易加油机控制系统要点
简易加油机控制系统要点

简易加油机控制系统

(数字电路实验)

一、设计课题的任务要求

设计并实现一个简易加油机控制系统,能够完成定值加油、加油至油箱满等功能,并显示所加油量和钱数。

基本要求:

1、油价固定设为5 元/升。

2、用2 个按键(btn7、btn6)分别表示一百元、十元,用btn5 做加油开始键,用btn0 做系统复位键。用3 个数码管(disp2、disp1、disp0)显示钱数,以元为单位,上限990 元;用数码管(disp5、disp4、disp3)显示加油量,精确到0.1 升,最大显示99.9 升。

3、定值加油时,先输入钱币,数码管同时显示钱数,按加油键,开始加油。加油过程中,钱数及加油量的显示从零开始递增,直到钱数到达预定值。并用发光二极管表示购买成功。加油过程中,所有按键按下无效。

4、加油至油箱满:在钱币数为零的状态下,按加油键,钱数及加油量的显示从零开始递增,直到油箱加满。自行设计一个随机数发生器,控制加油量自动停止在30 升至50 升之间,精确到0.1 升。加油过程中,所有按键按下无效。

5、复位键(btn0)按下后,系统复位,此时数码管显示钱币数及加油量均为零。

二、 系统设计(包括设计思路、总体框图、分块设计)

1.设计思路:这次设计将整个程序分为控制计数模块,按键输入模块,数码管现实模块,防抖模块以及随机数产生模块。其中控制计数模块为系统核心,识别分析所有按键输入信号并给出控制信号;按键输入模块用于消除按键时机械抖动时可能产生的错误输入信号;数码管现实模块采用分时显示的方法让六个数码管分别显示油价与油量;随机数产生模块用于产生一个一定范围的随机数。

2.总体框图:

3.分块设计 ①控制和计费模块:

采用多重if 语句判断实现逻辑功能。当时钟上升沿来临,若清零

分频模块

控制计数模块

按键防抖1

数 码 管 显 示 模 块

随机数产生模块

Price-ten Price-hundred

Reset

Start

按键防抖1

按键防抖1

按键防抖1

键被按下(btn0 = ‘1’)则清零变量,完成判断;若清零键非零则判断是否按下加油键(按下则m=‘1’),若按下则

②按键防抖模块:

按键有效的判断条件是按键是否按下一定时间(其中btn7,btn6是按下150ms后有效,btn5,btn0是按下100ms后有效)。一般按键抖动时间在5ms到10ms之间,故该判断条件能有效防抖。

③显示模块:

该模块需同时显示油价和油量两个数据。本来需要两类信号来分别储存油量数据和油价数据。但考虑到油价与油量有一个固定的函数关系(油量=油价/5),可以将油量类的信号省去,只储存油价类的信号。在显示时,只需要把油价信号进行一个函数变换即可显示油量。这样做简化了信号个数,也方便对数据进行操作。

④随机数产生模块:

实验要求为产生一个30升到50升的随机加油量,对应到油价就是一个150到250的数。故随机数模块依据按下加油键的时间为随机变量产生一个150到250的随机数送到油价信号。

三、仿真波形及波形分析

由于整个程序功能复杂,故做分模块仿真。

1.分频模块:

采用clk_100为例子进行仿真。鉴于50MHz是一个很大的频率,基础时钟的频率在仿真中设置为10kHz,分频系数为100.

2.防抖模块:

鉴于4个按键都采用相同的防抖手段,故采用加油键(btn5)作例子。可以看见前面两个小的抖动m值都未发生变化,直到加油键被按下超过100毫秒时m值才变为1,即实现了防抖功能。

3.显示模块:

啊dgtc控制某个数码管亮,可以看见它在六个时钟周期内循环变化;dgt控制显示数码显示数字,可以看见在一个时钟周期(红色椭圆内)其稳定为一个值,输入数码管之后就稳定为一个数字;而point为油价小数点,它只在某个特定的数码管后亮起,在仿真上可

以看见它每隔六个时钟周期值变为1。

4.控制模块:

①初始输入油价状态:

Btn7与btn6两个键分别控制油价的百位与十位,可以看见按下btn6键后油价十位(price2)变为1,按下btn7键后油价百位变为1(price2),再按下btn6键后油价十位(price2)变为2.

②输入油价为零的加油过程:

直接按下btn5键后可以看见目标油价(goalpri2、1、0)被直接赋给随机数值(在150到250之间的一个数),显示油价从零开始递增(price2、1、0)。

③已输入油价加油过程:

输入油价10元(即只按btn6键一下),再按下加油键(btn5),可以看见目标油价被赋值为10元(goalpri1被赋值为1,goalpri2、goalpri0),显示油价(price2、1、0)从零开始递增,每0.1秒增加一次。增加到目标油价后显示油价不再变化,同时led值变为‘1’,即加油完成后led灯亮起。

④清零过程:

在仿真③后按下清零键(btn0),显示油价与led标志都被清零,即加油指示灯、油价显示都回到初始状态。

四、源程序(要有注释)

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use IEEE.STD_LOGIC_ARITH.ALL;

entity oilm is

port(

clk,btn7,btn6,btn5,btn0:in std_logic; --按键输入,btn7与btn6控制油价百位、十位变化,btn5为加油键,btn0为重置键

dgt:out std_logic_vector(6 downto 0); --输出,控制数码管显示数字

dgtc:out std_logic_vector(5 downto 0); --输出,分频控制某个数码管亮

point,led:out std_logic); --输出,控制小数点

end oilm;

architecture a of oilm is

signal clk_100,clk_1k,clk_10:std_logic;--分频后频率

signal k,fuelf,zerof,m:std_logic;--状态标志量,m=‘1’表示加油键按下,fuelf=‘1’表示加油过程中,zerof=‘1’表示输入油价为零,k由于控制改变加油最终油价signal spri2,pri2,vpri2:integer range 0 to 4;--spri2、1、0储存按键后的油价,pri2、1、0储存显示的油价,vpri2、1、0储存加油最终油价

signal spri1,pri1,spri0,pri0,vpri1,vpri0,cap2,cap1,cap0:integer range 0 to 9;--cap2、1、0用于储存显示油价pri2、1、0对应的油量值

signal cnt00:integer range 0 to 249999;

signal cnt01:integer range 0 to 24999;

signal cnt02:integer range 0 to 2499999;

signal cnt17,cnt16:integer range 0 to 14;

signal cnt15,cnt10:integer range 0 to 9;

signal cnt2:integer range 0 to 5;

signal cnt3:integer range 150 to 250;

signal tmp32:integer range 0 to 2;

signal tmp31,tmp30:integer range 0 to 9;

begin

zf:process(spri2,spri1) --时刻判断输入油价是否为零

begin

if (spri2+spri1) > 0 then

zerof <= '0';

else

zerof <= '1';

end if;

end process zf;

control:process(spri2,spri1,spri0,m,clk_10,btn0) --控制模块

begin

if clk_10'event and clk_10 = '1' then

if btn0 = '1' and fuelf /='1' then

k <= '0';led <= '0';

else

if m = '0' then

pri2 <= spri2;pri1 <= spri1; pri0 <= spri0;

else

if zerof = '0' and k = '0' then

fuelf <= '1';

vpri2 <= spri2;vpri1 <= spri1;vpri0 <= spri0;

pri2 <= 0;pri1 <= 0;pri0 <= 0;k <= '1';

elsif zerof = '1' and k = '0' then

fuelf <= '1';

vpri2 <= tmp32;vpri1 <= tmp31;vpri0 <= tmp30;

pri2 <= 0;pri1 <= 0;pri0 <= 0;k <= '1';

end if;

end if;

if (m='1') and (fuelf = '1') then

if (pri2*100+pri1*10+pri0) < (vpri2*100+vpri1*10+vpri0) then

if (pri0=9) then

pri0<=0;

if (pri1=9) then

pri1<=0;

pri2<=pri2+1;

else

pri1<=pri1+1;

end if;

else

pri0<=pri0+1;

end if;

else

fuelf <= '0';

led <= '1';

end if;

end if;

end if;

end if;

end process;

frequency:process(clk)--分频模块

begin

if (clk'event and clk ='1') then

if cnt00 = 249999 then cnt00<= 0; clk_100 <= not clk_100;

else cnt00 <=cnt00 +1;

end if;

end if;

if (clk'event and clk ='1') then

if cnt01 = 24999 then cnt01<= 0; clk_1k <= not clk_1k;

else cnt01 <=cnt01 +1;

end if;

end if;

if (clk'event and clk = '1') then

if cnt02 = 2499999 then cnt02<=0; clk_10 <= not clk_10;

else cnt02 <=cnt02+1;

end if;

end if;

end process;

anti_shake:process(clk_100,btn7,btn6,btn5,btn0) --防抖模块begin

if clk_100'event and clk_100 = '1' then

if btn7 = '1' then

if cnt17 = 14 then

cnt17 <= 0;

if spri2 = 4 then

spri2 <= 0;

else

spri2 <= spri2 +1;

end if;

else

cnt17 <= cnt17 +1;

end if;

end if;

if btn6 = '1' then

cnt16 <= 0;

if spri1 = 9 then

spri1 <= 0;

else

spri1 <= spri1 +1;

end if;

else

cnt16 <= cnt16 +1;

end if;

end if;

if btn5 = '1' then

if cnt15 = 9 then

cnt15 <= 0;

m <= '1';

else

cnt15 <= cnt15 +1;

end if;

end if;

if btn0 = '1' and fuelf /='1' then

if cnt10 = 9 then

cnt10 <= 0;

m <= '0';spri2 <= 0;spri1 <= 0;

else

cnt10 <= cnt10 +1;

end if;

end if;

end if;

spri0 <= 0;

end process anti_shake;

dis1:process(clk_1k,pri2,pri1,pri0)--显示模块一,完成油价油量对应运算begin

if (clk_1k'event and clk_1k = '1') then

if (pri0*2 >= 10) then

cap0 <= (pri0*2 rem 10);

if ((pri1*2+1) >= 10) then

cap1 <= (pri1*2+1) rem 10;

cap2 <= pri2*2 +1;

else

cap1 <= pri1*2+1;

cap2 <= pri2*2;

end if;

else

if (pri1*2 >= 10) then

cap1 <= pri1*2 rem 10;

cap2 <= pri2*2 +1;

else

cap1 <= pri1*2;

cap2 <= pri2*2;

end if;

end if;

end if;

end process dis1;

dis2:process(clk_1k,pri2,pri1,pri0,cap2,cap1,cap0)--显示模块二,六个数码管显示begin

if (clk_1k'event and clk_1k = '1') then

if cnt2 = 5 then

cnt2 <= 0;

else

cnt2 <= cnt2+1;

end if;

end if;

case cnt2 is

when 5 => dgtc <= "011111";

when 4 => dgtc <= "101111";

when 3 => dgtc <= "110111";

when 2 => dgtc <= "111011";

when 1 => dgtc <= "111101";

when others => dgtc <= "111110";

end case;

case cnt2 is

when 2 => case pri2 is

WHEN 0=> dgt<="0111111";

WHEN 1=> dgt<="0000110";

WHEN 2=> dgt<="1011011";

WHEN 3=> dgt<="1001111";

WHEN others=> dgt<="1100110";

end case;

point <= '0';

when 1 => case pri1 is

WHEN 0=> dgt<="0111111";

WHEN 1=> dgt<="0000110";

WHEN 2=> dgt<="1011011";

WHEN 3=> dgt<="1001111";

WHEN 4=> dgt<="1100110";

WHEN 5=> dgt<="1101101";

WHEN 6=> dgt<="1111101";

WHEN 7=> dgt<="0100111";

WHEN 8=> dgt<="1111111";

WHEN others=> dgt<="1101111";

end case;

point <= '0';

when 0 => case pri0 is

WHEN 0=> dgt<="0111111";

WHEN 1=> dgt<="0000110";

WHEN 2=> dgt<="1011011";

WHEN 3=> dgt<="1001111";

WHEN 4=> dgt<="1100110";

WHEN 5=> dgt<="1101101";

WHEN 6=> dgt<="1111101";

WHEN 7=> dgt<="0100111";

WHEN 8=> dgt<="1111111";

WHEN others=> dgt<="1101111";

end case;

point <= '0';

when 5 => case cap2 is

WHEN 0=> dgt<="0111111";

WHEN 1=> dgt<="0000110";

WHEN 2=> dgt<="1011011";

WHEN 3=> dgt<="1001111";

WHEN 4=> dgt<="1100110";

WHEN 5=> dgt<="1101101";

WHEN 6=> dgt<="1111101";

WHEN 7=> dgt<="0100111";

WHEN 8=> dgt<="1111111";

WHEN others=> dgt<="1101111";

end case;

point <= '0';

when 4 => case cap1 is

WHEN 0=> dgt<="0111111";

WHEN 1=> dgt<="0000110";

WHEN 2=> dgt<="1011011";

WHEN 3=> dgt<="1001111";

WHEN 4=> dgt<="1100110";

WHEN 5=> dgt<="1101101";

WHEN 6=> dgt<="1111101";

WHEN 7=> dgt<="0100111";

WHEN 8=> dgt<="1111111";

WHEN others=> dgt<="1101111";

end case;

point <= '1';

when others => case cap0 is

WHEN 0=> dgt<="0111111";

WHEN 1=> dgt<="0000110";

WHEN 2=> dgt<="1011011";

WHEN 3=> dgt<="1001111";

WHEN 4=> dgt<="1100110";

WHEN 5=> dgt<="1101101";

WHEN 6=> dgt<="1111101";

WHEN 7=> dgt<="0100111";

WHEN 8=> dgt<="1111111";

WHEN others=> dgt<="1101111";

end case;

point <= '0';

end case;

end process dis2;

rand1:process(clk)--随机数产生模块

begin

if clk'event and clk = '1' then

if cnt3 = 250 then

cnt3 <= 150;

else

cnt3 <= cnt3 + 1;

end if;

end if;

end process rand1;

tmp32 <= cnt3 / 100;

tmp31 <= (cnt3 rem 100) / 10;

tmp30 <= cnt3 rem 10;

end;

五、功能说明及资源利用情况

功能说明:

初始状态按下btn7、btn6两个键会分别改变油价百位和十位(按一次就加1)。当按下加油键(btn5),状态量m改变,进入加油状态,以0.1秒为间隔加油,每次油价加1元。按下加油键之后会根据之前输入油价是否为零(zerof为0则输入油价不为零),若输入油价为零

则给加油目标油价赋一个150到250之间的随机数,若不为零则直接把输入油价赋给加油目标油价。清零键在初始状态及加油完成后都能使用,但加油过程中清零键无效。

资源利用情况:

六、故障及解决方法

在写程序中遇到的问题是多时钟沿问题。开始的时候设置的按键防抖是输入信号是按键产生一个上升沿后才给油价加1,结果在控制程序中和时钟clk_10的上升沿产生了冲突,导致程序无法通过。后来修改了防抖程序,只需按键按下150毫秒后油价就加1,避开了时钟沿,程序编译通过。

第一次下载后初始状态可以输入加油,但按下加油键后无法加油,油价显示只有个位在跳动,十位和百位都为零,和输入油价不符。仔细检查代码后发现控制模块出错。原来按下加油键后每次进行判断都会重新给显示油价清零,重新给目标油价赋值。给控制模块加入标志量k后保证显示油价清零只进行一次,目标油价赋值只进行一次,程序可以正常执行功能。

七、总结与可行优化

这次数电实验进行的颇为周折。对硬件编程语言不熟悉的我把c语言的那些编程想法拿到vhdl编程里边来,导致程序出现诸多错误,无法通过编译。比如while语句,在c语言中很常用,但是放到vhld 中便没有硬件实现的基础,导致编译无法通过,这也告诉我硬件编程要考虑实际,不能天马行空,想怎么写就怎么写。

可行优化:这次控制程序写得比较low,只是多重if语句嵌套。相信使用状态机的话控制程序看着会有条理许多。(使用三个状态s0、s1、s2。s0为初始状态,负责输入油价,当按下加油键的时候切断到状态s1;s1为赋值状态,根据输入油价是否为零为加油时的目标油价赋值,若为零为目标油价赋随机值,若非零则将该值赋给目标油价,同时进入状态s2;s2为加油状态,内有一个if判断语句,当显示油价未达到目标油价时就不停给显示油价加1,达到后就停住。无论在哪个状态按下清零键后都回到状态s0,显示油价清零。)

四相步进电机控制系统设计资料讲解

四相步进电机控制系 统设计

课题:四相五线单4拍步进制电动机的正反转控制专业:机械电子工程 班级:2班 学号: 20110259 姓名:周后银 指导教师:李立成 设计日期: 2014.6.9~2014.6.20 成绩:

1概述 本实验旨在通过控制STC89C52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转10s、反转10s,连续运行1分钟,并用1602液晶显示屏显示出来。 具体工作过程是:给系统上电后,按下启动开关,步进电机按照预先 实验具体用到的仪器:STC89C52芯片、开关单元、四项步进电机、等硬件设 备。 实验具体电路单元有:单片机最小系统、步进电机连接电路、开关连接电路、1602液晶显示屏显示电路。 2四相步进电机 2.1步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 2.2步进电机的控制 1.换相顺序控制:通电换相这一过程称为脉冲分配。 2.控制步进电机的转向控制:如果给定工作方式正序换相通电,步进 电机正转,如果按反序通电换相,则电机就反转。

3.控制步进电机的速度控制:如果给步进电机发一个控制脉冲,它就 转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。 2.3步进电机的驱动模块 ABCD四相工作指示灯指示四相五线步进电机的工作状态 2.4步进电机的工作过程 开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动, 1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,

自动控制原理作业答案1-7(考试重点)

红色为重点(2016年考题) 第一章 1-2 仓库大门自动控制系统原理示意图。试说明系统自动控制大门开闭的工作原理,并画出系统方框图。 解当合上开门开关时,电桥会测量出开门位置与大门实际位置间对应的偏差电压,偏差电压经放大器放大后,驱动伺服电动机带动绞盘转动,将大门向上提起。与此同时,和大门连在一起的电刷也向上移动,直到桥式测量电路达到平衡,电动机停止转动,大门达到开启位置。反之,当合上关门开关时,电动机反转带动绞盘使大门关闭,从而可以实现大门远距离开闭自动控制。系统方框图如下图所示。 1-4 题1-4图为水温控制系统示意图。冷水在热交换器中由通入的蒸汽加热,从而得到一定温度的热水。冷水流量变化用流量计测量。试绘制系统方块图,并说明为了保持热水温度为期望值,系统是如何工作的?系统的被控对象和控制装置各是什么? 解工作原理:温度传感器不断测量交换器出口处的实际水温,并在温度控制器中与给定温度相比较,若低于给定温度,其偏差值使蒸汽阀门开大,进入热交换器的蒸汽量加大,热水温度升高,直至偏差为零。如果由于某种原因,冷水流量加大,则流量值由流量计测得,通过温度控制器,开大阀门,使蒸汽量增加,提前进行控制,实现按冷水流量进行顺馈补偿,保证热交换器出口的水温不发生大的波动。 其中,热交换器是被控对象,实际热水温度为被控量,给定量(希望温度)在控制器中设定;冷水流量是干扰量。 系统方块图如下图所示。这是一个按干扰补偿的复合控制系统。

1-5图为工业炉温自动控制系统的工作原理图。分析系统的工作原理,指出被控对象、被控量及各部件的作用,画出系统方框图。 解加热炉采用电加热方式运行,加热器所产生的热量与调压器电压Uc的平方成正比,Uc增高,炉温就上升,Uc 的高低由调压器滑动触点的位置所控制,该触点由可逆转的直流电动机驱动。炉子的实际温度用热电偶测量,输出电压Uf。Uf作为系统的反馈电压与给定电压Ur进行比较,得出偏差电压Ue,经电压放大器、功率放大器放大成au后,作为控制电动机的电枢电压。 在正常情况下,炉温等于某个期望值T°C,热电偶的输出电压Uf正好等于给定电压Ur。此时,Ue=Ur-Uf=0,故U1=Ua=0,可逆电动机不转动,调压器的滑动触点停留在某个合适的位置上,使Uc保持一定的数值。这时,炉子散失的热量正好等于从加热器吸取的热量,形成稳定的热平衡状态,温度保持恒定。 当炉膛温度T°C由于某种原因突然下降(例如炉门打开造成的热量流失),则出现以下的控制过程,控制的结果是使炉膛温度回升,直至T°C的实际值等于期望值为止。 系统中,加热炉是被控对象,炉温是被控量,给定量是由给定电位器设定的电压ru(表征炉温的希望值)。系统方框图见下图。 注意:方框图中被控对象和被控量放在最右边,检测的是被控量,非被控对象. 第二章 2-2 设机械系统如图2—57所示,其中x i为输入位移,x o为输出位移。试分别列写各系统的微分方程式及传递函数。

《计算机控制系统》课后题答案-刘建昌等科学出版社

第一章计算机控制系统概述 习题与思考题 1.1什么是计算机控制系统?计算机控制系统较模拟系统有何优点?举例说明。 解答:由计算机参与并作为核心环节的自动控制系统,被称为计算机控制系统。与模拟系统相比,计算机控制系统具有设计和控制灵活,能实现集中监视和操作,能实现综合控制,可靠性高,抗干扰能力强等优点。例如,典型的电阻炉炉温计算机控制系统,如下图所示: 炉温计算机控制系统工作过程如下:电阻炉温度这一物理量经过热电偶检测后,变成电信号(毫伏级),再经变送器变成标准信号(1-5V或4-20mA)从现场进入控制室;经A/D 转换器采样后变成数字信号进入计算机,与计算机内部的温度给定比较,得到偏差信号,该信号经过计算机内部的应用软件,即控制算法运算后得到一个控制信号的数字量,再经由D/A转换器将该数字量控制信号转换成模拟量;控制信号模拟量作用于执行机构触发器,进而控制双向晶闸管对交流电压(220V)进行PWM调制,达到控制加热电阻两端电压的目的;电阻两端电压的高低决定了电阻加热能力的大小,从而调节炉温变化,最终达到计算机内部的给定温度。 由于计算机控制系统中,数字控制器的控制算法是通过编程的方法来实现的,所以很容易实现多种控制算法,修改控制算法的参数也比较方便。还可以通过软件的标准化和模块化,这些控制软件可以反复、多次调用。又由于计算机具有分时操作功能,可以监视几个或成十上百个的控制量,把生产过程的各个被控对象都管理起来,组成一个统一的控制系统,便于集中监视、集中操作管理。计算机控制不仅能实现常规的控制规律,而且由于计算机的记忆、逻辑功能和判断功能,可以综合生产的各方面情况,在环境与参数变化时,能及时进行判断、选择最合适的方案进行控制,必要时可以通过人机对话等方式进行人工干预,这些都是传统模拟控制无法胜任的。在计算机控制系统中,可以利用程序实现故障的自诊断、自修复功能,使计算机控制系统具有很强的可维护性。另一方面,计算机控制系统的控制算法是通过软件的方式来实现的,程序代码存储于计算机中,一般情况下不会因外部干扰而改变,因此计算机控制系统的抗干扰能力较强。因此,计算机控制系统具有上述优点。 1.2计算机控制系统由哪几部分组成?各部分的作用如何? 解答:计算机控制系统典型结构由数字控制器、D/A转换器、执行机构和被控对象、测量变送环节、采样开关和A/D转换环节等组成。 被控对象的物理量经过测量变送环节变成标准信号(1-5V或4-20mA);再经A/D转换器采样后变成数字信号进入计算机,计算机利用其内部的控制算法运算后得到一个控制信号的数字量,再经由D/A转换器将该数字量控制信号转换成模拟量;控制信号模拟量作用于执行机构触发器,进而控制被控对象的物理量,实现控制要求。 1.3应用逻辑器件设计一个开关信号经计算机数据总线接入计算机的电路图。

步进电机控制系统

目录 一、设计任务: (2) 二、步进电机概述: (2) 三、题目分析与整体构思: (4) 四、硬件电路设计: (7) 五、硬件验证: (10) 六、程序设计: (10) 七、系统仿真: (15) 八、感应子式步进电机工作原理: (17) 九、心得体会: (24) 参考文献: (25)

一、系统设计要求 步进电机作为一种电脉冲—角位移的转换元件,由于具有价格低廉、易于控、制、无积累误差和计算机接口方面等优点,在机械、仪表、工业控制等领域中获得了广泛的应用。本设计的具体要求是: 1. 设计制作一个步进电机控制电路,可以细分驱动和常规驱动。 2. 常规驱动状态转速四档可调并可实现正反转。 二、步进电机概述 步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。 现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。 永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度或15度。 反应式步进电机一般为三相,可实现大转矩输出,步进角一般为 1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。 混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为 1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,也是本次细分驱动方案所选用的步进电机。 (一)步进电机的一些基本参数: 1.电机固有步距角: 电机固有步距角表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如86BYG250A型电机给出的值为0.9°/1.8°(表示半步工作时为0.9°,整步工作时为1.8°),这个步距角可以称之为“电机固有步距角”,它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关。 2.步进电机的相数: 步进电机的相数是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,它们的步距角也不同,一般二相电机的步距角为0.9°/1.8°、三相的为0.75°/1.5°、五相的为0.36°

自动控制原理简答题要点

三.名词解释 47、传递函数:传递函数是指在零初始条件下,系统输出量的拉式变换与系统输入量的拉式变换之比。 48、系统校正:为了使系统达到我们的要求,给系统加入特定的环节,使系统达到我们的要求,这个过程叫系统校正。 49、主导极点:如果系统闭环极点中有一个极点或一对复数极点据虚轴最近且附近没有其他闭环零点,则它在响应中起主导作用称为主导极点。 50、香农定理:要求离散频谱各分量不出现重叠,即要求采样角频率满足如下关系: ωs ≥2ωmax 。 51、状态转移矩阵:()At t e φ=,描述系统从某一初始时刻向任一时刻的转移。 52、峰值时间:系统输出超过稳态值达到第一个峰值所需的时间为峰值时间。 53、动态结构图:把系统中所有环节或元件的传递函数填在系统原理方块图的方块中,并把相应的输入、输出信号分别以拉氏变换来表示,从而得到的传递函数方块图就称为动态结构图。 54、根轨迹的渐近线:当开环极点数 n 大于开环零点数 m 时,系统有n-m 条根轨迹终止于 S 平面的无穷远处,且它们交于实轴上的一点,这 n-m 条根轨迹变化趋向的直线叫做根轨迹的渐近线。 55、脉冲传递函数:零初始条件下,输出离散时间信号的z 变换()C z 与输入离散信号的z 变换()R z 之比,即()()() C z G z R z =。 56、Nyquist 判据(或奈氏判据):当ω由-∞变化到+∞时, Nyquist 曲线(极坐标图)逆时针包围(-1,j0)点的圈数N ,等于系统G(s)H(s)位于s 右半平面的极点数P ,即N=P ,则闭环系统稳定;否则(N ≠P )闭环系统不稳定,且闭环系统位于s 右半平面的极点数Z 为:Z=∣P-N ∣ 57、程序控制系统: 输入信号是一个已知的函数,系统的控制过程按预定的程序进行,要求被控量能迅速准确地复现输入,这样的自动控制系统称为程序控制系统。 58、稳态误差:对单位负反馈系统,当时间t 趋于无穷大时,系统对输入信号响应的实际值与期望值(即输入量)之差的极限值,称为稳态误差,它反映系统复现输入信号的(稳态)精度。 59、尼柯尔斯图(Nichocls 图):将对数幅频特性和对数相频特性画在一个图上,即以(度)为线性分度的横轴,以 l(ω)=20lgA(ω)(db )为线性分度的纵轴,以ω为参变量绘制的φ(ω) 曲线,称为对数幅相频率特性,或称作尼柯尔斯图(Nichols 图) 60、零阶保持器:零阶保持器是将离散信号恢复到相应的连续信号的环节,它把采样时刻的采样值恒定不变地保持(或外推)到下一采样时刻。 61、状态反馈设系统方程为,x Ax Bu y cx =+=&,若对状态方程的输入量u 取u r Kx =-,则称状态反馈控制。 四.简答题

计算机控制理论答案

第一讲 1、什么是计算机数字控制系统?一般由哪几部分组成?请用框图形式给出实例,并简单说明其工作原理。 计算机控制系统就是利用计算机(通常称为工业控制机)来实现生产过程自动控制的系统;一般由计算机和生产过程两部分组成; 计算机控制系统由工业控制计算机主体(包括硬件、软件与网格结构)和生产过程两大部分组长。其中硬件系统有主机、输入输出通道、外部设备、检测与执行机构组成; 三个步骤原理: ①实时数据采集:对来自测量变送装置的被控量的瞬时值进行检测和输 入。 ②实时控制决策:对采集到的被控量进行分析和处理,并按已定的控制 规律,决定将要采取的控制行为。 ③实时控制输出:根据控制决策,适时地对执行机构发出控制信号,完 成控制任务。 2、实时、在线方式、离线方式的含义是什么? 实时:指信号的输入、计算和输出都要在一定的时间围完成,亦即计算机对输入信息,以足够快的速度进行控制,超出了这个时间,就失去了控制的时机,控制也就失去了意义。 在线方式:在线方式亦称为联机方式,是指生产过程和计算机直接连接,并受计算机控制的方式称为。

离线方式:离线方式亦称为脱机方式,是指生产过程不和计算机相连,且不受计算机控制,而是靠人进行联系并做相应操作的方式。 3、简述计算机数字控制系统的发展趋势。 计算机数值控制系统的发展趋势有控制系统的网络化、扁平化、只能化、综合化。 第二讲 1、简述计算机控制系统中过程通道的基本类型及其作用。 数字量输入通道:接受外部装置或产生过程的状态信号,同时将状态信号经转换、保护、滤波、隔离等措施转换成计算机能够接收的逻辑信号; 数字量输出通道:把计算机输出的微弱数字信号转换成能对生产过程进行控制的数字驱动信号; 模拟量输入通道:把被控对象的过程参数如温度、压力、流量、液位重量等模拟信号转换成计算机可以接收的数字量信号; 模拟量输出通道:把计算机处理后的数字量信号转换成模拟量电压或电流信号,去驱动相应的执行器,从而达到控制的目的。 2、简述计算机控制系统抗干扰技术的基本措施。 克服干扰的措施主要有:硬件措施、软件措施和软硬结合的措施。 其中硬件抗干扰措施包含:①过程通道抗干扰技术;②CPU抗干扰技术;③系统供电与接地技术。针对不同的干扰采用不用的抗干扰技术: ①过程通道抗干扰技术:针对串模干扰,采用滤波器、双积分式A/D转换器、双绞线作信号引线等方法来抑制;针对共模干扰,采用变压器隔离、光电隔离、浮地屏蔽、采用仪表放大器提高共模抑制比等方式;针对长线传输干扰可采用双绞线与同轴电缆进行传输; ②CPU抗干扰技术:使用Watchdog(俗称看门狗)、电源监控(掉电检测及保护)、复位等;

步进电机控制系统设计

文理学院芙蓉学院课程设计报告 课程名称:专业综合课程设计 专业班级:自动化1001班学号:40 学生:志航 指导教师:建英 完成时间: 2013年 6月13 日 报告成绩: 芙蓉学院教学工作部制

摘要 本文先介绍了混合式步进电机的结构和工作原理,分析了细分驱动对于改善步进电机运行性能的作用,论述了正弦波细分驱动可以实现等步距角、等力矩均匀细分驱动的原理,提出了一种基于H桥和其他分立元件分配脉冲的驱动技术,该方案可实现步进电机的单拍、半拍、双拍三种工作方式。本文采用控制电路主要由AT89C51单片机、晶振电路、地址锁存器、译码器、液晶显示电路组成,单片机是控制系统的核心。文中对整个系统的架构及硬件电路和驱动软件的实现都做了详细的介绍。 关键词:单片机;正弦脉宽调制;混合式步进电机;细分驱动

Abstract In this paper, the working principle and configuration of three-phase hybrid Stepper are introduced, then based on technologies such as stepper motor controller, PWM inverter and microcontroller. In the thesis, we develop a single chip computer -based digital controlling system for a three-phase hybrid stepper motor that is mainly constructed from a AT89C51 single chip computer and ST7920IC which is used as the core of control parts. The system's whole architecture, the design of hardware and software are introduced in detail. KEY WORDS: Microcontroller,SPWM,Hybrid stepper motor,Micro-stepping driver

基于单片机的步进电机控制系统的设计_毕业设计

本科毕业设计 基于单片机的步进电机控制系统的设计

摘要 随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件设计两部分。其中,硬件设计包括单片机最小系统、键盘控制模块、LCD显示模块、步进电机驱动模块、位置检测模块共5个功能模块的设计。系统软件设计采用C语言编写,包括主程序、数字键处理程序、功能键处理程序、电机驱动处理程序、显示模块、位置采集模块。 本设计采用STC89C52单片机作为主控制器,4*4矩阵键盘作为输入,LCD1602液晶作为显示,ULN2003A芯片驱动步进电机。系统具有良好的操作界面,键盘输入步进电机的运行距离;步进电机能以不同的速度运行,可以在不超过最大转速内准确运行到任意设定的位置,可调性较强;显示设定的运行距离和实际运行距离;方便操作者使用。关键词:单片机步进电机液晶显示键盘驱动

Design of the Stepping Motor Control System Based on SCM Qiu Haizhao (College of Engineering, South China Agricultural University, Guangzhou 510642,China) Abstract:With the development of automatic control system and the requirements of high-precision control, stepping motor control in automation is playing an increasingly important role, different from the common DC and AC motor, stepper motor rotation angle and rotational speed can be high-precision controlled. Stepper motor as a control actuator is a key component of mechanical and electrical integration, widely used in a variety of automated control systems and precision machinery and other fields. Stepper motor is the open-loop control components changing electric pulse signals into angular displacement or linear displacement .In the case of non-overloaded, the motor speed, stop position depends only on the pulse frequency and pulse number, regardless of load changes, that is, to add a pulse motor, the motor is turned a step angle. This system introduces a design of stepper motor control system based on single chip microcomputer, including hardware design and software design in two parts. Among them, the hardware design, including single chip minimal system, keyboard control module, LCD display module, the stepper motor drive module, position detection module five functional modules. System software design using C language, including the main program, process number keys, the key of function processes, motor driver handler, the display module, position acquisition module. This design uses STC89C52 microcontroller as the main controller, 4 * 4 matrix keyboard as an input, LCD1602 LCD as a display, ULN2003A chip as stepper motor driver. System has a good user interface, keyboard input stepper motor running distance; Stepper motor can run at different speed, and run to any given position accurately in any speed without exceeding the maximum speed, with a strong adjustable ; Display the running distance and the actual running distance, which is more convenient for the operator to use. Key words: SCM stepper LCD keyboard driver

步进电机的控制电路和程序

步进电机的控制电路和程序 先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总线,SPI总线,PS/2实验,AD模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感,步进电机控制等等。 上图是我们将要使用的51单片机综合学习系统硬件平台,本期实验我们用到了综合系统主机、步进电机,综合系统其它功能模块原理与使用详见前几期《电子制作》杂志及后期连载教程介绍。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。 步进电机分类与结构 现在比较常用的步进电机分为三种:反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)。本章节以反应式步进电机为例,介绍其基本原理与应用方法。反应式步进电机可实现大转矩输出,步进角一般为1.5度。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。常用小型步进电机的实物如图1 所示。 图1步进电机实物图 图 2 步进电机内部图 步进电机现场应用驱动电路 综合系统使用的是小型步进电机,对电压和电流 要求不是很高,为了说明应用原理,故采用最简单 的驱动电路,目的在于验证步进电机的使用,在正 式工业控制中还需在此基础上改进。一般的驱动电 路可以用图3的形式。 图3 一般驱动电路 在实际应用中一般驱动路数不止一路,用上图的分立电路体积大,很多 场合用现成的集成电路作为多路驱动。常用的小型步进电机驱动电路可以用 ULN2003或ULN2803。本书配套实验板上用的是ULN2003。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003内部结构及等效电路图如图4:

步进电机控制系统设计.

毕业设计论文 论文题目:基于单片机的步进电机控制电路板设计 摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。 系统由硬件设计和软件设计两部分组成。其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。软件采用在Keil软件环境下编辑

************* 第1章绪论 1.1 课题背景 当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。步进电机是最常见的一种控制电机,在各领域中得到广泛应用。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机、雕刻机)、工业控制(数控机床、工业机器人)、医疗器械等机电产品中。研究步进电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。控制核心采用C51芯片,它以其独特的低成本,小体积广受欢迎,当然其易编程也是不可多得的优点为此,本文设计了一个单片机控制步进电机的控制系统,可以实现对步进电机转动速度和转动方向的高效控制。 1.2 设计目的及系统功能 本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LED数码管上。 1

自动控制原理简答题要点

47、传递函数 :传递函数是指在零初始条件下,系统输出量的拉式变换与系统输入量的 拉式变换之比。 48、系统校正 :为了使系统达到我们的要求,给系统加入特定的环节,使系统达到我们 的要求,这个过程叫系统校正。 49、主导极点 :如果系统闭环极点中有一个极点或一对复数极点据虚轴最近且附近没有 其他闭环零点,则它在响应中起主导作用称为主导极点。 50、香农定理 :要求离散频谱各分量不出现重叠 , 即要求采样角频率满足如下关系: s ≥ 2 ω max 。 51、状态转移矩阵 : (t ) e At ,描述系统从某一初始时刻向任一时刻的转移。 52、峰值时间 :系统输出超过稳态值达到第一个峰值所需的时间为峰值时间。 53、动态结构图 :把系统中所有环节或元件的传递函数填在系统原理方块图的方块中, 并把相应的输入、输出信号分别以拉氏变换来表示,从而得到的传递函数方块图就称为 动态结构图。 54、根轨迹的渐近线 :当开环极点数 n 大于开环零点数 m 时,系统有 n-m 条根轨迹终 止于 S 平面的无穷远处,且它们交于实轴上的一点,这 n-m 条根轨迹变化趋向的直线 叫做根轨迹的渐近线。 55、脉冲传递函数 :零初始条件下,输出离散时间信号的 z 变换 C z 与输入离散信号的 56、Nyquist 判据(或奈氏判据) :当ω由 - ∞变化到 +∞时, Nyquist 曲线(极坐标 图) 逆时针包围( -1,j0 )点的圈数 N ,等于系统 G (s )H (s ) 位于 s 右半平面的极点数 P ,即 N=P ,则闭环系统稳定;否则( N ≠ P )闭环系统不稳定,且闭环系统位于 s 右半平面的极 点数 Z 为: Z=∣P-N ∣ 57、程序控制系统 : 输入信号是一个已知的函数,系统的控制过程按预定的程序进行, 要求被控量能迅速准确地复现输入,这样的自动控制系统称为程序控制系统。 58、稳态误差 :对单位负反馈系统,当时间 t 趋于无穷大时,系统对输入信号响应的实 际值与期望值(即输入量)之差的极限值,称为稳态误差,它反映系统复现输入信号的 (稳态)精度。 59、尼柯尔斯图( Nichocls 图):将对数幅频特性和对数相频特性画在一个图上,即以 (度)为线性分度的横轴,以 l ( ω)=20lgA ( ω)(db )为线性分度的纵轴,以ω为参变 量绘制的 φ( ω) 曲线,称为对数幅相频率特性,或称作尼柯尔斯图( Nichols 图) 60、零阶保持器 :零阶保持器是将离散信号恢复到相应的连续信号的环节,它把采样时 刻的采样值恒定不变地保持(或外推)到下一采样时刻。 61、状态反馈 设系统方程为 x& Ax Bu,y cx ,若对状态方程的输入量 u 取 u r Kx , 则称状态反馈控制。 . 名词解释 z 变换 R z 之比,即 G z Cz Rz

步进电机速度控制系统设计

目录 1 总体方案的确定 (1) 1.1 对步进电机的分析 (1) 1.2 电机的控制方案 (2) 1.3 控制算法的方案 (3) 1.4 串口通讯的模拟 (3) 2 硬件的设计与实现 (4) 2.1 微处理器的选择 (4) 2.2 控制电路的实现 (4) 2.3 键盘和显示电路 (6) 3 软件的设计与实现 (6) 3.1 控制信号输入程序 (7) 3.2 步进电机控制程序设计 (8) 3.3 程序分析及说明 (9) 4 系统的仿真与调试 (10) 4.1 程序的调试 (11) 4.2 串口通信的调试 (11) 4.3 调试结果及分析 (11) 5 设计总结 (13) 参考文献 (14) 附录 (15)

步进电机速度控制系统设计报告 1 总体方案的确定 系统以单片机为核心,接收并分析来自键盘或串口的控制指令,经过CPU 的逻辑计算输出控制信息,让步进电机按要求转动。由于步进电机是开环元件,系统不需反馈环节,但也同时要求控制信号足够精确。此外,为实现单片机与电机之间信号对接,需要加入步进电机驱动单元。 1.1 对步进电机的分析 步进电机又叫脉冲电机,它是一种将电脉冲信号转化为角位移的机电式数模转换器。在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动,步进电机驱动数控系统的工作台或刀具。很明显,指令脉冲的总数就决定了数控系统的工作台或刀具的总位移量,指令脉冲的频率决定了移动的速度。因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。 步进电机的工作就是步进转动。在一般的步进电机工作中,其电源都是采用单极性的直流电源。要是步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,即可达到调速的目的。本设计是用单片机输出可调脉冲作为单片机的控制信号,通过改写脉冲频率调节单片机转速。 常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小;反应式步进一般为三相,可实现大转矩输出,但噪声和振动都很大。混合式步进是指混合了永磁式和反应式的优点,它又分为两相和五相,应用最为广泛。单片机管脚输出电压一般不足以驱动步进电机转动,所以需要在单片机和步进电机之间加入驱动电路。

步进电机控制系统课程设计

河北xxxxxx学院 课程设计说明 书 题目:步进电机控制系统 学院(系): 年级专业: 学号: 学生姓名: 同组学生: 指导教师:

步进电机控制系统 设计者:xxxxx 指导老师:xxxx 1摘要: 由于步进电机自身的特点、不需要位置、速度等信号反馈,只需要脉冲发生器产生足够的脉冲数和合适的脉冲频率,就可以控制步进电机移动的距离和速度。步进电机的运转方向的控制为输入电机各绕组的通电顺序。例如,一个三相步进电机的通电顺序为:a—ab—b—bc—c—ca—a--.....,此时点击正转,若通电顺序改为:a—ac—c—cb—b—ba—a--.....时点击反转。既可以通过改变环形分配器的脉冲输出顺序,也可以通过编程改变输出脉冲的顺序,来改变输入到各绕组的通电顺序,达到控制电击方向的目的。 关键词:步进电机 PLC 步进电机驱动器 引言步进电机是一种常用的电气执行原件,一种多相或单相同步点击,在数控机床、包装机械等自动控制及检测仪表等方面得到广泛运用。随着plc的不短发展。其功能越来越强大,除了有简单的逻辑功能和顺序控制外,运算功能的加入、pid和各类高速指令、使得plc对复杂和特殊系统的控制应用更加广泛。Plc与数控技术的结合产生了各种不同类型的数控设备。 2 任务与要求 (1) 了解步进电机的原理 (2) 熟练使用PLC控制步进电机,了解步进电机驱动器原理 3 装置原理介绍 3.1控制系统功能框图 在步进电机控制系统中,首先控制步进电机使之稳步启动,然后高速运动,接近制定位置时,减速之后低速运动一段时间,在准确地停在预定的位置上,最后步进电机停留2s后,按照前进时的加速—高速—减速—低速的步骤返回到起始点,其运动状态转换过程平稳,其功能框图如图3.1所以,其简单工作过程如图3.2所示。 由于步进电机本身的结构特性决定了它要实现高速运转必须有加速过程,如果在启动时突然加载高频脉冲,电机会产生啸叫、失步甚至不能启动,在停止阶段也是这样,当高频脉冲突然降到零时,电机会产生啸叫和振动,所以在启动和停止时,都必须有一个加速和减速过程。 3.2步进电机控制系统硬件设计 由于步进电机的硬件结构特性,所以对输入的脉冲的频率有所限制,对于低频的脉冲输出时,plc可以利用定时器来完成。若要求步进电机的速度较快时,就需要用plc的高速脉冲输出指令,这时就需要在程序中设置相应的步骤来完成对步进电机的控制。 3.21 组建器材 (1)主机plc 根据系统的控制要求,采用三菱FX系统系列的plc作为控制器。(2)限位开关此系统中共用了两个限位开关:左限位开关和右限位开关。这两个限位开关的作用是控制物体的位置,防止物体超出合理的工作范围。 (3)步进电机步进电机是该系统的执行机构

自动控制原理概念最全整理要点

自动控制原理概念最全整理要点 自动控制原理概念题1 1. 在零初始条件下,线性定常系统输出量的拉普拉斯变换与输入量的拉普拉斯变换值比,定义为线性定常系统的传递函数。传递函数表达了系统内在特性,只与系统的结构、参数有关,而与输入量或输入函数的形式无关。2. 一个一般控制系统若干个典型环节构成,常用的典型环节有比例环节、惯性环节、积分环节、微分环节、振荡环节和延迟环节等。 3. 构成方框图的基本符号有四种,即信号线、比较点、方框和引出点。4. 环节串联后总的传递函数等于各个环节传递函数的乘积。环节并联后总的传递函数是所有并联环节传递函数的代数和。 5. 在使用梅森增益公式时,注意增益公式只能用在输入节点和输出节点之间。6. 上升时间tr、峰值时间tp和调整时间ts反应系统的快速性;

而最大超调量Mp和振荡次数则反应系统的平稳性。7. 稳定性是控制系统的重要性能,使系统正常工作的首要条件。控制理论用于判别一个线性定常系统是否稳定提供了多种稳定判据有:代数判据和Nyquist稳定判据。8. 系统稳定的充分必要条件是系统特征根的实部均小于零,或系统的特征根均在跟平面的左半平面。9. 稳态误差与系统输入信号r(t)的形式有关,与系统的结构及参数有关。10. 系统只有在稳定的条件下计算稳态误差才有意义,所以应先判别系统的稳定性。11. Kp的大小反映了系统在阶跃输入下消除误差的能力,Kp越大,稳态误差越小; Kv的大小反映了系统跟踪斜坡输入信号的能力,Kv越大,系统稳态误差越小;Ka的大小反映了系统跟踪加速度输入信号的能力,Ka越大,系统跟踪精度越高12. 扰动信号作用下产生的稳态误差essn除了与扰动信号的形式有关外,还与扰动作用点之前的传递函数的结构及

步进电机控制系统的研究

步进电机控制系统的研究 杨杰1李学佳2崔二华3韩永清4 英利能源(中国)有限公司河北省保定市071051 摘要:步进电动机由于用共组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。 关键词:步进电机电机控制系统 中图分类号:TM3文献标识码:A文章编号: 前言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 一、步进电机概述 步进电机是一种将电脉冲信号转换成相应的角位移或线位移的电磁机械装置,是一种输出与输入数字脉冲对应的增量驱动元件,具有快速启动和停止的能力。当负荷不超过步进电机所提供的动态转矩值时,它就可能在一瞬间实现启动和停止。它的步矩角和转速不受电压波动和负载变化的影响,也不受环境条件(如温度、气压、冲击和振动等)的影响,仅与脉冲频率有关。它每转l周都有固定的步数,在不丢步的情况下运行,其步距误差不会长期积累。 正是因为步进电机具备上述优点,它已经被广泛地用于自动控制系统中作为执行元件。但大多数设计人员常常习惯于用逻辑电路实现复杂的步进电机的控制,虽然已经取得很大成效,但实现起来成本高、费时多,而且一旦组成了电路,就很难再改动,因此不得不完全重新设计控制器。 微处理器与微计算机的先进技术和低廉的价格,给步进电机的控制开创了一个新的局面。人们完全可以借助于软件来对步进电机实施控制,从而实现复杂而

步进电机控制系统设计

湖南工程学院 课程设计 课程名称微机原理与应用 课题名称步进电机控制系统设计 专业 班级 学号 姓名 指导教师

湖南工程学院 课程设计任务书 课程名称微机原理与应用 课题步进电机控制系统设计 专业班级 学生姓名 学号 指导老师 审批 任务书下达日期 任务完成日期

目录 第1章目的与要求 (4) 第2章步进电机的原理介绍 (5) 2.1 步进电机的工作原理 (5) 2.2 步进电机的基本术语 (5) 2.2.1 相数 (5) 2.2.2 拍数 (6) 2.2.3 步距角 (6) 2.2.4 信号分配 (6) 第3章设计总体思路 (7) 3.1 方案与思路 (7) 3.2 总框图 (7) 第4章程序设计 (8) 4.1 主程序 (8) 4.2 显示子程序 (9) 4.3 键盘扫描子程序 (10) 第5章硬件设计 (11) 5.1 硬件的设计与选取 (11) 5.1.1步进电机的特点 (11) 5.1.2 步进电机的分类 (11) 5.1.3步进电机的注意点 (11) 5.2 单片机的选取 (12) 5.3 四位LED数码管的选取 (14) 5.4 其他零件根据实际情况选取 (14) 5.5 硬件的焊接 (15) 第6章调试与故障分析 (16) 6.1 软件部分 (16) 6.2 硬件部分 (16) 6.3 故障分析及解决 (17) 第7章总结 (18) 第8章参考文献 (19) 附件 (20) 系统原理图 (20) 元器件清单 (21) 源程序清单 (21)

第1章目的与要求 综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力,以单片机为核心设计一个步进电机控制系统,要求能够通过键盘设置步进电机的转向和转速,并在LED显示器上显示步进电机转速或工作状态。本课题以单片机为核心,设计并制作出步进电机控制系统,设计要求: 1、按下不同的键,分别使步进电机实现顺时针和逆时针旋转。 2、电机运转状态可以是正反转,加速减速,五种不同速度的各种组 合。 3、通过LED数码管显示电机运行状态。

相关文档
最新文档