智能电风扇课程设计.docx

上传人:b****6 文档编号:6162225 上传时间:2023-01-04 格式:DOCX 页数:17 大小:697.64KB
下载 相关 举报
智能电风扇课程设计.docx_第1页
第1页 / 共17页
智能电风扇课程设计.docx_第2页
第2页 / 共17页
智能电风扇课程设计.docx_第3页
第3页 / 共17页
智能电风扇课程设计.docx_第4页
第4页 / 共17页
智能电风扇课程设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

智能电风扇课程设计.docx

《智能电风扇课程设计.docx》由会员分享,可在线阅读,更多相关《智能电风扇课程设计.docx(17页珍藏版)》请在冰豆网上搜索。

智能电风扇课程设计.docx

智能电风扇课程设计

《单片机原理与应用》课程设计报告

智能电风扇设计

要求:

一、功能要求

1.能控制电机正反转,有正转和反转按钮。

2.在一定范围内可控制转速,有加速和加速按钮,用七段码显示。

3.可在不断电源的情况下暂停,有一个暂停按钮。

4.电动机处于哪个速度状态观察七段码数值,也可直观的观察电动机的旋转状态比较。

二、设计过程要求

1、查阅资料确定设计方案;

2、对设计方案进行仿真验证;

3、选择合适的元器件,搭建电路实验验证效果;

4、画出PCB图;

5、书写设计报告;

6、答辩。

三、设计报告要求

设计报告主要包括:

题目、内容和要求、总体方案和设计思路、仿真电路图、软件设计、仿真调试效果、实验测试效果图、PCB图、心得体会。

姓名:

许德东

学号:

1886100119

专业:

电子科学与技术

班级:

10级1班

成绩:

评阅人:

安徽科技学院理学院物电系

智能电风扇设计实验报告

一、内容和要求

1、利用proteus软件设计各模块工作原理图,并进行模拟仿真;

2、控制程序设计、调试及实现:

(1)根据要求,写出完整的程序流程图;

(2)将设计程序输入,生成*.OBJ文件;

(3)利用proteus软件进行电路模拟仿真和调试

4、设计硬件电路并烧写程序,调试后系统能按照要求工作;

5、写出课程设计说明书(统一格式)

二、目的和意义

1、目的:

(1)、理论联系实际加深对课本知识的理解和运用;

(2)、学会用单片机编程设计有用的实物,提高自己的创新设计能力。

2、意义:

《单片机原理与嵌入式系统设计》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。

三、总体方案和设计思路

3.1总体方案

本课程设计的内容是利用51单片机,达到控制步进电机的启动、停止、正转、反转、速度和状态显示的目的,使步进电机控制更加灵活。

步进电机驱动芯片采用ULN2003A,ULN2003A具有大电流、高电压,外电路简单等优点。

利用数码管增设电机速度状态显示功能,各项数据更直观。

实测结果表明,该控制系统达到了设计的要求。

图-1总体方案模块图

3.2、设计过程和思路

1、课程设计任务

根据给定的任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。

有关参数选择要求符合国家标准。

具体设计内容如下:

(1).能控制电机正反转,有正转和反转按钮。

(2).在一定范围内可控制转速,有加速和加速按钮,用七段码显示。

(3).可在不断电源的情况下暂停,有一个暂停按钮。

(4).电动机处于哪个速度状态观察七段码数值,也可直观的观察电动机的旋转状态比较。

单片机的应用系统随着用途不同,它们的硬件和软件结构差别很大,但系统设计的方法和步骤基本上是相同的。

一般包括总体设计、硬件设计、软件设计、仿真调试、固化程序、应用系统独立运行等步骤。

2、电路所用主要元件认识

(1)、AT98S51芯片认识

图-2AT80C51引脚分布图

并行I/O口引脚引脚功能

P0口:

8位,漏极开路的双向I/O口

①当80C51外扩存储器及I/O接口芯片时,P0口作为低8位地址总线及数据总线的分时复用端口。

②P0口也可用作通用的I/O口,需要加上拉电阻,这时为准双向口。

作为通用I/O输入,应先向端口写入1,可驱动8个LS型TTL负载。

P1口:

8位,准双向I/O口,具有内部上拉电阻。

①准双向I/O口,作为通用I/O输入时,应先向端口锁存器写1。

P1口可驱动4个LS型TTL负载。

②P1.5/MOSI、P1.6/MISO和P1.7/SCK可用于对片内Flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。

P2口:

8位,准双向I/O口,具有内部上拉电阻。

①当80C51外扩存储器及I/O口时,P2口作为高8位地址总线用,输出高8位地址。

②P2口也可作为普通的I/O口使用。

当作为通用I/O输入时,应先向端口输出锁存器写1。

