基于FPGA无叶风扇控制器的设计与制作.docx

上传人:b****5 文档编号:6240548 上传时间:2023-01-04 格式:DOCX 页数:49 大小:1.42MB
下载 相关 举报
基于FPGA无叶风扇控制器的设计与制作.docx_第1页
第1页 / 共49页
基于FPGA无叶风扇控制器的设计与制作.docx_第2页
第2页 / 共49页
基于FPGA无叶风扇控制器的设计与制作.docx_第3页
第3页 / 共49页
基于FPGA无叶风扇控制器的设计与制作.docx_第4页
第4页 / 共49页
基于FPGA无叶风扇控制器的设计与制作.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

基于FPGA无叶风扇控制器的设计与制作.docx

《基于FPGA无叶风扇控制器的设计与制作.docx》由会员分享,可在线阅读,更多相关《基于FPGA无叶风扇控制器的设计与制作.docx(49页珍藏版)》请在冰豆网上搜索。

基于FPGA无叶风扇控制器的设计与制作.docx

基于FPGA无叶风扇控制器的设计与制作

杭州电子科技大学

继续教育学院

 

毕业设计(论文)

 

题目基于FPGA无叶风扇控制器的设计与制作

学习类别成人本科

年级2011级

专业电子信息工程

班级金华学习中心

(函授站)

学号11131401007

学生姓名彭召翔

指导教师刘子坚

完成日期2013年5月15日

基于FPGA无叶风扇控制器的设计与制作

杭州电子科技大学电子信息工程专业彭召翔

摘要

本产品是无叶风扇的核心部件之一,使用简单,运行稳定可靠。

功能丰富,质量可靠,人性化设计,尤其是众多的保护功能使产品返修率降到非常低的水平。

具有升级容易、通用性强、调速范围广等特点,安装十分方便。

本控制器以FPGA为核心,采用Xilinx公司的XC6SLX9-TQG144芯片实现了压力的准确控制、数码管显示设定值与测量值、按键设定气压大小和起动停止控制功能、人体红外感应的控制、电机驱动的脉宽调制控制。

关键词:

无叶风扇;无叶风扇;FPGA

FPGAdesignbladelessfancontroller

(MajorofAppliedElectronicTechnology,InformationandEngineeringCollege,PengZhaoXiang)

ABSTRACT

Thisproductisacorecomponentofthenon-leaffan,easytouse,stableandreliable.Bladelessfanalsocalledairdoubler,itcanproducenaturalcontinuouscoolbreeze,noleaves,nodustcover,orinjurytothefingersofcuriouschildren.Evenmoreamazingisitspeculiarshape,theappearanceofboththeflowlinesandfresh,givingthevisualeffectcannotbecompared.ThecontrollerusesFPGAasthecorechip,feature-rich,stableperformance,reliablequality,user-friendlydesign,especiallythemanyprotectionfunctionsproductfailureratesdowntoverylowlevels.Easytoupgrade,powerful,andawiderangeofversatility,speed,andveryeasytoinstall.

Keyword:

Noleaffan;Controller;FPGA

 

引言

无叶风扇也叫空气增倍机,它能产生自然持续的凉风,因无叶片,不会覆盖尘土或伤到好奇儿童手指。

更奇妙的是其造型奇特,外表既流线又清爽。

无叶风扇的灵感源于空气叶片干手器。

空气叶片干手器的原理是迫使空气经过一个小口来“吹”干手上的水,空气增倍器是让空气从一个1.0毫米宽、绕着圆环放大器转动的切口里吹出来。

由于空气是被强制从这一圆圈里吹出来的,通过的空气量可增原先的15倍,它的时速可达到35公里。

空气增倍器的空气流动比普通风扇产生的风更平稳。

它产生的空气量相当于目前市场上性能最好的风扇。

因为没有风扇片来‘切割’空气,使用者不会感到阶段性冲击和波浪形刺激。

它通过持续的空气流让你感觉更加自然的凉爽。

无叶风扇于2009年10月12日在英国首度推出。

2009年11月26日,浙江嵊州农民企业家胡国贤向国家知识产权局申请了无风叶风扇发明专利。

2011年2月在香港推出第二代。

要让无叶风扇实现我们需要的功能,必须要加一个控制器来控制风的大小、方向等等功能。

我们使用FPGA为核心控制器,FPGA设计周期最短、开发费用最低、风险最小的器件,功耗低,系统集成度、可靠性的最佳。

 

