● 実験テーマ130
「QVGA LCD「UL024TF」在庫無しの為、代替えを検討〜その実験をしました」
(「余剰基板配布の部屋」の対象基板に追加する予定です。)
■ 2022.3.15
(1) 在庫無し「UL024TF」概要
※ 2014年9月時点の在庫= 176点もあったが、(JA1WBYさんの記事「pic-easy-fra-v1用Color-LCDの実験記」より)
2016年10月頃から、aitendoの在庫0が続いている。
現在は、削除されていて、代替えを検討する必要がある。
とは言っても良い名案はなかなか出てこないが・・・
@ 現在の在庫の中から使えそうなlcdを探して、そのシールド(キャリー)基板を
egleで製作し実装する。等・・・
次のテーマにするのも良いかも。
A 今はHP閉鎖している「JA1WBY」さん製作の「UL024TF代替えキャリーボード」が手元に
1枚あるので参考にしてみる。
残念ながら記事は見えなかった。
尚この基板は、JA1WBYさんが、2016-11に製作されている。
「UL024TF」概要
@ 8bitパラレル
A ILI9325
B Arduino対応
C 1480円
D 2014年9月までは、在庫数176点位あった。
E シールド+抵抗被膜式タッチパネル付き
F 2.4inch QVGA(240x340dot)
(2) 現在aitendoで購入可能そうな代替えQVGA LCD
@ 2.4インチTFT液晶モジュール [HT24SQV330NH]
・1045円
・在庫:20
・37pin
・8/16bitは、IM0ピンで設定
・ILI9341(ILI9325ではない)
・タッチパネル無し
A 2.4インチTFT液晶モジュール [TM240320ZNFWG]
・548円
・在庫:24
・36pin
・8/16bitは、IM0ピンで設定
・ILI9325
・タッチパネル有り
→ Aか下記Bが良さそう・・・B若干高いが、こちらの方が良さそう。
B TFT液晶モジュール★240x320/TP★ [QJ240083S0]
・1098円
・在庫:19
・37pin
・8/16bitは、IM0ピンで設定(※デフォルト=8bit)
・ILI9325
・タッチパネル有り
※ 液晶with基板「2.4インチforさくら:[LCD024GR-NP]
というキャリーボード:IFB024GR-SD-B(328円 在庫26点)と、B QVGA LCD:QJ240083S0の2点セットの組立てキット
が販売されていた。
→ ・2178円
・在庫:15
・裏にSDソケットが実装されている。
■ 2022.3.27
・上記の キャリーボード:[LCD024GR-NP]だが、よくよくコネクタ配置を見ると
UL024TFのとは似てるが、異なっているようで、そのままでは使え無さそう。
このキャリーボードは「松浦光洋さんの研究開発ページ」の物を基に、aitendoが作ったらしく
これともCN番号が異なっている。
また松浦光洋さんの物の回路図は公開されているが、aitendoの物の回路図は公開されて無い。
・サンプルとして現物を購入しようかと考えている。(キャリーボードは無駄なので液晶のみ注文)
→ QVGA LCD:QJ240083S0 届く。220329
※ JA1WBYさんのキャリーボードが手元にあるので、これを参考にして、eagleで自前のキャリーボード
を設計・製作しようと思う。
→ @ まずは水魚堂で、回路図を雑書きしようと思う。
<留意点メモ>
・バックライト 4パラLEDの電流制限抵抗だが、aitendoの物は、それぞれのLED毎に、
100Ωの抵抗が付いているが、カソード側4本を共通に接続して、そこに1本だけ抵抗
を付ければよいはず。
※ バックライトはVfが3.0〜3.4Vの白色LEDが4つあるので、5V電源などから
各LED15mA程度となるよう適当な電流制限抵抗を入れればOKなはず。
R=120Ω程度 1/4Wで十分?
→ ※ 各LED15mA程度なので、カソード側を共通にした場合は、15mA x 4= 60mA位流さないと駄目で
30Ω 1/4W程度の抵抗が必要になる。
さらに調べると、JAIWBYさんに頂いた「LCD-ADP-V2」に着けた液晶「S95417AAA」のバックライトLEDも
4個有り、ADP基板側では、K側共通GNDにして、A側に47Ω 1/4W DIP抵抗接続してある。
データシートもアノード側に共通抵抗を入れる様に推奨してるので、これに準拠する形にする。 220330
・SDカードスロットは無しで進める。(今回の配布ではMP3プレーヤは無いので必要ない)
そうすれば、裏実装部品は無くなって楽になる。
・気掛かりなのは、QVGAフレキ部接栓用の、角型パッドと、その両脇の、固定用角パッドを
どうeagleで作成するか? だが・・・・
もしかしたら、既存の「eagleライブラリ」に有るかもしれないので検索してみる。
→ 無さそう。
・8bit-16bit設定だが、IM3ピンの処理についてデータシートには何も書かれてないので
設定用の角パッドを用意しといた方が良いかも。出来れば裏面にて。
ただaitendoの当該製品の説明によると「8と16ビットの切り替えはIMOピンで、デフォルトは8ビットモード」
となっているので、IM3は関係ない可能性がある。現物のフレキ部を見るしかない。
※ JA1WBYさんの「代替えPT板」の記事であるが、以下の表題の、No.29「2016-11「UL024TFの代替に?」にあった。
→ 2021 1/20 のキャッシュをクリック (「internet archive Wayback machine」にて検索した。)
「夢のプロジェクト(叶わぬ夢・・・・・かも) JA1WBY
PICで測定装置を作るぞ〜?。その3 構想編(の備忘録)
今どきの時代に逆らってパソコン抜きで、そうです目標は「スタンドアロン」。
No.29 「2016-11「UL024TFの代替に?」
Aitendoの「UL024TF」が入手難で、それの代替用のPT基板を作りました。
→ これで試したが見れなかった。以下の警告が出る。
「http://ja1wby.art.coocan.jp/picc-test33/29-UL024TF-adp/00-ul024tf-adp-v1.html」
This page is not available on the web(このページはウェブ上では利用できません)
because page does not exist(ページが存在しないため )
■ 2022.3.30
・気掛かりなのは、QVGAフレキ部接栓用の、角型パッドと、その両脇の、固定用角パッドを
どうeagleで作成するか? だが・・・・ 再考
→ ※ 両脇の、固定用角パッドは必要ない
→ 現物を見たらフレキ部両脇にはパッドは存在しなかった。小さい穴?が空いているのみでレジストが掛かっていた。
(JAIWBYさんに頂いた「LCD-ADP-V2」に着けた液晶「S95417AAA」はメッキ有り)
また、aitendoの当該キャリーボードにも存在してないことを写真で確認。
※ IM3ピンであるが、現物のフレキ部内では、何処にも接続されてないようである。(テスターのΩレンジにて確認)
@ 基板名称は、JA1WBYさんのを継承して「LCD-ADP-V1」とする。(V1=SD無し・V2=SD有り版 JAIWBYさんもV1作っていた)
この名前、簡潔で短くて良い。ただV2を作る予定は今のところない。
A JA1WBYさん作の「LCD-ADP-V2」が手元にあるので、接栓部のパターン位置・パッド寸法を実測してみた。
今回使う予定のLCD:QJ240083S0と比較したが殆ど同じ寸法なので、JA1WBYさん作の「LCD-ADP-V2」に準拠した寸法・配置
で良さそうである。
→ 追記:「S95417AAA」のデータシートは現在、aitendo hpでは掲載してなく見れなかったが、私が当時これを使ってケンケンの
game機の実験をした時(テーマ90)のドキュメントの中にddfデータシートが有ったので、各寸法を確認したところ
実測と一致していたので間違いない。これで進めてみる。
尚今回は、LCD-ADP-V1として、SDカードスロットは付けないが、ピンアサインは決めてある。(今回は未接続)
また、タッチパネルだけは、空ピンに出すようにした。 220330
・回路図上での、QVGAフレキ部接栓の表現は、単に矩形シンボルで良さそう。
→ 「ゆきの研究室」サイト参照のこと。電子工作の部屋
外形シルクは組込んだ状態(折りたたんだ状態)を描いている。
特に両脇の固定用の角型パッドは無かった。
■ 2022.3.31
<今後の進め方>
(1) 「接栓部の角型パッド37pin」を部品ライブラリに追加
@ LCD_SQUARE_PAD_37PIN.dev→ 2204021済
A LCD_SQUARE_PAD_37PIN.sym→ 220331済
・>NAME=「QVGA_LCD1」
・>VALUE=「QJ240083S0」
→ ※ >VALUEは、回路図上にシンボルを置いた時、登録時のsym名になるので
LCD_SQUARE_PAD_37PINと表示される。(確かにこの方がフレキ部と分かるので)
今回はこのままで行く。
コメントでこのフレキ部が付いているlcdの名称「QJ240083S0」を入れることにする。 220402
B LCD_0.8MM_PITCH_SQUARE_PAD_37PIN.pac→ 220401済
(2) 基板の寸法を決める。→ 220402済
・JA1WBYさんのP板サイズと同じ「70mm x 54mm」にする。
UL024TFのキャリーボードサイスに比べると、Y方向の寸法が若干増えているが
これは、BL用電流制限抵抗:1/4W DIPを実装するスペースが必要なためである。
(3) FIX部品の配置・位置を決める。→ 220402済
・QVGA液晶コネクタの配置寸法は「実験テーマ80:TP式MP3プレーヤ」(P板.COMに製作依頼)
の時の、手書き配置図(160726作成)が参考になると思うので探してみる。160808に発注している。
尚、P板.COMでの製作枚数指定は1枚で、手元に届いたのもスペア(おまけ)無しの1枚であった。
■ 2022.4.1
・接栓部の角型パッドだが、大昔作った、mp3プレーヤで使った標準サイズの、SDカードスロットで角型パッドを使っていた。
この時は「がた老さん」のライブラリ「HIROSE_DM1AA.pac」を借用させて頂いた。
これを開いて参考にすれば良いと思う。
<確認してみた>
@ ライブラリ作成画面の、左ツールバーの下の方に、パッドが並んでいる。
dip type= 丸・dip type= 角・smd type= 角 の3種類。
smd type= 角を必要サイズにし並べれば良さそう。
■ 2022.4.2
・LCD_SQUARE_PAD_37PIN.dev作成から→ 済
・FIX部品の配置・位置を決める。→ 済
・回路図入力に入る。
■ 2022.4.3
・回路図入力をしているが、シンボルミス発覚→ レッスンがあるのでこれから出かけるので、帰宅後、作業する。
LCD_SQUARE_PAD_37PIN.sym
34pin:GNCは誤り→ GNDが正しい
→ ↑- 直した。.symを直して、,devを立ち上げた時点で既に、symウインドウは直したのに置き換わっていた。
saveして閉じる。
そして、.schを開き、当該シンボルを右クリックから「replace」をクリックし、直したシンボルを呼び出して
クリックして置換えた。
■ 2022.4.4
・今回ベタgndは裏面だけにする。(レジスト色は赤にする)
JAIWBY作のP板もそうなっている。
表面には、LCDと抵抗1本のみ実装されてないのと、LCD裏面の半分以上が金属面になっているので
それがシールドになる。↑- 考えすぎ。
→ と思ったが以前使った、aitendoの2.8inch LCDのマイドキュメントの分解写真を見ると、表面も
ベタになっていた。
そもそもベタにしない理由が分からない。
※ 表面もベタにすることにした。 220406
まあ裏面も部品実装は無いのでしなくても問題無いと思われるが、強度増しのためにやっておく。
・回路図入力を続行する。
@ +3.3V, DGND, IM3ピンには引出しランド(テストポイントとする)を設ける。
IM3ピンはフレキ部ではオープンになっているが(テスターにて確認済みだが・・)未だ不信なので、
本当になっているが確認の為に付けておく。
もしここの設定が必要で動かなかった時の為に、IM3ピンをDGNDとストラップすることで試せる。
(ちなみにJA1WBYさんの基板は、IM3pinは、DGNDに落としている。)
A 回路図を書き終えてNET LISTチェックの時、気が付いた。
8bitモードで使う時は、ADP側では、DB0〜 DB7を使うのではなく、DB8〜 DB15を使うという事に。
したがって、DB0〜 DB7は、オープンで良いことになる。修正済
・NET LISTチェックOK
・ERCチェック
ERR 0
WARNING 9→ 全て承認出来るワーニングで、NET LISTチェックOKなので無視出来る。
ただ、3.3Vネットで、コンポーネントのピンと重なる所へネット接続している個所
は好ましくないので、ピンから最短でネットを接続しその先の点に他のネットを接続するように
修正した。(ここを修正しても同じWERNINGHは出るが無視出来る)
再度NET LISTチェックがOKなので先に進めることにした。
■ 2022.4.5
・BOARD設計に入る。
(1) 外形を決める→ 済
(2) 今回コネクタは全て裏実装になるので注意が必要。
<裏実装の方法>
※ 裏実装は、つまりは部品の反転になる。
@ ボード図画面の左側の”Mirror”ボタンをクリック
A 反転させたい部品をクリック
B 部品が反転する。
C パッドの色が赤(トップ=上面)から青(ボトム=裏面)に変わる。
→ 試したが反転はするがパッドの色は変わらなかった。
ワーニングを見るとライトエディションでは使えない??
→ いやライトエディションでも使えた。
どうもやってみたらPADの色が裏と表で変わるのは、SMDのみのようだ。
後、シルクも反転するが、シルクだけは、透視表示になりTOP/BOTTOMのレイヤ切替とは無関係のようだ。
単に部品面に置いてシルクも部品面にし、半田面から実装すれば良いかも。
→ 考えてみたらDIPの裏実装(ミラー)は根本的にやらないので、今回はこの方法でやることにした。
■ 2022.4.6
・FIX配置+暫定配置完了
・フットプリント現物でチェックOK
・電源ライン手配線一応終了
※ 電源パターン幅(中) 0.016inch 0.4064mm:lcd pad幅と同じ幅にする。
電源ビア径(大) 0.024inch 0.6096mm
デジタルパターン幅(小) 0.012inch 0.3048mm
デジタルビア径 0.016inch 0.4064mm
・ベタ領域設定(ベタGND領域)し、残りデジタル・ネットをAUTOルータで引かせる。
※ AUTOルータの設定
・My DRC設定ファイル: CQ_drc_set.dru(トラ技の設定)をオートルータを掛ける時、使用
<主要なDRC条件>
@ パターン幅= 0.012inch
A ビア径= 0.016inch
B クリアランス= 0.005inch(0.127mm)
・My オートルータ設定
@ Routing Grid:5mil(0.005inch(0.127mm))
A Via Shape:Round
→ 100% rooting finshedになったが、かなり無理な引き回しのところがあるので、
手直しすることにした。
殆ど手配線になりそうだが・・・・
特に、フレキ接栓とlcdのpadが重なる部分の近傍には、viaを置くとブリッジ等が起こるのでここは離す必要がある。
→ 夜作業する。
殆ど手直しになった。
AUTOルータ前(ベタ生成前)まで終了。
■ 2022.4.7
・ベタ生成なかなか思うように行かない。
フレキ部のDGNDネットの中央4個の角パッドのベタが変。
どうやっても2個と3個目のパッド間にもショートパターン(まあ自動で出来たベタだと思うが・・・)
が出来てしまう。
電気的・実装的にも問題無いので妥協して先に進めることにした。(とこの時はそう思ったが・・・)
もしかしたらビア打ちで消えるかも?
↑- autoルータを掛けた時点で、余分なDGNDベタが出来ないように取り付け穴周辺の禁止帯の事を思い出して
41t - Rectで「ベタ禁止領域」を設定した後、autoルータを掛けたらやっと思い通りのベタになった。(とこの時はそう思ったが・・・)
■ 2022.4.8
・昨晩も試しに2点ほどやったが、今日もビア打ちから。
と思って今朝、eagleを立上げた。
一度電源を切ってeagleを立上げ昨晩最後のboardファイルを開くと、ベタ生成前の状態になっている。(これで正解)
ここで、Ratsnetコマンド(アイコン=X)をクリックすれば表示されるが、何故か、また元の意図しないベタ状態になっている??
※ どうやっても、1回eagleを立ち上げ直し、ratsnestでベタを表示すると、元の意図しない状態に戻ってしまうので
(ここで禁止帯を作って良くなっても再起動すると同じことになる・・いたちごっこ)
JA1WBYさんと同じく、裏面のみベタの方針転換することの決めた。→ 済
@ まず、TOPの赤点線porigonを削除し、bottomの青点線porigonみにする。
A via打ちは無し topが無いので意味がない。
・DRCを掛け、エラー箇所を修正する。OKになるまで繰返す。
※ パターンを全て引き終えた後の、DRCには、Fusion PCBの「SeeedStudio_2layer_DRU_no_angle_20140221
を使う。
<最初の、DRC結果>
・drill distance エラー 2ヶ所
「ドリルとドリルの距離が近すぎる」(ここで言うドリルとは、viaのこと)
実は、2重にドリルが貼り付けられている。alt gridの細かいグリッドでパターン引きしてたので、終点で
微妙に手元が動き重なってしまった。●点上のパターンをリップアップして対処
※ この後、ratsutistチェックを行ったらvcc未配線2ヶ所出た。
via拡大すると中央に極短いエアーワイヤが存在?
上から極短いnet接続をしたら「未配線はなくなった」旨のrastnest nathing to do!!がでたが
drcすると同じエラーが出る?
※ <帰宅後この件続行し解決した!!>
自分の過去のドキュメントをmy hp(テーマ47)で眺めていたらこの時した、drill distance エラーの処置
の詳細が書かれていたので、ピンと来た。
要は「2重にviaを置いてしまった」為に出たエラーである。
当該場所のviaを移動するとパターンと共にviaも移動し余分な重なっていたviaを発見した。
移動し引張り出した状態で、余分なviaとパターンを一度リップアップした後、再度必要なパターンを
引くことでこの件は解決した。「DRC no errors」になった。
<残作業>
(1) Fusion PCBの、ガーバーCAMの場合、何も指定しないと、ビアがレジストされてしまう。
これを回避するために、Chang→ stop→ onで、当該ビアをクリックしてレジストマスクする。計17ヶ所→ 済
(2) フレキ部padが、レジスト・マスクになってるか確認(29tStop=onして確認)→ ok
■ 2022.4.9〜 2022.4.10
・シルク作成から。
表シルクが大方終了した後、裏シルクに移ろうと、シルクレイヤを確認していた時
R1:MF1/4.pac抵抗シンボル・シルクの一部のレイヤが25tNamesになってたことに気が付く。
以下がまとめた記事。
● MF1/4.pac抵抗シンボル・シルクの一部のレイヤが25tNamesになってた件 220409
@ 両脇のピン+後半のギザギザ3ヶ所が「25tNames」になっていた。
その他は「21tPlace」でok
※ これは以下のようにして修正版のパッケージを作成し、それに置換えることで解決した。
220410
・board上で"replace"するとまず「本当にしても良いか?」の「WERNING」が出るが「Yes」をクリック
・次に「drcするか?」と聞いてきたが、まよって「no」し、何時もの手順でdrc掛けた→ no error OK
・本当に置き換わってるかinfoで確認ok
・回路図はどうなっているか?→ VALUEが「MF1/4_REV1」に戻っているので、これを定数の「47」に修正でOK
・裏シルク文字追加を試す。
裏シルク文字追加をやるのは初めて。
<自分なりに試した手順>
@ Layer21 tPlaceを選択(Layer22 bPlaceのチェックは外す)
A 今回はピンの信号名だけのシルクなので、表面の信号名シルクをまずgroop copy
B groop copyのまま任意の場所に移動し置く。
C [mirer]を選び、それぞれの文字シルクの十字マークをクリック
D すると文字が反転する。
E [info]を選んで十字マークをクリック
F mirerにチェックマークが入っているのと、Layerが、Layer22 bPlaceになっていることを確認する。
※ 画面上では、上から透視した状態で見える。(以下は外形と表・裏シルクレイヤのみ表示した画面)
■ 2022.4.11
・表・裏シルク確認→ OK
レジストマスク確認→ OK
最後に「Ratsnest」コマンドでベタ確認→「Ratsnest Nathing to do!!」→ OK
※ 以上でやっとEagle作業終了
<ガーバ作成作業に移る>
@ fusion pcb向けの「cam」ソフト使用し作成
A 8つのファイルをzipしたフォルダを作成
B シルク太さをガーバ上で修正
C gerbvに読み込ませる。
D ※ 見たら、表シルク(GTO)の長文シルク "IM0 pin is connected to +3.3V Fixed to 8bit mode"
の、文節毎のスペースが広がっていて、Y方向の外形線からシルクの末尾がはみ出してしまう??
Eagle画面上では適当な1文字分のスペースになっているので、外形線からはみ出たりはしてない。
この現象は、fusion pcbのガーバビューワでも同様であった。
これを無視して良いかは???
※ 安全を見て、文字ブロックの開始をIの文字分下にズラシて、"IM0 connected to +3.3V Fixed to 8bit mode"
という風にするかと考えている。
あと裏シルクの"LCD-ADP-V1 2022-4"もギリギリはみ出しそうなので位置修正しようと思っている。
■ 2022.4.12
・昨晩の問題をかたずける。
eagleでの長文シルクを変更する為、一度eagle作業に戻る。
@ eagle作業での、長文(2文節以上)シルクの文節間の「スペース」は、見栄えを考慮して1スペースの所と、
2スペース以上の所があり、ガーバ・ビューワで確認すると、さらにスペース間隔が広がって基板の外枠からはみ出すが
文節間のスペース数はそのままにする。
A 裏:シルク開始位置を右にズラス。
表:シルク開始位置はそのままで、"IM0 connected to +3.3V Fixed to 8bit mode"に変更
※ 以下が変更後の、eagle最終画面
・再度ガーバ作成作業に移る。
@ fusion pcb向けの「cam」ソフト使用し作成
A 8つのファイルをzipしたフォルダを作成
B シルク太さをガーバ上で修正
C gerbvに読み込ませる。→ これで本当に、ようやくOKになる。
・FusionPCB発注作業に移行
@ FusionPCBガーバビューワでの確認→ OK
A 外形寸法:70 X 54mm・レジスト色:赤以外はデフォルトのまま発注
B pay pal:3046円(為替レート米ドル/日本円:125円) visa決済
「弊社ご利用頂き誠にありがとうございます。
ちなみに、本サイトをブックマークに登録すしましたら、
キャシュバッククーポンもらいますよ! 」→ 済
■ 2022.4.16
・Fusion PCBでの作業ステータスを確認したら、「生産中 2022
Apr 16 04:03:23」になってた。
そろそろ「製造完了」になるはずだが・・・
■ 2022.4.18
・Fusion PCBでの作業ステータスを確認。
やっと「製造完了 2022
Apr 18 09:44:15」になった。
2022-04-18 10:05:00 クライアントの電子情報が入力されました。(ここから中国語翻訳・要約)
2022-04-18 15:08:28 商品は送り主から回収されました。
2022-04-18 19:47:47 中国・深圳 OCSサイトに貨物が入荷しました。
・只今、P板到着待ち。
■ 2022.4.19〜 2022.4.22
・Fusion PCBでの作業ステータスを確認。
ようやく、2022.4.22の夕刻に、P板が到着した!!
2022-04-19 18:19:23 中国・深圳 OCSサイトより積み替えのために、次の拠点(日本)に入る準備ができました。
2022-04-20 22:16:12 発送情報は仕向国(日本)で事前に申告されています。
2022-04-20 22:16:17 商品は許可を得て次の拠点(日本)に入った。
2022-04-20 22:16:50 商品は乗り換え到着地点(日本・東京)に入った。
2022-04-20 22:35:41 商品は次の積替え拠点(日本・東京)に入った。輸送中
2022-04-21 12:01:00 乗り換え地点(柏営業所)到着
2022-04-22 01:44:00 次の積替え地点(神奈川中継センター)に商品が入荷しました。
2022-04-22 10:15:00 佐川急便により、P板到着
・直ぐにも半田付け作業に移りたかったが、この週は4/22(金)の「大腸内視鏡検査」の為の前処理(大量の下剤を飲まないといけない等)
があって、とても出来る状態ではなかった。(検査の結果は、幸い異常なしでしたが。)
■ 2022.4.25
・「大腸内視鏡検査」も無事終わって少し落着いたので、久々に半田付け作業をしようと思ったのだが、
QVGA LCDのフレキ接栓を半田付けするのにフラックス必須だが、その液が殆ど固まって入ってなかった。
早速「マルツ」に注文した。
なので今日は「半田付け作業」中止にする。
明日の見込み。
■ 2022.4.27
・フレキ部の半田付け作業を行った。
数ヶ月ぶりの半田付け作業で、しかもフレキ部の半田付けなので多少不安はあったが、何とかクリア。
最初、メンディングテープで仮固定・位置決めして、フラックスを多目に塗り、予め処理しといた
「接栓パッドに予備半田」の半田を溶かしていく方法で作業を進めた。
仕上げとして半田量の少ない箇所の補充を行った。
ヘッダ+抵抗:47Ω実装済
・さてどういう方法でチェックしようか?
実験テーマ77「簡易オーディオ・FFTアナライザ_V2」のハードを使うことにした。
この時に作成した、QVGA LCDのチェックプログラム「dsPIC33F_QVGA_TEST.hex」に書き換えてチェックすることにした。
<チェック開始>
(1) ショートチェック
・+5.0V ⇔ DGND→ OK
・+3.3V ⇔ DGND→ OK
(2) 「dsPIC33F_QVGA_TEST.hex」による表示テスト
・1発OK!!
(3) タッチ・パネルのテストを検討
・UL024TFとは異なるピンアサインだし、読込み方式も異なるので、別途チェックソフトを考えないといけない。
UL024TF→ YD:DB7と共通接続
XL:DB6と共通接続
YU:RSと共通接続
XR:WR/と共通接続
QJ240083S0→ YD:CN4-8 に素直に接続
XL:CN3-1
YU:CN3-2
XR:CN4-7
・PIC24Fトレーニング基板を使って「UL024TF」の表示テストを以前やっていた。
@ プロジェクト名: PIC24F_QVGA_TEST
A デバッグ年月日: 2017/1/18
B CPU: PIC24FJ64GA002
・上記は実験テーマ87「PIC24F+UL024TF+HDC1000+LPS25Hで温湿度・気圧グラフ表示実験」
で、2017/1/18に実験を行っている。
※ PIC24Fトレーニング基板によるチェックを検討中。
■ 2022.4.28
・タッチ・パネルのテストを検討続行
実験回路を水魚堂で作成中だが、チェックは後回しになるかも・・・
とりあえずは、表示はokなので「配布」対象には出来る。
■ 2022.4.29
・タッチ・パネルのテストを検討続行
ソフトは、実験テーマ87「PIC24F+UL024TF+HDC1000+LPS25Hで温湿度・気圧グラフ表示実験」が直接参考になりそう。
しかし「dsPIC33FJ64GP802」を使っている。
ちょっと「PIC24FJ64GP002」とピンアサインを確認してみたが殆ど同じのようだ。
そのまま置換え可能か?
→ この辺の関連記事が実験テーマ87の中にあった。
2017.1.17
「解像度の高いQVGA液晶:UL024TF(340 x 240dot)を使い、温湿度・気圧の、3ch分離表示を
する実験を行ってみます。
28pinの、PIC24Fで、QVGAを動かすのは、初めてだが、これとピンコンパチの、
dsPIC33F(28pin)では、FFTアナライザの実験の時などで動かしている。
この時のライブラリが、ヘッダファイルの書き換えだけでほぼそのまま使えるはずである。
ただ、両者では、クロック構成が異なる(dsPIC33Fの方が高速)ので、CLOCK定義と遅延関数は書換えないといけない。」
<ソフト作成に当たり覚え書きメモ>
@ dsPIC33F-TP-TESTのチェックソフト: UL024TF_Touch_Test.c
A 上記 * Condition:
* 8MHz External X'tal Oscillator, 10x PLL (8MHzx10= 80MHz)
* Fcy=80MHz/2=40MHz, Tcy=25ns
B 実験テーマ87「PIC24F+UL024TF+HDC1000+LPS25Hで温湿度・気圧グラフ表示実験」
で、2017/1/18に作成した「PIC24Fトレーニング基板使用の「UL024TF」表示テストプログラム」:PIC24F_QVGA_TEST.c
で表示部のみの動作確認をする。(下に示したテスト治具+表示部のチェック)
その際は、念の為、TPラインの内、YU, XR, XLのピンソケットは外しておく。
→ ポート設定見たが当該ピンinputなので問題無さそう。
→ この表示テストは、1発OK!!
C 確認済みのBを基に、TPテスト部を追記してみる。
■ 2022.4.30
・タッチ・パネルのチェックプログラムを作成した。
プロジェクト作成〜 コンパイルok〜 HEXまで準備出来た。
dsPIC33Fと、PIC24Fの違いとして、ADC関係のレジスタ構成の違いがあることに気が付かず
大量のエラーが最初出たが、それ以外は割とすんなりパスした。
<チェック開始>
@ 表題と、2つのボタン+LED('〇')は表示するが、暫くすると画面の左周辺から薄く白色ぽいdotがじわじわと
湧き出すように表示される??
→ 原因らしきものが判明
下記のコメントアウト部が誤り(ポート指定ミス)で、修正記述を、その下に示した。
// TRISBbits.TRISB14 = 1; // RB14:X+側は、入力設定で、Hi-Zとする R14はDB6である為 画面が次第に白くなった。以下に修正
TRISAbits.TRISA3 = 1; // RA3:XL側は、入力設定で、Hi-Zとする
A @のように修正したら、変な現象は無くなったが、ボタンをタッチしても、LED('〇')はoff('〇')のまま変化無し。
またタッチ位置表示も、どこをタッチしても、X= 7**, Y= 9**位で変化無し。
<調査開始>
@ タッチ位置読込み用・タイマー1割込み周期= 50mSが正しく出ているか、空ポート(RA2が空いている)を使ってチェック
/*********************
* タイマ1割り込み処理
**********************/
void __attribute__((interrupt, no_auto_psv)) _T1Interrupt(void){
IFS0bits.T1IF = 0; // 割り込みフラグクリア
/// RA2ポートの反転制御
LATAbits.LATA2 = !LATAbits.LATA2;
}
→ これはOK!!
タイマー1割込み周期= 50mSは正しく出ている。
■ 2022.5.1
・タッチ・パネルの不具合調査続行
@ TP 4ラインの接続チェック→ OK
A PIC24Fに於ける、手動でのサンプル〜 変換手順確認
・手順に問題はなさそう。
・Wait Aquisition Timeだが、
dsPIC33FJ64GP802の場合と同じく
for(i=0; i<50; i++) // Wait Aquisition 11usec
Nop();
とやっているが、PIC24FJ64GA002の方が、Fcyが遅いので11usecより長くなる。
それはそれで良いのだが、せっかく遅延関数があるので、その記述に変更する。(これも計算上より多目の遅延になるが問題無い)
delay_us(11);
→ 変更しても変わらず。
<参考>
* Condition:
* 8MHz External X'tal Oscillator, 10x PLL (8MHzx10= 80MHz)
* Fcy=80MHz/2=40MHz, Tcy=25ns
*
* CPU: dsPIC33FJ64GP802
AD1CON1bits.ADON = 0;
AD1CHS0 = chn; // Select Channel
AD1CON1bits.ADON = 1;
AD1CON1bits.SAMP = 1;
for(i=0; i<50; i++) // Wait Aquisition 11usec
Nop();
AD1CON1bits.SAMP = 0; // A/D convert start
while(!AD1CON1bits.DONE); // wait conversion
return(ADC1BUF0); // return result
* Condition:
* 8MHz Internal RC oscillator, 4x PLL (8MHzx4= 32MHz)
* Fcy=32MHz/2=16MHz, Tcy=62.5ns
*
* CPU: PIC24FJ64GA002
B 以下のようにSet Voltage後にブレークし、X座標入力時に正しく印加電圧が印加されているか確認
結果:RA0(YD)= 0.00V OK
RB3(YU)= 3.24V OK
/// X座標入力
TRISBbits.TRISB3 = 0; // RB3(YU), RA0(YD) is output
TRISAbits.TRISA0 = 0;
LATBbits.LATB3 = 1; // Set Voltage
LATAbits.LATA0 = 0;
while(1);
C 以下のようにSet Voltage後にブレークし、Y座標入力時に正しく印加電圧が印加されているか確認
結果:RA3(XL)= 3.00V OK
RB2(XR)= 0.15V OK
/// Y座標入力
TRISAbits.TRISA3 = 0; // RA3(XL), RB2(XR) is output
TRISBbits.TRISB2 = 0;
LATAbits.LATA3 = 1; // Set Voltage
LATBbits.LATB2 = 0;
while(1);
D どこもタッチしてない状態で
XR(AN4/RB2)= 0V
YU(AN5/RB3)= 3.3V
になっているか確認する。
→ XR(AN4/RB2)= 0.15V
YU(AN5/RB3)= 0V?
→ 何故?
今、YU(AN5/RB3に印加する時のAN5/RB3ポート設定は出力になっているが、
AD1PCFG = 0xFFCF; // AN4-5 is analog in
となっていて矛盾する。
<AD1PCFGレジスタについての覚え書>
pic32のリファレンスマニュアルよりだが・・・ pic24のも当てはまると思われる。
※ AD1PCFG は、アナログ入力として使うデバイスピンのコンフィグレーションを指定します。
・ピンをアナログ入力として構成するには、
対応する PCFGn ビット (AD1PCFG<n>) を「0」にクリアします。
・PCFGn ビットを「1」にセットすると、そのピンはデジタル制御向けに設定されます。
・ピンをアナログ入力向けに構成した場合、対応するポート I/O のデジタル入力バッファは無効になり、
電流を消費しません。
・AD1PCFG レジスタはリセット時にクリアされるため、ADC 入力ピンはリセット時にアナログ入力向けに構成されます。
→ なので、マルチピンの処理として、XもYも、印加ステージではデジタル出力
Y座標読み込みステージでは、アナログ入力に設定しないとまずいと思う。
以下に修正してみた。
AD1PCFG = 0xFFFF; // 全てデジタル出力
/// X座標入力
TRISBbits.TRISB3 = 0; // RB3(YU), RA0(YD) is output
TRISAbits.TRISA0 = 0;
LATBbits.LATB3 = 1; // Set Voltage
LATAbits.LATA0 = 0;
AD1PCFG = 0xFFCF; // AN4/RB2-AN5/RB3 is analog in
TRISBbits.TRISB2 = 1; // RB2(AN4):X-入力
TRISAbits.TRISA3 = 1; // RA3:XL側は、入力設定で、Hi-Zとする
// for(i=0; i<50; i++) Nop(); // 充電待ち 11usec
delay_us(11); // 220501
Xset = Getscreen(4); // 座標値取得
AD1PCFG = 0xFFFF; // 全てデジタル出力
/// Y座標入力
TRISAbits.TRISA3 = 0; // RA3(XL), RB2(XR) is output
TRISBbits.TRISB2 = 0;
LATAbits.LATA3 = 1; // Set Voltage
LATBbits.LATB2 = 0;
AD1PCFG = 0xFFCF; // AN4/RB2-AN5/RB3 is analog in
TRISBbits.TRISB3 = 1; // RB3(AN5):YU入力
TRISAbits.TRISA0 = 1; // RA0:YD側は、入力設定で、Hi-Zとする
// for(i=0; i<50; i++) Nop(); // 充電待ち 11usec
delay_us(11); // 220501
Yset = Getscreen(5); // 座標値取得
→ テスター測定では
XR(AN4/RB2)= 0.15V
YU(AN5/RB3)= 0V?
こうなるが、x,y座標を交互に読み込んでいるので、スタティックでは判らない・・・と思う。
オシロで見てみた。
→ オシロ測定でも同じだった。
あと、何もタッチしてないのに、レスポンスの山が出てる?
もしかしたら、最初のポート誤設定の時に、タッチ抵抗被膜の一部が破損したか??
(症状がジワジワと現れたのが怪しい)
スペアの意味もあるので、もう1個このqvga lcdを注文しておく。[済]
実装交換して試してみる。
その前に、pic24fが壊れた可能性があるので交換してみる。→ 症状変わらずng
それから、以下のようにいちいちAD1PCFGの設定を変えても結果は同じなので、
最初からAD1PCFG = 0xFFCF;に戻しておく。[済]
AD1PCFG = 0xFFCF; // AN4/RB2-AN5/RB3 is analog in
になっていても、
TRISBbits.TRISB3 = 0; // RB3(YU), RA0(YD) is output
するだけで、出力に切り替わると思われる。
■ 2022.5.2
・タッチ・パネルのテストを検討続行
→ 何もタッチしてないのに、レスポンスの山が出るのは、相変わらず。
しかし中央左側付近をタッチすると、レスポンスの山が高くなり、座標も動くことを確認した。
※ 但し、TP-4ラインのフレキ部に接触不良があるような感じで、そこを押さえつけながらタッチ
しないと感知しない。
ただ、それ以外(4隅等)のポイントではレスポンスは得られなかった。
ということは、読込シーケンスとかに致命的な誤りはなさそうである。
ただ、AD1PCFGの設定に関して疑問があるので、ここで改めて自分なりに整理してみた。
<AD1PCFGについて>
※ 28pinDIP- PIC24F= AD CH= 全10CHで、AN6〜 AN8は無い(44pinQFP-PIC24F= AD CH= 全12CHで AN6〜 AN8も有る)
b15 b14 b13 b12 b11
b10 b9 b8 b7 b6 b5 b4 b3
b2 b1 b0
-----------------------------------------------------------------------------------------------------------------------------------------------
PCFG15 PCFG14 PCFG13 PCFG12 PCFG11 PCFG10 PCFG9 PCFG8 PCFG7 PCFG6 PCFG5 PCFG4 PCFG3 PCFG2 PCFG1 PCFG0
-
- -
AN12 AN11
AN10
AN9 -
- - AN5 AN4
AN3 AN2 AN1 AN0
-
- -
RB12
RB13 RB14 RB15 -
-
- RB3 RB2 RB1 RB0 RA1 RA0
上bitマップ表に従って、XY座標取得シーケンス時に、4ラインのポートピンを、デジタル入出力にするか、アナログ入力に
するかの設定をすれば良いと思う。
自分の頭が整理されたので、一度ここで、XY座標取得シーケンスを見直すことにした。
見直し案は出来た。
明日やってみる。
たぶんタッチパネルは壊れてないと思うが・・・
■ 2022.5.3
・2個目のLCDは届いたが、昨日のソース修正案をまずやってみる。
だめだったら交換して試すことにした。
<今日の試行整理>
(1) TP-4ラインのフレキ部に接触不良があるような感じで、そこを押さえつけながらタッチ
しないと感知しないは変わらず。(一応前々日に、当該箇所の半田付けは目視チェックしたが問題なさそうな感じ・・)
ただ「X,Y」座標データは、中央・中央上・中央下・中央右・中央左・左上角・左下角・右上角・右下角(全てのポイントは人差し指でタッチ)
の各ポイントで、取得出来た。
またその時の感知電圧も、主要ポイントで取得出来た。
0.5V 0.5V 0.5V
「 (650, 250) (490, 200) (159, 180)|
1.5V 1.25V 1.3V 1.4V
(850, 480) (456, 456) (170, 480)
2.5V 2.3V
(870, 800) (640, 798)
■ □
2.5V 2.5V 2.2V
| (850, 850) (480, 836) (150, 790) 」
(2) タッチタイミングでの波形(T1周期パルス 対 XR及びYU)を取得し、タッチから検知パルスのピークまでの安定時間(サンプルまでの時間)
を実測してみた。フレキ部に接触不良がありそうなので大変な作業だった。
@ XR
・ノンタッチ時のXR
0.8Vのピークが見られるが定常状態は、0V
・中央タッチ時のXR
1.2Vのピークが見られた。
※ タッチからピークまでの時間= 20uS これをサンプルまでの時間(充電待ち時間)にする。
オシロの時間軸レンジ= 0.2mS/Dにする。
A YU
・ノンタッチ時のYU
3.3Vのピークから次第に指数関数カーブで減衰し、約0.6mSで定常状態= 0Vになる。
・中央タッチ時のYU
3.3Vのピークは、35uS程残るが、そこから負方向に2.0V程下がる。
DGNDからのレベルは、1.3VでこれがAD入力の検知電圧になる。
※ タッチからの検知電圧が安定するまでの時間= 40uS これをサンプルまでの時間(充電待ち時間)にする。(今はこれになっている。)
(3) ONボタン・OFFボタンの座標も取得出来たので、その座標定義をそれに変更したら、画面上のLEDランプがちゃんと
ON/OFFした。
■ 2022.5.4
・タッチ・パネルの不具合調査続行
タッチパネルのフレキ部の折曲がっている根本を強めに抑えながらタッチすると感知することから
やはり何かの接触不良と考えられる。
→ 目視で見る限りは、パッドとタッチの4本接栓のハンダ付けは問題なさそうなのだが、
念のため4か所、はんだ盛りで補正してみた。
それでも変わらないことから、tpフレキ部根本の内部でパターンが切れかかっていると考える。
→ スペアで買ってあるもう一個のlcdを、もう1枚のadpに実装して試すしか方法がなくなった。
<今日の試行整理 その他>
@ YU側(AN5/RB3)ノンタッチ時、3.3Vのピークから次第に指数関数カーブで減衰し、約0.6mSで定常状態= 0Vになる。
何故緩やかに減衰するのかずっと疑問だった。
一つは、オシロ・プローブに普通のシールド線のみを使った簡易的な物を使っているので、そのインピーダンスの影響
が出ていることは想像できる。
そこでこの観測の時は、市販のプローブをATT=1/10にして、オシロレンジを、0.1V/Dにし読む時は10倍して読むことにした。
A TPリードシーケンスだが次の様に修正した。
A-1:MAINでの
SetupScreen(); // ADC設定変更
の中の、AD1PCFGの設定は、以下のように修正。
/****************************************
* タッチスクリーン用設定変更
****************************************/
void SetupScreen(void)
{
/// ADCの設定
AD1CON1bits.ADON = 0;
AD1CON1 = 0x0000; // ADオフ、手動制御、10bit分解能
AD1CON2 = 0; // AVdd, AVss, SCANなし,MUXAのみ
AD1CON3 = 0x0304; // 3Tad , Tad = 5*Tcy
AD1CHS = 0x0000; // チャネル選択
/// 最初は、X座標入力からなので以下の設定を行う。220504-2 追加
AD1PCFGbits.PCFG4 = 0; // XR(AN4/RB2)は、アナログ入力
AD1PCFGbits.PCFG5 = 1; // YU(AN5/RB3)は、デジタル入出力
AD1CSSL = 0; // 自動スキャンなし
AD1CON1bits.ADON = 1; // AD有効化
}
A-2:タイマ1割り込み処理(50msec周期)の頭で実行していたのを以下のように修正
/// X座標入力 (頭のこれは削除して末尾で実行 220504-2
/// これにより、次回50mS後の割込みに備え、いち速くRB3=デジタル入出力設定になるので
/// YUの通常状態= Hiをキープする時間が増えると考える。
// AD1PCFGbits.PCFG4 = 0; // XR(AN4/RB2)は、アナログ入力
// AD1PCFGbits.PCFG5 = 1; // YU(AN5/RB3)は、デジタル入出力
/// VCC印加ステージ
TRISBbits.TRISB3 = 0; // RB3(YU) は、デジタル出力
TRISAbits.TRISA0 = 0; // RA0(YD) は、デジタル出力
LATBbits.LATB3 = 1; // VCC印加
LATAbits.LATA0 = 0;
/// 座標読込みステージ
TRISBbits.TRISB2 = 1; // RB2(AN4):XR入力
TRISAbits.TRISA3 = 1; // RA3:XL側は、入力設定で、Hi-Zとする
// delay_us(10); // 充電待ち 約11usec(実測)
delay_us(20); // 充電待ち 約20usec
Xset = Getscreen(4); // 座標値取得
//// Y座標入力
AD1PCFGbits.PCFG4 = 1; // XR(AN4/RB2)を、デジタル入出力に戻す。
AD1PCFGbits.PCFG5 = 0; // YU(AN5/RB3)は、アナログ入力
/// VCC印加ステージ
TRISAbits.TRISA3 = 0; // RA3(XL)は、デジタル出力
TRISBbits.TRISB2 = 0; // RB2(XR)は、アナログ入力
LATAbits.LATA3 = 1; // VCC印加
LATBbits.LATB2 = 0;
/// 座標読込みステージ
TRISBbits.TRISB3 = 1; // RB3(AN5):YU入力
TRISAbits.TRISA0 = 1; // RA0:YD側は、入力設定で、Hi-Zとする
//delay_us(10); // 充電待ち 約11usec(実測)
delay_us(40); // 充電待ち 約40usec
Yset = Getscreen(5); // 座標値取得
/// 次回50mS後の割込みに備え、X座標入力のポート設定にしておく。220504-2
AD1PCFGbits.PCFG4 = 0; // XR(AN4/RB2)は、アナログ入力
AD1PCFGbits.PCFG5 = 1; // YU(AN5/RB3)は、デジタル入出力
※ 以上の条件で波形観測した結果を以下に示します。
■ 2022.5.5
・タッチ・パネルの不具合調査続行
YUラインの根本部分をやや強めに押さえ付けている内に、タッチしても検知しなくなった。
仕舞には、ノンタッチ時・タッチ時に関係なく、X=1023で変化しなくなった。
YUライン完全に切れたか? オシロで見てもレスポンスが無くなった。
拡大鏡でフレキ部の当該部分を拡大して目視したが、目視では判らない範囲だが・・・
いよいよスペアで購入しといた物に交換して試すか無くなった。
夜就寝前に、スペアLCDをもう1枚の、ADP基板に実装する作業を行った。
いざ実装しようと念のため、LCDの8it/16bit設定を確認してみた。
今回のは、前回と異なり、フレキ内で既に、8bitモードになっていた。(aitendoさんの説明書き通り、8bitがdefurt設定)
なので、このまま実装することにした。(外のIMOピンには出て無いので問題無い。)
チェックは明日以降やることにして就寝した。
■ 2022.5.6
・タッチ・パネルの不具合調査続行
<LCD交換後のチェック>
(1) 表示はOK
(2) タッチはNG
@ ノンタッチ時の座標は今迄通り正しく出た。X= 710・Y= 920程度
波形は、0レベルが若干上がっているが、今迄と同程度に出ている。
A しかし、タッチを検出してくれない。
・XRは、中央をタッチするとノンタッチ時のピークは無くなり、若干上がった0レベル(0.2V位)から0Vまで下がる。
(以前のは、ピークレベルが下がった)
・YUは以前のは、定常状態のレベルが上がったが変化無し。
(3) オシロだとはっきりタッチが悪いのかソフトが悪いのか判りずらいので、ソフト上で適時ブレークし
直流レベル(テスター観測)で評価してみる。
@ 以下のようにSet Voltage後にブレークし、X座標入力時に正しく印加電圧が印加されているか確認
結果:RB3(YU)- RA0(YD)間電圧= 3.24V
RB3(YU)- DGND間電圧= 3.23V
RA0(YD)- DGND間電圧= 0.00V
→ OK
/// X座標入力
TRISBbits.TRISB3 = 0; // RB3(YU), RA0(YD) is output
TRISAbits.TRISA0 = 0;
LATBbits.LATB3 = 1; // Set Voltage
LATAbits.LATA0 = 0;
while(1);
A 以下のようにSet Voltage後にブレークし、Y座標入力時に正しく印加電圧が印加されているか確認
結果:RA3(XL)- RB2(XR)間電圧= 2.76V
RA3(XL)- DGND間電圧= 2.96V
RB2(XR)- DGND間電圧= 0.19V
→ OK
/// Y座標入力
TRISAbits.TRISA3 = 0; // RA3(XL), RB2(XR) is output
TRISBbits.TRISB2 = 0;
LATAbits.LATA3 = 1; // Set Voltage
LATBbits.LATB2 = 0;
while(1);
本日はここまで。
■ 2022.5.11
・タッチ・パネルの不具合調査続行
(1)
何が悪いのか判らなくなって来た。
読込みソフトを介さないで、TP単体のチェックをやってみる。
テスターのΩレンジで、X方向の抵抗膜(XL-XR間)の抵抗値と、Y方向の抵抗膜(YU-YD間)の抵抗値をチェックする
だけで良否を明確に判定できるはずである。
<QJ240083S0のTP単体チェック結果:CUSTOM CDM-14D テスターのAUTO Ωレンジ使用>
@ 2回目に購入したLCD+Toutch
・XL-XR間:369Ω OK
・YU-YD間:∞ NG
・XL-YD間:ノンタッチ=∞ OK
中央 =685Ω
中央左隅 =1kΩ
中央右隅 =450Ω
・YU-XR間:ノンタッチ=∞ NG
中央 =∞ NG
中央左隅 =∞ NG
中央右隅 =∞ NG
→ 上記結果から、RY1ラインが、どこかで断線していると考えられる。
X側の抵抗膜:RX1・RX2は正常
A 1回目に購入したLCD+Toutch
これは、TPフレキ部を指先で何度もこじっている内に壊した可能性があって、
無反応(どこの間をチェックしても∞になってしまう。
まあこのLCDは表示のみに使えばよい。(TPはめったに使わないので)
■ 2022.5.12
・タッチ・パネルの不具合調査続行
2回目に購入したLCD+Toutchの、NGライン:RY1(YU)付近の接続状態を目視等で確認してみる。
CN-PAD間で切れているのか?→ ここでは確実に接続され切れてはいない。
フレキの中で切れているのか?→ 目視でしか確認出来ないが、切れてはいない。
これからどうするか?
@ 今ある2個の液晶はもうまとめに入る。(表示はOKなので使い道はある。)
・確実に固定して、まとめる。[済]
A 3個目のQJ240083S0を注文するが、今度は、ADP基板に半田付けする前に
こちらでの受入検査として、テスターのΩレンジによる、TP単体チェックを実施して
もしNGの場合は、aitendoに相談して「返品検査」が可能か相談してみる。
■ 2022.5.13
・3個目のQJ240083S0は買うが、こちらでの納品チェックとして、P板にハンダ付けする前に
袋から出した素のままの状態で、XL-XR間及び、YU-YD間の抵抗が、数100Ωであるか確認してみる。
方法は、各PAD間をテスターのΩ計で計測する。両手がふさがってしまうのでノンタッチ時しか確認出来ないが十分である。
もしこれでNGの時は、aitendoに連絡して返品できないか相談する。
<抵抗膜タッチパネルの抵抗値について、WEBで調べてみた:TechnoVeinsサイトより>
参考
現在利用されている抵抗膜は300Ω〜500Ω/sq
(スケア)程度の抵抗値が多いようです。
Ω/sqは正方形上での抵抗値です。
ちなみに長さが倍になった場合、抵抗値は2倍、幅が倍になった場合、抵抗値は1/2になります。
したがって、正方形での抵抗値としては、Ω/sqが一定の場合、どのような大きさの正方形でも同じ抵抗値となります。
■ 2022.5.15
・13:30頃、佐川急便より、aitendoからの荷物が届いた。
■ 2022.5.16
・3個目の納品時受入れ検査として、LCDのTP単体チェックを行った。(ADP基板に半田付け前)
フレキ接栓パッド部の幅と、ピッチは、とても狭いので、予め丸ピンのピンヘッダから細いピンを抜いて
それを使って自前のプローブを作っといた。
<結果>
@ XL-XR間:363Ω
A YU-YD間:637Ω
→ QVGAサイズのTPでは、電極間抵抗値は約1kΩなので両者OK
・ADP基板に半田付け完了後、上記(ピンヘッダ側で測定)をチェックしたところ、OK確認。
・ノンタッチ・タッチ時とタッチ時の、抵抗値も確認してみた。(今度は軽くタッチしても変化する)
・XL-YD間:ノンタッチ=∞ OK
中央 約1000Ω
中央右隅 約790Ω
中央左隅 約1300Ω
・YU-XR間:ノンタッチ=∞ OK
中央 約1000Ω
中央右隅 約1300Ω
中央左隅 約790Ω
<今日の、その他の試行>
(1) 「X,Y」座標データは、中央・中央上・中央下・中央右・中央左・左上角・左下角・右上角・右下角(全てのポイントは、細目のタッチペンでタッチ)
の各ポイントで、取得出来た。尚、タッチ位置はアバウト
今回のTPは反応が良い感じ。
また、ノンタッチ時には殆ど感知せず、感知LEDも消灯したままでGood!! 当然座標も変化無し。
片側がHi-Zになっているので、たまにフローティングレベルによって点灯することはあるが良しとする。
あと、ボタン座標位置であるが、前のLCDが動いている時に取得した座標で良かったようで、ボタン機能も正常に動いていることを確認した。
まだオシロで波形確認してないが、あとで予定。
「 (859, 163) (462, 180) (145, 159)|
(839, 459) (435, 474) (144, 474)
(870, 800) (624, 819)
■ □
| (872, 801) (477, 802) (146, 809) 」
■ 2022.5.17
・オシロで波形確認を行った。
観測ポイントは以下5点で、問題は特に無くOKを確認した。
中央・左上角・左下角・右上角・右下角(全てのポイントは、細目のタッチペンでタッチ)尚、タッチ位置はアバウト
また、オシロ2ch入力には、市販のプローブのATTを、1/10にし、オシロのレンジを、0.1V/divにして、
読込む時、10倍(実質:1V/D)にして読む。(出来るだけHI-Zにしないとプローブの影響が出る為)
※ ノンタッチ時には感知せず、座標表示しないのが本来だが、
現状は、時々感知して、X=797 Y= 286位の表示が出てしまう。
ノンタッチ時のオシロ観測は、感知した時の波形を取得した。
・これで簡易的なタッチパネルのテストは完了したので、ハード・ソフト共にOKという事で、ドキュメントをまとめてHPにUPすることにした。
(本番?に向けての課題としては、ノンタッチ時には感知せず、座標表示しないのが本来だが、
現状は、時々感知して、X=797 Y= 286位の表示が出てしまう。
これは、座標取得時にAD入力が一時的にオープン(HiZ状態)になるため、入力電圧がふら付く為である。
これをなんとか次回対策するかも)
<回路図>
・こちらからどうぞ→ 「UL024TF・QJ240083S0比較_修正版」: NOTE1の一部に3個目購入のLCDについて追記しました。
以上、水魚堂回路図を置換えました。 220519
「QJ240083S0_TPテスト回路図」: 追加:220519
「TP等価回路(QJ240083S0)」: 追加:220519
「LCD-ADP-V1」 :Eagle
CAD Schematic
<最終ソース・ヘッダ・フォント>
/// メインソース
PIC24F_QJ240083S0_Touch_Test.c
/// グラフィック液晶表示器用ライブラリヘッダ
colorlcd_libdsPICVH.h
/// グラフィック液晶表示器用ライブラリソース
colorlcd_libdsPICVH.c
/// ASCIIフォントデータ 12x12ドット
ASCII12dot.h