可驱动4个LS型TTL负载。

P3口:

8位,准双向I/O口,具有内部上拉电阻。

①可作为通用的I/O口使用。

作为通用I/O输入,应先向端口输出锁存器写入1。

可驱动4个LS型TTL负载。

②P3口还可提供第二功能,功能表如表4-1所示:

表-1P3口第二功能定义

引脚

第二功能

说明

P3.0

RXD

串行数据输入口

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

外部数据存储器读选通输出

(2)ULN200A芯片认识

ULN2003A芯片是一个7路反相器,即第1到7引脚输入端为低电平时,对应输出端第16到10引脚输出为高电平,反之亦然。

8引脚接地,第9引脚COM提供工作电压,如proteus中图(3),实物图中引脚编号是逆时针(8号在左下,9号在右下)。

图-3ULN200A芯片引脚分布

本设计中引脚1、2、3、4分别与AT89s51芯片的P2.0、P2.1、P2.2、P2.3口相连接,规定正转为逆时针方向的转动引脚16、15、14、13连接到A、B、C、D上所示,电动机中间引脚直接与5V电压相接,目的是驱动电动机,使其正常工作

(3)七段码显示管认识

七段码是大家比较熟悉,实质上就是一些二极管组合,这里用的是共阳极的七段码。

课本上还有接法及码值表。

本设计由P0口控制显示,用共阳极的。

从P0.0-P0.7连接a-f引脚,com接电源。

LED是发光二极管的英文缩写,LED显示器是由发光二极管构成的,它在单片还机中的应用非常普遍。

通常所说的LED显示器由7个发光二极管组成,其排列状如图所示。

此外,显示器中还有一个圆点型发光二极管以d表示,用于小数点表示。

通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。

LED显示中的发光二极管共有两种连接方法:

共阳极接法:

把发光二极管的阳极连在一起构成公共阳极。

使用时公共阳极接+5V。

这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不亮。

共阴极接法:

把发光二极管的阴极连在一起构成公共阴极。

使用时公共阴极接地。

这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不亮。

十六进制码值表如下:

表-2数码管编码表

十六进制数

hgfedcba

显示代码

0

00111111

0x3f

1

00000110

0x06

2

01011011

0x5b

3

01001111

0x4f

4

01100110

0x66

5

01101101

0x6d

6

01111101

0x7d

7

00000111

0x07

8

01111111

0x7f

9

01101111

0x6f

.

10000000

0x80

图-4七段显示数码管

(4)本实验使用步进电机

步进电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

进电机工作原理

步进电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。

步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。

步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。

步进电机实际上是一个数字/角度转换器,三相步进电机的结构原理如图所示。

从图中可以看出,电机的定子上有六个等分磁极,A、A′、B、B′、C、C′,相邻的两个磁极之间夹角为60°,相对的两个磁极组成一相(A-A′,B-B′,C-C′),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均匀分布矩形小齿,电机的转子上有40个矩形小齿均匀地分布的圆周上,相邻两个齿之间夹角为9°。

当某一相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路,如果这时定子的小齿和转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子和定子的齿相互对齐。

由此可见,错齿是促使步进电机旋转的原因。

图-5步进电机结构图

步进电机以三相六拍(三相双拍)方式工作,若按A→AB→B→BC→C→CA→A次序通电为正转,则当按A→AC→C→CB→B→BA→A次序通电为反转。

三相三拍(三相单拍)有两种A→B→C→A,AB→BC→CA→AB正转,反转则反序。

注意:

步进电机转数受相数、起转频率、载荷影响等只能在一定范围内。

四、原理电路图设计

1、显示部分电路

用七段显示数码管共阳接法显示电机的转速从0-9,当停止时显示P。

图-6显示电路

2、转动部分电路

电机通过ULN2003A芯片驱动转动。

图-7转动电路

3、按键控制电路

按键1停止、按键2反转、按键3正传、按键4加速、按键5减速。

图-8按键控制

4、晶振复位电路

晶振为6Mz,R1为200Ω,R2为20KΩ

图-9晶振复位电路

5、完整电路

图-10完整原理图电路

五、软件设计

图-11程序流程图

1、编写程序

(1)旋转程序

其实挺简单的就是让接电机驱动的P2.0~P2.3只有一个不同电平在这四相来回安循环即可,也可双相。

例如:

for(i=0,P2=0x01;i<4;i++)

{delay(12);

P2=P2<<1;

}

(2)延时程序

直接用循环即可

voiddelay(m)

