基于EDA技术(FPGA)的自动门控制系统设计
扫描二维码
随时随地手机看文章
门和人类文明是孪生的,它伴随着人类文明的发展而跃动。21世纪的今天,门更加突出了安全理念,强调了有效性:有效地防范、通行、疏散,同时还突出了建筑艺术的理念,强调门与建筑以及周围环境整体的协调、和谐。
门大规模专业化生产始于150年前,在不断发展和完善的过程中,涌现出大批独具规模的专业制造商。门的高级形式--自动门起源在欧美,迅速发展至今天,已经形成了种类齐全、功能完善、造工精细的自动门家族。
中国早在十多年前就开始引用欧洲自动门,并把它应用在酒店、机场、购物中心、银行、写字楼等大中型公共场所,为这些建筑增添了亮丽、时尚的姿彩。自动门从理论上理解应该是门的使用观念的延伸,是人们根据需要对门的功能的提升和完善。所以对自动门的认识应该从人对门功能的要求开始。作为建筑物一部分的门,从最基本的意义上讲,要同时满足隔离外部环境和不妨碍人的通行这两种要求。因此门体本身应牢固、密封。
因此,设计一个操作方便、运行稳定可靠、成本低的自动门的控制系统具有一定的市场。
本文设计的自动门控制系统为了达到上述目的,采用了如下设计方案:采用按钮、无线遥控、红外感应三种驱动方式,既可自动控制又可人工控制,操作简单并且适用范围广;采用EDA技术设计主控制器的状态转换,可软件诊错;采用自动复位以及电机专用控制芯片来保证系统的可靠运行。由于设计采用了EDA技术的VHDL设计而非传统的单片机设计,是一种自上向下的设计方法,使得系统的开发周期短、成本降低。下文将详细介绍系统各个部分的设计。
1 系统分析
本系统通过按钮、无线遥控、红外感应三种驱动方式实现自动门的开、关、停,且按钮优先级别最高。红外感应开关在有人来时自动门开。还可以通过人工控制方式使用按键与遥控器来控制自动门的开、关、停。无线遥控器可根据实际情况在市场考查选用。自动门主控制器电路用一片FPGA芯片,根据驱动信号以及位置和遇阻外部信号来完成对门运行状态的转换控制;自动门的电机控制电路则根据主控制器发出的正反转以及停控制信号来控制电机的开、关、停以及实现自动门正反运行的分别调速。
2 电机控制电路设计
为了保证电机的控制简便可靠,设计中使用了电机专用控制芯片MC33033如图1。该芯片可对直流电机速度进行开环和闭环控制,亦可分别对电机正反转进行调速。MC33033是第二代无刷直流电机控制器的典型芯片,该芯片内含转子位置译码器,并可为传感器工作提供带有温度补偿的参考基准电压。MC33033的另一个特点是内含三个集电极开路的顶部驱动器和为MOSFET驱动电源而设计的三个高电流推拉式底部驱动器,并具有电机过流检测和保护功能。
MC33033应用到自动门的电机控制时,将逻辑运算电路得出的停止、正转、反转作为三个输入信号(优先级高低顺序是停止、正转、反转,正常情况下三个信号中有且仅有一个有效)。正转和反转信号经过逻辑门接入MC33033的3端,如果该端为高电平时,MC33033将使AT输出高电平,同时CB端输出PWM调制波形,相应控制开关动作,从而实现电机正转并进行速度调整;反之,MC33033将使AB输出高电平,同时CT端输出PWM调制波形,相应控制开关动作,从而实现电机反转并进行速度调整。低电平时,停止信号接入到MC33033的19端(使能端),如果它为高电平时,芯片将停止正常工作,此时就能实现电机的停转。这就是电机部分如何实现电机正转、反转、停止以及正反转分别调速的原理。
3 基于FPGA的自动门主控制电路
用VHDL进行电子系统设计的优点是从上而下的设计方法,设计者不用考虑实际工艺,可以全心在思路设计上,这样更有利于系统的简单和实际应用。
3.1 设计思路
首先画出自动门控制器的状态图。分析自动门的运行过程可知:门开始处于闭合状态,有开信号则开门,开关门过程中如遇到阻力则暂停一段时间,然后自动继续原来的开关门动作。门在运行过程中遇到停信号以及起始位置(门关时)则停,遇到底(门全开时)位置信号则暂停一段时间,然后自动执行关门动作。假设x1、x2、x3分别表示开、关、停控制信号;x4表示门在运行过程中遇到障碍时传感器发出的信号;x5表示门完全闭合;x6表示门完全打开。COUT为控制器内部的定计时控制信号(这里假定三个暂停状态的暂停时间一样)。
s0表示电动门处于零位置时的状态,此时电动门处于关闭的位置;s1表示电动门开的状态、电机正转的情况;s2表示电动门关的状态、电机反转的情况;s3表示电动门停止时的状态,此时要求电机停止转动;s4表示电动门处于底位置时的状态,此时电动门处于开的临界位置;s5表示在反转过程中电动门在遇到障碍时的暂停状态;s6表示在正转过程中电动门在遇到障碍时的暂停状态。Z1、Z2、Z3分别表示控制器发给电机控制电路的开、关、停控制信号。
3.2 自动门控制器的VHDL语言设计
(1)VHDL的实体描述:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY door IS
PORT(
Clk,reset: IN STD_LOGIC;--时钟和复位信号;
X1,x2,x3,x4,x5,x6:OUT STD_LOGIC;--开关量;
Outputs:OUT_LOGIC_VECTOR(1 TO 3);
ten:OUT STD_LOGIC);
END door;
(2)主控组合进程部分程序
PROCESS(current_state,x1,x2,x3,x4,x5,x6)
BEGIN
CASE current_state IS
WHEN so=>comb_output=’001’;
en=’0’;
IF x1=’1’ THEN next_states1;
………………
ELSE next_states0;
………………
END IF;
4 结束语
本文中介绍的自动控制系统采用了先进的EDA技术,从上而下的设计方法,与工艺无关的设计思路,使设计者在设计中更多的考虑系统的实现,更好的简化系统,同时大大缩短了系统的设计完成时间。EDA技术将在自动控制中应用会越来越广泛。