89C51单片机直流电机调速

89C51单片机直流电机调速
89C51单片机直流电机调速

目录

1 引言 (4)

2 总体方案设计 (5)

2.1总体方案 (5)

2.2 原件选择及介绍 (6)

3 硬件电路设计 (10)

3.1 单片机及其外围整体电路 (10)

3.3 键盘扫描电路 (12)

3.4 LED显示模块电路........................................................ 错误!未定义书签。

3.5 D/A转换器及其与MCU的接口电路 (13)

4 系统软件设计 (13)

4.1 主程序设计 (13)

4.2 中断服务程序设计 (15)

4.3 子程序的设计 (17)

5 系统调试与总结 (18)

调试总结 (18)

参考文献 (19)

附录A 系统原理图 (20)

附录B 源程序 (21)

1 绪论

1.1课题背景

电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域和人们的日常生活。无论是在工农业生产,交通运输,国防,航空航天,医疗卫生,商务和办公设备中,还是在日常生活的家用电器和消费电子产品(如电冰箱,空调,DVD等)中,都大量使用着各种各样的电动机。据资料显示,在所有动力资源中,百分之九十以上来自电动机。同样,我国生产的电能中有百分之六十是用于电动机的。电动机与人的生活息息相关,密不可分。电气时代,电动机的调速控制一般采用模拟法,对电动机的简单控制应用比较多。简单控制是指对电动机进行启动,制动,正反转控制和顺序控制。然而近年来,随着技术的发展和进步,以及市场对产品功能和性能的要求不断提高,直流电动机的应用更加广泛,尤其是在智能机器人中的应用。直流电动机的起动和调速性能、过载能力强等特点显得十分重要,为了能够适应发展的要求,单闭环直流电动机的调速控制系统得到了很大的发展。而作为单片嵌入式系统的核心—单片机,正朝着多功能、多选择、高速度、低功耗、低价格、大存储容量和强I/O功能等方向发展。随着计算机档次的不断提高,功能的不断完善,单片机已越来越广泛地应用在各种领域的控制、自动化、智能化等方面,特别是在直流电动机的调速控制系统中。这是因为单片机具有很多优点:体积小,功能全,抗干扰能力强,可靠性高,结构合理,指令丰富,控制功能强,造价低等。所以选用单片机作为控制系统的核心以提高整个系统的可靠性和可行性。

图1-1直流电机物理模型图

1.2设计目的和意义

1.3主要工作

第三章89C51单片机直流电机调速系统设计

3.1 89C51单片机直流电机调速系统方案分析设计

3.1.1控制要求

本课程设计所介绍的单片机控制直流电机调速系统,可通过键盘读取输入调节直流电速度并且显示档位功能,具有结构简单,操作方便、输出档位可显示,反映灵敏、控制精细等特点。其输出档位采用三位数码管动态显示,方便操作与观察。该设计控制器使用单片机AT89C51,8位并行数模转换DAC0832芯片,4*4的16位按键键盘、用三位共阳极LED数码管实现档位的显示,能准确达到以上要求。

AT89C51作为主控制器,不断扫描4*4共16位键盘,并通过数码管显示出输入数据,用三位数码管显示百、十、个位,数码管以并口传送数据,实现档位的显示,同时将数据通过P1口输给DAC0832芯片进行数/模控制,输出的电压直接控制直流电机的速度。

图3.1.1系统整体设计图

3.1.2方案设计

(1)DAC0832(数模转换器)

DAC0832是8分辨率的D/A转换集成芯片,与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

a.主要特性参数:分辨率为8位

电流稳定时间1us;

可单缓冲、双缓冲或直接数字输入;

只需在满量程下调整其线性度;

单一电源供电(+5V~+15V);

低功耗,200mW。

b.芯片结构:

D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);

ILE:数据锁存允许控制信号输入线,高电平有效;

CS:片选信号输入线(选通数据锁存器),低电平有效;

WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态

随输入数据线变换,LE1的负跳变时将输入数据锁存;

XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;

WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR1、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随

寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC

寄存器并开始D/A转换。

IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;

IOUT2:电流输出端2,其值与IOUT1值之和为一常数;

Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的范围为+5V~+15V;

VREF:基准电压输入线,VREF的范围为-10V~+10V;

AGND:模拟信号地

DGND:数字信号地

图3.1.2 DAC0832的引脚图

c.工作方式:

根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。

(2)AT89C51单片机

89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

其主要特性:1000次写/擦循环;

数据保留10年;

全静态工作:0HZ-24MHZ;

三级程序存储器锁存;

