MCP4725でDAC出力を使用する
PDHとBluetoothでペアリングされたセンサモジュールのデバイスを、PDHのNode-REDフローで動かします。
MCP4725は1ポートのDAコンバータ出力を持っており、設定した電圧を出力することができます。ここではこの出力ポートを使用してセンサモジュールに外付けしたLEDにかける電圧を変化させてみます。通常はLEDの明るさを変える場合はPWMを使用しますが、出力電圧が変更できるのを視覚的に見るためにこの事例を紹介しています。
このセンサモジュールのMCP4725のDAC出力は、電空レギュレータのように電圧で供給する空気圧を変更するようなデバイスの「設定値を保持」するような目的でご利用ください。インターフェース回路や駆動対象の機器はそれぞれの現場に合わせて構成してください。
センサモジュールのコネクタに接続するケーブルはこちらで紹介しています。
*注意点*
DAC出力の設定値は、コマンドで異なる値を設定するごとにセンサモジュール内部のEEPROMに上書き保存します。このため、センサモジュールの電源を入れなおしても前回の出力電圧を保持していますが、EEPROMの書き込み回数には約10万~100万回程度の上限があります。ソフトウェアのループ処理で常に設定変更するようなフローにはしないように注意してください。EEPROMの書き込み回数上限に達した場合、予期しない動作になる恐れがあります。
DAC出力アンプの出力できる電圧は0v~3.3V、短絡電流はtyp:14 / max:24 mAですので、これを超えないようにご利用ください。
詳しくはデータシートを確認し、必要に応じてインターフェース回路を作成してください。第7章電子回路も参照してください。
MCP4725 データシート
1)DAC出力ポートの利用:(実験として)LED回路を接続する
センサモジュールのMCP4725出力端子は2ピンコネクタです。このコネクタの1番ピンGNDを接続し、2番ピンDAC outの信号を使用して抵抗を通じてLEDに接続しています。
2)Node-REDのフローを作成する
PDHにインストールしたNode-REDのフローエディタを開きます。簡単な例としてinjectノードを使用してPDHからセンサモジュールにコマンドを送信するフローを作成します。
・文字列で、「MCP4725_value=4095」を設定します。
(設定値は0~4095が約0V~約3.3Vに対応しています。4095を超えた値は4095として扱われます。)
「デプロイ」して、インジェクトノードの左のボタンをクリックすると、PDHからセンサモジュールにコマンドが送信されてLEDが点灯します。
最大値の4095以外にも、中間値の3475, 2850, そして0の値をコマンドで送信するノードを追加してみましょう。
それぞれのインジェクトノードのボタンをクリックすると、その設定した電圧でLEDへの給電電圧が変化しています。
この回路でのLEDの順方向電圧(VF)を下回るとLEDには電流が流れないため点灯しません。