基于proteus的电机仿真

基于proteus的电机仿真
基于proteus的电机仿真

基于proteus的电机仿真

1 引言

步进电机在简单的开环工作方式下能够达到相当高的定位精度,且低速运行时又可输出很大的转矩,因此在运动控制中得到了广泛的应用[1]。PC 机步进电机控制系统,应用于多个领域如数控机床、机器人、激光加工设备等各种仪器设备。一个完整的PC 机步进电机控制系统,下位机与PC 机构成主从式控制结构:PC 机负责人机交互界面的管理,包括键盘和鼠标的管理、系统状态的显示、控制指令的发送等部分工作;下位机完成运动控制的所有细节,包括脉冲和方向信号的输出、自动升降速的处理等部分工作。实际下位机开发过程复杂,主体包含硬件电路设计和控制程序设计两方面。控制程序设计过程需要软件调试、硬件调试、系统调试 3 个过程。软件调试一般比较容易进行,但如果要进行牵涉硬件的硬件调试或系统调试,包括元器件选用、PCB 板制作、元器件焊接、程序烧录环节,其中任一环节的疏漏都可能造成程序调试失真。通过Proteus 中各虚拟仪器所构建硬件电路,调试所设计程序的控制效果,达到虚拟硬件调试、虚拟系统调试程序的目的,为PC 机步进电机系统开发提供有效的理论实践依据,避免因硬件电路设计过程错误引起的程序异常或硬件实验条件限制影响开发。

Proteus 是英国Labcenter 公司开发的电路分析与实物仿真软件实现了单片机仿真和SPICE 电路仿真相结合,具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘、LCD、虚拟仪器、示波器、逻辑分析仪系统仿真的功能;支持主流单片机系统的仿真功能;在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态;支持第三方的软件编译和调试环境,如Keil uVision2、MTLAB 等软件。由于Proteus 软件本身的优良仿真特性,所设计程序能于Proteus 中完成仿真过程的同时,即基本证明了所设计程序的准确性,从而基本完成了系统开发中的控制程序设计部分,并为系统硬件电路设计提供指导意义。

2 设计要求

以构建基于Proteus 的PC 机对步进电机运动控制仿真系统为例,上位机人机交互界面由VB 开发完成;下位机硬件电路由Proteus 中各虚拟仪器所构建完成;下位机控制程序由Keil uVision2开发完成;期间还要采用虚拟串口(VSPD),用于模拟一根串口通信线,实现上位机与下位机的串口通信,最终实现上位机(VB)对下位机(Proteus)中步进电机的实时控制过程。

2.1 系统总体框图

上位机通过RS232C 串口通信方式实现对下位机下达指令,下位机AT89C51 单片机根据接受到的指令,按一定的时序产生A、B、C、D 四相控制信号,分别实现单拍、双拍、单双拍的三种步进电机驱动方式。在实际运用中,单片机与步进电机之间一般还需要信号隔离、放大集成电路。下位机部分增设显示功能,

由LCD1602 来完成实时地显示步进电机运动状态。Proteus 的仿真电路与实际电路可以有一定的区别,考虑到仿真的实践性验证,设计出实际仿真适用的整个控制模块,如图1 所示。

2.2 下位机仿真系统结构设计

在实际运用中,单片机控制步进电机需要隔离、放大模块。在仿真时该控制模块可省略,直接将步进电机与AT89C51 相连接,也可在仿真电路中使用,因这里主要是为了检测脉冲的控制效果,所以省去隔离、放大电路。

串口通信部分[3],非仿真控制中,上位机电平是RS232C 电平,而下位机是TTL 电平,不能直接通信的,所以增加一个电平转换芯片MAX232。在实际仿真中,由于上下位机都是在PC 中进行,所以无需电平转换芯片,否则会发生错误。实际仿真时,串口的2、3 位直接与AT89C51 的RXD、TXD 直接对接就可以了。

LCD 部分显示电路,当单片机驱动LCD 时,由于信号的传输过程会有损耗,所以在实际应用驱动LCD 时,常采用信号增益模块加以驱动。仿真过程无信号损耗,系统外部晶振电路,复位电路等在仿真过程可以省略。

