步进电机调速系统硬件

  • 格式:doc
  • 大小:533.20 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

根据下述资料完成对硬件仿真的实现

要求1:必须用proteus和keil联机实现仿真

要求2:必须按照protel电路图用proteus做出电路图

要求3:交给我的三样东西

a.系统原理电路图1份。

b.电路仿真运行数据1份 C.汇编语言一份

步进电机调速系统硬件设计

4.1 四相步进电机工作原理

本设计所采用的是国产20BY-0型步进电机,它使用+5V直流电源,步距角为18度。电机线圈由四相组成,即A、B、C、D四相,驱动方式为二相激磁方式,电机示意图和各线圈通电顺序如图4.1和表4.1所示:

图4.1 步进电机原理图

表4.1

相顺序 A B C D

0 1 1 0 0

1 0 1 1 0

2 0 0 1 1

3 1 0 0 1

相顺序从0到1称为一步,电机轴将转过18度,0→1→2→3→4则称为通电一周,转轴将转过72度,若循环进行这种通电一周的操作,电机便连续的转动起来,而进行相反的通电顺序如4→3→2→1将使电机同速反转。通电一周的周期越短,即驱动频率越高,则电机转速越快,但步进电机的转速也不可能太快,因为它每走一步需要一定的时间,若信号频率过高,可能导致电机失步,甚至只在原步颤动。

4.2 硬件设计方案

本设计采用51单片机AT89C51(晶振频率为12MHZ)对该四相六线制步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过特定芯片驱动步进电机。本文选用ULN2003构成步进电机的驱动电路,下面但见介绍下ULN2003的结构和特点:

ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。

该电路的特点如下:

ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。

ULN2003 采用DIP—16 或SOP—16 塑料封装。

ULN2003方框图如图4.2所示。

4.2 ULN2003内部方框图

利用ULN2003以及AT89C51设计的步进电机驱动电路如图4.3所示。

图4.3 ULN2003和AT89C51构成的驱动电路

51的25-28口接ULN2003的1-4输入端。另外,用键盘来对电机的状态进行控制。

在上述设计的基础上 ,可以用数码管显示电机的转速,采用AT89C51的P1口和P2口作为2位单个数码管的显示驱动。其电路图如图4.4所示。通过图4.2所示的AT89C51

的内部变成发送数据。

图4.4 显示电路图

其中两个数码管是共阴的。R3和R4是用来保护数码管,以免烧坏数码管。

将图4.3和图4.4连接起来,使之实现:按下启动键S1,电机旋转,按一下加1键S2,速度增加1转/分,按一下减1键S3,速度降低1转/分。本设计设置了速度范围,其速度最低和最高分别为:9转/分,75转/分,按下停止键S4,电机停转。速度值在数码管上显示出来。

综合以上设计的控制电路方案,总设计方案框图如4.5所示。

图4.5 步进电机控制电路设计框图

片 机

ULN2003

键盘

步进电机

数码管

5 步进电机调速系统的软件设计

5.1 软件设计思路

控制系统分2个功能模块,分别是转速设置、数码管显示速度。 5.1.1 转速设置

根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。

本设计中采用了12Mhz 的晶振,一个机器周期是1us 。其计算方法:

s s μ110110

12126

6

=⨯=⨯ (5.1)

上式计算出了一个机器周期。分子上的12是12个节拍,分母是晶振频率。所以单片机内部时钟频率为f=106hz ,设计数初值为n ,要求转速为15转/分(0.25转/秒),对四相步进电机而言即为5步/秒,则有:

5=n

f

(5.2)

5

6

1025

105⨯===f n

(5.3)

反过来,当计数器初值确定时,决定了电机的转速,如计数初值为0时,有电机转速为3步每秒(本设计中最慢速度);当计数初值为40000时,电机转速为1.25步每秒(本设计中最快速度)。具体设置初值及转速见表5.2。

表5.2 转速设置表

步速 转速(转/秒) 计数初值 3 0.15 333333 5 0.25 200000 15

0.75

66667

25 1.25 40000

5.1.2 数码管显示

因为本设计中采用的数码管是共阴的,所以当AT89C51的对应管脚发送的是高电平信号,数码管中对应的LED就亮起来。

本设计中的相应速度档次不涉及小数点,故数码管的dp位无论在何时均为低电平。数码管的各个数字显示二进制代码如表5.3所示:

表5.3 数码管的显示原理

数字要亮的LED 相应P0/P1输出的二进制及16进制

0 abcdef 11111100、FCH

1 bc 01100000、60H

2 abdeg 11011010、DAH

3 abcdg 11110010、F2H

4 bcfg 01100110、66H

5 acdfg 10110110、B6H

6 acdefg 10111110、BEH

7 abc 11100000、E0H

8 abcdefg 11111110、FEH

9 abcdfg 11110110、F6H

只要将当前的转速在对应的时刻送到P0及P1即可,其中P1存储的是个位的数字,而P0存储十位的数字。