直流电机单片机pwm控制论文文档格式.docx
- 文档编号:17532812
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:29
- 大小:362.48KB
直流电机单片机pwm控制论文文档格式.docx
《直流电机单片机pwm控制论文文档格式.docx》由会员分享,可在线阅读,更多相关《直流电机单片机pwm控制论文文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
1.2单元电路设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2
二、实际电路设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2
2.1原理图、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2
2.2工作原理与过程、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、3
2.3理论计算与主要芯片的说明与运用、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、4
2.4软件设计与测试、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、6
三.电路测试
3..1测试原理、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、10
3.2测试仪器、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、11
3.3结果与误差分析、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12
四、结论、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12
五、参考文献、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12
六、仪器仪表、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12
七.附录、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12
元器件清单
一、系统的设计
1.1方案论证与选择
方案一:
通过电压的大小来控制电机的转动速度;
根据电动机在其额定电压时,电动机有一定的额定转速。
根据其输入电压的减小,其转动速度也相应的减小。
从而在传统的改变电动机的转速问题中,就是利用所给电动机的电压的不同,而达到人们所需要的大约速度。
方案二:
以单片机AT89C51为中心通过D/A转换器,将单片机数字量转换为模拟量,从而起到控制电动机的转速问题。
其中在单片机控制部分通过按键直接从程序中调出所需要速度的值,同时输到数码显示部分和D/A转换部分以实现电动机的调速。
该电路最大的缺点是不能及时的从电动机那里得到相应的转动速度,而是直接从程序哪儿调用相应的数值给数码显示。
所以,此处的电路在速度的显示上失去了其真实性。
图1电路组成框图
方案三:
采用AT89C51单片机进行控制。
本设计需要使用的软件资源比较简单,只需要完成红外线采样部分、键盘控制部分以及显示输出功能。
采用AT89C51进行控制比较简单、易控制、可靠性高、抗干扰能力强、精度高且体积大大减小。
输出速度的调节是通过k5键操作,显示速度在最高速度、最低速度的中间即800转每分钟。
显示速度一步到位,没有传统的粗调与细调之累赘,并且使用方便等优点。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器.具有4K字节可编程闪烁存储器,可擦除的的只读存储器(PEROM),ATMEL的AT89C51是一种高效微控制器.AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案.三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和电模式、片内振荡器和时钟电路:
电路框图2如下
图2
鉴于上面分析,方案一只能自以为减小所给电压值而能使电动机的转速有相应的减小。
方案二只是把理想的速度送到数码显示以表示当时电动机的转速,缺乏真实性。
所以,设计采用方案三。
1.2:
单元电路设计
(1)电压源设计与选择
方案一:
采用电压源直接滤波法.缺点:
此稳压电源产生纹波较大.
方案二:
采用稳压芯片进行稳压.优点:
此稳压电源较稳定,产生的纹波较小,有利于电路功能的实现
系统采用方案二
(2)显示电路的设计与选择
采用字符型LCD显示.
采用LED数码管显示.
(3)模拟电压源的放大电路设计与选择
采用集成运放TL084进行放大.缺点:
难以调节.
采用集成运放TL082进行放大.优点:
易调节,且不过于浪费.
(4)输出电路设计与选择
方案一:
采用直接输出法.缺点:
不能有效地保护电压源和用电器.
方案二:
采用再次驱动稳压器和保护电路的输出法.优点:
在用电器发生短路时,能够有效地保护用电器和电压源.
(5)电路的控制方式电路设计与选择
采用直接控制法.
采用步进和复位法.
二.实际电路设计
2.1原理图
根据方案2,得到如下实际原理图:
2.2工作原理与过程
通电复位,电路进入初始状态:
LED数码管显示0000,待电路正常工作时,开始显示电动机的速度和正反转。
按S3电动机速度向上增加,按S2电动机速度向下递减,按S1使电动机朝刚才相反的方向转动同时显示相应字样。
由于在实际使用中经常用到的速度有1.5v、3v、4.5v,5v,6v,8v,12v等速度值,所以本电路还设置了几个按键,如按下S4,电机的速度直接跳转到速度为****,按下S5,电机的速度直接跳转到速度为****,电机的速度直接跳转到速度为****,等。
L298是具有15个引脚的单列直插式2位同时驱动芯片。
其引脚功能分别为:
1、8、15脚为GND引脚,2、3脚为输出引脚,9脚为VSS引脚,4脚为VS引脚,5、7脚为输入引脚,6脚为选通1通道引脚。
其余引脚为通道2所需要引脚,在此没有用到通道2,故其余引脚全部悬空。
当6脚数据输入量为1时,1通道正常工作,当5、7脚输入为1、0时,2、3脚输出的电平使电动机正转,并且可以按照单片机所复给6脚的置1、置0的占空比的不同而使电动机的转速得以改变。
当5、7脚输入为0、1时,2、3脚输出的电平使电动机反转,并且同理可以按照单片机所复给6脚的置1、置0的占空比的不同而使电动机的转速得以改变。
保护电路由二极管组成,由于电动机是呈电感性很强的,所以在开机或着关机时,会产生很大的感应电压而烧坏芯片,在此,为了保护驱动芯片,接了几个二极管,从而大大的减小了由于感应电压带给驱动芯片的危害。
2.3理论计算与主要芯片的说明与应用
2.3.1主要芯片说明
(1)单片机AT89C51
a:
AT89C51的内部结构原理图见图5
图5
主要特性:
·
与AT89C2051兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
片内振荡器和时钟电路
管脚说明:
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的一些特殊功能口,如下表所示:
口管脚备选功能
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口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
/PSRN:
外部程序存储器的选通号。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
(2)
LED显示部分原理图及说明:
基本的半导体数码管是由七个条状
发光二极管芯片按图2排列面成的,
可实现0~9的显示。
LED显示器结构(见图2)
LED显示部分原理图及说明见1.2.1.3
用单片机驱动LED数码管有很多方法,按显示方式分有静态显示和动态(扫描)显示。
动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。
静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。
这两种显示方式各有利弊;
静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;
动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。
因为考虑到成本及外围电路,所以此处采用的是按动态(扫描)显示。
关于LED数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。
常用的连接方式有如下四种:
LED数码管是由发光二级管显示字段组成的显示器,有8段和“米”字段之分,这种显示器有共阴级和共阳级两种。
共阴方式是笔画显示器各段发光管的阴极(即N区)是公共的,而阳极是互相隔离的;
共阳方式是指笔画显示器各段发光管的阳极(即P区)是公共的,而阴极互相隔离。
此处采用的是共阴极LED,原理图如图7
图7
LED驱动原理图如图8所示
555定时器又称为集成定时器或555电路,是一种数字、模拟混合型的中
规模集成电路,应用十分广泛。
外加电阻、电容等元件可以构成多谐振荡器,单稳电路,施密特触发器等。
它是一种产生时间延迟和多种脉冲信号的电路,由于内部电压标准使用了三个5K电阻,故取名555电路。
其电路类型有双极型和CMOS型两大类,二者的结构与工作原理类似。
几乎所有的双极型产品型号最后的三位数码都是555或5567所有的CMOS产品型号最后四位数码都是7555或7556,二者的逻辑功能和引脚排列完全相同,易于互换。
555和7555是单定时器。
556和7556是双定时器。
双极型的电源电压DDU=+5V~+15V,输出的最大电流可达200mA,CMOS型的电源电压为十3V~+18V,能直接驱动小型电机、继电器和低阻抗扬声器。
(3).555定时器的工作原理
555定时器原理图及引线排列如图1所示。
其功能见表1。
定时器内部由比较器、分压电路、RS触发器及放电三极管等组成。
分压电路由三个5K的电阻构
成,分别给1A和2A提供参考电平2/3DDU和1/3DDU。
1A和2A的输出端控制RS触发器状态和放电管开关状态。
当输入信号自6脚输入大于2/3DDU时,触发器复位,3脚输出为低电平,放电管T导通;
当输入信号自2脚输入并低于1/3DDU时,触发器置位,3脚输出高电平,放电管截止。
4脚是复位端,当4脚接入低电平时,则oU=0;
正常工作时4接为高电平。
5脚为控制端,平时输入2/3DDU作为比较器的参考电平,当5脚外接一个输入电压,即改变了比较器的参考电平,从而实现对输出的另一种控制。
如果不在5脚外加电压通常接0.01μF电容到地,起滤波作用,以消除外来的干扰,确保参考电平的稳定。
表1555定时器的功能表
在这里,我们用555定时器构成单稳态触发器用
电路如图2所示,接通电源→电容C充电(至2/3DDU)→RS触发器置
0→oU=0,T导通,C放电,此时电路处于稳定状态。
当2加入iV<1/3DDU时,RS触发器置1,输出oU=1,使T截止。
电容C开始充电,按指数规律上升,当电容C充电到2/3DDU时,1C翻转,使输出oU=0。
此时T又重新导通,C很快放电,暂稳态结束,恢复稳态,为下一个触发脉冲的到来作好准备。
其中输出oU脉冲的持续时间Wt=1.1RC,一般取R=1kΩ--10MΩ,C>1000PF。
2.3.2关键电路单元的工程计算:
a:
上拉电阻
的计算:
选择上拉电阻阻值时要考虑多方面因素。
一方面,如果负载具有电容性,
的值愈小,电容的充电时间常数也就愈小,因此开关速度愈快,但功耗也愈大。
另一方面,多个OD门的输出端直接连在一起,当只有一个门导通,输出为低电平,其他门截止,输出为高电平时,负载电流将全部流向导通的OD门,这是一种最不利的情况,此时的上拉电阻
有限流的作用,其取值不能太小,应保证
不超过额定值
。
上拉电阻计算公式:
其中:
=5V,
=1.5V,
=,
=
经查找相关的资料也可以找到。
将数据代入公式,可求得:
=0.8kΩ,
=1.3kΩ,
综合考虑到本次设计的技术要求,以及自己手头上的元件的限制,所以最终选择上拉电阻为1千欧
2.4软件设计与测试
(1)程序流程图
主流程图中断处理子程序
按键处理程序
显示子程序
Pwm控制子程序
速度显示值获得程序
(2)源程序
///*************************************************************************
///直流电机的pwm控制程序
///功能:
直流电机的速度控制,速度测试,速度显示。
#include<
reg51.h>
///包含头文件
absacc.h>
#definegwDBYTE[0X40]///定义显示缓冲区个位
#defineswDBYTE[0X41]//////////////////十位
#definebwDBYTE[0X42]//////////////////百位
#defineqwDBYTE[0X43]//////////////////千位
#defineunintunsignedint///自定义变量
#defineucharunsignedchar
sbitin1=P3^0;
///控制位定义
sbitin2=P3^1;
sbitena=P3^7;
ucharcodezm[12]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0x73,0x71};
///在程序存储区定义字型码表
ucharcodewm[4]={0xfe,0xfd,0xfb,0xf7};
///在程序存储区定义字位控制码表
uchara=8;
///占空比控制字
ucharn=1;
///速度增减量一
ucharm=2;
///速度增减量二
unintspeedbuf=0;
///速度值
ucharzc=0;
unintys=0;
key();
///子函数声明
display();
control();
delays();
speedcan();
///*************************************************************************************************************
///主函数
main()
{
gw=sw=bw=qw=0;
///显示初始化
P0=0xc0;
P2=0;
in1=0;
///电机控制的初始化
in2=0;
ena=1;
TMOD=0X15;
///定时器1为定时模式,使用方式2;
定时器0为计数模式,使用方式2
TH1=0Xfa;
///装定时器初值
TL1=0X24;
TH0=0;
///装计数器初值
TL0=0;
EA=1;
///开总中断
ET0=1;
///允许定时器0中断
ET1=1;
///允许定时器1中断
TR0=1;
///开计数器
TR1=1;
///开定时器
while
(1)///无限循环
{
key();
///调用按键扫描程序
control();
///调用电机控制程序
display();
///调用显示程序
sp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直流电机 单片机 pwm 控制 论文