0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英飞凌PSoC62 实现超低功耗温湿度计

华仔的编程随笔 2023-06-03 10:13 次阅读

英飞凌PSoC62是一款Cortex-M0+与Cortex-M4的双内核MCU,其有着非常优秀的超低功耗性能。

温度计的器材

  1. 英飞凌PSoC62开发板 这是一款英飞凌与RT-Thread联合制作的一款开发板。
  2. 瑞萨的hs3003温湿度传感器
  3. 电子墨水屏

选型原因

以上三款都具休有超过功耗性能

程序代码

  1. 本次的代码是基于RT-Thread Studio创建的。
  2. 电子墨水屏是移植微雪的标准例程。这里不过多介绍。
  3. hs3003是利用rtt软件包的模块创建。
  4. 低耗实现的代码,MCU利用Cortex-M0+的标准进入深度睡眠模式。然后用RTC的ALARM中断来唤醒。设置的唤醒程序如下:
void set_rtc_alarm_date_time(void)
{
    cy_rslt_t result;

    /* Print the RTC alarm time by UART */
    //LOG_D("RTC alarm will be generated after 10 seconds
");
    /* Set the RTC alarm for the specified number of seconds in the future by editing the macro(USE_SECONDS_FOR_ALARM) */
    result = cyhal_rtc_set_alarm_by_seconds(&rtc_obj, USE_SECONDS_FOR_ALARM);
    if (result != CY_RSLT_SUCCESS)
    {
        rt_kprintf("RTC alarm err 
");
    }
}

5、主程序代码:

int main(void)
{
    cy_rslt_t result;
    float temp, humi;
    uint8_t show_str[20] = {0};
    EPD_GPIO_Init();       //EPD GPIO  initialization
    //Cy_SysDisableCM4();
    __enable_irq();
    rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT);
  //  rt_thread_mdelay(500);
    Paint_NewImage(BlackImage, 128, 296, 270, WHITE); //Set screen size and display orientation
    Paint_SelectImage(BlackImage);//Set the virtual canvas data storage location

    Paint_NewImage(BlackImage, EPD_WIDTH, EPD_HEIGHT, 270, WHITE); //Set screen size and display orientation
    Paint_SelectImage(BlackImage);//Set the virtual canvas data storage location
    EPD_DeepSleep();


    /* Initialize RTC */

    cyhal_rtc_enable_event(&rtc_obj, CYHAL_RTC_ALARM, RTC_INTERRUPT_PRIORITY, true);
    set_rtc_alarm_date_time();
    for (;;)
    {


      //  cyhal_system_delay_ms(LONG_GLITCH_DELAY_MS);
        /* Set MYPIN_0_NUM to Analog HI-Z for low power using HAL APIs. */


//        /* Go to deep sleep */

        cyhal_syspm_deepsleep();

        set_rtc_alarm_date_time();
 //       rt_kprintf("Wack from sleep!
");
        hs300x_read_data(&temp_humi_dev, &humi, &temp);
        EPD_HW_Init(); //Electronic paper initialization
        EPD_HW_Init_GUI(); //EPD init GUI
        Paint_Clear(WHITE);
        sprintf(show_str,"温度%02d.%02d℃",(int)temp, (int)(temp*100)%100);
        Paint_DrawString_CN(40,0,show_str, &Font24CN, WHITE, BLACK);
        sprintf(show_str,"湿度%02d.%02d%%",(int)humi, (int)(humi*100)%100);
        Paint_DrawString_CN(40,40,show_str, &Font24CN, WHITE, BLACK);
        EPD_Display(BlackImage); //display image
        EPD_DeepSleep();//EPD_DeepSleep,Sleep instruction is necessary, please do not delete!!!



    }
}

实验的效果

显示.jpg

经调试休眠模式下,整体的待机电流低到450uA:

休眠电流.jpg

工作电流为19mA:

工作电流.jpg

总结

目前待机电流基本上达到电池供电的效果,后期再加上NB-IoT的数据传输模式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英飞凌
    +关注

    关注

    66

    文章

    2186

    浏览量

    138701
  • 温湿度传感器

    关注

    5

    文章

    579

    浏览量

    35718
  • 温湿度计
    +关注

    关注

    1

    文章

    23

    浏览量

    8088
  • RT-Thread
    +关注

    关注

    31

    文章

    1288

    浏览量

    40112
  • NB-IoT
    +关注

    关注

    412

    文章

    1447

    浏览量

    184521
