2020年11月8日日曜日

iPhone5S バッテリ交換 3回目

iPhone5Sが電池50%で急に電源が落ちたりするようになった。

完全放電⇒満充電で容量を確認したところ、767mAh。

ということで、新たに購入したバッテリはiFactory 1560mAh。
3度目の正直となるか(/_;)

Deepro 1560mAhは2019/01/12購入なので1年9ヶ月。
その前のMO JAPAN 2017/11/07 1年2ヶ月なので安価なバッテリは一年でダメになるっぽい。

今後のために、容量確認。
1874mAh、9.3Wh入りました。充電損失を考慮しても仕様を満たしているようです。

iPhone5Sは小型だし、壊されてもショックが小さいので子供向けに最適。
もう少し頑張ってもらいましょう。(*´ω`*)

2020年10月11日日曜日

マイクロクリップ(MICRO CHIP R/W CLIP) 導入してみた

 故障修理していると、ICの信号を確認したくなるのですが、細かくてなかなか挟めない。


ロジックアナライザに付属していたクリップもかなり使い勝手が良かったのですが、更に小さい。
メーカー表記ではSOP/SOIC/TSSOP/TSOP/SSOP/MSOP/PLCC/QFP /TQFP/LQFP/SMD に対応しているらしい。


Aliだと1500円程度で買えるのも嬉しい。


サンハヤトのは取っ手が付いていて扱いやすそうだが、お財布には厳しい。

サンハヤト 面実装IC用テストクリップ 0.8mmピッチ対応
 
サンハヤト 面実装IC用テストクリップ 0.5mmピッチ対応
 

2020年9月26日土曜日

にゃんたBMS BMS本来の機能を実装してみた。

前回までで、BMSとしての足回しが完成したので、バッテリ管理機能を実装しました。

LEDだけだと寂しいので、リレーモジュールを接続。カチッと動作するとカッコいい(*´ω`*)
設定項目に関しては、赤枠のパラメータを使用。
セル電圧での管理をメインとし電流に関してはまったり監視しています。
容量計算については、
【電流センサがある場合】
・起動時にセル電圧からおおよその残量を計算。
・毎秒の電流を積算し、残量に反映。
【電流センサが無い場合】
・起動時にセル電圧からおおよその残量を計算。
・定期的にセル電圧を確認し、起動時同様に残量を推定。
としました。



2020年9月13日日曜日

にゃんたBMS 電流センサの実装

電流センサ付ハーネスが出来たのでにゃんたBMSに実装していきます。

電流センサの型番はCAB300-C/SP2 データシート

 主な仕様は、

  • 検出範囲 ±350A
  • 精度    ±10 ~ ±1500mA
  • 電源電圧 8~16V
  • CAN    500Kbps
データは32bit整数で1mA単位。
精度が最大±1500mAと大雑把だが、自分の利用範囲ならそこそこ使えそう。
何にしても最初からデータでもらえるのはありがたい。とりあえず1桁削除でいこう。

実際に使うときはこんな感じ。挟むタイプではないので設置に困る場合も出てきそう。
電流センサが付くといっきにBMSっぽくなる。カッコいい(*´ω`*)
番外編として手動でのOn/Offだがバランス機能を追加。
次は充放電のOn/Off機能だな(*´ω`*)

2020年9月12日土曜日

にゃんたBMS用ハーネス作ってみた

BMS構想もある程度すすんだので、バッテリを接続するハーネスを作成します。

少しもったいですが、アウトランダーPHEV GG3Wのハーネスを使います。
既にケーブルの外装は外した状態です。
折角なので接続構成を確認しましょう。
絡まっていて分かりづらいですが、
・外部ケーブルからBMUに接続
・BMUからバッテリ内のCANバスが伸び、2ヶ所でハブ接続されています。
・リレーとファン、安全プラグは外部ケーブルに伸びています。
てっきりBMUで全て制御していると思ったのですが意外でした。
CANのハブ接続を中心に分割
電流センサも使いたいしってことで、この部分を使います。
しかし、こういう接続の場合終端抵抗はどこにつけるんだろう。まぁなくてもいいかな^^;



にゃんたBMS バッテリ情報をLCD表示するテスト

 にゃんたBMS開発もそこそこ進んできました。

  1. CMUのCANバスコネクタ配線確認
  2. CMUのCANデータ確認
  3. CMU情報をデコードしセル電圧、温度情報を取得
  4. スマートBMSのUARTデータ確認
今回のメインはUARTパケットの送受信機能となります。
シリアルデータは単純にバイトデータが流れてくるだけなので、CANバスのようにはいきません。

スマートBMSはチェックサムを付けているのですが、手持ちのLCDユニットは使っていないようです。
苦労して使ったのに残念。まぁ、他の機器では使っているでしょうから無駄ではないはず。( ;∀;)
 0xA5、0x03と0xA5、0x04のみで0xA5、0xAAは実装していないのであれですが、処理落ちや文字化けで時々返信できていないようです。
 今のところ表示するだけなので問題ありませんが、重要コマンドを扱うときは注意が必要です。

受信から返信はこのくらいの遅れ

実際にLEV40を接続して実験してみました。
次は電流センサと遮断用リレーでも繋いでみようかな。

追記
・Bluetoothモジュールと交換してスマホから見れるか試してみました。
アプリにもよりますが、iPhoneアプリでは0xA5、0x05を返さないと先に進めませんでした。

引き続き、0xA5、0xAAを要求されますが、0xA5、0xA0も来ています。この辺調べないとだな。


2020年9月8日火曜日

CANシールドとか実験パーツ諸々

やっとArduinoUNO用のCANシールドが届いた。
その間に追加で注文したCAN関連部品とかも揃ったし、開発環境としては十分。


本命はCANシールドなので組み立てし合体!!
中華なので説明書もろくに無いのでポート配置の確認から、
12 CAN-INT D2
13 SCK     D13
14 MOSI    D11
15 MISO    D12
16 CAN_CS  D10
Key1       D4
Key2       D5
LED1       D6
LED2       D7
SCL        A5
SDA        A4
RxD        D0
TxD        D1

準備が整ったのでImievBMSV2のサンプルプログラムであるOutlander_BMS.inoを動かしてみる。
 MCP_CAN CAN0(9);  を10にするだけであっけなく動作。素晴らしい(≧▽≦)


セル電圧や温度、バランスのOn/Offができるのだが、温度が実際と乖離している。以前調査したデータでも温度部分は1バイトのものと2バイトのものが存在した。このプログラムは2バイトタイプ。

次にSCiBでも試してみた。
修正部分はcandecode()にcase 0x4:の処理を追加し、変数定義や表示周りの定数を変更。


うん。いい感じに動いている。

本命のOutlanderBMSV2.isoに手を出しても良さそうな雰囲気だな(*´ω`*)