ブログトップ 記事一覧 ログイン 無料ブログ開設

JF1DIR業務日誌 このページをアンテナに追加 RSSフィード

電子工作・オーディオクラフト・アマチュア無線・コンテスト・BCL
プロフィールはこちら

2018-05-23 LM3886アンプにハイレゾDACを実装してみる

LM3886アンプにハイレゾDACを実装してみる

| LM3886アンプにハイレゾDACを実装してみるを含むブックマーク LM3886アンプにハイレゾDACを実装してみるのブックマークコメント

かなり長期間ブログをほったらかしにしておりました。ネタがないわけではないのですが億劫なだけでした。ようやく更新してみるネタができたようなので書いてみました(汗)。

書斎PCのサウンドを再生するアンプには自作真空管アンプや自作半導体を使っております。今は2年前に作ったLM3886を組み込んだシンプルなアンプをしばらく使っておりました。製作記事はココです。LM3886は非常に使いやすくてよいアンプの石なので気に入っております。DCサーボを組み込んで完全DC化をやってみるつもりでしたが、これは次回にしておきます。今回は比較的入手しやすいDACハイレゾオーディオを実現して見ようとやってみました。どうやらラズパイDACをI2S接続してハイレゾPCオーディオが簡単に再生することが流行っているようで、これも時間のネタにしておきます。

せっかくなのでUSB→I2S変換を経由する回路にしてみました。

f:id:WideR:20180523220125j:image

USBアダプタDACにPCM2706を使いPCM5102AへI2S接続してアナログ出力するというシンプルな構成です。外付け部品がずいぶんと少なく済んでいます。USBバスパワーだけでは足りなさそうなので外部電源で動作する仕様としました。PCM5102Aは32bit, 384kHzのDACしかも単電源でもパスコンなしにアナログ信号を出力してしまうというなかなか便利(チャージポンプ回路で負電源をIC内で生成)なので、アンプの方にもパスコンなしでダイレクトに接続してしまいました。おかげで音質は非常にクリアでFBです。LM3886アンプに組み込むとこちらです。

f:id:WideR:20180523220150j:image

電源は別筐体になっております。±24Vの電源を使っているので、DAC基板に積んでいる3端子LDOの入力電源最大電圧が20Vしかないのに気が付き、急遽9Vの3端子レギュレータを実装しました。音が良くなっただけでなく、アンプにUSBケーブルを繋げるだけでよいのでずいぶんシンプルになりました。

DAC部の回路図はココを参考にさせていただきました。VY TKS。

je1sghje1sgh 2018/06/05 08:55 こんにちは.
LM3886アンプ(その1)
を参考にさせていただいたんですが,その2(たぶんDC化のの話)が見つかりません.

WideR(JF1DIR)WideR(JF1DIR) 2018/06/06 00:00 SGHさんコメントありがとうございます。
それもそのはず、「その2」を書いておりません。DC化はDCサーボ回路のついてキット(中華製)を入手したので、近々組み立てる予定です。

2018-01-14 ◯◯互換小型マイコンキットの使い方

◯◯互換小型マイコンキットの使い方

| ◯◯互換小型マイコンキットの使い方を含むブックマーク ◯◯互換小型マイコンキットの使い方のブックマークコメント

ローカル局から「いま流行りのフィジカルコンピューティングをやってみたいのだが、何を買ったらいいの?」と聞かれたので「とりあえずArduino Unoを」と答えておいたのですが、どういうわけか秋月の「AE−ATMEGA328−MINI」を買ってきてしまいました。おそらく「安くて小さく」て「上位互換」という謳い文句に釣られたのでしょうか。純正のArduino Unoは秋月でも2,940円するので分からなくもないのですが、AE-ATMEGA-MINIの取説には最低限のことしか書いてないし、USBインターフェースがついてない上にブレッドボードを持ってないと使いづらいので初心者には少しハードルが高いと思います。さらに、aitendoにはは400円足らずのArduino互換の「あちゃんでいいの」が有名ですが、これもインターフェースなしで(もちろん取説なんてついてない)、AVRマイコンが別売りだったり(ブートローダーの書き込みが初心者にはシンドイ)して、こちらもハードルが高いです。安いからとりあえず買っておくかと、つい手を伸ばしてしまいがちですよね・・・。

パーツ箱の肥やしになってしまわないためにも、各安価互換マイコンボードの使い方をまとめて書いてみます。

aitendoのあちゃんでいいの

いつくかバージョンがあるようですが、今店頭に並んでいるのはバージョン2のようです(ですが基本的に変わりません)。

AVRマイコンを除いたパーツが入っていて、お値段なんと99円。マイコンを加えても400円くらいになります。Arduino互換というよりは、AVRマイコンクロック水晶とリセットボタン、電源LET、UART接続のため引き出しピンが付いている基板です。小さくてなにより安価なので、この基板のまま完成品に実装してしまうことを想定しているのでしょうか。

部品点数が少ないですが一応キットです。作り方はaitendoの説明の通りです。表面実装のCRのはんだ付けが不慣れな方にはネックでしょうか。また、附属のピンヘッダは径が太くてブレッドボードなどに差し込みにくいので、細ピンヘッダに取り替えたほうが良いと思います。基板の裏に取り付けられた水晶は割りと高さがあるので、ピンがブレッドボードに完全に差し込むことができないなどの不具合?があります。

組み立て終わったら、USB-シリアル変換と接続します。DTR端子が付いたものが必要です。あちゃんでいいののUART端子は1番が順に、TX, RX, VCC, GND, PROG_RESET(TR5GPというらしい)となっています。TXにはシリアル変換のRXを、RXにはTXを、PROG_RESETにはDTRを接続します。USBPCに接続すると電源があちゃんでいいのに投入されるので、LEDが点灯するはずです。WindowsデバイスマネージャーでUSB-シリアル変換のCOMポート番号を控えておきます。USB-シリアル変換が付属していないだけなので、これさえ出来てしまえば、あとは普通のArduinoと同じです。

次にArduino IDEを立ち上げ、シリアルポートを設定し、ボードの指定は「Arduino UNO」にします(AE-ATMEGA328-MINIならばArduino Pro or Pro MINIに設定)。あとはプログラミングしてマイコンに書き込むだけです。

f:id:WideR:20180115013004j:image

aitendoのDIP化最小構成マイコンキット

製品名から一体何のマイコンなのかが分かりません。Webを見ればLPC1114とわかりますが、店頭だと恐ろしく見にくいLSI上のシルク印刷を読まないと分かりません。なんて不親切なんでしょうか。

「最小構成」とあるように、DIP品のLPC1114FN28と同じサイズの大きさ中に水晶とリセットスイッチ、ISPブートジャンパー、LEDが付いています。実装が楽にできてかつ395円とDIP品のマイコン単体よりも安いくらいです。下の写真は、左からaitendoのDIP化最小構成マイコンキット、SSOP28ピンタイプのLPC1114FDH28/102をDIP化したもの、DIP品のLPC1114FN28/102。サイズがすべて同じです。

f:id:WideR:20180115012958j:image

当然ながら作り方の説明は一切ありません。SSOP28ピンのLPC1114FDH28/102も自分ではんだ付けする必要があります。あちゃんでいいのようにシリアルと接続する端子が出ていません。LPC1114の使い方をある程度知っていないと手出しできませんね(汗)。

あちゃんでいいのと同様、USB-シリアル変換を用意しておきますが、TXとRXだけで結構です。最小構成マイコンキットの16ピンと15ピンにそれぞれtx, rxと書かれています。下の写真のようにUSB-シリアルクロスで接続しておきます(もちろん、GNDとVCC(3.3Vなので注意)も忘れずに)。

プログラミングmbed環境を使うことができます。mbedのターゲットプラットフォームをmbed LPC1114FN28にしてプログラミングビルドすると、binファイルダウンロードされてきます。このbinファイルマイコン転送する方法はいくつかありますが、一番簡単でオススメなのは、LPCIPSというツールを使ってbinフィアルをUART経由でマイコンへ書き込む方法です。ISPモード転送する必要があるのですが、最小構成マイコンキットのISPジャンパーをショートしてリセットボタンを押すとISPモードに入ります。この状態でLPCISPでファイルを書き込んで下さい。書き込み後、ジャンパーを外してリセットボタンを押すと書き込まれたプログラムが起動します。

f:id:WideR:20180115012936j:image

激安ARM STM32F103C8T6ボード

以前STM32F103C8T6ボードの紹介をしました。このときはUART経由で書き込む方法を紹介しましたが、ボード上にST-LINK用の端子がついているので、今回は簡単なST-LINKで書き込む方法を紹介します。

ST-LINKST様のプログラマ/デバッガの書き込むツールで、純正品の他に中華コンパチ品も出回っております。後者のドングルが500円くらいで入手できるので、STM32を使う人は揃えておいて損はないと思います。なお、Nucleoの頭の部分についているのがST-LINKです(偶然にもSTM32F103C8T6が使われています)。あまりメリットないですがNucleoでもST-LINKで接続することができます。

ボードのST-LINK端子にそれぞれドングルのピンを接続します。STM ST-LINK UtilityST様からダウンロードし入手します。最初にST-LINKPCを接続した時に、ST-LINK自身のファームウエアをアップデートしておきましょう。ST-LINK Utilityはbinだけでなくhex形式も読めます。LPC1114と同様に、mbed環境でプログラミングビルドして得られたbinファイルST-Link Utilityに読み込ませ、"Target -> Program"でマイコンに書き込むことができます。

