单片机 电机调速 1602显示.docx

上传人:b****5 文档编号:8311214 上传时间:2023-01-30 格式:DOCX 页数:20 大小:403.89KB
下载 相关 举报
单片机 电机调速 1602显示.docx_第1页
第1页 / 共20页
单片机 电机调速 1602显示.docx_第2页
第2页 / 共20页
单片机 电机调速 1602显示.docx_第3页
第3页 / 共20页
单片机 电机调速 1602显示.docx_第4页
第4页 / 共20页
单片机 电机调速 1602显示.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

单片机 电机调速 1602显示.docx

《单片机 电机调速 1602显示.docx》由会员分享,可在线阅读,更多相关《单片机 电机调速 1602显示.docx(20页珍藏版)》请在冰豆网上搜索。

单片机 电机调速 1602显示.docx

单片机电机调速1602显示

 

滨江学院

课程设计

 

题目

基于单片机的电机转速控制

 

院系

信息与控制

专业

自动化

班级

负责人

尤崇森

指导教师

周旺平

二〇一〇年十二月二十八日

一、系统设计要求及思路

1.1设计要求---------------------------------------------------------------------3

1.2设计思路---------------------------------------------------------------------3

二、硬件系统

2.1稳压电路---------------------------------------------------------------------3

2.289c51简介--------------------------------------------------------------------4

2.3晶振,复位电路设计------------------------------------------------------5

2.4电机驱动电路---------------------------------------------------------------6

2.5电机测速电路---------------------------------------------------------------8

2.6LCD显示---------------------------------------------------------------------9

三、软件系统

3.1PWM波形产生-------------------------------------------------------------11

3.2程序流程图-----------------------------------------------------------------13

四、系统调试

4.1软件调试--------------------------------------------------------------------17

4.2硬件连线--------------------------------------------------------------------18

五、设计总结

参考文献

附录一设计人员分布清单---------------------------------------------------19

附录二元器件清单------------------------------------------------------------20

 

第一章系统设计要求及思路

1.1设计要求

运用单片机的控制原理,设计一个采用闭环反馈控制的电机转速调节系统。

用闭环控制原理快速调节电机转速,从而实现电机的正转,反转,停止,加速,减速,并通过LCD显示屏显示电机的实际转速,设定转速。

1.2设计思路

首先将单片机作为控制中枢,从按钮源接收到电机各种动作的信号,接着由单片机调制PWM信号发出指令,经过H桥电机驱动电路,控制电机执行相应的动作,之后采用光电元件组成的测速电路检测出电机转速,输送到单片机进行误差计算,进而再调制PWM的信号控制电机加速减速等动作,如此反复,直到电机达到设定的电机转速。

第二章硬件系统

2.1稳压电路

电子产品中,常见的三端稳压集成电路有正电压输出的78××系列和负电压输出的79××系列。

顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。

它的样子像是普通的三极管,TO-220的标准封装,也有9013样子的TO-92封装。

用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。

该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。

因为使用方便,故经常采用。

图1稳压电路

2.2AT89C51简介

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

外形及引脚排列如图所示

图2AT89C51

管脚说明:

(1)VCC:

供电电压。

(2)GND:

接地。

(3)P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

(4)P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

(5)P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

(6)P3口:

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

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

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

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

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

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

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

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

(7)RST:

复位输入。

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

(8)ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

(9)/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

(10)/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

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

(11)XTAL1:

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

(12)XTAL2:

来自反向振荡器的输出。

2.3晶振,复位电路的设计

晶振电路

单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。

只要买来晶振,电容,连上就可以了,其电路图如图4所示。

XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器[2]。

图3晶振电路

复位电路

在上电或复位过程中,控制CPU的复位状态:

这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。

无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。

而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。

许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象[3],这主要是单片机的复位电路设计不可靠引起的。

电路如图5所示。

图4复位电路

2.3电机驱动电路

L298是SGS的产品,比较常见的是MuLtiwatt封装的L298N,内部同样包含4道逻辑驱动电路。

可以方便的驱动两个直流电机,或一个两相步进电机。

L298可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压,可以直接用单片机的IO口来提供信号,而且电路简单,实用方便。

L298N可接受标准的TTL逻辑电平信号VSS,VSS可接4.5~7V电压。

4脚VS接电源电压,输出电流为2.5A,可驱动电感性负载。

1脚和15脚下管的发射极分别单独引出以便接入电源采样电阻,形成电流传感信号。

L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机。

