新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于CPLD的電器定時開關(guān)控制系統(tǒng)設(shè)計

基于CPLD的電器定時開關(guān)控制系統(tǒng)設(shè)計

作者: 時間:2008-09-17 來源:網(wǎng)絡(luò) 收藏
  隨著當(dāng)今社會工作和生活節(jié)奏的加快,人們對許多、儀器、設(shè)備的自動化要求也越來越高,但現(xiàn)有的許多還不具備定時開啟和關(guān)閉功能,許多需要在固定時間的裝置,還需人工值守和操作,因此設(shè)計帶有時鐘顯示功能的多個定時系統(tǒng),具有實際意義。

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

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

  3硬件設(shè)計

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

本文引用地址:http://butianyuan.cn/article/258622.htm  外接4×4鍵盤,使用較少的I/O端口線就可實現(xiàn)對較多按鍵的。當(dāng)有鍵按下時,kb為低電平,的按鍵掃描部分采用動態(tài)掃描方式進(jìn)行識別。設(shè)置14個按鍵,分別為0~9十個數(shù)字鍵和設(shè)定時間、開啟電器編號、電器開啟時間、電器關(guān)閉時間4個功能鍵,其余兩個留作功能擴(kuò)展。4×4鍵盤電路如圖2所示。

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

  4軟件設(shè)計

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

  4.1按鍵掃描及鍵值讀取

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

  

  4.2功能鍵的判斷

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

  

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

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

  4.4數(shù)字鐘的工作

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

  4.5判斷電器的開啟和關(guān)閉

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

  4.6顯示

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

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

  5 結(jié)語

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



關(guān)鍵詞: 電器 開關(guān) CPLD 控制

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