收藏 人收藏

    评论

    相关推荐

    XKCON祥控仓库存储环境温湿度在线监测系统能够取代人工巡检,实现远程仓库存储环境温湿度变化的实时

    的XKCON祥控仓库存储环境温湿度在线监测系统通过安装固定式环境温湿度检测仪对仓储环境温湿度实时数据进行采集,并通过主机现场显示并发送至远程监管软件,能够取代人工巡检,实现远程仓库存储
    的头像 发表于 11-20 11:20 182次阅读
    XKCON祥控仓库存储环境<b class='flag-5'>温湿度</b>在线监测系统能够取代人工巡检,<b class='flag-5'>实现</b>远程仓库存储环境<b class='flag-5'>温湿度</b>变化的实时

    LORA无线温湿度监测系统

    LORA无线温湿度监测系统,作为现代环境监测技术的重要组成部分,正日益受到各行各业的广泛关注和应用。 LORA无线温湿度监测系统,利用LORA无线通信技术,对环境中温度和湿度的实时监测和数据传输,为
    的头像 发表于 11-07 16:57 325次阅读

    温湿度控制器的功能和应用

    温湿度控制器在电阻柜中的应用主要涉及以下几个方面: 温湿度控制器的功能 检测与控制:温湿度控制器可以同时检测和控制环境中的温度和湿度。它通常由传感器、控制器和加热器三部分组成。传感器负
    的头像 发表于 11-07 15:08 201次阅读

    温湿度监测系统应用

    在现代化工业生产、仓储管理、农业种植以及智能家居等领域,温湿度监测已成为不可或缺的一环。温湿度作为环境控制的关键因素,直接影响着产品质量、存储安全、作物生长效率以及居住舒适度。因此,一套高效、精准
    的头像 发表于 07-26 16:15 403次阅读

    库房温湿度自动监测系统

    仓储、库房在管理上,环境控制都是重中之重。库房温湿度自动监测系统作为一种更为便捷的解决方案,已经得到广泛的应用。 库房温湿度自动监测系统通过集成传感器、数据采集器、传输设备和管理平台等硬件设备,实现
    的头像 发表于 07-09 18:00 703次阅读

    粮仓温湿度监测解决方案

    温湿度是影响粮食储存品质的重要因素。过高的温度会加速粮食的呼吸作用,导致水分散失和品质下降。因此,粮仓的温湿度管理,成为了确保粮食储存安全和质量稳定的关键因素。方便及时发现粮仓的发热点,及时减少粮食
    的头像 发表于 07-04 16:37 348次阅读

    想要准确地测量环境温湿度温湿度传感器是关键!

    温湿度是生产生活中最重要的环境指标之一,不仅人需要在适宜的温湿度条件下保持良好的精神状态和敏捷的思维,食品、药品、各种仪器设备等都对环境温湿度有特殊的要求。基于对环境温湿度的要求,
    的头像 发表于 07-04 08:48 562次阅读

    无线温湿度监控系统

    无线温湿度监控系统,作为现代环境监测技术的杰出代表,已经广泛应用于各个行业和领域。利用无线通信技术,实现对环境温湿度的实时、远程监控,从而保障了各种设备和物品的安全运行和保存。 无线温湿度
    的头像 发表于 05-30 16:43 761次阅读

    小白测功耗之蓝牙温湿度传感器

    小小的温湿度计,是人们日常生活中的智能小帮手,也是极为典型的电池供电类低功耗产品。通常采用纽扣电池供电,可方便地摆放或粘贴于各种应用场景。市面上常见的温湿度计功耗到底有多低?今天,我
    的头像 发表于 04-16 08:04 1314次阅读
    小白测<b class='flag-5'>功耗</b>之蓝牙<b class='flag-5'>温湿度</b>传感器

    如何在PSoC62 Evaluation kit开发板上运行RT-Thread呢?

    本文主要介绍如何在PSoC62 Evaluation kit开发板上运行RT-Thread,如何连接CYW43012 WiFi蓝牙模组,以及如何进行WiFi联网、网络延迟、网络带宽测试。
    的头像 发表于 02-27 10:49 1019次阅读
    如何在<b class='flag-5'>PSoC62</b> Evaluation kit开发板上运行RT-Thread呢?

    PSOC62 ADC的输入阻抗是多大呢?

    PSOC62套件,我怎么使用外部晶振时钟,以及我怎么使用PSOC上的ECO时钟输出到套件以外的器件? 3.关于模块跟引脚的关系。比如我想使用运放模块,正负输入端的IO引脚选择是不是没有限制?这些模块在
    发表于 02-21 08:09

    PsoC62最大内存能设到多少,如何设置?

    memory: 5276 msh > 最大内存只能设到 32K,PsoC62 最大内存能设到多少, 如何设置??
    发表于 02-21 08:03

    PSoC62如何获取系统时钟?

    time_get()获取当前时间用来返回当前的内部系统时钟。每个定时节拍使内部系统时钟加1, PSoC62 如何获取系统时钟?
    发表于 02-21 06:38

    温湿度传感器有哪些应用场景?

    温湿度传感器在众多领域,特别是在实时记录温湿度变化的工作中最为广泛。温湿度传感器可以根据所记录的内容,对其进行科学有效的管理、分析和归纳。下面我们就温湿度传感器在不同场景中的应用做下介
    的头像 发表于 02-19 16:28 1355次阅读
    <b class='flag-5'>温湿度</b>传感器有哪些应用场景?

    温湿度传感器工作原理 温湿度传感器的接线方法

    温湿度传感器是一种用于测量环境温度和相对湿度的装置。它通常用于工业、农业、气象、室内空调等领域。本文将详细介绍温湿度传感器的工作原理和接线方法。 一、温湿度传感器的工作原理
    的头像 发表于 02-14 18:00 9457次阅读