CYPD3177を使用したUSB-PDから取り出す物ができた。いくつか問題があるが、いったん終わりにしよう。たぶんまた改良すると思うけど、別に売ったりするわけじゃなくて単なる自己満足だからなぁ、なんかに使えたらいいんだけどなー。
下の写真はaitendoのOLEDモジュールを使用している。すでに在庫キレになってしまった。再販してくれるといいな、小さいし情報も入るから。
工夫している点
- USBCコネクタ部に10mΩ抵抗を挿入してINA226で電流と電圧を実測できる。
- LCD表示とINA226はMSP430で制御して、電流と電圧、そしてPDOリクエストで失敗時にFailを表示できるようにした。
- PDOが得られないとき(失敗時)は、緑のLEDを消灯するようにした。
- USB2.0の通信ラインをパスし、Type-Aソケットに接続するようにした。USBラインは、差動90Ωに合わせた(そのため基板厚を1.2mmにした)
- いくつか液晶モジュール、OLEDが取り付けられるように別基板で左右向き逆でも取り付けられるようにした。
出来ていない点
- OLEDとLECは自動認識して切り替えられない。
- 市販のBCRのICを使用しているから、SourceCapabilityの内容を知れない。またContarctしたPDOを知れない。
- ちょっと、大きい。
- CYPD3177は、Request時にCommunication Capable=Noでメッセージを出す。電力を取り出す目的だから当たり前だけど、これだと通信するためには正しくは使えないなぁ。ホストが気にしてなければ無視して使えるかもだけど、USBPDホストであればちょっと使えないのかも。
- 電流設定をAutoで切り替える方法ができてない。そもそも必要ないのではないかと思い、途中でやめてしまった。
秋月の8桁液晶AQM0802使用時(OLED仕様とMSP430のファームは異なる)
ファーム同じで自動で錦出来たらいいんだけど、ちょっとわからないなぁ。。。
基板の表裏ですが、CYPD3177部分はほぼキット回路と同じですが、電圧電流をDipswにしたのと、電圧は1個選択にしています(MIN=MAX設定)。ほしい電圧以外は欲しくないはずだから、欲しい電圧以外が出力されるぐらいだったらオフのほうがいい、、という考え。電流は設定する。ここ自動できるように考えたんだけど、ある理由でやってない。
その理由とは、途中で電圧と過電流を切り替えると、Get_SourceCapが正しく出て制御変えられるのだが、ICが消費が増えて熱くなるという現象が発生する。これはCYPD内部の制御ファームのせいだ。新しく販売されているものは修正されているとうわさがあるが、私がDigikeyで買ったものは変わらずだった。
コメントを追加