2024年4月22日月曜日

安価なアンプICモジュールの使用感や音の違いを比べてみる

別のことで時間を使っていたために少し前のことになりますが、以前から取り組んでいたアンプICモジュールを使ったいろいろな実験の続きです。これまでは、安価なアンプICモジュールとしては定番とも言えるPAM8403Datasheet←PDF)が使われているものを主に使用していました。
#私が使っているものは、Amazonで見つけたかなり安価なアンプICモジュールで、6個入り999円(1個約167円)でした。

Amazonでは、PAM8403の他にも似たようなアンプICを使ったモジュールが販売されていて、使用感や音の違いを調べてみたいと思いました。今回購入したものは、PAM8610Datasheet←PDF)とTDA2822Mのそれぞれを載せたアンプICモジュールです。

PAM8403のときは、USB電源から5Vを供給していましたが、今回の2つを使うにあたって、電圧の違いによって動作が変化するのかも確認しようと思いました。そこで、かなり以前に購入していたYAZAWA(YZW)のACM1000という出力電圧を変えられるACアダプタがあったので、これを使って確認することにしました。ということで、比べてみた感想をまとめておきます。音源は、Linux Mintで動かしている自作PCからYouTubeの検証系動画で使われている音源を使いました。

〈PAM8403〉

  • 増幅された音量は、今回比べた3つの中で真ん中くらい。
  • 出力側の音量を上げすぎると、音がとぎれとぎれになって実用に耐えない。
  • 総評としては、使えなくはないけど、好んで聴くレベルのアンプではない感じ。
    ※音質的には残念なところはあるが、音の出方を確かめるという点ではそこまで悪くない。
  • チープなスピーカーと組み合わせて使うなら十分に役に立つ。
    ※そもそも安い(1個約167円)のだから多くを期待するべきではない。

〈PAM8610〉

  • 増幅された音量は、今回比べた3つの中で一番大きい感じ。
  • 1,000円を超えるアンプユニット(詳細は後日)と音量的には遜色がない。
  • 7.5V〜12V(7.5V〜15V対応)で安定して使うことができた。
    ※5V程度では、全く音が出ない。今回使ったACアダプタの上限が12V。
  • アンプICにはヒートシンク付いていて、動作時はほんのり温かいくらい。
  • ボーカルやトークの声ははっきりしているものの、低音域はあまり強く聞こえず、低音がしっかり聞こえるまで音量を上げると、今度は高音成分がきつく感じるようになる。
  • 総評としては、ぎりぎり常用可能なレベルだが、音楽を聴くのには向いていない。
  • 基板には、シルク印刷で「HW-210」とあり、様々なところで類似品が作られている。Amazonで2個998円(1個499円)だった。
    【参考】「EasyWordMall PAM8610」など

〈TDA2822M〉

  • 増幅された音量は、今回比べた3つの中で一番小さい感じ。
  • シルク印刷で1.8V〜12V対応となっているが、電圧の差で動作変化はあまりない。
    ※電圧が高いと、アンプICが非常に熱くなるので4.5V前後のあたりが一番良い感じ。
  • 初めて使用した際、+−を逆につないでしまってアンプICを焼きかけて、かなり焦った。(余談だね)
  • 実装されている部品点数がPAM8610のアンプICモジュールよりかなり少なく、表面実装部品が使われていない。
    ※改造ベースとして使っても面白いかもしれない。
  • 出力側の音量を上げると、音の輪郭がはっきりする(ボーカルやトークが聴きやすくなる)。低音域もしっかり聴こえるようになってバランスが良いと感じる。
  • 総評としては、音量の小ささに目をつぶれば、普段使いで問題なく使える。
  • 参考になるようなよい活用事例を見つけることができなかった。Amazonで1個732円だった。

ということで、実際に比べてみた感想でした。徐々に沼にハマっていく予感しかしないのですが、実際にもう少し実用的なアンプを購入してしまっています。オーディオ関係の価格は青天井なので、価格が高いものは無理だとしても、身の丈にあった価格帯でより良いものを探したり試したり作ったりしながら、もう少し楽しんでみたいと思います。

2024年4月13日土曜日

micro:bitからモータドライバモジュール(TB6612FNG)を使ってDCモータ(マブチ130同型)を動かせるかやってみる〜プログラムを作って完成

前回の続きです。FT-DC-002や自作ロボットカーベースをラジコンカーに仕立てて、モータドライバICモジュール(TB6612FNG)とmicro:bitマイクロビットブレイクアウトボードキットを使用)でラジコンカーを作るところまでは終わりました。

今回は、2つのmicro:bitにそれぞれ「ラジコンカー」と「コントローラ」のプログラムを流し込んでみます。MakeCodeを使って作ったプログラムは、以下のとおりです。備忘も兼ねて少し解説も加えておきます。

〈ラジコンカーのプログラム〉

モータドライバICでモータを制御するために、micro:bitからPWMでアナログ出力をしておく必要があります。それから、どちら向きに電気を流すか、または、流さないかを制御しています。デジタルで「1」は、電気を流すことを表し、「0」は、電気を流さないことを表しています。この電気を流すことによって、モータドライバICのモータ側の電気のON/OFFや正逆回転が制御されることになります。

〈コントローラのプログラム〉

