单片机 直流电机控制实验
直流电机控制实验
摘要:直流电动机在交通、机械、纺织、航空等领域中已经得到广泛的应用。而以往直流电动机的控制只是简单的控制,很难进行调速,不能实现智能化。如今,直流电动机的调速控制已经离不开单片机的控制,单片机应用技术的飞速发展促进了自动控制技术的发展,使人类社会步入了自动化时代,单片机应用技术与其他学科领域交叉融合,促进了学科发展和专业更新,引发了新兴交叉学科与技术的不断涌现。现代科学技术的飞速发展,改变了世界,也改变了人类的生活。由于单片机的体积小、重量轻、功能强、抗干扰能力强、控制灵活、应用方便、价格低廉等特点,计算机性能的不断提高,单片机的应用也更加广泛特别是在各种领域的控制、自动化等方面。
关键词:STC89C52 PWM 电机控制
DC motor control experiment Summary:DC motors in transportation, machinery, textiles, aviation and other fields has been widely used. The conventional DC motor control simply control, difficult to control, not intelligent. Today, the DC motor speed control has been inseparable from the control of the microcontroller, the rapid development of microcomputer application technology to promote the development of automatic control technology, the human society entered the era of automation, microcomputer application technology and other disciplines intersect, promotion of the academic development and professional update, sparked new interdisciplinary and emerging technologies. The rapid development of modern science and technology, has changed the world, but also change the way people live. As the device small size, light weight, powerful, strong anti-interference ability, flexible control, easy to use, low cost characteristics, computer performance continues to improve, SCM applications are more widely especially control in various areas of automation and so on.
Keywords: STC89C52 PWM motor control
目录
第1章引言 (1)
1.1电机的研究意义 (1)
1.2 设计方案 (1)
第2章供电模块的设计 (2)
2.1 集成直流稳压电源芯片LM7805的介绍 (2)
2.2 供电模块的构成 (2)
第3章主控制模块的设计 (3)
3.1 89C52单片机的介绍 (3)
3.2 89C52的主要特性和结构特点 (3)
3.3 89C52的IO口介绍 (4)
第4章键盘输入模块的设计 (5)
4.1 键盘的电路及原理 (5)
第5章显示模块的设计 (6)
5.1数码管及二极管的电路及原理 (6)
5.2 PWM简介 (6)
第6章直流电机控制模块的设计 (7)
6.1 直流电机的介绍 (7)
6.2 数模转换器DAC0832 (7)
第7章课程设计总结 (9)
致谢 (10)
参考文献 (11)
附录 (12)
主程序 (12)
子程序 (18)
第1章引言
1.1电机的研究意义
电气传动是现代最主要的机电能量变化形式之一,在当今社会中广泛使用着各式各样的电气传动系统。直流调速系统因其变流方式及控制方法简单,调速性能好,长期以来在调速传动中占统治地位。
而现在随着微电子技术的发展,微机功能的不断提高以及电力电子、计算机控制技术的发展,电气传动领域出现了以微机为核心的数字控制系统。计算机的发展可以使复杂的控制规律较方便的实现,以计算机为核心的数字控制技术成为自控领域的主流,也给直流电气传动的发展注入了新的活力,使电气传动进入了更新的发展阶段。与传统控制系统相比,计算机控制具有很多独特的优点。
长期以来,直流电动机因其转速调节比较灵活,方法简单,易于大范围平滑调速,控制性能好等特点,一直在传动领域占有统治地位。它广泛应用于数控机床、工业机器人等工厂自动化设备中。随着现代化生产规模的不断扩大,各个行业对直流电机的需求愈益增大,并对其性能提出了更高的要求。为此,研究并制造高性能、高可靠性的直流电机控制系统有着十分重要的现实意义。
1.2 设计方案
本论文设计的系统以单片机为控制核心,通过键盘设置各段运行参数,也可通过电脑设置下载到单片机。单片机输出二进制控制量,经D/A转换电路将对应模拟电压送到直流放大器的输入端。放大器根据输入的模拟电压而输出对应的电压来控制直流电机的转速。显示部分显示各段设定的转速值。单片机主要完成参数设置、参数显示和控制输出等功能。
第2章供电模块的设计
2.1 集成直流稳压电源芯片LM7805的介绍
LM7805是目前市场上非常常见的三端稳压器件。一般使用的是TO-220封装,能提供DC 5V的输出电压,应用范围广,内含过流和过载保护电路。带散热片时能持续提供1A的电流,如果使用外围器件,它还能提供不同的电压和电流。7805的主要特点有:输出电流大,一般可以达到1A;输出电压稳定,基本能一直维持在5V;具有各种保护功能,过热保护、短路保护、输出晶体管SOA保护。7805还具有非常广的输入范围从5V~18V。工作结的温度范围更是可以从0~125℃无论多恶劣的环境7805也能轻松胜任。这么全面的一个芯片实在是堪称全能,而且价格非常便宜。对于这么优秀的稳压电源芯片,我们还有什么理由不去选用它呢。7805管脚及外形如图2.1所示。
图2.1 7805管脚
2.2 供电模块的构成
整个电源供电模块由一片7805和4个电容构成。这是一个输出正5V直流电压的稳压电源电路。IC采用集成稳压器7805,C1、C2为输入端滤波电容,C3、C4为输出端滤波电容。
如图2.2所示,7805的1脚接正9V的输入,2脚接地,3脚为输出。在1脚和2脚间接两个滤波电容。3脚和2脚间也接两个滤波电容。
图2.2 供电模块电路
第3章主控制模块的设计
3.1 89C52单片机的介绍
89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C52是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.2 89C52的主要特性和结构特点
89C52的主要特性有:1.与MCS-51 兼容;2.有8K字节可编程闪烁存储器;3.寿命长1000写/擦循环.数据保留时间可以达到10年;4.三级程序存储器锁定5.具有128*8位内部RAM;5.32可编程I/O线和两个16位定时器/计数器还有5个中断源;6.可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
图3.1 AT89C52
3.3 89C52的IO口介绍
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)这是由于上拉的缘故。
第4章键盘输入模块的设计
4.1 键盘的电路及原理
本设计采用了4x4的行列式键盘。行列式键盘的接法比独立式键盘的接法复杂,编程实现上也会比较复杂。但是,在占用相同的I/O端口的情况下,行列式键盘的接法会比独立式接法允许的按键数量多。图4.1中硬件采用中断方式工作,用一个8位I/O口构成4×4键盘。具体做法如下将P1.3~P1.0设为列输入线,P1.7~P1.4设为行输出线,并使I/O 输出信号P1.7~P1.4为0000。若有键按下,与门的输出端变为低电平,向CPU申请中断,表
示键盘中有键按下。CPU执行中断程序对键盘进行扫描,判断键值。CPU在中断程序中先将P1.3~P1.0的数值读入以此判断出列值。然后再分别令P1.7~P1.4逐行输出低电平,并再次扫描P1.3~P1.0,以确定行值。如此就完成了键盘的输入扫描。
图4.1 键盘输入电路
第5章显示模块的设计
5.1数码管及二极管的电路及原理
为了让使用者能直观地知道系统的运行状态,显示设备是必不可少的。这里采用了两个七段数码管和七个发光二极管对系统运行过程的状态及结果进行显示。没有按键按下的时候,数码管将不显示。而发光二极管将轮流点亮形成漂亮的跑马灯。由于红色发光二极管的一般工作电流为20mA,压降1.7V。而单片机的管脚最大输出电流一般只有10mA。为了保护单片机使其温度及功耗不会过高,因此在二极管和单片机之间要接一个74HC573锁存器进行锁存,然后再驱动二极管。发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。限流电阻R可用下式计算:
R=(E-UF)/IF
式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作流。
5.2 PWM简介
PWM(脉冲宽度调制)是按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。
PWM控制电路:
图5.1 PWM控制电路
第6章直流电机控制模块的设计
6.1 直流电机的介绍
定义输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。直流电机是电机的主要类型之一。直流电动机以其良好的启动性和调速性能著称,直流发电机供电质量较好,常常作为励磁电源。与交流电机相比直流电机的结构较
复杂,成本较高,可靠性较差,使它的应用受到限制。近年来,与电力电子装置结合而具有
直流电机性能的电机不断涌现,使直流电机有被取代的趋势。尽管如此,直流电机仍有一定的理论意义和实用价值。
直流电机的结构由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。
6.2 数模转换器DAC0832
DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
D0~D7:数字信号输入端。
ILE:输入寄存器允许,高电平有效。
CS:片选信号,低电平有效。
WR1:写信号1,低电平有效。
XFER:传送控制信号,低电平有效。
WR2:写信号2,低电平有效。
IOUT1、IOUT2:DAC电流输出端。
Rfb:是集成在片内的外接运放的反馈电阻。
Vref:基准电压(-10~10V)。
Vcc:是源电压(+5~+15V)。
AGND:模拟地 NGND:数字地,可与AGND接在一起使用。
第7章课程设计总结
通过本次课程设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:直流电机PWM调速、AT89C52单片机、L289引脚图及其引脚功能等,LED数码管显示,为本次课程设计提供了一定的资料。在做课程设计的初期阶段,难度很大,没有头绪。通过求助于杨老师、理清了思路。同时,在图书馆里、网上查阅资料,攻克了课程设计中的道道难题。无论是在硬件还是软件设计上,我都遇到了不少的问题,在克服困难的过程中,我学到了许多,特别是在课堂上学不到的东西如(PWM)。
致谢
非常感谢杨老师给我的指导,从最初的定题,到资料收集,到写作、修改,到课程的定稿,他给了我耐心的指导和无私的帮助。为了指导我们的课程设计,他放弃了自己的休息时间,他的这种无私奉献的敬业精神令人钦佩,在此我向他表示我诚挚的谢意。同时,也感谢身边的同学和朋友给我的支持和帮助
参考文献
[1]. 教材:《单片机原理与应用及C51程序设计第3版》谢维成、杨加国主编清华大学出版社
[2]. 参考书:《通用单片机系统综合实训平台》
《金鹏字符液晶显示模块使用说明书》
附录
程序:
#include
#include<12864.c>
#define uchar unsigned char
#define uint unsigned int
#define CIRCLE 25 //速度可调节的档位设置
uchar count=1,last=10;
uchar temp,key;
uint time,speed;
bit PWM,flag=0;
uchar kt=0;
sbit Moto1 = P3^0;
sbit Moto2 = P3^1;
void mDelay(uint Delay) //延时
{
uint i;
for(;Delay > 0;Delay--)
for(i = 0;i < 110;i++);
}
void Timer0(void) interrupt 1 //定时器0溢出中断服务子程序,用于产生PWM波{
count++;
if(count>CIRCLE)
{
count=1;
}
if(count<=last)
PWM=0;
else
PWM=1;
TH0=0xFC;
TL0=0x66;
}
void INT_0 (void) interrupt 0 //外部中断0中断服务子程序,用于记录测速器模块产生的脉冲数目
{
EX0=0; //禁止外部中断0中断
time++;
EX0=1; //允许外部中断0中断
}
void Timer1 (void) interrupt 3 //定时器1溢出中断服务子程序,用于获取速度值{
TH1=0x4C; //重装定时初值
TL1=0x00; //50ms定时
time=time*300; //防止个位被去除
speed=(time/3)*20; //速度:r/s
speed=speed/300;
time=0;
}
void INT_Init() //系统初始化函数,初始化定时器T0、T1和外部中断0
{
TMOD=0x10; //选择T1工作于方式1
TH1=0x4C;
TL1=0x00; //50ms定时
ET1=1; //允许T1中断
TR1=1; //启动T1中断
ET0=1; //允许T0中断
TH0=0xFC;
TL0=0x66;
TR0=1; //启动T0中断
IT0=1; //下降沿触发
EX0=1; //允许外部中断0中断
EA=1; //开所有中断
LCD12864_Init();
LCD12864_Clear();
Display();
}
/**********************************************************/
// 键扫描子程序
void keyscan(void)
{
P1=0xF0; //行线为输入,列线为输出,并置列线输出全为0 temp=P1; //读P1口
temp=temp&0xF0;
temp=~((temp>>4)|0xF0);
if(temp==1)
key=0;
else if(temp==2)
key=1;
else if(temp==4)
key=2;
else if(temp==8)
key=3;
P1=0x0F; //列线为输入,行线为输出,并置行线输出全为0 temp=P1; //读P1口
temp=temp&0x0F;
temp=~(temp|0xF0);
if(temp==1)
key=key+0;
else if(temp==2)
key=key+4;
else if(temp==4)
key=key+8;
else if(temp==8)
key=key+12;
while(temp)
{
P1=0x0F;
temp=P1;
temp=temp&0x0F;
temp=~(temp|0xF0);
}
}
/*************************************************************/ //判断键是否按下
void keydown(void)
{
P1=0xF0;
mDelay(5);
if(P1!=0xF0)
{
keyscan();
switch(mm[key])
{
case 0:
kt=1;
break;
case 2:
last--;
if(last<1)
last=25;
break;
case 4:
flag=0;
break;
case 5:
kt=0;
break;
case 6:
flag=1;
break;
case 8:
last++;
if(last>=25)
last=1;
break;
default:
break;
}
}
}
void main(void) //主函数{
INT_Init();
while(1)
{
keydown();
display(key,speed);
if(kt)
{
if(flag)//正传
{
Moto1=PWM;
Moto2=0;
}
if(!flag)//反传
{
Moto2=PWM;
Moto1=0;
}
}
else
{
Moto2=0;
Moto1=0;
}
}
}
子程序:
#define uchar unsigned char
#define uint unsigned int
sbit LCD_E = P2^4; //定义管脚
sbit LCD_RW = P2^3;
sbit LCD_RS = P2^2;
sbit LCD_CS2 = P2^1;
sbit LCD_CS1 = P2^0;
#define Data_Port P0
uchar code mm[]={1,2,3,11,4,5,6,12,7,8,9,13,15,0,16,14}; uchar code Dot[][32] = // 数据表
{
//-0- 直 --
基于单片机的步进电机(直流电机)控制器设计
《单片机原理及应用》课程设计基于单片机的步进电机(直流电机)控制器设计 学院:物联网工程学院 班级:自动化 姓名: 学号: 同组成员: 日期:2016.6.20-2016.6.24
一、设计目的 通过具体小型测试系统设计,实践单片机系统设计及调试的全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的硬、软件设计技术及调试技巧。 二、设计要求 1)电机转速可以平稳控制 2)通过键盘和显示器可以设置电机的转速 3)显示电机的速度趋势 三、仪器设备 1)IBMPC机一台 2)https://www.360docs.net/doc/7415524622.html,单片机仿真器、编程器、试验仪三合一综合开发平台一台 四、硬件线路图及主要芯片说明 1、AT89C5单片机芯片说明 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
VCC:AT89C51 电源正极输入,接+5V 电压。 GND:电源接地端。 XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。 XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST:AT89C51 的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提 升到高电位,并持续两个机器周期以上的时间,AT89C51 便能完成系统复位的各项工作, 使得内部特殊功能寄存器的内容均被设成已知状态。 ALE/PROG ALE:是英文"ADDRESS LATCH ENABLE"的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE 信号负跳变来触发外部的8 位锁存器(如74LS373),将端口P0 的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE 引脚的输出频率是系统工作频率的1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以1/12 振荡频率输出。 EA/VPP:该引脚为低电平时,则读取外部的程序代码(存于外部EPROM 中)来执行程序。因此 在8031 中,EA 引脚必须接低电位,因为其内部无程序存储器空间。如果是使用AT89C51 或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存器, 当程序指针PC 值超过片内程序存储器地址(如8051/8751/89C51 的PC 超过0FFFH)时,将自动转
pic单片机控制直流电机
实用标准文案 目录 1 总体设计框 架 (3) 2 硬件电路设 计 (4) 2.1 芯片介 绍 (4) 2.2 驱动电 路 (9) 2.3 按键控制电 路 (10) 3 程序编写 ................................................. 10 3.1 工作原 理 (10) 21程序书写过程 3.2 ...................................................... 参考资 料 (16) 精彩文档. 实用标准文案 直流电机驱动 Abstract 摘要:本文主要内容是利用PIC18F452单片机来控制直流电机,通过L293NE来驱动电机,通过按键来使其正转,反转。Keywords 关键词:直流电机,PWM,L293NE 精彩文档. 实用标准文案
总体设计框架1硬件电路利用驱动芯片L293D来驱动直流电机,按键则是单独引出。如图1所示。软件则是C语言编程。 PI驱C直动1流8电电F路机452 图1硬件设计框精彩文档. 实用标准文案 2硬件电路设计 2.1 芯片介绍 首先,总体说明硬件电路设计,如图2 原理图,图3 PCB图以及图4板子的图所示。三个输入信号,如图分别为RD4,RD5,RD6连上光耦的2脚,然后通过光耦的4脚引入L293D的使能引脚(12EN)以及输入引脚(1A,2A),然后L293D的输出引脚(1Y,2Y)通过H-桥型控制电路与直流电机连接。 图2 直流电机控制部分原理图 精彩文档. 实用标准文案 PCB图图3直流电机控制部分 成品板图4 其中红线圈表示直流电机控制部分。下面详细介绍各个芯片。PIC18F452
单片机直流电机控制实训报告
单片机直流电机控制实训报告
基于AT89C51单片机的直流电动机控制器设计 实训报告 专业:弹药工程与爆炸技术 班级:弹药二班 学生姓名:杨宁 指导教师:佟慧艳 能源与水利学院
1 实训目的 通过单片机实训使学生能够掌握利用Keil软件编写单片机程序,学会设计完整的单片机应用系统;依托Protues仿真平台进行单片机电子应用系统设计与仿真,使学生掌握单片机应用系统的设计技能;培养学生运用所学知识分析和解决实际问题的能力以及实际动手能力和查阅资料能力。
2 实训任务及要求 2.1 任务描述 一单片机为控制核心设计一款直流电机电机控制系统,可以实现直流电机的加速、正转、反转等控制方式。 2.2 任务要求 1)用AT89C51单片机实现上述任务要求; 2)在Keil IDE中完成应用程序设计与编译; 3)在Proteus环境中完成电路设计、调试与仿真。
3 系统硬件组成与工作原理 3.1单片机的控制器与最小系统 单片机的最小系统是指有单片机和一些基本的外围电路所组成的一个可以使单片机工作的系统,一般来说,它包括单片机、晶振电路和复位电路(如图一)。 图1 最小系统设计截图 (一)控制器部分分析 AT89C51(如图2)是一种带4K字节FLASH存 储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微 处理器,俗称单片机。 AT89C51提供以下标准功能:4k 字节Flash 闪 速存储器,128字节内部RAM,32 个I/O 口线,两 个16位定时/计数器,一个5向量两级中断结构, 一个全双工串行通信口,片内振荡器及时钟电路。 同时,AT89C51可降至0Hz的静态逻辑操作,并支 持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器,串行通信口及 中断系统继续工作。掉电方式保存RAM中的内容,
基于单片机的直流电机闭环调速控制系统xin
滨江学院 专业综合设计 题目直流电机闭环调速系统控制 院系自动控制 专业自动化 组别第二组 组长周未政 指导教师周旺平 二0 一0 年十二月二十八日基于单片机的直流电机闭环调速控制系统
摘要:设计以AT89C51单片机控制模块为核心,由单片机控制、红外线光电检测装置、直流电机转速为被测量组成的控制系统。原理是利用红外线光电传感器接收直流电机转速所产生的红外信号转换成电信号传输给单片机,并调节转速的闭环调速控制系统。 1.AT80C51单片机介绍 1.1主电源引脚 V ss—(20脚):电路地电平 V cc—(40脚):正常运行和编程校检(8051/8751)时为+5V电源。 1.2外接晶振或外部振荡器引脚 XTAL1—(19脚):接外部晶振的一个引脚. 在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器. 当采用外部振荡器时,此引脚应该接地. XTAL2—(18脚):接外部晶振的另一个引脚. 在片内接至振荡器的反相放大器的输出和内部时钟发生器的输入端. 当采用外部振荡器时,则此引脚接外部振荡信号的输入。 1.3控制、选通或电源复用引脚 RST/V pd—(9引脚): RST即Reset(复位)信号输入端。 ALE/PROG—(30引脚): ALE,允许地址索存信号输出。 PSEN—(29脚):访问外部程序存储器选通信号,低电平有效。. V pp/EA—(31引脚): EA为访问内部或外部程序存储器选择信号。 1.4多功能I/O口引脚 P0口—(32-39脚):8位漏极开路双向并行I/O接口. P1口—(1-8脚): 8位准双向并行I/O接口. P2口—(21-28脚):8位准双向并行I/O接口. P3口—(10-17脚):具有内部上拉电路的8位准双向并行I/O端口。它还提供第二特殊功能,具体含义为: P3.0—(10脚)RXD:串行数据接收端。 P3.1—(10脚)TXD:串行数据发送端。 P3.2—(10脚)INT0:外部中断0请求端,低电平有效。 P3.3—(10脚)INT1:外部中断1请求端,低电平有效。. P3.4—(10脚)T0:定时器/计数器0外部事件计数输入端。.
基于单片机对直流电机的控制
基于单片机对直流电机的控制 第十五组 姓名:吴代露20131325010 张鹏飞20131325012 金静丽20131325014 周敏20131325015 胡会华20131325017 顾蓉20131325018 专业:2013级信息工程(系统工程方向) 指导老师:周旺平 2014.12.22
基于单片机对直流电机的控制 内容摘要 电动机作为最主要的动力源,在生产和生活中占有重要地位。电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化。 关键字:电动机飞思卡尔 PWM控制 一、引言 (一)直流电机的定义 直流电机(direct current machine):是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。 (二)直流电机的基本结构 由直流电动机和发电机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。 (三)直流电机工作原理
直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。 (四)直流电机的分类 直流电动机按结构及工作原理可划分:无刷直流电动机和有刷直流电动机。(1)无刷直流电动机:无刷直流电动机是将普通直流电动机的定子与转子进行了互换。其转子为永久磁铁产生气隙磁通:定子为电枢,由多相绕组组成。在结构上,它与永磁同步电动机类似。无刷直流电动机定子的结构与普通的同步电动机或感应电动机相同.在铁芯中嵌入多相绕组(三相、四相、五相不等).绕组可接成星形或三角形,并分别与逆变器的各功率管相连,以便进行合理换相。由于电动机本体为永磁电机,所以习惯上把无刷直流电动机也叫做永磁无刷直流电动机。 (2)有刷直流电动机:又可分为永磁直流电动机和电磁直流电动机。 永磁直流电动机划分:稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。稀土永磁直流电动机:体积小且性能更好,但价格昂贵,主要用于航天、计算机、井下仪器等;铁氧体永磁直流电动机:由铁氧体材料制成的磁极体,廉价,且性能良好,广泛用于家用电器、汽车、玩具、电动工具等领域;铝镍钴永磁直流电动机:需要消耗大量的贵重金属、价格较高,但对高温的适应性好,用于环境温度较高或对电动机的温度稳定性要求较高的场合。 电磁直流电动机划分:串励直流电动机、并励直流电动机、他励直流电动机和复励直流电动机。 (1)串励直流电动机:电流串联,分流,励磁绕组是和电枢串联的,直流串励电
51单片机PWM控制直流电机正反转
//程序说明:使用内部时//PWM0=P3^7PWM1=P3^5 PWM2=P2^0 PWM3=P2^4 #include
基于单片机的直流电机控制设计性实验报告
设计题目:直流电机控制电路设计 一设计目得 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中断
基于51单片机控制直流电机的设计
可以实现的功能是: 按下左转键则开始向左转动 按下右转键则向右转动 按下停止键则开始逐渐停止转动 按下调速键一次则会加速一档 按下调速键二次则会加速二档 按下调速键三次则会加速三档 按下调速键四次则会加速四档 按下调速键五次则会回到最初速度重新记档位 设计思路: 直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。直流电机的驱动电路要有过流保护作用,图中的二极管就直到这个作用,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。用51实现PWM信号的输出,相对麻烦点,要是AVR就可以方便地实现PWM信号,由见51单片机的局限性与AVR单片机的优势。 原理图
详细程序: #include