128*8位内部RAM;

32可编程I/O线;

两个16位定时器/计数器;

5个中断源,2个中断优先级;

可编程串行口通道;

低功耗的闲置和掉电模式;

片内振荡器和时钟电路;

引脚功能:

VCC:接供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL

门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如表3.1所示:

表3.1 P3口各位的第二功能

P3口的各位第二功能P3口的各位第二功能

P3.0 RXD(串行口输入)P3.4 T0(定时/计数器0的外部输入)

P3.1 TXD(串行口输出)P3.5 T1(定时/计数器1的外部输入)

P3.2 /INT0(外部中断0输入)P3.6 /WR(片外数据存储器写选通

道控制输出)

P3.3 /INT1(外部中断1输出)P3.7 /RD(片外数据存储器读选通道

控制输出)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编

程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出

图3.1.3 89C51单片机引脚图

3.2硬件电路设计

3.2.1 直流电机调速系统的整体电路图3.2.1

图3.2.1直流电机调速系统的整体电路图

2.显示和键盘接口电路

3.2.2

采用4*4独立式按键键盘接入P0口,并加8个10k上拉电阻。保证输出稳定的电平。

图3.2.2键盘接口设计图

3位动态led显示,段选段位P2口输出,位选端由P3.0、P3.1、P3.2分别控制动态轮流显示

图3.2.3 LED显示接口电路设计图

3.直流电机与DAC0832的接口电路

DAC0832输出直流值经过电流电压转换电路输出0-12v电压值控制电机转速。ILE接+5v高电平,片选段CS传送信号xfer连接低电平,写选通信号wr接地,使DAC不断处于选通写入状态。利用稳压电路产生稳定12vREF的基准电压。

图3.2.4 直流电机与DAC0832的接口电路图

3.3 系统软件设计

系统软件分为主程序、中断服务程序和子程序三部分。

3.3.1 主程序设计

主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描键盘等工作。

图3.3.1 主程序流程图

1、不断扫描4*4键盘看是否有键按下。向P0口写入0F0H,延时读取是否为0F0H,若有键按下,进行延时等待,再向P0口写入0F0H,读取是否为0F0H,消除抖动误差。

2、如果有键按下开始进行详细扫描。向P0口写入0FH后,分别判断P0.0、P0.1、P0.2、P0.3看是否被拉低,相应位被拉低,在相应行数据存储单元写入相应数据

3、先进行逐行扫描,分别读取。向P0口写入0F0H,分别判断P0.

4、P0.

5、P0.

6、P0.7看是否被拉低,相应位被拉低,在相应列数据存储单元写入相应数据

4、将行号数与列号数相加即得到键盘输入数。

5、等待键松开,返回继续扫描。

按照上述分析,主程序流程图如图3.3.1所示。

系统上电或复位后,首先设置堆栈,系统初始化,设置定时器T0、T1工作于方式2,装入初值。开启总中断定时器T0、T1中断,扫描键盘输入值,等待中断发生。一旦检测有键按下,开始进行逐行逐列扫描,读取输入值并将其赋予一个内存单元,然后等键释放,继续扫描键盘。

3.3.2 中断服务程序设计

定时器T0、T1都工作于定时器方式2,自动重装方式下,这样避免在每次中断服务程序中重装初值的麻烦。

显示模块:其中定时器T0中断主要用于将存储档位的数据不断输出于LED进行不断显示,一方面这种动态显示可以及时的将最新的档位显示出来。每次中断时,先将ACC保护起来,都将档位中数据分别分成百、十、个位分别存储于3个存储单元。然后将三个存储单元内容分别查表后得到数码值送出,先送出位码再送出段码,判断是否送完,没有跳转下一次。

图3.3.2 显示中断服务程序流程图

中断服务程序流程图如图3.3.2所示。

D/A转换模块:利用中断,每隔一段时间即将制定存储器单元写入相应端口输出到DAC0832中进行转换,及时的将新得到数据送出,达到及时控制电机转

速的目的

图3.3.2 D/A中断服务程序流程图

3.3.3 部分主要子程序的设计

系统主要子程序包括延时子程序。如图3.3.3;

利用双重循环定义的10ms延时子程序;已知晶振位6MHZ;可知一个机器周期2us;得出R6=7DH;R7=0AH;

(1+1+2)*2*R6=1000us

图3.3.3 延时子程序程序流程图

第4章系统的调试及设计总结

4.1 系统调试

在调试时,为了更好地找出错误的地方,我通常是各个模块分别调试,在调试某一块时,先将其他模块用"//"暂时屏蔽掉,直到各个子模块都健康运行后,再整体调试,这样我们更加方便找出错误,增加效率.

