搜档网
当前位置:搜档网 › 根据proteus仿真的pwm电机调速

根据proteus仿真的pwm电机调速

根据proteus仿真的pwm电机调速
根据proteus仿真的pwm电机调速

直流电机调速资料汇总

一.

使用单片机来控制直流电机的变速,一般采用调节电枢电压的方式,通过单片机控制PWM1,PWM2,产生可变的脉冲,这样电机上的电压也为宽度可变的脉冲电压。

C语言代码:

#include

#define uchar unsigned char

#define uint unsigned int

sbit K5=P1^4;

sbit K6=P1^5;

sbit PWM1=P1^0;

sbit PWM2=P1^1;

sbit FMQ=P3^6;

uchar ZKB1,ZKB2;

void delaynms(uint aa)

{

uchar bb;

while(aa--)

{

for(bb=0;bb<115;bb++) //1ms基准延时程序

{

;

}

}

}

void delay500us(void)

{

int j;

for(j=0;j<57;j++)

{

;

}

}

void beep(void)

{

uchar t;

for(t=0;t<100;t++)

{

delay500us();

FMQ=!FMQ; //产生脉冲

}

FMQ=1; //关闭蜂鸣器

delaynms(300);

}

void main(void)

{

TR0=0; //关闭定时器0

TMOD=0x01; //定时器0,工作方式1

TH0=(65526-100)/256;

TL0=(65526-100)%256; //100us即0.01ms中断一次EA=1; //开总中断

ET0=1; //开定时器0中断

TR0=1; //启动定时器T0

ZKB1=50; //占空比初值设定

ZKB2=50; //占空比初值设定

while(1)

{

if(!K5)

{

delaynms(15); //消抖

if(!K5) //确定按键按下

{

beep();

ZKB1++; //增加ZKB1

ZKB2=100-ZKB1; //相应的ZKB2就减少

}

}

if(!K6)

{

delaynms(15); //消抖

if(!K6) //确定按键按下

{

beep();

ZKB1--; //减少ZKB1

ZKB2=100-ZKB1; //相应的ZKB2增加

}

}

if(ZKB1>99)

ZKB1=1;

if(ZKB1<1)

ZKB1=99;

}

}

void time0(void) interrupt 1

{

static uchar N=0;

TH0=(65526-100)/256;

TL0=(65526-100)%256;

N++;

if(N>100)

N=0;

if(N<=ZKB1)

PWM1=0;

else

PWM1=1;

if(N<=ZKB2)

PWM2=0;

else

PWM2=1;

}

//显现:电机转速到最高后,也就是N为1或99时,再按一下,就变到99或1,//电机反方向旋转以最高速度

二、内容及要求:

1、设计一个直流电机调速系统,并用单片机实现连接开关和数码显示并将其值输入直流电机调速系统。

2、通过公式及键控实现其直流电机启动、加速、减速和停止等四种形态。

目标:

(1) CPU为8051芯片;

(2)实验需要4个LED,分别显示启动、加速、减速和停止。

(3)通过按键开关输入不同的值改变脉冲占空比的控制值从而得到不同的频率

脉冲,实现脉冲转变为点评,实现调速功能。

PWM EQU 7FH ;PWM赋初始值

OUT EQU P0 ;8个LED灯的接口

INCKEY EQU P1.4 ;K1,PWM值增加键。

DECKEY EQU P1.5 ;K2,PWM值减小键。

BEEP EQU P3.7

;----

ORG 0000H

SJMP START

ORG 000BH

SJMP INTT0

ORG 001BH

SJMP INTT1

ORG 0030H

;----

;主程序

;定时器0工作在模式1,定时器1工作在模式2。

;----

START:

MOV SP,#30H

MOV TMOD,#21H

MOV TH1,PWM ;脉宽调节

MOV TL1,#00H

MOV TH0,#0FCH ;

MOV TL0,#066H ;频率调节

SETB EA

SETB ET0

SETB ET1

SETB TR0

LOOP: MOV A,PWM ;

JB INCKEY,LOOP1 ;增加键是否按下?

CALL DELAY ;延时去抖动

JB INCKEY,LOOP1

CJNE A,#0FFH,PWMINC ;是否到最大值?

CALL BEEP_BL ;是,蜂鸣器报警。

SJMP LOOP

PWMINC:

INC PWM ;调节脉宽(脉宽减小) SJMP LOOP

