2021年1月27日水曜日

AD9833 ファンクションジェネレーター②(arduinoに慣れる)

AD9833を使って、さくっとファンクションジェネレーターを構築しようと思います。
しかし(-_-;)
あるでぃーのなるものをつかわな、いけないーの。
ということで、前に買っておいたマルツ謹製の互換機を出してきました。(安売りで600円位だったので何気に買っていた)
これです。
これを使ってAD9833ボードを制御するということらしいです。
そしてarduinoはPCにIDEというものをインストールしてプログラミングするらしいです。
ということで、いろいろ調べてみました。

プログラミング言語は、どちらかというとC言語に似ている模様。そして、それはarduinoではスケッチと呼ぶらしい。覚えればなにかと役に立ちそうな感じがします。

さっそくIDEをインストールすることにしました。

起動するとこんな画面が立ち上がります。
使用するボードを選びます。
通常であればArduino UNOが選ばれているはずです。
あとは、USBで接続して、シリアルポートを選んでスケッチ(プログラム)を書き込む党手順になります。

動作確認でするのは、はい、そうです。LEDの点滅・・・・いわずもがなLチカですね。

と、その前にスケッチの保存場所を決めておきましょう。

環境設定にスケッチブックの保存場所を指定するところがあります。スケッチはこの中の、スケッチ名と同じ名前のフォルダの中に置かなければなりません。
私は、複数のPCから参照できるようにonedriveのドキュメントフォルダにarduinoフォルダを作成しその中に保存するようにしました。

あとは、他の人のを参考にして、スケッチの書式を勉強していくことにします。



2021年1月26日火曜日

PAM8403の電源オンオフ時ポップノイズをなくす(再)

PAM8403の電源入り切り時のポップノイズがかなり大きく、そのまま使うにはためらうほどでした。

なので、常用するためにはなんとかしなくてはいけなく、試行錯誤の結果有効な方法をみつけ、以前の投稿の回路を使っていました。

満足していたのですが、このところaliexpressで買い物をすることが多くなり、MOSFETである2N7000も非常に安く手に入れていました。

使い道を考えたら、スイッチング用途に最適なわけで、、PAM8403アンプのmute制御に使ってみようと。。。。考え始めました。

実験してみたところ、思いのほかスマート(理解しやすい)な回路になりました。

PAM8403のミュート端子は2.5V以上の電圧、あるいは開放(PVDDに内部プルアップされている)でミュートが解除されます。ミュートはGNDレベル(0.3V以下)でオンになります。

当初、LEDは青を使っていましたが、それだと2.2kΩ両端が2.4Vまでしか上がりません。ゆえにミュートが効いたままで、電源を入れても音が出ない状態でした。

青色LEDは順方向電圧が2.5V程度ありますので、5-2.5V≒2.45Vでミュート解除するための電圧が微妙に足りなかったようです。
なので、GreenLED(順方向電圧1.7V程度)ものに変更しました。これで3.3V程度になり、うまくミュートが外れるようになりました。

動作としては電源オン時直後は5ピンはGNDレベル、それから22μFが100kΩを介して徐々に充電されて約2秒後にMOSFETがオンになりto5pinへ3.3Vが供給されます。結果PAM8403の起動完了後にミュート解除となりポップ音が抑制されます。
電源オフ時は22μFの電荷がダイオードを通してLED側にながれ放電。すぐさま5ピンがGNDレベルに戻りミュートがかかるという具合です。

なかなかうまくいきました。

2021年1月24日日曜日

AD9833 ファンクションジェネレーター①

これまでファンクションジェネレーターのキットを試してきました。

#ファンクションジェネレーター

実用性はともあれ、なかなか楽しめるものだったのですが、ここはひとつキットじゃなく作ってみようかと思い始めました。

そこで、どんなものにするか考えてみることにしました。

Amazonをみると、有力なモジュールがみつかりました。

AD9833


AD9850

この2つを手に入れてみました。

AD9850は40MHzとかなり高い周波数まで正弦波を発生できるようです。それに対してAD9833はクロックが25MHzですので10MHz程度まででしょうか・・・・

こちらは値段が1000円しないのでお安いです(笑)

使用用途としてはオーディオ領域で使えるようにと考えているので、500kHz程度までの正弦波が発生できれば十分です。するとAD9833で十分そうです。

さて、どんな感じにしましょうか。。。。

  1. 正弦波が出力できればよい
  2. 周波数は~500kHz程度まで
  3. 出力電圧の変動は最悪1dbまでは許容
  4. 歪率は低いほうがいいが歪率測定用途はあきらめる
  5. 出力電圧は最低でも0db(1VRMS)は欲しい
  6. 周波数と出力電圧は連続で簡単に変更できる

参考にしたページのメモ

どうやら、Arduinoを使うのが簡単らしいことはわかった。

でも、いままで使ったことなかったからなぁ。まぁ、でも、おもしろそうなので挑戦してみることにします。

楽しい制作の始まりです。。。(笑)

2021年1月3日日曜日

PAM8406を使ってみる②

