根据Proteus的步进电机的设计仿真

更新时间:2023-06-03 02:37:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

.-

目录

目录 (1)

摘要 (2)

第一章 Proteus绘制仿真原理图 (3)

1.1 Proteus简介 (3)

1.2 Proteus ISIS简介 (3)

第二章硬件电路设计 (4)

2.1 步进电机 (5)

2.1.1 步进电机简介 (5)

2.1.2 步进电机的特点 (5)

2.2 STC8951单片机 (6)

2.2.1 总述 (6)

2.2.2 性能 (6)

2.2.3 结构概览 (7)

2.2.4 芯片的引脚排列和说明 (8)

2.3 ULN2003A介绍 (10)

2.4 复位电路和时钟电路 (11)

2.5 整个电路的原理 (12)

第三章软件系统设计 (13)

3.1 电路流程图 (13)

第四章电路仿真 (13)

4.1 Proteus原理图绘制过程 (13)

4.2 仿真设置 (16)

第五章硬件电路的制作与调试 (19)

5.1焊接准备与注意事项 (19)

5.2单片机程序写入 (20)

5.3 硬件安装 (21)

5.4硬件调试 (22)

总结 (23)

参考文献 (24)

附录(程序) (25)

.-

摘要

步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。本设计利用proteus仿真软件进行电路仿真,系统通过设置四个按键分别控制不进电机的起止、圈数、方向、不进速度,使用1602液晶显示以上参数。整个系统具有稳定性好,实用性强,操作界面友好等优点。本文应用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。

.- 第一章 Proteus绘制仿真原理图

1.1 Proteus简介

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

1.2 Proteus ISIS简介

(1)Proteus ISIS的编辑环境

1)双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 6 Professional”→“ISI S 6 Professional”,出现如图1-1所示屏幕,表明进入Proteus ISIS集成环境。

图1-1启动时的屏幕

Proteus ISIS的工作界面是一种标准的Wind主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。ows界面,如图1-2所示。包括:

.-

图1-2工作界面

(2)Proteus ISIS的特点

Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点:

①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

③目前支持的单片机类型有:68000系列、8051系列、A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

④支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。

第二章硬件电路设计

电路总体结构

整个设计以STC89C51单片机为中心,由复位电路,时钟电路,电机驱动,步进电

.- 机等组成,硬件模块如图2-1所示;

图2-1 硬件模块图

2.1 步进电机

2.1.1 步进电机简介

步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。

使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。

正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。

2.1.2 步进电机的特点

1.一般步进电机的精度为步进角的3-5%,且不累积。

2.步进电机外表允许的最高温度。

步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

3.步进电机的力矩会随转速的升高而下降。

.- 当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

4.步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。

2.2 STC8951单片机

2.2.1 总述

在此嵌入式系统的设计中,主要用单片机进行控制现场,故采用目前最普遍、较便宜的ATMEL STC89C51RC单片机。

该系列单片机是采用高性能的静态80C51设计。由先进CMOS工艺制造并带有非易失性Flash 程序存储器。全部支持12时钟和6时钟操作。其8051的内部功能模块如图2-2所示。

串行通信V CC V SS

图2-2 8051的内部功能模块图

STC89C51RC包含512字节RAM 、32条I/O口线、3个16位定时/计数器、8输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信、I/O扩展或全双工UART)以及片内振荡器和时钟电路。

此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0)。可实现两个由软件选择的节电模式、空闲模式和掉电模式。空闲模式冻结CPU,但RAM、定时器、串口和中断系统仍然工作。掉电模式保存RAM的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据。运行可从时钟停止处恢复。

2.2.2 性能

.- 1.增强型6时钟/机器周期,12时钟/机器周期8051 CPU

2.工作电压:5. 5V -3.4V(5V单片机)

3.工作频率范围:0 - 40 MHz相当于普通8051的 0-80MHz实际工作频率可达48MHz

4.用户应用程序空间4K

5.片上集成512字节RAM

6.通用I/O口(32个),复位后为: Pl/P2/P3是准双向口/弱上拉(普通8051传统I/O口),P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口( P3. O/P3.1)直接下载用户程序,8K程序3秒即可完成一片

