LD8113 VFD(蛍光表示管)で増幅できるかやってみた

2016-08-15 20.42.31

KORG の 6P1 (Nutube) がぼちぼち流通しはじめて、一部の方は現物を入手されたりしている模様。なのですが、積極的にお出かけしないと入手できない状況なので私はまだ持っていません。この真空管は蛍光表示管と同じような構造をしています。

あれが増幅するんやったら家にある蛍光表示管でも増幅するんじゃね?的考えで LD8113 と IV-27 をひっぱりだしてきました。今回の実験は LD8113 さんに犠牲になってもらうことにしました。

2016-08-28 09.41.03

ブレッドボードに適当に組んだ回路に 100mV 入れて出力電圧を測定。アノード側で使用した電極(セグメント)は 8 の字として、真ん中の縦棒とドットは使用しないこととしました。

LD8113_50

トライ & トライで、300mV 程度取れました。

LD8113_51

裸特性もついでに撮っておきました。一応増幅していることは確認できました。バッファ付けてヘッドホン鳴らしてみたいですね。

LD8113 蛍光表示管の基板動作確認

2日に基板届きまして、部品実装と動作確認を行なっていました。

動作確認で判明した問題点は、LD8113 用のアノード、グリッド用の電圧を作る DC/DC の出力に平滑用のコンデンサ入れ忘れたことです。過去記事でブレッドボードに組んであれこれいじっていたときには付けていたのですが、回路図に起すときにモレました。ブレッドボードに物を落下させて LD8113 割ったあとに回路図書いてます。

頒布品の説明ページでは、この修正についてもお願いという形で記述です。

2013-05-03 17.39.06

LD8113 のヒーターは管あたり約 100mA 弱も食うのでヒーター用電源回路の温度は測ります。MC34063A の温度で一番高かったのは 4番ピンあたりでした。40℃手前で落ち着いているようです。基板裏はベタアースにしていますが、MC34063A のピン2本はサーマルランド経由でベタアースに接続されているので、抵抗は大きいですが多少は放熱に役立っているのかなと思います。

LD8113 蛍光表示管の基板が届きました。

2013-05-02 12.58.34

と、言いましても最初のテストなので枚数は最小限で注文しています。基板手前に「G」のようなものがありますが木材のふしなので気にしないで下さい。

2013-05-02 15.51.16

基板の大きさは 150mm x 50mm です

2013-05-02 15.48.43

で、ブレッドボードで試作していたときのプログラムを Arduino UNO に書き込みしまして表示のテスト。動いたので OK ですね。

カソード(ヒーター)は 1V ~ 1.2V あたりを目安に設定。アノード、グリッドは半固定抵抗の調整で 30V ~ 36V くらいの調整範囲になります。頒布品として準備させていただきます。

久しぶりにデジット行きましたが、 LD8113 の箱が無くなっていた

ゴールデンウィークなのに旅行にも行かず。行くのはポンバシばかりなり。

まぁ、お安い戦車プラモなどもついでにということで、キッズランドとボークス立ち寄りますも最近の戦車プラモも 5,000 円くらいするのが多い。店頭でむむ~と唸りながらも購入に至らず。ということで、いつもの電子部品屋さんへ定期巡回と。なんの書籍かはわかりませんが電子工作の記事を出しながら部品集めされている学生さんグループなど。結構混んでましたね。お会計はバラバラのタイミングで頼みますよと。

デジットさんでは、 LD8113 の箱が無くなってましたね。これで打ち切りなのか、たまたまかは確認していません。以前からずっと販売されている VFD 表示ユニットなどにおきかっわてました。

LD8113 蛍光表示管のキットはテストで基板 10 枚だけ準備中なのですが、オーダー入るようであれば追加も検討かなぁ。デジットさんところで放出された球数が少ないのでほどほどにしとかないとね。Max 50枚想定かなぁ

ノリタケ伊勢電子のVFDモジュールに PowerShell からビットマップファイルを表示してみたテスト

function initializeVfd
{
    $a = [byte]0x1b, [byte]0x40
    $serialPort.write($a, 0 ,$a.Length)
}

function clearVfd
{
    $serialPort.write( [char]0x0c )
}

function displayCursorVfd
{
    $a = [byte]0x1f, [byte]0x43, [byte]1
    $serialPort.write($a,0,$a.Length)
}

function moveCursorVfd([int]$x, [int]$y)
{
    $a = [byte]0x1f, [byte]0x24, [byte]5, [byte]0, [byte]1, [byte]0
    $serialPort.write($a,0,$a.Length)

}

function drawBitmapVfd
{
    $a = [byte]0x1f, [byte]0x28, [byte]0x66, [byte]0x11, [byte]128, [byte]0, [byte]8, [byte]0, [byte]1
    $a.Length
    $serialPort.Write($a, 0, $a.Length)
    $serialPort.write($vfdimg, 0, $vfdimg.Length)
}

$serialPort = New-Object System.IO.Ports.SerialPort "COM1", 38400
$serialPort.Open()
initializeVfd
clearVfd
displayCursorVfd
#moveCursorVfd
$img = [System.Drawing.Image]::FromFile("D:\mkusunoki\Documents\i-tron128X64.bmp")
$vfdimg = New-Object byte[] ($img.Width * $img.Height / 8)
for($i = 0; $i -lt $img.Width; $i++)
{
    for($j = 0; $j -lt ($img.Height / 8); $j++)
    {
        $bb = 0
        if($img.GetPixel($i, $j * 8).G -gt 127)
        {
            $bb = 1
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 1).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 2).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 3).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 4).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 5).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 6).G -gt 127)
        {
            $bb++
        }
        $bb += $bb
        if($img.GetPixel($i, $j * 8 + 7).G -gt 127)
        {
            $bb++
        }
        $vfdimg[$i * ($img.Height / 8) + $j] = $bb
    }
}
drawBitmapVfd
# $serialPort.Write("HHHHH")
$serialPort.Close()
$serialPort.Dispose()

ということで、128×64ドットのディスプレイになんか表示しましょうということです。とりあえず、付属のCDROM に入っていたサンプルに i-tron128X64.bmp というビットマップファイルがあったのでこれを表示させてみることにしました。

今回は Windows の PowerShell というやつを使いまして、ビットマップファイルをロードして、シリアルポートに投げるというものです。まだ試行錯誤中のアプリケーションノートからロジック丸パクしたソースは以下に掲載します。あとは、ビットマップオジェクトをいじれば漢字だろうが何だろうが描画出来るので少しだけ前に進んだかな?

ノリタケ伊勢電子のVFDモジュールが出てきたので何かに使えないかなぁ

何年も前に買って、ジャンクボックス入りしていたものです。経緯は覚えてませんが何故か2個あります。ひとつは 128×32 ドットのパネルでもうひとつは 128×64 ドットです。

で、壊れてないか動作確認ですが、壊れていないようです。かつ小さいほうは漢字フォントが搭載されてたのでこれは何かに使えそうです。

んで、もうひととつの大きいほうは残念ながら漢字フォントが搭載されていない機種だったので文字化けします。表示エリアが広いのでいろいろ使い出はありそうですが、手頃なアプリケーションが思いつきません。

どちらも、シリアルポートにコマンド流せば表示出来るので、どっちかというとプログラミングを楽しむためのオモチャというところでしょうか。

小さいほうなら漢字表示出来るので、webからhttpのテキスト拾ってきて、それをたれ流しするスクリプト実行しとくとか、大きいほうはどうでしょうか、バーグラフかなぁ、.net framework で各CPUの使用率とか拾えたっけ?なら Windows power shell さわったことないのでこれを機会にちょこっと組んでみたいです。