综上所述,在搭建Proteus 下位机系统时,隔离放大模块、LCD 驱动模块、外部晶振电路和复位电路可有可无,而RS232 电平与TTL 电平转换模块必需省去。

3 软件设计

3.1 下位机软件设计

下位机软件由Keil uVision2 开发完成。程序本身通用于仿真Proteus、实际步进电机控制系统。下位机程序包括:初始化程序,串行中断程序,定时器T0 中断程序,LCD 显示函数(含几条控制命令子函数)及程序主函数体五部分构成。程序设计流程,如图2 所示。

程序设计中要注意设置串行中断的优先级应高于T0 中断,因为默认的ET0 中断优先级是高于串行中断ES 的[6],使用语句PT0=0;//低优先级,PS=1;//高优先级即可,因为只要当串行通信优先级最高时,才能实现上位机对下位机的实时控制,十分重要。串行中断中需应用字符型数据与ASCII 码转化的算法。因为MSComm1.Output 中送出去的是字符型数据,而AT89C51 会把接收到的字符数据转化成ASCII 码,这样如果上位机发送一个数据“0”,而下位机转化成ASCII 码后即变成了“48”,显然这不是事先跟下位机约定的控制指令,所以需要对接收到的指令数据做一定的计算处理,然后再交给CPU 进行判断。因为上位机的控制指令数据只有七个,使用语句if(temp<=57 & temp>=48)temp=temp-0x30;即可实现。整个串行中断程序设计如下:

static void com_isr(void)interrupt SIO_VECTOR using 1 {

if(RI)//RI=0 申请串行中断

temp=SBUF;

//从接收寄存器中读取指令数据

if(temp<=57 & temp>=48)

//判断指令寄存器数据

temp=temp-0x30;

//计算指令寄存器数据

RI=0;

//RI=0 为下一次串行中断做准备

k=0;//为显示函数执行条件

return;

设计T0 中断程序时,中段时间(它由定时计数器的初始值、工作方式共同决定)与中断次数关键内容,决定了驱动电机脉冲频率的变化,即决定了步进电机转速,需要设计一个合理的转速方便记录采集步进电机数据,观察单拍、双拍、单双拍驱动方式下电机的运动状态。

LCD 显示程序设计中因为“MODE:”是始终显示的,所以可以在程序初始化的时候就设计好LCD 的“MODE:”显示,然后再根据数据指令显示对应的步进电机运动状态,这样能节省MCU的处理时间,提高仿真系统的实时控能力。主程序体中完成最终接受来的上位机指令的处理,进而完成上位机控制步进电机的整个过程。

其中对应控制指令N,各个器件的状态。每一个N 值都意味着一条控制指令,不同N 值,步进电机、LCD、上位机Text、P1 口脉冲[5]会有对应的状态内容。具体如表1 所示。

3.2 上位机软件设计

上位机软件用VB 进行开发。采用Microsoft 公司提供的MicrosoftCommunications Control 串行通信编程的ActiveX 控件,封装了完整的所需的API 函数,为应用程序提供了通过串行口收发数据的简便方法。只要设置Settings 属性包括返回波特率、奇偶校验、数据位、停止位、对应串口等参数。然后设计对应的事件处理,以达到目标通信控制效果。程序主要开发

对下位机发送的七条指令及Text 电机状态显示,实现上位机控制。

4 系统仿真运行效果及仿真分析

对应的单拍正转、双拍正转、单双拍正转种情况下由虚拟示波器(OSCILLOSCOPE)采集的脉冲驱动信号,如图3 所示。结合表1 的P1 口脉冲,剔除正常存在的毛刺与抖动,与实际驱动所需的对应脉冲信号是完全吻合的。

下位机在接收到单拍正转对应图3(a)指令后步进电机的相应运动过程,如图4 所示。此处,虚拟步进电机的虚拟步距角为90 度,图中A、B、C、D 四相红代表高电平,蓝代表低电平。图3 与图4 仿真过程记录的信息,与实际设计程序控制预期运行结果完全吻合,仿真效果明显可信。

如图5 所示,下位机在运行的条件下,上位机Option 单拍,单击正转按钮,即上位机向下位机发送指令“1”。其中的virtualTerminal(虚拟终端),是Proteus 软件的辅助分析工具,每次串口通信的指令将会被记录下来。步进电机会根据P1 的脉冲形式做对应的运动,Proteus 中LCD、上位机Text 正确显示步进电机运动状态。

5 结束语

提出了一种基于Proteus 的PC 机对步进电机运动控制仿真方法。所构建的仿真系统能很好的实现PC 机对步进电机的同步控制与状态显示整体过程,通过程序设计开发与仿真系统无缝连接,实现了程序所预期要求的控制过程,并给出了丰富的实验观察接口,仿真实现了程序硬件调试、系统调试过程。

参考文献

1 孙耀杰,左贺,康龙云,曹秉刚,史维祥. 抑制混合式步进电机转矩波动的时变重复控制[J]. 中国电机工程学报,2004,24(11):183~187

2 孟武胜,李亮. 基于AT89C52 单片机的步进电机控制系统设计[J]. 测控技术,2006,25(12):46~51

3 张俊杰,李世其,熊友军. 基于数据手套的机械手控制技术应用[J]. 计算机应用研究,2006(6):170~175

4 李河清,侯志祥. 基于串行通信的步进电机小型集散控制系统[J].计算机工程,2007,33(10):258~260

5 金建新,郑虎子. 1

6 位单片机控制混合式步进电机的研究[J]. 机械设计与制造,2007(9):94~96

6 李全利,迟荣强. 单片机原理及接口技术[M]. 北京:高等教育出版社,2004(1)

基于单片机和proteus的步进电机控制

航空航天大学 课程设计 (论文) 题目:基于单片机和proteus的步进电机控制 班级 ******* 学号 ************ 学生姓名 X X X 指导教师 X X X

航空航天大学 课程设计任务书 课程名称计算机控制技术 院(系)专业 班级 ******** 学号 *********** 学生 ****** 课程设计题目基于单片机和Proteus的步进电机控制 课程设计时间年月日至年月日 课程设计容及要求: 利用Proteus仿真环境和C51编程软件,绘制基于51单片机的步进电机控制系统硬件原理电路、编制基于C51的步进电机控制软件,实现步进电机速度、方向、及旋转角度的计算机控制。本设计主要容有: 1) 了解51系列单片机及外围相关芯片、电路的工作原理和接口技术,学会 进行控制系统软件程序设计。 2) 编制程序完成步进电机速度、方向、及旋转角度的控制。 3) 设计相关的硬件电路,软硬调试实现步进电机速度、方向、及旋转角度的 控制,分析结果。 4) 学会运用“自动控制原理”、“现代控制理论”和“计算机控制技术”所 学理论知识进行控制器的设计和计算机控制的算法实现。为今后毕业设计、将来工作做必要的知识储备。 课程设计主要要求有:

1) 掌握步进电机工作原理和51单片机的工作原理、控制方式设置方法,给 出完整硬件原理图。 2) 学会利用C或C++等高级语言编程,实现步进电机速度、方向、及旋转角 度的控制功能。 3) 整理程序设计文档、按照课程设计要求撰写课程设计报告,字数不少于 8000字。 指导教师年月日 负责教师年月日 学生签字年月日

Proteus仿真软件使用方法

