用DAC0808设计的直流电动机调速器.docx

上传人:b****4 文档编号:5667316 上传时间:2023-05-08 格式:DOCX 页数:13 大小:137.51KB
下载 相关 举报
用DAC0808设计的直流电动机调速器.docx_第1页
第1页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第2页
第2页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第3页
第3页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第4页
第4页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第5页
第5页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第6页
第6页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第7页
第7页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第8页
第8页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第9页
第9页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第10页
第10页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第11页
第11页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第12页
第12页 / 共13页
用DAC0808设计的直流电动机调速器.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

用DAC0808设计的直流电动机调速器.docx

《用DAC0808设计的直流电动机调速器.docx》由会员分享,可在线阅读,更多相关《用DAC0808设计的直流电动机调速器.docx(13页珍藏版)》请在冰点文库上搜索。

用DAC0808设计的直流电动机调速器.docx

用DAC0808设计的直流电动机调速器

宁波工程学院

设计与讨论

课程设计报告

课题题目:

用DAC0808设计的直流电动机调速器

学院名称:

电子与信息工程学院

专业:

电信10

学生姓名:

1

学生姓名:

1

学生姓名:

1

学生姓名:

1

指导教师:

起讫时间:

2013年1月2日至2013年1月11日

目录

第一章技术指标

1.1整体功能要求

基本要求:

使用AT89C51单片机为核心,使用数模转换元件DAC0808对单片机输出的数字信号进行转换,输出模拟信号驱动直流电动机。

具体要求:

在设计中,设计2个按键对应直流电动机的不同转速,按下不同按键时,电动机将以不同速度转动,按键1可以使电动机的转速增加,使转速从小到大,再从小到大,而减速相反。

仿真:

控制程序在Keil软件中编写,编译,整个控制电路在Proteus仿真软件中连接调示。

1.2系统结构要求

直流电机调速系统硬件以MCS-51单片机为控制核心,包括电源电路、按键控制电路、单片机控制、数模转换、电机驱动电路、转速显示等部分。

硬件电路设计系统框图如图1所示。

图1直流电机调速系统框图

1.3电气指标

直流电动机的转速由与其并联的电压表显示,电压越大,转速越快。

1.4设计条件

5.1电源条件:

+5V。

第二章整体方案设计

整体方框图及原理

直流电机调速系统硬件原理框图如下图所示,以MCS-51单片机为控制核心,包括测量电路,电源电路,数模转换电路,按键电路。

第三章硬件设计

3.1DAC0808的简介

DAC0808的管脚图及各引脚功能:

图2DAC0808引脚图

DAC0808是8分辨率的D/A转换集成芯片。

与微处理器完全兼容。

这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。

D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

DAC0808结构:

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.2单片机系统

3.2.1AT89C51性能

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51功能性能:

与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:

1000次写/擦循环;数据保留时间:

10年;全静态工作:

0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;片内震荡器和掉电模式。

3.2.2AT89C51各引脚功能

T89C51提供以下标准功能:

4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。

AT89C51采用PDIP封装形式,引脚配置如图3所示。

图3AT89C51的引脚图

AT89C51芯片的各引脚功能为:

P0口:

这组引脚共有8条,P0.0为最低位。

这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地址,然后传送CPU对片外存储器的读/写数据。

P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。

P1口:

这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。

P2口:

这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。

P3口:

这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表1所示:

表1P3口各位的第二功能

P3口各位

第二功能

P3.0

RXT(串行口输入)

P3.1

TXD(串行口输出)

P3.2

/INT0(外部中断0输入)

P3.3

/INT1(外部中断1输入)

P3.4

T0(定时器/计数器0的外部输入)

P3.5

T1(定时器/计数器1的外部输入)

P3.6

/WR(片外数据存储器写允许)

P3.7

/RD(片外数据存储器读允许)

Vcc为+5V电源线,Vss接地。

ALE:

地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。

在不访问片外存储器时,89C51自动在ALE线上输出频率为1/6震荡器频率的脉冲序列。

