アロエの花でタグ「電子工作」が付けられているもの

ちょっとしたアイデアというかメモ

 FusionPCBでヘッドフォンアンプの基板を作ろうかどうか悩んでいて、基本は前に作ったヘッドフォンアンプの回路を流用する気だけど、なるべくシンプルな構造にしたいので前面のスイッチを無くして、プラグを挿入すると電源が入る仕組みにしたいと思った。

 いろいろ調べてみたのだけど巷で売っている二個スイッチ付きの3.5mmのオーディオジャックの回路ってのはほとんど下記のようになっていた


2sw_with_2ch.png

 これを前記のような使途に使う場合の問題点はスイッチの入力がアンプの入力部分に来てしまうことだ。これだと挿入を検知してリレーを作動させるようなような回路に使うのは、相当の工夫が必要だと思われる。多分これは下記のように接続して出力をスピーカーと切り替えるような使い方が正しいのだろうと思う。

2sw_with_2ch_imagine.png
 市販のスイッチ付きジャックがほとんどこのような用途向けなのでどうしたものかとかなり悩んだ。その結果ボリューム付きヘッドフォンなどで使われるリングがひとつ多い4接点のプラグ用のジャックを使えばうまくいくのではないかと考えた。下記のように結線する。

mult_jack_sw_exsample.png
 上の図で抵抗が接続されている部分が追加の端子で、普通この接点はリモコンやボリュームなどのアプリケーションに使われるが、普通の三接点のヘッドフォンのプラグを挿すとこの部分はGNDに落ちることを利用している。多分これで行けると思うが、まだ実際に回路を組んで検証したわけではないのであしからず。
RIMG0075.JPG

今作ってる物。製作中の物を晒すのもアレかなあとも思うのだけど、とりあえ動くものができたので中間報告。

 発端はfoobar2000のChannel Spectrum Panel (こんなん↓)
 をFPGAと秋月300円液晶を使って再現できないかなって思ったこと。まあ一番は学習目的っなんだけども。秋月液晶知らない人はここでも見てください。数年前にニコニコとかでも動画がうpされたりしたけど、今じゃ正直もう大分旬が過ぎた感は否めない・・・のだけど、当時の僕はこの横長のディスプレイを見てピコーン!となったわけです。

基板表
RIMG0085.JPG
基板裏
RIMG0082.JPG

 こうしてみるとゴミみたいなんだけど、HDLなんか全く知らない状態から始めたので作るのに一年以上かかってるという。LatticeXP2基板にはロジックアナライザに繋ぎやすいように、上下両方にピンヘッダを装着してある。一部ピンヘッダが刺してない所は特に意味があるわけじゃなく手持ちのピンヘッダが無くなっただけという。あと写真に写ってないけどこれの他にDAI(CS8416)基板がある。

