おもちゃ、家電、もろもろの修理の足跡と備忘録

色々と忘れるので、趣味のメモ

Windows 11でProlificのUSB-Serial chip(PL-2303HXA)の入った変換ケーブルを使う

2022-05-29 15:31:03 | その他工作
(上の写真ですが、Chipの名称は消されていますね、、)

昔、大陸から購入したProlific社USB-Serial(TTL)の変換chipの入ったUSB-シリアルTTL変換ケーブルを購入したのですが、今回Windows 11ではPlug&Playはできなかったので、手動でインストールしました。その方法の備忘録です。

一言でいうと、Windows10と同様、古いドライバをインストールすると、とりあえず動くようです。

まず、インストールするにあたって、Prolificのホームページに行ってdriverを探すと、PL-2303HXAはWindows8以降サポートしていないカテゴリになっています。
  • Windows 8/8.1/10 are NOT supported in PL-2303HXA and PL-2303X EOL chip versions.
  • Windows 11 and higher  are NOT supported in PL-2303HXA/ TA/TB/HXD/RA/SA/EA (EOL chip version).

とりあえず、USBコネクタにこのケーブルをさして、Windows11でWindowsマークからデバイスマネージャを開いて、「ポート(COMとLPT)」を見ると


と案の定、言われています。一応確認します。

次にこれを探してきます。2009年頃のドライバですが、検索するといくつか出てきます。



これをインストールします。途中で文字化けした記載が出てくるかもしれませんが、気にせず完了。

またデバイスマネージャからさっきの



を出して、PL2303...を右クリックして、「ドライバーの更新」を選択。
更に「コンピュータを参照してドライバを検索」を選択。
「コンピュータ上の利用可能なドライバの一覧から選択します」を選択


この画面が出るので、3.3.2.105、という方を選択して、「次へ」。



めでたく認識されました。
多分、今後、また新しいドライバが出てくるとそちらの方へ引っ張られてまた動かなくなることがあるかもしれませんが、そのときには、デバイスマネージャから「ドライバの更新」で再度上記を選択してあげれば動きます。
PL2303関連のUpdateを止める方法もあるようですが、たまにしか使わないのでそこまでしなくてもよいか、と思って私はやっていません。
また、他のバージョンでも動くかもしれませんので、上記が入手できない場合は、同じ位のバージョンないしはそれより前のバージョンにすると動くかもしれません。

ちなみに、上記をインストールした上で、再度インストールをしようとすると「削除」のシーケンスが走ります。参考まで。(消してもまたインストールすれば大丈夫です)

最後に、お決まりですが、上記は私が個人的にやったことの備忘録であり、これを参考にやったことで起こる不利益等については責任は負えません。参考にして対処される場合は自己責任でお願いします。


電圧・電流・電力計と電子負荷装置をつなげて監視システムを作った

2022-05-29 10:26:35 | その他工作

以前やっていたプロジェクト?、また引張り出して来ました。
電圧・電流・電力計にシリアル出力をつける BUG-Fix(V2.2)と5Vレギュレータ追加とシャント抵抗が壊れた話」とか「電子負荷装置」というのを作ったのですが、バッテリーとかの放電特性を見てみたいな、と思ってこの2つをつなげました。良いシャーシがなかったので、そこらに転がっていた木の板にビス止めして配線しました。
 バッテリーの放電特性を見るのには、最終放電電圧以下まで放電させると大きなダメージがあると聞いているので、自動的に最終放電電圧になったら負荷を開放するような機能が必要だな、ということで、無人?でも計測ができるように機能を追加しました。
 前出の記事からの改良点は以下の部分。
  • 電圧・電流・電力計側は、シリアル信号受信で開放信号を出力する機能と、動作用の電源を計測側から切り離して、計測電圧に依存しないようにした(USBシリアルからの5Vで動作するようにしました)
  • 電子負荷装置側は、上記を受けて負荷を開放する機能
Log dataはUSB-シリアル通信で、パソコン側で取ることにして、簡単お手軽にやるためにYAT(Yet Another Terminal)というアプリで、負荷開放の制御までやれるようにしました。YATでは、パターンを受信したらXXする、というような簡単な制御ができます。今回は、パターンを受信したら、負荷開放用のコマンドをシリアル通信で送る、という制御です。

上の写真は、LCDを外した基板で、上からの線がUSB-シリアル通信ケーブルで、赤が5V電源(PIC kit3のICEのpin2で電源を供給)残りは、Send-Data、Recieve-Data、GNDです。基板上部のタクトスイッチは、PICのMCLRをGNDに落とすスイッチ、赤のLEDは点灯で計測中、右の緑のLEDは、今回追加した電子負荷装置への制御で、負荷ON時に点灯です。右端の茶色のケーブルで電子負荷に渡っています。
回路的には、シリアルで受信した制御信号(受信キャラクタを識別)をPICから外部に出力するレベル信号とそれのモニタ用に緑のLEDを追加しています。
PICのソフトは、v3.1となっていて、シリアル受信した制御信号をみて、該当キャラクタを受信したらレベル出力を制御する、という部分を追加しました。面倒なので、1キャラクタのみ判断で、Nで電子負荷ON、Fで電子負荷OFFとしましたが、現状動作的には、ON、OF、でも間に合うようです。(NとF以外は捨てている)

上記の写真は見た目は以前作った電子負荷装置とあまり変わりませんが、余っていたOPEampの片側を使って、負荷OFFの制御機能を追加してあります。抵抗も何本か追加してあります。

これは、YATの画面です。上記で、"Trigger Pattern"に今回は、”^1, 115"と設定します。これは、「電子負荷ONで、115xx mVになったら」、という条件となります。条件は.NETでの正規表現で書けるようです。今回は「^」(先頭からという意味)をつけてあります。(YATのTrigger Actionでは色々と細かいことができそうなのですが、マニュアルが無い状態なので、Try&Errorでやってみました。送受それぞれで設定できるようです。)
受信データの緑文字の部分は、受信時刻と、受信間隔で、YATが付与しています。(およそ200msec、秒5サンプル、という感じです)
紫文字の次の一桁目の"1"は、電子負荷制御がON("0"はOFF)を表していて、次の6桁(空白を含めて)は電圧(mV)、コンマを挟んで次の6桁は電流(mA)を表示しています。電力は、単に掛け算なので、受信側でもできるのであえて出力していません。
上記だと、電子負荷が「1」でON、電圧が12000mVから徐々に電圧が減ってきて、115xxmVになったあとで、青文字で「F」が送出され、次で先頭が「0」で、電子負荷がOFFになった、ということになります。
今回のデータは、電源装置からの電源印加なので電子負荷OFFであまり電圧が上がっていませんが、バッテリーだと負荷が開放されると電圧が上がるのではと思います。実際のでーたはまた別途取ってみます。
はい、気が付いたかもしれませんが、電圧が急に下がって、秒5サンプルでも設定電圧(上記だと11.5V代)がサンプルされないとこのシステムでは電子負荷を開放することができません、、、。ですのでこのシステムではあまり細かい条件にするとそのようなことがあるので、お気をつけください*。
最終的な回路とソフトは次で。

*:Python/Ubuntu/WSL2/Windows11でアプリを書こうと思っていたのですが、Serialが思うようにattachできなかったので、とりあえずこれで。