小直流电机调速实验单片机课程设计讲解.docx
- 文档编号:1604392
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:14
- 大小:448.37KB
小直流电机调速实验单片机课程设计讲解.docx
《小直流电机调速实验单片机课程设计讲解.docx》由会员分享,可在线阅读,更多相关《小直流电机调速实验单片机课程设计讲解.docx(14页珍藏版)》请在冰点文库上搜索。
小直流电机调速实验单片机课程设计讲解
课程设计说明书
单片机原理与接口技术
2.2设计总结10
第1章理论部分
1.1课题名称及要求
设计课题名称:
小直流电机调速实验
设计目的:
掌握单片机数控直流电机的速度
设计要求:
利用DAC0832芯片进行数/模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节
1.2系统方案设计
(1)总体方案设计
直流电机调速原理:
根据KVL方程:
电机转速n=(Ua-IaRa)/Ca¢,其中,对于极对数p,匝数为N,电枢支路数为a的电机来说:
电机常数Ca=pN/60a,意味着电机确定后,该值是不变的。
而在Ua-IaRa中,由于Ra仅为绕组电阻,导致IaRa非常小,所以Ua-IaRa约等于Ua。
由此可见我们改变电枢电压时,转速n即可随之改变。
图3-1所示电枢电压为a,电枢电流为
,电枢电阻为
电机常数Ca,励磁磁通量是¢。
所以直流电动机的转速与施加于电动机两端的电压大小有关。
本系统用DAC0832控制输出到直流电动机的电压的方法来控制电动机的转速。
(2)直流电机调速方案
下面作为控制直流电机的转速的方案做比较:
方案一:
通过控制直流电机的电枢电压调速(即本实验所采用的方案),对于小容量的电机,当要求转速不太精确的情况下,采用控制直流电机的电枢输入电压或电流是一种十分方便而竞经济的方法,输入电压(电流)容易控制而又容易得到,所以采用本方案。
方案二:
通过控制直流电机的激磁大小来控制直流电机的转速,此方案需要能调节激磁的直流电机,电路的气他部分则相同,然而对于这类电机,价格相对较贵,较之方案一则显得不那么经济,况直流电机调速本身是一种相对较小的系统,所以本方案较之方案一相对复杂且不经济。
方案三:
即将方案而二和三结合起来,此方案相对来说则更为复杂和不经济,因此选择方案一。
具体地说本设计采用STC89C51做为主要芯片,输入汇编语言程序,采用DAC0832作为数模转换芯片,输出直流电机所需的电压,通过控制直流电机的输入电压来控制它的转速。
(3)总体设计框图如下所示
图1总体设计框图
1.3系统硬件设计
(1)AT89C51简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
(2)51单片机最小系统
单片机加上时钟电路和复位电路就构成了能使其正常工作的最小系统。
单片机最小系统是单片机正常工作的基础,任何一个单片机系统设计都是基于单片机最小系统的基础上来完成的,而在单片机系统实物设计中,最应该首先解决的也应该是单片机最小系统问题,只有保证了单片机最小系统的正确性,才能保证接下来的其他模块的正确设计。
单片机允许的振荡晶体可在1.2~24MHz之间选择,一般为12MHz,电容C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,可在20~100pF之间选择。
单片机RST引脚是高电平有效。
单片机在上电瞬间充电,RST引脚端出现正脉冲,只要RST断保持两个机械周期(大约10ms)以上的高电平,单片机就能复位。
图2C51单片机最小系统图
(3)DAC0832芯片简介
DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
主要参数:
分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5V~+15V);低功耗,20mW。
结构:
*D0~D7:
8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);
*ILE:
数据锁存允许控制信号输入线,高电平有效;
*CS:
片选信号输入线(选通数据锁存器),低电平有效;
*WR1:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;
*XFER:
数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;
*WR2:
DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。
由WR2、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:
数字信号地。
(4)DAC0832电压输出控制原理
DAC0832是电流形式输出,当需要电压形式输出时,必须外接运算放大器。
根据输出电压的极性不同,DAC0832又可分为单极性输出和双极性输出两种输出方式。
单极性输出:
DAC0832的单极性输出电路如图所示。
VREF可以接±5V或±10V参考电压,当接+5V时,输出电压范围是0V~-5V;当接-5V时,输出电压范围是0V~+5V;当接+10V时,输出电压范围是0V~-10V;当接-10V时,输出电压范围是0V~+10V。
若输入数字为0~255,则输出为:
Uout=-VREF×D/256。
式中D为输入DAC0832的十进制数,因为转换结果Ioutl接运算放大器的反相端,所以,式中有一个负号。
若VREF=+5V,输入数字为:
0~255时,Vout=-(0~4.98)V。
图3DAC0832的单极性输出电路
双极性输出。
即在单极性电压输出的基础上,在输出端再加一级运算放大器,就构成了双极性电压输出。
通过运放A2将单向输出转变为双向输出。
由VREF为A2运放提供一个偏移电流,该电流方向应与A1输出电流方向相反,且选择R1=R3=2R2。
使得由VREF引入的偏移电流恰为A1输出电流的1/2。
因而A2的运放输出将在A1运放输出的基础上产生位移。
双极性输出电压与VREF及A1运放输出V1的关系是:
Uout=-(2U1+VREF)。
DAC0832的双极性输出电路如图二所示。
根据前面单极性输出表达式U1=-VREF×D/256,故Uout=-(2U1+VREF)=VREF×D/128-VREF
图4DAC0832的双极性输出电路
(5)DAC0832与运算放大器以及电动机的接口电路
DAC0832的IOUT1端即模拟电流输出端1和IOUT2端即模拟电流输出端2分别与运算放大器的反相输入端和正向输入端相连接。
运算放大器的输出端与直流电动机的一端相连接,而直流电动机的另一端接地。
图5DAC0832与运算放大器以及电动机的接口电路
(6)DAC0832与C51接口电路
采用一个80C51和一个DAC0832转换器来输出电路调节后的模拟信号,来供给直流电机,通过改变DAC0832的输入,进而改变DAC0832的输出进而对直流电动机进行调速。
电路由80C51单片机P0.1-P0.7口接DAC0832的数据输入端D1.0-D1.7,即P0口输出八位电信号给DAC0823的D0~D7作为数据输入端。
单片机P2.7口输出作为DAC0832转换器的片选信号和控制数据传输控制信号输入的信号,P3.6口作为DAC0832的写选通信号控制输入的信号和DAC0832的寄存器选通输入端的信号,同时有AGND模拟量地即模拟电路接地端和DGND数字量接地端共同接地。
DAC0832与80C51接口电路的连接时80C51单片机的输出作为DAC0832的输入,从而实现了80C51单片机的控制,进而达到控制DAC0832的输出,也就是控制直流电动机的输入。
图6DAC0832与C51接口电路
(7)按钮控制电路
按钮控制电路是该直流电动机调速设计电路中的控制部分,也就是通过该按钮控制电路实现直流电动机的调速。
C51单片机的P1.0和P1.1的输入接按钮的一端,按钮的另一端接地,这样的连接实现了通过按钮的0和1状态使80C51单片机的输入发生改变。
图7按钮电路
1.4系统软件设计
图9系统流程图
第二章实践部分
2.1系统硬件仿真调试
图10硬件仿真图
2.2设计总结
单片机是现代化的硬件设备,为我们的生活带来了很多便利,随着科学技术的日新月异,现代化的设备逐渐向自动化迈进,而单片机技术是自动化的必备手段,他方便实用,为自动化生产带来了很多便利,因此学好单片机技术显得有为重要,而在单片机的学习中实验和实践则是更必不可少,动手操作可以使我们对书本知识更加了解,同时为我们将来在实际生产中的世纪应用也是大有裨益,对网络和书本知识的检索能力也得到提升。
基于单片机应用系统设计比较的难,从未接触过任何的应用系统的设计,对老师要求我们做的应用系统的设计根本无从下手,于是从图书馆借了几本有关单片机的应用系统的实例书籍,并且在网上参考了较多本实例的应用知识,了解了系统设计报告的写法和结构。
参考了网上较多的实例,实在话,让我自己亲手动手去做实在不能完成,只有通过图书馆借的书和通过网络才可完成。
这一定程度上也提高了网上搜索信息的能力。
在借鉴了网上的信息,同时添加了自己借的书中的一些内容,整合成了这篇设计。
希望以后这种的设计会更多,让我们的书本知识和实际操作联系起来,让书本知识活跃在我们的生活中,那样我们的书本知识学着就不再那么枯燥乏味。
第三章附录
附录一:
元件清单:
1两个电容
2一个电解电容
3两个按钮
4AT89C51单片机
5DAC0832转换器
6运算放大器OPAMP
7直流电动机
8欧姆电阻
9晶振源
10直流电源
附录二:
AT89C51单片机利用DAC0832给小直流电机调速的C语言程序
#include
#include
#defineucharunsignedchar
#defineDAC08320x7fff//定义DAC0832端口地址
sbitk1=P1^0;
sbitk2=P1^1;
uchardavl=0x3f;
voidINCDAC()//加速处理函数
{
davl=davl+0x20;
if(davl==0x00)
davl=0xe0;
}
voidDECDAC()//减速处理函数
{
davl=davl-0x20;
if(davl==0x00)
davl=0x20;
}
//delay(1000);//12M,0.5S
voiddelay(unsignedinti1)
{
unsignedintii;
unsignedcharjj;
for(ii=0;ii for(jj=0;jj<162;jj++); } voidmain() { while (1) { XBYTE[DAC0832]=davl; if(k1==0) { INCDAC(); delay(1000); } if(k2==0) { DECDAC(); delay(1000); } } } 附录三: 硬件连接图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直流电机 调速 实验 单片机 课程设计 讲解