『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 301|回复: 6

[求助] ESP32C3/S3无法识别I2C设备,但换成8266就可以,如何解决?

[复制链接]

17

主题

184

帖子

987

积分

高级会员

Rank: 4

积分
987
金钱
803
HASS币
0
发表于 2025-1-25 00:56:55 | 显示全部楼层 |阅读模式
最近在DIY一款板子,集成了CSPS电源6路12V供电控制/监控,环境温湿度,2路NTC采集,2路风扇控制
板子都打了好几版,其他功能一切正常,只有ESP32S3读取CSPS电源I2C数据出了问题,无法识别不了,后来又买了ESP32C3/8266开发板,神奇的事情发生了
同样的YAML代码,ESP32S3/C3都无法识别CSPS电源(核查过代码跟引脚IO都是正确的),但换上8266就能马上扫描出并正确识别
8266log可以看到扫描出CSPS地址是0x57 0x5F,频率是100kHz
6e9c242973eb312cc44c05b39ec8186.png
立创开源广场上的项目都是用8266,没找到解决方法。
请教下ESP32S3/C3在读取I2C上,和8266是不是有区别?怎么解决?

以下是8266上的代码:
esphome:
  name: csps-power
  friendly_name: CSPS_Power
  includes:
    - CSPS/main.hpp
    - CSPS/KCORES_CSPS.h
    - CSPS/KCORES_CSPS.cpp

  libraries:
    - "Wire"

esp8266:
  board: nodemcuv2


logger:
  level: NONE


api:
  encryption:
    key: ""


ota:
  password: ""


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  ap:
    ssid: "Csps-Power Fallback Hotspot"
    password: "1145141919810"

captive_portal:
- id: bus_a
    sda: GPIO14
    scl: GPIO12
    scan: true
    frequency: 100kHz

number:
  - platform: template
    update_interval: 5s
    id: csps_rpm
    name: "Power Fan RPM"
    optimistic: true
    min_value: 500
    max_value: 20000
    step: 50
    on_value:
      then:
        - lambda: |-
            auto power = new CSPSPower();
            App.register_component(power);
            power->set_fan_rpm(id(csps_rpm).state);

text_sensor:
  - platform: custom
    lambda: |-
      auto power = new CSPSPower();
      App.register_component(power);
      return {power->name,power->ct};
    text_sensors:
    - name: "Power Name"
    - name: "CT Code"

sensor:
  - platform: custom
    lambda: |-
      auto power = new CSPSPower();
      App.register_component(power);
      return {power->fan_speed, power->temp1, power->temp2, power->power_out, power->power_in, power->current_out, power->current_in, power->voltage_out, power->voltage_in};
    sensors:
    - name: "Fan Speed"
      accuracy_decimals: 0
      unit_of_measurement: RPM
    - name: "Temp 1"
      accuracy_decimals: 1
      unit_of_measurement: °C
    - name: "Temp 2"
      accuracy_decimals: 1
      unit_of_measurement: °C
    - name: "Power Out"
      accuracy_decimals: 0
      unit_of_measurement: W
    - name: "Power In"
      accuracy_decimals: 0
      unit_of_measurement: W
    - name: "Current Out"
      accuracy_decimals: 1
      unit_of_measurement: A
    - name: "Current In"
      accuracy_decimals: 1
      unit_of_measurement: A
    - name: "Voltage Out"
      accuracy_decimals: 1
      unit_of_measurement: V
    - name: "Voltage In"
      accuracy_decimals: 1
      unit_of_measurement: V



回复

使用道具 举报

50

主题

1923

帖子

7548

积分

论坛元老

Rank: 8Rank: 8

积分
7548
金钱
5615
HASS币
40
发表于 2025-1-25 13:04:54 | 显示全部楼层
排除法试试看,买块c3开发板,飞线连接看看行不行   
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

17

主题

184

帖子

987

积分

高级会员

Rank: 4

积分
987
金钱
803
HASS币
0
 楼主| 发表于 2025-1-26 00:04:14 | 显示全部楼层
jjcs 发表于 2025-1-25 13:04
排除法试试看,买块c3开发板,飞线连接看看行不行

我就是买了三块开发板调试,S3/C3/8266都有,用板子上预留的SDA/SCL接口调试,相同的yaml代码只有8266能正常通信。。。非常奇怪,难道我要搞个逻辑分析仪?
这个CSPS I2C不是标准的ESP库,是KCORE项目组的人写的自定义库,esp编译时要包含三个文件,这三个文件我都研究过,没有8266限制性代码
回复

使用道具 举报

50

主题

1923

帖子

7548

积分

论坛元老

Rank: 8Rank: 8

积分
7548
金钱
5615
HASS币
40
发表于 2025-1-26 11:52:41 | 显示全部楼层
leung 发表于 2025-1-26 00:04
我就是买了三块开发板调试,S3/C3/8266都有,用板子上预留的SDA/SCL接口调试,相同的yaml代码只有8266能 ...

esp32 的i2c,应该有玄学,测下sda和scl引脚有没有4.7k上拉,你esphom换成idf最新框架试试看,
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

50

主题

1923

帖子

7548

积分

论坛元老

Rank: 8Rank: 8

积分
7548
金钱
5615
HASS币
40
发表于 2025-1-26 11:53:54 | 显示全部楼层
逻辑分析仪有usb那种的,不贵,20多,可以测i2c,看看时序对不对
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

17

主题

184

帖子

987

积分

高级会员

Rank: 4

积分
987
金钱
803
HASS币
0
 楼主| 发表于 2025-1-27 22:18:00 | 显示全部楼层
jjcs 发表于 2025-1-26 11:52
esp32 的i2c,应该有玄学,测下sda和scl引脚有没有4.7k上拉,你esphom换成idf最新框架试试看, ...

设计有10K上拉电阻,CSPS端侧是5V,我之前有一版甚至用来一片TXS0102做电压转换,适配ESP的3.3V,一样没反应。
先尝试把上拉电阻降低到4.7K试试。
等快递恢复了估计要买个逻辑分析仪看看。。。
回复

使用道具 举报

0

主题

3

帖子

31

积分

新手上路

Rank: 1

积分
31
金钱
28
HASS币
0
发表于 2025-2-13 07:40:32 | 显示全部楼层
super travail !!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-23 04:56 , Processed in 0.078219 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表