1方案论证与确定

1.1方案的选择

目前大多数的压力的控制系统都采用了以单片机作为控制器的设计,但是随着可编程逻辑器件的发展,家用电器的控制部分也越来越多地使用可编程逻辑器件来实现,所以下面提供了以单片机和可编程逻辑器件(FPGA)为核心控制器件的2个方案进行选择。

方案1:

该方案采用的是AT89C51单片机为核心控制器件,用它来处理各个单元电路的工作以及检测其运行情况。

首先通过压力传感器对空气进行采集,将采集的气压信号作A/D转换,使其模拟信号转变成数字信号,然后输给单片机,再由单片机控制显示,并比较采集的气压与设定的气压是否一致,然后驱动电机的运行,本设计中我们采用的是MPXV7002DP压力传感器模块,通过压力传感器模块采集电路采集相关压力数值,再由AD0809组成的A/D转换电路进行转换,最终的到数字信号,将其直接输给单片机,然后由单片机机根据内部程序判断,执行相关控制程序,驱动个单元电路的工作。

其方框图如下:

图1-1方案1结构框图

 

方案2:

该方案以FPGA为核心控制器件,采用MPXV7002DP压力传感器模块进行压力采集,通过压力传感器模块采集电路采集相关压力数值,经信号调理电路处理,再由AD7991组成的A/D转换电路进行转换,最终的到数字信号。

另一路由KP500B热释电红外传感器感应的人体的信号再经过芯片BISS001的处理,再加到FPGA芯片处理。

同时通过FPGA芯片还可以实现测量和设定显示,使用6个数码管将传感器测量到的压强,设定的压强。

其方框图如下:

 

 

 

图1-2方案2结构框图

 

1.2方案论证与确定

通过比较两个方案,方案1采用单片机为核心控制器件,该方案的优点是容易控制,系统原理比较简单,电路可靠,容易实现控制目的。

但是该方案中的单片机,容易产生误差等一系列问题。

方案2采用的是以FPGA为核心控制器件,同时压力传感器采用的是MPXV7002DP压力传感器,通过该传感器采集的压力信息需要经过信号放大和A/D转换直接以数字信号的形式传递给控制芯片,使得电路的连接大大的简化了,减小了电路复杂所带来的误差等问题。

而且FPGA芯片所具有的可编程修改的特点以及其强大的逻辑功能都是单片机难以达到的,这样不但给设计过程中带来一系列的便利,而且在电风扇的功能日趋人性化和智能话的发展趋势下,以FPGA为控制器件的设计无疑更加具有市场竞争力。

所以同过上面的对两个方案的比较论证,本次设计采用方案2来实现。

 

2硬件设计

2.1硬件整体结构及原理

硬件电路主要包括电源电路、石英晶振、压力传感器、FPGA控制器、数码管显示组成。

本设计使用的FPGA芯片是Xilinx公司的XC6SLX9系列的TQG144,压力传感器采用MPXV7002DP。

整个硬件的框图如图所示。

图2-1整个硬件的结构框图

整个电路的工作原理是由100MHz石英晶振FPGA提供时钟信号,FPGA芯片所需要的1.2V和3.3V电压由外部的5V电源通过电源电路获得。

压力传感器MPXV7002DP将采集的压力信息经过信号放大和A/D转换直接以数字信号的形式传递给FPGA芯片,用户也可通过按钮根据需要自己设定压力值。

采集压力和设定压力都送给FPGA控制器,控制器通过对两个压力值的比较做出判断,当测量压力大于设定压力时就想电风扇的电机发出减小的控制信号;当测量压力小于设定压力时,则发出一增加的控制信号;当两者相等时则不减小也不增加。

通过执行机构工作状态的转换来达到改变风扇风力大小的目的。

同时,FPGA还可以对设定压力进行定时,并将定时的时间、测量压力和设定压力的值通过6个数码管显示出来。

 

2.2各模块电路

2.2.1最小系统

图2-2最小系统电路图

最小系统由FPGA芯片、晶振电路、配置电路、复位电路等四部分构成。

其中,FPGA为核心,可用于构建强大的数字系统;晶振电路选用100MHz有源晶振,作为系统主时钟;配置电路选用SPI接口的Flash芯片W25Q128BV;复位电路采用简单的阻容耦合方式,低电平复位。

