东北石油大学课程设计课程单片机课程设计题目基于单片机的抽油烟机控制统院系电气信息工程学院测控技术与仪器系专业班级学生姓名学生学号指导教师2013年7 月8日东北石油大学课程设计任务书课程单片机课程设计题目基于单片机的抽油烟机控制系统专业测控技术与仪器姓名学号一、任务以AT89C51单片机为控制核心,设计出一套能模拟家用抽油烟机工作的控制系统。
二、设计要求[1]设置一个独立按键K1,当K1每按下一次,增加一个电机启动的数量,电机的总数为两个;[2]设置一个独立按键K2,当K2按下时,照明小灯点亮,再次按下K2,照明小灯熄灭,循环执行;[3]基本电路包括:单片机最小系统、电机驱动电路、LED显示电路、按键电路等;[4]提交设计报告、电路图及程序源码。
三、参考资料[1]阎石.模拟电子技术基础[j]北京:高等教育出版社2006[2]张毅刚,彭喜元,彭宇.单片机原理及应用[j]北京:高等教育出版社2010[3]王幸之.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社2004[4]林志琦.基于Protues的单片机可视化硬件仿真[M]. 北京:北京航空航天大学出版社2006[5]罗先觉.电路[M]. 北京:高等教育出版社2006完成期限2013.7.1 - 2013.7.10指导教师专业负责人2013年6月29目录第1章绪论 (1)1.1直流电机 (1)1.2 AT89C51单片机 (1)1.3 L298N芯片 (1)1.4 LED照明灯 (2)1.5本设计任务 (2)第2 章总体方案论证与设计 (3)2.1 电机控制 (3)2.2 照明电路 (3)2.3 总体硬件组成框图 (4)第3章系统硬件设计 (5)3.1电机驱动电路的设计 (5)3.2照明系统的设计 (7)3.3控制开关 (8)第4章系统的软件设计 (9)第5章系统调试与测试结果分析 (10)5.1 系统调试 (10)5.2 测试结果 (10)结论 (11)参考文献 (12)附录1 程序 (13)附录2 仿真效果图 (17)第1章绪论抽油烟机已成为现代家庭必不可少的厨房设备。
它又称吸油烟机,是一种净化厨房环境的厨房电器。
它安装在厨房健康节能吸油烟机炉灶上方,能将炉灶燃烧的废物和烹饪过程中产生的对人体有害的油烟迅速抽走,排出室外,减少污染,净化空气,并有防毒、防爆的安全保障作用。
其主要的部件是直流电机,本次设计主要围绕直流电机的控制来进行的。
控制方面是由AT89C51单片机和L298N驱动芯片来实现。
照明由一个简易的LED灯组成。
1.1直流电机直流电机(direct current machine)是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
它是能实现直流电能和机械能互相转换的电机。
当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能[1]。
1.2 AT89C51单片机AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[2]。
1.3 L298N芯片L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
这次我们用L298N出动两台直流电机,组成抽油烟机。
1.4 LED照明灯LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。
LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。
半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。
但这两种半导体连接起来的时候,它们之间就形成一个P-N结。
当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。
而光的波长也就是光的颜色,是由形成P-N结的材料决定的[7]。
1.5本设计任务我们要实现的是对抽油烟机电机和照明的控制。
通过AT89C51单片来控制L298N,由L298N来驱动两个直流电机。
按键设置为三个,分别是K1,K2,K3。
K1控制电机,K1每按下一次电机工作数量就增加一个,电机总数为两个。
K2控制LED照明灯,K2按下时照明小灯亮,再按下时照明小灯灭,如此循环。
K3控制电机停止工作。
第2 章总体方案论证与设计本次设计采用单片机AT89C51来控制两个直流电机和LED等照明,还包括电机驱动芯片,和照明电路。
下面对这两个方面进行论证。
2.1 电机控制方案一:不使用L298N来驱动直流电机,采用两个三极管来控制电机电源的导通与断开,三极管控制端与单片机连接,单片机通过输出高(低)电平来控制三极管的导通(断开),即可控制电机的运转。
这种方法对于控制小功率的直流电机非常合适,节省成本,但是从抽油烟机的实用性上考虑,小功率的直流电机是无法满足厨房的正常排烟的。
方案二:使用L298N来驱动电机运转,一个L298N芯片正好可以控制两个直流电机运转。
单片机可通过L298N的四个输入引脚来控制两个直流电机运转,而且L298N是一种高电压、大电流电机驱动芯片正好能满足抽油烟机需要较大功率电机的需求。
比较两个方案,应采用方案二。
2.2 照明电路方案一:将LED小灯直接接在单片引脚上,LED小灯能正常工作,但是考虑到实用性,接在单片机引脚上的LED小灯最高电压不超过5V,亮度很低,是无法用来进行照明的。
方案二:采用一个三极管来并联三个高亮LED灯,并加上外接电源。
单片机通过向三极管控制端输入高(低)电平来控制LED灯亮灭。
电路图如图3-3所示。
该方法实现了照明和控制的功能,而且LED灯相对于其它照明灯来说比较节能。
比较了这几个方案,应采用方案二。
2.3 总体硬件组成框图图2-1 总体硬件组成框图系统框图如图2-1所示,主要由四部分组成,分别为单片机,照明灯,开关,电机。
第3章系统硬件设计选好适当的方案后,我们需要对方案具体化,比如单片机的最小系统,电机驱动电路的连接,照明系统等。
3.1电机驱动电路的设计此部分由L298N和两个直流电机组成,分别介绍电路的连接情况。
3.1.1 L298N驱动电路驱动电路有L298N和电机组成,原理图如图3-1所示图3-1 L298N驱动电路图如图3-1可见L298N有4个输入引脚,分别为IN1,IN2,IN3,IN4。
输出引脚为UOT1,OUT2,OUT3,OUT4。
ENA和ENB为调速端口,本次设计不需要对电机调速所以只需将两端口接5V电压,使电机工作在最高速状态。
同时SENSA,GND和SENSB接地。
VCC接12V电压,VS接5V电压。
单片机可通过对IN1~IN4引脚输入高低电平来控制OUT1~OUT4来输出,从而控制电机运转。
3.1.2 电机连接电路电机电路由二极管和两个直流电机组成,原理图如图3-2所示图3-2 电机电路图如图3-2所示电机两端A1,A2和B1,B2与L298引脚OUT1,OUT2和OUT3,OUT4连接,从而达到控制效果。
3.2照明系统的设计照明系统由3个LED灯组成,原理图如图3-3所示图3-3照明系统如图3-3所示,3个LED小灯并联,通过三极管与单片机连接,单片机通过向三极管2引脚输出高(低)电平控制,LED小灯亮灭。
3.3控制开关控制开关有三个开关组成,连接方式如图3-4所示图3-4控制开关如图3-4所示,抽油烟机的控制由3个开关来完成,开关K1控制电机工作,K1每按下一次,电机转动数量增加,电机总数为两个。
开关K2控制照明灯,K2按下一次灯亮,再按下一次灯灭,依次循环。
开关K3控制电机停止工作。
第4章系统的软件设计软件部分是抽油烟机正常运转必不可少的一部分,程序采用C语言编写,主要的功能是通过按键键,向单片机输入控制信号,由单片机来控制直流电机即油烟机风扇和照明小灯。
其程序流程图如图4-1所示。
图4-1主程序流程图第5章系统调试与测试结果分析5.1 系统调试根据系统设计方案,本系统的调试共分为二大部分:硬件调试,软件调试。
抽油烟机主要分为两部分,电机和照明,可以将这两部分分开调试,然后再进行整体调试5.1.1硬件调试先对电机控制部分进行调试,看其是否能正常运转,然后再对LED照明灯进行调试[8]。
5.1.2软件调试软件调试采用Protues进行仿真,用Keil C软件将程序编好,检查是否有语法错误,将程序导入仿真软件运行,看是否实现所需功能[4]。
5.2 测试结果通过Protues软件仿真,电机和LED照明正常运转,在开关的控制下,K1开关按下一次,电机运转数量增加一个,电机总数为两个。
K2按下时照明小灯正常亮,再次按下K2照明小灯熄灭,循环执行。
开关K3按下时电机停止工作。
结论抽油烟机是我们日常生活里必不可少的东西,本次设计是对抽油烟机风扇和照明灯灯的控制。
主要的的控制核心是AT89C51单片机,由单片机向电机驱动芯片L298N输出控制信号,达到对电机的控制效果。
照明方面也是由单片机进行控制。
针对抽油烟机照明灯需要较高的亮度,本设计采用高亮的LED灯来充当照明系统,同时还达到节能的效果。
本次设计主要在Protues软件上仿真运行,将写好的程序输入仿真芯片中,可实现本次设计的基本功能:开关K1按下时,电机转动,再次按下K1,电机转动数量增加。
开关K2按下照明灯亮,再次按下K2照明灯灭,循环执行。
开关K3按下时电机停止工作。
参考文献[1]阎石.模拟电子技术基础[j]北京:高等教育出版社2006[2]张毅刚,彭喜元,彭宇.单片机原理及应用[j]北京:高等教育出版社2010[3]王幸之.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社2004[4]林志琦.基于Protues的单片机可视化硬件仿真[M]. 北京:北京航空航天大学出版社2006[5]罗先觉.电路[M]. 北京:高等教育出版社2006[6]周灵彬. 基于Proteus的电路与PCB设计[M]. 电子工业出版社2010[7]刘祖明. LED照明技术与灯具设计[M]. 机械工业出版社2012[8](日),晶体管技术编辑部编马杰译.小型直流电机控制电路设计.科学出版社2012[9]胡斌. 神奇的晶体三极管.机械工业出版社2012[10]彭伟. 单片机C语言程序设计实训100例:基于8051+Proteus仿真. 电子工业出版社2009附录1 程序#include<reg51.h>//定义所有需要使用的引脚sbit BT0=P2^0;sbit BT1=P2^1;sbit BT2=P2^2;sbit PW1=P1^0;sbit PW2=P1^1;sbit PW3=P1^2;sbit PW4=P1^3;sbit PW5=P1^4;unsigned int flag;void motor(); // 功能函数,实现大部分功能void Motor1(); // 电机1void Motor2(); // 电机2void stopM1(); // 电机1停止void stopM2(); // 电机2停止void led() ;//延时函数void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);void main(){motor();}void motor(){PW5=0;while(1) //死循环一直让电机转动{//一次防抖动,下面按键这边if(!BT0) // 判断是否按下{DelayMs(20); //延时一段时间防抖动if(!BT0) //确定按下按键了{while(!BT0);// 如果手一直为松开,则死循环一直等待松开flag++;if(flag==1){Motor1();}if(flag==2){flag=0;Motor1();Motor2();}}}if(!BT1){DelayMs(20);if(!BT1){while(!BT1);led();}}if(!BT2){DelayMs(20);if(!BT2){ while(!BT2)stopM1();stopM2();}}}}//电机1转void Motor1(){PW1 = 1;PW2 = 0;}//电机2转void Motor2(){PW3 = 1;PW4 = 0;}//电机1停止void stopM1(){PW1 = 0;PW2 = 0;}//电机2停止void stopM2(){PW3 = 0;PW4 = 0;}void led(){PW5 =~PW5;}//延时防抖动void DelayUs2x(unsigned char t) {while(--t);}void DelayMs(unsigned char t) {//延时1mswhile(t--){DelayUs2x(245);DelayUs2x(245);}}附录2 仿真效果图东北石油大学课程设计成绩评价表指导教师:年月日1 1。