家用风扇控制器设计Word文档下载推荐.docx
- 文档编号:19402639
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:8
- 大小:22.61KB
家用风扇控制器设计Word文档下载推荐.docx
《家用风扇控制器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《家用风扇控制器设计Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
风机控制器设计(8)姓氏:
###学号:
2#########专业课:
电气自动化讲师:
皮达能刘军设计时间:
2013年12月
内容
一、设计目标....................................................................................3
二。
设计要求3
三。
总设计....................................................................................3
四、硬件设计....................................................................................4
V.软件设计....................................................................................6
六.程序清单....................................................................................10
七.遇到的问题及解决方法..........................................................15
八、经验....................................................................................16
九.组件列表....................................................................................16
X.参考....................................................................................17
模拟家用风扇控制器的设计
一、设计目标
模拟家用风扇控制器的设计与制造。
二、设计要求
1.控制器面板由风速、类型、停止三个按钮和六个指示强、中、弱风速的指示灯组成,类型为睡眠、自然、正常。
2.电风扇处于静止状态时:
所有指示灯不亮,只有按下“风速”键,风扇才会响应并进入初始工作状态;
当风扇处于任何状态时,只需按停止键即可进入停止状态。
3、处于工作状态的有:
(1)初始状态为:
风速-“弱”,类型-“正常”;
(2)按下“风速”键,其状态从“弱”→“中”→“强”→“弱”?
?
往复循环变化,每按一次键变化一次;
(3)按下“类型”键,其状态从“正常”→“睡眠”→“自然”→“正常”?
往复循环变化;
4.风速:
弱、中、强风速对应电风扇的慢速到快速旋转。
5.风速类型的不同选择有:
(1)正常电风扇连续运行;
(2)自然电风扇模拟自然风,即转动4秒,停止8秒;
(3)睡眠电风扇缓慢旋转产生微风,运行8秒,停止8秒;
6.根据风速和类型的设置输出相应的控制信号。
总设计
电风扇模拟自然风,即本课程的设计任务主要基于8086和各种接口核心。
该芯片结合汇编语言实现了家用风扇控制器的仿真。
我主要利用8086中央处理器结合汇编语言编写的软件,实现对各种信号的处理和转换,获得所需的控制信号,并利用接口芯片8255A实现信号的输出和接收。
在仿真中,各种控制信号通过开关输入,然后通过8255端口读取,8086通过软件对采集到的信号进行识别,并将其传递给相应的功能子程序,实现各种功能。
在各种功能的背后,通过8086驱动相应功能的硬件设备实现各种功能的切换。
对于具体的设计,我想用8255A接收开关信号,驱动风扇输出旋转信号,输出发光二极管灯的开/关信号,接收8253产生的控制信号。
8253主要用于实现各种风的控制信号,以获得自然风和睡眠风。
风扇控制停止后,当且仅当按下风速键时,控制器才能继续控制风扇的运行,实现控制器的循环控制。
硬件设计框图如图1所示。
8086中央处理器控制8253按下按键开/关信号,控制8255A驱动信号读取风扇(步进电机)
发光二极管图1硬件总体设计框图四。
硬件设计
4.1硬件设计基本概要
根据设计要求和内容,利用可编程并行接口芯片8255A接收3个按键的状态(分别表示风速、类型和停止),以启动电风扇或设置相应的工作状态。
这..
示例需要3个按钮,因此您可以使用3个按钮连接到8255端口。
这样,可以直接从8255端口读取密钥的状态,从而执行相应的操作。
要通过一个键控制两个以上的状态,可以使用键的数量来控制状态的数量。
例如,风速有三种状态(弱、中、强)。
一个键用于控制弱状态,两个键用于控制强状态,三个键用于控制强状态。
因此,一个键可以控制多分钟状态。
控制器的指示灯,我想用六个发光二极管灯来显示,分别显示六个不同风速、类型等的指示灯信号。
使用四相步进电机作为电风扇,可以通过改变其驱动电平的频率来改变其速度。
步进电机由四相四拍驱动,采用8255A低四位电脑端口。
风时间控制可以通过可编程计数器/定时器8253来实现。
可以从8253工作模式3中选择,这样,当中央处理器输入控制字时,输出会变高,写完计数值后计数器会立即自动对输入时钟CLK计数,当计数器减为1时,输出会变低,在模式2中8253可以不复位计数值继续工作,以保证计时的准确性。
4.28255A设计
8255A的功率放大器工作在模式0的基本输入模式,作为控制信号的输入,并接收8253信号来控制步进电机的旋转和停止。
低四位在模式0的基本输入模式下工作,接收四个开关的开关信号,高四位在模式0的基本输出模式下工作,作为四相步进电机的四相电路输出电路,驱动步进电机旋转。
PB端口以模式0的基本输出模式工作,并使用较低的六位来控制六个LED灯的开和关。
4.38253设计
首先,将时钟除以通道0,以获得可以更好使用的时钟。
获得周期为4秒的方波,以准备自然和睡眠状态,从而产生8秒的高电平、4秒的低电平和16秒的方波。
通道2用于产生风类型的状态信号。
当自然风属于这种类型时,允许通道2在模式2下工作,以产生8秒的高水平和4秒的低水平。
使用高位时,驱动步进电机旋转,当低位返回继续检测,实现模拟自然风。
在睡眠模式下,通道2工作在模式3,产生一个16秒的方波,电平高时驱动步进电机旋转,电平低时返回继续检测,实现模拟睡眠风。
4.4步进电机设计
步进电机可以接受数字控制信号(电脉冲信号),并将其转换成相应的信号。
角位移或线性位移,因此本身就是完成数模转换的执行元件。
此外,它可以进行开环位置控制,并输入脉冲信号以获得指定的位置增量。
本课程设计中使用的电机为四相步进电机,由单极DC电源供电。
只要步进电机的每相绕组按照适当的时间顺序通电,步进电机就可以逐步旋转。
步进电机的速度取决于脉冲频率、转子的齿数和拍数。
它的角速度与脉冲频率成正比,并在时间上与脉冲同步。
因此,在转子齿数和运行节拍数一定的情况下,只要控制脉冲频率,就可以获得所需的速度。
4.5风机控制器系统硬件原理图
图2风机控制器系统硬件原理图
V.软件设计
硬件设计完成后,软件用汇编语言编写,通过8086中央处理器实现各种信号的输入输出和相关信号的处理,从而控制步进电机各种状态的转换控制。
主程序流程图如图3所示。
启动初始化8255A,8253通道1风速键按Y初始化风速:
弱,类型:
正常风机运行子模块风机控制子模块风速键按Y停止子模块NY型键按NY停止键按下类型控制子模块
图3:
主程序流程图
注:
此流程图对应程序中的主要功能和检查功能。
5.1关键判断控制模块
这三个按钮连接到电脑端口的低三位,PC3接地。
如果按下风速键,开关信号为1H。
如果按下该类型,开关信号为2H。
如果按下停止键,开关信号为4H。
开关模块判断开关状态风速控制模块1?
2?
类型控制模块停止模块4?
返回
5.2风速模块切换过程
在风速切换中,在主函数中定义了一个变量FLAGL,将其初始化为0,并将其地址输入到SI中,在弱风和冲程模块中,将[SI]添加到1,在强风模块中,将其设置为0。
进入风速模块后,判断其大小;
如果为零,切换到弱风模块;
否则,进入笔画模块,依此类推。
风速模块判断[开关值点亮“弱”灯,[开关值增加一个,设定转速值,步进电机转动一次,按键判断控制模块0?
弱风模块1?
冲程模块2?
强风模块
图4:
风速切换模块
在弱风模块中,表示弱风的灯“弱”首先点亮,[信号]加1,通过改变驱动电平频率将DI设置为0FFFFH,调用运行功能使步进电机以弱速度转动,然后检测到开关信号,如果开关上没有新信号,弱风模块循环。
冲程模块类似于强风模块。
在中风的情况下,[SI]增加1,DI设置为0AFFH。
在强风的情况下,[设定为0,DI设定为05FFFH。
在类型控制中,切换过程类似于风速控制,这里不再描述。
将介绍以下课程
控制子模块。
5.3类型控制子模块
类型控制子模块8253通道2初始化功率放大器端口是否高功率?
步进电机旋转程序点亮灯,设置旋转速度值,并判断YPA端口是否为步进电机旋转一周的高电平n键,以判断控制模块。
图5:
类型控制子模块
进入类型控制子程序后,首先判断PA的PA0是否为高电平,即8253输出为
如果否为1,如果为高电平,则执行以打开灯,向变量添加一个或设置一个,并调用电机运行功能。
操作次数,然后检测此时的PA端口是否为高电平,如果是高电平,循环上述操作,如果是低电平,则判断开关信号,开关没有新信号,返回执行型控制子模块。
因此,只有当功率放大器端口处于低电平时,即当电机在自然风或睡眠风中停止时,才检测到开关,按下开关是有效的。
正常风需要电机一直旋转,所以正常风模块不需要检测功率放大器端口,程序类似于风速旋转子模块。
5.4停止控制模块
停止控制模块的按钮端口清零,灯完全关闭的电机停止子程序返回主程序的开始。
图6:
停止控制模块
停止状态主要实现风机的暂时停止运行,只有按下风速键,风机才能继续运行。
此模块结束后,它将返回到启动状态,启动后,将重新分配已运行的风扇的所有状态,以确保它可以在再次运行后以初始状态运行。
六.程序清单
;
8253端口地址
EQU·
IOY1+00H*4
EQUIOY1+01H*4EQUIOY1+02H*4
EQUIOY18253+03H*4
8255端口地址
EQUIOY0+00H*4IOB8255EQUIOY0+01H*4IOC8255EQUIOY0+02H*4IOCON8255EQUIOY0+03H*4
EQU0C400HIOY1EQU0C440H
数据段标志数据库?
弗拉格特数据库?
标志数据库?
邢蕾数据库0数据结束代码段主进程接近假设状态:
代码,数据开始:
MOVAX,数据MOVDX,AX
MOV国际,MOV国际,MOV国际,MOV国际,MOV国际,MOV国际,移动国际,国际;
8255初始化movdx,iocon8255moval,90houddx,al;
8253通道0初始化线路8253:
moval,00110111bmovdx,iocon8253outdx,almoval,00hmovdx,io08253outdx,almoval,04hmoutdx,al;
判断风速键是否按下qd:
movdx,ioc8255inal,dxandal,0fhcmpal,1jecheck_rjmpqdcheck_r:
callcheckjmpqdmendp
在MOVDX附近进行检查,位置8255INAL,DX和AL,0FHCMPAL,1JE速度_RJMP检查RETENDP速度_R:
呼叫速度JMP检查_R类型_R:
呼叫类型JMP检查_R;
风速控制子程序speedprocnerpushaxcom:
CMPBYTEptr[si],0jel0cmpbyteptr[si],1JEL1化学机械抛光字节PTR[SI],2JEL2L0:
MOVDX,IOB8255MOVAL,01HOUTDX,AL;
L0亮ll0:
loopl0movbx,[si]addbx,1mov[si],bxrun_1:
mov[di],0ffffhcallrun电机弱旋转检查_0:
movdx,ioc8255inal,dx和al,0fhcmpal,1jecomcmpal,2jestype_rcmpal,4jeztjmprun_1zt:
jmpting
L1:
MOVDX,IOB8255MOV,02H李良·
奥特克斯,alll1:
loopl1movbx,[si]addbx,1mov[si],bxrun_2:
mov[di],0afffhcallrun电机转移检查_1:
movdx,ioc8255inal,dxandal,0fhcmpal,1jecomcmpal,2jestype_rcmpal,4JEZTJMPRUN_2L2:
MOVDX,IOB8255MOVAL,04HL2布莱特奥特克斯,全部2:
loopll2mobvbl,0mov[di],blrun_3:
mov[di],05fffhlrun电机强制旋转检查_2:
movdx,ioc8255inal,dxandal,0fhcmpal,1jezcmpal,2jezsccmpal,4JEZTJMPRUN_3ZC:
JMPCOMZS:
JMPSTYPE_RPOPAXRETSPEEDENDPSTYPEPROCNEAR;
类型控制子程序pushaxpar:
cmpflagd,0jel3cmpflagd,1jel4cmpflagd,2JEZFZF:
JMPL5L3:
MOV邢蕾,0MOVDX,IOB8255MOVAL,08HOUTDX,AL;
L3liangll3:
loopl3moval,flaggadal,1movflagd,阿伦_z:
cmpbyteptr[si],0jeyrz正常风yrz:
mov[di],0ffffhcmp字节ptr[si],1jeyzz:
MOV[DI],0affhcmp字节ptr[si],2JEYQZYQZ:
MOV[DI],05FFFH调用运行检查_3:
MOVDX,IOC8255INAL,DXANDAL,0FHCMPAL,2JEL4CMPAL,1JEZ1CMPAL,4JEZBJMPRUN_Z1:
JMP速度_RZB:
JMPZTL4:
MOVL4明亮输出DX,铝
LL4:
环路LL4MOV铝,标志添加铝,1MOV标志,铝MOV铝,10110111B睡眠通道2初始化movdx、iocon8253outdx、almoval、04hmovdx、io28253outdx、almoval、00hmoutdx。
运行编号:
MOVDX、10a8255INAL、DX和AL、1CMPAL、1JERUN_RJMPCHECK_NUN_R:
MOV[DI],0AFFFH调用运行MOVDX、10a8255INAL、DXCMPAL、1JERUN_RJMPCHECK_NCHECK_N:
MOVDX、IOC8255检查al、dxandal、0fhcmpal、2jel5cmpal、1jez4cmpal、4JEZUJMPRUN_SZU:
JMPZTZ4:
JMPSPEED_RL5:
MOVDX、IOB8255中的新债券。
自然风MOV,20HL5brightoutdx,all5:
loopll5moval,flagmoval,0movflagd,almoval,10110110101b。
自然通道2初始化movdx、iocon8253outdx、almoval、02hmovdx、io28253outdx、almoval、00hmoutdx、alRUN_1:
MOVdx、IOA8255INAL、DX和AL、1CMPAL、1JERUN_R2JMPCHECK_N2RUN_R2:
MOV[DI)、0AFFFH调用RUNMOVDX、IOA8255INAL、DXCMPAL、1JERUN_R2JMPCHECK_N2CHECK检查al、dxandal、0fhcmpal、2jez3cmpal、1jez4cmpal、4中的新键
JE·
ZD·
JMP·
朗日兹3:
L3·
ZD:
ZS·
波普艺术学院ENDP;
电机旋转程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序运行程序。
判断是否按下了停止键检查:
movdx、ioc8255inal、dx和al、0fhcmpal、4jeting:
movdx、iob8255movax、0outdx、axcallruntjmpstart
运行程序附近;
电机停止子程序pushcxpushdimovdx,ioc8255moval,00houddx,alcalldelaymoveal,0houddx,ALCALLDELAYMOVAL,00HOUTDX,ALCALLDELAYMOVAL,0HOUTDX,Alcalldelayjmpllpdlayp:
movcx,[di]dalap:
loopdalapretlp:
popdipopCXretrunterendsendstart7,遇到的问题和解决方法
在本课程设计中,遇到了各种各样的问题。
因为先前的基础太薄弱,起初
在设计和编写程序的两天里,我经常盯着屏幕,没有办法解决问题。
我经常花三四个小时在一个小问题上。
后来,我逐渐学会了一些解决问题的想法和方法,并且步伐逐渐加快。
首先,这应该是步进电机的驱动问题。
起初,我根本不了解马达的驱动原理。
我看到了。
许多相关数据只知道一些理论性的东西,根本不知道如何使用它们。
大量数据的驱动电路也由大量与非门组成。
后来,我在proteus的SAMPLES中找到了一个简单的驱动电路,对它进行了研究,最后通过比较proteus和步进电机芯片在互联网上的数据,找到了如何使用它的方法。
因此,附在proteus上的参考资料实际上是非常实用的,他们可以通过很好地利用它们而不是在其他地方漫无目的地搜索它们来学习更多。
第二,逻辑问题。
在编写类型控制子模块时,程序是按照流程图编写的。
里面的子模块已经过测试,没有问题。
流程图的逻辑也应该没问题。
然而,每次电机在睡眠风状态下运行,它将旋转8秒钟,并在停止2秒钟后自动切换到自然风模块。
我考虑了很多可能性,比如开关问题,LED灯问题等等。
当我按照程序一个一个地写流程图时,我终于发现可能是RET最后没有工作,导致程序执行后无法返回检查,直接执行下一条指令。
还有写作的开始,写一盏灯,直接设置一个,然后什么也看不见
效果非常奇怪。
后来,我想到了中央处理器运行非常快的想法。
也许当它被点亮时,肉眼是看不到的。
需要推迟一段时间。
同样,按钮开关也需要延迟检测。
还有许多新手会遇到的问题。
当我第一次写它的时候,我在开头写了一个。
程序的大部分,然后什么结果都拿不出来,在调试的时候,没有办法调好,在学生的建议后,开始写程序,从一个小函数开始,先写一个灯,然后两个,然后循环,再添加其他函数。
像这样写作会给你成就感,让你坚持下去,否则当你遇到一个你无法开始的问题时,你很容易放弃。
因此,不管程序有多大,都必须有一个大的框架,然后一个接一个地实现小的功能。
当我以后遇到错误时,我通常会通过程序找出是否有任何可以看到的错误,然后程序开始检测,通过添加发光二极管来检测程序已经运行到哪一行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家用 风扇 控制器 设计