采用AD7991,该转换芯片的工作电压及参考电压选择为+3.3V,而信号调理电路输出电压范围为0~5V,因此需要分压、缓冲电路实现0~5V到0~3.3V转换,在运放同相端及输出接口处加二极管进行限幅,实现对运放及后级电路的保护;A/D芯片输出接口采用IIC接口,在其输出SCL、SDA部分必须接上拉电阻;为了提高测量精度,Vin3在此处接参考电压。

2.2.2人机接口电路与人体红外感应电路

图2-3人机接口与人体红外感应电路图

本系统人机接口电路采用独立按键加数码管相结合的方式。

按键采用微动开关,其一端通过一电阻上拉至3.3V,另外一端接地,当某个键被按下时,对应输出被拉低;数码管显示电路中,数码管选用共阳数码管,为节约端口采用动态扫描方式,段码驱动电路选用74HC245总线驱动芯片,位选驱动电路采用74HC245与三极管相结合的方式。

红外传感器增加了后级处理芯片BISS0001,Rt为光敏电阻,用来检测环境照度。

当作为照明控制时,若环境较明亮,Rt的电阻值会降低,使9脚的输入保持为低电平,从而封锁触发信号Vs。

1脚是工作方式选择,当1脚与+5V端连通时,芯片处于可重复触发工作方式;当1脚与地端连通时,芯片则处于不可重复触发工作方式。

输出延迟时间Tx由外部的R55和C24的大小调整,值为Tx≈24576xR55C24;触发封锁时间Ti由外部的R56和C25的大小调整,值为Ti≈24xR56C25,稳压二极管在输出起保护作用。

2.2.3电源电路

图2-4电源电路图

外面接12V开关电源,经过SW1开关,再整流滤波以后通过3个LM2576分别产生5V,3.3V,1.2V的电压。

其中,3.3V和1.2V用了很多电容抗高频干扰,保证了FPGA的工作稳定。

同时在图中还有EPROM,在电路中R43作为M93C66的4脚的下拉电阻。

 

2.2.4串口AD转换电路

图2-5串口AD转换电路图

主要由芯片LF353构成电压跟随器,还有2个TL084N构成反相放大器。

并且输入和输出都有二极管限幅保护作用。

由它们组成两路0―5V输入和两路-5―5V输入。

4路输出再经过AD7991的模数转换,产生的数字信号在加到FPGA控制芯片。

该电源另外采用LM2576集成电源,防止共用一个3.3V电源时电流不足。

LED串联一个3.3K限流电阻指示灯。

 

2.2.5电机驱动电路

图2-6电机驱动电路图

该电机驱动电路采用光耦TLP521隔离,还附加了LED指示灯,方便调试。

当JH1为低电平时1、2脚导通,LED指示灯亮。

同时场效应管栅极为高,场效应管导通24V电流流过电机,电机工作,否则电机不工作。

D1、D2分别为电机和场效应管的继流二极管,防止不被反向电压击穿。

 

2.2.6压力传感器电路

图2-7压力传感器电路图

MPXV7002DP为小型封装(SOP)压阻式传感器是最新型的单片式硅压力传感器,可广泛用于各种应用,可提供与被测压力成正比、精确的高电平模拟输出信号。

可用于测量正压和负压。

此外,本实验采用特定输出2.5V的零位偏移替代了传统的0V,该新系列传感器每个端口允许测量的压力高达7kPa,也适用于真空检测。

该电源也是使用外接的12V开关电源在经过Ua7805三端稳压管,输出5V电压,同时还增加了滤波和LED指示灯。

 

2.2.7差动放大电路

图2-7差动放大电路图

电源电路采用2个二极管VD1VD2限幅保护作用。

瓷片电容C3至C6100PF并联在正负电源上起高频抗干扰的作用。

正负电源分别用LED1LED2指示,并且LED1LED2分别串联一个3.3K限流电阻.差动放大电路采用3个集成运算放大器组成,调节RW1改变放大倍数,调节电位器RW2可使失调电压为零,UA741集成运算放大器构成电压跟随器。

放大信号,缓冲隔离,阻抗匹配的作用。

3控制程序设计

3.1程序流程图设计

图3-1程序流程图

3.2程序设计介绍

3.2.1程序功能

CLK:

instd_logic;--100MHZ时钟信号

RESET:

instd_logic;

--人体热释电

INFRARED_RECEIVE:

instd_logic;--红外人体感应输出信号

INF_LED:

