爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 38293312 于 2020-3-20 16:09 编辑
这款OLED手表在国外出现很早了,我也很早就把资料下载,就这两三个月在家闲蛋痛。才拿出来把PCB画了。
没原作者授权请勿用于商用!本人只用于爱好者技术交流!
打样PCB还有,如须要的朋友免费赠送!快递费自理!
国外作者网站地址:https://blog.zakkemble.net/diy-digital-wristwatch/
以下为引用作者原帖谷歌翻译中文。
介绍这个项目背后的主要动机是看我能在硬件和软件方面塞入一个不超过显示屏本身的类似手表的设备中。选择OLED显示器的原因是厚度仅为1.5毫米,并且不需要背光(每个像素都产生自己的光),但主要是因为它们看起来很酷。该表原本将具有0.96英寸的显示屏,但事实证明,要让我将所有想要的东西藏在表底下,这太困难了。将尺寸增大到1.3英寸是完美的。 在硬件方面,该表包含Atmel ATmega328P微控制器,2.5V稳压器,Maxim DS3231M RTC,1.3英寸128×64单色OLED,2个LED(红色和绿色),蜂鸣器,用于导航的三向开关,由150mAh供电可通过USB和2个PCB充电的LiPo电池(尽管其中一个PCB仅用作OLED的提升器)。
所述ATMEGA328P使用其内部8MHz的振荡器和运行在2.5V从一个线性调节器。活跃时的电流消耗约为1.5mA,休眠模式下的电流消耗为100nA。 的DS3231M RTC是一个极好的芯片,收纳在一个小的8管脚封装,其包括内置的温度补偿的MEMS谐振器,具有±5ppm的的精度(±2分钟每年40秒)。仅需要一个去耦电容器和几个额外的上拉电阻。RTC已布线,因此无需在VCC引脚上加电,而是在Vbat引脚上加电,从而将其电流消耗从大约100uA降低到2.5uA。
不幸的是,如果您不在美国,该芯片似乎很难以合理的价格获得。我得拿我的作为样本。 您可能已经在原理图中注意到LED无需任何电阻器即可直接连接到微控制器。微控制器的内部MOSFET的导通电阻约为40Ω,因此在电源电压为2.5V的情况下,LED的电压为2V f时,大约12.5mA的电流通过LED导通。我本来希望有一个蓝色的LED,但是这些LED的压降通常超过3V,这将需要一些额外的电阻器和MOSFET。 当微控制器以2.5V运行时,需要将电池电压调低一点以获取ADC读数。这是通过一个简单的分压器完成的。但是,由于分压器跨接在电池两端,因此会有约350uA的电流不断流过,这是对功率的巨大浪费。添加了一个P-MOSFET(以及它的一些电压电平转换,我在第一个版本中就忘记了它,因此它一直卡在它上),因此分压器只能在需要时才打开。
使用的2.5V稳压器是Torex XC6206,其主要选择是因为其静态电流仅为1uA。
为什么选择线性稳压器而不是开关稳压器?我研究的开关稳压器在2mA负载下的效率至少为80%,但是在100uA负载下效率很快下降到不足50%。由于连接到稳压器的设备在睡眠模式下消耗2-3uA的电流,因此与线性稳压器相比,开关稳压器的性能会非常差。输入为4.2V时,2.5V线性稳压器效率为60%,输入为3V时则高达83%。
软件因此,我们拥有一个漂亮的OLED显示屏和32KB的程序空间,可以肯定,我们不仅可以拥有时间和日期,还可以拥有更多的东西吗? 几乎所有东西都是动画总而言之,优化渲染代码花费了很多时间,简而言之,这涉及将位图图像从闪存复制到RAM中的帧缓冲区,然后通过SPI将帧缓冲区发送到OLED。最终结果是,使用8MHz AVR可以在手表的几乎所有区域保持100+ FPS。但是,由于动画是基于帧而不是基于时间的,并且为了节省功耗,因此帧速率限制为60FPS。 一些主要的动画内容: - 进入和退出睡眠模式时的CRT动画(类似于某些Android智能手机具有的CRT动画)。
- 主要时间号码具有置顶效果。
- 菜单具有向左/向右滚动的动画,选择一个选项将导致当前菜单从屏幕上消失,而下一个菜单将落在屏幕上。
警报器
- 最多设置10个警报时间。
报警次数仅受可用EEPROM数量的限制。 - 每个警报都有小时,分钟以及应该在一周的哪几天激活。
多种选择
省电在“活动”模式下,微控制器尝试尽可能多地进入空闲睡眠。在空闲睡眠中,控制器每毫秒唤醒一次,以查看是否需要更新任何内容;如果不需要,则返回空闲睡眠状态;如果不需要更新显示,则通常花费不到100us。在这种模式下,电流消耗可以介于0.8mA和2mA之间,具体取决于绘制帧所花费的时间(快速的帧绘制时间=空闲睡眠中的时间更长)。 在“睡眠”模式下,微控制器关闭OLED并进入掉电睡眠模式,该模式仅通过按下按钮,RTC警报或插入USB即可唤醒。在这种状态下,微控制器消耗约100nA电流。 能量消耗在睡眠模式下,手表的总电流消耗约为6uA。在活动模式下,虽然典型的电流消耗为10mA,但电流消耗范围从2mA到70mA以上不等。
各种模式下的电池寿命
电池容量:150mAh
最低
(睡眠模式) | 典型
(主时间显示) | 高
(手电) | 6uA 2.
85年 | 10mA
15小时 | 64mA
2小时20分钟 |
如果手表平均每天处于活动模式1分钟(5秒的睡眠超时每天将检查时间12次),并且所有音量通道均设置为最小,则手表应持续约1年零4一次充电即可使用几个月。 以下是原作者照片:
闹钟:
游戏:
手电筒:
跑表:
音量设定:
以下本人参照原作者1:1 画的PCB
原理图:
熔丝位:
High: 0xDF
Low: 0xD2
Extended: 0xFE
固件
firmware.rar
(28.14 KB, 下载次数: 6, 售价: 10 家元)
源代码
watch.rar
(72.85 KB, 下载次数: 11, 售价: 10 家元)
(提示:一定要烧录EEP,不然有些功能不能使用)
经过半个月的测试,我200MA电池使用2星期不用充电,现在发现固修的有一个小DBUG,就是休眠不能设置,进入设置以后就会出现不休眠问题,所以要玩的朋友就不要进这项设置了,其它功能正常!
|