以下、回路の要点を説明しておきます。超音波を可聴周波数に変換するには”2つの周波数の信号を乗算すると、それらの和と差の周波数を持つ信号が得られる”という原理に基づきます。2sin(2πf1)sin(2πf2)=-cos(2πf1+2πf2)+cos(2πf1-2πf2)で、詳しいことは置いといて(当ブログは全部こんな調子です、御容赦を)、実現する方法として最も簡単なのが「乗算する信号に方形波を使う」方法のようです。PSoCでもアナログブロックの入力にあるスイッチを切り替えて、信号入力の正負を反転させる(=半波長が1、残りが-1の方形波を乗算する)ことで実現できるそうです。乗算後の信号には和の周波数成分が含まれますが、これをローパスフィルタで取り除くと、差に相当する周波数が得られます。聞きたい超音波に近い周波数を乗算すれば、可聴周波数にまで落とすことができるわけです。Style)乗算する信号すなわちスイッチの切り替えタイミングはデジタルブロックに構成したPWMで発生し(局部発振器と称する)、この出力を入力スイッチの制御信号(AMOD)に接続して変調を掛けます。designerのメニューに従えば簡単に設定できます。本器では局部発振周波数を40kHz、ローパスフィルタのカットオフ周波数を10kHzとしています。”PWMの出力を入力スイッチのAMOD信号に接続”する方法はメニューにはありません。生成されたCPUのソースリストに追記する必要があります。GlobalOutputEven[0]M8C_SetBank0;4行目、レジスタAMD_CR0の設定によりアナログモジュールASC10またはASC12のAMOD信号の接続先を設定することができます。(ここではPWM出力をGlobalOutputEven[0]を通してAMODに接続している)以下にPSoCのプロジェクトファイルと、周辺回路図を置いておきます。(71.5K)周辺回路は電源、出力アンプと超音波センサぐらいです。空中用超音波センサR40-10を、出力アンプにはNJM2073を使用しています。刊)謝辞:設計に当たり参考にさせていただきました。10のオプションパッチにCPUの高負荷を招く不具合)(2019.09.04)「チ~ン!」ゼンマイタイマーを作ってみた(2019.04.05)コメントコメントを書くコメントは記事投稿者が公開するまで表示されません。宮崎市北西部に位置する生目古墳群の写真を集めました。cocologでは1MB以上のファイルがダウンロードできませんので生データが必要な下記のリンクへどうぞ。ikime0704写真:。