8.EEPROM功能

9.看门狗

10.内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路

11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用

12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒

13.遁用异步串行口(UART),还可用定时器软件实现多个UART

14.工作温度范围: 0 –75℃/-40 - +85℃

15.封装:LQFP-44, PDIP-40,PLCC-44, PQFP-44

2.2.3 结构概览

STC89C51RC 的结构如下图2-3所示。

.-

图2-3 STC89C51RC 系统结构

2.2.4 芯片的引脚排列和说明

STC89C51RC 共有40个引脚,封装形式为PDIP -40, 它的排列如图2-4所示

12345

6789

10111213

14151617181920 

4039383736353433323130292827262524232221

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0  RXDP3.1  TXDP3.2 INT0P3.3 INT1

P3.4   T0P3.5   T1P3.6   WRP3.7   WD

TXAL2TXAL1VSS

VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

80318051875180328051875289C5189C52

图2-4 STC89C51RC 引脚原理图

.-

图2-5 STC89C51RC实物图

在40个引脚功能说明如表2-1所示。

表2-1 STC89C51RC 管脚功能说明

VCC(40脚) +5V电源输入

VSS(20脚) 接地

P0口(39~32脚)

P0口是一个8位漏极开路双向I/O端口。作I/O端口使用时,需加上拉电阻。作为一个输出端口,每个引脚作为8个TTL输入。

P0口也可以配置为复用地址/数据总线,访问外部程序和数据存储器。

P1口(1~8脚)

P1口是一个8位双向I/O端口的内部上拉端口,此外,

P1.0和P1.1可配置为定时器/计数器2的外部计数输入( P1.0/T2 )和定时器/计数器2触发输入

( P1.1/T2EX )

P1.0 T2(外部计数投入定时器/计数器2), 时钟输出

P1.1 T2EX (定时器/计数器2捕捉/重载触发和方向控制)

P2口(21~28脚)

P2口是一个8位双向I/O端口的内部上拉端口

P2口也可以配置为复用地址总线,访问外部程序和数据

存储器,输出地址的高8位

P3口(10~17脚)

P3口是具有双重功能的8位接口

P3.0 RXD(串行输入端口)

P3.1 TXD(串行输出端口)

P3.2 INT0(外部中断0,低电平有效)

P3.3 INT1(外部中断1,低电平有效)

P3.4 T0(定时器0外部输入)

P3.5 T1(定时器1外部输入)

P3.6 WR(外部数据存储器写选通,低电平有效) P3.7 RD(外部数据存储器读选通,低电平有效)

RST(9脚) 复位/备用电源引线。当该端加上超过24个时钟的高电平时,可使单片机复位;若在改引线上接+5V备用电源,则当VCC掉电时,该备用电源可保护片内RAM中的信息。

XTAL1(19脚) XTAL2(18脚) 外部晶体连线,片外石英晶体连与此二端与片内电路构成振荡器。

.-

EA(31脚) 允许访问片外ROM/编程高电压引线。当EA=1时,访问片内ROM;若EA=0,访问片外ROM

ALE(30脚) 地址锁存。当P0口工作在第二功能时,从该口可以送出A0~A7和传送D0~D7,利用ALE可以将A0~A7锁存在地址锁存器。

PSEN(29脚) 片外ROM选通信号,常用作片外ROM的读控制信号,低电平有效。

2.3 ULN2003A介绍

ULN2003

高耐压、大电流达林顿管IC—ULN2003概述与特点

图2-5 ULN2003A实物图

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

该电路的特点如下:

ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路

直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

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

可以在高负载电流并行运行。

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

图2-6 方框图

.-

图2-7 封装外形图

ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。 ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA,9脚可以悬空。

比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。

uln2003的作用:

ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

2.4 复位电路和时钟电路

.-

图2-8 复位电路图2-9 时钟电路

2.5 整个电路的原理

步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机的运动不产生旋转量的误差累积。

由单片机实现的步进电机控制系统如图所示。

图2-10 系统原理图

.-

第三章软件系统设计

