嘉立创产业服务站群
站内搜索
发作品签到
专业版

断路器接入天猫精灵

工程标签

1.5k
0
0
0

简介

STM32G070RBT6 通过TG12F接入阿里飞燕平台 带过温保护

简介:STM32G070RBT6 通过TG12F接入阿里飞燕平台 带过温保护
星火计划2023

开源协议

Public Domain

创建时间:2023-10-02 07:05:30更新时间:2023-11-30 02:04:57

描述

项目说明

STM32G070RBT6 通过TG12F接入阿里飞燕平台
OLED显示运行参数

1路测温 可以监控线路温度 避免线路过载 
使用BS812A-1触摸感应芯片 提升使用体验
扩展USART接口 可扩展电能计量模块 
10A继电器 可接小型电器 也可以接 大型断路器

 

 

设计原理

家里有个天猫精灵 但一直没用 想做一个无线开关连到 阿里云飞燕平台 通过可语音控制也可以使用天猫精灵APP控制

电器开关要防范电气火灾隐患 故添加路温度检测 可以将探头绑在电线表皮 实时监控电线是否发烫 超温自动断电

 

软件说明

软件使用的前后台模式 本来想使用rtos的 奈何活动明天结束!

使用到的模块有 ntc100k、oled、BS812A-1触摸感应芯片、TG12F、stm32G030RBT6、继电器、蜂鸣器(想做定时报警,来不及了)

 

ntc100k使用的是查表法 取10次采样的平均值 有三路温度监测没用上 所以程序屏蔽了

void NTC100K_Poll(void)
{
    uint8_t i;
    adc_t[0]=0;
    adc_t[1]=0;
    adc_t[2]=0;
    adc_t[3]=0;
    
    for(i=0,adc_t[0]=0,adc_t[1]=0,adc_t[2]=0,adc_t[3]=0;i<40;)
    {
        adc_t[0]+=adcValue[i++];
        adc_t[1]+=adcValue[i++];
        adc_t[2]+=adcValue[i++];
        adc_t[3]+=adcValue[i++];
    }
    // adc1 = ntc100_getTemperature(adc1/10)-ntc_pos;
    // adc2 = ntc100_getTemperature(adc2/10)-ntc_pos;
    // adc3 = ntc100_getTemperature(adc3/10)-ntc_pos;
    adc_t[3] = ntc100_getTemperature(adc_t[3]/10)-ntc_pos;
}

 

oled没啥说的,参照江协的就行

 

BS812A-1触摸感应芯片 网络不好时可以本地开关继电器 共两个接口 只用到了1个。 当普通按键处理就行 但实际使用要考虑干扰 可以加个长按检测

// 循环检测
void KEY_Poll(void)
{
  /* 读取KEY0引脚电平 */
  if (!KEY_STATE) // 按键按下时为低电平
  {
    cnt++;
    if (cnt == 0xffff)
    {
      cnt = 100;
    }
    if (cnt == 100)
    { // 长按
      buttonState = LONG_PRESSED;
    }
  }
  else if (KEY_STATE) // 按键松开
  {
    if (cnt < 100)
    { // 短按
      buttonState = SHORT_PRESSED;
    }
    cnt = 0;
  }
}

 

TG12F AT方式 连接阿里云的wifi+蓝牙芯片 参照教程:https://blog.csdn.net/Boantong_/article/details/109451425

  printf("AT+RESTORE\r\n");  //恢复出厂默认模式
  HAL_Delay(5000);
  printf("AT+LINKKEYCONFIG=\"a15sBmj3kHQ\",\"7cb94c481f5f\",\"57f5f80f928024242998ab5b81f9e291\",\"K5qV8RDJrQwzGZjr\",\"20957197\"\r\n"); // 设置  TG_12F的五元组参数
  HAL_Delay(1000);
  printf("AT+RST\r\n"); 
  HAL_Delay(1000);
  printf("AT+ALIBTSMARTCONFIG\r\n"); // 发送配网指令
  HAL_Delay(1000);

 

继电器、蜂鸣器 

#define RELAY_ON HAL_GPIO_WritePin(GPIOC, GPIO_PIN_10, GPIO_PIN_SET)
#define RELAY_OFF HAL_GPIO_WritePin(GPIOC, GPIO_PIN_10, GPIO_PIN_RESET)
#define RELAY_TOGGLE HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10)
#define RELAY_READ HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_10)

实物展示

ZW1jzGRo6HwSn7rd1F8hrhQqhQ9pzCPIpik5TDse.jpeg

自己网上买的壳,刚刚好,又买了根NTC

iqbp9vuYXLjdjS0Cw8M5Ay2zS0DHWjWQn7SdR0bu.jpeg

自己焊接的板子,惨不忍睹,本来想走STM贴片的,申请没通过,64针脚的MCU焊麻了都

iBHoN0iZb3ApdxLQaCDNpL9cfhjG09IqTeIwW1O5.jpeg

试下电容按键 手动控制下继电器

12w76knKWcuCoIGHWCgMkWWZSXthCXZv8NDYX0pH.jpeg

板子上电10s后 就可以搜到了设备了

J99ztAJ8MonNNwifTUbnrvSYsqqsOt6B3ZTcabNh.jpeg

RdJI1kOhNlAybGjY01S9g8MGTBuE5czIaRDDoFQv.jpeg

0P6guKZSRsTgyQCmIlClUXFfdLhRYlzexeo2ri7a.jpeg

cfSII0XNT84JAwCpsmZVz5nEVPTHEO2SZHoZZ3YD.jpeg

lTlnrFXFzkXCdjhofrnhlSykLstB9wND2SxXBfWa.jpeg

至此设备已连上了 可以愉快的玩耍了

3N8BNF0rbBI3pecF2dnl9PWJcMOtJszyhXFBxzo4.png

看下后台的监测数据 搞定

 

 

其他

最近较忙 收到板子后已经20号了 赶着这最后两天 把作业先交了

也遇到了一些问题 继电器没驱动成功 于是飞线三极管来驱动 原理图 及 PCB已更新错误

板子的还可以加上定时功能 电能计量检测等 后续有时间会接着更新

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
0597b56362822857cb24776fed639f9b.mp4
6
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航