资源描述
燕山大学
课 程 设 计 说 明 书
题目: 窗帘自动开关控制器
学院(系):电气工程学院自动化系
年级专业: 11级计控2班
学 号: 110103010083
学生姓名: 张平
指导教师: 蔡满军 梁振虎
教师职称: 教授
窗帘自动开关控制器
摘要:窗帘在人们的日常生活中有着不可替代的作用,窗帘在室内装修中,分别起着保护私隐、利用光线、装饰墙面、吸音隔噪的作用。到目前为止,窗帘已经发展到相当水平,其中布艺帘以它的独有的时代魅力深受人们欢迎。当窗户面积大、窗户高或安装厚重的窗帘布时,使用手动或拉绳都比较费力,并且容易导致帘布损坏,所以现在采用光控电动自动控制布帘的方式代表时代发展的潮流。由于其质量技术等各方面的全面改进,理所当然,光控自动窗帘成为科技不断进步,社会飞速发展的必然产物。为了让室内居住、工作或者学习的人拥有一个更舒适的环境,我们设计了一个自动光控窗帘的系统,它能够感应周围环境的光照强度,当光照低于某一数值时窗帘会自动放下,等到光照又回到某一数值时窗帘又会自动地收起。本课题设计分为三大模块,分别是光照采集模块、A/D转换模块以及电机正反转控制模块。光照采集模块我们用光敏电阻串联另一个电阻进行分压,以此改变输入信号来改变控制信号;A/D转换模块我们用芯片ADC0809来转换信号,之后将信号送入单片机MCS-8051中进行控制;电机正反转控制模块我们用MCS-8051输出的信号接芯片L298N的两个控制端,从而控制直流电机的正转和反转。
关键词:自动光控窗帘、ADC0809、MCS-8051、L298N
目录
摘要........................................................................................................................................................-1-
一 课程设计任务 - 2 -
1.1 功能要求 - 2 -
1.2 元器件清单 - 2 -
二 整体方案............................................................................................................................................-4-
2.1 设计思路 - 4 -
2.2 整体框图 - 4 -
2.3 各模块简介 - 4 -
三 硬件电路设计 - 6 -
3.1 光照采集模块硬件电路 - 8 -
3.2 A/D转换模块硬件电路 - 9 -
3.3 电机正反转控制模块硬件电路 - 9 -
四 控制软件设计 - 10 -
4.1 光照采集模块软件设计 - 10 -
4.2 A/D转换模块软件设计 - 10 -
4.3 电机正反转控制模块软件设计 - 11 -
主要参考文献 - 14 -
结论 - 15-
程序.........................................................................................................................................................-15-
一 课程设计任务
1.1 功能要求
本组设计的自动光控窗帘可以通过周围环境的光照变化来控制电压变化,从而控制直流电机的正转和反转。当周围光照降低到某一数值时,电机开始正转,数秒后停止。此时电机处于停止状态。当周围光照上升到某一数值时,电机开始反转,数秒后停止。这一个来回的过程就达到了自动光控窗帘的效果了。
1.2 元器件清单
元器件 数量
光敏电阻 1
ADC0809 1
MCS-8051 1
L298n 1
CD4013 1
三极管9013 1
直流电机 1
其他元件 若干
二 整体设计方案
2.1 设计思路
本课题的设计思路是由光敏电阻与一个电阻串联构成分压电路,当光照强度改变时,光敏电阻电阻值改变,电压也会改变,由此构成了变化的输入电压信号。信号经ADC0809进行A/D转换,将信号送入单片机MCS-8051中,用来控制2个输出端的电平高低,这2个输出端与芯片L298N的输入相连,用于控制电机的正反转,这就实现了自动光控窗帘的效果了
2.2 整体框图
2.3 各模块简介
1) 光照采集模块:由光敏电阻阻值的改变来实现输入电压的变化。
光敏电阻器又称光导管,特性是在特定光的照射下,其阻值迅速减小,可用于检测可见光。 光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。 通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内就激发出电子— 空穴对,参与导电,使电路中电流增强。
光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的
光敏电阻器
强弱而改变的电阻器。主要用于光的测量、光的控制、和光电转换。如图:光敏电阻器都制成薄片结构,以便能够吸收更多的光能。该类电阻器的特点是入射光越强,电阻值就越小,入射光越弱,电阻值就越大。如声控灯中采用了光敏电阻器作为白天控制灯光的装置。
结构:通常由光敏层、玻璃基片(或树枝防潮膜)和电极等组成的。
特性:光敏电阻器是利用半导体光电导效应制成的一种特殊电阻器,对光线十分敏感,它的电阻值能随着外界光照强弱(明暗)变化而变化。它在无光照射时,呈高阻状态;当有光照射时,其电阻值迅速减小。
2) A/D转换模块:将光敏电阻与普通电阻分压进来的电压转换成单片机MCS-8051需要的信号。本设计中采用ADC0809。
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。目前仅在单片机初学应用设计中较为常见。
a主要特性编辑
1)8路输入通道,8位A/D转换器,即分辨率为8位。
2)具有转换起停控制端。
3)转换时间为100μs(时钟为640KHz时),130μs(时钟为500KHz时)。
4)单个+5V电源供电。
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度。
7)低功耗,约15mW。
b 内部结构编辑
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。
外部特性(引脚功能)
ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。
下面说明各引脚功能:
· IN0~IN7:8路模拟量输入端。
· 2-1~2-8:8位数字量输出端。
· ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。
· ALE:地址锁存允许信号,输入端,高电平有效。
· START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
· EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
· OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
· CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。
· REF(+)、REF(-):基准电压。
· Vcc:电源,单一+5V。
· GND:地。
c 工作过程编辑
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。
转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。
(1)定时传送方式
对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。
(2)查询方式
A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。
(3)中断方式
把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。
不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。
单片机MCS-8051:信号控制。
电机正反转控制模块:由输入信号控制直流电机的正转和反转。
2.4 单片机口线分布
P0口:作为输入口,接收ADC0809送出的信号
P1口:控制ADC0809的ALE、OE、START、OEC端口
P2口:作为输出口,发送控制信号给L298N,从而控制直流电机正转和反转
其余Vcc、Gnd、Rst、XTAL等端口与经典电路接法相同。
3)L298简介
恒压恒流桥式 2A 驱动芯片 L298N L298 是 SGS 公司的产品,比较常见的是 15 脚 Multiwatt 封装的 L298N,内部同样包含 4 通道. L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机. 内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且 可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号,但在本驱动电路中用L297 来提供时序信号,节省了单片机IO 端口的使用。L298N 之接脚如图9 所示,Pin1 和Pin15 可与电流侦测用电阻连 接来控制负载的电路; OUTl、OUT2 和OUT3、OUT4 之间分别接2 个步进电机;input1~input4 输入控制电位来控制电机的正反转;Enable 则控制电机停转。
4) 8051芯片简介
单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。单片机是70年代中期发展起来的一种超大规模集成电路芯片,是集成CPU、RAM、ROM、I/O接口和中断系统于同一硅片上的器件。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型型号,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。
MCS-51是标准的40引脚双列直插式集成电路芯片,
l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。
l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。
l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。
l P3.0~P3.7 P3口8位双向口线(在引脚的10~17号端子)。
P0口有三个功能
1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)
2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)
3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口
只做I/O口使用:其内部有上拉电阻。
P2口有两个功能
1、扩展外部存储器时,当作地址总线使用
2、做一般I/O口使用,其内部有上拉电阻;
P3口有两个功能
除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,
即:编程脉冲:30脚(ALE/PROG)
编程电压(25V):31脚(EA/Vpp)
接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。
三 硬件电路设计
3.1 光照采集模块硬件电路
a、电路图:
b、设计原理:由光敏电阻和一个普通电阻串联构成分压电路,当周围环境的光照强度改变时光敏电阻阻值改变,从而改变了输入电压
3.2 A/D转换模块硬件电路
a、电路图:
b、设计原理:将采集的电压信号送入芯片ADC0809中,由芯片内部对数据进行锁存、译码、转换、比较等步骤,从而得到单片机MCS-8051所需要的信号。
3.3 电机正反转控制模块硬件电路
a、电路图:
b、设计原理:单片机2个输出端口连接L298N的2个输入控制端,IN1和IN2。单片机收到ADC0809的输入信号后判断此时的电压值,如果小于某一数值,输出端P2.1和P2.2此时为1和0,信号送到正反转控制芯片L298N后控制端IN1和IN2控制电机正转,数秒后停止;如果大于某一数值,输出端变为0和1,经L298N控制电机反转。
四 控制软件设计
4.1 光照采集模块软件设计
a、功能:用光敏电阻和一个普通电阻构成分压电路,当光照强度改变时光敏电阻阻值改变,电压改变,从而改变输入电压的大小。
b、流程图:
4.2 A/D转换模块软件设计
a、功能:电压输入信号送入芯片ADC0809后进行转换,将采集信号转换成单片机89C51 所需要的信号。
b、流程图:
4.3 电机正反转控制模块软件设计
a、功能:由单片机2个输出端口控制L298N的2个输入控制端,IN1和IN2。当IN1=1且IN2=0时控制电机正转;当IN1=0且IN2=1时控制电机反转。
b、流程图:
总结
为期一周的单片机课程设计即将结束,在这一周的时间里,我为课程设计规划好了思路和流程,研究这些东西是如何结合在一起实现一个功能的,然后画好了一张完整的电路图。在做好了资料的准备后,我就开始了忙碌的设计过程。
整个的课程设计过程是充满艰辛的,有很多能困扰我们的问题,更有些是绞尽脑汁也没有克服的,但乐趣和意义就在这之中。我发现遇到了问题要不断地想问题是从何而来的,要想的广泛,而且要多关心别人做的同类型的东西,因为可能只需要点拨一下,只要一个灵感就能联想到很多东西,问题的答案也许就在其中。
为期一周的单片机实训结束了,不仅学习到了很多单片机的知识,并且了解了AD,异步电机等程序的录入和运行,而且还暴露出来很多学习上的问题,这些问题的发现将为我们以后的学习和工作找明道路,查漏补缺为进一步学习作好准备! 本次实验我们组做的课题是《光控窗帘》,这是一个实用性质非常强的题目。首先,它非常联系我们日常生活,每个人家里都有窗帘,有的人喜欢屋里偏暗,如果他装上了光控窗帘,则能通过光照强度来实现窗帘的自动收放功能 其次,光控窗帘是涉及到单片机、电路、信号、数学数字运算等多学科的一门综合性应用非常强的课题,这个课题的成功实践必将在一定程度上极大地激发我们在这些相关学科的学习兴趣,也会促使我们去向多学科综合应用的方面发展,这也是当今科学科技领域一个显著的特点。从这一点上来说这个课题的选取对所有参加这个课题研究的同学们来说都是一个非常好的锻炼。 其次也培养了我们每个人在对待科学问题上孜孜不倦、严谨求实的科学作风,这对我们每个人来说都是相当有益的!当然,通过做这个课题,也暴露出来了很多问题值得我们去探讨解决和克服:第一,时间利用问题。由于课题难度较大,再一个有关时间的问题就是时间利用率太低。第二,课题研究不够深刻。课题研究总是浮于表面文章,对程序对最后结果研究不够造成虽然某一块地方做的比较好但是在大脑中没有一个总体的印象,无法理论联系实际,研究成果的应用严重背离实际现实,影响使用。基本上,这次实训暴露出来的问题就这些,我且先总结到这里。这些问题的发现,有助于提高我们在以后的工作和学习中对此类问题的认识,确保不在同一问题上再次犯错。 最后,衷心感谢蔡老师和梁老师老师给我们提供了这次难得的实训机会,给了我这么深刻的人生体会,这一切一切对我我来说是有益而无害!
主要参考文献
[1]《反馈控制理论》
[2]《电气技术》
[3]《电力拖动及自动化》
[4]《微机原理》
[5]《L298N电机驱动器使用说明书》
[6]《ADC0809中文资料》
[7]《L298N的说明及应用》
[8] 论坛 主题:ADC0809的工作频率
结论
将开关打开,正常状态电机处于停止状态,用手或物体遮住光敏电阻,将其周围的光照强度变弱,当光照强度降低到某一数值时电机开始正转,放下窗帘,数秒后停止。拿开手或物体,使光敏电阻周围恢复光亮,当光照强度上升到某一数值时电机开始反转,收起窗帘,数秒后停止。
程序清单
#include<reg51.h>
#define uchar unsigned char
unsigned char flag;
unsigned int count;
sbit start=P1^5;
sbit oe=P1^6;
sbit eoc=P1^7;
sbit in1=P2^1;
sbit in2=P2^2;
int rx;
int i;
float v;
float r;
uchar d;
int adc();
void display();
main()
{
in1=0;
in2=0;
start=0;
oe=0;
IE=0; //关闭所有中断
while(1);
{
d=adc(); //调用A/D转换函数
display(); //控制输出信号
}
}
int adc()
{
start=1;
for(i=0;i<=200;i++);
start=0;
while(eoc==0); //等待转换结束
oe=1; //转换结束,设置读允许
d=P0; //读采集信号值
oe=0; //关闭读允许
return d; //返回电压值
}
void display()
{
if(d<105) //输入电阻小于2V
{in1=1;in2=0; //直流电机正转
if(d<240) //输入电压大于4.6V
{in1=0;in2=1;} //直流电机反转
}
else{in1=0;in2=0;} //正常状态直流电机停止
}
- 22 -
展开阅读全文