outstd_logic;--人体红外热释电感应到就灯亮

--按键控制

KEY_IN:

instd_logic_vector(3downto0);--四个按键

--AD7991采样

LED3:

outstd_logic;--转换成功标志

SDA:

inoutstd_logic;

SCL:

outstd_logic;

AD_CONVERSION_SPEED:

outstd_logic;--ad采样速度,用于观察

--电机控制

PWM_OUT:

outstd_logic;

--数码管显示

DOT:

outstd_logic;--小数点

LED7:

outstd_logic_vector(6downto0);--gfedcbacomAnode

BIT8:

outstd_logic_vector(0to7)--bit8(7)tothefirstsmg

--按键子程序

componentManyKeys

port(CLK:

instd_logic;

RESET:

instd_logic;

KEY_IN:

instd_logic_vector(3downto0);--四个按键

KEY_OUT:

outstd_logic_vector(3downto0)--按键输出指示,对应key1~key4

);

endcomponent;

--AD采样

componentack_check

port(CLK:

instd_logic;--100MHZ

RESET:

instd_logic;

Sampling_fre:

outstd_logic;--AD7991每次转换标志

LED3:

outstd_logic;--转换成功标志

SDA:

inoutstd_logic;

SCL:

outstd_logic;

AD_CONVERSION_SPEED:

outstd_logic;

DATA_OUT:

outstd_logic_vector(11downto0)

);

endcomponent;

--电机控制程序

componentMotor_Control

port(CLK:

instd_logic;

RESET:

instd_logic;

KEY1,KEY2,KEY3,KEY4:

instd_logic;--四个独立按键

SAMPLING_FLAG:

instd_logic;--AD7991每次采样标志

INFRARED_RECEIVE:

instd_logic;--红外热释电接收信号

INF_LED:

outstd_logic;--人体红外热释电感应到就灯亮

SAMPLING_DATA:

instd_logic_vector(11downto0);--AD7991每次采样输出的12bits数据

SMG_DATA_SV:

outstd_logic_vector(11downto0);--给数码管显示的设定数据;

SMG_DATA_PV:

outstd_logic_vector(11downto0);--给数码管显示的测量值

PWM_DUTY:

outstd_logic_vector(6downto0)--控制PWM的数值

);

endcomponent;

--PWM控制

componentPWM

port(CLK:

instd_logic;

RESET:

instd_logic;

DUTY:

instd_logic_vector(6downto0);--从0~100%

PWM_OUT:

outstd_logic

);

endcomponent;

--数码管显示

componentSmg_Display

port(CLK:

instd_logic;--100MHZ

RESET:

instd_logic;

DATA_SV:

instd_logic_vector(11downto0);

DATA_PV:

instd_logic_vector(11downto0);

DOT:

outstd_logic;--MSBLSB

LED7:

outstd_logic_vector(6downto0);--gfedcbacomAnode

BIT8:

outstd_logic_vector(0to7)--bit8(7)tothefirstsmg

);

3.2.2AD转换

1.该AD转换采用的是12bits的串行iic协议的AD7991,AD7991可以在三种模式下运行,分别是

2.标准模式,快速模式,高速模式,对应的时钟最高分别为100K,400K,和3.4MHZ。

3.此程序跑的是标准模式;SDA和SCL分别为AD7991的数据线和时钟线;

 

3.2.3电机控制

1.红外热释电要求选择可重复触发模式,即BISS001的A=1,选择高电平就可以;要求人不停地移动

2.才能重复触发使输出为高电平,平常为低电平,只有突然感应到人体红外线才能触发为高电平;之后又恢复到低电平

3.电机控制按键:

key1:

控制电机启动;key2:

停止;key3:

气压增加按键;key4:

气压减小按键;

3.2.4PWM发生器

1.PWM控制电机,PWM输出低电平就启动电机转,而不是高电平,因此这里的占空比

2.是低电平与周期的比值,这里设置PWM开关频率为2KHZ;分100等分;

4系统联机调试

4.1操作细则

通过无叶风扇控制器前面板的按键,可以实现无叶风扇的气压(风量)大小设定和起动停止控制功能,要求实现如下功能:

4.1.1设定功能

按上升“↑”键或下降“↓”键可以设定无叶风扇气压的大小,设定值在左边4位数码管上显示,每按一次按键,增加或减小10帕气压值,设定范围从0帕到400帕。

按键可以单次释放细调,也可以长按快速调节。

