ヘッドホンアンプ基板が出来たので早速試作

K-0004-01

とりあえず、部品載せてみた感じはこんなんです。とにかく基板は広いし、部品付け直しも楽です。スカスカ基板ですな。

初段と終段はトランジスタ差し替え可能にするためソケット対応。手持ちのトランジスタあまり無いけど数パターンは実験できます。とりあえず Wavespectra で 全て 2SC1815GR/2SA1015GR で構成したときと、初段 2SA970, 終段 2SC2655/2SA1020 の組み合わせのときを測定してみました。

THDN All 2SC1815GR/2SC1015GR 初段 2SA970
終段 2SC2655Y/2SC1020Y
100Hz 0.07169 0.09347
1kHz 0.06978 0.09519
10kHz 0.07772 0.09785

どちらも歪み率に差は無いという感じ。特にジュールシーフ(ブロッキング発振)で 1.5V の電池で LED 点灯させようというネタ用トランジスタ 2SC2655 も家にある ATH-A700 という安いドンシャリヘッドホンを素直な感じに鳴らしてくれたのが驚きです。またゼンハイザー HD-25もインピーダンス高めなのですがいいかんじです。

2SC1815/2SA1015 の組合せは、シャキっとしてて通りはいい音ですね。2SC2655/2SA970の艶のある感じとはまた違います。今のところ2SC1815/2SA1015が個人的に好きな音が出ているので基板に 2SC1815/2SA1015 3パラ載せて使用しています。

音質の表現については申し分けありませんが無理です。本人の語彙の足りなさもありますが、感覚によるところの判断なので十人十色なのです。

基板だけ先行して頒布開始の手続したいと思います。機会ありましたらよろしくお願いします。試作時の回路は以下のとおりです。

HA2_SAMPLE1

IN-12B ニキシー管のアノード側回路を考えてみる

IN-12_controlCircuit

5月に一度描いたニキシー管のドライブ側回路図。回路図中央付近の TLP627 のフォトカプラ、日本橋の共立さんで1回路のやつが 105円でありますが 4回路の入りのが通販で出てません。他の通販サイトでも地味にお高い状況だったりしてます。ということでトランジスタに置き換えするかと。

IN-12_Anode01

とりあえず、NPN, PNP のトランジスタを組合せてスイッチを組んでみます。Q1 のベース電圧を上げて行って、Q2 が ON になることを確認です。理想トランジスタでのシミュレーションですが、 Q1 のベース電圧が 0.6V あたりで赤色の線(47kΩの電圧)が 0V から 180V に上がっているので大丈夫でしょう。47kは適当に決めたニキシー管の電流制限抵抗で、180V / 47k = 3.8mA 程度というやつですが、ダイナミック点灯の関係でここらへんはトライ&トライで値が来まっていくものと思います。

ただし、この回路のままだと PNP の エミッタ – ベース電圧が高電圧になるので現実問題としては壊れそうです。

IN-12_Anode02

PNP のエミッタ – ベースの間に 10k 程度の抵抗入れてみます。470k / (470k + 10k) * 180V = 176.25V。 180V から引くと3.75V なので PNP の ON 出来そうです。

Q1, Q2 のトランジスタのコレクタ – エミッタ間はニキシー管ドライブ用の高電圧がかかりますのでトランジスタの型番は選ぶ必要がありますが、定番の MPSA42, MPSA92 の組合せでいこうかと思っています。MPSA42 は一袋あるけど、MPSA92 だけ無いと、これだけ通販するのもなんだかなぁ。

IN-12B ニキシー管のカソード側回路を考えてみる

IN12B-Test01

一応ちょっと確認しとこというやつです。上の回路は、2SC1815 とツェナーの組合せで点灯試験。下は TD62003(TD62083) のシンクドライバにツェナー付けての点灯試験。

2013-07-12 16.50.57

2SC1815 で点灯させた状態。問題ありません。

2013-07-12 17.07.48

