课程设计.docx
- 文档编号:24446730
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:15
- 大小:142.05KB
课程设计.docx
《课程设计.docx》由会员分享,可在线阅读,更多相关《课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
课程设计
目录
1 1引言2
2设计任务及要求2
2.1设计目的2
2.2设计要求2
3 本课程设计的意义3
4应用软件介绍3
4.1Proteus仿软真件的介绍3
4.2 Keil软件3
5电路使用元件的介绍3
5.1关于AT89C51单片机的简介3
5.2关于DS18B20温度传感器的简介3
5.3关于L298电机驱动芯片的简介3
5.4关于LM016液晶模块的简介3
6部分硬件的工作原理3
6.1直流电动机的工作原理3
6.2转速的测量原理3
6.3直流电动机的转速控制系统的工作原理3
7直流电动机的转速控制系统软件设计3
7.1编程思路3
7.2系统流程图3
8仿真程序(C语言)3
9结束语3
1 1引言
在电气时代的今天,电动机一直在现代化的生产和生活中起着十分重要的作用。
据资料统计,现在有的90%以上的动力源自于电动机,电动机与人们的生活息息相关,密不可分。
随着现代化步伐的迈进,人们对自动化的需求越来越高,使电动机控制向更复杂的控制发展。
近年来由于微型机的快速发展,国外交直流系统数字化已经达到实用阶段由于以微处理器为核心的数字控制系统硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响,且单片机具有功能强、体积小、可靠性好和价格便宜等优点,现已逐渐成为工厂自动化和各控制领域的支柱之一。
其控制软件能够进行逻辑判断和复杂运算,可以实现不同于一般线性调节的最优化、自适应、非线性、智能化等控制规律直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。
从控制的角度来看,直流调速还是交流拖动系统的基础。
早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。
随着单片机技术的不断进步,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的稳定性能。
采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。
2设计任务及要求
2.1设计目的
用4位集成式数码管显示当前温度,当温度在
时,直流电动机在L298驱动下加速正转,温度在
全速正转;当温度
时,直流电动机加速反转,温度
时,直流电动机全速反转;温度
之间时,直流电动机停止转动。
(4)、控制程序在Keil软件中编写,编译,整个控制电路在Proteus仿真软件中连接调示。
显示当前的温度值。
2.2设计要求
一、设计一个基于温度的电动机转速控制电路,在相应的软件控制下可以完成要求的功能,即外部温度大于45C时,直流电动机在L298驱动下加速正转,温度大于75C全速正转,当外部温度小于10C时电动机加速反转,温度小于0C时电动机全速反转。
温度回到10C-45C时电动机停止转动。
在液晶显示屏1602LCD上显示当前的温度值。
二、画出基于温度的电动机转速控制电路的电路图;
三、所设计的电路需要在仿真软件Protues v7.5上能够运行,课程设计报告的最后必须附有在仿真软件Protues v7.5下设计的电路图和控制程序清单。
3 本课程设计的意义
直流电动机作为一种高效率速度控制电动机引人注目、但市场的知名度还小高。
许多用户在设备用电动机的选择上经常出现不合理的现象。
比如为了实现设备的功能、当变点:
(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC,无零点漂移,控制精密高,可提供人机界面,多机联网工作。
采用智能功率电路驱动比传统的分立功率器件组成的驱动体积小,功能强;减少了电路元器件数\布线电容和电感以及信号传输的延时,增加了系统抗干扰的能力;集成化使系统成本大大降低。
4应用软件介绍
4.1Proteus仿软真件的介绍
Proteus是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
该软件的特点:
(1)全部满足我们提出的单路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③ 目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、 PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④ 支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。
4.2 Keil软件 Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
5电路使用元件的介绍
5.1关于AT89C51单片机的简介
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8闪烁存储,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图1 AT89C51管脚图
5.2关于DS18B20温度传感器的简介
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
5.3关于L298电机驱动芯片的简介
L298是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片的主要特点是:
工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路 。
5.4关于LM016液晶模块的简介
LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。
IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符0中和5*10点阵字符32种.CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM。
6部分硬件的工作原理
6.1直流电动机的工作原理
直流电动机的工作原理 一般了解1、直流电动机的构造分为两部分:
定子与转子。
记住定子与的励磁方式密切相关,通常直流电动机的励磁方式有4种:
直流他励电动机、直流并励电动机、直流串励电动机和直流复励电动机。
掌握4种方式各自的特点:
直流他励电动机:
励磁绕组与电枢没有电的联系,励磁电路是由另外直流电源供给的。
小。
直流串励电动机:
励磁绕组是和电枢串联的,所以这种电动机内磁场随着电枢电流的改变有显著的变化。
为了使励磁绕组中不致引起大的损耗和电压降,励磁绕组的电阻越小越好,所以直流串励电动机通常用较粗的导线绕成,他的匝数较少。
直流复励电动机:
电动机的磁通由两个绕组内的励磁电流产生。
6.2转速的测量原理
转速是电机的一个最常用参数,电机的转速常以每分钟的转数来表示,其单位为r/min。
转速的测量方法很多,由于转速是以单位时间内的转数来衡量的,因此采用霍尔元器件测量转速是较为常用的一种测量方法。
霍尔器件是有半导体材料制成的一种薄片,器件的长、宽、高分别为l、b、d。
若在垂直于薄片平面(沿厚在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面问的电位差 称为霍尔电压。
霍尔电压大小为:
式中:
H—霍尔常数;d—元件厚度;B—磁感应强度;I—控制电流
设
,则
为霍尔器件的灵敏系数(mV/mA/T),表示该霍尔元件在单位磁感应强度和单位控制电流下输出近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响,故输出脉冲信号,其频率和转速成正比,测出脉冲的周期或频率即可计算出转速。
数;e(t)—调节器的输人,一般为偏差值。
系统采用了比例积分调节器,简称PI调节器,使系统在扰动的作用下,通过PI调节器的调节器作用使电动机的转速达到静态无差,从而实现了静态无差。
无静差调速系统中,比例积分调节器的比例部分使动态响应比较快(无滞后),积分部分使系统消除静差。
7直流电动机的转速控制系统软件设计
7.1编程思路
控制系统程序的功能是用89C51单片机的,ID端El作为定时器、Tl作为霍尔元件产生脉冲输入则Po端口的输出值减l送出给DAC0832控制电机转速减速。
如果测量值比设定值小,则P0端口的输出值加1送出给DAC0832控制电机转速加速。
运行过程中不断的调整,直到电机的转速达到设定为止。
7.2系统流程图
图2系统流程图
图3 温度处于10-45度时的电路图}
void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
lcdrs=0;
}
void init()
{
TMOD=0x11;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
EA=1;
ET0=1;
TR0=1;
ET1=1;
TR1=1;
flag=0;
ENA=0;
}
void dsreset(void)
{
uint i;
DS=1;
i++;
DS=0;
i=103;
while(i>0)i--;
DS=1;
i=4;
while(i>0)i--;
DS=1;
}
bit tmpreadbit(void)
{
uint i;
bit dat;
DS=1;
DS=0;
i++;
i++;
DS=1;
i++5.1BS18B20温度采集
5.1.1温度采集初始化
voiddsreset(void)
{
uinti;
DS=1;
i++;
DS=0;
i=103;
while(i>0)i--;
DS=1;
i=4;
while(i>0)i--;
DS=1;
}
5.1.2写命令控制温度传感器
voidtmpwritebyte(uchardat)
{
uinti;
ucharj;
bittestb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb)//write1
{
DS=0;
i++;i++;
DS=1;
i=8;while(i>0)i--;
}
else
{
DS=0;
i=8;while(i>0)i--;//write0
DS=1;
i++;i++;
}
}
}
5.1.3读数据赋值给dat
bittmpreadbit(void)
{
uinti;
bitdat;
DS=1;
DS=0;i++;i++;
DS=1;i++;
dat=DS;
i=8;while(i>0)i--;
return(dat);
}
uchartmpread(void)
{
uchari,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=tmpreadbit();
dat=(j<<7)|(dat>>1);
}
return(dat);
}
5.1.4数据处理即判断温度正负
uinttmp()
{
floattt;
uchara,b,b1;
dsreset();
delay
(1);
tmpwritebyte(0xcc);
tmpwritebyte(0xbe);
a=tmpread();
b=tmpread();
temp=b;
b1=b;
temp<<=8;
temp=temp|a;
if(b1<8)
{
flag+=1;
tt=temp*0.0625;
temp=tt*10+0.5;
dis_buf[0]=0;
}
else
{
flag-=1;
temp=~temp;
temp=temp+1;
tt=temp*0.0625;
temp=tt*10+0.5;
dis_buf[0]=0x40;
}
returntemp;
}
5.2数码管显示采集的温度
5.2.1将采集后转化的温度对数组赋值
voiddisplay(uinttemp)
{
ucharA1,A2,A3;
A1=temp/100;
A2=temp%100/10;
A3=temp%10;
t=A1*10+A2;
dis_buf[3]=table[A3];
dis_buf[2]=table1[A2];
dis_buf[1]=table[A1];
}
5.2.2用定时器T1调用温度采集函数进行温度采集
voidtimer1()interrupt3
{
TH1=(65536-20000)/256;
TL1=(65536-20000)%256;
tmpchange();
display(tmp());
}
5.2.3用定时器T0将处理后的温度用数码管显示
voidtimer0()interrupt1
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
P2=0xff;
P0=dis_buf[dis_index];
P2=dis_digit;
dis_digit=_crol_(dis_digit,1);
dis_index++;
dis_index&=0x07;
}
5.3判断电机旋转情况
if(flag==1)
{
flag=0;
if(t>=75)
Turn_z();
else
if(t>=45)
Turn_zj();
else
if(t>10)
Turn_t();
else
Turn_fj();
}
else
if(flag==-1)
{
flag=0;
Turn_f();
}
6Proteus仿真
6.1Proteus中各元件的元件图
6.1.1AT89C51截图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计