Shujima Blog

Apple製品,技術系の話をするブログ

Raspberry Pi用高精度AD/DAボードを使ってみた(自作ライブラリ公開中)

Switch ScienceやAmazonで売ってる「Raspberry Pi用高精度AD/DAボード」を買ってみました.

Raspberry Piが備える汎用の入出力端子はデジタルなものしかありません.このボードを使うことで,Raspberry Piにお手軽にアナログの入出力(それも高精度な)を追加できます.

約4000円です.

www.switch-science.com

このボードを試しに使ってみます.

基板の詳細

こちらは,Seeed Studioという中国の基板メーカー(Fusion PCBという基板製造サービスをやっているところ)の製品のようです.

  • ADS1256
    • 24 bit AD ×8チャンネル
    • 2チャンネル分の入力を束ねて差動入力にもできる
    • -0.3〜6[V]まで
  • DAC8532
    • 16 bit DA ×2チャンネル
  • ADテスト用ボリューム
  • ADテスト用CdS
  • DAテスト用LED ×2

私の試用環境

  • Raspberry Pi 3 Model B
  • Raspbian Stretch 9.4

公式の試用方法

サポートページがあります.

High-Precision AD/DA Board - Waveshare Wiki

このページの内容にしたがって

  • bcm2835ライブラリのインストール
  • テストプログラムのダウンロードと実行

をすることで,機能をテストできます.

bcm2835ライブラリのインストール

bcm2835というRaspberry PiのSoCのライブラリの導入が必要です.

この作業はダウンロードして解凍するまでは他のMacやPCからも作業できます.

こちらのサイトからダウンロードできます.

bcm2835: C library for Broadcom BCM 2835 as used in Raspberry Pi

http://www.airspayce.com/mikem/bcm2835/bcm2835-1.xx.tar.gz」と書かれているところをクリックするとダウンロードされます.

f:id:masa_flyu:20181208213323j:plain

ダウンロードされたファイルを解凍(展開)します.

Raspberry Piであれば,以下のコマンドを打ちます.

cd ~/Downloads
tar zxvf bcm2835-1.xx.tar.gz
  • xxにはバージョン番号が入る

すると,同じディレクトリに「bcm2835-1.xx」というフォルダが作成されます.

ここからインストール作業に入ります.Mac/PCで用意した方も,ここからはRaspberry Piで作業してください.

cd ~/Downloads/bcm2835-1.xx

でフォルダの中に入り,

./configure
make
sudo make check
sudo make install

でインストールします.インストール途中でエラーのようなものが出たら失敗しています(どのようにすれば成功するかはわかりません,すみません).

成功すればインストール完了です.

テストプログラムのダウンロードと実行

テストプログラムもダウンロードから解凍まではMac/PCで作業できます.

テストプログラムは先ほどのサポートページからダウンロードできます.

High-Precision AD/DA Board - Waveshare Wiki

ページを半分ほど下りたところにある「source code」というリンク(ADとDAの2箇所にリンクがありますが同じものです)をクリックして,

f:id:masa_flyu:20181208193653j:plain

ファイル「High-Precision-AD-DA-Board-Code.7z 」をダウンロードします.

f:id:masa_flyu:20181208193658j:plain

Raspberry Piでは以下の手順で解凍できます. ただし,パッケージp7zipが必要ですので,持ってない人は,

sudo apt-get install p7zip-full

を実行してください.

cd ~/Downloads
7z e ./High-Precision-AD-DA-Board-Code.7z

で解凍できます.

解凍したフォルダの構造は以下の通りです.

  • Raspberry
    • ADS1256
    • DAC8532
    • AD-DA

これで必要なファイルが用意できました.

ここから実行していきます.Mac/PCで用意した方も,ここからはRaspberry Piで作業してください.

まずはADをテストしましょう.

なお,ピンヘッダのジャンパーはこのようになっているといいと思います(1個黄色のを無くしたので,黒色のが付いてます.初期状態で大丈夫です.). f:id:masa_flyu:20181208215613j:plain

ADS1256のフォルダに移動して,

cd ~/Downloads/High-Precision-AD-DA-Board-Code/Raspberry/ADS1256

この中にCのファイルとmakefileがあるので,ビルドして実行します.

make
sudo ./ads1256_test

makeのとき2つほどwarningが出るのは仕様です(ファイルの最後にいらない文字が入ってるせい).

以上のようにビルドして実行すると,画面に8つの数字が出てきたはずです. ボリュームを回すと一番上の数字が変化するはずです.

f:id:masa_flyu:20181208220739j:plain

(スクショはmacからのsshで撮ってます)

DACの場合はLED2つがなめらかに点滅します.

AD-DAは名前に反してADの差動入力モード+DAは固定値で光るだけというプログラムです.

自作ライブラリ「HPADDAlibrary」

公式のソースを元に自作のライブラリをGitHubで公開しました.

github.com

公式のプログラムはライセンスが明示されていなかったため問い合わせたところ「完全なフリーだ」と返信がきました.

私のプログラムはMITライセンスで公開しています.

公式のテストプログラムと同じく,bcm2835というRaspberry PiのSoCのライブラリの導入が必要です. (Wiring Piなどを使えば必要無いのでしょうが..)

ライブラリの説明は次の記事に書きました.

www.shujima.work

当ブログをご利用いただく際には免責事項をお読みください。