構成:
 液晶:秋月液晶LTA042B010F
 FPGA:デジタルデザイン誌付録 LatticeXP2 CQ-FRK-LXP2
 SRAM:CY7C1041DV33
 DAI:CS8416


 処理の流れとしてはSPDIFから送られてきたデータをまずDAIで受けて右詰フォーマットにしてFPGAに送る。それから2048点でFFTしてからスペクトル化、バッファに書き込み。その後SRAMのデータを読み込んでドットクロック4MHzで秋月液晶に出力してる。VRAMには秋月で売られてる高速SRAM CY7C1041DV33を使用。これでダブルバッファ(左右合わせて四画面分)を作って出力している。FPGAの動作クロックは64MHzと超余裕なんだけどそんなんでも60FPSが簡単に達成できている。
 これからの予定は今のところ横軸(周波数方向)がギターの指板のように純粋に対数的になってるのでこれを人間の聴覚に合わせて低域と高域の領域を狭めて、3000Hzあたりの人間の聴覚が過敏なあたりの周波数の領域を広げたい。(ラウドネス補正)
 今2048点でやってるFFTのポイント数を二倍にしたい。秋月液晶の解像度は400x96と大した事無いんだけど2048点でもまだまだ低域の解像度が不足する感じ。2048点でFFTしても出力結果の半分はナ イキスト周波数以上のノイズであるから捨てなきゃいけない。実際に有効な結果はその半分の1024個で、出力結果の周波数は20Hz、40Hz、 60Hz、80Hz・・・と等差数列なので、対数的な人間の聴覚に合わせて横軸を割り振っていくと、低域の解像度が全然足りない。だけど高域は逆に余りま くってくるので表示されないスペクトルは間引きする。
 FFTポイント数を二倍に上げると基底周波数1/2になると、出力周波数の差も半分になって10Hz、20Hz、30Hz、40Hz・・・となる。なのでポイント数を上げると低域の解像度が少しはマシになるという原理。
 ポイント数を上げるのは速度的には問題無いのだけどリソース的に厳しい。今現在9個あるLatticeXP2の組み込みRAMのEBRRAM(18bit*1024)はFFTのIPコアだけで5/9食っている。あとDAIから送られてきたデータを保存するのに2048*16*2(LRch)で4/9食って空きが無い。その状態でさらにポイント数を倍にするとFFTのIPコアに使うメモリは9/9で、全部それだけでEBRRAMを食ってしまう。なのでDAIから送られてきたデータを組み込みRAMでなくSRAMのブランク領域に書き込まなければならないのだけど、SRAMにアクセスするmoduleが増えると制御が凄くめんどくさいことになりそうだ・・・

後やりたい事箇条書き。

・高さに応じたスペクトルの色付け→大きいスペクトルほど明るい色にしたり
・ピーク表示
・なるべくかっこいいケースにに組み込む
・ADCをつけてマイク入力、Line入力に対応 

動作中の様子
音が出るので注意




***


蛇足だけど、最近はATX電源を再利用して実験用電源として使っている
リセット回路考察

 先日作ったDACなのだが、AK4112Bを使ったDACを作った時のようにまた電源ON時にリセットが失敗して信号が出力されないことがあった。今回もリセット端子にRーCディレイで一応100msほど遅延をかけて対策を取ったつもりだったのだが、どうもCS8416のリセットはもっとナイーブな様子。
 Webで公開されているほかの人のCS8416を使った回路を見ると、リセットICを使ってリセットをかけているものがあったが、たかがリセットかけるのにIC使うのもどうかと思うし、ディスクリートで簡単に組める気がしたので、以下のようなリセット回路をDACに追加してみた。
 
 
schematic.png

R-Cで作ったディレイ回路ではなく電源のしきい値電圧でリセットをする。

 
Voltage.png
LTSpiceでの解析結果
 
 
 電源電圧が徐々に上昇していき4.5V付近でトランジスタがONしてリセットがかかっているのがわかると思う。この回路を追加してからは電源ONリセットで起動が失敗することは無くなった。

uPD6376 + AK4112B DAC

ak4112Bdac1.jpg
 手持ちのICが余ってるのでまたDACを作った。チップ間の配線はポリウレタン線を使用。電源レギュレータは面実装の物を使った。TO-220の物と比べて高さがかなり減るので良い。
 
 最近は回路を組んでもわりと作ってから一発で動くことが多かったのだがAK4112Bには少し苦戦した。電源を投入してもBCKピンからクロックが出力されなかった。原因は起動直後の電源が不安定な時期に立ち上がってしまい、電源が安定してからもERRORフラグが立った状態だとPLLがONしないのでクロックが出ない。
Reset.png
 
 要するに電源が安定するまでRESETピンをLOWに固定しておけば電源が不安定な時期に起動してエラーになるようなこともないのでこのようにして起動から数m秒後立ち上がるようにしたら無事BCKからクロックが出るようになった。
 
 
ak4112bdac_case.jpg
 
