SSブログ

今日のジャンク:VCO SV065(PG343) [JUNK]

今日のジャンク:VCO SV065(PG343)

昔どこかで購入したジャンク袋にSV065(PG343)が入っていた。
10vcosv065poke648.JPG
仕様が分からずしばらく放置していたが、ポケベル基板に当該VCOが実装されていた。
20pokeP1040661.jpg

2012年にポケベルジャンクについてblogに書いたがVCOの事は全く意識してなかった。
http://nakjack.blog.so-net.ne.jp/2012-01-25

基板の接続からVCO SV065のPIN配列が分かった。
30VCOSV065.jpg

電圧規定の詳細は不明だが、PLL SM5160Aとの接続でおおよその使い方は分かった。

Vcc:1~2V
Vin:0~3V
f :60~70Mhz
出力:無負荷で0.4Vpp

10:1プローブで出力測定
50P1040596.jpg

Vccを1.25Vにして、Vinを可変抵抗に接続して周波数を記録
45testP1040656.jpg
60fP1040667.jpg
70fP1040666.jpg
40v-f0171.jpg

SV065が使える事は分かったが、周波数可変範囲が狭い。vinの規格も不明であるが、試しに5vを印加しても73MHzにしか上がらない。

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

PIC16F18325による周波数カウンタ [電子工作]

PIC16F18325による周波数カウンタ 2種

秋月で、PIC16F18325が100円で売られていたので、事例を参考に安価な周波数カウンタを作った。
15ct1P83.jpg18ct1P582.jpg

mcc(MPLAB Code Configurator)を使ってCLCやタイマーの設定を行った
構成
TMR2:基準時間発生に使用。mccで作られた"tmr2.c"の割り込み処理にユーザ処理を記述する。
TMR3,TMR5:2個の16ビットカウンタをCLCを使って連結し32ビットカウンタとする。
TMR3がオーバフローするとTMR5をカウントアップする。オーバフローで割り込みは使わない。TMR3,TMR5のon/off機能を使って基準時間だけT3CKI(RC5)のパルスをカウントする。計数が終わるとTMR3とTMR5を読み出して表示する。

CLCの設定:TMR3のオーバフローをピンに出す。
30cl53.JPG
35pinmng52.JPG

ブロッグ図的イメージ
40TMR3-5.JPG

TMR3オーバーフロー信号。T3CKIの1サイクル分出る様だ。
50M12Movfl48.jpg
55M35ovfl49.jpg

MPLABX,コンパイラは以下を使った。
MPLABX v3.51
xc8 v1.44


カウンタ入力:T3CKI(RC5)
OVFL:CLC1(RC1)
2段目カウンタ入力:T5CKI(RC0)
RC1とRC0をピンで接続する。LCDはどちらか一方を接続し、LCDに対応したHEXを書き込む。
60PIC16F18325.JPG

カウンタ1:外部発振器、シリアル化したLCD1602、8桁表示
カウンタ2:水晶発信器、TS174 6桁表示 0.1k単位

カウンタ2は組み込みとして使う為、基板カットしてTS174のサイズに近づけた
20ct2P80.jpg

LCDを外した所
22ct2P81.jpg

LCD1602SPI回路図再掲。E信号を遅らせるために1G32の出力に220Pを接続した。効果は未評価。
70LCDSPI41.JPG

16F18325は14ピンなので使えるピンが少ない。LCDにはシリアル化したLCD1602をを使った。
カウンタ2のLCDにはAitendoのTS174を使った。TS119、TS174、TS5173は同じライブラリで使える。こちらも3ピンで制御できる。単位がKHz表示で無いのが残念。小数点表示はKの位置表示として使った。
水晶には手持ちの12.8MHzを使ったが精度がイマイチ信用できない。カウンタ1は、将来高精度発振器を入手したときの為に外部入力モードにしている。カウンタ2は安価にするため、12.8MHz水晶をPICで発信させた(HSモード)。

LCDのライブラリ内で、制御に使うピンを定義する。当初LCDの書き込み信号をWRとしていたが、EEPROMの処理の中のWRと競合していたのでLCDライブラリ側の信号名をWRTとした。

lcd_SPIlib2.h
#define RCK LATAbits.LATA0
#define WRT LATAbits.LATA1
#define DT LATAbits.LATA2

TS174
HTLCD_lib2.h
#define CS LATAbits.LATA2
#define WRT LATAbits.LATA1
#define DT LATAbits.LATA0

高精度の発振器を持っていないので、校正出来ていない。
PIC16F18325 カウンタ ソース&HEX。mccで生成したファイルを後から修正したので、コメントは違っているかも。試行錯誤した痕跡が残っているが公開。


回路図

-------------------------------------------------------------------
参考
はじめてのPIC
18f14K50カウンタ
http://sky.geocities.jp/home_iwamoto/page/P14K50/P14_B03.htm
電子工作のための PIC16F1ファミリ活用ガイドブック  技術評論社
--------------------------------------------------------------------

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

PIC16F18325によるPWM 簡易パルス発生器 [電子工作]

PIC16F18325によるPWM 簡易パルス発生器

素性不明なパルストランスの特性を調べる為、PWM パルス発生器を作った。
10P1040537.jpg

ジャンク基板に乗っていたトランス。巻線は髪の毛より細い。インダクタンスは30uHと120uHであったので巻線比は1:2らしい。巻線は2組ある。ので1:4の構成にできる。
12trn0524.jpg

パルス発生器と接続した。無負荷でも2Khzあたりでは1A以上の入力電流であったが、200KHzでは10mA程度に減少。供給電源の保護回路により1A以上流れないので助かった。スイッチングFETはパルス発生器に実装したのを使ったが、配線長を考えトランスの近傍にあるのが望ましい。このトランスは負荷電流はほとんど取れない。1k抵抗を負荷に接続ですぐに電圧ドロップする。
13measP1040526.jpg
13nDCDC151.jpg

PIC16F18325が安価であったので試しに使う。2k~500khzの間をscanし、出力電圧の最大値を記録できるようにした。scan時はduty50%固定であるが、PR2の値が小さいときのduty値は概算値になる。
13pPWMSCH0152.jpg
2khzから周波数x1.15で決定 
14frq00157.jpg
20FUNCWS000156.jpg

1ステップ約90msとし、42ステップ終了後、電圧最大の周波数を設定し、43から64ステップまで同一周波数を出した後に最初のステップに戻る。最初の4ステップは120msで切り替えている。周波数切り替え時、波形が乱れる事があるが、まだ対応できていない。
22ALLTWS000159.jpg
24pwm50504.jpg
電圧安定まで4ms程度かかっている
26WS000160.jpg

手動で周波数とdutyが設定出来るようにした。周波数は高い(PR2の値が小さい時)は分解能に制限あり。手動だと0.5k~600k程度まで可能。AD変換を2チャンネル使い、電圧、電流を表示する。Vrefは1.024Vに設定した。AN4は1/20に分圧するつもりで電圧表示をmax20Vにした。

表示には、買い貯めしていたAitendoのETM11256(112x56)を使ったが、立ち上げ時の設定でC12864やJCG12864も使える。(コントラストの調整が必要だが)表示範囲は112x56内に抑えている。
30c128P1040504.jpg
コントラスト調整後
33c128-2P1040505.jpg
反転表示
36invP1040506.jpg

RUN/STOPスイッチを押下したまま電源投入するか、RC4を10Kでプルアップすることで、C12864spi、F12864、JCG12864モードになる。LCDを切り替えた時は、保存した設定は初期化されるので、電圧補正を含め再設定が必要。切り替えないときは保持される。
JCG12864の時は、最初は逆文字になっているので、設定モードからJCGモードにする。
40JCG-0P1040507.jpg
JCG1264正常表示
44JCGP1040508.jpg

aitendoのF12864だと思う。液晶固定していたので型名確認できず
48F128P1040510.jpg

とりあえず2枚の基板を作ってみたが、いくつか問題点が判明している
・タクトスイッチのチャッタ除去が十分でない。外部キー接続で回避
・PIC内部クロックを使ったため周波数精度が不明
・スイッチングFETの耐圧が30Vしかないので、高圧評価は出来ない
・FETの電流は片側しか測定していないが、同一チップのFETなので、差は5%以下であった
・スタート時、0~41ステップのどの周波数から開始するかは不明
・周波数切り替え時に波形乱れあり。

仕様
scan 2k~500k 自動42step繰り返し 
step 2k~500khz
PR2  255~4
scale x1 x4 x16 x64 TMR2のprescale設定
duty 5%ステップ 5-90% 周波数で制限あり

PICのAD変換機能を使って電圧、電流を表示。レンジは固定
-------------
モード設定 設定変更はEEPROMに格納
電圧表示調整
コントラスト 
表示反転
JCGモード
------------------------------------
PIC16f18325PWMのhex


-----------------------------------



nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

FusionPCBにプリント基板を注文した [電子工作]

FusionPCBに初めてプリント基板を注文した

20年前のAMDのCPLD MACH465が出てきた(PQFP208p)。
実装前の写真は撮り忘れたので基板実装後
10465P1040476.jpg

丁度208PINの変換基板(当時の1000円の値札付き)もあったので、評価してみようと思った。
15208P1040458.jpg

しかしMACH465はGND32ピン、Vcc24本もあるので、ユニバーサル基板での手配線がきつい。今まで、回路図はEagleで書いていたが、brdは扱ったことが無かったので、しばらくネットでEagleのbrd作成について練習した。Egleのライブラリをみているとamd-mach.libの中にM4-256P208とM4-128P100があり、それぞれMACH465とMACH445のピンに一致している様であったので、MACH465とMACH445にrenameして使った。
18WS000221.jpg

MACH465の評価ボードにするため、電源、グランド、パスコン、JTAGコネクタ、SMDランドを幾つか実装した。ピン配置が悪いのか自動配線では20%程度しかパターンが引けなかったので、手動で引くことになった。DRCをかけるとStopMaskが一杯でたが、シルク位置をずらしてOKとなる。Fusionから2層のCAMprosessを持ってきてgerberを作成。Fusionの日本語のページにガーバーファイルを出力する方法というのがあり、これに従う。
http://support.seeedstudio.com/knowledgebase/articles/1176223-%E3%82%AC%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
19aWS000236.jpg

後にSWITCHSCIENCEにEagleのバージョンに対応したCAMがあることが分かったので、こちらを使った。CAMprosessの結果出来たファイル8種をZIPで圧縮して、Fusionのページからgerberファイルを登録。
20fusionWS000232.jpg

gerberviewerで見える様になるので、確認する。基板サイズが反映されない時はもう一度Add your gerber fileをクリックして登録する。
24fusionWS000230.jpg26fusionWS000228.jpg

あとはCartにいれて、発送方法を選択してPayPalで決算。発送はFedexを使ってみた。初めてであったが、先人の事例が参考に出来たので、それほど迷わなかった。注文前にユーザー登録しておくとスムーズ。

8月16日 注文
9月 1日 完了
9月 5日 fedex受付
9月 7日 商品受領
30WS000150.jpg

MACH465基板と同時にMACH445評価基板も注文し、9月7日に両基板を受領。Fusion工場の更新の影響か、製造に2週間かかった。履歴によると9月1日には製造完了しているが、Fedexは5日に集荷した様だ。それでも3千円程度で20枚の評価基板が3週間で出来るのはうれしい。同じ中国でもPCBGOGOは24H稼働なので納期は早そう(価格は少し高い様だ)。緊急時に試してみたい。
40P1040467.jpg

変換基板より少し大きい
50P1040473.jpg

MACH445評価基板。秋月のBタイプユニバーサル基板にサイズを合わせた。95x72mm
55P1040478.jpg

基板をチェックすると、JTAGコネクタが逆になっている、MACH445基板の電源コネクタのスルーホールが細すぎ,水晶OSCのピン不足、シルクの重なり発見。いずれも設計ミス。JTAGコネクタのミスは、変換コネクタを作って回避し、サンプルプログラムがMACH465に書けることを確認。またSIGNATUREで設定したUserCode(32bit)が読める事を確認した。 当面この基板で評価はできるが、機会あれば修正したい。
65miel_001.jpg
68miel_000.jpg

