《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 基于CPLD的電器定時開關控制系統(tǒng)設計
基于CPLD的電器定時開關控制系統(tǒng)設計
摘要: 隨著當今社會工作和生活節(jié)奏的加快,人們對許多電器,、儀器、設備的自動化要求也越來越高,,但現(xiàn)有的許多電器還不具備定時開啟和關閉功能,許多需要在固定時間開關的裝置,,還需人工值守和操作,,因此設計帶有時鐘顯示功能的多個電器定時開關控制系統(tǒng),具有實際意義,。
Abstract:
Key words :

隨著當今社會工作和生活節(jié)奏的加快,,人們對許多電器" title="電器">電器、儀器,、設備的自動化要求也越來越高,,但現(xiàn)有的許多電器還不具備定時開啟和關閉功能,許多需要在固定時間開關" title="開關">開關的裝置,,還需人工值守和操作,,因此設計帶有時鐘顯示功能的多個電器定時開關控制" title="控制">控制系統(tǒng),具有實際意義,。

  2系統(tǒng)功能及操作

  系統(tǒng)上電時復位,,時鐘顯示為0時0分0秒,按下"時間"設置鍵設定時間,,數(shù)字鐘開始工作,,數(shù)碼管顯示當前時間;按下"開啟電器編號"設置鍵,,再按下要定時開啟的電器編號,,對應發(fā)光二極管亮,表示設置有效,;按下"電器開啟時間"設置按鍵,;再依次輸入4位十進制的小時和分鐘,作為開啟時間,;按下"電器關閉時間"設置按鍵,,再依次輸入4位十進制的小時和分鐘,作為關閉時間,。至此定時開關設置完成,,對于電飯鍋等具有保持功能的電器,則不用設置定時關閉,。使用Verilog HDL編寫CPLD" title="CPLD">CPLD程序,,理論上可同時設置多個電器的定時自動開啟,本設計可同時設置3個電器,。

  3硬件設計

  硬件設計采用Altera公司的CPLD EPM7128SLC84-6,,簡化了外圍電路,穩(wěn)定性和可靠性高,,成本低,。220 V,、50 Hz工頻電源經(jīng)變壓器、電橋整流后通過三端穩(wěn)壓器,,提供工作電壓,,其電源電路如圖1所示。
 

  外接4×4鍵盤,,使用較少的I/O端口線就可實現(xiàn)對較多按鍵的控制,。當有鍵按下時,kb為低電平,,CPLD的按鍵掃描部分采用動態(tài)掃描方式進行識別,。設置14個按鍵,分別為0~9十個數(shù)字鍵和設定時間,、開啟電器編號,、電器開啟時間、電器關閉時間4個功能鍵,,其余兩個留作功能擴展,。4×4鍵盤電路如圖2所示。

  本系統(tǒng)設計使用6個數(shù)碼管顯示時間,,3個發(fā)光二極管標志是否定時。電器開啟信號經(jīng)三極管放大后接繼電器,,通過繼電器吸合導通電源線,,開啟電器。

  4軟件設計

  Verilog HDL是硬件設計人員和QuartusⅡ界面之間的交互手段,,其具體物理建模能力強,,設計方便,可讀性好,,語法類似C語言,,與VHDL相比,更容易學習和掌握,,與原理圖設計法相比,,設計和分析更容易,可避免考慮畫面的布局及美觀,,修改也方便,。本設計CPLD部分完全使用Verilog HDL編寫。

  4.1按鍵掃描及鍵值讀取

  CPLD檢測到kb下降沿時,,表示有鍵按下時,,為防止按鍵抖動,延時一段時間再檢測,,若確有鍵按下,,CPLD采用低電平逐行掃描,,待找到按鍵時,根據(jù)掃捕得到的數(shù)值,,確定按鍵值,。對于無效按鍵,設按鍵值為"15",。輸入信號kb的下降沿觸發(fā)對鍵值的讀取,,可保證對于每一次按鍵,僅作一次處理,。主要程序如下:

  

  4.2功能鍵的判斷

  程序初始化時為設定時間,、開啟電器編號、電器開啟時間,、電器關閉時間4個功能鍵設置對應按鍵值,。定義功能標志寄存器fun,并使用格雷碼標志各個功能,,相鄰兩個功能的編碼僅有一位不同,,可避免狀態(tài)跳變,比目前常用的獨熱碼節(jié)省CPLD邏輯單元,。由于本設計中寄存器fun只有5個狀態(tài),,選用3位格雷碼,并對編碼方式進行改進,。根據(jù)上一步得到的按鍵值判斷具體要實現(xiàn)哪個功能,,并依此設置fun的值,如下所示:

  

  4.3數(shù)字鍵的判斷和處理

  先根據(jù)鍵值判斷是哪一個數(shù)字鍵,,再根據(jù)功能標志寄存器fun判斷進行哪項設置,。若正在進行的是時間設置,則將時間寄存器左移4位,,將數(shù)字值存入低位,;若為設定需要開啟電器的編號狀態(tài),則電器編號數(shù)組num對應位置"1",,并通過電阻使相應發(fā)光二極管點亮,,否則為"0";若為設定電器開啟時間狀態(tài),,相應電器的開啟時間寄存器timeon左移4位,,將數(shù)字值存入低位;若為設定電器關閉時間狀態(tài),,相應電器的關閉時間寄存器timeoff左移4位,,將數(shù)字值存人低位。若為無效按鍵,則不進行任何操作,。

  4.4數(shù)字鐘的工作

  本系統(tǒng)設計作為數(shù)字鐘和定時器,,對計時準確性要求較高.由有源晶體振蕩器提供系統(tǒng)時鐘,可保證其穩(wěn)定度,。在頂層模塊中對系統(tǒng)時鐘分頻,,得到1 Hz時鐘,作為數(shù)字鐘部分行波時鐘,。這樣減少了片內各觸發(fā)器之間的時鐘偏移,,事實證明,對設計時序無不良影響,。先將沒定的時間送人小時,、分鐘對應的寄存器hour和min,為了顯示和用戶操作方便,,用6位二進制寄存器,,以8421BCD碼表示時間。如果秒為8'h59則秒寄存器sec清零,,分鐘值加1,,若秒值末位為"9",則秒值末位清零,,秒值十位加1,。

  4.5判斷電器的開啟和關閉

  若當前時間與某個已定時的電器的開啟時間相同,則開啟寄存器數(shù)組on對應位輸出高電平,,開啟對應電器,;若與某個已定時的電器的關閉時間相同,則開啟寄存器數(shù)組on對應位輸出低電平,,關閉對應電器。

  4.6顯示

  對應不同的狀態(tài),,數(shù)碼管顯示不同值,。時鐘設置狀態(tài),顯示當前時間,;開啟電器編號設置狀態(tài),,顯示欲開啟的電器編號;電器開啟時間設置狀態(tài),,屁示電器應開啟的時間,;電器關閉時間設置狀態(tài),顯示電器應關閉的時間,。

  具體實現(xiàn)時,,由系統(tǒng)時鐘控制,分時點亮各個數(shù)碼管,,可節(jié)約能源,。由于時間很快,,而人眼存在視覺暫留,看上去6個數(shù)碼管均同時顯示,。在CPLD中編程實現(xiàn)數(shù)碼管的七段譯碼,,可節(jié)省外同電路。

  5 結語

  本設備設定開啟,、關閉時間為一天之內的任意時間,,滿足一般使用要求,亦可作為數(shù)字時鐘使用,。由晶體振蕩器提供時鐘,,計時精準,使用常見器件設計,,實現(xiàn)方便,,成本低,耗電少,,體積小,,重量輕,工作可靠,??捎糜诙〞r開啟家用電器,如通過提前設置,,下班回家時電飯鍋已經(jīng)把飯做熟,。空調已經(jīng)開啟,,飲水機已經(jīng)燒好開水,,熱水器已經(jīng)燒好洗澡水等。也可用于辦公樓里上下班自動響鈴裝置,,工廠里需要定時開關的設備,,以及一些手動操作開關不安全的地方,具有實用價值,。

 

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。