新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于EM78P156E的自動紅外控制系統設

        基于EM78P156E的自動紅外控制系統設

        作者: 時間:2012-03-14 來源:網絡 收藏

        1 概述

        本文引用地址:http://www.104case.com/article/171880.htm

        是臺灣義降電子公司采用CMOS技術制造的8位單片機,它具有低功耗、高速度等特點,其內部含有看門狗、RAM、ROM、可編程計時/計數器、內外部中斷、SLEEP模式及雙向三態I/O口,其豐富的應用資源和低廉的價格已使其在各個應用領域取得了重大成功,如充電器,遙控器,語言復讀機,汽車防盜報警器,無繩電話等。

        筆者依據的特點設計了一個可應用于水龍頭產品的實用電路,并在試用后取得了良好效果。

        2 的特點

        圖1是EM78P156E的管腳圖,它的主要參數和特點如下:
        ●工作電壓:2.5V~5.5V。
        ●工作頻率范圍:采用晶振時為:DC~36MHz;采用RC振蕩器時為DC~4MHz(5V):
        ●低功耗:在5V/4MHz條件下的電流消耗為2mA,在SLEEP時為1μA;
        ●具有OTP型,其程序存儲器為1k×13;
        ●具有多種振蕩形式,帶有SLEEP省電模式;
        ●內含14個特殊功能寄存器,含48×8bit內部RAM;
        ●可由軟件控制雙向I/O口,以構成上拉電阻、下拉電阻或集電極開路輸出。

        3 水龍頭的工作原理及特點

        圖2為水龍頭的工作原理圖。它是利用紅外發射電路和接收電路配合單片機來工作的。發射電路定時間歇發射發外脈沖,當人要洗手時對紅外產生反射,從而使接收電路接收到紅外信號,再由單睡機控制電磁閥打開水龍頭出水,當人手離開時,接收電路無法收到反射信號,單片機則控制電磁關閉水龍頭。為使這種家用或公共場合用的產品具有更高的安全性和可靠性,設計者普遍使用電池作為工作電源,因而對電路整機的功耗要求應足夠的小,一般來講應該從以下幾個方面來減少功耗:

        (1)為了便于電磁閥的驅動,采用4節1.5V電池供電,CPU工作使用HT1033穩壓輸出的3.3V電壓,以降低CPU的工作功耗。為防止在電池電壓降低后紅外水龍判斷的工作可靠性下降,該電路設計有電池電壓檢測電路,當電池電壓降低到一定程序時,電路具有通過指示燈閃爍提醒用戶更換電池的功能。

        (2)圖3所示為電磁閥的控制電路,它通過兩個I/O控制腳電平的翻轉來對電磁閥進行開/關控制。電磁閥開關動作的控制脈沖寬度可選為30ms,隨著該脈沖寬度的增加,電路的功耗將會加大,但如果該脈沖太窄的話,一方面無法驅動電磁閥工作,另一方面還會使電池電壓下降從而電磁閥失控。因而應采用軟件進行判斷補償:當計數電磁閥開關次數達到一定數值時,應適當增加電磁閥控制脈沖寬度,也可以根據使用次數逐級增加脈寬。這樣既能穩定控制電磁閥又能合理分配使用能量。

        (3)圖4所示是該紅外水龍頭的發射/接收電路。發射電路中的穩壓二極管起著穩定發射距離的作用,它能保證電池電壓下降后發射距離保持穩定。該發射電路以間歇方式工作,它每隔0.5秒發射一次脈寬為50μs的窄脈沖。接收電路也采用間歇供電方式,在CPU做發射脈沖的時候打開接收電路的工作電源,然后檢測是否收到反射脈沖。檢測完畢后再關閉接收電源。

        (4)在設計CPU軟件時,由于EM78P156程序存儲器的容量為1k,因而可以將多種沖水功能程序放大同一片OTP芯片中,工作時再從I/O口管理判斷應執行的功能段。這樣可以減少產品庫存,并提高利用率。WDT看門狗的打開信號可作為SLEEP工作模式的喚醒源,如果WDT的基本定時周期為18ms,那么,WDT看門狗應在大約每隔0.56s時產生一次看門狗復位動作。另外,該紅外水龍頭還設計有連續出水一分鐘關閉電磁閥的功能。這是為在異物阻擋使單片機誤判斷時,不致于水流不停而設計的。圖5所示是該紅外水龍頭的軟件工作程序方框圖。

        4 結束語

        該設計思路已經在產品中得到了驗證,該產品已經進入了批量生產階段,其整機功耗電源水于35μA。另外,低廉的成本和超長的電池使用壽命都為該產品的推廣和應用提供了極大的發展空間。

        紅外遙控器相關文章:紅外遙控器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长白| 于都县| 绥芬河市| 梨树县| 肃宁县| 南宁市| 调兵山市| 东方市| 运城市| 磐安县| 达州市| 甘孜| 桓仁| 固安县| 农安县| 伊金霍洛旗| 韩城市| 赤水市| 仁布县| 东莞市| 永丰县| 玉田县| 贡觉县| 武鸣县| 曲阜市| 高邮市| 乌兰县| 昭觉县| 德安县| 阳城县| 桂阳县| 搜索| 筠连县| 花莲市| 灵璧县| 遵义县| 民乐县| 疏勒县| 固阳县| 普陀区| 牡丹江市|