历史上的今天
返回首页

历史上的今天

今天是:2024年10月10日(星期四)

正在发生

2019年10月10日 | 基于MSP430F413水果电池供电的低功耗时钟

2019-10-10 来源:eefocus

  我最早接触MSP430时候,看到书的第一页就是一张水果电池的图片,一直以来想做一个低功耗的可以水果电池供电的系统,毕业之后的下半年选择MSP430F413单片机来画了一个低功耗的板子,一直没有调试成功,液晶显示太暗几乎看不到,最近又拿出来调试,更换偏压电阻,最终更换液晶后才可以正常显示,先看下最终效果:


最终效果

水果电池时钟 水果电池时钟


电路图:

低功耗电路


调试过程

  最初调试时,先准备好苹果一个,电池正负极(铜锌),程序是显示一个数字,效果如下:


水果电池


  突发奇想,用自来水试了一下,效果也是杠杠的(程序中间修改过,这是显示较多的液晶段):


水果电池


  时钟调试效果(这里电池没有接入电路,调试时所用,当时没有拿下来,用跳线帽接到水果供电的电路上):


水果电池


  刚刚调试时,万用表测试水果电池电压接近0.9V,短路电流25-30uA,接上电路仅显示数字7的时候,电流12uA,4节水果电池电压从3.4降到2.6V;水(普通自来水,每个地方水中含有离子数量不一样,获得电压电流都有区别)每节电池0.8V,短路电流接近40uA。


  程序换为时钟时,水果电池3.4V降到2.2V,大约维1个多小时,液晶完全没有显示,电极片换个位置重新插一下,时钟可以继续运行,测试电压和新做水果电池一样,苹果都要变干的时候,电压低一些,液晶明显变暗。


水果电池


  后来,电路中提供液晶偏压电压的电阻有330K改为1M后,系统电流降到大约10uA,水果电池大约可以维持3-4小时,用水做的电池可以维持24小时以上


水果电池


功耗分析

  这个低功耗的电路还有优化空间,单片机的不用的引脚可以再做优化,现有线路中有一般的液晶段引脚没有使用,却也提供的驱动波形,这里相对现有系统应当是浪费电流最大的一部分;另外一个优化空间是4个按键的上拉电阻太小,10K,3V的时候,按键按下瞬间,电流可以达到300uA,用水果电池的时候,按键功能不能使用,现在调试的时候,都是先拿CR2302供电,调节好时间后,再用水果(水)电池供电。

  进一步优化功耗后,电流应当可以降到5uA以下。


程序

  按键程序继续使用之前程序库中的按键程序;


  RTC计时使用TI的RTC软件库


  段码液晶的程序由程序库中的数码管程序移植而来:


    #include 

    #include  "segment_lcd_btl006.h"

    

    /*宏定义,数码管a-h各段对应的比特,更换硬件只用改动以下8行*/

    #define a       0x01                            //  AAAA

    #define b       0x02                            // F    B

    #define c       0x04                            // F    B

    #define d       0x80                            //  GGGG

    #define e       0x40                            // E    C

    #define f       0x10                            // E    C

    #define g       0x20                            //  DDDD  HH

    #define h       0x08        //小数点

    

    /*用宏定义自动生成段码表,很好的写法,值得学习*/

    /*更换硬件无需重写段码表*/

    const char tab[] = {

        a + b + c + d + e + f,                  // Displays "0"

        b + c,                                  // Displays "1"

        a + b + d + e + g,                      // Displays "2"

        a + b + c + d + g,                      // Displays "3"

        b + c + f + g,                          // Displays "4"

        a + c + d + f +g,                       // Displays "5"

        a + c + d + e + f + g,                  // Displays "6"

        a + b + c,                              // Displays "7"

        a + b + c + d + e + f + g,              // Displays "8"

        a + b + c + d + f + g,                  // Displays "9"

        a + b + c + e + f + g,                  // Displays "A"

        c + d + e + f + g,                      // Displays "B"  

        a + d + e + f,                          // Displays "C"

        b + c + d + e + g,                      // Displays "D"

        a + d + e + f + g,                      // Displays "E"

        a + e + f + g,                          // Displays "F"

        a + c + d + e + f,                      // Displays "G"

        b + c + e + f + g,                      // Displays "H"  

        e + f,                                  // Displays "I"

        b + c + d + e,                          // Displays "J"

        b + d + e + f + g,                      // Displays "K"

        d + e + f,                              // Displays "L"  

        a + c + e + g,                          // Displays "M" 

        a + b + c + e + f,                      // Displays "N"   

        c + e + g,                              // Displays "n"

        c + d + e + g,                          // Displays "o"

        a + b + c + d + e + f,                  // Displays "O"

        a + b + e + f + g,                      // Displays "P"

        a + b + c + f + g,                      // Displays "Q" 

        e + g,                                  // Displays "r"

        a + c + d + f +g,                       // Displays "S"

        d + e + f + g,                          // Displays "t"

        a + e + f ,                             // Displays "T" 

        b + c + d + e + f,                      // Displays "U"

        c + d + e,                              // Displays "v" 

        b + d + f + g,                          // Displays "W"

        b + c + d + f + g,                      // Displays "Y" 

        a + b + d + e + g,                      // Displays "Z"

        g,                                      // Displays "-"

        h,                                      // Displays "."  

        0                                       // Displays " "

    }; 

    #undef a

    #undef b

    #undef c

    #undef d

    #undef e

    #undef f

    #undef g 

    

    void lcd_init()

    {

    

        // Initialize LCD

        LCDCTL = LCDP1+LCDP0+LCD4MUX+LCDON;       // 4-Mux LCD, segments S0-S23

        BTCTL  = BTFRFQ1;                         // Set freqLCD = ACLK/128

        P5SEL  = 0xFC;                            // Set Rxx and COM pins for LCD

    

        // Clear LCD memory to clear display

        for (int i=0; i<12; i++)

        {

            LCDMEM[i] = 0x00;

        }

    }

推荐阅读

史海拾趣

Andersen Laboratories Inc公司的发展小趣事

随着LED背光液晶电视市场的快速发展,AnalogicTech敏锐地捕捉到了这一机遇。公司推出了直接式和边缘式LED背光驱动器系列,显著增强了LED背光液晶电视的能效和用户体验。这一创新举措不仅为AnalogicTech赢得了市场份额,也进一步巩固了其在电子行业中的领先地位。

Golledge Electronics公司的发展小趣事

为了满足客户对高效物流配送的需求,AnalogicTech建立了完善的物流配送体系。公司通过与快递公司或邮政EMS合作,实现了全国范围内的快速配送,并确保产品的及时送达。此外,AnalogicTech还为客户提供增值税专用发票和一系列优惠政策,进一步提升了客户满意度。

GSME Electronics公司的发展小趣事

随着生产设备的引进和技术团队的壮大,GSME Electronics开始专注于半导体器件的研发与生产。公司产品线逐渐丰富,涵盖了片式各种系列表面贴装的小信号三极管、中功率驱动三极管、肖特基、开关二极管及小功率可控硅等多种半导体分立器件。这些产品广泛应用于移动通信、计算机、消费类电子信息产品、家用电器、工业自动化控制设备等领域,满足了市场的多样化需求,推动了公司业务的快速增长。

Amplitronix LLC公司的发展小趣事

在快速发展的同时,Amplitronix LLC也积极承担社会责任,关注绿色环保。他们投入大量资源研发环保型电子产品,减少生产过程中的污染排放。同时,公司也积极参与公益活动,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的可持续发展注入了新的动力。

这些故事旨在展示Amplitronix LLC公司在不同阶段的发展过程和成就,但并非基于真实事件。实际的Amplitronix LLC公司的发展历程可能有所不同,这些故事仅为虚构示例,供您参考。

DBS Microwave Inc公司的发展小趣事

