[MCU] 【沁恒RISC-V内核 CH582】PWM 控制取暖器

lugl4313820   2022-3-24 21:53 楼主

【沁恒RISC-V内核 CH582】定时器PWM 驱动舵机 https://bbs.eeworld.com.cn/thread-1197629-1-1.html

【沁恒RISC-V内核 CH582】CH582 用固态继电器控制取暖器发热管可行性 https://bbs.eeworld.com.cn/thread-1197474-1-1.html

【沁恒RISC-V内核 CH582】微信小程序控制点灯 https://bbs.eeworld.com.cn/thread-1197168-1-1.html

【沁恒RISC-V内核 CH582】BLE 点灯 https://bbs.eeworld.com.cn/thread-1195457-1-1.html

       【前言】我评测准备的作品是制作一款手机APP控制取暖器的题目,经过一段时间的练习,包括CH582的PWM、定时器、蓝牙等的学习,还有微信小程序的制作,都是为今天的这个综合控制的做的铺垫。我的思路主要是:

       1、CH582作为主控设备,启用定时器,500ms进一次中断,进行计数,5秒钟为一个控制电热丝加热的过程,在这个时间断里,固态继电器工作一次,这样保证继电器的寿命得到保障。

        2、蓝牙监听手机APP的指令,接收到指领后更新加热的计数周期。

       3、定时器中断里面根据加热计数周期,决定输出高低电平控制继电器的开关。

      【主要步聚】

      1、定时器0,根据定时器例程,我将就抄了例子,对定时器进行初始:

 

GPIOB_SetBits(GPIO_Pin_15); //开机设置低电平,以免误开电热管
GPIOB_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP_20mA); //输出一定要选择20mA要不驱动不了继电器
TMR0_TimerInit(FREQ_SYS/2);         // 设置定时时间500ms
TMR0_ITCfg(ENABLE, TMR0_3_IT_CYC_END); // 开启中断
PFIC_EnableIRQ(TMR0_IRQn);

      2、定义几个函数,用来判断继电器的通断:

      uint8_t thisHeartTime; //用于定时器计算当前时间
      uint32_t heatingTime; //用于保存 APP发送过来的计数时间

      #define allHeartTime 9  //用于来计算工作周期,0-9 刚好是5秒。

     3、定时器中断函数

void TMR0_IRQHandler(void) // TMR0 定时中断
{
    if(TMR0_GetITFlag(TMR0_3_IT_CYC_END))
    {
        TMR0_ClearITFlag(TMR0_3_IT_CYC_END); // 清除中断标志
        //500ms进中断一次
        GPIOB_InverseBits(GPIO_Pin_15);
        if (heatingTime == 0) //0为APP发过来关的指令
        {
            GPIOB_ResetBits(GPIO_Pin_15);
        }
        else if(heatingTime == allHeartTime) //如果发过来的指令等计数周期,则为全开的指令
        {
            GPIOB_SetBits(GPIO_Pin_15);
        }
        //用周期时间减出当前时间,来决定是否开启继电器
        else if ((allHeartTime - thisHeartTime)>= heatingTime) {
            GPIOB_ResetBits(GPIO_Pin_15);
        }
        else {
            GPIOB_SetBits(GPIO_Pin_15);
        }
        //计数器自增与周期归零
        thisHeartTime ++;
        if (thisHeartTime == allHeartTime) {
            thisHeartTime = 0;
        }
     }
}

      4、接收回调函数的处理:

