【STA25】3年ぶりにADS122U04いじった<実用基板作成>

STA25では、スキーのたわみとねじれをセンシングする開発をしてます。
そこで、3年ぶりにひずみゲージセンサを作成するので、アンプもADS122U04を採用することにしました。
すっかり忘れていたので、ほぼ最初からのすたーとなりました。

●小さな2Chヒズミアンプ基板は実用的でなかった。
3年前に小型コンセプトモデルとして作成した基板で、測定実験には使ってなかったので、今回は初めてとなります。

下記不具合がでたので、新たに基板を作り直しました。
①ターミナルねじが締め付けがよわくて、接触不良多発で、ブリッジ抵抗安定しない
②ターミナルからIC端子までAin線の距離が1ch,2chで違っていて、抵抗値ばらつきが発生。
③M5Atom用基板だが、今回は、30cmのシリアルケーブルでマイコン接続するので合わない

上記理由から基板作り直してました。
マイコン分離型で、ケーブルでマイコンと接続します。
ターミナルブロックを左右に配置して、Ain端子との距離を最短で均一にしました。

 

●基板製作メモ
 3年前とほとんど同じです。

●トラブル備忘録
①3年前の基板では、ターミナルブロックが小型でネジがちゃちかったので、締め付け力がばらついて、抵抗ばらついて、実験にならなかった。
②5年前の中華ロードセルが抵抗値がおかしくなっていて、テスト用に使えなくて、自作の両持ちロードセルにした。

③マイコン側の電源が、不安定で送信しても、ADSが反応しなかったので、マイコン側の電源を修理してからスタートとなった。
接続図

④やはりオシロは必要でした。

●プログラム
3年前の2CH用プログラムをちょい変更しただけで、使えました。当初命令直後にdelayをいれないと安定しなかったのですが、
マイコン側電源を修理したら、delay無しでも動作するようになりました。
プログラムはGISTに置いてあります。
https://gist.github.com/dj1711572002/edf1980e1807b9f854eef7b531dc77d0

レジスタ設定は、プログラムコードにコメントありますので、それを参考にしてください。

●3バイトデータの符号付整数への変換
データシートの36ページに詳細書いてあるので、それを見ながら変換関数つくりました。最上位ビットが1のときはマイナスで下りになります。私の使い方はロードセルなので、実際の電圧値は必要ないので、バイナリデータを符号付の整数に変換したデータを使って校正して力の変換をします。

int Toint24(byte d0, byte d1, byte d2)
{
long val;
if ((d2 & B10000000) == B10000000)
{ //最上位ビットたっていればマイナス
 val=(d0+d1*256+d2*256*256)-0xFFFFFF+1;
}
else
{
 val = d0+d1*256+d2*256*256;
}
return val;
}

動作結果1:2Ch動作ですが、切り替えしながらサンプリングしているので、100SPSで遅延が1.4msecくらいあります。

●動作結果

サンプリング370Hzで2CH測定できました。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です