在DBS Microwave的发展过程中,技术创新一直是其核心竞争力。公司不断投入研发资源,突破技术瓶颈,推出了一系列具有创新性的产品。例如,在XXXX年,公司成功研发出了一款高性能的微波滤波器,其性能指标在当时的市场上处于领先地位。这一创新不仅为公司赢得了大量订单,也进一步巩固了其在行业内的技术领先地位。

Grand Halo Technology Co Ltd公司的发展小趣事

在DBS Microwave的发展过程中,技术创新一直是其核心竞争力。公司不断投入研发资源,突破技术瓶颈,推出了一系列具有创新性的产品。例如,在XXXX年,公司成功研发出了一款高性能的微波滤波器,其性能指标在当时的市场上处于领先地位。这一创新不仅为公司赢得了大量订单,也进一步巩固了其在行业内的技术领先地位。

问答坊 | AI 解惑

键盘和Led显示同时工作怎么编程啊?

为了同时从键盘读入数据 并且要读一个显一个。还有 键盘(4*4)的行和显示的位选是公用的!哎 太难了 不知道怎么弄!…

查看全部问答>

利用电流传感器进行过流检测的IGBT保护电路

利用电流传感器进行过流检测的IGBT保护电路 图8是利用电流传感器进行过流检测的IGBT保护电路,电流传感器(SC)初级(1匝)串接在IGBT的集电极电路中,次级感应的过流信号经整流后送至比较器IC1的同相输入端,与反相端的基准电压进行比较,IC1的 ...…

查看全部问答>

关于arm嵌入式开发,nand 无法启动的问题!急切求帮助!

我开发板上nor flash使用的是sst39vf1601,NAND FLASH使用的是k9f2g08uom,首先从nor 启动,使用usb下载,烧进steprdl.nb1,eboot,logo文件,显示都ok,烧文件的过程中,nand 的片选,读写信号正常。接上跳线冒,从NAND 启动,一直都起不起来,没有读 ...…

查看全部问答>

请教在 Windows Mobile 5,6 (PPC) 上如何保持 SD 卡的供电(即便在系统 suspend 的时候)

请教在 Windows Mobile 5,6 (PPC) 上如何保持 SD 卡的供电(即便在系统 suspend 的时候) 问题起因: 由于 WM 会在系统 suspend 的时候关闭 SD 卡电源,于是导致在系统 awake 之后应用程序所持有的文件句柄失效(短暂失效或者永久失效),进而导 ...…

查看全部问答>

wince下adoce3.1打开sqlserverce问题

明明显示数据库打开失败,但是可以对数据库进行操作 BOOL CEvcsqlserverceDlg::OpenDatabase(LPCTSTR szDbName) {         HRESULT hr;         VARIANT varConn1;     //与指定的数据库 ...…

查看全部问答>

philips isp1581的驱动程序 phkit.sys 提供给应用程序的接口函数有哪些

要编写philips isp1581的应用程序,现在不知道它的驱动phkit.sys 提供了怎样的接口函数,哪个达人知道的,告诉一声,感激不尽。…

查看全部问答>

一个经过A/D转换后发送到C51单片机的数字量怎么和一个RS422协议的数字量通过一个串口发给PC机?

系统要求是一个数据采集,现在有两个传感器,一个输出是0-10V模拟量,一个是25位的RS422数字量。模拟量可以通过一个C51单片机和一个A/D转换变成数字量。 那么我想请教怎么能把这两个不同的数字量通过一个串口发送给PC机! …

查看全部问答>

s7200问题 SF/DIAG红灯亮

224正常运行的时候突然SF/DIAG灯亮 输入灯亮 输出等不亮 这是怎么回事呀 谢谢大家了…

查看全部问答>

stm32上ucos加文件系统和gui谁能帮忙呢

                                  …

查看全部问答>

stm8s207k6多从机SPI功能

各位好: 由于stm8s207k6的NSS脚不是片选脚,那请问一个主机和多从机SPI通讯功能怎么实现? 其他MCU都有CS脚可以很方便实现多从机功能. ST的MCU怎么这么怪啊?…

查看全部问答>