LOOP1: JB DECKEY,LOOP2 ;减小键是否按下?

CALL DELAY ;延时去抖动

JB DECKEY,LOOP2

CJNE A,#02H,PWMDEC ;是否到最小值?

CALL BEEP_BL ;是,蜂鸣器报警。

SJMP LOOP

PWMDEC:

DEC PWM ;调节脉宽(脉宽增加)LOOP2: SJMP LOOP

;----

;T0中断服务子程序(频率)

;控制定时器1中断

;----

INTT0:

CLR TR1

MOV TH0,#0FCH ;1ms延时常数

MOV TL0,#066H ;频率调节

MOV TH1,PWM

SETB TR1

MOV OUT,#00H ;启动输出

RETI

;----

;T1中断服务子程序(脉宽)

;----

INTT1:

CLR TR1 ;脉宽调节结束

MOV OUT,#0FFH ;结束输出

RETI

;----

;10ms延时子程序

;----DELAY:

MOV R6,#50

DELAY1:

MOV R7,#100

DJNZ R7,$

DJNZ R6,DELAY1

RET

;----

;蜂鸣器响一声子程序

;---

BEEP_BL:

MOV R6,#100

BL1: CALL BL2

CPL BEEP

DJNZ R6,BL1

MOV R5,#25

CALL DELAY2

RET

BL2: MOV R7,#180

BL3: NOP

DJNZ R7,BL3

RET

DELAY2: ;延时R5×10MS

MOV R6,#50

BL4: MOV R7,#100

BL5: DJNZ R7,BL5

DJNZ R6,BL4

DJNZ R5,DELAY2

RET

END

******************************************************************************/

#include

#define uchar unsigned char

/*****************************************************************************

* TH0和TL0是计数器0的高8位和低8位计数器,计算办

法:TL0=(65536-C)%256; *

* TH0=(65536-C)/256,其中C为所要计数的次数即多长时间产生一次中断;TMOD是计数器*

* 工作模式选择,0X01表示选用模式1,它有16位计数器,最大计数脉冲为65536,最长时*

* 间为1ms*65536=65.536ms

*

******************************************************************************/

#define V_TH0 0XFF

#define V_TL0 0XF6

#define V_TMOD 0X01

void init_sys(void); /*系统初始化函数*/

void Delay5Ms(void);

unsigned char ZKB1,ZKB2;

void main (void)

{

init_sys();

ZKB1=40; /*占空比初始值设定*/

ZKB2=70; /*占空比初始值设定*/

while(1)

{

if (!P1_4) //如果按了+键,增加占空比

{

Delay5Ms();

if (!P1_4)

{

ZKB1++;

ZKB2=100-ZKB1;

}

}

if (!P1_5) //如果按了-键,减少占空比

{

Delay5Ms();

if (!P1_5)

{

ZKB1--;

ZKB2=100-ZKB1;

}

}

/*对占空比值限定范围*/

if (ZKB1>99) ZKB1=1;

if (ZKB1<1) ZKB1=99;

}

}

/******************************************************

*函数功能:对系统进行初始化,包括定时器初始化和变量初始化*/ void init_sys(void) /*系统初始化函数*/

{

/*定时器初始化*/

TMOD=V_TMOD;

TH0=V_TH0;

TL0=V_TL0;

TR0=1;

ET0=1;

EA=1;

}

//延时

void Delay5Ms(void)

{

unsigned int TempCyc = 1000;

while(TempCyc--);

}

/*中断函数*/

void timer0(void) interrupt 1 using 2

{

static uchar click=0; /*中断次数计数器变量*/

TH0=V_TH0; /*恢复定时器初始值*/ TL0=V_TL0;

++click;

if (click>=100) click=0;

if (click<=ZKB1) /*当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整*/

P1_0=0;

else

P1_0=1;

if (click<=ZKB2)

P1_1=0;

else

P1_1=1;

}

三、proteus仿真图

基于单片机和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的步进电机电机仿真 摘要:步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要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仿真软件简介

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轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。

基于STM32的直流电机PWM调速控制

电动摩托车控制器中的电机PWM调速 摘要:随着“低碳”社会理念的深入,新型的电动摩托车发展迅速,逐渐成为人们主要的代步工具之一,由于直流无刷电机的种种优点,在电动摩托车中也得到了广泛应用,因此,本文控制部分主要介绍一种基于STM32F103芯片的新型直流无刷电机调速控制系统,这里主要通过PWM技术来进行电机的调速控制,且运行稳定,安全可靠,成本低,具有深远的意义。 1.总体设计概述 1.1 直流无刷电机及工作原理 直流无刷电机(简称BLDCM),由于利用电子换向取代了传统的机械电刷和换向器,使得其电磁性能可靠,结构简单,易于维护,既保持了直流电机的优点又避免了直流电机因电刷而引起的缺陷,因此,被广泛应用。另外,由于直流无刷电机专用控制芯片价格昂贵,本文介绍了一种基于STM32的新型直流无刷电机控制系统,既可降低直流无刷电机的应用成本,又弥补了专用处理器功能单一的缺点,具有重要的现实意义和发展前景。 工作原理:直流无刷电机是同步电机的一种,其转子为永磁体,而定子则为三个按照星形连接方式连接起来的线圈,根据同步电机的原理,如果电子线圈产生一个旋转的磁场,则永磁体的转子也会随着这个磁场转动因此,驱动直流无刷电机的根本是产生旋转的磁场,而这个旋转的磁场可以通过调整A、B、C三相的电流来实现,其需要的电流如图1所示 随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。 1.2 总体设计方案 总体设计方案的硬件部分详细框图如图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下步进电机控制

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.心得体会................................................................................. 错误!未定义书签。 五、致谢................................................................................... 错误!未定义书签。 六、参考文献............................................................................ 错误!未定义书签。附件............................................................................................ 错误!未定义书签。

直流电机PWM调速

直流电机转速的PWM控制测速 王鹏辉 姬玉燕

摘要 本设计采用PWM的控制原理来完成对直流电机的正转、反转以及其加速、减速过程的控制,在此过程中是通过单片机的定时器加上中断的方式产生不同时长的高低电压脉冲信号来完成。并通过霍尔传感器对直流电机的转速进行测定,最后将实时测定的转速数值1602液晶屏上。 关键词: PWM控制直流电机霍尔传感器 1602液晶显示屏 L298驱动 一、设计目的: 了解直流电机工作原理,掌握用单片机来控制直流电机系统的硬件设计方法,熟悉直流电机驱动程序的设计与调试,能够熟练应用PWM方法来控制直流电机的正反转和加减速,提高单片机应用系统设计和调试水平。 1.1系统方案提出和论证 转速测量的方案选择,一般要考虑传感器的结构、安装以及测速范围与环境条件等方面的适用性;再就是二次仪表的要求,除了显示以外还有控制、通讯和远传方面的要求。本说明书中给出两种转速测量方案,经过我和伙伴查资料、构思和自己的设计,总体电路我们有两套设计方案,部分重要模块也考虑了其它设计方法,经过分析,从实现难度、熟悉程度、器件用量等方面综合考虑,我们才最终选择了一个方案。下面就看一下我们对两套设计方案的简要说明。 1.2 方案一:霍尔传感器测量方案 霍尔传感器是利用霍尔效应进行工作的?其核心元件是根据霍尔效应原理制成的霍尔元件。本文介绍一种泵驱动轴的转速采用霍尔转速传感器测量。霍尔转速传感器的结构

原理图如图3.1, 霍尔转速传感器的接线图如图3.2 。 传感器的定子上有2 个互相垂直的绕组A 和B, 在绕组的中心线上粘有霍尔片HA 和HB ,转子为永久磁钢,霍尔元件HA 和HB 的激励电机分别与绕组A 和B 相连,它们的霍尔电极串联后作为传感器的输出。 图3.1 霍尔转速传感器的结构原理图 方案霍尔转速传感器的接线图 缺点:采用霍尔传感器在信号采样的时候,会出现采样不精确,因为它是靠磁性感应才采集脉冲的,使用时间长了会出现磁性变小,影响脉冲的采样精度。 1.3方案二:光电传感器 整个测量系统的组成框图如图3.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

基于单片机的直流电机PWM调速控制系统的设计

基于单片机的直流电机PWM调速控制系统的设计 第一章:前言 1.1前言: 直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。 近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。 采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。 随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。 1.2本设计任务: 任务: 单片机为控制核心的直流电机PWM调速控制系统 设计的主要内容以及技术参数: 功能主要包括: 1)直流电机的正转; 2)直流电机的反转; 3)直流电机的加速; 4)直流电机的减速; 5)直流电机的转速在数码管上显示; 6)直流电机的启动; 7)直流电机的停止; 第二章:总体设计方案 总体设计方案的硬件部分详细框图如图一所示。