LEDはERRORフラグが出ていないときに光るようにした。

PD0052

RIMG0300.JPG
 秋月で買ってから一度試して動かなかったので放置してあったDAI ICのPD0052が動いた。どうやらPLLの回路部分を適当に組んでいたのがいけなかったらしい。

 ネットを調べたらにPD0052についての情報もほとんど無いしまだ秋月では売ってるようなので気になってしまった人用に紹介。というかネット通販のページもやる気無さすぎ・・・売る気ゼロだろ。
 
PD0052の特徴
 
PD0052_akizuki_manual.jpg

買ったときについてくるデータシート的な紙

 
・秋月での販売価格は400円
・パッケージはシュリンクDIP(最悪)
・サンプリングレートは32、41.1、48KHzまで対応
・16ビット、20ビットに対応
 
 まあ昔のICなのだからだろうがしょぼいスペックだ。しかも入力も同軸入力をそのまま入力しても、そんな低振幅の信号では入力レベルを満足しないので、ロジックIC等を使ってTTLレベルまで増幅して入力してやらなければならない。しかもシュリンクDIPというパッケージが厄介で、これはDIPをちょっと小さくしたようなパッケージなのだけど、DIPとはピッチが違うので当然万能基板にはそのまま使えない。変換基板なんかももちろん売ってないようなマイナーなパッケージなので最初の写真のように足を広げて使う等工夫しなければいけない。
 
  ***
 
 一応48KHzまで対応なのでDVDとかまでは対応できるので、PC用とかにはいいかもしれないが、それでもシュリンクDIPが厄介すぎるし、外付け部品も多くて面倒なので、結局少し高い金出しても普通にCS8416とか買ったほうがいい。

シンプルなアンプを作る
RIMG0296.JPG

 ディスクリートでアンプを組んだ。前の共立のキットのデジタルアンプの音質にも不満は無かったのだけれど、スピーカーと出力段の間にコンデンサが挟まってるのが気に障ってしょうがなかったので、新たにアンプを組むことにした。

linear amp2.png
回路図

 出力は6W+6W=12W(6Ωのスピーカの時)ぐらい。マンション住まいにとって20W以上のアンプは不要。
 増幅段はOPAMPを使わずにシンプルなエミッタ接地回路にした。出力は反転するのでスピーカーの+にはGNDを接続する必要がある。作動増幅回路等も検討したが、歪率よりノイズを優先でトランジスタ数を減らしたかった。出力段は特にどうということのないダーリントン接続のプッシュプル。VR1はバイアス電流調整用、VR2は出力段のDCオフセット調整用。
 電源が二系統あるのは増幅段の電圧を安定化したかったから、というのとパワー段の電源をフルスイングするために増幅段には少し大きめの電圧が必要だからという二点。そのため小容量高電圧、大容量低電圧のトランスが二つにすることにした。

  

amp_board.JPG
基板
 
 バイアス用のトランジスタQ3と出力段のQ4、Q5は熱的に結合させる。C8,9は積層フィルムコンデンサを使用。普通のフィルムコンデンサだと0.1uF以上の容量になるとバカみたいに大きくなるので使いづらい。その点積層タイプだと同容量の普通のモノと比べて1/10ぐらいの大きさですむのでスペース的に圧倒的有利。
 

amp_boardura.JPG
基板裏

 基本的に配線はリードの切れ端&AWG24の単線ケーブルを使用している。部分的チップ抵抗なんかも使っていてかなりビューリフォな感じ。


ケースに実装中の画像とか


cad_haiti.JPG

 基板のパーツの配置を考える時にEagleというフリーCADを使うのだけれど、基板以外にも使えることに気づいたのでケースの穴あけ位置を決める時にも使用するようになった。かなり楽チン。

 

drill.JPG

ana.JPG 穴あけの時に出来るバリをとるのに上の写真のようなビットを使うとすごく綺麗にバリが取れるのでおすすめ

RIMG0236.JPG 電源スイッチ取り付け用の穴を開けているところ、ミニ四駆の肉抜きの時ようにピンバイスで空けた穴をニッパーで繋げて開けるのだが、アルミ板相手にもこれでやる。せめてもう少し大きな径のドリルでやればよかったのに・・・1mm径のドリルでやるから結構な苦行だったorz 途中でドリル折れたし



amp_naibu.JPG 実装完了。電子ボリュームもあるのでボリュームも無し。配線はねじれるところはねじってみた。入力のRCAが二つあるのはヘッドフォンアンプ用のパススルー。実はこのケースを買う前に少し小さいケースを買ってしまってパーツが入りきらなかったのでケースが一個余る羽目になった。ちなみにこのケースは6000円ほど。ケースだけで他の全部のパーツの総額を超えていたりする。

***

 デジタルアンプと聞き比べてみた・・・違いがわからん^^; でもまあ「自分で作ったアンプで音楽を聴いてるんだなー」という気分は良い。次はDACを作る予定。



damp1.JPG

 共立電子のキットを使ってパワーアンプを作った。作ったというか組んでケースに入れただけだけど。自分なりに高音質化の工夫も凝らしたつもり。以前からパワーアンプが欲しかったのだけど、独自設計でディスクリートオンリーでいこうと最初は考えていたのだけど、あまりにも共立のデジタルアンプキットのスペックが素晴らしかったので馬鹿らしくなってしまった。



背面

damp2.JPG

 電源は24VのスイッチングACアダプターを使用。RCA端子は入力とパススルーで二つある、ただ内部でショートしてるだけなので、上下どっちに刺しても同じ。パススルー側には前の記事で作ったヘッドフォンアンプを接続して使っている。
 出力端子はジョンソン端子を使用。基本的にはバナナプラグでスピーカーと接続している。バナナプラグは質量が大きいのでハンダ付けする際は長い時間暖めなくてはいけない、注意が必要だ。



内部配線

damp3.JPG
 大きなコンデンサが二つガムテープで固定されているのが見えるが、これは出力段のハイパスフィルターだ。デジタルアンプICはBTL接続の物が多いのでキットは買うまではこれもBTL接続だとばかり思っていたのだけど、このICの出力には電源電圧の二分の一の電圧がかかっているので、直流カットのハイパスフィルターが必要だ。キット付属のコンデンサは35V470uFというなんかもう終わっている容量だったのでその部分はジャンパ線でショートし、代わりに25V3300uF使用した。これなら1/2πRCで求めらるハイパスフィルターのカットオフ周波数は8Hzとなるので人間の可聴域を下回る値なので問題ない。まあハイパスフィルターなんか無い方がいいけど・・・
 電源のON、OFFはICのShutdown端子を使用している。そのせいか電源を切るときはポップノイズは出ない入れる時は盛大に出るけど。それでも普通にDC入力をスイッチするよりは大分小さい。
 



基板アップ

damp4.JPG
 TPA3120D2の効率は95%以上のなのでヒートシンクがいらない、めっさ小さいしこれで20W出力とは素晴らしい。音も以前使っていたONKYOのAB級のアンプと大差ない、D級と言われ無いと気づかないだろう。利得は10倍で使っている。ジャンパでもっと大きくできるがマンション住まいなのであまり大きな音を出すわけにもいかないのでこれで十分だ。
HPA2.JPG

 C-moyアンプというヘッドフォン回路がある。これがわりと手軽に組める割に高音質ということで自作する人のまわりで流行ってるらしい。とりあえず自分の周りの音響機器は自作機で固めようということで自分もヘッドフォンアンプを作ってみた。

中身

HPA1.jpg


ura.jpg

回路

