Darkside(https対応しました)

2021年10月の記事

<< 前のページ

2021年10月31日(日) 21:09

犯人探し

 I2C接続で物理的に取り付け可能なサイズで、16×2行表示以上。そういう液晶ディスプレイは、本当に選択の余地が少ない。

 ストレス解消に、新天地を試す。それは、Arduino 用のOLEDディスプレイである。0.96インチという小さな画面に、128×64ドットという情報量を誇る。これ無理矢理に横に2つ並べて実装できるサイズなんだよな。
 もし使えれば、一気に表示情報量を増やせる。秋月で扱っているので、かなりメジャーである。

 しかし残念ながら、何も表示されなかった。

 ソフトウェアI2Cは実績十分なので、ここまでストライキされると困惑する。

 もしかすると、I2Cではない方のレベル変換基板が悪さしているのだろうか?

 念のため、dsPIC とレベル変換基板を完全に分離してみる。ハンダを除去せねばならないので、ちょっとばかり面倒。
 結果は、症状に何ら改善なし。

 ならばと、I2Cレベル変換基板も通さず、5V系直結で液晶ディスプレイを配線。この大きなLCDは、動作電圧が元から5Vであり表示実績もある。
 つまり、表示実績のあるLCDと、動作実績のあるソフトウェアI2Cだけの組み合わせである。レベル変換基板も、I2Cレベル変換基板も関与させない。

 それが、表示されない。
 ここに至り、犯人は一気に絞られた。

 オシロで dsPIC の出力信号を調べると、SDAはマトモっぽいがSCLはHのまま変化しない。これは・・・ハンダ付け不良だ!

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年10月30日(土) 21:40

液晶ディスプレイ沈黙

 液晶ディスプレイの組み立てを開始。

 筐体に収めるには、幅5センチ以下でなければならない。
 3.3V専用なのが、厄介なところ。

 秋月で扱っているLCDは、5Vで使用可能なI2Cタイプが無いのだ。いや、あるにはるが、横幅が広過ぎるか、横8文字しか表示されないものばかり。SPI接続なら選べるが、GPIOの余りは無い。この期に及んで、ボタン入力を1系統潰すのも痛い。

 最終的にはコネクター化するが、動作確認が済むまでは長めの配線で基板直結配線する。

 基板側では、レベル変換3.3V側に配線。プルアップ抵抗も、3.3V側にセットする。 

 だが、dsPIC に表示プログラムを書き込んで動作させても、何も表示されない。テスターで確認したところ、I2Cバスが常時Hである。それどころか、dsPIC で明示的にL出力させても、常時Hである。
 LED出力用の端子に出力すると、ちゃんとプログラム通りに出力されているから dsPIC の故障ではない。

 となると、レベル変換基板が障害原因の可能性ありだ。プルアップ抵抗だけでHになっても、レベル変換基板が「しっかりしたH」として反対側にH出力する。I2Cバスでは、マズいのかもしれない。
 3.3V側のプルアップ抵抗を破壊して除去すると、dsPIC のL出力はちゃんとLになっている。でも、今度はプルアップ抵抗を5V側に付け替えると、やはりI2Cバスは常時Hだ。

 うわ・・・ソフトウェアI2Cであっても、I2C接続はレベル変換基板ではなく「I2Cレベル変換基板」を使わねばならないのかもしれない。
 面倒だが、やっつけ増設して配線を付け替える。

 さすがに、常時Hという症状は解消した。
 だが、相変わらず液晶ディスプレイには何も表示されない。やむを得ず今回使用したLCDは暫定送信機でも動作していたものだが、5V系マイコンからの動作実績が無い。レベル変換かましても動かないのは、想定外だった。
 LCDが使えないと最終的な送信機として話にならないのはもちろん、ソフト開発中も不便過ぎて、やってられない。だからこそ真っ先に、LCD表示は動作確認するのだ。

 これでは、一歩も先に進めない。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年10月29日(金) 21:39

