オーディオ用パワー・アンプの製作1
ふとしたきっかけで、半年くらい前から電子工作趣味を復活させています。アナログ回路の基本は増幅、ということでアンプの製作を思い立ちました。オペアンプはtransistor回路技術の結晶だと思ってます。トランジスタでまともなアンプを作ってみたいなーとは前から考えてました。この半年間で4種類ほどのアンプを作成したので、振り返ってみます。
オペアンプにトランジスタバッファーを付けたアンプ
最初に制作したアンプです。オペアンプの後ろにトランジスタバッファーを付けた、よくあるやつです。万能基盤で作成しました。
セオリー通りに作ったのに音が歪む
このアンプは最初音がめちゃくちゃ歪みまくりました。
色々トランジスタが悪いのかとか思って色々試したのですが、結局オペアンプとして使っていたlm358のクロスオーバー歪が原因でした。オペアンプを4558に替えた所、歪まなくなりました。lm358はオーディオ用途には使えないと学習しました。
トラ技のヘッドフォンアンプ回路で作ったスピーカーアンプ
次に目をつけたのは、トラ技に掲載されていたフルディスクリート・ヘッドフォンアンプです。電池2本の正負電源で動作するものです。
続く
実験用電源の製作
最近よく電子工作をするので、手軽に持ち歩ける実験用電源を作りたくなりました。
作りたい電源の仕様は、出力電圧が0V~30V(できなければ0V~15V程度)、電流出力2A程度、定電流制御ができることです。
出力電圧が0Vからとなると、スイッチングレギュレータでは難しくてシリーズ電源ということになるのですが、トランスを使うと全体が大きく重くなるので、電力供給にスイッチングレギュレーターを使います。
ただし、一つスマートでない部分があります。出力電圧を下げたときに、シリーズに入れたトランジスタでかなりの電力が消費されてトランジスタがアツアツになってしまいます。
そこで考えました。出力電圧とスイッチングレギュレーターの出力電圧をトラッキングできないか?と。
普通にディスクリートで作ったシリーズ電源は、3V程度の電圧降下を必要とします。なので、スイッチングレギュレータの出力電圧が、シリーズレギュレータの出力電圧+4~5V程度になるように制御できれば、シリーズレギュレータの出力電圧を下げたときに極端にトランジスタが熱くなるのを避けられるはずです。
シリーズレギュレータの出力電圧と、ツェナーダイオードなどで降圧したスイッチングレギュレータの出力電圧をコンパレータで比較して、スイッチング出力の方が高ければスイッチングレギュレータにフィードバック信号を送ります。
定電圧定電流電源の回路は、
http://www.geocities.jp/mkttid/i_ctrlr/i_controller.html(リンク切れ)
を参考にしました。
スイッチングレギュレーター部分の回路は
トラ技2005年3月号と、TOP227Yのアプリケーションノートを参考にしました。
3Dプリンター 比較検討する際のポイントについて
形成・固化方式
光硬化方式
光を当てることで硬くなる樹脂にレーザーなどで固めたい所にだけ光を当てて固めます。中でもプロジェクタの技術を応用して断面を一気に生成するタイプは形成を高速に行うことができます。
FDM(熱積層方式)
溶かした樹脂をエクストルーダー(射出口)から吐き出して断面を形成、積み重ねて行きます。基本的にオーバーハングが苦手です。
以降は基本的にFDM型についての説明です。
軸方式
直交軸型
フライス盤のように直交するXYZ軸の動きで射出口の動き制御します。
デルタ型
垂直に立てた3本のレール上で台車を動かします。射出口はアームで各台車に連結されていて、3つの台車の動きで射出口の動きをコントロールします。
フィラメント
FDMでは、一定のペースで射出口に樹脂を供給するために、樹脂材料を細長い紐状に加工し、ドラムに巻きつけた物を使用します。これをフィラメントと呼んでいます。
樹脂素材
PLA
ポリ乳酸という樹脂です。3Dプリンターでは最も良く使われる樹脂です。摂氏200℃前後で融解する、熱による膨張/収縮が少ないなど、FDMに適した性質を持っています。一方でわずか摂氏60℃程度で軟化し始める、他の樹脂に比べて強度が弱いなどの欠点を持っています。
ABS
強度の強いプラスチックですが、熱変化による膨張/収縮の度合いが大きく、FDM型の3dプリンタでは印刷中に歪んだりステージから剥がれたりしやすく、印刷難易度の高い素材です。また、融解するときに有毒な気体を発生させるため、換気の必要があります。
TPU
熱可塑性ポリウレタン樹脂です。ゴムのような弾力性をもつ樹脂で一部のスマートフォンケースなどにも使用されています。
閉鎖式のFDM型プリンタ
温度による変形が大きいABSの形成では、プリンタ内部を外気から隔離することで形成物の精度を上げる事ができるので、一部のプリンタでは、プリンタ全面をパネルで仕切って、印刷中に外気が入ってこないようにしているものがあります。
フィラメントの直径
2.75mm(3mm) と 1.75mmがあります。最近は1.75mmがメジャーで、2.75mm(3mm)は入手性が悪くなってきているようです。これから3mmタイプのフィラメントを使用するプリンタの購入を検討する方は注意した方が良さそうです。
サポート
FDM方式のプリンターは基本的にオーバーハングがある立体物の印刷が苦手ですが、その対策として一部のプリンターでは、隙間部分にサポート材を充填するものがあります。サポート材は後から水や風圧などの方法で取り除きます。
中華CNC1610について 続き
前回基板が壊れてしまったcnc1610キットですが、実は組み立て中にどこか壊すんじゃないかと思ってもう1台注文してまして、それが届いたので基板だけ抜き出して交換しました。無事動作しました。ランダムに感想などを書いてみます。
何をしたら装置を意図通り動かせるのか分からない
キット付属のDVD-Rにgrbl-controllerが入っていたのでそれをそのまま動作させてみました。手動でXYZ軸を動かしたりスピンドルモーターを動かしたりできるのですが、それ以上何をすれば良いのか分かりません。
どうやら、このプログラムはncファイルというのを入力するようだと分かりました。web上で色々と検索すると、Machとcnc3040などを使う少し古い記事は見つかるのですがgrblの記事はなかなか無いので難儀しました。
少しずつ調べて分かってきたのが、ステージの動きを記述する命令がG-Codeだということです。例えば、ステージを座標(10mm, 0mm)に移動する、とか、スピンドルを(5mm)まで下ろすというような感じです。
Machの場合はMachがG-Codeをステッピングパルスに変換してパラレルポートに出力→パラレルポートに繋いだモータードライバがステッピングパルスでモーターをドライブするようだということです。
それに対して、grblの場合は、usb接続したarduinoの中にgrblプログラムが入っていて、そのプログラムがG-Codeを解釈してステッピングパルスに変換、arduinoから出力されたステッピングパルスがa4988等のマイクロステップドライバICに送られて、ドライバICがモーターをコントロールするということです。PCとarduinoの間は仮想シリアルポートで接続されていて、コンソールで対話的にgrblフォーマットの命令を送り込みます。
grblフォーマットの命令は、G-Codeをそのまま送るための命令と、grbl独自の制御を行うための命令で出来ています。grbl独自の命令とは、各XYZ軸の進行方向を逆にするとか、座標位置をリセットするとかそういう類の命令です。
で、G-Codeの送り方は分かったわけですが、今は基板の切削がしたいわけで、基板の設計データをいかにG-Codeに変換したら良いのか分かりません。で、またこちら
に頼るわけですが、ここで紹介されているpyGerber2Gcodeを使うとガーバーデータをG-Codeにできるようだと、段々分かってきました。
pythonと依存ライブラリのインストールで若干つまづきましたが、pyGerber2Gcodeを動かせるようになり、普段使っているKiCadからガーバーデータを出力する方法も把握して、何とか切削に漕ぎつけました。
ステージが結構傾いてる
早速基板の切削をしてみたのですが、基板の端と端ではZ軸の高さが結構違っていて、基板の一部だけ溝が掘れませんでした。それでどうするのかというと、ステージの上に捨て板を貼って、エンドミルで一面同じ高さで削るわけです。そうすると、ドリルから見て、捨て板の高さが一定になります。この作業を機械加工では面出しと言うそうです。面出し用のgcodeを生成してくれるwebサイトがあって、ここ
のgcodeを使わせて頂きました。
基板切削用エンドミルは太すぎても細すぎてもダメ
太すぎるとランドまで削ってしまうので当然ダメなのですが、細すぎると、溝と溝の間に削り残しが発生します。