K8048 PIC Programmer Board
はとてもクオリティの高いキットだったので同社の製品をまた組み立てたくなってしまいました。
カタログを見ると、USBでPCに接続し、アナログ・デジタルの入力と出力を持つ計測用ボードがありました。
うん、これを使えばいろいろできて便利そうだな。 ・・・と思ってはや数年。 今回 アナログパネルメータを日本国内のパーツ屋さんに注文 しようとしたら、おお、このお店はVellemanを扱っている。 いっしょに注文しちゃえ。 2012-08-18 Velleman K8055 発注 |
|
気がつくと
初めてキットを組み立ててから40年
が経っています。
子供の頃はとにかく資金不足。
社会人になると時間不足。
で、ここのところは元気不足。
いろいろ作ってみたいという気持ちは衰えていないのですが、
慢性的なうつうつが続いていて、時間が取れるチャンスは増えたのに重い腰が上がりません。 心のエネルギー不足の簡単で手っ取り早い解消法は昼寝をすること。 今日の土曜日の午後はあったかくフトンで昼寝をしました。 効果は即出て、そうだ、K8055を組み立てよう。 今回の組立作業の新規ポイントは、 ソーラーパワー で作業を行っているということ。 LED電球のデスクライト、25Wの半田こて、それにバックグラウンドミュージックを奏でてくれているアンプはすべて今日のお日様のエネルギーで動作しています。 エアコンはさすがに火力発電所の電力ですけどね。   K8048と同じくこのキットもとてもクオリティが高くて、 組み立てはリラックスして進められました。 のんびりやって、部品実装に3時間。 |
|
実験用プラットフォームCBA-1000
をこしらえていろいろごちょごちょ試す中で、
DC電圧を1秒間隔で24時間以上連続で測定してログを取りたいニーズが出てきました。
測定精度はさほどに高くなくてもよいので、
これはちょうどK8055の出番ですね。 10年ぶりに引っ張り出したK8055は、 透明プラスチックケースに入れておいたおかげでコネクタのサビなどは一切なく、 新品同様のコンデイション。 でも、制御プログラムはどうだろう。 最後に動作させたのはWindows7のときで、 いまはWindows10。 K8055制御用DLLを\Windows\SysWOW64フォルダにコピーし、 心配しながらデモプログラムをNoobow9100F上で走らせてみると、 スムースに、一発で動作しました。 よかった! |
|
|||
K8055ボードと付属のデモプログラムは正常に動作していてA/D測定値を画面で読めますが、
これをテキストファイルに書き出すように改造しないと。
10年前ならVisualBasic6でちゃちゃっとできたのですけど、
今はVB6は使えないからなあ。
なんとかなるかなあ。 K8055のデモプログラムは、 主要なWindowsプログラム開発環境用のソースコードとプロジェクトファイルが提供されています。 Visual Studio用の開発環境はどうやら.Net Framework 3.5を使っているようす。 .Net Framewwork 3.5はいまや利用を推奨されていない古い世代の実行環境で、 Windows10では標準構成では使用していません。 Windows10の "Turn Windows features on or off"を使うと、 それを組み込んで有効にすることができます。 Noobow9100FのWindows10で.Net Framework 3.5を組み込んで有効にし、 Visual Studio 2022で C# 2008用のデモプログラムソリューションファイルを開いたら、 デモプログラムがうまくビルドできました。 よおし、脈あり。 正直に話すと私はC#でプログラムを作成したことがありません。 ですが今回初めてC#を使ってみると、 そのプログラミングスタイルはいまから30年近く前、 1993年ころにVisualBasic2.0を使っていたころの感覚がおおむねそのまま通用しそうです。 もちろん言語スキームは大幅に高度化されていますので、 指が覚えていたDebig.Printはそのままでは使えません。 いろいろ調べて、ああ、そうにするのか。 デバッグ実行時のOutputウインドウに測定電圧を書き出すことができ、 Outputウインドウの内容はテキストファイルにセーブできますから、 これで当初の測定値をファイルに書き出すことが可能になりました。 ついでアプリケーション中でファイルをオープンし、テキストをアペンドしていく方法を調べて、 プログラムに追加。 これでビルドしたEXEファイルを実行するだけでログが取れるようになりました。 デモプログラムはWindowsのタイマで100msecごとに測定をするようにできていたので、 10回測定して平均値を書き出すように変更。 K8055のA/Dコンバータは8ビットですが、 測定値はノイズによってLSBがふらついていますから、 10回の測定値の平均値をとれば仮想的に11ビット相当の分解能が得られます。 |
|
|||
K8055のA/Dコンバータは8ビット2チャンネル。
測定レンジは0〜5Vです。
いま測定したい電圧は0〜2.5Vの範囲内なので、
8ビットの分解能を有効に使うために入力を倍に電圧増幅したいですね。 K8055の回路図を見ると、 ボード端子台から入ってきたアナログ電圧はまずポテンショメータで分圧されたあと、 オペアンプ1つによる非反転増幅回路を通ってからコントローラのA/D入力ピンに入れられます。 この非反転増幅回路はゲイン調整用抵抗をとりつけるためのパターンが用意されてますが、 そこには抵抗は取り付けられていません。 結果として非反転増幅回路はゲイン1倍で動作するようになっています。 このオペアンプ、電圧ゲインはありませんが、 非反転増幅回路は入力インピーダンスが極めて高いので、 K8055の測定装置としての入力インピーダンスを高めることに寄与しています。 オペアンプ出力側の抵抗は10kΩがはじめから取り付けられています。 オペアンプの増幅度を10倍にするためには、ゲイン調整抵抗 R は
結果は上々、 入力アッテネータトリマポテンショをフル位置にすると、 入力電圧0.5VでA/Dコンバータの読み値は255 (FFh) になります。 入力に2.5Vを入れて、読み値が255になるように入力アッテネータを調整。 いい感じ、順調。 入力レンジ0〜2.5V で仮想分解能11ビットのA/Dコンバータができました。 2022-12-29 チャンネル#2 A/Dコンバータのプリアンプゲインをx10に変更 |
|