schematic2.jpg

 基本はこれを参考にした。そんで自分なりに少し変更を加えた。まず参考にした回路はバイアス段のトランジスタはVBEを合わせるためのダイオードとして使ってるらしいので、べつにダイオードに変えても大差なさげなので1N4148に変更。それに加えてプッシュプルのトランジスタのベース電流はバイアス電流以上は流せないのでダイオードの間にコンデンサを追加して交流的にショートするような感じにした。そうすることでバイアス電流以上Ibが必要になった時はオペアンプから直接電流を取れるようにした。こうすることのメリットはあまりバイアス段の入力インピーダンスを下げずに最大出力を上げられること。まあ利得もあんまり無い回路だし、2SC1815はGRランクの物を使うので要らない気もするする。まあ、あって悪い事は無い。
 オペアンプはパーツで眠ってたNJM2041DDを使用。電流も25mA程度取れるし低雑音ってデータシートに書いてあったのでまあいいかなと思う。音がどうとかは知らないけど。
 この回路図で見ると利得は4.3倍になってるが、ちょい多いということで今は帰還抵抗を22kΩ変更して利得3倍で使ってるいる。Line出力のレベルによっては2倍でも間に合うかもしれない。あとこれも回路図に書いてないけどDC入力に2200μFのコンデンサが入っている、組んだ後箱にちょうどいい隙間があったので入れた。こうキッチリと詰まってると気持ちいい。

1FET 超低ノイズDI

以前作ったオペアンプを使ったマイクプリが若干ノイズが多いので、新しくDIを作った。

DI.JPGケースはダイソーで買った名刺入れっぽい謎の箱、全体的にやる気無い仕様。


DI2.jpg パイロットランプ用のLEDのマウントをちょっと工夫してみた。これならブラケット付きのLED買わなくても済むし、フロントの見た目もこっちの方がすっきりして好き。

回路DI.png

 2SK30ATM一個だけという手抜き仕様。FETならバイアス0Vで使えるので、バイポーラトランジスタのようにめんどくさいバイアス電圧の調整を省くことができる。ボリュームも無いので入力インピーダンスを固定化できる。普通のベース、ギターの回路は出力がピックアップのコイルなので、出力にローパスフィルターがあることになる。入力段が可変抵抗になると入力インピーダンスがボリュームの角度によって変わることになる。そうすると出力のインダクタンス成分でトーンが変わる可能性があるので入力インピーダンスは固定していることが望ましい。
 この回路で最初は10倍程度の利得を予定していたのだが、実際にに組んでみると2倍程度しか利得が無いことが判明。しかし、2倍でも十分間に合うことが判明したのでそのまま使っている。電源が電池だしFET一個だけなので鬼のように低ノイズだ。

アイドル電流が4mAとちょっと多いのが玉に傷だ。出力段をプッシュプルにすれば半分程度に減らせそうではある。

実験用電源

 作ったのはちょっと前だけど、こっちには書いてなかったので書いておく。

pow1.JPG


 以前からブレッドボードで何かちょっとした実験をやらかす際に、ほしい電圧が出るACアダプタなり、三端子レギュレータをはさんだりしなければいけなかったし、手持ちのACアダプタがどんどん増えて邪魔になってきたので、実験用電源を作ってみた。

出力は70Wぐらい、電圧は4V~20Vまで無段階で調整できる。

pow2.jpg

pow3.jpg

中の様子。AC100V⇒24VスイッチングACアダプタ⇒降圧型DCコンバータ⇒となっている。前面のパネルは電圧計で20Vレンジ固定して使う。万能基板の回路は自作したノイズフィルタ。主にオーディオっぽい回路を組むときなどに使う。出力は綺麗になるが直流安定性は下がるので全面のスイッチでON、OFFできるようにした。出力端子は内径2.1mm 外径5.5mm センタープラスの一番標準的なACアダプタ用の端子。だいたい自分の工作物はこれで統一している。

オシロ買った
PDS5022S.JPG

 お金に少し余裕ができてきたので、前々から欲しかったオシロスコープを買ってみた。買ったのは秋月で売ってる爆安のデジタルオシロ、PDS5022Sというやつで、32000円なり。


とりあえず波形を見ようということでスイッチング電源のノイズを見てみる。

ptogo.jpg

16V 75WのスイッチングACアダプタ


saw.jpg こんな感じ

10mV程度鋸刃型のノイズと針状の60mVのノイズが乗っているのがわかる。

波形が見えるってそれだけのことなんだけど、いままで見えなかったものが見えるとかなり楽しいな。

AVRWRT

avrwrt.JPG


 特に何かしたいというわけでもないのだけれど、マイコンをちょっと使ってみたくなった。マイコンと言えばPICが有名だけど、今はAVRという種類のマイコンが熱いらしい。AVRのライタはRS232Cを使った製作記事は沢山あるし回路図も簡単そうだ。でも自分は今更RS232Cなんか使いたくない。でもUSBライタを作るのはかなりかったるいっぽいので買うことにした。   
 USBのライタ(ISP)はAVRの製造元のATMELから出ていて秋月で4000円ぐらいで買える。しかし、ずっと品切れが続いてるので、共立電子から発売されているUSB接続のAVRライタを買うことにした。こっちは2000円ほどと安いし、機能もほぼ同等らしい。

90s1200.JPG

 ライターと一緒にAT90S1200という石と一緒に買った、これは発信器が内蔵されてるので外部発信器がいらない。

 プログラムを書き込んでみようと電源を供給してISPポートにマイコンを繋げたが、初めライター側からマイコンが認識されなかった。ピンアサインを間違えたかと思ったが、ピンアサインはどう考えても合っている。調べたら、AT90S1200は発信器を内蔵しているが工場出荷時の状態では内蔵発信器は有効になっていないらしいので、一度パラレルライタを使ってフューズビットを書き換えなければいけないらしい。パラレルライタを作るのは果てしなくめんどいので秋月でATtiny2313(こっちは初めから内部発信器が有効になっている)を買ってくることにした。

2313.JPG

2313を繋いだら一発で認識されたので、LEDを点滅させるプログラムを書き込んでみた。


...

2313tiny.JPG

光た^^v

amptest1.jpg

 SB772とSD882というパワートランジスタを買ってきたので、パワーアンプを作ってみた。ディスクリートだけでやりたかったけどめんどいので電圧増幅にはオペアンプを使った。基本はヘッドフォンアンプの応用で、電流増幅段のトランジスタをもっとでかいものに変えるだけなのだが、出力が大きくなった分熱損失に気を付けないと熱暴走して大変なことになる。

↓気をつけなかった結果がこれ
SD882-1.jpg

 電源ONして、一発で鳴ったと思ったら、なんか香ばしい臭いがしてきたのですかさず電源をOFFにする。どうやらバイアス電流を適当に設定したせいか簡単にトランジスタが熱暴走して、異常発熱していたらしい。そのせいで貼ってあったhfe確認用テープが焦げてしまったが、調べたところまだこのトランジスタは使えるから驚き。紙が焦げる、温度ってのはおよそ450度ほど。トランジスタがこんな温度でも耐えられたってことにけっこう驚いたりした。まあ電子部品てのは最低でも半田づけに耐えられるぐらいの熱耐性は必要だけども、紙が焦げても半導体は無事ってのはすごいわな。最近のCPUなんて70~80度ぐらいで死ぬのに。
 
SD882-2.jpg2SD882 石川町のジャンク屋で購入 一個40円 IcMAX=3A Vcbo=40V

 このアンプの雑音特性はパワーアンプICよりはかなり良かった。LM380では無入力時でも、「サー」という背景ノイズがどんなに電源を良くしても消えなかったが、このアンプは聞き取れるノイズが皆無だった。ICと違って、熱暴走対策をしなければならないのが面倒だがそれを補っても余りある性能だ。