TD62003 で点灯させてみた状態。いけます。

74141 の回路と同じと言えばそうなのですが 2SC1815 も TD62003(TD62083) も耐圧はどちらも 50V なので、74141と比較するとちょと低いですが。ニキシー管消灯時のツェナーにかかってる電圧はどちらの方式でも約13Vでした。この約 13V は、全部のセグメント消えてる場合で、隣接するセグメントが光ってる場合とかで電圧はバラバラになります。ちなみに K155ID1 の 数字 0 のセグメント出力端子(16ピン)にテスタあてて他のセグメント点灯させたときの端子にかかった電圧は下記のとおり。

  • 0 1.1V
  • 1 36.8V
  • 2 65.6V
  • 3 42.5V
  • 4 88.1V
  • 5 88.5V
  • 6 56.8V
  • 7 75.9V
  • 8 64.5V
  • 9 81.4V

LD8113 蛍光管キットを作ってるときに HV5812 というドライバの存在を知ったのですが、これが 20ビットのシフトレジスタ + ラッチ + 高電圧ドライバが 1 パッケージになっている便利な石なのですが今のところ MOUSER でオーダー出来そうというところまでしか確認出来てません。この時は買わずに 74HC595 のシフトレジスタ + TD62783 の組合せで LD8113 蛍光管のドライバ組んだ経緯がありました。実は 20ビットあるのは非常に魅力的でして、ニシキー管のカソード 0~9 の 10本分を 2個同時にドライブ出来るということなのです。

最終的には 74141(K155ID1) の在庫があるので、 74141(K155ID1) を使用した回路から設計を始めますが、上記 HV5812 を使用する案や Microchip MCP23017(MCP23S17) などの I/O エキスパンダや 74HC595 のシフトレジスタとシンクドライバの組合せでカソード制御する案もありかなというところ。8桁のダイナミック点灯でいきづまったときに 2個同時制御するなどの「そんなこともあろうかと」という予備案のネタ出しでした。

IN-12b ニキシー管使用 8桁表示キット(時計機能付き)

K-0005

ロシア製ニシキー管 IN-12b を使用した 8 桁表示キットを頒布させていただきます。管の入手が出来る限り続けていきたいです。

  • ロシア製 IN-12b ニキシー管を使用した 8桁表示キット
  • シリアルポートから受け取ったユーザーデータを表示します
  • ユーザーデータ表示後、一定時間放置すると時計表示に戻ります。



ソースコードとコンパイル済み .elf, .hex, .epp ファイルは github.com/ngc6589/IN-12bNixieClock に置いてます。


当キット以外に USB-シリアル変換のモジュールを別途ご用意下さい。

時刻設定など、表示ユニットの設定は全てシリアルポートからコマンドを送って行います。このためシリアル通信出来ることが必須条件となります。

当キットのシリアルインタフェースは、9600bps / 8bit / パリティ無し の設定で信号レベルは TTL(5V) です。DTR/RXD/TXD/VCC/CTS/GND のピン配置ですが TXD/RXD/GND のみ使用していますが表示ユニットが 5V 動作のため、USB-シリアル変換も 5V 動作のモジュールが必要です。
当キットの基板(6ピンヘッダ)に接続出来る USB シリアル変換モジュールで代表的なものは下記のものです。
2013-10-25 10.06.46
SparkFun FTDI Basic Breakout – 5V(実績あり)
http://www.switch-science.com/catalog/342/
スイッチサイエンス以外にも取扱店は多い
赤フグ FTDIアダプター(実績あり)
https://store.akafugu.jp/products/9
共立電子産業 シリコンハウスハウス取扱いあり
ストロベリー・リナックス USB-TTLシリアルコンバータ(5V)(実績あり)
http://strawberry-linux.com/catalog/items?code=50040

それ以外の USB-シリアル変換モジュールや、Arduino など他のマイコンからも使用いただけます。この場合は TXD/RXD/GND の配線をお願いします。3.3V 動作のマイコンと接続する場合はレベル変換必要です。