f:id:WideR:20180115012952j:image

ボード、ST-LINKともに中華品なのでとても安いです。mbed環境がそのまま使えて、高性能なマイコンを使いこなしたいならば、この構成が最強なのではないでしょうか。

2018-01-07 8J1C70Y終わりました

8J1C70Y終わりました

| 8J1C70Y終わりましたを含むブックマーク 8J1C70Y終わりましたのブックマークコメント

だいぶ遅れてしまいましたが、あけましておめでとうございます。2018年もよろしくお願いします。

さて、去年の5月から始めていました、茅ヶ崎市制70周年の記念局、8J1C70Yが昨年末でで閉局となりました。正月明けて、各運用者からのログが集まり、QSO統計を取りました

まずはエリア別集計

JA1JA2JA3JA4JA5JA6JA7JA8JA9JA0DXS.T.
1.9M4217151042146390122
3.5M3051271145323251092337684888
7M1,606671821386161233475161142246634,965
10M124617252234568349184510
14M411110155814111818142
18M354252813212625346190
21M73135049237934351323383
24M18421142147703191
28M216440131411661
50M2145040800001232
144M21720000010000238
430M42327500030030461
1200M600000000006
SAT471836231906173151
Total3,1729841,1736382554577523121983701298,440

次にモード別集計

CWSSBFMRTTYDSTARS.T.
1.9M1220000122
3.5M223665000888
7M2,8902,00307204,965
10M5100000510
14M1339000142
18M16129000190
21M144239000383
24M91000091
28M58300061
50M98134000232
144M1141101400238
430M850352024461
1200M006006
SAT13714000151
Total4,7663,20637272248,440
%56.5%38.0%4.4%0.9%0.3%100%

運用者別集計

運用者QSO数%
JF1DIR4,64055.0
JR1CFM2,37528.1
JK1THE1,02412.1
JG1TRT1391.6
JH1XHX1111.3
JL1UGN410.5
JA1DIR290.3
JE7IZM200.2
7N4NMF170.2
JE1TOZ110.1
7M4RKS100.1
JM1NHQ60.07
JI1SLZ30.04
JO1KXP30.04

となり、トータルで8,440QSOと予想を大きく上回るQSO数でした。たくさんのQSOありがとうございました。

2017-12-30 2017年振り返り

2017年振り返り

| 2017年振り返りを含むブックマーク 2017年振り返りのブックマークコメント

今年も残り僅かになりましたので、例年通り今年の振り返りをやってみたいと思います。さて振り返りることなんてあるのかな?・・・(汗)

無線運用の停滞

condx低下と去年に10万QSO突破してしまったことも相まって、無線を運用すること自体がだいぶ減ってしまいました。モチベーションが低下してしまったということです。家からではDXを手軽に楽しむことができなくなってしまったし、国内の移動おっかけは飽きてしまったし、これまでマメに参加していたローカルコンテストもパスすることが多くなってしまいました。正しくカウントしていませんが、個人コールで運用したのは、2,000〜3,000QSOくらいだと思います。以前は10〜15kだったのに。

去年は海外運用をたっぷり楽しんだのですが、今年は結局いけず(全く運用せずにパラオの免許の期限(1年)を切らしてしましました)。まぁ、condxとともにモチベーションが上昇すると思います。

仕事が忙しくなってきた

今年度に上級の経営基幹職になってしまったせいで、仕事の密度が上がってしまい、休暇を自由に取れないなど、趣味に少し影響を受けたと思います。仕事の方は割りと充実しているので、このことがストレスになっているわけではないので、さほどマイナスではないのですが、昔のように勝手なことができなくなってしまったのは確かですね・・・

地元の無線クラブの運営

JQ1ZQQという地元の無線クラブの役員をやっています。このクラブの運営に従事することが今年は多かったと思います。おかげさまで、構成員も順調に増えて、これからやらなければならないことが山積みですが、以前よりは活発なクラブになってきたと思います。

体調すぐれず

気管支の炎症と一年中、咳が止まらない症状に悩みました。いろいろ調べてみると重度のアレルギーとのこと。特にスギ花粉、ハウスダスト、イヌ?ダストに過剰に反応する体質になっているとのこと。原因が分かりホッとしているのですが、アレルギーの薬が手放せなくなりました。また、アレルギーが原因か分かりませんが、免疫力が低下し、ちょっとダイエットするとすぐに風邪を引いてしまうことが多くなりました。体調悪くてコンテストの参加を辞退、というのも多かったです。

自作派復活