本实验我们选用驱动一台电动机。

5,7,10,12脚接输入控制电平,控制电机正反转,ENA,ENB接控制使能端,控制电机的停转。

L298芯片管脚说明:

(1)SENSA:

电流监测端,H桥的电流反馈脚,不用时可直接接地。

(2)OUT1:

输出端,与M1对应。

(3)OUT2:

输出端,与M2对应。

(4)VS:

电源,用来给电动机供电。

(5)IN1:

输入端。

(6)ENA:

使能端,和M1、M2配合使用。

(7)IN2:

输入端。

(8)GND:

接地。

(9)VCC:

电源,用来给芯片供电。

(10)IN3:

输入端

(11)ENB:

使能端,和M3、M4配合使用。

(12)IN2:

输入端。

(13)OUT3:

输出端,与M3对应。

(14)OUT4:

输出端,与M4对应。

(15)SENSB:

电流监测端,H桥的电流反馈脚,不用时可直接接地。

2.5电机测速电路

本设计采用的是红外传感器(由红外线发射管、红外线接收管构成的红外计数电路)

红外线发射管

简介:

红外线发射管也称红外线发射二极管,属于二极管类。

它是可以将电能直接转换成近红外光(不可见光)并能辐射出去的发光器件,主要应用于各种光电开关及遥控发射电路中。

红外线发射管的结构、原理与普通发光二极管相近,只是使用的半导体材料不同。

红外发光二极管通常使用砷化镓(GaAs)、砷铝化镓(GaAlAs)等材料,采用全透明或浅蓝色、黑色的树脂封装。

产品参数:

发射距离、发射角度(15度、30度、45度、60度、90度、120度、180度)、发射的光强度、波长。

以上决定红外线发射管产品的主要性能及使用范围。

红外线接收管

  特征与原理:

  红外线接收管是将红外线光信号变成电信号的半导体器件,它的核心部件是一个特殊材料的PN结,和普通二极管相比,在结构上采取了大的改变,红外线接收管为了更多更大面积的接受入射光线,PN结面积尽量做的比较大,电极面积尽量减小,而且PN结的结深很浅,一般小于1微米。

红外线接收二极管是在反向电压作用之下工作的。

没有光照时,反向电流很小(一般小于0.1微安),称为暗电流。

当有红外线光照时,携带能量的红外线光子进入PN结后,把能量传给共价键上的束缚电子,使部分电子挣脱共价键,从而产生电子---空穴对(简称:

光生载流子)。

它们在反向电压作用下参加漂移运动,使反向电流明显变大,光的强度越大,反向电流也越大。

这种特性称为“光电导”。

红外线接收二极管在一般照度的光线照射下,所产生的电流叫光电流。

如果在外电路上接上负载,负载上就获得了电信号,而且这个电信号随着光的变化而相应变化。

  分类:

  红外线接收管有两种,一种是光电二极管,另一种是光电三极管。

光电二极管就是将光信号转化为电信号,光电三极管在将光信号转化为电信号的同时,也把电流放大了。

因此,光电三极管也分为两种,分别别是NPN型和PNP型。

  作用:

  红外接收管的作用是进行光电转换,在光控、红外线遥控、光探测、光纤通信、光电耦合等方面有广泛的应用。

如何选择红外线接收管:

红外线最重要的参数就是光电信号的放大倍率,一般的有1000-13001300-18001800-2500,这些对灵敏度有决定作用。

红外计数电路

图6计数测速电路

红外计数电路主要由红外发射和接收电路组成.红外发射和接收电路:

在电动机上安装一对红外发射和接收管,当电动机转动时,对红外光反射、散射和折射,穿过红外光的光强瞬间减少,红外接收管导通程度也在瞬间减小,因而产生一个脉冲信号;信号放大比较电路:

电容拾取脉冲信号后由运放LM324进行放大,放大倍数为10倍,再将放大的信号由运放LM324比较后输出标准的低电平脉冲信号(undershoot),其中C1=0.01μF,R1=11KΩ,R2=500Ω,R3=10KΩ,R4=100KΩ,R5=100KΩ,R6=5KΩ,R7=100KΩ,R6和R7起着抗干扰作用[1].然后将获得的脉冲信号送到单片机的计数器引脚进行计数,这样就可以达到计数的目的.

图7转速检测示意

2.6LCD显示

液晶显示原理

液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。

液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。

根据要求选用1602LCD:

图81602LCD尺寸图