软件调试必须不断在单片机上执行看输出的结果,如果每次都在硬件上操作比较麻烦,不利于软件调试,我利用一款"protues"仿真软件,将我们的硬件电力搭建出来,再在这个平台上调试软件.获得比较好的效果,等到仿真测试稳定后再在实际电路中作最终的测试,达到比较好的效果.

4.2 设计总结

在本次课程设计中,我主要负责的是软件的编程与调试.

对于这个直流电机调速系统的设计与搭建中深深的体会到软件对于一个系统来说是多么重要.软件可以说是一个系统的灵魂,在工作中指导硬件按照指定的方案运行.

对于刚学汇编的我来说,编制一个完整的系统软件可谓无任何经验可言.在教学过程中,我们主要学习单个模块的搭建与编程,例如显示子程序,键盘子程序,中断子程序等等,在这个系统搭建过程中,不但要将这些子模块有机的结合在一起,还要让他们完美协调起来,按照我们思路运行可以说是比较难的.

单片机编程是不能想当然的,我们最容易犯的就是按照我觉得可行的思路去进行,往往导致系统不能正常工作,因为我们刚开始没有任何经验,例如我在编制显示子程序时,必须将相应段码与位码相对照,但最后却忽视了实际硬件是共阴极还是共阳极.还有显示间隔时间的问题,我本以为长短无所谓,但却是如果大于10ms就会产生闪烁感,导致没有静态的效果,如果太短的话必须在显示下一个之前,将前一个位选清除,否则就容易产生'串位',导致显示的不正常.在键盘扫描子程序中,当有键按下做相应操作,必须当按键释放时才能继续扫描,否则将导致

一次按下执行多次的错误情况.

通过这次直流电机调速调速系统的设计,我初步里了解了一个系统搭建的过程,更加详细了解了一个系统软件编程步骤为以后的学习工作打下一个良好的基础.

附录1:系统电路图

ORG 0000H

SJMP MAIN

ORG 000BH

LJMP XIANSHI //定时器0不断显示ORG 001BH

LJMP DAC //写入DA

ORG 0030H

MAIN:MOV SP,70H

MOV TMOD,#22H //

MOV TH1,#0FH

MOV TL1,#0FH

MOV TH0,#00H

MOV TL0,#00H

SETB TR0

SETB TR1

MOV IE,#8AH

MOV 40H,#0

MOV 41H,#0

MOV 42H,#0

LOOP:MOV P0,#0FH

NOP

NOP

MOV A,P0

CJNE A,#0FH,DEL1

SJMP LOOP

DEL1:LCALL DELAY

MOV P0,#0FH

NOP

MOV A,P0

CJNE A,#0FH,L0

LJMP MM

直流电动机调速课程设计

《电力拖动技术课程设计》报告书 直流电动机调速设计 专业:电气自动化 学生姓名: 班级: 09电气自动化大专 指导老师: 提交日期: 2012 年 3 月

前言 在电机的发展史上,直流电动机有着光辉的历史和经历,皮克西、西门子、格拉姆、爱迪生、戈登等世界上著名的科学家都为直流电机的发展和生存作出了极其巨大的贡献,这些直流电机的鼻祖中尤其是以发明擅长的发明大王爱迪生却只对直流电机感兴趣,现而今直流电机仍然成为人类生存和发展极其重要的一部分,因而有必要说明对直流电机的研究很有必要。 早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。 直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工效率。

51单片机控制的步进电机C语言程序

我上周刚做的这个实验成功拉,给你参考一下吧这可是我当时辛辛苦苦编出来的啊,不过我用的是L298驱动的和ULN2003一样,你把它换成2003就行拉 #include unsigned char code table[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf 9,0x00,0xf1,0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0x00}; unsigned char temp,temp_old; unsigned char key; unsigned char i,j,k,m,s; void delay(int i) { for(m=i;m>0;m--) for(j=250;j>0;j--) for(k=10;k>0;k--); } void saomiao() { P3=0xff; P3_4=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--)

for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=1; break; case 0x0d: key=2; break; case 0x0b: key=3; break; case 0x07: key=4; break; } temp=P3;

temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } } } P3=0xff; P3_5=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp)

基于单片机的直流电机控制器的设计