無線運用の方が不活発になってきた反面、自作・電子工作のほうが活発になった年だと思います。JL1VNQさん設計のVN-4002に出会ったせいで自作熱が復活。ついでにARMマイコンいじりも復活。秋葉原では無線屋よりもパーツ屋に行く機会が増えました。まだ作ってないVNシリーズがあるのでこの冬休みで作ってみたと思います(汗)。

f:id:WideR:20171230203427j:image

記念局8J1C70Yの開設・運営

今年は何と言っても記念局の開設・運営をやったことでしょうか。実質的にほぼ私一人が開設から運営管理までやったのですが、やはり一人ではどうしてもできないことがあり、各方面にはご面倒をおかけしたと思います。また地元茅ヶ崎市やJARLにもいろいろお世話になりました。記念局の開設や運営については改めて別の記事で語りたいと思います。

f:id:WideR:20171230203817j:image

というわけで、今年はいろいろお世話になりました。来年も引き続きよろしくお願いします。

JE1RXJJE1RXJ 2018/01/06 18:03 茅ヶ崎市制70周年記念局の運営お疲れ様でした。今朝も富松さんと1年間の活動に敬意をお伝えしました。クラブ員も増えて、なお一層のクラブ局の活躍をお祈りします。
 お体、ご自愛ください。長い人生ですから、アクティビティの高い低いは、皆ありますので、細く、長くこれからも無線をお楽しみください。

WideR(JF1DIR)WideR(JF1DIR) 2018/01/07 22:52 RXJさん、コメントありがとうございます。
柳島での公開運用ではお越しいただいたようでありがとうございました(私は所用のため欠席してしまいましたが)。
無線はいろいろある趣味の一つですし、マイペースで楽しみたいと思います。

2017-12-25 NucleoにMicroPython入れてみた

NucleoにMicroPython入れてみた

| NucleoにMicroPython入れてみたを含むブックマーク NucleoにMicroPython入れてみたのブックマークコメント

以前、Pyboradという最初からMicroPythonが実装されているボードを使ってみました。MicroPythonはSTM32系を中心にどんどんポートされているようです(PyboardのマイクロコントローラもSTM32F405RGです)、安くて入手しやすいNucleoでも動かせるようなので、早速やってみました。実装の仕方はいろいろありますが、Windows上で一番簡単と思われる方法をご紹介します。

まずチップに適合したMicroPythonのバイナリダウンロード

ソースから自分でビルドしてみるのもよいのですが、バイナリダウンロードしてくるのが一番早いです。ダウンロードページはココです。すべてのNucleoボードのバイナリが用意されているわけではありません。運良く手持ちのNucleo F411REのバイナリがあったのでそれをダウンロードしました。ここではDFU形式のファイルとなっています。

DfuSeDemoをインストール、DFUからhexファイルへ変換

次に、STmicroが用意しているツール、DfuSeDemoダウンロードインストールします。このツールを使って、NucleoをDFUモードで起動して書き込むことができるのですが、ジャンパーを用意したり、うまくいかないことがあったので、本体のDfuSeDemoではなく、DfuSeDemoと同じディレクトリにあるDFU File Managerを使いました。このツールでダウンロードしてきたDFUファイルをhexファイルへ変換しておきます。

f:id:WideR:20171225212100j:image

hexファイルST LinkでNucleoへ書き込む

PCとNucleoをUSB接続すると、PCストレージ扱いになりかつSTLinkでつながっているで(デバイスマネージャで確認できます)ST-Link Utilityを使って書き込むことができます。Nucleoと接続した状態でST-Link Utilityを立ち上げます。Target→Connectで認識させ、File→File Openで上で変換したhexファイルを開き、Target→Programでhexファイルを書き込みます。

f:id:WideR:20171225212120j:image

TeratermでMicroPythonを起動

ST-Linkと同時にシリアル接続にもなっているので、Teratermなどのターミナルソフトで接続し(ボーレートを115200に設定)、NucleoのRESETボタンを押すと、MicroPythonが起動します。これで完了です。また、uPyCraftというツールを使っても動かすことができます。

例によってLチカプログラムを打ち込むとすぐさま動作しました。

f:id:WideR:20171225212141j:image

自分でビルド

チップに適合したバイナリがない場合は、自力でビルドするしかありません(すべてのチップ対応しているわけではありません)。ソースGitHubココにあります。tarを展開したディレクトリを~/micropython/とすると、~/micropython/stmhal/boardsに対応しているチップ(ボード)のディレクトリがあるので、そのボード名をmake時のBOARDに指定して(例えばNUCLEO_F767ZIならば)、

$ cd ~/micropython/stmhal
$ make BOARD=NUCLEO_F767ZI

とし、成功するとbin, hex, dfuファイルが生成されます。hexファイルを上の方法でST Linkで書き込めばOKです。なおビルドにはARM GCCツールチェーンが必要なので最新のものをインストールして下さい。その方法はmbed CLIを紹介したページをご覧下さい。