调速风扇单片机.docx

上传人:b****8 文档编号:10298630 上传时间:2023-02-09 格式:DOCX 页数:19 大小:376.14KB
下载 相关 举报
调速风扇单片机.docx_第1页
第1页 / 共19页
调速风扇单片机.docx_第2页
第2页 / 共19页
调速风扇单片机.docx_第3页
第3页 / 共19页
调速风扇单片机.docx_第4页
第4页 / 共19页
调速风扇单片机.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

调速风扇单片机.docx

《调速风扇单片机.docx》由会员分享,可在线阅读,更多相关《调速风扇单片机.docx(19页珍藏版)》请在冰豆网上搜索。

调速风扇单片机.docx

调速风扇单片机

电子与电气综合实训报告

 

系别:

电气工程系

班级:

xxxxx

姓名:

xx

学号:

xxxxxxxx

实训地点:

B16-503

实训时间:

第4-5周

实训指导老师:

xxxx

 

一、方案论证

二、硬件电路设计

三、PCB设计

四、焊接调试

五、软件设计

六、实训小结

 

一、方案论证

1.任务分析

本次实训是基于我们本专业的一个简单生活应用实例。

随着生活水平的改善,科技的不断创新,电子电气产品也不断的改革,从普通式向智能化发展。

这次课题就是关于我们生活中的家用电器——电风扇,这次设计的电风扇是由四个动态数码管组成,第一位是显示档位,一共三档,三档最大,工作时处于低电平状态。

中间两位是横,没有意义为了看上去美观设置的。

最后一位是定时的,从零到九,每一个数字表示5秒。

调档和定时由两个按键控制。

上面就是这次要做的智能风扇的简述。

2.系统框图

按键

AT89C51单片机

数码管显示

PWM功率放大

电机

二、硬件电路设计

1.单片机

单片机的40个引脚大致可分为4类:

电源、时钟、控制和I/O引脚。

⒈电源:

 ⑴VCC-芯片电源,接+5V;⑵VSS-接地端;⒉时钟:

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

⒊控制线:

控制线共有4根, ⑴ALE/PROG:

地址锁存允许/片内EPROM编程脉冲

   ①ALE功能:

用来锁存P0口送出的低8位地址

   ②PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

 ⑵PSEN:

外ROM读选通信号。

 ⑶RST/VPD:

复位/备用电源。

   ①RST(Reset)功能:

复位信号输入端。

   ②VPD功能:

在Vcc掉电情况下,接备用电源。

 ⑷EA/Vpp:

内外ROM选择/片内EPROM编程电源。

①EA功能:

内外ROM选择端。

   ②Vpp功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋I/O线

 80C51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

 5.51单片机引脚图如下所示

2.显示

LED显示器又称数码管,八段LED显示器由8个发光二极管组成。

其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为h发光二极管。

LED显示器有两种不同的形式:

一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。

共阴与共阳极数码管的不同在于公共端一个接地一个接电源。

共阴数码管接地,共阳数码管接电源。

当二极管导通时,相应的发光二极管点亮,由点亮的二极管组合而显示各种字符。

8个笔划段hgfedcba对应于一个字节(8位)的D7D6D5D4D3D2D1D0,于是用8位二进制码就可以表示欲显示字符的字型代码。

与单片机显示图如图4所示。

编码如表3所示

表3LED显示的字符与编码表

显示字符

共阴极字型码

共阳极字型码

0

3FH

C0H

1

06H

F9H

2

5BH

A4H

3

4FH

B0H

4

66H

99H

5

6DH

92H

6

7DH

82H

7

07H

F8H

8

7FH

80H

9

6FH

90H

图4共阳极LED显示器89C51控制电路

3.按键

本次设计的硬件中用了2个键,选择的连接到单片机的端口分别是P1.0,P1.1.其中P1.0用于调节风扇档位;P1.1用于定时调节,按下一次加5秒钟;

4.PWM调速

PWM的意思是脉宽调节,也就是调节方波高电平和低电平的时间比,一个20%占空比波形,会有20%的高电平时间和80%的低电平时间,而一个60%占空比的波形则具有60%的高电平时间和40%的低电平时间,占空比越大,高电平时间越长,则输出的脉冲幅度越高,即电压越高.如果占空比为0%,那么高电平时间为0,则没有电压输出.如果占空比为100%,那么输出全部电压.