实验八 Proteus仿真软件使用方法 1.实验目的: (1)了解Proteus仿真软件的使用方法。 (2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。 2.实验要求: 通过讲授与操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。 3.实验内容: (1)Proteus 仿真软件介绍 Proteus 软件就是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS与ARES两个软件构成,其中ISIS就是一款便捷的电子系统仿真平台软件,ARES就是一款高级的布线编辑软件。它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。 通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。 图8-1就是Proteus ISIS的编辑窗口: 图8-1 ISIS的编辑界面 图中最顶端一栏就是“标题栏”,其下的“File View Edit ……”就是“菜单栏”,再下面的一栏就是“命令工具栏”,最左边的一栏就是“模式选择工具栏”;左上角的小方框就是“预览窗口”,其下的长方框就是“对象选择窗口”,其右侧的大方框就是“原理图编辑窗口”。 选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图8-2的元器件选择界面:

图8-2 元器件库选择界面 在元器件列表框中点击您需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入您需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图8-2中间的大空白框列出您所需的一系列相关的元件。此时,您可用鼠标选中您要的元件,则图8-2右上角的预览框会显示您所要元件的示意图,若就就是您要的元器件,则点击OK按钮,该元器件的名称就会列入位于图8-1左侧的“对象选择窗口”中(参见图1左侧下方框)。 所需元器件选择好后,在“对象选择窗口”选择某器件,就可以将它放到图8-1中的“原理图编辑窗口”中(若器件的方向不合适,您可以利用图1左下角的旋转按钮来改变它)。将所要的元器件都选好后,将它们安放到合适的位置,就可以用连接线把电路连接好,结果存盘(请按规定的目录存盘,并记住其路径/目录/文件名[学号-实验序号])。 (2)51单片机编程器– Keil V3的使用 Keil编程器可用于MCS-51单片机软件编程与调试,它的工作界面如图8-3所示: Keil编程器就是Keil Software Inc/Keil Electronic GmbH 开发的基于80C51内核的微处理器软件开发平台,可以完成从工程(Project)的建立与管理、程序的编译与连接、目标代码的形成、软件仿真等一套完整的软件开发流程。它与Proteus挂接,可以进行单片机应用系统的硬件仿真。 汇编语言编程方法: ①打开“File”菜单→选择新建“New、、、”→在弹出的文本框(Text1)中编写所需的汇编语言程序→程序写好后,保存(从 As、、→选择某目录,文件名、ASM, 存盘); ②打开“Project”菜单→选择新建工程“New Project、、、”→在弹出的窗口填写:工程名→保存(文件名的后缀就是、uv2 。此时图8-3的工程窗口中将建立Target1及Source Group 1) ; ③打开“Project”菜单→选择Components,Environment,Books、、、→在弹出的窗口的Project Components 点击“Add Files”→加入所写的汇编文件(选中该文件,Add);

基于proteus的步进电机电机仿真

基于proteus的步进电机电机仿真 摘要:步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。本设计利用proteus仿真软件进行电路仿真,系统通过设置四个按键分别控制不进电机的起止、圈数、方向、不进速度,使用1602液晶显示以上参数。整个系统具有稳定性好,实用性强,操作界面友好等优点。 关键词:proteus 仿真不进电机拍数 一、Proteus简介 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: ①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 ③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51uVision2等软件。 ④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。 二、整体电路分析 如下图,整个设计以STC89C51单片机为中心,由复位电路,时钟电路,电机驱动,步进电机,显示电路等组成,硬件模块如图2-1所示: 图1 硬件模块图

实验一proteus仿真软件使用方法

实验一 Proteus仿真软件使用方法 一.实验目的: (1)了解Proteus仿真软件的使用方法。 (2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。 二.实验要求: 通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。 三.实验内容: (1)Proteus 仿真软件介绍 Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS 和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。 通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。 图1是Proteus ISIS的编辑窗口: 图1 ISIS的编辑界面 图中最顶端一栏是“标题栏”,其下的“File View Edit ……”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。 选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图2的元器件选择界面:

图2 元器件库选择界面 在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图2中间的大空白框列出你所需的一系列相关的元件。此时,你可用鼠标选中你要的元件,则图2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名称就会列入位于图1左侧的“对象选择窗口”中(参见图1左侧下方框)。 所需元器件选择好后,在“对象选择窗口”选择某器件,就可以将它放到图1中的“原理图编辑窗口”中(若器件的方向不合适,你可以利用图1左下角的旋转按钮来改变它)。将所要的元器件都选好后,将它们安放到合适的位置,就可以用连接线把电路连接好,结果存盘(请按规定的目录存盘,并记住其路径/目录/文件名[学号-实验序号])。 (2)51单片机编程器– Keil V3的使用 Keil编程器可用于MCS-51单片机软件编程与调试,它的工作界面如图3所示: Keil编程器是Keil Software Inc/Keil Electronic GmbH 开发的基于80C51内核的微处理器软件开发平台,可以完成从工程(Project)的建立和管理、程序的编译和连接、目标代码的形成、软件仿真等一套完整的软件开发流程。它与Proteus挂接,可以进行单片机应用系统的硬件仿真。 汇编语言编程方法: ①打开“File”菜单→选择新建“New...”→在弹出的文本框(Text1)中编写所需的汇编语言程序→程序写好后,保存(从File→Save As..→选择某目录,文件名.ASM, 存盘); ②打开“Project”菜单→选择新建工程“New Project...”→在弹出的窗口填写:工程名→保存(文件名的后缀是 .uv2 。此时图3的工程窗口中将建立Target1

Proteus仿真软件简介

Proteus仿真软件简介

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,可完成从原理图布图、PCB设计、代码调试到单片机与外围电路的协同仿真,真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC、A VR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。Proteus软件主要具有以下特点: ①具有强大的原理图绘制功能。 ②实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路的系统仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ③支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 ④提供软件调试功能。具有全速、单步、设置断点等调试功能,同时可以观察各变量以及寄存器等的当前状态,并支持第三方编译和调试环境,如wave6000、Keil等软件。 1. 新建设计文件 运行ISIS,它会自动打开一个空白文件,或者选择工具栏中的新建文件按钮,也可以执行菜单命令:“File”→“New Design”,单击“OK”按钮,创建一个空白文件。不管哪种方式新建的设计文件,其默认文件名都是UNTITLED.DSN,其图纸样式都是基于系统的默认设置,如果图纸样式有特殊要求,用户可以从System菜单进行相应的设置。单击保存按钮,弹出“Save ISIS Design File”对话框,选择好设计文件的保存地址后,在文件名框中输入设计文件名,再单击“保存”按钮,则完成新建设计文件操作,其扩展名自动为.DSN。 2. 选取元器件并添加到对象选择器中 选择主模式工具栏中的按钮,并选择对象选择器中的P按钮,或者直接单击编辑工具栏中的按钮,也可以使用快捷键P(ISIS系统默认的快捷键,表示Pick),会出现如图1所示的选择元器件对话框。 图1选择元器件对话框

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

目录 目录 (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下步进电机控制

p r o t e u s下步进电机控 制 The Standardization Office was revised on the afternoon of December 13, 2020

目录 摘要 ........................................................................................... 错误!未定义书签。 一、课程设计目的与要求....................................................... 错误!未定义书签。 1.课程设计目的......................................................................... 错误!未定义书签。2.设计要求.............................................................................. 错误!未定义书签。 二、电路设计原理及原理图................................................... 错误!未定义书签。 1.设计方案................................................................................. 错误!未定义书签。 2.电路原理................................................................................. 错误!未定义书签。 开关控制电路........................................................................ 错误!未定义书签。 晶振电路................................................................................ 错误!未定义书签。 复位电路................................................................................ 错误!未定义书签。 电机驱动电路........................................................................ 错误!未定义书签。 3.原理图..................................................................................... 错误!未定义书签。 4.流程图..................................................................................... 错误!未定义书签。 5.软件设计................................................................................. 错误!未定义书签。 三、设计过程........................................................................... 错误!未定义书签。 1.筹备过程................................................................................. 错误!未定义书签。 2.制作过程................................................................................. 错误!未定义书签。 3.调试过程................................................................................. 错误!未定义书签。 4.元件清单................................................................................. 错误!未定义书签。 四、总结.................................................................................... 错误!未定义书签。 1.结论总结................................................................................. 错误!未定义书签。 2.心得体会................................................................................. 错误!未定义书签。 五、致谢................................................................................... 错误!未定义书签。 六、参考文献............................................................................ 错误!未定义书签。附件............................................................................................ 错误!未定义书签。

步进电机的驱动L298 L297与PROTEUS仿真

第十一章 步进电机 本章主要讲述步进电机的驱动。 11.1:L298 C 程序: #include sbit enable=P3^0;//使能 sbit set=P3^1; //设置 //延时 void delay(int i) { int j; for(;i>0;i--) for(j=50;j>0;j--) ; } //主程序 void main() { int step[]={0x01, 0x05,0x04,0x06, 0x02,0x0a,0x08,0x09}; //正转模型 int i=0; enable=1;//使能 while(1) { if(set==0) {if(i==0) i=7;P2=step[i--];} //反转 else {if(i==8) i=0;P2=step[i++];} //正转 delay(50); //延时 //越小速度越快 } }

11.2:L297与L298 C程序: #include sbit clock=P2^0; sbit cw=P2^1; sbit en=P2^2; void main() { TMOD=0X01; TH0=(65536-5000)/256; TL0=(65536-5000)%256; ET0=1;TR0=1;EA=1; while(1); } void timer0() interrupt 1 { static int n=0; if(n==3){n=0;clock=!clock;} n++; TH0=(65536-5000)/256; TL0=(65536-5000)%256; }

单片机温度传感器proteus仿真

仿真程序仿真: LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H TCNTA EQU 36H TCNTB EQU 37H H_TEMP EQU 38H L_TEMP EQU 39H FLAG BIT 00H H_ALM BIT P3.0 L_ALM BIT P3.1 SOUND BIT P3.7 CLOCK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 ORG 1BH LJMP INT_T1 START:MOV LED_0,#00H

MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV H_TEMP,#153 MOV L_TEMP,#77 MOV TMOD,#12H MOV TH0,#245 MOV TL0,#0 MOV TH1,#(65536-1000)/256 MOV TL1,#(65536-1000)/256 MOV IE,#8AH CLR C SETB TR0 WAIT:SETB H_ALM SETB L_ALM CLR ST SETB ST CLR ST JNB EOC,$ SETB OE MOV ADC,P1 CLR OE MOV A,ADC SUBB A,L_TEMP JC LALM MOV A,H_TEMP MOV R0,ADC SUBB A,R0 JC HALM CLR TR1 LJMP PROC1 LALM:CLR L_ALM SETB TR1 CLR FLAG LJMP PROC1 HALM:CLR H_ALM SETB TR1 SETB FLAG LJMP PROC1 PROC1:MOV A,ADC MOV B,#100 DIV AB MOV LED_2,A MOV A,B

单片机PROTEUS仿真100实例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间间隔闪烁 */ #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); } } 02 从左到右的流水灯 /* 名称:从左到右的流水灯 说明:接在P0口的8个LED 从左到右循环依次点亮,产生走 马灯效果 */ #include #include #define uchar unsigned char #define uint unsigned int

//延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { P0=0xfe; while(1) { P0=_crol_(P0,1); //P0的值向左循环移动 DelayMS(150); } } 03 8只LED左右来回点亮 /* 名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) {

用proteus学习步进电机

用proteus学习步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。2.步进电机分哪几种? 步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB) 永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度; 反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。 上面是我在网上搜到的,重复的事情就不要做了,所以我直接给粘过了,我简单的解释一下, 步进电机了,一般有,二相的,三相的,五相的,所谓的的相,就是电机里面推动电机的转的东西,叫绕组,二相的了,就是有两个绕组,如果说分A,B的话,A转一下,B再转一下,一圈了是360度,一个可以转1.8度,算一算,就是20次,AB它们就像接力一样,你推着轴转一些,我在接着转。很显然,如果有三项,或是五项的话,那么就会比较精细,也就是说,每次转度的角度,可以更小,可以更精确的控制,反正就是这么回事。 上图。 一开始,我看了这个MOTOR的线不知道怎么接,有6根,其实,中间的两根是接电源的, 上面的两根,下面的两根,分别接单片机的IO口。驱动步进电机的,用的是ULN2003 还有L297/L298 我问下朋友,他们说L297/298现在用的多些,今天先用ULN2003联下,有时间再用L297/L298试下,另我买的开发板是个两相的,是用H式三极管来驱动的,很有意思,

proteus软件的基本使用方法

上篇文章转了keil软件的基本使用方法,现在干脆再转一篇proteus的使用 方法得了。呵呵,下面这篇文章介绍得也蛮详细的。大家就看看原作者的使用 步骤就行,没必要跟着他一步步的试试,毕竟我们没有原作者的代码嘛……。 大家可以结合这里: https://www.360docs.net/doc/864399872.html,/dxstar/blog/item/ae40bf47eb02912bcefca35b.html试用一下。 Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包 括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS 模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术, 它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片, 比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用 方便的单片机实验室。 本文中由于我们主要使用Proteus软件在单片机方面的仿真功能,所以我们重点研究ISIS模块的用法,在下面的内容中,如不特别说明,我们所说的Proteus软件特指其ISIS模块。 在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好 相反,而7.0以后已经完全改过。 下面我们首先来熟悉一下Proteus的界面。Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面 如下图所示:

基于proteus的步进电机仿真

目录 摘要: (2) 一、Proteus简介 (2) 二、步进电机原理 (3) 三、整体电路分析 (4) 四、系统硬件电路选择与设计 (5) 1、主控器的选择 (5) 2、步进电机选择 (5) 3、驱动电路的选择 (6) 4、显示电路 (6) 5、键盘输入模块电路 (7) 五、系统软件设计 (7) 六、总结 (8) 七、参考文献 (8) 附录 (9)

基于proteus的步进电机仿真 摘要:步进电机广泛应用在生产实践的各个领域。步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护 性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软 件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。控制系统通 过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱 动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了 四相步进电机的正反转,急停等功能。人们用它来驱动时钟和其他采用指针的仪器,打印机、 绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。此外作 为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统 中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。 步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活, 因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术 的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。 为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现 步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片 机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来, 步进电机的应用得到很大的提高。 关键词:proteus 仿真四相步进电机拍数 一、Proteus简介 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: ①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

基于Proteus的步进电机控制系统仿真设计-精品

计算机控制技术课程设计报告《基于Proteus的步进电机控制系统仿真设计》 专业及班级______ 09自动化(1)班_________ 姓名_____ 吴红田坤王林 指导老师_______ 丁健______________ 完成时间_______ _ 2012-6-17__________________

基于protues的步进电机控制系统设计 摘要:步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。

Proteus仿真实验

Proteus仿真实验 矩阵式键盘识别一 一、实验目的 通过对实验环境调试程序的使用 设计出满足指标要求的电源电路 熟悉Proteus对电源电路的仿真、测试过程。设计一个4x4的矩阵键盘,以P3.0~P3.3作为行线,以P3.4~P3.7作为列线,在数码管上显示每个按键的0~F序号。 二、实验器件 单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、排阻RESPACLK-7、按钮BUTTON、共阳数码管7SEG-COM-AM-GRN。 三、实验原理 程序: #include"reg51.h" #define uchar unsigned char #define uint unsigned int uchar buff,times,j; uchar code dispcode[]={0xC0,0xF9,0xA4,0 xB0,0x99,0x92,0x82,0xF8,0x8 0,0x90,0x88,0x83,0xC6,0xA1, 0x86,0x8E}; uchar idata value[8]; void delay1ms(void) { uchar i; for(i=200;i>0;i--); } void delay5ms(void) { unsigned char i,j; for(i=5;i>0;i--) for(j=230;j>0;j--); } void key_scan(void) { uchar hang,lie,key;

P3=0xf0; if((P3&0xf0)!=0xf0) { delay1ms(); if((P3&0xf0)!=0xf0) {hang=0xfe; times++; if(times=9) times=1; while((hang&0x10)!=0) {P3=hang; if((P3&0xf0)!=0xf0) {lie=(P3&0xf0)|0x0f; buff=((~hang)+(~lie)); switch(buff) { case 0x11:key=0;break; case 0x21:key=1;break; case 0x41:key=2;break; case 0x81:key=3;break; case 0x12:key=4;break; case 0x22:key=5;break; case 0x42:key=6;break; case 0x82:key=7;break; case 0x14:key=8;break; case 0x24:key=9;break; case 0x44:key=10;break; case 0x84:key=11;break; case 0x18:key=12;break; case 0x28:key=13;break; case 0x48:key=14;break; case 0x88:key=15;break; } value[times-1]=key; } else hang=(hang<<1)|0x01; } } } } void main(void) { while(1)

Proteus软件的使用方法

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

Proteus启动界面 Proteus工作界面 2.Proteus的鼠标使用原则 在Proteus中,鼠标操作与传统的方式不同,右键选取、左键编辑或移动: 右键单击-选中对象,此时对象呈红色;再次右击已选中的对象,即可删除该对象。

右键拖拽-框选一个块的对象。 左键单击-放置对象或对选中的对象编辑对象的属性。 左键拖拽-移动对象。 3.原理图设计的步骤 (1)新建设计文件并设置图纸参数和相关信息 (2)放置元器件 (3)对原理图进行布线 (4)调整、检查和修改 (5)补充完善 (6)存盘和输出 4.放置元器件 (1)选择元器件 单击图标工具栏中的图标,并选择下图所示对象选择器中的按钮,出现选择元器件对话框 对象选择器中P按钮

基于proteus的电机仿真

基于proteus的电机仿真 1 引言 步进电机在简单的开环工作方式下能够达到相当高的定位精度,且低速运行时又可输出很大的转矩,因此在运动控制中得到了广泛的应用[1]。PC 机步进电机控制系统,应用于多个领域如数控机床、机器人、激光加工设备等各种仪器设备。一个完整的PC 机步进电机控制系统,下位机与PC 机构成主从式控制结构:PC 机负责人机交互界面的管理,包括键盘和鼠标的管理、系统状态的显示、控制指令的发送等部分工作;下位机完成运动控制的所有细节,包括脉冲和方向信号的输出、自动升降速的处理等部分工作。实际下位机开发过程复杂,主体包含硬件电路设计和控制程序设计两方面。控制程序设计过程需要软件调试、硬件调试、系统调试 3 个过程。软件调试一般比较容易进行,但如果要进行牵涉硬件的硬件调试或系统调试,包括元器件选用、PCB 板制作、元器件焊接、程序烧录环节,其中任一环节的疏漏都可能造成程序调试失真。通过Proteus 中各虚拟仪器所构建硬件电路,调试所设计程序的控制效果,达到虚拟硬件调试、虚拟系统调试程序的目的,为PC 机步进电机系统开发提供有效的理论实践依据,避免因硬件电路设计过程错误引起的程序异常或硬件实验条件限制影响开发。 Proteus 是英国Labcenter 公司开发的电路分析与实物仿真软件实现了单片机仿真和SPICE 电路仿真相结合,具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘、LCD、虚拟仪器、示波器、逻辑分析仪系统仿真的功能;支持主流单片机系统的仿真功能;在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态;支持第三方的软件编译和调试环境,如Keil uVision2、MTLAB 等软件。由于Proteus 软件本身的优良仿真特性,所设计程序能于Proteus 中完成仿真过程的同时,即基本证明了所设计程序的准确性,从而基本完成了系统开发中的控制程序设计部分,并为系统硬件电路设计提供指导意义。 2 设计要求 以构建基于Proteus 的PC 机对步进电机运动控制仿真系统为例,上位机人机交互界面由VB 开发完成;下位机硬件电路由Proteus 中各虚拟仪器所构建完成;下位机控制程序由Keil uVision2开发完成;期间还要采用虚拟串口(VSPD),用于模拟一根串口通信线,实现上位机与下位机的串口通信,最终实现上位机(VB)对下位机(Proteus)中步进电机的实时控制过程。 2.1 系统总体框图 上位机通过RS232C 串口通信方式实现对下位机下达指令,下位机AT89C51 单片机根据接受到的指令,按一定的时序产生A、B、C、D 四相控制信号,分别实现单拍、双拍、单双拍的三种步进电机驱动方式。在实际运用中,单片机与步进电机之间一般还需要信号隔离、放大集成电路。下位机部分增设显示功能,

相关文档
最新文档