先に作ったPAM8403 D級アンプの基板は差し替えできるように作りました。

PAM8403基板がたくさんあるので、ひとつPAM8406に換装しようということです。

まず、入力部の10kΩはそのまま使うのでそれ以外の部品を外していきます。
入力カップリングコンデンサは基板外のものを使うので、コンデンサがあったところには10kΩのチップ抵抗をつけて入力インピーダンスをトータルで20kΩとします。
コンデンサは、
PVDDのところは4.7,0.1,0.001μF
VDDは4.7,0.1μF
VREFは4.7μFとしました。
PAM8406の9番ピンはテープでGNDから浮かせてますので、このまま使えばD級動作になります。(あとでAB級にするかもしれませんがD級でも音は変わらないので)

基板を差し替えて完成!!

最高出力を測ってみました。
スピーカは6Ωのものを使っているので、ダミーロード6.8Ωとしました。(近い抵抗値のものを選んだ)

ノンクリップの状態で
電圧が3.01Vなので、3.01/6.8x3.01=約1.33Wの出力になります。これは、自分が組んだMiniWatterとほぼ同じぐらいの出力でした。
(これくらいの出力でも出しっぱなしにしてるとダミーロードの抵抗がかなり熱くなります。。。)

音は、、、PAM8403と変わりません。相変わらず解像度が高く透明感のある好みの音で鳴ってくれています。

2021年1月2日土曜日

そこそこつかえる交流電圧計アダプタを作る①

 電子工作をするようになって、テスタをまず買いました。今の時代、昔と違ってデジタルマルチメータと言う名前で、とても安く手に入るようになりました。

安いのだと、680円とかいうのが普通にあったりします。すごい時代になったもんだと思ったものです。だけど、このDMM。アナログのと違って交流電圧機能がいまいち。。。。

なにが、いまいちかと言うと、周波数特性が・・・・・

せいぜい上は2kHzぐらい迄しか使えません。テスタを使ってアンプなどの周波数特性をとろうなんてことはできないわけです。

なんとかならないかなって思っていたら、こんな記事を見つけました。

この記事を読んで、作ってみたくなりました。

まず、手始めにこのなかの簡易バージョンを作ろうと思い考え始めました。
決めておかなければならないことがいくつかあります。
  • 大きさはどうするか(アダプタとしてつかえる大きさか測定器程度の大きさか)
  • 電源はどうするか(上の大きさとも関連してくる)
これは、色々考えて最初は簡単につくりアダプタとして使うんだけど機能としてはうまくいったら将来(高確度Ver)に拡張できるようにと考えました。
なので、まずすべての部品を基板に配置できるようにレイアウトを決めておき、最初はその一部だけ作るようにしようと決めました。

アダプタタイプにするので電源は乾電池を使い±12Vは昇圧ボード(aliexpressから入手)を使うことにします。

https://ja.aliexpress.com/item/32814479685.html?spm=a2g0s.9042311.0.0.27424c4drdifPn
これを使って電池3本(4.5V)から±12Vを出力します。

基盤は秋月のCタイプ基板にすべて載せられるようにしました。

回路は先の記事の回路そのまんまです。
電源部分は省略してあります。
抵抗値は手持ちのものの関係で若干変更してあります。

そして、まず最初に作るのはこの回路のうち、
この部分だけです。
理想ダイオード回路の部分だけを抜き出したものです。

この部分だけでも、入力電圧が〜10V程度まで,入力抵抗が10kΩと低いなど、制限があるものの交流電圧計として実験できます。


大きさは秋月C基板なので結構小さいです。
ケースはセリアで手に入れたカードケースを使うことにしました。というかカードケースにあわせた大きさでレイアウトしました。
出力側はピンジャック、入力はRCAジャックを使いました。

ファンクションジェネレータを使って周波数特性をみてみることにします。
グラフは、オペアンプにTL072を使った場合とLME49720を使ったものです。
LME49720を使えば、XR2206ファンクションジェネレータとの組み合わせでは200kHzで-0.85dbなので、-1dbまで許容するとすればそこまでは使えそうです。(TL072では100kHz程度まで)

まあ、アンプの特性やらフィルタの特性ぐらいだったら使えそうです。
オフセット(未入力時の電圧)はICの個体差にもよりますが今回の個体では0.2mV程度でした。
精度は周波数500HzでDMMとの比較で1%程度の誤差のようです。
測定器として使おうとすればもっときちんと校正やら調整やら必要ですが、ホビー目的ならこのままでも普通に使えそうです。こうやって作ってみるのも楽しいものですね。回路図を公開し丁寧な説明を加えてくれた「6畳間の真空管アンプたち」さんに感謝です。





AppleTV A1469でAirPlayが使えずハマったのでメモ

ハー○オフでAppleTV第3世代を手に入れた 破格の1650円だったので迷わず購入 ボードの上にあるのが第2世代、そして、アンプの隣にあるのが今回のターゲット。 今まで第2世代のAirPlayを使ってRoonのレシーバとしていた。 特に問題なく動いていたのだが、なにぶん設計が古...