三、PCB设计

1.元件封装

2.布局布线规则技巧

元件布局基本规则

1.按电路模块进行布局,实现同一功能的相关电路称为一个模块,电路模块中的元件应采用就近集中原则,同时数字电路和模拟电路分开;

2.定位孔、标准孔等非安装孔周围1.27mm内不得贴装元、器件,螺钉等安装孔周围3.5mm(对于

M2.5)、4mm(对于M3)内不得贴装元器件;

3.卧装电阻、电感(插件)、电解电容等元件的下方避免布过孔,以免波峰焊后过孔与元件壳体短路;

4.元器件的外侧距板边的距离为5mm;

5.贴装元件焊盘的外侧与相邻插装元件的外侧距离大于2mm;

6.金属壳体元器件和金属件(屏蔽盒等)不能与其它元器件相碰,不能紧贴印制线、焊盘,其间距应大于2mm。

定位孔、紧固件安装孔、椭圆孔及板中其它方孔外侧距板边的尺寸大于3mm;

7.发热元件不能紧邻导线和热敏元件;高热器件要均衡分布;

8.电源插座要尽量布置在印制板的四周,电源插座与其相连的汇流条接线端应布置在同侧。

特别应注意不要把电源插座及其它焊接连接器布置在连接器之间,以利于这些插座、连接器的焊接及电源线缆设计和扎线。

电源插座及焊接连接器的布置间距应考虑方便电源插头的插拔;

9.其它元器件的布置:

所有IC元件单边对齐,有极性元件极性标示明确,同一印制板上极性标示不得多于两个方向,出现两个方向时,两个方向互相垂直;

10、板面布线应疏密得当,当疏密差别太大时应以网状铜箔填充,网格大于8mil(或0.2mm);

11、贴片焊盘上不能有通孔,以免焊膏流失造成元件虚焊。

重要信号线不准从插座脚间穿过;

12、贴片单边对齐,字符方向一致,封装方向一致;

13、有极性的器件在以同一板上的极性标示方向尽量保持一致

元件布线规则

1、画定布线区域距PCB板边≤1mm的区域内,以及安装孔周围1mm内,禁止布线;

2、电源线尽可能的宽,不应低于18mil;信号线宽不应低于12mil;cpu入出线不应低于10mil(或8mil);线间距不低于10mil;

3、正常过孔不低于30mil;

4、双列直插:

焊盘60mil,孔径40mil;

1/4W电阻:

51*55mil(0805表贴);直插时焊盘62mil,孔径42mil;

无极电容:

51*55mil(0805表贴);直插时焊盘50mil,孔径28mil;

5、注意电源线与地线应尽可能呈放射状,以及信号线不能出现回环走线

3.PCB设计步骤

1.1电路原理图设计的步骤

(1)设置原理图设计环境;

(2)放置元件;

(3)原理图布线;

(4)编辑和调整;

(5)检查原理图;

(6)生成网络表。

2.1电路原理图设计

电路原理图设计最基本的要求是正确性,其次是布局合理,最后在是正确性和布局合理的前提下力求美观。

根据以上所述的电路原理图设计步骤,两级放大器电路原理图设计过程如下:

(1)启动原理图设计服务器

进入Protel99SE,创建一个数据库,执行菜单File/New命令,从框中选择原理图服务器(SchematicDocument)图标,双击该图标,建立原理图设计文档。

双击文档图标,进入原理图设计服务器界面。

(2)设置原理图设计环境

执行菜单Design/Options和Tool/Preferences,设置图纸大小、捕捉栅格、电气栅格等。

(3)装入所需的元件库

在设计管理器中选择BrowseSCH页面,在Browse区域中的下拉框中选择Library,然后单击ADD/Remove按钮,在弹出的窗口中寻找Protel99SE子目录,在该目录中选择Library\SCH路径,在元件库列表中选择所需的元件库,比如Miscellaneousdevicesddb,TIDatabook库等,单击ADD按钮,即可把元件库增加到元件库管理器中。

(4)放置元件

根据实际电路的需要,到元件库中找出所需的元件,然后用元件管理器的Place按钮将元件放置在工作平面上,再根据元件之间的走线把元件调整好。

(5)原理图布线

