CJMCU-9833
2019年2月8日 - 未分類
AD9833を使った、ファンクションジェネレータのモジュールをRaspberry Piで動かしてみました。モジュールの左側の金属製のチップは25MHzの発振器のようですね。REFは、発振器の出力とつながっています。SPIで制御します。
周波数制御の他に、位相制御もできるものなので、複数のCJMCU-9833を使って、位相シフト制御ができるものを試作したいと思っています。
先ずは、Raspberry Pi 3B+でPythonを使って、CJMCU-9833を使えるようにしてみました。githubにコードをアップしてあります。このコードは、4つのCJMCU-9833をコントロールするものです。Raspberry Piで動作するAD9833のpythonコードを参考にして、ArduinoのAD9833のコードをPythonで書き直し追加ています。また、gpiozeroをpigpioに変更したものも作成してあります。
Raspberry PiのSPIは、CEが2つか3つしか使えないので、MOSIとCLKを共通にして、CEだけ4つ、GPIOで割り当ててあります。また、SPIへの書き込みは、MOSIポートをON/OFFすることで実行しています。GPIOライブラリー系のspi_xferが4つのSPIデバイスに使えなかったためです。
共通の発振器を使うために、CJMCU-9833の改造を行います。
モジュールの基板の発振器につながっているパターン2箇所を切断します。
発振器をバイパスするように配線をします。
これで、4つのCJMCU-9833が共通の発振器で動作するようになりました。
オシロスコープの1chでトリガーをかけると、位相シフトが見えます。