1602LCD主要技术参数:

显示容量:

16×2个字符

芯片工作电压:

4.5—5.5V

工作电流:

2.0mA(5.0V)

模块最佳工作电压:

5.0V

字符尺寸:

2.95×4.35(W×H)mm

图91602内部结构

图10接口图

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:

阿拉伯数字、英文字母的大小写、常用的符号等,每个字符都有一个固定的代码,比如大写英文字母A的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

因为1602识别的是ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如‘A’。

1602采用标准的16脚接口,其中

第1脚:

VSS为地电源。

第2脚:

VDD接5V正电源。

第3脚:

VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:

R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:

D0~D7为8位双向数据线。

第15脚:

背光源正极。

第16脚:

背光源负极。

第三章软件系统

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitadd=P0^0;

sbitdec=P0^1;

sbiten1=P3^0;/*L298的EnableA*/

sbits1=P3^1;/*L298的Input1*/

sbits2=P3^2;/*L298的Input2*/

uchart=0;/*中断计数器*/

ucharm1=0;/*电机速度值*/

uchartmp1;/*电机当前速度值*/

sbitE=P3^7;

sbitRW=P3^6;

sbitRS=P3^5;

sbittest=P3^4;

inttime=0;

intnum_medium=0;

intnum_display=0;

intcount_speed=0;

ucharwword[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

 

/*电机控制函数index-电机端口号;speed-电机速度*/

voidmotor(ucharindex,charspeed)

{

if(speed>=0&&speed<=100)

{

if(index==1)

{

m1=abs(speed);

if(speed>0)

{

s1=1;

s2=0;

}

}

}

}

voiddelay1(uintj)/*简易延时函数*/

{

for(j;j>0;j--);

}

 

//延时t毫秒

voiddelay(uchart)

{

uinti;

while(t)

{

for(i=0;i<125;i++);

t--;

}

}

voidwc51r(ucharj)

{

RS=0;

RW=0;

P1=j;

E=1;

E=0;

delay(3);

}

//写数据函数LCD

voidwc51ddr(ucharj)

{

RS=1;

RW=0;

P1=j;

E=1;

E=0;

delay

(2);

}

//初始化函数LCD

voidinit()

{

wc51r(0x01);//清屏

wc51r(0x38);//使用8位数据,显示两行,使用5*7的字型

wc51r(0x0c);//显示器件,光标开,字符不闪烁

wc51r(0x06);//字符不动,光标自动右移一格

}

 

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

/***T1中断服务程序**************单位时间(S)方波的个数**********************/

voidtime1_int(void)interrupt3

{

count_speed++;

if(count_speed==20)

{count_speed=0;

num_display=num_medium;

num_medium=0;

}

}

 

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

/***************************************速度显示的数据处理********************/

voiddatamade()

{

uintdataMM,NN;

wc51r(0xc2);

wc51ddr('S');

wc51ddr('p');

wc51ddr('e');

wc51ddr('e');

wc51ddr('d');

wc51ddr(0x3a);

NN=num_display%100;

MM=num_display/100;

wc51ddr(wword[MM]);

MM=NN/10;

NN=NN%10;

wc51ddr(wword[MM]);

wc51ddr(wword[NN]);

}

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

 

/************************主函数**********************************************/

voidmain()

{

unsignedchari;

P2=0x00;

ET0=1;

ET1=1;

TMOD=0x12;

TH0=0x9B;

TL0=0x9B;

TH1=0x3c;

TL1=0xb0;

EA=1;

TR0=1;

TR1=1;

init();//液晶显示初始化程序

while

(1)

{

while(add==0&&i<=100)

{

motor(1,i);

i++;

delay1(3000);

}

while(dec==0&&i>=0)

{

motor(1,i);

i--;

delay1(3000);

}

wc51r(0x84);

wc51ddr('M');

wc51ddr('O');

wc51ddr('T');

wc51ddr('O');

wc51ddr('R');

if(test==0)

num_medium++;

datamade();

}

}

 

voidtimer0()interrupt1/*T0中断服务程序*/

{

if(t==0)/*1个PWM周期完成后才会接受新数值*/

{

tmp1=m1;

}

if(t

t++;

if(t>=100)t=0;/*1个PWM信号由100次中断产生*/

}

 

3.2软件流程图

图11软件流程图

第四章系统调试

4.1软件调试

4.1.1整体图

图12软件仿真

4.1.2驱动电路图

图13驱动电路图

 

第五章设计总结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1