电风扇模拟控制系统设计
- 格式:doc
- 大小:421.78 KB
- 文档页数:21
目 录
第1章 总体设计方案 .................................................................. 错误!未定义书签。
1.1 设计原理 ................................................................................. 错误!未定义书签。
1.2 设计思路 ................................................................................. 错误!未定义书签。
1.3 实验环境 ................................................................................. 错误!未定义书签。
第2章 详细设计方案...................................................................... 错误!未定义书签。
2.1 主程序设计 ............................................................................ 错误!未定义书签。
2.2 功能模块的设计与实现 ........................................................ 错误!未定义书签。
第3章 结果测试及分析.................................................................. 错误!未定义书签。
3.1 结果测试 ................................................................................ 错误!未定义书签。
3.2 结果分析 ................................................................................ 错误!未定义书签。
参考文献 ............................................................................................ 错误!未定义书签。
附录1:元件清单 .......................................................................... 错误!未定义书签。
附录2: 总电路图 .......................................................................... 错误!未定义书签。
附录3: 程序代码 ........................................................................ 错误!未定义书签。
1
第一章 总体设计方案:
1.设计原理:
用4位数码管实时显示电风扇的工作状态,最高位显示风类:“自然风”显示“1”、“正常风”显示“2”、“睡眠风”显示“3”。后3位显示定时时间:动态倒计时显示剩余的定时时间,无定时显示“000”。
设计“自然风”,“正常风”和“睡眠风”三个风类键用于设置风类;设计一个“定时”键,用于定时时间长短设置;设计一个“摇头”键用于控制电机摇头
在整个定时状态下,电路具有允许用户随时自行选择使用“自然风”状态,也可选择使用“常风”和“睡眠风”状态。
设计过热检测与保护电路,若电风扇电机过热,则电机停止转动,电机冷却后电机又恢复转动。
2.设计思路:
电风扇模拟控制系统设计就是使用单片机来控制电机和一些LED 、按键,模拟真实的电风扇的使用,通过设计使电风扇使用便捷更人性化。风类,定时,摇头都是针对使用者不同需求的设计。过热保护是对安全性要求的设计。
硬件方案:
根据设计的要求可知,系统的硬件原理框图如图1.1所示。
图1.1 系统的硬件原理框图
本系统由五个模块组成,分别是输入模块、显示模块、电机控制模块、过热保护模块以及单片机控制系统。其中单片机控制系统是核心,它通过处理输入的各种数据信息来对其它模块发出指令,进行相应的操作。输入模块由5个按键组成,分别控制电机的风速、正反转和定时时间。显示模块由8位共阴数码管组成,显示定时时间和风速。过热保护模块由ADC0809和外围电路组成,通过设定电档位及定时显示 电机控制模块 按键输入
单片机系统 过热检测模块
2
压初始值使电机超值停转并且相应二极管发光报警。电机控制模块由L298和其它的元器件组成,它主要是放大输入信号的倍数,用来驱动电机。
保护电路的选择:选用ADC0809作为过热保护电路的核心部件,假设先设定一个标准电压值,通过0-5V模拟电压输入进行模数转换,如果数据超过标准值则单片机对电机进行相应操作,使电机启停。
控制核心的选择:采用单片机作为控制核心,以软件编程的方式进行风速判断,并在端口输出控制信号。
显示电路的选择:采用八位共阴数码管显示电机状态,动态扫描显示方式
3.实验环境:
本实验用的单片机为MCS-51单片机,其硬件原理图如下:
本实验中用到的引脚有p1口的八个引脚,分别与八个开关相连,其中p1.0 是用来控制电风扇的自动挡,p1.1用来控制电风扇的手动挡。P1.2置于高电平是启动定时装置。P1.3与p1.4是用来控制风速的类型(常风,睡眠风,自然风)。P1.5与p1.6是用来控制定时的。本实验的定时采用单脉冲的方式进行定时设置。P1.7是用来进行复位操作。
3
本实验采用内驱的方式,通过数模转换的放大电路来驱动电风扇的转动,p3.4口接脉冲输入信号,p3.3口接入单脉冲。
第二章 详细设计方案:
2.1 主程序的设计:
软件所要实现的功能有:按键响应,对模数转换的控制,对数据的处理和传送显示的数据。主程序包含初始化、调用A/D转换子程序和调用显示程序,其流程图如图所示:
图2.1 主程序流程框图
主程序经初始化后,开始四位数码管显示的是“0000”电机停转。然后进入按键扫描程序,依次对自然风、常风、睡眠风进行扫描,单片机I/O口输出相应的摇头? Y 开始
显示 初始化
Y
占空比1:3 自然风?
N
常风?
N Y
占空比3:1
Y
占空比1:5 睡眠风?
N
Y
进入定时程序 定时? 开摇头
N N
电机过热? 关电机 关中断 显示过热
N
4
占空比方波,当为自然风时,数码管最高位显示“1”,当为常风时,数码管最高位显示“2”,当为睡眠风时,数码管最高位显示为“3”。当有定时键按下时,转到定时器T0中断程序进行。当有摇头键按下时,高低电平翻转,电机开始反转。
2.1 模数转换原理介绍:
模数转换工作原理是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开。
转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式[4]。
(1)定时传送方式
对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换已经完成了,接着就可进行数据传送。
(2)查询方式
A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。
(3)中断方式
把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送.
2.2电机调速与控制模块设计
本次实验的电机转速的控制并没有按照传统上采用pwm来调速,而是采用了中断的控制方式。通过不同的时间区间来实现一次中断控制来实现电风扇的调速功能,p3,3口与单脉冲口相连,用于产生脉冲,p3.2口与脉冲输出相连,用来驱
5
动电风扇,使电风扇转动。如何实现他的不同转速,通过不同的中断时间产生脉冲而实现的。
本实验无论是对电风扇的风速控制,还是对电风扇的定时控制,都是通过开关来实现的
2.3 显示与控制模块设计
本系统设计采用4位共阴数码管显示电路,在设计4位LED显示时,为了简化电路,降低成本,采用动态显示的方式,4个LED显示共用一个8位的I/O而将其相应的段选线并联在一起,由一个8位的I/O口控制。
采用内驱的控制方式,译码显示电路将档位和定时时间的输出状态经显示译码器译码,通过4位LED七段显示器显示出来。到达定时时间电机停止转动同时定时时间变为0。P2.5口接一个发光二极管,当电压值超压时二极管灯亮实现报警,此状态下,无论定时时间和风速键是否按下,电机都处于停止状态。
2.4 A/D转换测量子程序流程图设计
由于ADC0809在进行A/D转换时要用到CLK信号,而此时的ADC0809的CLK是接在AT89C52单片机的P2.4端口上,也就是要求从P2.4输出CLK信号供ADC0809使用。因此产生CLK信号的方法就的使用软件来产生了;由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理。然后和设定的参考值比较,而实际显示的电压值的关系为。其流程图如图2.4所示。