秋月電子通商 FT232RL USBシリアル変換モジュールキット(実績あり)
http://akizukidenshi.com/catalog/g/gK-06693/

とりあえずアンプ作ってみたい方向け、 2SA1015, 2SC1815 で作れるヘッドホンアンプ基板

K-0004

IC アンプはフットプリントなど小さく出来ますが、組んでしまえばそれまでです。カスタマイズ出来る素材として小出力のディスクリートアンプ基板を企画しました。今のところアンプの回路部分のみ基板化し、頒布する範囲も基板だけにさせていただきます。

  • とりあえず作ってみたいと思われた方向けに小出力ヘッドホンアンプ基板を提供させていただくものです
  • OPAMP, 専用IC など使用しないディスクリートアンプキットです
  • トランジスタを違うものに交換してカスタマイズも可能です(差し替えだけでいける場合もありますが、チェックは必要です)
  • 定番の回路を使用していますので、設計の基礎が学べます
  • 標準構成の場合必要なトランジスタ数は片チャネル5個と少ないです。
  • 回路の定数は 9V で計算していますが、9V~12V は問題ありません。6V はまだ確認してませんが概ね動くもの思います。
  • 基本回路と、それをもとにした説明は下記リンクの pdf ファイルを参照下さい。下記 PDF 資料から抜粋したまとめは ヘッドホンアンプ基板のまとめページです
  • 関連する記事は当ブログの右上のほうにある検索ボックスに「ヘッドホンアンプ」と入れていただきますと表示出来ます。設計中の記事中に Wavespectra で測定中の画面コピーなども掲載させていただいてます。



頒布品の一覧へ戻る

Welcart の商品ページに在庫数表示

Welcart の商品ページには在庫状態という欄がありまして、在庫有り・無しは表示されるのですが、数量は表示されません。Wordpress のテンプレートに Welcart のデフォルトテーマ使ってる場合は WordPress のテーマ管理からテンプレートのphpファイル修正すれば出来るようですが、私の所では未だに Twenty Ten を使っていまして、そこにショップングカートを載せています。なので、プラグインの中を直接いじります。

サポートページなど見てますと、single_item.php を修正すれば出来るとありましたのでコードを修正し表示テストして OK となりました。プラグインの更新がかかると上書きされて消えると思われるので diff 貼っておく次第。