利用Protel99SE提供的各种工具、指令进行布线,将工作平面上的器件用具有电气意义的导线、符号连接起来,构成一个完整的电路原理图。

(6)编辑和调整

利用Protel99SE所提供的各种强大的功能对原理图进一步调整和修改,以保证原理图的美观和正确。

同时对元件的编号、封装进行定义和设定等。

(7)检查原理图

使用Protel99SE的电气规则,即执行菜单命令Tool/REC对画好的电路原理图进行电气规则检查。

若有错误,根据错误情况进行改正。

(8)生成网络表

网络表是电路原理图设计和印刷电路板设计之间的桥梁,执行菜单命令Design/CreateNetlist可以生成具有元件名、元件封装、参数及元件之间连接关系的网络表。

经过以上的步骤,完成了两级放大电路原理图的设计。

两级放大电路原理如图1所示。

2.2印刷电路板的设计

电路设计的最终目的是为了设计出电子产品,而电子产品的物理结构是通过印刷电路板来实现的。

Protel99SE为设计者提供了一个完整的电路板设计环境,使电路设计更加方便有效。

应用Protel99SE设计印刷电路板过程如下:

(1)启动印刷电路板设计服务器

执行菜单File/New命令,从框中选择PCB设计服务器(PCBDocument)图标,双击该图标,建立PCB设计文档。

双击文档图标,进入PCB设计服务器界面。

(2)规划电路板

根据要设计的电路确定电路板的尺寸。

选取KeepOutLayer复选框,执行菜单命令Place/Keepout/Track,绘制电路板的边框。

执行菜单Design/Options,在“SignalLager”中选择BottomLager,把电路板定义为单面板。

(3)设置参数

参数设置是电路板设计的非常重要的步骤,执行菜单命令Design/Rules,左键单击Routing按钮,根据设计要求,在规则类(RulesClasses)中设置参数。

选择RoutingLayer,对布线工作层进行设置:

左键单击Properties,在“布线工作层面设置”对话框的“PuleAttributes”选项中设置TodLayer为“NotUsed”、设置BottomLayer为“Any”。

选择WidthConstraint,对地线线宽进行设置:

左键单击Add按钮,进入线宽规则设置界面,首先在RuleScope区域的FilterKind选择框中选择Net,然后在Net下拉框中选择GND,再在RuleAttributes区域将Minimumwidth、Maximumwidth和Preferred三个输入框的线宽设置为1.27mm;

电源线宽的设置:

在Net下拉框中选择VCC,其他与地线线宽设置相同;

整板线宽设置:

在FilterKind选择框中选择WholeBoard,然后将Minimumwidth,Maximumwidth和Preferred三个输入框的线宽设置为0.635mm。

(4)装入元件封装库

执行菜单命令Design/Add/RemoveLibrary,在“添加/删除元件库”对话框中选取所有元件所对应的元件封装库,例如:

PCBFootprint,Transistor,GeneralIC,InternationalRectifiers等。

(5)装入网络表

执行菜单Design/LoadNets命令,然后在弹出的窗口中单击Browse按钮,再在弹出的窗口中选择电路原理图设计生成的网络表文件(扩展名为Net),如果没有错误,单击Execute。

若出现错误提示,必须更改错误。

(6)元器件布局

Protel99SE既可以进行自动布局也可以进行手工布局,执行菜单命令Tools/AutoPlacement/AutoPlacer可以自动布局。

布局是布线关键性的一步,为了使布局更加合理,多数设计者都采用手工布局方式。

(7)自动布线

Protel99SE采用世界最先进的无网格、基于形状的对角线自动布线技术。

执行菜单命令AutoRouting/All,并在弹出的窗口中单击Routeall按钮,程序即对印刷电路板进行自动布线。

只要设置有关参数,元件布局合理,自动布线的成功率几乎是100%。

(8)手工调整自动布线结束后,可能存在一些令人不满意的地方,可以手工调整,把电路板设计得尽善尽美。

(9)打印输出印刷电路板图执行菜单命令File/Print/Preview,形成扩展名为PPC的文件,再执行菜单命令File/printJob,就可以打印输出印刷电路板图

 

4.PCB板图

 

四、焊接调试

1.使用元器件检测判断

1.固定电阻器的检测。

将两表笔分别与电阻的两端引脚相接即可测出实际电阻值。

