前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇stc单片机范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
关键词:stc89C54;投珠机;语音播报
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)32-7758-03
1 概述
随着各种电子设备的发展,游戏机在娱乐行业得到了很大程度的发展,现已开发出针对各种年龄阶段人群的游戏机。该文重点阐述了一款基于STC8954RD单片机平台的投珠机的设计。该投珠机现已在各大超市或娱乐场所稳定运行,该投珠机通过投币器投入硬币,对应出来相应数量的珠子,在固定的投珠孔投入珠子即可开始游戏。该设备具备断电保护功能和相关数据的累计功能,可以在输入密码情况下随时查询当前累计的钱数,并带有语音播报功能。
2 概述
投珠机电路板右下角有 3个黑色的小按钮,分别是机器的“设置”键、“+”、“-”,可查看并播报投币金额,及修改各项游戏参数。只有在无人游戏状态下,打开机器才可以修改相关设置。 如单独按“+”键、“-”键可设置音乐声音大小。每按一次设置键,均有相应语音提示,此时按“-”键、“+”键可更改参数,并且2秒钟后会自动保存并退出设置状态。可设置游戏模式,模式分为2种:普通模式与智能模式。普通模式是只要向机器投珠,即有反应;而智能模式是只有先投币后,投珠才有反应;并且中奖后机器出珠的数量,是机器接受珠子的数量,超出机器出珠数量,投珠将没有反应。这样可有效避免市场上其他珠子放入机器游戏。此时按“+”“-”键可更改参数。(0代表普通模式,1代表智能模式)。当机器出现故障不能正常运转时,机器会发出报警,并会给出语音提示,只要按照语音提示操作即可排除故障。
3 系统结构
5.2 显示灯程序设计
投珠机显示小灯共16个,都是共阳极接法,通过单片机驱动LN2003驱动,按键检测在检测到玩家投珠后,进入游戏状态,采用的是单个小灯循环跑的形式,每个小灯对应不同的中奖率,分别为5倍,4倍,3倍,2倍,1倍和0倍,按下中间的停止按键,小灯立即停止,如果落在3倍上,那么就是中奖三倍,投入珠子的数量乘以3即为玩家获得的珠子。通过调节不同小灯的延时时间来确定中奖率,也就是把0倍的时间稍微调的长一点,而倍数时间比较短,这样中奖的几率就是可控的,因为间隔的时间较短,玩家一般看不出来。如果玩家长时间没有按停止按键,那么在小灯转了一定的时间自动停止,停止的时间是要求三圈以上加上一个随机时间。显示灯在空闲模式还有小灯整体循环跑的程序和整体闪烁的功能。同时要求在小灯控制的同时配套音乐播放。
5.3 数码管显示程序
数码管显示部分由单片机控制三片74HC595D来控制三个数码管数码管之间输入输出串联起来,各个数码管之间有进位,实际上只使用两个还有一个数码管预留,利用单片机控制74HC595D的第11、 12脚接口来传递数据。在数码管显示子程序里面要做好提取数据的千位、百位、十位、个位,如果要显示一个4位数,或者三位数,那么由两个数码管分两次显示交替实现,先显示千位和百位,再显示十位和个位,中间闪烁间隔,来回显示三次。
5.4 EEPROM存储
在游戏过程中有可能会发生断电的情况,那么要求玩家断电前投币的状态和投珠的状态药能够保持,本系统采用了将玩家投币数和投珠数以及中奖数以及已出珠数四个变量在发生改变时存储在EEPROM中,防止掉电丢失。在主程序开始之前初始化阶段都要求读取这四个变量。
游戏机机主可能要查询机器的中奖率或者总的投币数,在开机状态下,连击六下停止键,进入查询程序,然后输入相应的项目可以通过读取EEPROM来获得这两个数值,同样在这两个变量发生改变的时候,也需要及时的写入EEPROM中。
5.5 中断服务程序
本系统要求游戏机不管处于什么模式,一旦有投币或者投珠的情况,要立即切换到游戏模式中,所以在投币与投珠的两个检测上采用的外中断的形式,投币采用的外中断0,投珠采用的是外中断2实现的,触发中断之后除了立即响应外,还需要修改EEPROM内部的数据。由于系统软件涉及到时间要求,本系统采用了定时器0来及时计时。
6 结束语
本投珠机在单片机控制的基础上,采用了微动开关检测投珠与落珠,利用中断进入游戏程序,并在开始游戏程序之前设置了设定模式。在调试的过程中,发现喇叭有杂音,经检查发现功放部分PCB走线从芯片底下直接穿过的,有电磁干扰,改进PCB解决问题;在批量生产之前厂商提出部分贴片元件0603封装的,操作工人在量产的过程中有难度,加长了工时,换用0805的封装解决问题;第一批生产了一百台机器,发现有部分机器吐珠不正确的情况,经过检查发现时程序不够优化响应不够及时导致的,经修改解决问题。
该游戏机的设计成本较低,具有较高的实用价值。现已量产运行稳定,但智能程度可能不够。
参考文献:
[1] 丁向荣.STC系列增强型8051单片机原理与应用[M].北京:电子工业出版社,2011.
关键词:STC89C52单片机;温度控制;温度检测
中图分类号:TP273文献标识码:A文章编号:1009-3044(2011)04-0902-02
A Temperature Control System Based on STC89C52 MCU
WU Jian, HOU Wen, ZHENG Bin
(National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China)
Abstract: This paper discusses a STC89C52 MCU to increase the technical indexes of accused of temperature control system,Presented the design of the MCU circuitry of system, temperature control output circuit, temperature detecting amplifier circuit and so on. Realized of furnace temperature automatic control and improve the precision temperature control. Be provided with important engineering use value.
Key words: STC89C52 MCU; temperature control; temperature test
随着工业技术的不断发展,利用温度控制表,温度接触器的控制方式已不能满足高精度、高速度的控制要求,其主要缺点是温度波动范围大,受仪表本身误差和交流接触器寿命的限制,通断频率很低。本文设计了一种基于STC89C52单片机控制的温度控制系统。它使用了较少的器件和较为简单的电路设计,因此具有成本低、控制方便,实用性强等特点。
1 系统设计
本系统是对电炉炉温进行控制的微机控制系统。控制方式是单闭环控制形式。温度控制系统是以STC89C52单片机为控制核心,其系统结构框图如图1所示。
键盘将温度设定值和温度反馈值送入单片机,然后经过运算得到输出控制量,输出控制量控制控温输出电路得到控制电压,施加到驱动器上,从而控制电加热炉内温度。
2 系统硬件设计
硬件系统由单片机电路,温度检测放大电路,A/D、D/A转换电路,控温输出电路等组成。下面分别给予介绍。
2.1 单片机电路
STC89C52是一个低功耗,高性能的51内核的CMOS 8位单片机, 具有在线编程功能,不再需要启动像STC89C51那样的12V的VPP编程高压[1]。 使用简单且价格非常低廉。故本文使用STC89C52为系统的主控制器。单片机发送温度设定值和采集温度反馈值,并据此调节I/O的输出来控制温度的值。
2.2 温度检测放大电路
温度检测电路承担着检测电阻炉温度并将温度数据传输到单片机的任务。铂电阻最常应用于中低温区,精度高,稳定性好,具有一定的非线性,温度越高电阻变化率越小,测量范围一般为-200~850℃。目前应用最广泛的是Pt100。Pt100铂热电阻与温度的关系如下:
(1)
其中:Rt――温度为t℃时铂电阻的电阻值(Ω);R0――温度为0℃时铂电阻的电阻值(Ω);A,B,C――常数,3.96847×10-3 (℃-1);-5.847×10-7 (℃-2);-4.22×10-12(℃-3)。
信号放大电路采用OP07E放大器,温度信号输入采用差动放大模式,输入电压范围为+/-14V,输出电压范围为+/-12V。设计电路如图2所示。
U1放大器放大倍数为:
(2)
2.3 A/D转换电路
温度检测电路采集到的温度值为模拟信号,需要转化为数字信号才能被单片机处理。温度控制系统的A/D转换模块采用ADC0804型8位全MOS A/D转换器。转换时间约为100μs,转换时钟信号可以由内部施密特电路和外接RC电路构成的震荡器产生,当/CS与/WR同时有效时便启动A/D转换,经DATA口送入单片机,再采集第二个模拟量进行转换。
2.4 D/A转换电路
温度控制系统的D/A转换芯片采用DAC0832。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成[2]。DAC0832的主要特性参数:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电,电压范围为+5V~+15V;低功耗,功耗为200mW。
2.5 可控硅调功控温电路
温度控制电路采用可控硅调功率方式。双向可控硅串在50Hz交流电源和加热丝电路中,在给定周期里改变可控硅开关的接通时间改变加热功率,从而实现温度调节[3]。如图3所示。
可控硅驱动器MOC3041集光电隔离、过零检测功能于一身,具有体积小、功耗低、抗干扰能力强,无噪声等优点[4],RS、CS为吸收电路,起保护作用。经验公式如下:
Cs=(2~4)IT×10-3(uF)(3)
Rs=10~50Ω(4)
R17是触发器输出限流电阻,取51Ω。R16是驱动器的门极电阻,一般取值300-500Ω。
3 PID温度控制算法
温度控制技术大致可分为定值开关控温法,PID线性控温法。定值开关控温法通过硬件电路或软件计算判别,系统温度上升至设定点时关断电源,当系统温度下降至设定点时开通电源,因而无法克服温度变化过程的滞后性,致使被控温度波动较大,精度低。当我们不完全了解被控对象,或不能通过有效的测量手段来获得系统的参数时,最适合用PID控制技术。PID线性控温法主要取决于比例值、积分值、微分值[5]。只要三参数选取的正确,其控制精度是比较令人满意的。当执行机构需要的不是控制量的绝对值,而是控制量的增量时,需要用PID的“增量算法”。增量式PID控制算法可以通过(式5)推导出。
(5)
Uk――控制器的输出值;ek――控制器输入与设定值之间的误差;Kp――比例系数;
Ti――积分时间常数;Td――微分时间常数;T――调节时间。由(式5)可以得到控制器的第k-1个采样时刻的输出值为:
(6)
将(式5)与(式6)相减并整理,就可以得到增量式PID控制算法公式:
(7)
其中:
由(式7)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(式7)求出控制量。物理模型如图4所示。
4 系统软件设计
为了便于程序的调试与维护,系统全部程序采用模块化结构。由一个主程序和若干子程序组成。子程序主要包括A/D转换子程序、D/A转换子程序、LED显示子程序、增量式PID控制子程序、键盘控制子程序等,各子程序均能很快返回主程序,不会发生子程序时间过长等问题,子程序对相关事件的处理依靠标志位和判断标志位来完成。主程序通过调用各个子程序来完成所有的温度控制器功能。主程序的流程图如图5所示。
5 设计结果
设计的温度控制系统基于STC89C52单片机,采用了信号放大,可控硅控制等简单的电路,经过焊接、 组装、 调试后,可以很好实现控制功能,具有很强的实用性,尤其是具有体积小、 易移动等优点。 该方案也可以在功能上加以扩展,如加上LED电路,当到达我们想要的温度时绿灯亮,当超过我们想要的温度一定量程时红灯亮。
参考文献:
[1] 张俊谟.单片机中级教程[M].北京:北京航空航天大学出版社,1999:75-86.
[2] 小岛郁太郎.实现数字电路与模拟电路及软件的协调设计[J].电子设计应用,2009(6):15-20.
[3] 王海宁.基于单片机的温度控制系统的研究[D].合肥:合肥工业大学,2008.
Abstract: In order to reduce the damage caused by the elevator protection measures which cannot respond positively to the elevator, a verification method of the anti-falling hydraulic system is designed. The method utilizes the infrared distance sensor module and the acceleration sensor module monitoring the status of the elevator and STC12C5A60S2-351 microcontroller as the control core, collecting distance and acceleration while controlling the L9110S motor module to achieve the negative and the positive rotation of the DC motor. The motor control hydraulic system achieves the elevator monitoring and braking.
关键词:电梯;防坠系统;STC12C5A60S2-351单片机;红外测距传感器;加速度传感器
Key words: elevator;system of anti-falling;STC12C5A60S2-351 single-chip;infrared ranging sensor;acceleration sensor
中图分类号:TP202 文献标识码:A 文章编号:1006-4311(2017)16-0097-03
0 引言
现代化进程加快,越来越多的改成建筑拔地而起,电梯成了人们主要的上楼代步工具,电梯安全就尤为重要,我们应该重视电梯安全来有效保障我们的生命财产安全。目前我们的电梯上配备的保护装置有限速系统、行程极限系统、缓冲器系统、制动器系统[1]。中北大学利用安全气囊作为电梯的保护装置,防止肉体直接与轿厢碰撞[2]。利用红外温度传感器监测电梯运行状态,实现了快速、准确、方便、无接触的测量[3]。嘉兴市特种设备检测院提出一种利用光电编码器测量电梯的速度,利用电磁伸缩杆制成限速器[4],机械结构简单,动作速度稳定。上海交通大学提出了电梯被动安全系统的设计方法[5],利用有限元方法得到了电梯和成员的动态响应。锦州市特种设备监督检测所提出了新型防坠落装置,通过缓冲器的能量转换变为电梯制动的能量[6],具有节能环保的特点。这些装置在现有的电梯装置中都进行了技术革新,能更好地在电梯发生故障时检测并及时做出制动反应。但是,以上方法的检测技术是单一的,冗余量不足,容易造成灾难性后果。文章是通过加速度传感器和红外测距传感器,计算和测量出电梯的加速度和速度,通过两个指标监测电梯的运行状态,在发生故障时通过电机控制液压系统使电梯制动,有效保障乘客的生命财产安全。
1 系统设计
系统的总体框图如图1所示,系统以STC12C5A60S2-351
单片机作为控制器,红外测距传感器和加速传感器将测得数据发送到单片机中,红外测距传感器测量电梯的速度,通过单片机进行AD转换后,根据时间差算出电梯此时的速度,加速度传感器可以测量电梯此时的重力加速度,单片机判断轿厢加速度和速度是否超过预设值,假设超过预设值,单片机会通过L9110电机模块来控制电机的正反转,从而控制液压系统转达到制动效果。
1.1 STC12C5A60S2-351单片机
STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成8路高速10位A/D转换,针对电机控制,强干扰场合。其工作电压为工作电压5.5-3.5V,STC12C5A60S2系列带A/D转换的单片机的A/D转换口在P1口,有8路10位高速A/D转换器,速度可达到250kHz(25万次/秒)。8路电压输入型A/D,上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。因为其内部具有AD转换可以满足系统的需求,直接代替AD转换元件,红外测距传感器可直接连入单片机,在单片机上进行AD转换。
1.2 加速度传感器
MPU-6050集成了3轴MEMS陀螺仪,3轴MEMS加速度计以及一个可扩展的数字运动处理器DMP。MPU-60X0对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16g。MPU-6050可支持的电源为3.3V±5%。加速度传感器测量轿厢的垂直加速度,如图2所示,加速度鞲衅MPU-6050的SCL和SDA分别与单片机STC12C5A60S2的P2.0和P2.1口相连,分别为IIC串行时钟和IIC串行数据。IIC总线可靠的双向二线制串行数据传输结构总线,该总线使各电路分割成各种功能的模块,并进行软件化设计,各个功能模块电路内都有集成一个IIC总线接口电路,因此都可以挂接在总线上,很好地解决了众多功能IC与CPU之间的输入输出接口,使其连接方式变得十分简单。
1.3 红外测距传感器
夏普GP2Y0A21型距离测量传感器是基于PSD的微距传感器,其有效的测量距离在10-80cm,输出的信号为模拟电压,反应时间约为5ms,并且对背景光及温度的适应性强。工作电压在4.5-5.5V。将红外测距传感器置于轿厢下部,通过测量轿厢底部到地面的距离。如图3所示,输出信号端与单片机P1.0相连,因为输出的是模拟电压,所以需要通过单片机的AD转换,得到此时轿厢距离地面的距离,记录两次位置的距离,用他们的差值除以两次的反应时间,可以将轿厢的实时速度测算出来。
1.4 电机模块
如图4所示,L9110直流步进电机驱动板,模块供电电压:2.5-12V,电机工作电压2.5-12V之间,最大工作电流0.8A。电机模块与单片机相连,当发生故障时,电机开始正转制动轿厢,当故障排除后,按下按钮,电机反转,液压系统动作,释放轿厢。
1.5 软件设计
控制面板由单片机、LCD显示器、加速度传感器模块、红外测距传感器模块等构成。如图5所示,电梯正常运行时,加速度传感器和t外测距传感器通过两个模块给单片机传输数据,单片机首先对红外测距仪传感器传来的数据进行处理,首先进行AD转换,然后根据v=(x2-x1)/t就可以算出电梯的瞬时速度,单片机将加速度和速度的值传送至LCD显示屏,便于掌握电梯随时的运行情况。同时,故障预设值的已经输入单片机中,加速度a1和速度v1,当a>a1或v>v1时,判断电梯故障,然后将信号传入电机模块中,电机反应,液压系统制动电梯。电梯的制动是通过增加摩擦力的一个循序渐进的过程,a=(mg-f)/m,v=v0+at在摩擦力的作用下加速度减小的同时,轿厢的速度也会降低直至停止。
2 验证
该防坠梯液压系统设计方法通过STC12C5A60S2-351单片机为控制主体,有LCD显示、加速度传感器、红外测距传感器等模块,能够顺利地完成电梯制动工作。如图6所示,被测电梯的速度和加速度经过单片机处理后,在LCD1602液晶屏上显示,当被测电梯的速度和加速度超过设定范围后,电机开始转动。
3 结论
本文提供的防坠梯液压系统设计的验证方法可以有效地在电梯出现故障时及时将电梯制动,同时本系统设计方法具有简单的结构,没有繁琐的内部构造,更好地保证了系统的安全性,损坏率也会大大降低,易于维护保养。
本系统设计方法利用红外测距传感器测量距离为10-80cm精度较高,响应时间5ms反应较快,外形设计紧凑易于安装,便于操作等特点准确测出轿厢距电梯底部的距离。本系统设计方法利用加速度传感器具有动态范围大±16g、坚固耐用、受外界干扰小等特点精确测出轿厢的实时加速度。通过监测轿厢的速度和加速度,两个指标同时监测电梯的运行状态,确保电梯处于正常工作状态。
本系统设计方法独立于整个电梯,由专门的蓄电池供电,不会因为电梯故障而导致系统无法工作,液压系统是一个循序渐进的减速,避免了在发生事故时电梯急停给乘客带来的二次伤害。
参考文献:
[1]张跃灵.电梯安全保障系统设计思路[J].职大学报,2010(4):96-97.
[2]郭进,吴其洲,任雁,等.一种基于安全气囊的电梯安全系统设计[J].通讯技术,2013:53-59.
[3]姚长鸿,夏钟兴.远红外温度传感器在电梯安全系统中的应用探讨[J].价值工程,2016(7):131-133.
[4]庞涛,过鹏程,陈建伟.一种新型的电梯限速器[J].学术交流,2011(11):28-30.
关键词:计时计分器;STC89C51;篮球比赛;LED显示
在传统的篮球比赛中,经常需要人工翻牌记录赛程分数,这种方式效率低,且无法给运动员及观众随时提供赛程信息。本文提出一种基于STC89C52单片机为核心控制的计时计分器系统,可代替球场上的人工计时计分,实现带电子显示,且比赛结束报警等功能的精确计时计分功能。器件价格便宜,使用方便,使篮球比赛的过程记录更加及时和有效。
篮球计时计分要求如下:(1)记录并修改比赛时间;(2)能随时刷两队的比分显示;(3)中场交换场地时,能交换两队比分位置;(4)能随时接受暂停请求;(5)比赛结束时发出报警提示。
1 总体方案设计
系统主要包括单片机、LED显示电路、定时报警、按键控制电路、时钟电路及复位电路等组成,系统总体框图如图1所示。
2 硬件设计
2.1 单片机最小系统
设计采用STC89C51单片机作为主控制器。STC89C51是STC公司生产的低功耗、高性能CMOS 8位微控制器,具有4KB的在系统可编程Flash ROM。STC89C51单片机外接加上时钟电路和复位电路,即可构成单片机的最小系统。
2.2 按键模块设计
按键接至P1口和P3口,按键按下时输入是低电平。P1口从P1.0开始,键的设置如下:add1、add2键是加1分、加2分键,reduce键为减1分,turn是切换双方加减分键,exchange是位置交换键,stopbeep是关蜂鸣器键,start是启动键,stop是暂停键。此外,还有两个按键, P3.2 引脚的add_min是加1分钟键, P3.3引脚的add_1s为加1秒钟键,用于比赛时间设定。
2.3 LED显示模块设计
显示分为计时和计分显示两个部分,均采用共阴极LED数码管动态扫描显示,由一个四位一体和二个两位一体的共阴极数码管构成。数码管的7个段控端输出经过74HC573驱动器进行电流放大驱动接至P0口,8个位控端经过74HC04反相放大驱动后接至P2口。采用动态扫描方式,在足够短的周期内,使各位数码管逐个轮流受控显示。
此外,还有定时报警模块,报警信号输出接P1.7,由蜂鸣器及其驱动电路组成。定时时间到,扬声器报警,比赛结束,按stopbeep键可停止报警。
2.4 系统原理图及仿真图
根据系统的硬件设计,得到系统的原理图及仿真图如图2所示。
3 软件设计
软件设计采用C语言模块设计方法,程序由主程序、T0中断程序、显示程序、外部中断0程序、按键程序及报警程序等组成,其中主程序及T0中断子程序流程如图3、图4所示。
4 系统仿真与系统调试
设计采用C语言编程,在Keil C51软件编译环境中,经过编译和连接,生成十六进制的目标代码文件.hex。在硬件上,用Proteus软件绘制出原理图,经过纯电路调试无误后,将生成的目标代码文件加载到Proteus界面的AT89C51中(Proteus中无STC89C51模型,可用AT89C51替代)。接着再进行软硬件联合调试,反复调试,直至所有显示及按键功能实现,得到图2所示的仿真结果图。仿真成功后,根据仿真原理图,绘制PCB布线图,并进行实物调试,如图5所示,调试结果证明了系统设计的正确性。
5 结论
本设计以STC89C51单片机为控制核心,开发出具有具有录篮球比赛赛程信息的控制系统,经过Proteus硬件仿真及Keil C51的软件仿真调试成功后,进行实物调试也证明系统设计的正确性和可行性。系统电路结构简洁、可靠性高、成本低且操作简便。采用单片机作为主控制器,功能易于扩展,且修改相关功能即可实现其他比赛控制器的设计,因此本系统具有良好的实际应用价值和借鉴意义。
参考文献
[1]袁芳,江伟.篮球比赛场地计时计分系统的设计[J].实验室研究与探索,2014(11):91-94.
[2]鹿玉红,伦志新.基于单片机的篮球计时计分器设计[J].电子世界,2010(5):59-60.
[3]姜志海,赵艳雷,等.单片机的C语言程序设计与应用――基于Proteus仿真(第3版)[M].电子工业出版社,2015.
关键词 单片机 温度传感器 智能控制 自动调速
中图分类号:TP368.1 文献标识码:A
Temperature Intelligent Control Speed of Fan Based on STC12-MCU
WU Wangsheng
(School of physics and Optoelectronic Engineering, Yangtze University, Jingzhou, Hubei 434023)
Abstract Temperature intelligent control speed of fan, based on Micro Control Unit(MCU) detection and control technology, using MCU and sensor device design fan, according to the test temperature automatic adjustment appropriate speed of fan.
Key words Single-chip microcomputer; temperature sensor; intelligent control; automatic speed regulation
0 引言
风扇是散热降温的常用电器,如家用的电风扇和电子器件中的散热风扇等。大多数家用风扇只能手动调速和机械定时,各档风速跨度较大,高档风冷噪音大,低档又不解暑;定时设计机械,入夜熟睡后若气温骤变,风速不变则容易着凉。散热风扇通过空气对流控制器件的温度,转速越高散热效果越好,但同时噪音和震动也越大。如何在风扇的散热功效和静音效果之间找到平衡点,随器件工作温度的变化合理调节风速,使之在较低噪音下正常工作显得十分必要。为解决上述问题,我们设计了智能温控调速风扇,基于单片机检测和控制技术,将单片机、传感器等智能器件用于风扇设计,可依据检测温度自动调节适宜的风速。
1 系统整体设计
系统主要由主控电路模块、稳压电源模块、温度采集模块、功能按键模块、温度显示模块、驱动电路模块和风扇(直流电机)等七个功能模块组成。
图1 系统的整体设计结构框图
系统总体框架如图1所示,采用STC12C5A60S2单片机作为主要控制芯片,使用温度传感器DS18B20进行温度采集,并直接输出数字温度信号给单片机进行判断,根据判断结果控制相应引脚输出高电平或低电平,控制风扇启动或关闭;在启动状态下,模拟PWM波输出调节风扇转速。
1.1 主控电路模块
主控电路模块是整体系统设计的核心,控制温度的采集与显示,通过按键输入和软件编程进行温度限值设定与判断,并在其I/O口输出控制信号,对风扇进行开关或调速。
本设计选用STC12C5A60S2单片机作为控制器件,采用增强型8051CPU,单时钟机器周期1T,指令代码完全兼容传统8051;内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,25万次/秒)。支持串口程序烧写,配合PC端的控制程序即可将程序代码下载进单片机,无需编程器和仿真器,对开发设备要求低,节省开发时间。
1.2 温度采集模块
温度采集模块选用数字传感器DS18B20作为核心元件,测温范围[-55,+125]℃。该传感器高度集成化,与传统的热敏电阻等测温元件相比,温度值在器件内部转化成数字量直接输出,测量精度高,测温分辨率高达0.0625℃;被测温度用符号扩展的16位补码形式以“一线总线”串行传送给单片机,实际操作中只须将信号线与单片机I/O口相连,抗干扰性强。
1.3 液晶显示模块
液晶显示模块选用LCD1602字符型显示器,用于显示温度、风扇档位和工作模式。LCD1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块,由若干个5X7点阵字符位组成,每个点阵字符位都可以显示一个字符,可显示ASCII码表中的所有可视字符。
1.4 功能按键模块
功能按键模块采用独立按键式,每个按键单独占用一根I/O线,每个按键的工作不会影响其它I/O线的状态。本设计包括4个独立式按键:(1)模式切换:按下该键循环切换自动、睡眠、手动三种工作模式。(2)温度设定:自动和睡眠模式下,设置自动开(关)机温度。环境温度高于设定温度自动开机,否则不启动或关机。(3)手动调速:手动模式下,按下该键循环切换三档风速。(4)停止模式,关闭风扇。
1.5 驱动电路模块
由于STC12系列单片机自带PWM控制器,因此本设计选用桥式驱动电路L298N来驱动5V直流电机风扇,并通过单片机I/O口输出PWM脉冲调节风速。L298N模块属于H桥式专用驱动集成电路,其输入端可与单片机直接连接。采用软件编程实现PWM(脉冲宽度调制)调速,通过控制矩形波PWM信号的占空比来调控电机转速。电机转速与占空比成正比,占空比越大,转速越快,若输出全为高电平则占空比为100%,转速最大。相比于其他如硬件或软硬件结合的调速方式,通过软件编程实现PWM调速,在降低成本的同时,充分发挥了单片机的编译功能。
2 系统软件设计
本设计主程序流程图如图2所示,单片机向DS18B20传感器发送温度转换命令,读取已转换的温度值,通过按键输入和软件编程进行温度限值设定与判断,并在其I/O口输出控制信号,对风扇进行开关或调速。
图2 主程序流程图
温度采集程序将DS18B20采集的温度存入寄存器指定数组,将二进制转化为十进制,交给显示程序显示。液晶显示程序用于温度和档位的实时显示。按键扫描程序设定开机温度、运行模式等。温度判断程序根据设定温度和当前环境温度差值设定多个风速档位。电机驱动程序模拟PWM波输出,一次输出多个电平,风速档位与高电平的占空比成正比,根据温度的高低来调节不同档位的风速。
3 结束语
本设计的特色:可设置自动、手动、睡眠等多种工作模式;启动自动和睡眠模式后,可设置自动开(关)机温度。若检测温度高于设定温度,则风扇自动开启,并能根据实时温度自动调节风速;当低于设定温度时,风扇不工作;启动睡眠模式后,在温度变化范围不大时,将自动循环调节风速大小,以模拟自然风效果。
温控调速风扇拥有智能温控、自动调速、工作稳定、成本低廉、节能降耗等特点,经过适当改造可应用于家用电器、厂矿风冷设备以及电子器件的散热器等。本设计能够在保证散热效果的同时,降低风扇运转时的噪音并节约能源,符合人性化设计和绿色节能要求,具有一定的市场前景。
参考文献
[1] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004.