基于FPGA的自動門控制設(shè)計
3.1 設(shè)計思路
首先畫出自動門控制器的狀態(tài)圖。分析自動門的運(yùn)行過程可知:門開始處于閉合狀態(tài),有開信號則開門,開關(guān)門過程中如遇到阻力則暫停一段時間,然后自動繼續(xù)原來的開關(guān)門動作。門在運(yùn)行過程中遇到停信號以及起始位置(門關(guān)時)則停,遇到底(門全開時)位置信號則暫停一段時間,然后自動執(zhí)行關(guān)門動作。假設(shè)x1、x2、x3 分別表示開、關(guān)、??刂菩盘?x4 表示門在運(yùn)行過程中遇到障礙時傳感器發(fā)出的信號;x5 表示門完全閉合;x6 表示門完全打開。COUT 為控制器內(nèi)部的定計時控制信號(這里假定三個暫停狀態(tài)的暫停時間一樣)。
s0 表示電動門處于零位置時的狀態(tài),此時電動門處于關(guān)閉的位置;
s1 表示電動門開的狀態(tài)、電機(jī)正轉(zhuǎn)的情況;
s2 表示電動門關(guān)的狀態(tài)、電機(jī)反轉(zhuǎn)的情況;
s3 表示電動門停止時的狀態(tài),此時要求電機(jī)停止轉(zhuǎn)動;
s4 表示電動門處于底位置時的狀態(tài),此時電動門處于開的臨界位置;
s5 表示在反轉(zhuǎn)過程中電動門在遇到障礙時的暫停狀態(tài);
s6 表示在正轉(zhuǎn)過程中電動門在遇到障礙時的暫停狀態(tài)。Z1、Z2、Z3 分別表示控制器發(fā)給電機(jī)控制電路的開、關(guān)、??刂菩盘枴?p>3.2 自動門控制器的VHDL 語言設(shè)計
(1) VHDL 的實(shí)體描述:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY door IS
PORT(
Clk,reset: IN STD_LOGIC;--時鐘和復(fù)位信號;
X1,x2,x3,x4,x5,x6:OUT STD_LOGIC;--開關(guān)量;
Outputs:OUT_LOGIC_VECTOR(1 TO 3);
Ten:OUT STD_LOGIC);
END door;
(2) 主控組合進(jìn)程部分程序
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_state《s1;
………………
ELSE next_state《s0;
………………
END IF;
4 結(jié)束語
本文中介紹的自動控制系統(tǒng)采用了先進(jìn)的EDA 技術(shù),從上而下的設(shè)計方法,與工藝無關(guān)的設(shè)計思路,使設(shè)計者在設(shè)計中更多的考慮系統(tǒng)的實(shí)現(xiàn),更好的簡化系統(tǒng),同時大大縮短了系統(tǒng)的設(shè)計完成時間。EDA 技術(shù)將在自動控制中應(yīng)用會越來越廣泛。
萬能遙控器相關(guān)文章:萬能遙控器代碼
fpga相關(guān)文章:fpga是什么
評論