为了提高测量精度,应根据被测电阻标称值的大小来选择量程。

由于欧姆挡刻度的非线性关系,它的中间一段分度较为精细,因此应使指针指示值尽可能落到刻度的中段位置,即全刻度起始的20%~80%弧度范围内,以使测量更准确。

根据电阻误差等级不同。

读数与标称阻值之间分别允许有±5%、±10%或±20%的误差。

如不相符,超出误差范围,则说明该电阻值变值了。

2.二极管的检测

检测小功率晶体二极管

A判别正、负电极(a)观察外壳上的的符号标记。

通常在二极管的外壳上标有二极管的符号,带有三角形箭头的一端为正极,另一端是负极。

(b)观察外壳上的色点。

在点接触二极管的外壳上,通常标有极性色点(白色或红色)。

一般标有色点的一端即为正极。

还有的二极管上标有色环,带色环的一端则为负极。

(c)以阻值较小的一次测量为准,黑表笔所接的一端为正极,红表笔所接的一端则为负极。

B检测最高工作频率fM。

晶体二极管工作频率,除了可从有关特性表中查阅出外,实用中常常用眼睛观察二极管内部的触丝来加以区分,如点接触型二极管属于高频管,面接触型二极管多为低频管。

另外,也可以用万用表R×1k挡进行测试,一般正向电阻小于1K的多为高频管。

C检测最高反向击穿电压VRM。

对于交流电来说,因为不断变化,因此最高反向工作电压也就是二极管承受的交流峰值电压。

需要指出的是,最高反向工作电压并不是二极管的击穿电压。

一般情况下,二极管的击穿电压要比最高反向工作电压高得多(约高一倍)。

3.三极管检测判定基极。

用万用表R×100或R×1k挡测量三极管三个电极中每两个极之间的正、反向电阻值。

当用第一根表笔接某一电极,而第二表笔先后接触另外两个电极均测得低阻值时,则第一根表笔所接的那个电极即为基极b。

这时,要注意万用表表笔的极性,如果红表笔接的是基极b。

黑表笔分别接在其他两极时,测得的阻值都较小,则可判定被测三极管为PNP型管;如果黑表笔接的是基极b,红表笔分别接触其他两极时,测得的阻值较小,则被测三极管为NPN型管。

判定集电极c和发射极e。

(以PNP为例)将万用表置于R×100或R×1K挡,红表笔基极b,用黑表笔分别接触另外两个管脚时,所测得的两个电阻值会是一个大一些,一个小一些。

在阻值小的一次测量中,黑表笔所接管脚为集电极;在阻值较大的一次测量中,黑表笔所接管脚为发射极。

4.固定电容器的检测A检测10pF以下的小电容因10pF以下的固定电容器容量太小,用万用表进行测量,只能定性的检查其是否有漏电,内部短路或击穿现象。

测量时,可选用万用表R×10k挡,用两表笔分别任意接电容的两个引脚,阻值应为无穷大。

若测出阻值(指针向右摆动)为零,则说明电容漏电损坏或内部击穿。

B检测10PF~0.01μF固定电容器是否有充电现象,进而判断其好坏。

万用表选用R×1k挡。

两只技术'>三极管的β值均为100以上,且穿透电流要些可选用3DG6等型号硅三极管组成复合管。

万用表的红和黑表笔分别与复合管的发射极e和集电极c相接。

由于复合三极管的放大作用,把被测电容的充放电过程予以放大,使万用表指针摆幅度加大,从而便于观察。

应注意的是:

在测试操作时,特别是在测较小容量的电容时,要反复调换被测电容引脚接触A、B两点,才能明显地看到万用表指针的摆动。

C对于0.01μF以上的固定电容,可用万用表的R×10k挡直接测试电容器有无充电过程以及有无内部短路或漏电,并可根据指针向右摆动的幅度大小估计出电容器的容量。

2.焊接技巧

正确使用电烙铁

1、电烙铁使用前要上锡,具体方法是:

将电烙铁烧热,待刚刚能熔化焊锡时,涂上助焊剂,再用焊锡均匀地涂在烙铁头上,使烙铁头均匀的吃上一层锡。

2、焊接时间不宜过长,否则容易烫坏元件,必要时可用镊子夹住管脚帮助散热。

3、焊接完成后,要用酒精把线路板上残余的助焊剂清洗干净,以防炭化后的助焊剂影响电路正常工作。

