エレクトロニクス工作室
No.132 PSoCを使ったFG
1.はじめに
今までFG、つまりファンクションジェネレータは専用のICを使ったキットで作った事があり、これはNo.82で紹介しました。今回はPSoCを使ってみました。PSoCはピーソックと読みます。ICの中にアナログ、デジタル、CPU等が入っており、これをユーザーが設定するという面白いものです。最近このPSoCを始めたばかりで、これが最初の作品になります。まだまだ初心者ですが、やっと本のとおりに動くようにはなりました。
お手本は、CQ出版の『改訂はじめてのPSoCマイコン』(写真1)の6章で紹介されている、簡単な回路に惹かれて写真2のようにまとめてみました。出力レベルを可変できるようにアッテネータを追加しただけで、私のオリジナリティは全くありません。もちろん、CQ出版社の許可を頂いています。ありがとうございます。
写真1 『改訂はじめてのPSoCマイコン』です。付箋紙だらけですが、外すと戻すのが大変なので・・
写真2 このようにまとめたファンクションジェネレータです。
2.回路
図1のような回路になります。オリジナルの回路と描き方が違うだけで、内容としては同じです。誤って出力をショートさせると出力ポートに負担がかかりそうですので、560Ωをシリースに追加しました。およそ600Ωの出力インピーダンスとし、その後段に600Ωで20dBの可変アッテネータを付けています。PSoCの出力は、アナログポートもデジタルポートも吐き出しは10mAまでです。従って、560Ωの後で間違ってショートしても問題ないと考えました。出力は1Hz~20kHzの音声帯域ですので、600Ωのインピーダンスが扱いやすくなります。アッテネータは1dBステップの20dBを使いましたので、少し減衰量が足りないかもしれませんが、あとは外部のアッテネータでカバーできるでしょう。アッテネータは東京光音のT型不平衡(T20KS 20dB 600Ω)のジャンクです。このようなアッテネータが入手困難であれば、VRを使い図2のようにすれば良いでしょう。
PSoCの電源は5Vですので、入力に12Vを使う場合はレギュレータが必要となります。DCジャックを変換基板でユニバーサル基板に載せられるようにし、78L05で5Vを作っています。
図1 本のとおりの回路にアッテネータと電源用ICを付けました。 (※クリックすると画像が拡大します。)
図2 VRを使う場合はこのようにします。
3.PSoCの設定
ハード的な回路よりも、PSoCの内部にどのようにアナログ回路とデジタル回路を設定するかがポイントになります。また必要となるのが、写真3のようなminiprogとパソコンの設定などの環境作りになります。このminiprogは同じCQ出版の『 PSoCに目覚める本』(写真4)に付属していたものを使いました。初めての場合にちょうど良い本だと思います。この本で基本的な操作や設定を試したあとで、「改訂はじめてのPSoCマイコン」に付属していたCDからPSoCの設定を行いました。前述のとおり、全くのコピーです。
写真3 書き込みに使うMiniProgです。
写真4 MiniProgはこの本に付属していたものです。
4.作成
最初は写真5のようにテストボード上で組み立てて、動作を確認しました。その後で、このFGの面白さに惹かれて仕上げる事にしました。このように、私としてもあまりない経緯で作られています。
普通のケースに入れるか、基板を出したままのボードタイプにするかでずいぶん考えましたが、ケースに入れた場合はロータリースイッチを用いてサイン波、方形波、三角波を切り替えなくてはなりません。しかし基板のままなら、ジャンパーピンで簡単に切換えができ、工作も簡単になります。今でも入手は可能なのですが、手持ちの少ないロータリースイッチを使わなくて済むという理由が決め手です。
そこで基板を出したままのボードタイプで作る事とし、部品を写真6のように集めてイメージをまとめます。図3の実装図を作り、写真7のようにユニバーサル基板に作製しました。写真8がハンダ面の様子です。ここで動作の正常を確認しておきます。写真9のように基板とアッテネータをアルミ板上に載せて、取り付けの位置決めをします。ターミナルの間隔は、写真9のようなBNCコネクタのアダプタに合わせています。ターミナルとしてだけではなく、アダプタを通してBNCコネクタも使えるからです。もちろん音声系だからで、電源系ではやりません。このようにして、アルミ板とLアングルを加工したところが写真10です。これを組み立てて、写真11のように完成です。
波形の切換えは、写真12のように少し背の高いジャンパーピンを用意しました。低いジャンパーピンよりは、多少使いやすいでしょう。テプラを使って「それらしい」表示をしました。
写真5 このように組んで動作を確認しました。
写真6 部品を集めたところです。
図3 実装図になります。 (※クリックすると画像が拡大します。)
写真7 基板を作成し、動作チェックをします。
写真8 ハンダ面の様子です。
写真9 ターミナルの間隔は、このアダプタに合わせています。
写真10 アルミ板とLアングルを加工したところです。
写真11 完成したところです。
写真12 ジャンパーピンの様子です。
5.測定
波形の様子を紹介するためにデジタルオシロで観測してみました。測定結果1が1kHzのサイン波の様子です。同じ周波数で三角波を観測したのが測定結果2です。矩形波が測定結果3です。このように、何の問題もなく綺麗な波形を得る事ができました。周波数を変更しても、全く同じ波形となります。
測定結果1
測定結果2
測定結果3
6.使用感
これは面白いです。1Hzや2Hzなどは簡単に作れるものではありません。それを簡単に作ってしまう、このPSoCで少々遊んでみたいと思います。
注意しなくてはならないのは、PSoCの出力はアナログのGNDを作って出力しています。だからこそ1Hzでも作れるわけです。従って入力の電源のGNDと出力のGNDは2.5Vの電圧差があります。うっかり共通の電源を使った他の機器に接続すると、トラブルの元になります。そのような意味では3端子レギュレータではなく、入出力が分離されたDC-DCコンバータを使うと良かったのかもしれません。