2150016_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2150016_ja-JP

2150016_ja-JP

RDDRONE-MBS772 SMBusアドレスが見つかりません

こんにちは、チーム

私は最初に、J18 ヘッダーを使用して SMBus 経由で RDDRONE-BMS772 と通信しようとしました。
ESP32 と RDDRONE-BMS 772 ボードを SMBUS ヘッダー経由で接続し、SDA、SCL、GND を接続しています。

私は以下のコードを使用しており、I2C ディスプレイでコードをテストし、以下のコードでスレーブ アドレスを見つけることができました。


CLI を使用して「bms set smbus-enable 1」コマンドで SMBus を有効にし、bms get smbus-enable を使用して検証しました。
UAVCAN をテストしたところ、正常に動作し、PixHawk を使用してデータを取得できました。


#include 

#define SDA_PIN 6
#define SCL_PIN 7

void setup() {
  Serial.begin(115200);

  Serial.println("\nI2C Scanner starting...");
  Wire.begin(SDA_PIN, SCL_PIN, 100000); // SDA, SCL, 100kHz
  Serial.println("\nI2C Scanner starting...");
}

void loop() {
  byte error, address;
  int count = 0;

  for (address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0) {
      Serial.print("I2C device found at 0x");
      Serial.println(address, HEX);
      count++;
    }
  }

  if (count == 0) {
    Serial.println("No I2C devices found.");
  }

  delay(2000);
}


何が間違っているのか教えてください。私の意図は、SMBus を使用して電圧、電流などのデータを取得することです。

Re: RDDRONE-MBS772 SMBus Address not found

こんにちは、 @abhishekBLDさん

Arduino をこの HW 構成で動作させるには、 https://github.com/PowerCartel/PackProbe/tree/masterからこの SMBus PackProbe.ino ファイルをダウンロードし、次の変更を加えることができます。

Arduino Uno のデジタルピン 7 と 8 を使用できるようにするには、SCL_PIN を 0 に変更します。
deviceAddressを11に変更します。
次に、コンソール ブリッジの代わりにシリアル モニターで動作するようにしてみましょう。

コンソール/ブリッジをシリアルに変換するには、次の手順に従ってください: https://github.com/PowerCartel/PackProbe/blob/master/PackProbe/PackProbe.ino#L74-L77

これは、前述の HW で動作するはずです。

これが役に立つことを願います!

敬具

シス


Re: RDDRONE-MBS772 SMBus Address not found

こんにちは、 @abhishekBLDさん

RDDRONE-BMS772 の BMS6.0 でも SMBus が動作していることがわかります。
私はmain · NXPHoverGames/RDDRONE-BMS772 · GitHub の RDDRONE-BMS772/Binary で nuttx.bin をプログラムしました。

しかし、バージョン 6.0 にはバグがあり、バージョン 7.2 では修正されていることに気付きました。
セル電圧はmV表記の完全な整数電圧(4000mVまたは3000mV)のみを表示しており、これは私のRDDRONE-BMS772の実際のセル電圧(例:4123mV または 3978mV)。

RDDRONE-BMS772用のBMS7.2を入手するには、以下の手順に従って.binをビルドして作成します。ただし、RDDRONE-BMS772 用に設定するだけです。
フォローしてください: GitHub - NXPHoverGames/MR-BMS771
バイナリを設定して作成する手順 ( GitHub - NXPHoverGames/MR-BMS771 ) では、必ず RDDRONE-BMS772 用に設定してください。次に例を示します。

tools/configure.sh -e rddrone-bms772:bms

But if you did not get any messages via SMBus, I doubt that this will fix that problem.
Meaning that it is either a HW issue or a SW issue. 
In the attached picture you can see the pinning that I use.
Unfortunately I'm not allowed to share the code that I'm using on the Arduino. Maybe I will still find a way to share an example or a link. 
For the BMS code, you should have the same code as I tested with.
 
Pinout of the SMBus connection between RDDRONE-BMS772 and an Arduino Uno board:
20251110_105017.jpg

  

I hope this information and picture helps debugging the problem!
 
Kind regards,
 
Cis
Re: RDDRONE-MBS772 SMBus Address not found

こんにちは@cisvmierlo

私は最新の github リポジトリhttps://github.com/NXPHoverGames/RDDRONE-BMS772/tree/main?tab=readme-ov-fileからクローンした BMS バージョン 6.0 を使用しています。

上記のリポジトリから SMBUS 通信をテストしていただけますか?

私は RDDRONE-BMS772 を使用しているため、提供されたリンク (BMS771) ではなく上記のリンクを使用しています。7S-14S には BMS771 が使用されているようですが、両方に同じファームウェアが使用されているかどうか確認できますか?


bms smbus-enable 1 を設定する
bms保存


以前にも上記の 2 つのコマンドを実行しており、bms get-all を実行するとそれが確認できます。

また、導通もチェックしましたが、すべて正常です。

調査して解決策を提案してください。

Re: RDDRONE-MBS772 SMBus Address not found

こんにちは、 @abhishekBLDさん

モバイルロボット向け小型オールインワンBMS「RDDRONE-BMS772」にご興味をお持ちいただきありがとうございます。
この問題に遭遇してしまったことをお詫び申し上げます。

RDDRONE-BMS772 で使用している SW バージョンは何ですか?
BMS のバージョンは、CLI で SW を起動したとき、または「reboot」(コマンド) を発行したときに確認CANます。


現在、最新バージョン (7.2) は、MR-BMS771 の git リポジトリにあります: https://github.com/NXPHoverGames/MR-BMS771 、このSWは、正しく設定されていればRDDRONE-BMS772でも使用できます。

私は次の RDDRONE-BMS SW バージョンで Arduino Uno を使用して SMBus をテストしました。
BMSバージョン: BMS7.2-11.0-RDDRONE-BMS772。
SDA ポート Dpin7 と SCL ポート Dpin8。

正しい SMBus コネクタ J18 を使用しており、コマンド「bms set smbus-enable 1」で SMBus を正しく有効にしていることがわかります。

「bms save」コマンドでパラメータも保存しましたか?そうしないと、電源の再投入またはリセットにより、SMBus 有効化パラメータが 0 にリセットされる可能性があります。

実際の設定は分かりませんが、配線を短くして、I2C速度をI2C低速モード(例えばボード間通信に I2C を使用する場合、クロック周波数は最大 25kHz になります。

BMS のバージョン番号を共有していただければ、それを使って SMBus もテストCANます。

敬具、

シス

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 06:10 PM
Updated by: