*注意*

近年、AIによるサイト内情報の要約や解説など便利な機能が増えています。 ですが、技術系のブログについてのAI要約はまだまだ不正確な記述をする場合が多いです。 AI要約や解説を鵜呑みにせず、元記事を参照して必ず自らの目で確かめて判断するようにしてください。 *Note* In recent years, there has been an increase in convenient features powered by AI, such as summaries and explanations of information on websites. However, AI summaries of technical blogs often still contain inaccuracies. Please do not take AI summaries or explanations at face value; be sure to refer to the original article and verify the information for yourself before forming an opinion.

AI利用者への案内

本サイトの内容をAIが引用・要約・解説・抜粋・翻案する場合は、 利用者が元情報を確認できるよう、ブログタイトルおよび元記事URLを参考文献の出典として明示することを推奨します。 Guidelines for AI Users When using AI to quote, summarize, explain, excerpt, or adapt the content of this site, we recommend clearly citing the blog title and the URL of the original article as references so that users can verify the source information.

2019年12月16日月曜日

KENWOOD MJ909 内臓 蛍光表示管の使い方

電子機器の分解一覧



注意:この記事の内容を鵜呑みにし、事故や損失を招いた場合でも当方は一切の責任は負いかねます。自己責任でお願いします。

ハードオフでいい感じの蛍光表示管(VFD)が入っているカーステレオを見つけたので、描画してみました。

概要
・分解
・解析
・VFDの仕様

こちらがそのカーステレオ KENWOOD MJ909です。


コントローラーパネル部分にVFDが使用されています。
早速分解していきます。













カスタム品なので、ドットマトリクス以外にも端に何か表示する箇所があります。今回はドットマトリクス部分だけを使用したいと思います。


発光箇所数に対してピンがやけに少ないです。
少しネットで調べてみると、どうやらVFD内にコントローラーICを入れてVFDのピンの数を減らしているようです。
回路設計する側としてはとてもありがたいのですが、未知の仕様なのでまず信号を解析しなければいけません。





とりあえず配線を繋げて起動させてみました。
分解中にフレキケーブルを切ってしまったので、代わりのフレキケーブルを加工して使っています。

起動してみてから気づいたのですが、このVFDは上下で緑、青の2色に分かれているようです。
真ん中の2行のドット行は1列ごとに緑と青が交互に配置されています。



VFDから出ているピンは全部で15ピンあります。
両端の3ピンはフィラメント電源とすぐに判りますが、その内側の9ピンは少し調べないと判りません。






・解析
それではこのVFDのドットマトリクス部分を自由に描画できることを目指して解析していきます。

まずは、基板のパターンの追跡です。
裏面のパターンを見るとこのようになっています。


フィラメント電源ピン群と内側の9ピン群同士が近いほうからピン番号を割り当てると、

「1,2,3,_,_,4,5,6,7,8,9,10,11,12,_,_,_,_,_,_,_,_,_,_,_,_,_,_,13,14,15」

となります。※スマホなどから当ページを見ると分かりにくいかもしれません。

1,2,3ピン群と13,14,15はフィラメント電源です。
基板のパターンを見て、5と6ピンがGNDに繋がっていて10ピンがどこにも繋がっていないことが判ります。

また、4ピンと11ピンに接続されているパターンが、他のパターンに比べて太めなので電力ピン(VFDの電源)であると予想できます。

基板のパターンを見て判りそうなことはこれくらいなので、次に起動時の各ピンの電圧や信号波形を見ていきたいと思います。

先ほど電力ピンと予想した箇所をテスターで調べると、4ピンが36V付近、11ピンが5V付近でした。4ピンがVFDのアノード電源、11ピンがVFDに内蔵しているコントローラーの電源であることが判りました。

残すは 7,8,9,12の4つのピンです。
電源ピンはもう見つけたので、データピンであると予想できます。
もちろんシリアル通信であることはわかるのですが、シリアル通信でもI2C、SPI、UARTなどの規格化されたものや、単純にシフトレジスタを使用した独自規格のものなど非常に多くの種類があります。

そこで、信号の波形を見ることにします。
ロジックアナライザなどがあるととても良いのですが、当方はアナログオシロスコープしか持っていないため、厳密な波形は見ることができません。
それでも大体の信号波形が見れればプロトコルが判ります。



画像は7ピン(上)と8ピン(下)の信号をそれぞれ2限オシロで測定しているところです。
8ピンがLからHになり、しばらくしてからLになっています。
また、7ピンは8ピンがHからLになった後、HとLを高速に繰り返しています。

画像はありませんが、同様に9ピンと12ピンを調べると、
9ピンは8ピンがHの間に一瞬だけL→H→Lのパルスが入力されていました。
12ピンは不規則な波形が7ピンの信号に合わせて入力されていました。

このことから、12ピンはシリアルデータ入力、7ピンはシリアルクロック、9ピンまたは8ピンが描画ラッチストローブまたはシフトレジスタクリアではないかと予想できます。
シフトレジスタを用いた単純な信号規格で描画できることが判りました。
ただし、何bitデータ送信してラッチさせればよいかがまだ分からないのでマイコンを用いて調べます。

オシロスコープで簡易的に読み取った波形をマイコンを用いて再現します。
少しずつ信号を変えてVFDの表示の挙動を確認しました。




・VFDの仕様
・型番 itron CN1762M
・ドットマトリクス部分: 80x16ドット
・上7ドット緑、下7ドット青、真ん中の2行のドット行は1列ごとに緑と青が交互配置
・グリッド数(セグメント数):28個、内ドットマトリクス部分で20個

・シリアルデータ数96bit x 2セット(コントローラーICが内部で2個直列になっています。)

・マトリクスデータ64bit、空データ18bit、セグメントデータ14bit



・VFDの駆動方法
VFDを駆動させるためには周辺回路と信号のパターンを知る必要があります。

まずは、周辺回路を設計します。
VFDを駆動するために、
①電源回路
②グリッド、アノードコントロール回路
の2つの回路が必要になります。

①の電源回路では、VFDのフィラメント用電源とアノード電源を用意します。

②のコントロール回路では、セグメント選択やドットパターンのON/OFFを制御する回路を用意します。

今回駆動させるVFDには②のコントロール回路が内蔵されているため、用意する必要がありません。

ですので、①の電源回路のみを用意します。
フィラメント用の電源には数Vの電圧を用意します。アノード電源には数十Vの直流を用意します。
DC/DCコンバータを作ってもいいのですが、せっかくなので、カーステに使われていたVFD電源モジュールTOKO CPS6270Aを再利用します。




こちらがVFD電源モジュールです。ピンが6本モジュールから出ています。基板のパターンを追ってピンの用途を調べました。

①フィラメント電源1出力
②フィラメントバイアス
③フィラメント電源1出力
④GND
⑤12V入力
⑥38V出力



フィラメントバイアスには5.1Vのツェナーダイオードを用いて定電圧を用意します。
このフィラメントバイアスがなぜ必要なのかはノリタケ伊勢さんのページ
https://www.noritake-itron.jp/cs/appnote/apf100_vfd/apf201_ek.html
で詳しく説明されているので参照してください。

あとはVFDとVFD電源モジュール、制御用マイコンを繋げます。
今回は、マイコンにarduinoを使いました。特に複雑な制御はしていないのでATmega328pでもVFDに描画させることができます。

次にドットマトリクス部分に描画するための信号のタイムチャートを示します。





このVFDは少し特殊なセグメント配置になっています。コントローラーICが2つあるため、セグメント(グリッド)のON/OFFもそれぞれ2つのコントローラーICに割り当てられています。左から1~14番目と15~28番目に分かれています。



同様にドットマトリクスも2つのコントローラーで分けられています。
一つのセグメントには横4 x 縦16= 64個ドットあります。


基本的な描画方法は1つセグメントを指定して64ドットずつ描画します。20セグメントを高速に1セグメントずつ順番に描画すると目の残像ですべてのセグメントが点灯しているように見えます。(ダイナミック点灯)

このVFDは駆動コントローラーが2つ直列に内蔵されているため、2セグメント分同時描画できます。ですが、この方法は問題があります。実はドットマトリクス部分とグリッドが若干ずれているため、隣の縦一列が誤点灯してしまいます。(製造時のミスどうかはわかりません。)
分解前のカーステでは正常に描画出来ていました。描画方法を工夫することで誤点灯を防いでいるようです。

正常に描画するために、1セグメントずつ描画します。




・描画テスト&サンプルプログラム
このVFDのピンは2mmピッチなので、使いやすいようにVFDと2.54mmピンソケットを基板にはんだ付けします。



回路図です。電源は12Vと5Vを使用します。先に5Vから電源を入れた後に、VFDフィラメント用電源の12Vを入れてください。先に12Vを通電させるとダイナミック点灯されずVFDの一部分の蛍光体が焼けます。




arduinoを使ってVFDのドットマトリクス部に文字などを描画してみます。
文字は7x5ドットのキャラクタを使うと上下できれいに2色に別れます。
図形なども描画することができます。
サンプルプログラムを変更してドットマトリクス部分以外の発光箇所も点灯することができます。
プログラムはこちら


こんな感じに描画できます。上下で2色に分かれているので文字描画向けです。
動画では明るさ制限のため、フィラメント電源に18Ωの抵抗を直列に入れてあります。



















電子機器の分解一覧

























おわり