您好,欢迎访问三七文档
新余学院毕业设计课题:家用风扇控制器设计姓名:夏喜学号:1101030139同组姓名:孟杭专业班级:11机制专1指导教师:李耐根设计时间:2013-9-22评阅意见:评定成绩:指导老师签名:年月日1目录一、设计目标...................................................................................2二、设计要求……………………………………………………..2三、总体设计...................................................................................2四、硬件设计...................................................................................2五、软件设计...................................................................................3六、程序清单...................................................................................9七、调试结果...................................................................................17八、心得体会...................................................................................17九、参考文献...................................................................................182模拟家用风扇控制器的设计一、设计目标设计并制作一个模拟家用风扇控制器。二、设计要求1、控制器面板为:按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。2、电扇处于停转状态时:所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始工作状态;电扇在任何状态,只要按停止键,则进入停转状态。3、处于工作状态时有:(1)初始状态为:风速-“弱”,类型-“正常”;(2)按“风速”键,其状态由“弱”→“中”→“强”→“弱”……往复循环改变,每按一下按键改变一次;(3)按“类型”键,其状态由“正常”→“睡眠”→“自然”→“正常”……往复循环改变;4、风速:风速的弱、中、强对应于电扇的转动由慢到快。5、风速类型的不同选择分别为:(1)正常电扇连续运转;(2)自然电扇模拟自然风,即转4s,停8s;(3)睡眠电扇慢转,产生轻柔的微风,运转8s,停转8s;6、按照风速与类型的设置输出相应的控制信号。三、总体设计1.8253定时/计数器通道0定时控制步进速度,通道2和3定时电机的转停时间,8255的PA0控制步进电机的转停。2.8255的C口输出控制脉冲,经74452电路驱动电路。B口输出控制LED显示风扇当前的状态。四、硬件设计由于本设计主要是用步进电机的控制来模拟家用风扇控制器,所以电路是在步进电机控制系统的电路作了一些修改。除利用了PC机本身资源外(如中断资3源),还利用了平台上的8253计数/定时器、8255并行接口单元,LED指示灯电路等,再加上电机的驱动电路,便构成以风扇电机控制电路。硬件原理图如图1:图1:硬件原理图五、软件设计本设计通过软件编程使8253通道0输出定时信号申请中断,CPU发出命令由8255的下C口输出脉宽信号来控制步进电机的走步。8253的定时时间决定了电机转动的快慢。电机的转动和停止则是通过8255的PA0端子输出高低电平来继续或暂停8253通道0的计数从而控制中断申请来实现的。用8253的通道1和2一起来定时控制电机转动和停止时间的长短。1.总体设计思路控制系统分四个功能模块,分别是风速设置、类型设置、默认状态运行、退出系统,在前四个功能块中都设置了ESC键来取消或暂停执行当前操作。程序中同时提供三个操作界面,一个主菜单和两个子菜单界面,进行可视控制。(1)风速设置风速即为电机转速设置,风速分为强、中、弱三种,对应不同的电机转速。根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。4这里采用的是8253的0号计数器和方波产生方式,输入时钟为f=46875hz,设计数初值为n,要求转速为0.25转/秒,对四相步进电机而言即为5步/秒,则有:f/n=5n=f/5=46875/5=9375反过来,当计数器初值确定时,决定了电机的转速,如计数初值为625时,有电机转速为1步每秒(本设计中的慢风速);当计数初值为125时,电机转速为375步每秒(本设计中的快快速)。具体设置初值及风速见表1。风速步速转速计数初值慢753.75625中1256.25375快37518.75125表1:风速设置初值(2)风的类型设置风的类型有:正常、自然、睡眠三种。风的类型的不同选择,用FLAG0来记录状态:a)正常电扇连续运转。FLAG0=2b)自然电扇模拟自然风,即转4s,停8s。FLAG0=0c)睡眠电扇慢转,产生轻柔的微风,运转8s,停转8s。FLAG0=1电机的运转是通过让8255的A0口输出高电平到8253的GATE0使其0号计数器继续工作,并开放中断进入循环等待中断状态。A0口为低电平使8253的0号计数器暂停计数,则无法产生中断信号,电机停止转动。电扇的运转和停转的时间是由8253的通道1和通道2两个计数器一起来定时的。通道1的输入时钟为f=46875hz,设计数初值为46875,则会产生1s的定时。通道1的OUT1作为通道2的输入脉冲,输入的计数初值为N,则定时的时间为N秒。我们需要的是定时4s和8s,定时中断到修改8255的A0口的输出的电平和下次计数的初值就可以实现风的不同类型。风的类型为正常时,不用启用计数器2产生中断,让计数器0一直运行。睡眠时,通道2的计数初值一直为8,不用修改。如果是自然就得修改了。(3)中断子程序1在由8253定时器通道0产生的中断子程序1中,将值为11001100B的NUM内存单元循环左移或右移一位,通过8255的下C口输出低四位,控制步进电机5的相序变化,从而使电机连续转动。(4)中断子程序28253定时器通道2产生的中断子程序2中,修改输入到8255的A0口的电平值,控制电机的转停,令NUM1=0,每次求反,输出到8255的A口。根据当前选择的风的类型FLAG0以及当前所处的状态,修改通道2的计数初值。(5)菜单界面设置利用DOS下的BIOS功能调用,设计出彩色的形象而又易于操作的界面.使用类型10H中断,可以实现对屏幕的完整的控制。常用的彩色文本功能的参数设置见表2。AH=0设置显示方式AL=380×25彩色方案AH=1设置光标类型CH=位4-0为光标起始行CL=位4-0为光标结束行AH=2设置光标位置DH=行DL=列AH=9在光标位置写属性/字符CX=要写的字符数AL=要写的字符AH=11选择彩色调色板BH=调色板ID(0-127)BL=调色板ID的颜色AH=19写字符串ES:BP=指向字符串CX=字符串的长度BH=页号表2:彩色文本功能的参数设置2.对步进电机的控制1、用8255并行接口控制A、B、C的通断。8255A的CS端可接地址200~207H。实验室中,用LED指示灯通断模拟步进电机绕组的通电情况。8255A工作于方式0。8255A内部结构图如图2。端口A地址(00):200H端口A地址(01):201H端口A地址(10):202H控制端口地址(11):203H图2:8255A的内部结构68255与步进电机连接示意图如图3所示。8255控制字如图4所示:(1)、控制方法:速度选择方式,可通过键盘、转换开关控制。A口工作于输入方式,接受速度选择信号,B口工作于输出方式,控制A、B、C的通断。用LED指示灯模拟步进电机的工作,输入为“0”时,LED指示灯点亮,;为“1”时熄灭。(2)、设置8255A的方式控制字MOVDX,203HMOVAL,90H;A口为输入,B口为输出MOVDX,AL;送控制字3.步进电机的速度控制图3:8255与步进电机连接图4:8255控制字7调节步进电机绕组通电时间,即可调整速度(频率)。(1).1ms(1KHZ)的软件延迟程序:设系统的CPU的频率为8MHZ,则时钟节拍为:0.125微秒。执行PUSHF、POPF、LOOP指令需23个节拍。延迟1秒要循环的次数:DELAYPROCNEARPUSHCXSTAR20T:MOVCX,347;送循环次数LP1:PUSHF;PUSHF、POPF、LOOP需23个节拍。POPFLOOPLP1POPCXRETDELAYENDP(2)、采用8253A定时器控制定时时间4.程序流程图(1)主程序流程图如图5开始系统初始化主菜单等待按键选择是‘1’键是‘2’键是‘3’键是‘4’键风速设置类型设置默认状态运行回到DOSYYYYNNNN图5:主程序流程图347125.0231smsX一次循环时间延迟时间8(2)中断服务子程序一的框图如图6保护现场NUM循环右移一位8255C口输出NUM低4位恢复现场复位中断服务寄存器中断返回图6:中断服务子程序二(3)中断服务子程序二框图如图7保护现场FLAG0=0CNT=4CNT=8NUM1求反CNT=4输出NUM1到8255的A口设置8253的通道2计数初值为CNT复位中断服务寄存器中断返回恢复现场YNNY图7:中断服务子程序二9六、程序清单DSEGSEGMENTCLOCK0EQU290HCLOCK1EQU291HCLOCK2EQU292HCLOCKCEQU293HPA55EQU280HPB55EQU281HPC55EQU282HP55CEQU283HINTNUMDB0DHMAMESDB0DH,0AHDB*************WELCOMETOFUNCONTROLSYSTEM*************,0DH,0AH,'$'MAMUDB1.SETUPSPEED,0DH,0AHDB2.ROTATINGWITHFIXEDSTEP,0DH,0AHDB3.CONTINUALROTATING,0DH,0AHDB4.EXIT,0DH,0AHDB*******************PLEASEINPUTCHOICE:$MENU1DB0DH,0AH,0DH,0AHDBF6.ROTATINGSPEEDIS3.75R/S,0DH,0AHDBF7.ROTATINGSPEEDIS6.25R/S,0DH,0AHDBF8.ROTATINGSPEEDIS18.75R/S,0DH,0AHDBINTERESCTOEXIT,0DH,0AHDB*******************PLEASEINPUTCHOICE:$MENU2DB0DH,0AH,0DH,0AHDB1.CLOCKWISE,0DH,0AHDB2.ANTI_CLOCKWISE,0DH,0AHDBINTERESCTOEXIT,0DH,0AHDB*******************PLEASEINPUTCHOICE:$MENU3DB0DH,0AH,0DH,0AHDBPLEASEINPUTTHENUMBEROFSTEP:$MENU4DB0DH,0AH,0DH,0AHDBCONTINUALROTATING!,0DH,0AHDBINTERESCTOEXIT,0DH,0AH,'$'EROMSDB0DH,0AHDBYOURCHOISEISINVALID!PLEASECHOOSEAGAIN,'$'F0DB0DH,0AHDBROTATINGSPEEDIS
本文标题:家用电风扇控制器
链接地址:https://www.777doc.com/doc-3526451 .html