软件部分采用模块化结构设计。对步进电机转速的控制是通过定时器工作在中断方式实现的。定时器定时中断产生周期性脉冲序列,不是采用软件延时的方式,这样不占用CPU的时间。CPU在非中断时间内可以处理其他事件,只有在中断发生时才驱动步进电机转动一步。根据步进电机励磁状态转换,采用查表法求出所需的输出状态,并以二进制码的形式依次存入单片机内部的存储器中;然后按照正向或反向顺序依次取出地址的状态字,送给STC12C4052AD,输出各励磁状态,从而实现环形分配器的功能。

3.1 电路流程图

图3-1 电路流程图

第四章电路仿真

4.1 Proteus原理图绘制过程

1.进入工作界面,打开ProteusISIS编辑环境,按表1-1所列的元件清单添加元件。

元件名称所属类所属子类

STC89C51 Microproccessor ICs 8051 Family

CAP Capacitors Generic

XAP-POL Capacitors Generic

.- CRYSTAL Miscellaneous --

RES Resistors Generic

BUTTON Switches&Relays Switches MOTOR-STEPPER Electromechanical --

ULN2003A Analog ICs Miscellaneous

表4-1

2.在如图4-2所示的元件库中添加表4-1中的元件。

图4-2 元件库

.-

图4-3 添加元件后界面

3.元件完全添加后,在ProteusISIS的编辑区域中画出如图4-4所示的原理图

图4-4 绘制完成的原理图

.- 4.2 仿真设置

1、程序的编译

该软件有自带编译器,有ASM的、PIC的、AVR的汇编器等。在ISIS添加上编写好的程序,方法如下.点击菜单栏“Source”,在下拉菜单点击“Add/Remove Source Files(添加或删除源程序)”出现一个对话框,如图14所示。点击对话框的“NEW”按钮,在出现的对话框找到文件设计好的“计数器.asm”,点击打开图15;在“Code Generation Tool”的下面找到“ASEM51”,然后点击“OK”按钮,设置完毕我们就可以编译了。点击菜单栏的“Source”,在下拉菜单点击“Build All”,过一会,编译结果的对话框就会出现在我们面前,如图4-5所示。如果有错误,对话框会告诉我们是哪一行出现了问题,可惜的是,点击出错的提示,光标不能跳到出错地方,但是能告诉出错的行号。

图4-5 添加源程序界面

.-

图4-6 添加新资源界面

图4-7 编译界面

2、调试

选中单片机AT89C51,左键点击AT89C51,在出现的对话框里点击Program File按