*** single_item.php.orig	2013-07-11 11:38:32.008441000 +0900
--- single_item.php	2013-07-11 11:38:43.734111600 +0900
*************** if(usces_sku_num() === 1) { //1SKU
*** 28,34 ****
  	$html .= '<div class="field_name">' . apply_filters('usces_filter_sellingprice_label', $usces_sellingprice, __('selling price', 'usces'), usces_guid_tax('return')) . '</div>'."\n";
  	$html .= '<div class="field_price">' . usces_the_itemPriceCr('return') . '</div>'."\n";
  	$html .= '</div>'."\n";
! 	$singlestock = '<div class="field">' . __('stock status', 'usces') . ' : ' . esc_html(usces_get_itemZaiko( 'name' )) . '</div>'."\n";
  	$html .= apply_filters('single_item_stock_field', $singlestock);
  	$item_custom = usces_get_item_custom( $post->ID, 'list', 'return' );
  	if($item_custom){
--- 28,34 ----
  	$html .= '<div class="field_name">' . apply_filters('usces_filter_sellingprice_label', $usces_sellingprice, __('selling price', 'usces'), usces_guid_tax('return')) . '</div>'."\n";
  	$html .= '<div class="field_price">' . usces_the_itemPriceCr('return') . '</div>'."\n";
  	$html .= '</div>'."\n";
! 	$singlestock = '<div class="field">' . __('stock status', 'usces') . ' : ' . esc_html(usces_get_itemZaiko( 'name' )) . ' 在庫数 ' . usces_the_itemZaikoNum('return') . '</div>'."\n";
  	$html .= apply_filters('single_item_stock_field', $singlestock);
  	$item_custom = usces_get_item_custom( $post->ID, 'list', 'return' );
  	if($item_custom){
*************** if(usces_sku_num() === 1) { //1SKU
*** 50,56 ****
  		$html .= "</table>\n";
  	}
  	if( !usces_have_zaiko() ){
! 		$html .= '<div class="zaiko_status">' . apply_filters('usces_filters_single_sku_zaiko_message', esc_html(usces_get_itemZaiko( 'name' ))) . '</div>'."\n";
  	}else{
  		$html .= '<div style="margin-top:10px">'.__('Quantity', 'usces').usces_the_itemQuant('return') . esc_html(usces_the_itemSkuUnit('return')) . usces_the_itemSkuButton(__('Add to Shopping Cart', 'usces'), 0, 'return') . '</div>'."\n";
  		$html .= '<div class="error_message">' . usces_singleitem_error_message($post->ID, usces_the_itemSku('return'), 'return') . '</div>'."\n";
--- 50,56 ----
  		$html .= "</table>\n";
  	}
  	if( !usces_have_zaiko() ){
! 		$html .= '<div class="zaiko_status">' . apply_filters('usces_filters_single_sku_zaiko_message', esc_html(usces_get_itemZaiko( 'name' ))) . ' 在庫数 ' . usces_the_itemZaikoNum('return') . '</div>'."\n";
  	}else{
  		$html .= '<div style="margin-top:10px">'.__('Quantity', 'usces').usces_the_itemQuant('return') . esc_html(usces_the_itemSkuUnit('return')) . usces_the_itemSkuButton(__('Add to Shopping Cart', 'usces'), 0, 'return') . '</div>'."\n";
  		$html .= '<div class="error_message">' . usces_singleitem_error_message($post->ID, usces_the_itemSku('return'), 'return') . '</div>'."\n";
*************** if(usces_sku_num() === 1) { //1SKU
*** 117,127 ****
  		$html .= '<span class="price">' . usces_the_itemPriceCr('return') . '</span><br />' . usces_the_itemGpExp('return') . '</td>'."\n";
  		$html .= '</tr>'."\n";
  		$html .= '<tr>'."\n";
! 		$html .= '<td class="zaiko">' . usces_get_itemZaiko( 'name' ) . '</td>'."\n";
  		$html .= '<td class="quant">' . usces_the_itemQuant('return') . '</td>'."\n";
  		$html .= '<td class="unit">' . usces_the_itemSkuUnit('return') . '</td>'."\n";
  		if( !usces_have_zaiko() ){
! 			$html .= '<td class="button">' . apply_filters('usces_filters_single_sku_zaiko_message', esc_html(usces_get_itemZaiko( 'name' ))) . '</td>'."\n";
  		}else{
  			$html .= '<td class="button">' . usces_the_itemSkuButton(__('Add to Shopping Cart', 'usces'), 0, 'return') . '</td>'."\n";
  		}
--- 117,127 ----
  		$html .= '<span class="price">' . usces_the_itemPriceCr('return') . '</span><br />' . usces_the_itemGpExp('return') . '</td>'."\n";
  		$html .= '</tr>'."\n";
  		$html .= '<tr>'."\n";
! 		$html .= '<td class="zaiko">' . usces_get_itemZaiko( 'name' ) . ' 在庫数 ' . usces_the_itemZaikoNum('return') . '</td>'."\n";
  		$html .= '<td class="quant">' . usces_the_itemQuant('return') . '</td>'."\n";
  		$html .= '<td class="unit">' . usces_the_itemSkuUnit('return') . '</td>'."\n";
  		if( !usces_have_zaiko() ){
! 			$html .= '<td class="button">' . apply_filters('usces_filters_single_sku_zaiko_message', esc_html(usces_get_itemZaiko( 'name' ))) . ' 在庫数 ' . usces_the_itemZaikoNum('return') . '</td>'."\n";
  		}else{
  			$html .= '<td class="button">' . usces_the_itemSkuButton(__('Add to Shopping Cart', 'usces'), 0, 'return') . '</td>'."\n";
  		}

ニキシー管用ドライバ IC KM155ID1 (SN74141互換)

KM155ID1

КM155ИД1(KM155ID1) を少しですけれど頒布させていただきます。この IC は SN74141N 互換 К155ИД1(K155ID1) のプラスチックパッケージじゃなくてセラミックパッケージになっております。一般民生用途のものに比べて動作保証温度範囲が広いなどインダストリアル仕様なものになっています。


KM155ID1 データシート(ロシア語)
SN74141N データシート


頒布品の一覧へ戻る

IN-12B ニキシー管と、74141互換ICK155ID1のテスターを作成

2013-07-10 17.11.19

КM155ИД1(KM155ID1) を少しですけれど頒布出来そうなので準備中なのです。この IC は 74141 互換 К155ИД1(K155ID1) のプラスチックパッケージじゃなくてセラミックパッケージになっております。一般民生用途のものに比べて動作保証温度範囲が広いなどインダストリアル仕様なものになっています。上の写真でいうと手前が一般的な K155ID1 で奥が KM155ID1 です。

2013-07-10 18.08.05

これらの部品にかぎらずニシキー管も製造されてからの年数の経過は年ではなく10年単位になります。従いまして、IC の不良や、ニキシー管の不良品を送付してしまうことは後々面倒なので事前チェックのためのテスターを作成しました。左はニキシー管はじめたときに買ったキットの DC/DC です。これのテストを行なうときは 150V にしてテストをします。ちなみに IN-9 のネオン管の出荷前確認にもこの電源を流用していまして、そのときは 120V にあわせてます。

テストは基板上のゼロプレッシャーソケットに IC を差して、右上のニキシー管ソケットに IN-12B ニキシー管差して、電源投入。基板左下のスイッチをドライバで回すと 0 ~ 9 まで表示されるのと、タクトスイッチ押すとカンマ点灯しますので、確認出来たら IC もニキシー管も大丈夫という次第

IN-12B ニシキー管8桁表示ユニット、ニキシー管マウント基板のアートワーク終り

IN-12_DisplayPanel_201307101044001

前回の記事で大雑把な形を決めたあと、

  • キニシー管同士の間隔を 2mm から 1.5mm に狭めた。
  • コネクタの場所を基板の端に移動。ネジ穴はニキシー管の両サイドへ移動
  • ニキシー管のシルク印刷から外側部分を削除して、1番ピンを示す矢印を付けた。
  • ニキシー管のドリルサイズを 1.2mm にしハンダ付けのランドの大きさを 2mm にした。多分取り付けは大丈夫なはず。

      などの修正をしましてガーバー出力しまして発注しました。制御基板に着手せんといけませんね。

IN-12B ニシキー管8桁表示ユニット、ニキシー管マウント基板のアートワーク1回目終り

IN-12_DisplayPanel_201307091730001

ロシア製ニシキー管 IN-12B を使用した 8桁表示ユニットのニキシー管を載せる基板のアートワークがほぼ終りました。基板の大きさは横200mm高さ40mmで、20ピンのコネクタ1個で接続するようにしました。内訳は、ニキシー管のアノード8本分と、0~9のセグメントとカンマで11本、合計19本です。

2013-07-09 17.27.16

KiCad で作ったパターンを紙に印刷し、そこにニキシー管を数本刺してみます。ニシキー管の形状ライブラリなんてありませんから新規作製しているわけですが、ピンの位置などがズレてるとえらい目にあいます故大丈夫かどうか確認は必須であります。

2013-07-09 17.28.06

確認の結果大丈夫と思います。ニシキー管の間隔を1mmづつ詰めた修正をしてから基板の発注したいと思います。