static void simpleProfileChangeCB(uint8_t paramID, uint8_t *pValue, uint16_t len)
{
    switch(paramID)
    {
        case SIMPLEPROFILE_CHAR1:
        {
            uint8_t newValue[SIMPLEPROFILE_CHAR1_LEN];
            tmos_memcpy(newValue, pValue, len);
            PRINT("profile ChangeCB CHAR1.. %s\n",newValue);
            heatingTime = pValue[0]-'0'; //由于上位机发过来的是字符0-9,所以要减去‘0’
            break;
        }

      5、继电器与开发板接线原理图:

      image.png

    6、开发板工作电源 :从某鱼上淘回来的220转5V的电源:

     image.png   image.png   7、固态继续电器也是从某鱼淘回来的250V/10A。大约也就10元那样子。这个是最贵的一个零件了。

8、取暖器,早上准备拆自己的取暖器的,结果下楼寄快递时刚好捡到一个领居丢的取暖器。本来想是捡他的电源线用一下的,拆开来看,他用的MOS管开路了,电热丝还是好的,所以就拿他的来改装了。

9、手机APP,我设计了5档如下图:

image.png 【实验效果】

        电源接通后,开发板用220转5V的电源工作,给开发板通电。由于开机heatingTime初始化是0,所以继电器为关闭状态,这也就避免因为停电后,后面来电会自己开启。开机后手机搜索蓝牙,连接后就可以按1-3档,从低到高的温度,或者是全开。1-3档是加热一会关一会,全开是一直是通的。附件我上传的视频。

【思考】

      1、差不多一个月对这款开发板的学习,从蓝牙、定时器、spi、USB的学习操作,感觉沁恒的产品非常容易操作的,RISC-V相比ARM操作要简单,只要有基础的,仔细阅读一下例程,基本上就可操作这款芯片。

      2、对于制作遥控取暖器,我原来家里也是因为家里的取暖器经常会因为烧开关等丢掉了好多,就象今天我捡到的这个。还有就是取暖器放在桌子下面,操作也不是很方便,手伸下去,不一定一下就可以摸到开关,有些取暖器也就两档,有时要么太热,或者低一档又不够热。所以如果用蓝牙的APP来操控舒适性会相对好一些。再有用固态继电器来间接开关电热丝,优于用二极管来降低发热管的导通。

     3、当然这个作品还需要继续改善,比如价格相对来说要比几块钱的开关或者MOS开关要贵,还有固态继电器的寿命还有待考证。

【下一步打算】

     1、用NTC来实测环境温度,上报给手机APP,可以实时了解温度情况,以便更加精准的控制温度。

     2、美化手机APP,界面看起来更美观。绑定设备后,可以打开小程序,自动连接蓝牙模块。减少手工搜索的步聚。

     3、如果有支持画板的,能否自己打个板回来,这样作品就更加完美。

     当然对这款开发板的评测还有很多需要去熟悉、掌握,只要有时间,再继续跟坛友分享。如有错误之处,还请各位网友热心的指出,以便我更进一步的成长。谢谢您!

 
 

本帖最后由 lugl4313820 于 2022-3-24 22:21 编辑

回复评论 (8)

固态继电器确实比几块钱的开关或者MOS开关贵,寿命应该也不如MOS电子开关,可能实现的功率会较大,各有优势

期待楼主列的下面的测评内容

点赞  2022-3-25 07:44
引用: Jacktang 发表于 2022-3-25 07:44 固态继电器确实比几块钱的开关或者MOS开关贵,寿命应该也不如MOS电子开关,可能实现的功率会较大,各有优势 ...

我刚刚去看了一下双向可挂硅+光耦的成本确实便宜很多。

 

点赞  2022-3-25 09:39

你这个220->5感觉随时要boom的样子。

默认摸鱼,再摸鱼。2022、9、28
点赞  2022-3-25 22:01
引用: freebsder 发表于 2022-3-25 22:01 你这个220->5感觉随时要boom的样子。

没事的,我用在其他的电器上工作一年了,还没有BOOM!

点赞  2022-3-25 22:48
引用: freebsder 发表于 2022-3-25 22:01 你这个220->5感觉随时要boom的样子。

做工用料很杂实啦,应该是从其他板子上分割出来的,自己完还可以,商用肯定不行啦。

点赞  2022-3-25 22:49

今天又捡到一个坏了取暖器,希望来个新的开发板来救活他!

点赞  2022-4-1 20:04

极致的成本啊

点赞  2022-4-20 09:53
引用: kit7828 发表于 2022-4-20 09:53 极致的成本啊

对呀,我原来用ESP32改装的取暖器,超经用,以前的取暖器,一年得换好几个。

点赞  2022-4-20 13:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复