micro:bitの傾きを検知して、停止、前進、後退、右回、左回の5つを制御するプログラムにしました。同時に、現在の状態を示す矢印(「↑」…前進、「↓」…後退、「←」…左回、「→」…右回、「−」…停止)を5*5LEDマトリクスで表示するようにしました。こちらのプログラムは、サーボモータで動かしたい場合でも共通して使うことができます。

FT-DC-002と自作ロボットカーベースで試してみましたが、問題なく動作してくれました。強いて問題点を上げるとすれば、やはり配線の複雑さですね。サーボモータのときのようにmicro:bitから直接制御できず、モータドライバICを挟まなければならないため、どうしても配線は複雑になります。モータドライバICが組み込まれたブレイクアウトボードやワークショップモジュールのようなものが出来上がるとラジコンカーを簡単に作ることができそうです。せめてもの対策として、ユニバーサル基板にモータドライバICモジュールを載せて、micro:bitのブレイクアウトボードに簡単に接続できるように工夫してみたいと思います。

2024年4月7日日曜日

micro:bitからモータドライバモジュール(TB6612FNG)を使ってDCモータ(マブチ130同型)を動かせるかやってみる〜ラジコンカーの作成

前回の続きです。FT-DC-002や自作ロボットカーベースをラジコンカーに仕立てます。組立・配線作業をする前に、DCモータ(マブチモーター130同型を使用←黄色のギヤボックスにはまっている、よくあるギヤ付きモータ)にバイパスコンデンサ(パスコン)をはんだ付けします。今回は、0.1μFのセラミックコンデンサを使いました。モータドライバICモジュール(TB6612FNG)とmicro:bitマイクロビットブレイクアウトボードキットを使用)の配線は以下のとおりです。

実際の配線は、以下の写真のようになっています。線が多くてどうしてもごちゃごちゃした感じになってしまいますが、わかりやすくする工夫は今後の課題だと思っています。



モータを動かす電源は、単4乾電池2本で3.0Vを用意しました。ブレイクアウトボード上のmicro:bitには、microUSBコネクタからも給電します。これは、micro:bit自体を動かす電源とモータを動かす電源を別に用意することで、効率よくモータを動かすことができるようにするためです。microUSBケーブルでの給電の他に、電池からの給電も可能です。その際は、電池ボックスを別途用意する必要があります。

この構成で、自作のロボットカーベース(タミヤダブルギヤボックスを使用)も問題なく動かすことができました。DCモータ自体は回転が速いので、ギヤボックスはどうしても必要になります。その点で黄色のギヤ付きDCモータはかなり安価なので、今後はFT-DC-002に付属していたもの(自宅にも在庫が豊富にある)と同様のギヤ付きDCモータを活用する方向で考えていきたいと思います。

次回は、いよいよプログラムの作り方をまとめていきます。MakeCodeを使ってプログラムを作ってmicro:bitに流し込んで完成です。

2024年4月2日火曜日

micro:bitからモータドライバモジュール(TB6612FNG)を使ってDCモータ(マブチ130同型)を動かせるかやってみる〜実験の下準備

以前から、「micro:bitでロボットカーを動かす」ことを教材化しようと個人的に研究をしていますが、これまで使ってきたものはServoモータを使用していることが多かったため、ディスカウントに限界を感じていました。安価で手に入るマブチモーター130)のようなDCモータ(自宅にも在庫が大量にある)を使うことができれば、かなりのディスカウントになります。DCモータを動かすためには、micro:bitで直接コントロールすることはできず、モータを動かすための電源とモータドライバICが必要はなずです。

過去にTA7291Sdatasheet)を使ったモータドライバICモジュールを作って、Arduinoやその互換機で動かしていましたが、このIC自体が1モータにしか対応していないため、これを2つのモータを動かすために使うとなると回路が大きくなってしまいます。(以前作ってみた1モータ+サーボステアリングなら使える可能性もありですが)そこで、たまたまAmazonで見つけたTB6612FNGという2チャンネルのモータドライバICを載せたモジュールを使ってみることにしました。
#購入時は、モジュール2個で1,499円でした。似たようなものでDRV8833というモータドライバICを載せたモジュールもあって、性能は若干落ちるようですがより安価なようです。

これを、FT-DC-002というアルミ筐体でDCモータを挟む構造になっているロボットカーキットやタミヤユニバーサルプレートダブルギヤボックス(ユニバーサルプレートと組み合わせるならツインモーターギヤーボックスの方がぴったりサイズです)とボールキャスターを組み合わせて作ったロボットカーベースに載せて動作実験をします。
#この自作ロボットカーベースは、スタジオMYUさんの「ミュウロボ」を参考にして作ったものです。

今回の作業は、サヌキテックネットさんの「DCモーターを制御する」を参考にしながら進めます。TB6612FNGモジュールは小さなブレッドボードに載せて、micro:bitはブレイクアウトボード(秋月電子通商の「micro:bit マイクロビットブレイクアウトボードキット」を使用:基板に「AE-MBIT-BREAKOUT_V」とシルク印刷されていた)に挿して、ジャンパワイヤーでつないで使うことにします。

ブレイクアウトボードに挿したmicro:bitをモータの制御に使ってラジコンカーを作り、もう一つのmicro:bitをラジコンカーのコントローラとして使います。見た目がごちゃごちゃした感じになってしまいましたので、もう少し整理してわかりやすくしていきたいと思います。

と、ここまででだいぶ情報量が多くなってしまいましたので、続きはあと2回に分けてまとめていきます。記事を公開したら、下のリストにリンクをはっていきます。