该脉冲序列可以作为外部时钟源或定时脉冲使用。

:

片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,

=1,则允许使用片内ROM,若

=0,则只使用片外ROM。

片外ROM的选通线,在访问片外ROM时,89C51自动在

线上产生一个负脉冲,作为片外ROM芯片的读选通信号。

RST:

复位线,可以使89C51处于复位(即初始化)工作状态。

通常89C51复位有自动上电复位和人工按键复位两种。

XTAL1和XTAL2:

片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片内OSC(震荡器)的定时反馈回路。

3.3复位电路和时钟电路

3.3.1复位电路设计

单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。

MCS-51单片机有一个复位引脚RST,采用施密特触发输入。

当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。

复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。

单片机的复位方式有上电自动复位和手动复位两种,本系统采用的是51系列单片机常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。

3.3.2时钟电路设计

单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。

CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。

MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。

本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路只需要一个晶振和2个电容即可。

电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF,在这个系统中选择了30pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。

图4复位时钟电路图

3.4按键电路及直流电机控制

2个按键控制直流电动机转速,按键1加速,按键2减速。

电动机转速通过并联在其两端的电压表显示其两端电压,电压值越大,转速越高。

(可选用显示转速的直流电动机,但由于转速显示短时间内无法稳定,由直流电动机工作原理转速与其电压成正比,可用电压表显示其转速。

图5电机电路图按键电路图

3.5整体电路图

3.6整机原件清单

元件

数量

元件

数量

AT89C51

一片

DAC0808

一片

电阻5KΩ

2个

晶振(12M)

1个

电阻10KΩ

一个

开关

3个

放大器

一个

电容

3个

电压表

1个

直流电动机

1个

电解电容

1个

第四章仿真与测试

用DAC0808设计直流电动机调速器已经完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。

但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。

软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误,这些错误有些是显性的,而有些是隐形的,可以通过仿真开发系统发现逐步改正。

Proteus软件可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

Proteus支持的微处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。

Proteus可以完成单片机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与uVisions3IDE工具软件结合进行编程仿真调试。

本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真我采用的是Proteus软件,而程序方面,采用的是汇编语言,用Keil软件将程序(见附录)写入单片机

第五章设计小结

由上所述,用DAC0808设计直流电动机调速器基本完成。

但设计中的不足之处仍然存在。

这次设计是我们第一次用Keil和Proteus实现了仿真。

在这过程中,我对电路设计,单片机的使用等都有了新的认识。

通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。

本系统采用电压表测量电动机的转速,用MCS-51单片机对直流电机的转速进行控制,用DAC0808芯片实现输出模拟电压值来控制直流电动机的转速。

本设计主要研究直流电机的控制和测量方法,从而对电机的控制精度、响应速度以及节约能源等都具有重要意义。

通过本次设计,我们对单片机这门课有了进一步的了解。

无论是在硬件连接方面还是在软件编程方面。

本次设计采用了AT89C51单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。

设计中还用到了数/模转换芯片DAC0808,以前在学单片机课程时只是对其理论知识有了初步的理解。

通过这次设计,对它的工作原理有了更深的理解。

在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。

总之这次电路的设计和仿真,基本上达到了设计的功能要求。

在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升.

附录

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharKey_State;

ucharcount=0;

//延时

voidDelayMS(uintms)

{

uchart;

while(ms--)for(t=0;t<120;t++);

}

//加速子函数

voidIncrease_Count()

{

count=count+40;

if(count>255)count=0;

elseP0=count;

}

//减速子函数

voidMinus_Count()

{

count=count-40;

if(count<0)count=255;

elseP0=count;

}

voidmain()

{P0=0x00;

Key_State=0xff;

while

(1)

{

if(P1^Key_State)

{

DelayMS(10);

Key_State=P1;

if((Key_State&0x01)==0)Increase_Count();

elseif((Key_State&0x02)==0)Minus_Count();

elseif((Key_State&0x04)==0)P0=0x00;

}

}

}

参考文献[1]彭伟,单片机C语言程序设计100例,电子工业出版社.

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2