評価環境はできたが、アイデア無く作るものがない。MACH465の消費電流が5Vで、270mAも流れるのは、ちょっと使いづらい。20年前のCPLDなので仕方ないが。少し時間が掛かったが、PCB 10枚で4.9$はかなり助かる。少し前に基板を自作しようと思い、塩化第二鉄を購入したが、基板を注文した方が安価であった。これで送料が安ければユニバーサル基板の出番は無いかもしれない。
        macrocell
MACH465 256  208PQFP(0.5mmピッチ)
MACH445 128  100PQFP(0.65mmピッチ

参考
SWITCHSCIENCE
https://www.switch-science.com/pcborder/techguide/

Seed FusionPCB
https://www.seeedstudio.com/fusion_pcb.html
https://fusionpcb.jp/fusion_pcb.html
http://support.seeedstudio.com/knowledgebase/articles/1176223-%E3%82%AC%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

PCBGOGO
https://www.pcbgogo.jp/orderonline.aspx
-----------------------------------------------------------
nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

WiiU ACアダプター(WUP-02)解析続き [JUNK]

WiiU ACアダプター(WUP-02)解析続き

 注意:以下は自己責任でお願いいたします。
 ACアダプターは最大15V5A(75W)と発火するには十分な電力を持っています。
・ACアダプタの分解により、メーカ保証が受けられなくなります。
・コンセントから外しても内部コンデンサに高圧がチャージされているため 
 感電、その他重大な事故が発生する可能性があります。
・分解、改造したACアダプタの使用により、事故、故障、破損、発煙、発火、
 他機器への波及障害、火災などが発生する可能性があります。

手持ちのACアダプターはZEBRA製とMITSUMI製があったが、今回はMITSUMI製WUP-02の電圧を変更した。
0mitsumi442.jpg

MITSUMI製電源の回路パターンを追うとMITSUMIの6ピンIC(IC203)522で電圧制御している様だが、仕様不明。それらしい電圧から想像して、R207,R208,R209の分圧回路で電圧を決めていると判断。一般的な電源であれば、出力電圧を下げるには、R207,R208を下げればよいと思う。
12.6V=1.25Vx(1+R/3.9)  ......R=35.4k
手持ち抵抗の関係で200kを39kに並列接続、39k//200k=32.6K。再度計算して
Vo=1.25x(1+(32.6+4.3)/3.9)=13.08v
実測して13.15V。5A出力時、12.7V。
電圧をさらに下げるため、4.3kに560Ωを並列にしたが、実測値は13.15Vで変化なし(計算値は11.9V)。下限に制限が有る様だ。電圧を上げる方向は、電力が大きく危険なので試していない。
A-V00146.jpg

SCH_zebra0142.jpg

主要IC
TEA1752
MM1377
MM3473
522
nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

WiiU ACアダプター(WUP-02)のケーブル破損と解析 [JUNK]

WiiU ACアダプター(WUP-02)のケーブル破損と解析

WiiU ACアダプター(WUP-02)のDC側ケーブル被覆が破れて銅線がむき出しになっていた。2台目も被覆破損が発生。使い方が乱暴かもしれないが、被覆が少し弱いのではないか。いじり止めネジを外して分解した。
10P1040436.jpg
15P1040429.jpg
18P1040438.jpg

 注意:以下は自己責任でお願いいたします。
 ACアダプターは最大15V5A(75W)と発火するには十分な電力を持っています。
・ACアダプタの分解により、メーカ保証が受けられなくなります。
・コンセントから外しても内部コンデンサに高圧がチャージされているため 
 感電、その他重大な事故が発生する可能性があります。
・分解、改造したACアダプタの使用により、事故、故障、破損、発煙、発火、
 他機器への波及障害、火災などが発生する可能性があります。

1台目はZEBRA、他はミツミ。ケースの爪位置が異なっている。回路、パターンも違っている。
ZEBRA
20P1040447.jpg
ミツミ
 20P1040444.jpg30P1040440.jpg

ZEBRAの電源の二次回路を一部トレースした。 制御ICは仕様不明であるが、分圧回路は(R305+R306)/R307で構成されている。実測で基準電圧は1.23Vであった。標準は1.25Vかも。勘違い、誤トレースあるかもしれない。
40P1040427.jpg
50ws0130.jpg

WUP-02の規定は15V5Aであるが、流用するには電圧が高く使いにくいので、12.6Vを目標に電圧変更することにした。手持ち抵抗の関係で、R306(30K)に150Kを並列接続 [30k*150K/(30k+150k)=25K]、R305(560Ω)に560Ωを並列接続[280Ω]にした。
計算値:Vo=1.23*(1+(25.28/2.7)=12.75V
実測で無負荷12.7V、5A時12.3Vでほぼ所望の電圧になった。
60WS032.jpg

改造、実験は自己責任でお願いします
-----------------------------------------

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

WiiUゲームパッドのACアダプタ 解析  [JUNK]

WiiUゲームパッドのACアダプタ 解析 

WiiUゲームパッド用ACアダプタ(WUP-011)のいじり止めネジのサイズ違いを確認するついでに、分解と回路解析をしてみた。当該ACアダプタは、ケーブルの絶縁被覆が破損していたので、破損部除去し、DCプラグを取り付けたジャンク品である。当然メーカ保障無し以外に下記危険もあるが、自己責任と言う事で、公開。なお間違い、勘違いも内在する可能性あり。


注意:以下は自己責任でお願いいたします。当方は結果について責任を持てません。
・ACアダプタの分解により、メーカ保証が受けられなくなります。
・コンセントから外しても内部コンデンサに高圧がチャージされているため 感電、その他事故が発生することがあります。
・分解、改造したACアダプタの使用により、事故、故障、破損、他機器への波及障害、火災などが発生する可能性があります。

ケース外したところ
50P1040b.jpg

電源基板のパターン面
10P1040406.jpg

現物を見ながら回路図にしてみた。抵抗、コンデンサの値は省略。誤記、誤解あるかも。
sch0127.jpg

1.5A流すと4.75Vにドロップするので、フィードバック抵抗を変更して1.5A負荷時5Vとして見た。制御ICは表面捺印を見て検索したが、不明。回路図から判断し適当に信号名を付与。 フィードバック電圧は、トランスの巻線からとっているタイプの様で、R10+R7を経由しR6とR9を並列接続して制御ICに入っている。
パルスのまま制御ICに入っているので、詳細は不明である。それでも、R9(91k)を手持ちの60.4Kに交換して、無負荷時5.2V、1.5A時5.0Vになった。R9の妥当性は不明。普通のDCフィードバックのつもりで計算しても合わない。

R9 :output
91k :5.0V-4.7V(original)
60.4K:5.2V-5.0V
39K :5.3V-5.1V

40P1040411.jpg
30P1040409.jpg

実験は自己責任でお願いします。



nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

RTC タイマー付き 学習リモコン(PIC16F1827) [電子工作]

タイマー機能付き 学習リモコン

冬の間、ばあちゃんはエアコンを付けたままにしている。寝室は仕方ないが、無人の居間も夜間はエアコンを付けたままにしているので、とても電気代が高い。エアコンには、タイマーが付いているが、毎日セットする必要がある。タイマーの設定方法を教えてもすぐに忘れるので、ばあちゃんには無理であった。
そこで、学習リモコンとTinyRTC(DS1307+EEPROM)を組み合わせて、設定時刻になったらリモコンのコードを発光させることにした。 同様なのが市販品にあるが、手持ちの部品+αで作ってみた。
10allDSC_2123.jpg

学習リモコンのプログラムは、鈴木哲哉著者の『ボクの電子工作ノート』から流用、変更した。
2040337.jpg

エアコンのコードは18バイトあったので、格納できるコードをmax24バイトに拡張した。
RTCはI2CインタフェースのTinyRTC(DS1307+4KEEPROM)を使用。これはリチウム充電池 [LIR2032] を使う様になっているが、充電回路のR5(200Ω)を削除して充電不可のCR2032を使った。
25rtc0000567.jpg

7セグLCDはAitendoのTS174とTS119を使用。いずれも視野角が狭いので、ダイオードで電圧を調整している。左上の小文字が0-19まで表示できるので、機能表示とした。
赤外線の放射範囲を広げるため、赤外線LEDを2個使ったが、電流制限抵抗を33Ω(2.3V/33=70mA)としたので、到達距離はやや短い。

概略仕様
 指定した時刻(分単位)に予め学習したリモコンコードを赤外線発光する

・学習コード:max24byte、4種
・プログラムタイマー:14個
・PIC16f1827
・RTC TinyRTC(DS1307+EEPROM)
・表示:7セグLCD TS119/TS174
・操作しない時は16秒でスリープ

30040336.jpg

操作方法
1.RTCの設定
   OKを押して機能番号を0にする
   SEL長押しして、入力モード
   UPを押して時刻設定、SELでHH/MMを切り替える
   OKを押して終了

2.リモコンコードの記録
   OKを押して機能番号を1~4のいずれかに合わせる
   SELを長押しして入力モード
   リモコン発光部を受光器に向け、リモコンのキーを押す
   認識すると、テータ数を表示。
   16秒以内に認識出来ないと、自動リセット
355040345.jpg

3.タイマー設定
   OKを押して機能番号を5~18に合わせる
   SELを長押しして入力モード
   HH/MM、コード番号を UPとSELで合わせる
   OKを押して終了

4.その他のキー操作
 ・OK と UP 同時押し:機能0 RTC表示
 ・機能19にてSEL と UP 同時長押し:5-18のプログラムクリア
 ・表示モード で機能1~18にて UP :当該リモコンコードを赤外線発光(動作確認の為)

使用例
 学習リモコンメモリ
  1.エアコン1 ON
  2.エアコン1 OFF
  3.エアコン2 ON
  4.エアコン2 OFF

 タイマーメモリ
  5 06:30 エアコン1ON
  6 06:35 エアコン1ON
  7 07:00 エアコン2ON
  8 12:00 エアコン2OFF
  9 23:00 エアコン1OFF
 10 23:30 エアコン1OFF
 
寝室と居間用に学習リモコンを2台作って、エアコンの真下に設置した。

30040336.jpg

試したエアコンは古いものなので、最近は違っているかもしれない。リモコンコードバイト数 三菱霧ヶ峰:14byte、シャープ:18byte

400342.jpg4540339.jpg

朝は、目覚める前にエアコンが入って、就寝後に切れる様に設定した。 PICはスリープする様にしたが、動作時:3.8mA、スリープ時0.6mAと以外と電流が流れ、500mAHの電池で、10日ほどしか持たなかった。動作確認用のLEDは削除した方が良さそう。改善の余地がある。学習コードを増やすこともできるが、7セグ表示ではリモコンキーの対応が分かりにくいので、4コードとした。 時計の精度はあまり良くなかった。1ケ月で数分違っていた。
HDDがクラッシュしてソース不明になったので、現物から回収したHexのみ公開。2つのファイルの内容が少し違うが、変更内容は不明。いずれも基本機能は動作するので、マイナーな差分と思う。いい加減な管理で、ごめんなさい。

なお本リモコンは、無人の状態でも動作します。動作成功、失敗に関わらず結果につきましては自己責任でお願いいたします。また使えない機器があると思います。

回路図
SCH0208.JPG

Hex


説明書
62IR0204.JPG

64IR0205.JPG66IR0206.JPG68IR0207.JPG
---------------------------------------------------------------------------


ボクの電子工作ノート

ボクの電子工作ノート

  • 作者: 鈴木哲哉
  • 出版社/メーカー: ラトルズ
  • 発売日: 2012/06/18
  • メディア: 単行本(ソフトカバー)









ELPA タイマー付エアコンリモコン RC-32AC RC-32AC

ELPA タイマー付エアコンリモコン RC-32AC RC-32AC

  • 出版社/メーカー: ELPA
  • メディア: ホーム&キッチン







キャラクタLCDの シリアルインタフェース化 [電子工作]

キャラクタLCDのシリアルインタフェース化

LCD8812Kのシリアル化を真似して、以前購入していたAitendoのキャラクタLCD DV16284をシリアルインタフェース化した。
10DV16284P1040269.jpg20DV16284P1040270.jpg

電源以外の信号は、データ、クロック、ラッチの3本。LCD8812KのHC595によるシリアル化と同じ方法をとった。
25HC595spi99.jpg

改造方法
・DV16284のプラスチックハウジングをニッパーで適度に切り取る。
・ユニバーサル基板を40mmx23mmにカットする。(LCD裏に貼り付け出来るサイズ)
・SOPタイプのHC595をシール基板に半田付けしユニバーサル基板に両面テープで取り付ける
・1mm_14Pのフラットケーブルコネクタを基板に取り付ける。この時、端子がランドに当たるので、 絶縁シートを挟んでコネクタを基板に取り付ける
・LCDのコントラスト端子Voの最適値電圧を事前に求めて、固定抵抗値を決定。可変抵抗のままでも良い。
・回路図に従い結線。
・部品とFCケーブルが当たるので念のためケーブルをカプトンテープで補強

40HC595P1040275.jpg30HC595P1040273.jpg

HC595のQBをRS信号としたので、HC595の遅延時間だけ、LCDのE信号を遅らせるつもりで、1素子ゲートHC1G32を2段使った。しかしこのゲートによる遅れは20ns程度でほとんど遅延対策にならなかった。規格外で動作したのか、このLCDにマージンがあるのか?。E信号直結でも使えるかもしれないが試していない。

50DSC_2082.JPG60DSC_2081.JPG

バックライト無しでも十分見える。
SPI規格ではないが、HC595によるシリアル化したLCDライブラリを公開。
lcd_SPIlib.c
lcd_SPIlib.h

LCD8812Ktest.zipに含まれる


----------------------------------

LCD8812K4-01 解析 [LCD]

LCD8812K4-01 解析
Aitendoから安価な液晶モジュールLCD8812K4-01を購入した。(現在、在庫切れ)
10LCD8812K.JPG

コントローラはHT1621なので、セグメントの位置関係を解析した。7セグLCDとして使えそうなので、追加購入をしようとしたが、現在は在庫切れとなっており残念でした。解析結果をメモ代わりに記録する。
下部エリアには16文字5x7ドットのキャラクタLCDが付いている。HT1621がシリアルなので、キャラクタLCDもシリアルにすることにした。
LCD基板に片面ユニバーサル基板をカットして両面テープで貼り付け、手持ちのHC595(シフトレジスタ)をユニバーサル基板のランドに載せた。FCケーブルと同じ信号がサイドのスルーホールから出ている
11LCD8812k595ura64.jpg

回路図
12LCD8812K595sch14.jpg

HC595のリードは、ユニバーサル基板のランドに半田出来る程度にカットする。基板のホールは使わない。RS(コマンド/データ切り替え)信号もHC595経由にしたので、LCDのE信号を(RSセットアップ時間+HC595遅延時間)だけ遅らせるため、デジトラを2段使って時間を稼いだ。遅延を測定した所、1.5usと思いのほか遅いが特に問題無し。
27USBee_5956.jpg29HC595RCK1.jpg

LCD8812Kのセグメントを解析した。
13LCD8812kSEGT3.jpg

表示例27-8 アドレス27番地、セグメントCOM0(8)
HT1621のインタフェースはアドレスはMSBから送るのに、データ部はCOM0から送る事になっている。PICによるシリアル化の制御の都合上、COM0を8,COM3を1とした。

Excelにアドレス/セグメントをまとめた。
14LCD8812pin113.jpg

7セグのアドレス関係がばらばらなので、アドレス対応表を作る必要があった。 5x7ドットのキャラクタLCDは8キャラx2列であった。

評価回路
70sch0201.jpg

見えにくいセグメントがある。  消費電流約40mA(ほとんどがバックライトLED)
60LCD8812Ktest.jpg
77LCD8812kv67.jpg

PIC16F1827によるLCD8812Kデモプログラム


MPLABX v3.51 XC8 v1.40
下記4信号で、HT1621とキャラクタLCDを制御する。
#define RCK PORTAbits.RA7 //595  :RCK ,E
#define CS PORTAbits.RA6  //HT1621 :CS
#define WR PORTBbits.RB7
#define DT PORTBbits.RB6

デバック中の関数や未使用の関数が残っているが、PIC16F1827向けプログラムをそのまま公開。バグはごめんなさい。
"HTLCD_lib.c" HT1621関数
"lcd_SPIlib.c" HC595シリアル化キャラクタLCD関数

LCD8812Ktest.zip


------------------------------------

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。