乾貨|教你DIY自動控制電源開關的滑鼠

無線鼠標使用很方便,但是電池不太耐用,即使是充電電池,也需要充電。很多鼠標帶有電源開關,可以關閉電源節省電池能量,但是使用後也會容易忘記關閉開關,造成浪費。雖說大部分鼠標都有自動休眠功能,但是看起來休眠的效果並不理想,試過多個2.4G無線、藍牙鼠標,都經常被電池問題困擾,沒有找到一個合適的,於是就想自己改造一下。

理想情況下,拿起鼠標就可以使用,放下鼠標一段時間後,就自動切換電源,這樣無論鼠標的低功耗功能是否足夠好,都不會損耗電池了,使用起來比較省心。正好有一個閒置的藍牙鼠標,就動手進行了改造了一番。

乾貨|教你DIY自動控制電源開關的鼠標

這個鼠標是最常見的公模鼠標了,它使用1節14550鋰電池供電,可能是電池容量小,加上通常沒有關閉電源開關,所以一般情況下,充電一次可以使用7-15天(與使用頻率有關)。

乾貨|教你DIY自動控制電源開關的鼠標

鼠標很容易拆,將電池取下後,就可以看到固定螺絲。這個鼠標只用1個螺絲固定,在鼠標腳墊下沒有螺絲(有些鼠標可能有,後面兩個鼠標腳墊處有螺絲柱)。取下螺絲後,就很容易將鼠標上蓋和底部分離,看到裡面的主板了。

要實現前面的想法,其實不難,只需要一個低功耗單片機(現在大部分單片機都可以),一個觸摸按鍵芯片,一個P-MOS管就可以。使用觸摸按鍵芯片檢測手接觸鼠標,當接觸鼠標後就會輸出信號,單片機檢測到這個信號後,就控制MOS管導通,給鼠標供電;當信號消失(手離開),延時一段時間後切斷電源,就可以自動節省電池能量。有的單片機支持大電流輸出引腳(輸出電流不小於50mA),那麼MOS也可以省掉。

確定了基本方案,下一步就是選擇合適的元件了。一節鋰電池的電壓範圍在2.7-4.2V,因此需要選擇一個支持2.7-5V的單片機,否則還需要增加一個LDO防止電壓超出範圍。MOS和觸摸芯片也是如此,需要選擇合適電壓範圍的。這些元件還是比較容易找到的,相信大家都有一些自己熟悉的。不過DIY的樂趣在於儘量使用少的成本和現有的東西,而不是花很多錢去買一個現成的,因此到雜物箱中找了找,找出了下面幾個元件,正好可以滿足要求:

  • ATTiny13V,8引腳的AVR單片機
  • TTP223,單觸摸傳感器
  • SI2301,P-MOS
乾貨|教你DIY自動控制電源開關的鼠標

ATTiny13V是8引腳的單片機,最大10M主頻,1KB flash,64B ram和64B eeprom。休眠時功耗大約是5uA(看門狗使能)。

乾貨|教你DIY自動控制電源開關的鼠標

TTP223是一個SOT23-6封裝的芯片,支持多種方式輸出和自校正。為了讓程序簡單,這裡使用了直接輸出方式,低電平有效。因此需要將TOG接地,而AHLB接VCC。

乾貨|教你DIY自動控制電源開關的鼠標

SI2301就是一個普通MOS,其它類似型號都可以使用。

乾貨|教你DIY自動控制電源開關的鼠標

AVR單片機好幾年沒有用過了,順便把編程器找出來,這還是以前DIY的,使用了AVRUSB方式。為此還把安裝了XP的舊計算機找出來,因為win7以後的系統都不能直接使用AVRUSB。

乾貨|教你DIY自動控制電源開關的鼠標

乾貨|教你DIY自動控制電源開關的鼠標

因為沒有(也不需要)仿真器,因此程序就使用了proteus,可以在proteus中仿真、編寫代碼、模擬運行、設置斷點,模擬運行結果正常,一般就沒有大問題了。

乾貨|教你DIY自動控制電源開關的鼠標

好長時間不用AVR,一些用法都忘記了。好在有以前寫的通用驅動層,不看手冊也很快就完成了功能。使用一個IO做觸摸檢測,一個IO做MOS控制。單片機平時休眠,通過WDG定時喚醒,休眠時功耗應該低於20uA。以前還體會不深,現在就越來越感到一個好的HAL是非常重要的。


將程序先下載到單片機,然後將信號線焊接上去,就完成了。使用了一個長導線作為觸摸感應,並將它固定到上蓋下方位置。

乾貨|教你DIY自動控制電源開關的鼠標

乾貨|教你DIY自動控制電源開關的鼠標

安裝電池後運行,效果不錯,靈敏度也很高。就是使用中發現延時關閉電源的時間稍短了一點,程序中設計的是5秒,有時拿東西是電源就關閉了,以後改為10-30秒可能更好。

後記:

  • 第一次安裝後運行發現了一個問題,TTP223輸出不能拉到0V,只有2.8V。檢查發現程序中使能了IO的上拉電阻,關閉上拉後就正常了。
  • 如果要更好的防止干擾,可以使用多路觸摸信號進行控制,在多個信號同時有效時,才打開電源,這樣效果更好。
  • 對於1節AA電池供電的鼠標,因為電壓範圍是0.9-1.5V,上面的元件就不能使用了。因此需要選擇合適的元件,或者使用升壓方式。


分享到:


相關文章: