1段プッシュプルアンプ その1

パソコン用に小型パワーアンプを作りました。+12V単電源で最大出力は1W+1W (RMS, 1KHz, 歪1%)です。

オペアンプトランジスターの構成ですが、電源電圧が12Vなので出来るだけ出力振幅が取れるように1段プッシュプルにしました。しかし実際にやってみるとNJM4580の場合はトランジスターより先にオペアンプ出力が飽和するので、TL431で作っている中点電位を電源電圧の1/2=6VからQ3のVbeの分だけ(0.65V)下げて5.35Vにしました。これで無信号時のオペアンプ出力が6Vになるので、大振幅の時に片側だけ飽和することがなくなります。トランジスターの出力も0.65V下がり5.35Vになりますが、単電源アンプでスピーカーとの間にコンデンサーが入っているので大きな問題はありません。

LTSPICEでシミュレーションすると最大出力は 中点電位 6V:0.8W 5.35V:1.0Wになります。また、このままの回路でLT1498などのRail-to-Railオペアンプに変更すると1.6W、TLC272などのマイナス電源電圧まで出力可能なオペアンプにしてR3をショートして中点電位を5Vにすると1.25W出ます。とは言ってもディスプレィの脇にスピーカーを置いていれば1Wでも十分な音量です。

上画像の作例は72x48mmの小さい基板で作ったため、抵抗は全てチップ抵抗(3216サイズ)を裏面実装しています。C1は固体電界コンデンサー、C10,C16はオーディオ用電界コンデンサー、C5,C7,C11,C13はフィルムコンデンサーを使っています。出力トランジスターは32V/2Aの中電力用で、2SC1815とともに放熱板にエポキシで接着しています。アイドリング電流を30mAに設定するため、0.5Ω抵抗(1Ωを2本並列)の両端電位差が15mVになるようVR1,2を調整して完成です。現在は車載用サブウーファーを追加して2.1ch構成にしているので、C5,C11を0.022uFに変更し低域を80Hzでカットしています。

なお電源にACアダプターを使う場合はこのままの回路で良いですが、音声入力と同じパソコンから12V電源を供給する場合や車載で使う場合は、音声入力にトランスを入れてグラウンドを分離しないとグラウンドループでノイズ乗りまくりになります。トランスはサンスイST-71または同等品が定番です。

A10-7850KでLTspice

AMD E-350(Brazos)を常時電源ONサーバー/Web閲覧/たまにLTspice用として使っていましたが、やはりマシンパワー不足でLTspiceがもっさり遅いため、AMD A10-7850K(Kaveri)を増税前駆け込み購入しました。

簡単にベンチマークしてみました。

  1. 回路サンプルとして添付されている LTspiceIV\examples\Educational\NE555.asc を開く
  2. シミュレーション時間を .tran 1000m として30msから1秒に変更する
  3. シミュレーションを実行し、Ctrl-Lを押してTotal elapsed timeを見る

LTspice Version 4.20m
時間 速度 CPU
196秒 1.0 E-350 (1.6GHz/2Core)
059秒 3.3 A10-7850K (3.7GHz/4Core)
049秒 4.0 PhenomII X6 1065T (2.9GHz/6Core)
039秒 5.0 Core i3-3220 (3.3GHz/2Core+HT)

という事でKaveriはBrazosよりは3倍速いがCore i3にも遠く及ばないという結果でした。A10は総合バランスの良いCPUですし、LTspiceがHSA/OpenCL対応してくれれば最強のLTspiceマシンになるかもしれませんが、現状ではLTspice使うならIntelかも。

次にA10のConfigurable TDP機能を使ってCPUの最大消費電力を変えた場合:

時間 速度 CPU
059秒 3.3 A10-7850K TDP=95W
065秒 3.0 A10-7850K TDP=65W
074秒 2.6 A10-7850K TDP=45W

速度1割減で消費電力2/3、2割減で1/2ですから、使い方次第では低TDP設定は魅力的かもしれません。CPUファンの音が静かになるので当面65W設定で運用するつもりです。

PICで+12Vから+5Vを作る

USB充電用にPIC12F683内蔵のコンパレーターを使って12V→5Vのステップダウン型DC-DCコンバーター(Buck Converter)を作りました。定格出力は1.5Aとしています。回路は下図のとおり。出力電圧のリップルは回路図のC6次第ですので低ESR(0.1Ω以下)の電解コンデンサーか固体電解コンデンサーがお勧めです。

PIC12F683のプログラムです。

#pragma config FCMEN=OFF, IESO=OFF, BOREN=ON, CPD=OFF, CP=OFF, MCLRE=OFF, PWRTE=ON, WDTE=OFF, FOSC=INTOSCIO
#include 
#include 
#include 
#define _XTAL_FREQ 2000000
#define CM_REF 0x0c             // comparator reference = Vdd/24*12=2.5V

int main(int argc, char** argv) {
    int i;
    OSCCON = 0x50;              //OSC setup: intosc, 2MHz
    ANSEL = 0x02;	        //GPIO setup: GP1=CIN-(VSense)
    TRISIO = 0x02;              //GPIO setup: GP2:Cout
    T1CON = 0x01;               //Timer1 setup: 1:1 prescale, T1 on
    // comparator setup
    CMCON0 = 0x05;              //Output enable, non-inv, Internal Reference
    CMCON1 = 0x03;              //T1G, CMSYNC on
    VRCON = 0xa0;               //CVRef on, low range, Vdd/24*0=0v

    for(i=0;i<=CM_REF;i++){    //soft start
        __delay_ms(5);
        VRCON=0xa0+i;
    }

    while(1){
    }
    return (EXIT_SUCCESS);
}

出力電圧の1/2をPIC内蔵のコンパレーターに入れ、コンパレーターの出力をTimer1のクロック(1/4OSC=500KHz)でサンプリングし、2.5Vを超えていればMOSFETをOff、下回っていればOnします。コンパレーターの出力をそのまま使うとノイズ等の影響で非常に短い周期でFETがON/OFFしてしまう場合があるため、クロックで叩いています。このため最小周期は250KHzになります。

これらはPIC内蔵のコンパレーターとD-FFだけで行われ、ソフトウェアによる処理は不要です。よってPICはI/Oの初期設定終了後は何もしていません。I/Oポートも4本余っていますので、好みに合わせて他の処理をさせると良いと思います。PWMモジュールもA/Dも使わず、コンパレーターとD-FFさえ入っていればいいので、より安価な12F609/12F615なども使えます。出力にパワーLEDと抵抗を直列に接続してコンパレーター入力端子に抵抗の電圧を接続すれば、1.5Aまでの定電流回路としても使えます。

電源投入直後はソフトスタートのためにコンパレーターのしきい値を0Vから2.5Vまで5msおきに0.208Vずつ上げています。LTSPICEによるシミュレーションは下図になります。コンパレーターしきい値のV4はPWLモードにして5msごとに電圧を変化させています。

出力に3.9Ωの抵抗を接続した実測値は下図。ほぼシミュレーション通りです。コンデンサーC6は固体電解コンデンサー(0.027Ω)を、コイルL1は太陽誘電NRS6045T-100(直流重畳3.1A/温度上昇2.4A)を使用しました。3.9Ω接続時(出力1.25A)の変換効率は約81%でした。MOSFETショットキーダイオード、コイルがそれなりに(合計最大1.5W程度)発熱します。MOSFETのタブがドレイン端子ですので、ここに銅板を放熱板として半田付けして、それにダイオードとコイルを直付けして放熱するのが良いと思います。

12V ACアダプターから±12Vを作る その2

前回はDC/DCコンバーターIC LT1370を使いましたが、今回は安価な汎用リニアIC NE555とLM311を使ってDC/DCコンバーター回路を組み、12V ACアダプターから±12V電源を作ります。

定格出力は±12V/1Aに設定しました。NE555を250KHz/43%Dutyで発振させ、出力をそのままP-MOSFETに接続して負電圧を作っています。正電圧と負電圧の中点をLM311に入力して、中点がGND以下になるとNE555の発振を停止させ、GND以上になると発振が再開します。LM311はエミッター出力が負電源と分かれているのでこういった用途では使いやすいです。

特徴は
・回路が簡単で部品代が全部で1000円以下と安い
・発振周波数が比較的高い(250KHz)のでコイル、コンデンサーが小さくて済む
・無調整で負電圧出力が正電圧出力に自動的に追従するのでACアダプターの電圧を変えればこのままの回路で±5〜±15V電源として使える
C3とC7は安価な固体電解コンデンサー(FPCAP、RSオンラインで100円以下)を使っていますが、定格リップル電流が定格電流の2倍以上あれば通常の電解コンデンサーでもいいです。

上画像の作例では前回同様リセット回路も入れてあります(スイッチとダイオードの間)。平均消費電流が0.5A程度の小型アンプの電源に使うので、15x25x0.5mmの小さな銅板を放熱用にMOSFETショットキーダイオードに半田付けしてありますが、平均消費電流が大きい場合は大きな放熱板を付けてください。LTSPICEのシミュレーションでは、1A連続出力時の発熱がMOSFET:0.7W、ショットキーダイオード:0.4W、+12V→-12Vの変換効率は88%です。

この回路をLTSPICEでシミュレートする際にLTSPICEの標準ライブラリーを使う場合、LM311→LT1011、2SJ377→Si9407AE、1N5822→MBRS340を使うと良いと思います。かなり簡単な回路ですが、シミュレートではそこそこの性能になっています。

バッテリー内部抵抗測定回路

自動車等で使われる12V鉛バッテリーの内部抵抗測定回路を作りました。部品コストは1,000円以下です。

回路図上側が交流電流を流す回路です。スイッチがオープンになるとNE555が70Hz/50%デューティで発振します。78L05は定電流回路として使われており、NE555のOUT端子からは出力Hiの時に約50mA、Loの時に0mAの電流が流れます。
HiとLoで上側回路全体での消費電流が約50mA変化しますので、この時のバッテリー端子電圧差を回路図下側のオペアンプで増幅します。出来上がりはこのようになっています。


製作上の注意点:
・上側回路と下側回路で電源とGNDを完全に分離してください。バッテリー端子からの配線もバッテリークリップ部で上側用と下側用を別々にします。いわゆる4端子法もどきです。
・ NE555は通常タイプを使ってください。LMC555などのCMOSタイプは電源電圧が最大定格ぎりぎりになるのでお勧めしませんが、使う場合は出力電流が足りませんので外付トランジスターを追加してください。
・ LM358,NJM3404Aなどの普通の安価なオペアンプを使ってください。あまり高性能なものだと発振するかもしれません。またバッテリー電圧は最大15V程度になりますので、オペアンプの電源電圧の最大定格にも注意してください。


使い方:
1. OUT+とOUT-にテスターをつなぎ、AC電圧測定モードにします。
2. スイッチをショートした状態でバッテリーと測定回路を接続します。
3. スイッチをオープンにしてテスターの表示電圧が安定するまで待ちます。
4. バッテリー内部抵抗値はテスター表示電圧1mVあたり1mΩとなります。


出力の校正:
出力Hiの時の電流値には78L05の回路電流(≒2mA)が加算されるため50mAより少し大きくなり、また使っているテスターによって「真の実効値」が測定できるものとできないものがありますので、出来れば最初に校正しておいた方が良いです。「真の実効値」が測定できるテスターではR8=1.3KΩ(1.5KΩ+9.1KΩ並列)、測定できないテスターではR8=1.4KΩ(1.5KΩ+22KΩ並列)が計算値です。
1. フル充電された正常なバッテリーを用意します。
2. バッテリーと測定回路を直結して測定し、テスター標示が数十mV以下になることを確認します。
3. バッテリーと測定回路の間に1Ωの抵抗を入れて再度測定します。
4. テスター標示が1.0Vになっているか確認します。大きく違っている場合はR8の値を調整します。
※バッテリーの内部抵抗値というのはあまり厳密なものではないらしいので、この回路定数のままでもそれなりに使えます。


