2015年5月23日土曜日

Arduinoでデジタル・ポテンショメータメーター(AD8403)を使ってみた

ハーフピッチのはんだ付けに自信がなくて買ったまま放置しておいたデジタル・ポテンショメータの実験をしてみた

使ったICはAnalog DevicesのAD8403 100kΩ

トランジスタ技術の2008年9月号(188p~)の記事を参考にした

ブレッドボード図


DIP変換基板をつかってブレッドボードに載せた

24PINの変換基板がなかったので28PINを使っています


初めて「引きはんだ」というのをやってみたがわりと簡単にうまく行った

先端が斜めにカットされているタイプのコテ先が威力を発揮した感じだ


あと、フラックスが無ければ多分失敗してたと思う

基板にフラックスを塗っておけば、コテ先にはんだを盛って「ちゅるん」とハンダ付けできる

どちらも大して高くないのでコスパはかなりいい

「弘法は筆を選ばず」は、弘法だから成せる技だと思う

ソースコード

Arduinoに入っている[Example]-[SPI]-[DititalPotControl]の
loop()関数内の[channel]を[6]から[4]に変更してそのまま動く

※AD8403は4chなので

AD840xのDATASHEETを見るとアドレス2bit+データ8bitの10bitなので、
8bit単位の送信しかできないArduino(AVR?)でどうすればいいのかわからなかったが
CSがHiになった時に最後の10bitが読み込まれる仕様のようだ

2Byte = 16bit送っても問題ない

うまく設計されてるもんだなあ(^q^/

出力波形

LEDを接続しない場合

LEDを接続した場合

LEDを接続した場合、1.6Vあたりまでリニアに推移して、その後指数関数的な特性が現れている

ダイオードなので当たり前だがなんか感動した

ダイオードが発明されてから100年ぐらいしか経っていないのに
こうやってBlogを書いているのであった(^q^;

SPIの通信状態


赤色がSDI(MOSI)、黄色がSCK

やはりアドレス8bit+データ8bitの2Byte = 16bit送信されてる

クロック(SCK)を勘定すると4MHzだ

Arduinoのソースでは特にSPIクロックは指定していないのでデフォルトでは4MHzということかな