干货分享:教你DIY自动控制电源开关鼠标 图1
这个鼠标是最常见的公模鼠标了,它运用1节14550锂电池供电,可能是电池容量小,加上通常没有关闭电源开关,所以一般情况下,充电一次可以运用7-15天(与运用频率有关)。干货分享:教你DIY自动控制电源开关鼠标 图2
鼠标很容易拆,将电池取下后,就可以看到固定螺丝。这个鼠标只用1个螺丝固定,在鼠标脚垫下没有螺丝(有些鼠标可能有,后面两个鼠标脚垫处有螺丝柱)。取下螺丝后,就很容易将鼠标上盖和底部分离,看到里面的主板了。 要实现前面的想法,其实不难,只需要一个低功耗单片机(现在大部分单片机都可以),一个触摸按键芯片,一个P-MOS管就可以。运用触摸按键芯片检测手接触鼠标,当接触鼠标后就会输出信号,单片机检测到这个信号后,就控制MOS管导通,给鼠标供电;当信号消失(手离开),延时一段时间后切断电源,就可以自动节省电池能量。有的单片机支持大电流输出引脚(输出电流不小于50mA),那么MOS也可以省掉。 确定了基本方案,下一步就是选择合适的元件了。一节锂电池的电压范围在2.7-4.2V,因此需要选择一个支持2.7-5V的单片机,否则还需要增加一个LDO防止电压超出范围。MOS和触摸芯片也是如此,需要选择合适电压范围的。这些元件还是比较容易找到的,相信大家都有一些自己熟悉的。不过DIY的乐趣在于尽量运用少的成本和现有的东西,而不是花很多钱去买一个现成的,因此到杂物箱中找了找,找出了下面几个元件,正好可以满足要求:ATTiny13V,8引脚的AVR单片机TTP223,单触摸传感器SI2301,P-MOS干货分享:教你DIY自动控制电源开关鼠标 图3
ATTiny13V是8引脚的单片机,最大10M主频,1KB flash,64B ram和64B eeprom。休眠时功耗大约是5uA(看门狗使能)。干货分享:教你DIY自动控制电源开关鼠标 图4
TTP223是一个SOT23-6封装的芯片,支持多种方式输出和自校正。为了让程序简单,这里运用了直接输出方式,低电平有效。因此需要将TOG接地,而AHLB接VCC。干货分享:教你DIY自动控制电源开关鼠标 图5
SI2301就是一个普通MOS,其它相似型号都可以运用。干货分享:教你DIY自动控制电源开关鼠标 图6
AVR单片机好几年没有用过了,顺便把编程器找出来,这还是以前DIY的,运用了AVRUSB方式。为此还把安装了XP的旧计算机找出来,因为win7以后的系统都不能直接运用AVRUSB。干货分享:教你DIY自动控制电源开关鼠标 图7
干货分享:教你DIY自动控制电源开关鼠标 图8
因为没有(也不需要)仿真器,因此程序就运用了proteus,可以在proteus中仿真、编写代码、模拟运行、设置断点,模拟运行结果正常,一般就没有大问题了。干货分享:教你DIY自动控制电源开关鼠标 图9
好长时间不用AVR,一些用法都忘记了。好在有以前写的通用驱动层,不看手册也很快就完成了功能。运用一个IO做触摸检测,一个IO做MOS控制。单片机平时休眠,通过WDG定时唤醒,休眠时功耗应该低于20uA。以前还体会不深,现在就越来越感到一个好的HAL是非常重要的。将程序先下载到单片机,然后将信号线焊接上去,就完成了。运用了一个长导线作为触摸感应,并将它固定到上盖下方位置。干货分享:教你DIY自动控制电源开关鼠标 图10
干货分享:教你DIY自动控制电源开关鼠标 图11
安装电池后运行,效果不错,灵敏度也很高。就是运用中发现延时关闭电源的时间稍短了一点,程序中规划的是5秒,有时拿东西是电源就关闭了,以后改为10-30秒可能更好。后记:第一次安装后运行发现了一个问题,TTP223输出不能拉到0V,只有2.8V。检查发现程序中使能了IO的上拉电阻,关闭上拉后就正常了。如果要更好的防止干扰,可以运用多路触摸信号进行控制,在多个信号同时有效时,才打开电源,这样效果更好。对于1节AA电池供电的鼠标,因为电压范围是0.9-1.5V,上面的元件就不能运用了。因此需要选择合适的元件,或者运用升压方式。