目录 摘要............................................................................................................................................................... I I ABSTRACT ................................................................................................................................................. III 1系统论述 (5) 1.1设计思路 (5) 1.2基本原理 (5) 1.3总体设计框图 (5) 2直流电机单元电路设计与分析 (6) 2.1直流电机驱动模块 (6) 2.2直流电机的中断键盘控制模块 (11) 2.31602LCD液晶显示模块 (13) 3直流电机PWM控制系统的实现 (15) 3.1总电路图 (15) 3.2总电路功能介绍 (16) 3.3直流电机控制程序 (16) 4系统仿真 (23) 5结束语 (26) 参考文献资料 (27)

摘要 本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。并实现电路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM 波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。 关键词:AT89C51单片机;PWM调速;正反转控制;仿真。

基于51单片机的步进电机控制-设计报告(说明书)及源程序

南京XX大学 指导老师:张X 课程设计基于51单片机的步进电机控制 机械电子工程学院 测控技术与仪器 XXXXX Xxx 2012年1年4日

步进电机控制系统 [摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启 动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。 关键字:步进电机、数码管、51单片机、ULN2803 一步进电机与驱动电路 1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 1.2 步进电机的种类 步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。 1.3 步进电机的特点 1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点 2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; 3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算

51单片机PWM控制直流电机正反转

//程序说明:使用内部时//PWM0=P3^7PWM1=P3^5 PWM2=P2^0 PWM3=P2^4 #include #define uchar unsigned char #define uint unsigned int sbit PWM0=P3^7; sbit PWM1=P3^5; sbit PWM2=P1^2; sbit PWM3=P1^3; uint i,j; void PWM_init() { CMOD=0x00;//PCA计数脉冲选择内部时钟fosc/12(0x02:fosc/2) CL=0x00;//PCA赋初值 CH=0x00; CR=1; //开始计数 } void zheng(uchar ZKB) { CCAP0L=255*(40-ZKB)/100;//占空比设置 CCAP0H=255*(40-ZKB)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM0=0x42;// 8位PWM模式 CCAP1L=255*(40-0)/100;//占空比设置 CCAP1H=255*(40-0)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM1=0x42;// 8位PWM模式 CR=1; //开始计数 } void fan(uchar ZKB) { CCAP0L=255*(40-0)/100;//占空比设置 CCAP0H=255*(40-0)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM0=0x42;// 8位PWM模式 CCAP1L=255*(40-ZKB)/100;//占空比设置 CCAP1H=255*(40-ZKB)/100;//CL由ff-00溢出时,CCAP0H的值装入CCAP0L CCAPM1=0x42;// 8位PWM模式 CR=1; //开始计数 } void Delay(uint t) //延时函数

基于单片机对直流电机的控制

基于单片机对直流电机的控制 第十五组 姓名:吴代露20131325010 张鹏飞20131325012 金静丽20131325014 周敏20131325015 胡会华20131325017 顾蓉20131325018 专业:2013级信息工程(系统工程方向) 指导老师:周旺平 2014.12.22

基于单片机对直流电机的控制 内容摘要 电动机作为最主要的动力源,在生产和生活中占有重要地位。电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化。 关键字:电动机飞思卡尔 PWM控制 一、引言 (一)直流电机的定义 直流电机(direct current machine):是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。 (二)直流电机的基本结构 由直流电动机和发电机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。 (三)直流电机工作原理

直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。 (四)直流电机的分类 直流电动机按结构及工作原理可划分:无刷直流电动机和有刷直流电动机。(1)无刷直流电动机:无刷直流电动机是将普通直流电动机的定子与转子进行了互换。其转子为永久磁铁产生气隙磁通:定子为电枢,由多相绕组组成。在结构上,它与永磁同步电动机类似。无刷直流电动机定子的结构与普通的同步电动机或感应电动机相同.在铁芯中嵌入多相绕组(三相、四相、五相不等).绕组可接成星形或三角形,并分别与逆变器的各功率管相连,以便进行合理换相。由于电动机本体为永磁电机,所以习惯上把无刷直流电动机也叫做永磁无刷直流电动机。 (2)有刷直流电动机:又可分为永磁直流电动机和电磁直流电动机。 永磁直流电动机划分:稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。稀土永磁直流电动机:体积小且性能更好,但价格昂贵,主要用于航天、计算机、井下仪器等;铁氧体永磁直流电动机:由铁氧体材料制成的磁极体,廉价,且性能良好,广泛用于家用电器、汽车、玩具、电动工具等领域;铝镍钴永磁直流电动机:需要消耗大量的贵重金属、价格较高,但对高温的适应性好,用于环境温度较高或对电动机的温度稳定性要求较高的场合。 电磁直流电动机划分:串励直流电动机、并励直流电动机、他励直流电动机和复励直流电动机。 (1)串励直流电动机:电流串联,分流,励磁绕组是和电枢串联的,直流串励电

基于51单片机控制步进电机

单片机原理及系统课程设计 1 引言 步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。 随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。 步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。 1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。 在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

2 设计方案与原理 4.1 设计方案 设计一个51单片机四相步进电机控制系统要求系统具有如下功能: (1)由I/O口产生的时序方波作为电机控制信号; (2)信号经过驱动芯片驱动电机的运转; (3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。 4.2 设计原理 步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。 在本次设计中,我们使用的是四相单八拍的工作方式。通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。 图 2.1 步进电机内部结构截图 根据步进电机的相关相序表我们可以正常的控制电机的步进运行。

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目: 学院: 专业: 班级: 学号: 学生姓名: 指导教师: 年月日 目录

设计题目:PWM直流电机调速系统 本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路以及独立按键组成的电子产品。电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。 关键词:直流电机调速;定时中断;电动机;波形;LED显示器;51单片机 1 设计要求及主要技术指标: 基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。 设计要求 (1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。 (2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。 (3)设计一个4个按键的键盘。 K1:“启动/停止”。 K2:“正转/反转”。 K3:“加速”。 K4:“减速”。 (4)手动控制。在键盘上设置两个按键----直流电动机加速和直流电动机减速键。在

手动状态下,每按一次键,电动机的转速按照约定的速率改变。 (5)*测量并在LED显示器上显示电动机转速(rpm). (6)实现数字PID调速功能。 主要技术指标 (1)参考L298说明书,在系统中扩展直流电动机控制驱动电路。 (2)使用定时器产生可控PWM波,定时时间建议为250us。 (3)编写键盘控制程序,实现转向控制,并通过调整PWM波占空比,实现调速; (4)参考Protuse仿真效果图:图(1) 图(1) 2 设计过程 本文设计的直流PWM调速系统采用的是调压调速。系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。由定时器来产生宽度可调的矩形波。通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。 本设计以控制驱动电路L298为核心,L298是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。 本设计以AT89C52单片机为核心,如下图(2),AT89C52是一个低电压,高性能 8位,片内含8k bytes的可反复擦写的只读程序存储器和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 图(2) 对直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范

51单片机直流无刷电机控制

基于MCS-51单片机控制直流无刷电动机 学号:3100501044 班级:电气1002 :王辉军

摘要 直流无刷电机是同步电机的一种,由电动机本体、位置传感器和电子开关线路三部分组成。其定子绕组一般制成多相(三相、四相、五相不等),转子由永久磁钢按一定极对数(2p=2,4,…)组成。电机转子的转速受电机定子旋转磁场的速度及转子极数(P)影响: N=120.f / P。在转子极数固定情况下,改变定子旋转磁场的频率就可以改变转子的转速。直流无刷电机即是将同步电机加上电子式控制(驱动器),控制定子旋转磁场的频率并将电机转子的转速回授至控制中心反复校正,以期达到接近直流电机特性的方式。也就是说直流无刷电机能够在额定负载围当负载变化时仍可以控制电机转子维持一定的转速。 MCS-51单片机是美国英特尔公司生产的一系列单片机的总称,是一种集成电路芯片,采用超大规模技术把具有数据处理能力的微处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入输出接口电路、定时计算器、串行通信口、脉宽调制电路、A/D转换器等电路集成到一块半导体硅片上,这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。 本论文将介绍基于MCS-51单片机控制直流无刷电动机的设计,它可以实现控制直流无刷电动机的启动、停止、急停、正反转、加减速等功能。 关键词:单片机,直流无刷电动机,控制系统

直流无刷电动机是在直流电动机的基础之上发展而来的,它是步进电动机的一种,继承了直流电动机的启动转矩大、调速性能好等特点克服了需要换向器的缺点在交通工具、家用电器及中小功率工业市场占有重要的地位。直流无刷电动机不仅在电动自行车、电动摩托车、电动汽车上有着广泛的应用,而且在新一代的空调机、洗衣机、电冰箱、吸尘器,空气净化器等家用电器中也有逐步采用的趋势,尤其是随着微电子技术的发展,直流无刷电动机逐渐占有原来异步电动机变频调速的领域,这就使得直流无刷电动机的应用围越来越广。 本设计就是基于MCS-51系列单片机控制直流无刷电动机,利用所学的知识实现单片机控制直流无刷电动机的启动、停止、急停、正反转,加减速等控制,并对直流无刷电动机运行状态进行监视和报警。详细介绍单片机的种类、结构、功能、适用领域和发展历史、未来前景及其直流无刷电动机的工作原理、控制结构等容,既着重单片机的基本知识、功能原理的深入阐述,又理论联系实际详细剖析单片机控制直流无刷电动机的过程。 1.直流无刷电动机的基本组成 直流无刷电动机是在直流电动机的基础上发展而来的,直流无刷电动机继承了直流电动机启动转矩大、调速性能好的优点,克服了直流电动机需要换向器的缺点,在交通工具、家用电器等生活的方方方面面占有重要的地位。 由于直流无刷电动机既具有交流电动机的结构简单、运行可靠、维护方便等一系列优点,又具备直流电动机的运行效率高、无励磁损耗以及调速性能好等诸多优点,故在当今国民经济各领域应用日益普及。 直流无刷电动机主要由电动机本体、位置传感器和电子开关线路三部分组成。其定子绕组一般制成多相(三相、四相、五相不等),转子由永久磁钢按一定极对数(2p=2,4,…)组成。图3-1所示为三相两极直流无刷电机结构。 三相定子绕组分别与电子开关线路中相应的功率开关器件联结,A、B、

基于单片机的直流电机

摘要 本课程主要是设计一个基于单片机的直流电机 PWM 控制系统。PWM 控制提高了调速范围,提高了调速精度,改善了快速性能、功率和功率因数。系统在设计中被控对象采用 5V 的直流电机,以 MCS-51 单片机为控制核心,采用 LCD12864 液晶作为显示元件,进行软硬件的设计。硬件电路由protel 设计制作,主要设计了液晶显示电路、键盘控制电路、复位电路、测速电路和驱动电路。软件设计在 Keil 开发平台用 C 语言编写,程序采用模块化设计方案,包括液初始化程序、晶显示程序、键盘控制程序。 本系统 PWM 控制直流电机采用调压调速的方法,整体设计包括软件和硬件两个部分。通过利用单片机产生 PWM 控制信号控制直流电机,详细介绍脉宽调制 ( PWM) 控制原理,直流电机的工作原理和数学模型以及用 H型桥电路基本原理设计的驱动电路。通过硬件电路的模拟情况,说明系统运行正常,各个功能模块实现是可行的,控制精度比较高,能够满足系统的基本要求。 关键词:单片机;PWM;直流电机;L298N;LCD12864;

目录 一、设计任务 (1) 二、设计方案 (1) 三、系统硬件设计 (3) 1、 STC52最小系统 (3) 2、电机模块 (8) 3、 L298N模块 (9) 4、测速模块 (11) 5、测压模块 (12) 6、液晶模块 (13) 7、按键模块 (15) 8、灯光信号模块 (16) 四、系统软件设计 (17) 1、软件流程图 (17) 2、 PWM程序设计 (18) 3、测压程序设计 (18) 4、测速程序设计 (19) 5、液晶驱动程序设计 (20) 6、菜单程序设计 (21) 7、按键程序设计 (23) 8、电机反电动势系数计算程序 (24) 9、电机力矩系数计算程序 (25) 10、逼近算法控制程序 (25) 11、比例控制程序 (25) 12、 PID控制程序 (26) 五、直流调速系统动态数学模型的建立 (28) 六、调速数据 (32) 1、比例调速数据 (32) 2、 PID调速数据 (33) 3、逼近算法调速数据 (34) 4、反电动势系数和电机力矩系数数据 (34) 七、心得体会 (34) 参考文献 (36) 附录一硬件原理图 (37) 附录二硬件PCB图 (38) 附录三程序清单 (39)

直流电机调速方案及优缺点教学文案

直流电机调速方案及优缺点 1、电枢回路串联电阻调速 可在电源电压不变的情况下,改变电枢回路中的电阻,达到调速的目的。调速的机械特性如下图所示。当电枢回路中串联的电阻越大,直线的倾斜率越小。 电枢回路串联电阻调速优缺点 1、 由于电阻智能分段调节,因此调速的平滑性比较差。 2、 低速时,调速电阻上有较大电流,损耗大,电机效率低。 3、 轻载时调速范围比较小。 4、 串入电阻阻值越大,机械特性越软,稳定越差。 2、降低电源电压调速 根据直流电动机机械特性方程式可以知道,改变电额定电压,因此电枢电压只能在额定电压一下进行调节。 N T Tn n T

降低电源电压调速的优点 1、电压便于平滑性调节,调速平滑性好,可实现无级调速。 2、调速前后机械斜率不变,机械特性硬度高,稳定性好,调速范围广。 3、调速是损耗小,调速经济性好。 4、改变励磁磁通道调速 根据机械特性方程可以知道,当u为恒定时,调节励磁磁通,也可以实现电动机转速的目的。额定运行的电动机,其磁通已基本饱和,因此改变磁通只能从额定值往下掉。 Tn T 改变励磁磁通道调速的优点 1、调节平滑,可实现无级调速。 2、励磁电流小,能量损耗小,调节前后电动机的效率不变,经济性好。 3、机械特性较硬,转速稳定。 4、本次我们用的是pwm即脉冲宽度调节。 它主要是通过改变输出方波的占空比,使得负载上的平均接通时间从0-100%变化,以达到调整负载速度的目的。脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。图2-3a所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,从图2-3中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学 本科毕业论文 基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师 重庆科技大学 二O一二年月日

基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXXX 准考证号: XXXXXXXXXXXX 专业层次:本科 指导教师: XXXXXXX 院(系):机械与动力工程学院 重庆科技大学 二O一二年九月二十日

摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。 实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。 关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

单片机PWM控制直流电机的速度

用单片机控制直流电机的速度 直流调速器就是调节直流电动机速度的设备,上端和交流电源连接,下端和直流电动机连接,直流调速器将交流电转化成两路输出直流电源,一路输入给直流电机砺磁(定子),一路输入给直流电机电枢(转子),直流调速器通过控制电枢直流电压来调节直流电动机转速。同时直流电动机给调速器一个反馈电流,调速器根据反馈电流来判断直流电机的转速情况,必要时修正电枢电压输出,以此来再次调节电机的转速。 直流电机的调速方案一般有下列3种方式: ?1、改变电枢电压; ?2、改变激磁绕组电压; ?3、改变电枢回路电阻。 使用单片机来控制直流电机的变速,一般采用调节电枢电压的方式,通过单片机控制PWM1,PWM2,产生可变的脉冲,这样电机上的电压也为宽度可变的脉冲电压。根据公式 U=aVCC 其中:U为电枢电压;a为脉冲的占空比(0

电动机的电枢电压受单片机输出脉冲控制,实现了利用脉冲宽度调制技术(PWM)进行直流电机的变速。 因为在H桥电路中,只有PWM1与PWM2电平互为相反时电机才能驱动,也就是PWM1与PWM2同为高电平或同为低电平时,都不能工作,所以上图中的实际脉冲宽度为B, 我们把PWM波的周期定为1ms,占空比分100级可调(每级级差为10%),这样定时器T0每0.01ms产生一次定时中断,每100次后进入下一个PWM波的周期。上图中,占空比是60%,即输出脉冲的为0.6ms,断开脉冲为0.4ms,这样电枢电压为5*60%=3V。 我们讨论的是可以正转反转的,如果只按一个方向转,我们就只要把PWM1置为高电平或低电平,只改变另一个PWM2电平的脉冲变化即可,,如下图(Q4导通,Q3闭合,电机只能顺时针调整转动速度)

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

第一章:前言 Pwm 电机调速原理对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端EN1 和EN2 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。此电路中用微处理机来实现脉宽调制,通常的方法有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。 (2)硬件实验自动产生PWM 信号,不占用CPU 处理的时间。这就要用到STC89C52的在PWM模式下的计数器1,具体内容可参考 相关书籍。 51 单片机PWM 程序 产生两个PWM,要求两个PWM 波形占空都为80/256,两个波形之间要错开,不能同时为高电平!高电平之间相差48/256, PWM 这个功能在PIC 单片机上就有,但是如果你就要用51 单片机的

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

基于单片机的直流电机控制设计性实验报告

设计题目:直流电机控制电路设计 一设计目得 1掌握单片机用PWM实现直流电机调整得基本方法,掌握直流电机得驱动原理。 2学习模拟控制直流电机正转、反转、加速、减速得实现方法. 二设计要求 用已学得知识配合51单片机设计一个可以正转、反转或变速运动得直流电机控制电路,并用示波器观察其模拟变化状况。 三设计思路及原理 利用单片机对PWM信号得软件实现方法.MCS一51系列典型产品8051具有两个定时计数器。因为PWM信号软件实现得核心就是单片机内部得定时器,所以通过控制定时计数器初值,从而可以实现从8051得任意输出口输出不同占空比得脉冲波形。从而实现对直流电动机得转速控制。 .AT89C51得P1、0—P1、2控制直流电机得快、慢、转向,低电平有效.P3、0为PWM波输出,P3、1为转向控制输出,P3、2为蜂鸣器。PWM控制DC电机转速,晶振为12M,利用定时器控制产生占空比可变得PWM波,按K1键,PWM值增加,则占空比增加,电机转快,按K2键,PWM值减少,则占空比减小,电机转慢,当PWM值增加到最大值255或者最小值1时,蜂鸣器将报警 四实验器材 DVCC试验箱导线若电源等器件

PROTUES仿真软件KRIL软件 五实验流程与程序 #include 〈 reg51、h > sbitK1 =P1^0;增加键 sbit K2 =P1^1 ; 减少键 sbit K3 =P1^2;转向选择键 sbit PWMUOT =P3^0; PWM波输出?? sbitturn_around =P3^1 ;?转向控制输出 sbit BEEP =P3^2 ;蜂鸣器 unsigned int PWM; void Beep(void); void delay(unsigned int n); void main(void) { TMOD=0x11;//设置T0、T1为方式1,(16位定时器) TH0=0 ; 65536us延时常数{t=(65536—TH)/fose/12} ?TL0=0; TH1=PWM; //脉宽调节,高8位 ? TL1=0; EA=1;? //开总中断 ET0=1; //开T0中断? ET1=1;??//开T1中断

直流电机调速方法

直流电动机分为有换向器和无换向器两大类。直流电动机调速系统最早采用恒定直流电压给直流电动机供电,通过改变电枢回路中的电阻来实现调速。这种方法简单易行、设备制造方便、价格低廉;但缺点是效率低、机械特性软,不能得到较宽和平滑的调速性能。该法只适用在一些小功率且调速范围要求不大的场合。30年代末期,发电机-电动机系统的出现才使调速性能优异的直流电动机得到广泛应用。这种控制方法可获得较宽的调速范围、较小的转速变化率和平滑的调速性能。但此方法的主要缺点是系统重量大、占地多、效率低及维修困难。近年来,随着电力电子技术的迅速发展,由晶闸管变流器供电的直流电动机调速系统已取代了发电机-电动机调速系统,它的调速性能也远远地超过了发电机-电动机调速系统。特别是大规模集成电路技术以及计算机技术的飞速发展,使直流电动机调速系统的精度、动态性能、可靠性有了更大的提高。电力电子技术中IGBT等大功率器件的发展正在取代晶闸管,出现了性能更好的直流调速系统。 直流电动机的转速n和其他参量的关系可表示为 (1) 式中 Ua——电枢供电电压(V); Ia ——电枢电流(A); Ф——励磁磁通(Wb); Ra——电枢回路总电阻(Ω); CE——电势系数,,p为电磁对数,a为电枢并联支路数,N为导体数。

由式1可以看出,式中Ua、Ra、Ф三个参量都可以成为变量,只要改变其中一个参量,就可以改变电动机的转速,所以直流电动机有三种基本调速方法:(1)改变电枢回路总电阻Ra;;(2)改变电枢供电电压Ua;(3)改变励磁磁通Ф。 1. 改变电枢回路电阻调速 各种直流电动机都可以通过改变电枢回路电阻来调速,如图1(a)所示。此时转速特性公式为 (2) 式中Rw为电枢回路中的外接电阻(Ω)。 图1(a) 改变电枢电阻调速电路图1(b) 改变电枢电阻调速时的机械特性 当负载一定时,随着串入的外接电阻Rw的增大,电枢回路总电阻R=(Ra+Rw)增大,电动机转速就降低。其机械特性如图1(b)所示。Rw的改变可用接触器或主令开关切换来实现。 这种调速方法为有级调速,调速比一般约为2:1左右,转速变化率大,轻载下很难得到低速,效率低,故现在已极少采用。 2. 改变电枢电压调速 连续改变电枢供电电压,可以使直流电动机在很宽的范围内实现无级调速。

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

51单片机控制直流电机PWM调速C语言程序

#include #define uchar unsigned char #define uint unsigned int sbit KEY1 = P3^4; sbit KEY2 = P3^5; sbit KEY3 = P3^6; sbit IN1 = P1^0; sbit IN2 = P1^1; sbit ENA = P1^2; sfr ldata=0x80; sbit dula=P2^6; sbit wela=P2^7; //sbit lcden=P3^4; //uchar timer,ms,t_set = 1; uchar T_N=100; uchar T_N1=100; uchar T_H_N=50; uchar T_H_N1=50; void msplay(uchar,uchar); uchar code x1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //uchar code x2[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; uchar code x3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; //uchar code x4[]={0x01,0x02,0x04,0x08,0x10,0x20}; void delay(uint z) //延时函数 { uint x; for(x=z;x>0;x--); }

相关文档
最新文档