{inti,j;

for(i=0;i

for(j=0;j<1000;j++);

}

(3)加减速程序

步进电机实现速度的精确控制,我设定十个速度,通过加减延时来实现。

其中最小速度还可用来控制角度,我见一个同学专门编一这样程序才想到的。

(4)制动

把P2置为0ff或00即可实现。

(5)速度显示

用码值表建立一数组即可。

2、完整程序

#include

#defineuintunsignedint

voidstop();

voidfun();

fast(intn);

slow(intn);

voiddelay(uintm);

sbitk1=P1^0;

sbitk2=P1^1;

sbitk3=P1^2;

sbitk4=P1^3;

sbitk5=P1^4;

uintseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uintspb[]={240,100,60,50,30,20,10,5,3,1};

intn=0,m;

voidmain()//主程序

{

while

(1)

{P0=seg[n];

stop();

fun();

}

}

voidstop()//紧急制动子程序

{

if(k1==0)

{delay(10);

if(k1==0)

while(!

k1)

{P2=0xff;P0=0x8c;}

P0=seg[n];

}

}

voidfun()//正反转子程序

{inti;

if(!

k2)

{delay(10);

while(!

k2)

{stop();

if(!

k4)n=fast(n);

if(!

k5)n=slow(n);

for(i=0,P2=0x01;i<4;i++)

{delay(spb[n]);

P2=P2<<1;

}

}

}

if(!

k3)

{delay(10);

while(!

k3)

{stop();

if(!

k4)n=fast(n);

if(!

k5)n=slow(n);

for(i=0,P2=0xf7;i<4;i++)

{delay(spb[n]);

P2=P2>>1;

}

}

}

if(!

k4)n=fast(n);

if(!

k5)n=slow(n);

}

fast(n)//加速子程序

{delay(10);

while(!

k4&&n<9)

{n++;

P0=seg[n];

delay(150);

}

return(n);

}

slow(n)//减速子程序

{delay(10);

while(!

k5&&n>0)

{n--;

P0=seg[n];

delay(150);

}

return(n);

}

voiddelay(m)//延时子程序

{inti,j;

for(i=0;i

for(j=0;j<500;j++);

}

六、仿真调试验证

图-12仿真图

1、初始时没开关按下数码管显示0,第二、三按钮为正反转按钮,按下其一就能实现正反旋转。

每次换方向都需松开另一方向开关,否则以先按下为准旋转。

2、加减速控制

按下加减速开关,数码管会显示速度编号。

当松开加减速按钮数码管显示就是当前速度值。

3、紧急制动

无论是否有按钮按下,按下紧急制动按钮电机会停止,七段码显示“P”。

通过Proteus模拟达到效果所以就开始焊接电路板。

七、实物图

图-13仿真实物图

八、PCB板图

图-14PCB板图

九、课程心得总结

本次设计是对所学知识的一次综合性运用,学会了独立设计的过程和查找资料的方法。

其中包括对模拟电子技术基础、数字电子技术基础、单片机、计算机语言等知识的运用,从而完成了本次的设计。

在设计的过程中发现了自身的不足,并且我认为只有具备了专业基础知识,才能成功的设计出一份合格的事物。

这次设计收获颇多,体会也很深刻,并且对我们所学的东西也产生了浓厚的兴趣。

在设计过程中,也加深了对一些软件的认识和运用,采用Proteus仿真软件进行绘制电路原理图,以及运用KeilC51编程软件对系统进行编程实现功能。

当然最重要的是学到了关于基本电子设计的一些基本方法,同时也加深了对一些常用的电子元件的理解及其基本用法。

我的电风扇步进电机能实现十种不同的速度,当然通过编程能实现更多,达到速度精确,数码管显示的只是速度编号。

最慢的速度,通过按钮点动控制实现角度控制。

普通电机只能实现一种速度,若变速需要复杂变速机构且效率低。

本次课程设计,虽然老师分成硬件、软件编程,但我是从画图到编程再到连接实物电路全部自己做的。

基本对本次设计刚到满意,虽然硬件做的不是很好。

通过本次课程设计真正体验到利用单片机设计功能电路制作过程,同时了解了步进电机基本原理,基本要求,确实学到不少知识。

我从与老师同学交流中知道自己有哪些不足有待提高,也感觉到执着追求知识之精神。

做本次课程设计我已尽力,虽然功能实现的不是太完美,也基本达到我想要的效果,也确实有了很大的提高。

十、参考文献

[1]张齐等编著.《单片机原理与嵌入式系统设计》电子工业出版社,2011年8月

[2]杨渝清主编.控制电机(第二版)机械工业出版社,2004年1月

[3]刘坤赵红波张宪栋编.51单片机C语言应用开发技术大全(第二版),2012年3月

[4]楼然苗李光飞编.单片机课程设计指导(第二版),2005年4月

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

当前位置:首页 > 自然科学

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

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