Mbedでバッテリ管理
今回使用したのは、アナログ・デバイセズ社のArm Cortex-M3コアを搭載したマイコンADuCM3029のMbed対応評価ボードEV-COG-ADuCM3029です。
使用するアプリケーション
APS_Labというアカウントに、「BMS_3029」というプロジェクトを用意しました。ここからMbedの環境にimportしてください。
https://os.mbed.com/users/APS_Lab/code/BMS_3029/
組み込む場合の手順
ここからは、実際に組み込む場合の手順を記載しておきたいと思います。今回動画で紹介したコマンドは、下記の5つです。
- コンフィグレーションの読み込み
- セルの電圧値を読むためのAD変換開始
- セルの電圧値読み込み
- 指定したセルの放電
- 放電の停止
Mbedの環境から読み込んだファイルと行番号を図にしました。
組み込みシステムのイメージ
さて、実際に組み込んだ場合を想定して、フローチャートを作ってみました。色々な処理をさせている中で、バッテリのセル電圧を監視したいと思ったので、RTOSを使うことを想定しました。
メインタスクでは、「セルの放電タスク」や「セルの充電タスク」、「セルの放電停止タスク」を起動だけさせておきます。それぞれのタスクには、イベントフラグで待つようにしておきます。そして、コンフィグレーションを読み込んで、セルのADCをスタートさせます。この時、セルの電圧値をポーリングするのではなく、500ms毎に起動するような周期ハンドラを使います。
周期ハンドラ内では、セルの電圧値を順番に読んでいき、3つの条件分岐で状態を確認します。
1つ目の条件分岐では、設定した電圧値の上限をチェックします。上限値を超えていれば、セル放電タスクに対して、イベントフラグを発行します。
2つ目の条件分岐では、設定した電圧値の下限をチェックします。下限値に満たなければ、セル充電タスクに対して、イベントフラグを発行します。
3つ目の条件分岐では、上記2つの条件内のため、放電処理が続いていたらキャンセルします。放電停止コマンドに対して、イベントフラグを発行します。
セル放電タスク、セル充電タスク、セル放電停止タスクでは、それぞれ図のように構成します。実際にこの条件で動かしたわけではありませんが、組み込みシステムのヒントになればと思います。是非、効率のいいバッテリー管理をお試しください。
最新情報をメーカーサイトで見る
こちらも是非
“もっと見る” 実験室
組み込みアプリを止めるな!printfやブレークポイントも使わず内部状態をチェック!
産業機器、オーディオ製品、通信デバイスをはじめとする多くの組み込みアプリケーションは、わずかなタイミングの違いで動きが変化します。そのため、開発・検証のためにprintfなどを仕掛けることが難しく、開発効率が伸び悩むケースも増えています。そこで今回の実験室では、システムを止める事なく内部状態を取得できるデータ計測ツール「EVRICA」を紹介いたします。組み込みアプリケーションの開発や検証に欠かせない、新しい開発ツールです。
IoTエッジコンピューティングをSmartMeshで実践
今回の実験は、Moteに内蔵されている非力なマイコンを使って、振動計測ソリューションのFFTデータをSmartMeshで送信したIoTエッジコンピューティングを実践してみました。
非絶縁型中間バスコンバータ750Wで、48Vと12Vを自由自在
VicorのNBMシリーズの最新デバイスであるNBM2317シリーズは、23×17×7mmという超小型パッケージで最大750W出力、48V→12Vまたは、12V→48Vの双方向において98%のピーク効率を実現した非絶縁型中間バスコンバータ。今回の実験室は、実際に動かしつつ、その性能とメリットを解説している。その様子は、是非動画で見て欲しい。