応用:
コイルやケーブルなどの1Ω以下の抵抗値が測定したい時、校正時と同じようにバッテリーと測定回路の間に接続して、直結時との差分をとれば簡易mΩメーターとして使えます。ただし測定時に60mA程度の電流が流れますので、電流定格には気をつけてください。


注意:
・ この回路は12Vバッテリー専用です。

PQI Air CardをWindows PCから使いやすく (2)

次のステップとして、アイコンをダブルクリックすると自動的にAir Cardから画像をダウンロードして撮影日付のフォルダーに振り分けるようにします。

ffftpミラーリングダウンロードを利用していますので、先にffftpミラーリングダウンロードが正常に動作するよう設定しておいてください。

※アイコンのダブルクリックで全自動動作にするため、ffftpのオプション→環境設定を開いて、上の「ミラーリングダウンロードでファイル削除前に確認」のチェックを外しておいてください。また.BNP、.INPという拡張子のファイルはサイズが大きくPC側では不要ですので「転送しないファイル」に追加しておいた方がいいです。


ExifToolの入手
ExifTool by Phil Harvey 左のページの「Windows Executable」をダウンロードして、適当なフォルダーに解凍してください。解凍するとexiftool(-k).exeというファイルが出来ますので、名前をexiftool.exeに変更してください。持っていて損はないツールです。


バッチファイルの作成
テキストエディター(メモ帳など)で以下のバッチファイルを作成します。下のをコピペしてから必要な部分を修正し保存してください。私はExifToolと同じ場所にPQI_DL.batという名前で保存しています。
下の例ではAir Cardのコピー先はD:\SDCH_1、画像振り分けコピー先はE:\pictures、exiftool.exeはE:\pictures\exiftoolに保存されており、ffftpはC:\Program Files (x86)\ffftp\にインストールされています。ffftp.exeの在り処はffftpのアイコンを右クリックしてプロパティを開けば知ることが出来ます。RAW画像と動画はメーカーによって拡張子が違いますので適宜変更してください。

注意:メモ帳の場合は保存するときに「ファイルの種類」を「すべてのファイル」にして、ファイル名を「PQI_DL.bat」など最後を.batにしてください。

                                                                                                                                              • -

:st
ping -n 1 192.168.1.1
if errorlevel 1 goto st
ping -n 5 localhost >NUL
"C:\Program Files (x86)\ffftp\FFFTP.exe" -s "PQI_SDHC_1" -d -f -q
e:\pictures\exiftool\exiftool.exe -o . -r -P "-Directory

                                                                                                                                              • -

バッチファイルの内容

  • Air CardとPCが接続するまで待ち、接続したら5秒待ちます。
  • ffftpミラーリングダウンロードをホスト設定名「PQI_SDHC_1」に従って実行します。
  • exiftoolを使ってD:\SDHC_1にあるJPEG/RAW画像、MP4動画、AVCHD動画をE:\pictures\[撮影年]\[撮影年月日]フォルダーに振り分けコピーしていきます。


デスクトップにショートカットを作成
このバッチファイルを保存したフォルダーをエクスプローラーで開き、バッチファイルを右クリックして「送る」→「デスクトップ(ショートカットを作成)」と選択すれば、デスクトップに「PQI_DL.batのショートカット」のアイコンが出来ます。


使い方
デジカメの電源を入れてこのアイコンをダブルクリックすれば、Air CardとPCのワイヤレスLAN接続、デジカメからのダウンロードと指定したフォルダーへの振り分けコピーが自動的に実行されます。ダウンロードが終わったらデジカメの電源を切ってください。

PQI Air CardをWindows PCから使いやすく (1)

PQI Air Cardはいろいろと他にはない面白い機能を持ったカードですが、Windows PCからはいまいち使いにくい所があります。
・自宅Wireless LANをHotspot登録できるが、自動接続しない
・自宅Wireless LANをHotspot接続した時に固定IP設定ができないのでFTP転送が面倒
そこでPCに自宅LAN以外にAir Card専用のWLANアダプターをもう一つ追加します。これによりデジカメの電源を入れるだけで自動でAir CardがPCと接続するようになります。

Wireless LANアダプターの入手
これは今回使った6年前の802.11b/g対応USB WLANアダプターですが、最近はこの手のUSB WLANアダプター(子機)は千円以下で買えます。これでAir Cardの使い勝手が劇的に良くなりますので、買って損はないと思います。ただし買う時は今使っているOSをサポートしている機種か確認してください(まさかNECWinXP/Vista x64全滅とは...)。


自宅LANのルーターアドレスを調べる
まず最初に、現在使っている自宅LANのルーターアドレスを調べます。DOS窓から ipconfig とコマンドを入力するのが確実です。上の画像で「Default Gateway」というのが自宅LANのルーターアドレスです。Air Cardはルーターアドレスが192.168.1.1固定なので、自宅LANが192.168.1.1の場合はそちらを192.168.2.1などに変更しなければなりません。

WLANドライバーのインストールとAir Cardのパスワード設定
それが終わったらWLANアダプターのドライバーを入れて、Air Cardと通信できるようにします。接続できたら何はともあれWPA2のパスワードを有効にしてください。

パスワードを設定したら一度デジカメの電源を切ってから再投入して、もう一度PCからワイヤレスネットワークを検索してAir Cardを選び、PC側のパスワードを入力します。ただしこのWLANアダプターはAir Card専用にして自宅LANには接続しないようにしておきます。するとデジカメの電源を入れるだけで自動的にPCがAir Cardと接続し、Webブラウザーで http://192.168.1.1/ を開けば写真がダウンロードできます。

ffftpのインストール
ここまででもかなり使いやすくなったのですが、更に使いやすくするために定番FTPフリーソフト ffftp をインストールします。 http://sourceforge.jp/projects/ffftp/

Air Cardの新規ホスト登録
最初に「新規ホスト」としてAir Cardを登録します。

Air Cardのアドレスは必ず192.168.1.1です。この例ではPCにD:\SDHC_1というフォルダーを作り、そこに画像を一旦保存しています。Air Card側は/sdと指定します。またAir Cardと通信する場合は「anonymous」をチェックしておきます。これらの設定を識別するために「ホストの設定名」を適宜入力します。今回はPQI_SDHC_1という名前にしています。入力が終わったらOKを押して保存します。

Air Cardとのftp接続
するとホスト一覧が標示されるので、上で設定したホストの設定名を選んで「接続」をクリックします。

WLANが正常に接続されていれば、このように右半分にAir Cardのフォルダー、左半分にPCのフォルダーが標示されます。Air Cardの/sd/DCIMが写真保存フォルダー、/sd/MP_ROOTがMP4、/sd/PRIVATEがAVCHDです。最初はPC側は空です。
ミラーリングダウンロード
ここで[コマンド]→[ミラーリングダウンロード]を実行します。するとAir Cardのフォルダー構成がJPEGもRAWも動画も丸ごとPCにコピーされます。写真が何百枚あっても一々画像選択する必要はありません。とは言ってもUSBに比べると転送数倍遅いですが。

初回以降はミラーリングダウンロードを再度実行するたびに前回から追加で撮影された写真や動画だけが転送されます。ダウンロード中にデジカメの電源が切れないよう、オートパワーオフの設定は10分以上に変更しておいてください。

注意事項:
PQI Air Cardからffftpでファイル転送すると、ファイル更新日時の日付は保持されますが時刻は00:00:00になります。Exifの撮影日時が残っていますので実害は無いと思います。
ミラーリングダウンロードを実行するとAir CardとPCのフォルダーの内容が完全に同一になります。カメラ側で画像消去した状態で実行するとPC側も消えるので注意してください。
※間違って「ミラーリングアップロード」するとPCに転送されていないカメラの画像が消されますので注意してください。