.- 钮(如图4-8,点击,找到上一步编译得到的HEX文件,然后点击“OK”按钮就可以模拟了

图4-8 程序加载界面

点击第一个按钮就可以开始模拟仿真。

4.2 仿真结果

按“正转”和“反转”按钮,观察步进电机的状态,如图所

正转

.-

反转

图4-9 仿真结果

第五章硬件电路的制作与调试

5.1焊接准备与注意事项

清洁:用刀或砂纸打磨被焊点,焊接的时候使用助焊剂,可以帮助去除氧化层,加速焊锡融化。

镀锡:给节点和线头事先镀一层锡,容易让焊锡向着焊点凝聚。

焊接:要让焊点达到一定的温度方法是让电烙铁接触被焊点一会,同时将焊锡涂抹到焊点,等焊锡与焊点达到充分的温度和接触度的时候抽离烙铁。

修正:虚焊,要单独处理,用电烙铁沿着焊点上下移动几下,让焊锡和焊点达到一定温度并充分接触,焊接的不满意的,焊锡过多可以将板子倒置用电烙铁吸走部分后,重新焊接,焊锡过少直接再涂抹部分焊锡。整个过程一定要保证焊锡和焊点达到一定的温度,并充分接触。(电烙铁来回蹭焊点,时间也不要太长),这样可以明显减少虚焊。

如何判断虚焊:在同一条铜线上如果引脚之间电阻较大就应该存在虚焊。将数字万用表打到电阻测量最小档,这个档在测量的时候如果出现电阻为零就会叫,叫的就是质量合格的。

对于单独的焊点,用万用表的两针分别接触,焊盘周围和元结引脚如果叫说明接通(多试几下如果从焊盘盘个个方向都叫基本就拿准了),如果不叫应该是虚焊。

如何判断断路,有的时候铜线会断掉,这是还是用电阻档,分别放到铜线的两个不同引脚上,如果不叫不是节点虚焊,就是铜线断掉。铜线断掉的用飞线连一下就可以了。

松香和焊锡可不是什么好东西,焊接的时侯注意通风。焊锡膏只有焊接难上锡的

.- 铁件等物品时才用到,具有腐蚀性,一般只用松香就行了,松香的作用是析出焊锡中的氧化物,保护焊锡不被氧化,增加焊锡的流动性。

清洁的表面会很好地挂锡,这也就是为什么焊锡膏中除松香等表面活性剂之外,带有腐蚀性成分的原因,通过轻微腐蚀,将表面彻底清洁,使焊锡能很好地挂上。

松香只是简单的表面活性剂,使焊锡同焊接表面能充分浸润。所以只使用松香的话,在焊接之间,可以轻微地用砂纸或直接用烙铁头挂擦几下,然后用松香上锡。烙铁蘸松香,然后蘸焊锡,然后焊,离开后,吹口气冷却工件焊点。用手拉一拉工件,检查是否虚焊。

卸掉已焊接的原件:用电烙铁加热焊点至焊锡融化,用镊子或小钳子将原件引脚从电路板支开。

电烙铁选择:根据你的焊接量大小和工作性质不同选用也不同,一般焊接比较小的焊点选择内热式电烙铁,但是目前比较大量的焊接一般采用焊接台来完成,价格比较贵一般几百元。如果是个人使用,有两种选择,一种可以选择内热式35瓦电烙铁,一种可以选择恒温电烙铁。

烙铁头一般是原配的质量比较好,厚度较厚,结合紧密的为好。恒温式电烙铁的烙铁头一般是表面有合金材料的,质量比较好。

焊接时可以先把烙铁头挫出光亮的铜预热至150-180度后蘸一下松香焊剂,然后用焊锡丝镀锡,镀上光亮的锡后就可以焊接了,焊接温度一般220度左右为好。焊锡丝尽量选用低温焊锡丝。在焊接时先在电路板上涂上松香焊剂,然后烙铁蘸一下松香焊剂,用焊锡丝对准焊点,烙铁轻轻一点,一个光亮的焊点就完成了。

每次使用后用湿润的清洁海绵抹去焊铁头上助焊剂,旧锡和氧化物,清洁之后,待焊铁湿度稍为降低后涂上新锡层,以减低焊铁头的氧化机会。

把焊铁摆放在焊铁架上:

为免焊铁受到碰撞而损坏,应把焊铁摆放在合适的焊铁架上。

及时清理氧化物:当镀锡层部分含有黑色氧化物或生锈时,必需及时清理,以免焊铁上不了锡而不能进行焊接工作。

5.2单片机程序写入

程序烧写:

利用了RF-X1开发板(图1)将编写调试完成的程序写入单片机。

.-

图5-1 RF-X1开发板

烧写步骤如下:

1、根据计算机的系统安装USB芯片PL2303HX驱动。

2、用USB线把板子与电脑的USB口连接,并把板子上USB接口下面的拨码开关都打到"ON"的那一端,同时设置好连接端口(COM端口)。

3、正确放上单片机STC89C52,芯片缺口朝手杆方向放置。

4、在Windows环境下打开STC单片机下载软件STC-ISP,按照该界面上的步骤进行设置,如图2所示,包括芯片选型(STC89C52RC),端口选择(COM5),然后点击OPEN FILE导入光盘中的实例程序(HEX文件)如图3所示,点击Downlaod/下载。

5.3 硬件安装

所需元器件见下表5-2

表5-2 元器件

名称型号规格数量

单片机STC89C51 1

步进电机MOTOR-STEPPER 1

CPYSTAL 1

电阻100 1K 47K*2 4

电解电容10pF 2

达林顿管阵列ULN2003A 1

电容20pF 2

本文来源:https://www.bwwdw.com/article/wls1.html

Top