单片机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式三极管来驱动的,很有意思,

直流电机PWM调速系统参考论文

毕业论文 基于51单片机的直流电机PWM调速控制系统设计 所在学院 专业名称 年级 学生姓名、学号 指导教师姓名、职称 完成日期

摘要 本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。另外,本系统中使用了霍尔元件对直流电机的转速进行测量,经过处理后,将测量值送到液晶显示出来。 关键词:PWM信号,霍尔元件,液晶显示,直流电动机 I

目录 目录 ................................................................................................................................ III 1 引言 (1) 1.1 课题背景 (1) 1.1.2 开发背景 (1) 1.1.3 选题意义 (2) 1.2 研究方法及调速原理 (2) 1.2.1 直流调速系统实现方式 (4) 1.2.2 控制程序的设计 (5) 2 系统硬件电路的设计 (6) 2.1 系统总体设计框图及单片机系统的设计 (6) 2.2 STC89C51单片机简介 (6) 2.2.1 STC89C51单片机的组成 (6) 2.2.2 CPU及部分部件的作用和功能 (7) 2.2.3 STC89C51单片机引脚图 (8) 2.2.4 STC89C51引脚功能 (8) 3 PWM信号发生电路设计 (11) 3.1 PWM的基本原理 (11) 3.2 系统的硬件电路设计与分析 (11) 3.3 H桥的驱动电路设计方案 (12) 5 主电路设计 (14) 5.1 单片机最小系统 (14) 5.2 液晶电路 (14) 5.2.1 LCD 1602功能介绍 (15) 5.2.2 LCD 1602性能参数 (16) 5.2.3 LCD 1602与单片机连接 (18) 5.2.4 LCD 1602的显示与控制命令 (19) 5.3 按键电路 (20) 5.4 霍尔元件电路 (21) III

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)中编写所需的汇编语言程序→程序写好后,保存(从File→Save As..→选择某目录,文件名.ASM, 存盘); ②打开“Project”菜单→选择新建工程“New Project...”→在弹出的窗口填写:工程名→保存(文件名的后缀是 .uv2 。此时图8-3的工程窗口中将建立Target1及 Source Group 1);

基于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系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

直流电机PWM调速电路汇编

《电子技术》课程设计报告课题:直流电机PWM调速电路 班级电气1107 学号 1101205712学生姓名王海彬 专业电气信息类 学院电子与电气工程学院 指导教师电子技术课程设计指导小组 淮阴工学院 电子与电气工程学院 2012年05月

直流电机PWM调速电路 一)设计任务与要求: 1.设计电机驱动主回路,实现直流电机的正反向转动; 2.设计PWM驱动信号发生电路; 3.设计电机转速显示电路; 4.设计电机转速调节电路,可以按键或电位器调节电机转速; 5.安装调试。 二)系统原理及功能概述 1)直流电机脉宽调速电路原理 对小功率直流电机调速系统,使用单片机是极为方便的。其方法是通过改变电机电枢电压接通时间与通电周期的比值(即占空比)来控制电机速度。这种方法称为脉冲宽度调制(Pulse Width Modulation),简称 PWM。 改变占空比的方法有 3 种: (1)定宽调频法,这种方法是保持 t1 不变,只改变 t2 ,这样周期 T(或频率)也随之改变; (2)调宽调频法,保持 t1 不变,而改变 t2 ,这样也使周期 T(或频率)改变; (3)定频调宽法,这种方法是使周期 T(或频率)不变,而同时改变 t2 和 t1 由,当控制频率与系统的固有频率接近于前两种方法都改变了周期(或频率)时,将会引起振荡,用的比较少,因此本系统用的是定频调宽法。在脉冲作用下,当电机通电时,速度增加。电机断电时,速度逐渐减小。只要按一定规律,改变通断电时间,即可实现对电机的转速控制。设电机永远接通电源时,其最大转速为 Vmax,设占空比 D= t1 /T ,则电机的平均速度为 Vd,平均速度 Vd 与占空比 D 的函数曲线如图 1-2 所示,从图可以看出,VD 与占空比 D 并不是完全线性关系(图中实线),当系统允许时,可以将其近似的看成线性关系(图中虚线),本系统采用近似法。

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

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

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

相关主题