4、电烙铁应放在烙铁架上。

元件焊接顺序

先难后易,先低后高,先贴片后插装。

宗旨:

焊接方便,节省时间。

先焊接难度大的,这主要是指管脚密集的贴片式集成芯片。

如果把这些难度大的放于最后焊接,一旦焊接失败把焊盘搞坏,那就会前功尽弃。

先低后高,先贴片后插装。

这样焊接起来方便。

如先把高的元件焊接了,有可能妨碍其他元件的焊接,尤其是高大的元件密集众多的时候。

如果先焊接插装的元件,电路板就会在焊台上放不平,影响焊接心情

3.电路板的调试

开始程序出了一点问题,自己修改了很长时间可是还是没有成功,后来在同学几次的指导之下,风扇成功运转了。

五、软件设计

 

1.软件流程图

 

2.程序

#include

sbitk=P1^1;//功能按键

sbitk1=P1^0;//调速(PWM占空比调节)

bitk_f=0;//按志位

bitk1_f=0;//按键键K标K1标志位

//电源控制

sbitpwm=P3^6;//电机驱动PWM输出端

unsignedchartime;

unsignedchardis[4];//显示缓存

unsignedchardanwei=0;//档位变量0~3

unsignedcharzhangkb=0;//pwm占空比

unsignedcharcodescan[4]={0x8f,0x4f,0x2f,0x1f};

unsignedcharcodeseg[11]={0xa0,0xbb,0x62,0x32,0x39,0x34,0x24,0xba,0x20,0x30,0x7f};

voiddelay(unsignedintms)

{

unsignedintx;

while(ms!

=0)

{

for(x=0;x<125;x++);

ms=ms-1;

}

}

voidchengxu(void)

{

if(k==0)///////按键按下

{

delay(10);//延时消抖

if(k==0&&k_f==0)//再判断

{

k_f=1;///标志位置1

time=time+1;

if(time>9)time=0;

}

}

if(k==1){k_f=0;}//判断按键抬起,标志位置0.

if(k1==0)

{

delay(10);

if(k1==0&&k1_f==0)

{

k1_f=1;

danwei++;//档位

if(danwei>3)danwei=0;

}

}

if(k1==1)k1_f=0;

}

main()

{

TMOD=0X12;//2个定时器都工作在方式1即16位定时器

TH0=256-200;

TL0=6;

TH1=(65536-4000)/256;//4ms(数码管扫描)

TL1=(65536-4000)%256;

TR0=1;//启动定时

TR1=1;

ET0=1;//开定时中断0

ET1=1;

EA=1;

while

(1)

{

chengxu();

dis[0]=time%10;//显示定时剩余时间(分个位)

dis[1]=10;//显示-

dis[2]=10;//显示-

dis[3]=danwei;//显示档位

//pwm占空比控制

if(danwei==0){zhangkb=0;P1=0XfF;}//占空比0%

elseif(danwei==1){zhangkb=4;P1=0X7F;}//占空比40%;

elseif(danwei==2){zhangkb=7;P1=0X3F;}//占空比70%

elseif(danwei==3){zhangkb=10;P1=0X1F;}//占空比100%

}

}

voidtime0(void)interrupt1

{

staticunsignedcharj=0;

j++;

if(j>9){j=0;}

if(zhangkb>j){pwm=0;}

elsepwm=1;

}

voidtimer1(void)interrupt3

{

staticunsignedchart,sec,i;

TH1=(65536-4000)/256;

TL1=(65536-4000)%256;

if(time)t++;

if(t>250){t=0,sec++;}

if(sec>5)//此处应为5s

{

sec=0;

time--;

if(time==0)danwei=0;

}

P2=scan[i];

P0=seg[dis[i]];

i++;

if(i>3)i=0;

}

六、实训小结

通过这次实训对单片机在生活中的应用也有所了解,知道了单片机的重要性,做PCB对布线也有了一定的了解,对元器件有了一点的了解,知道了怎么检测部分元器件的极性以及好坏,还有检验电路。

此外这次智能风扇的制作我受益匪浅,相信这次制作过程也为我以后的工作经验积累了不少,减少了以后工作中的曲折,也提高了工作毅力。

 

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

当前位置:首页 > 求职职场 > 简历

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

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