4.1.2起停功能

按起动功能键可实现无叶风扇的起动功能,按停止功能键可实现无叶风扇的停止功能,在开机时控制器要处于停止状态,设定值和测量值均显示“000”。

无叶风扇运行时实际输出的气压应闭环控制,跟随设定的气压。

实际的气压值在右边4位数码管上显示,显示的气压单位为“帕”,气压值以整数显示。

按停止键后无叶风扇停止运行,气压设定值保持不变。

气压传感器可通过U形气压计标定。

无叶风扇控制器的前面板上有人体红外感应器,在无叶风扇处于停止状态时,当感应器检测到有人体活动存在,风扇自动运行至设定气压值。

4.1.3调试总结

在调试的过程中,差动放大电路比较不好调节。

我们最好当压力传感器在静态工作的时候先测量压力传感器输出电压,然后把差动放大电路的RW1电位器分压调到与传感器输出电压相同,才能把输出信号接到差动放大电路中,然后调节电位器RW2可使失调电压为零。

在经过UA741集成运算放大器构成电压跟随器,信号缓冲隔离,阻抗匹配输入到串口AD转换电路。

 

4.2.面板介绍

 

图3-2面板示意图

所示为本系统的前面板,主要包括显示区、按键区、电源开关及传感器信号输入。

其中,左边显示区用于显示设定压力值,右边显示区用于显示测量压力值。

按键区中启动键用于启动操作;停止键用于停止操作;上升键用于增加压力值操作;下降键用于减小压力值操作。

电源开关用于接通或关断与220V市电的连接。

4.3.后面板介绍

 

图3-3后板示意图

所示为本系统的后面板,主要包括交流220V电源输入端子、电机接口输出端子、传感器信号输入端子。

其中,交流220V电源输入端子里面还自带保险丝。

结论

通过对无叶风扇控制器的设计与制作与模拟仿真实验等调试工作,得出以下结论:

1.根据课题任务书要求,正确设计了FPGA控制系统的主电路、外部接口电路及控制程序等,经过实验表明,设计方案正确可行。

完成整个系统实物装配与调试。

2.无叶风扇有、安全、环保、健康、省电、方便、价廉等优势,在市场中有一定的竞争力的产品。

3.如果要进入市场当做一般的扇风的电风扇使用,成本还是比较高的,如果用在什么类似的测量的地方是比较好的。

4.本课题的研究中尚存在的问题是差动放大电路中的电位器调节时,不能很精确调到自己想要的,很容易松动。

建议调好以后再改使用固定的电阻。

5.本无叶风扇控制器中风扇的电机要的电流比较大,建议不要共用一个开关电源。

在焊接FPGA芯片时,由于管脚比较多,在焊接时一定放正、焊牢。

6.本产品还可以增加定时、报警、倾斜保护、转向、遥控等常用功能。

 

致谢

本论文设计在刘子坚老师的悉心指导和严格要求下业已完成,从课题选择到具体的写作过程,无不凝聚着刘子坚老师的心血和汗水,在我的毕业论文写作期间,刘子坚老师为我提供了种种专业知识上的指导和一些富于创造性的建议,没有这样的帮助和关怀,我不会这么顺利的完成毕业论文。

在此向刘子坚老师表示深深的感谢和崇高的敬意。

在临近毕业之际,我还要借此机会向在这三年中给予了我帮助和指导的所有老师表示由衷的谢意,感谢他们三年来的辛勤栽培。

不积跬步何以至千里,各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成毕业论文。

同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者表示谢意。

 

参考文献

[1]潘明,潘松.数字电子技术基础[M].科学出版社,2008:

108~295.

[2]姚远,李辰等.FPGA应用开发入门与典型实例[M].北京:

人民邮电出版社,2010.

[3]王金明.数字系统设计与VerilogHDL(第4版)[M].北京:

电子工业出版社,2011.

[4]刘文光.硅压阻式轮胎气压传感器电路设计[J].轮胎工业,2006:

299~301.

[5]陈杰,黄鸿.传感器与检测技术(第2版)[M].北京:

高等教育出版社,2010.

[6]辜文杰,方宏.基于热释电效应的红外人体检测[J].电子世界,2012:

48~49.

[7]胡宴如,耿苏燕.模拟电子技术(第3版)[M].高等教育出版社,2008:

28~251.

[8]陈学平.AltiumDesignerSumme

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1