振動モーター動作OK

 ゲート端子の配線をバッテリー端子に接触させることにより、FETスイッチングの試験が出来ることに気付いた。
 ところがエネループをセットしたとたん、振動モーターが動き始めた。

 スイッチ用FETのゲートはプルダウンしているので、そのままだとOFFであり振動モーターに通電されないはずだ。それが回転するというのは、明らかに何かが間違っている。
 ゲートのプルダウン抵抗が、ソースではなく誤ってドレインにハンダ付けされていることを、すぐ発見した。やっちまった!
 単純な配線でありミスの確率は小さいだろうと思っていたが、エポキシで固めた後なのでどうしようもない。エポキシで固めるのは常にこのリスクがあるが、固めないと物理的にヤバいのでどうにもならない。

 気になったのは、振動モーターが想定よりかなり非力なこと。暫定送信機で動作させたことがあるので、ここまで非力なのはおかしい。となると、K1593のON抵抗が大き過ぎるのかもしれない。
 よし、もっと新しい TN0200K で作り直そう。

 TN0200K は sot23 パッケージで、とにかく小さい。
 まずはソースとゲートの間にプルダウン抵抗51KΩをハンダ付けすることで、ハンドリングを改善する。今度は、端子を間違えていないだろうな?

 後は順番に外付けパーツそして既存配線に取り付ける。

 今度は、いきなり振動モーターが回転を始めるようなことはない。
 一方で、ゲート配線をバッテリーの+に接触させると、振動モーターが回転する。非力さも、解消されている。動作に問題無しだ。
 すぐに、FET周辺をエポキシで固める。

 配線の引き回しをマスキングテープで仮設定し、その間にFETユニットを弾性エポキシで筐体に接着する。

 これで今度こそ、振動モーターの設置成功だ。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年10月28日(木) 21:16

振動モーター

 振動モーターをPWM制御するため、ゲート容量の小さなK1593を使用。
 ゲートにプルダウン抵抗を取り付け、ターンオフサージ対策のショットキーバリアダイオードも装備。

 振動モーターの電源は、バッテリーから直接に取る。

 FETが電源スイッチを兼ねるため、本来の電源スイッチを経る必要はない。

 いつも通り、FETユニットはエポキシで固めてある。
 小さなパーツに長い配線がくっついているので、固めておかないと外力が脅威になる。

 振動モーターは、弾性エポキシで筐体に接着する。

 モーターがそれなりに空間を占領するので、各パーツの格納位置を再検討。その結果、自作基板はこの位置に置くしかないと結論が出る。だがこれは、予定変更だ。電源コネクターなど作り直す必要が生じるかもしれない。

 それより問題なのは、dsPIC のGPIOが貧弱なドライブ能力しか持たないこと。8ビットPICに比べて顕著に退化した仕様には、ほんといつも困らせられる。
 それでも良いと思っていたが、幾らゲート容量が小さくても直接ドライブでは非力が気になる。そうすると、更にバッファーなどを用意せねばならない。自作基板上にそんな空き地はないので、どこかに別基板となる。
 どうしたものか。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2021年10月27日(水) 21:58

TWE LITE 初期設定

 5V安定化入力は、本来ならオリジナル基板側に増設する DC-DC コンバーターから貰って来る。だがその場合、そっちが製作できるまでこっちの動作試験ができない。
 それほど消費電流が多くないので、USBケーブルを電源ケーブルに使って5Vを得るのが手軽だろう。

 後は、三端子レギュレーターから3.3Vを供給できるようにすれば、まず TWE LITE の動作確認ができる。
 新品の TWE LITE は、内蔵アプリを書き込んだ上で設定を行わねばならない。初期不良が時々混ざるので、この作業により不良品を洗い出すこともできる。
 いったん書き込んだ後は書き換えのニーズが低いことは暫定送信機で判明しているので、書き込み端子を筐体外からアクセスできるようにはしない。

 TWE LITE への書き込みは、なぜかUSB給電ではうまく行かないことが判明している。自作基板に給電し、TWE LITE 外部から3.3Vを供給しないと書き込みできない。
 久しぶりにメーカーサイトを訪れると、書き込みツールが新しくなっていた。

 わざわざドットが目立つデザインの、画面である。以前はアプリをダウンロードして書き込んでいたが、新ツールではアプリを選ぶだけで勝手にダウンロードして書き込んでくれる。タイトルに「ビルド」とある通り、実際はソースを落として自動的にコンパイルし、それを書き込む所までオートだ。

 成功したら、そのままリターンキーを押す。すると、以前なら別に Tera Term などを立ち上げて行っていた作業を、そのままアプリ上で行える。TWE LITE が認識されなかったり通信がうまく行かなかったりするトラブルと戦わずに済むようになった。

 ターミナルでは、初期設定を行う。暫定送信機に搭載していた TWE LITE の設定に合わせる。ただしシリアル番号は書き換えできないので、Sタンク側の受信用 dsPIC も書き換えねばならない。
 ともあれこの新品 TWE LITE が初期不良ではないことが、確認できた。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4