« 2SC1815の代替のはなし | トップページ | 秋月電子の 10Wデジタルアンプのはなし »

2016年8月12日 (金)

12Bit DAコンバーターのはなし

12Bit DAコンバーターのはなしとは

12BitのDAコンバーターのICを探していたら、秋月電子に 100円で MCP4725 という マイクロチップの ICを見つけた。
 3.3Vでも 5Vでも使えて、I2C バスで制御出来るので、PICなどのPWMポートでアナログ出力をやっていて、ポートが足りない場合は便利そうだなと思い、実験してみた。
Dac_ic  問題は、実装方法で SOT-23-6 というのはピンが 0.95mmピッチなので、普通の変換基板では合わないし、パターンを作るのも面倒なので、0.65mmピッチの変換基板に上の写真のように、4個のパターンのうち両側を1個づつそれぞれのピンに、真ん中の2個のパターンを中央のピンにまとめて半田付けして、なんとか実装しました。
20160812_113815_2
 VDD(Pin3)を +5Vに , Vss(Pin2) をGNDに,SCL(Pin5) ,SDA(Pin4) をCPUに、アドレス設定の A0(Pin6)をVssに繋いで、電源に 0.1uF程度のパスコンを入れ、Vout(pin1) をテスタで測りながら電源 ON 。
 何もしないで Voutから 2.5Vがまず出てくれば成功。このICは EEPROMを持っていて、そこに書き込むと電源 ONのデフォルトの電圧をメモリさせておけます。初期値は 電源電圧半分が出ます。簡単な電圧設定ボリュームとしてもなかなか有効な ICです。
 さて プログラムからはどうアクセスするのかと見てみると、デバイスアドレスは 1100xxx0B となっており、この MCP4725では A0 =0 とすると、 0xC0 となる。
DACなので、出力専用と考えれば、アドレス出力+コントロールデーターと上位4ビット+下位8ビットデーターと3バイトで出力設定が完了するので,比較的楽です。
 しかしながら,メモリーに記憶する場合は、アドレス出力+コントロールデーター+上位8ビット+下位4ビットデーター と4バイトを送ることになるので、2つのルーチンが必要です。
 この ICには省電力モードがあるので、デフォルトで電源ON時に省電力で 出力 0V、起動で出力開始という使い方も出来る。ただ、電源を切った瞬間を記憶しておきたい場合は,いつもメモリ書き込みモードでアクセスする必要があります、
 I2C バスがすでにあるなら、DACを追加するのに簡単な ICですね。
 

|

« 2SC1815の代替のはなし | トップページ | 秋月電子の 10Wデジタルアンプのはなし »

DIGITAL」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 12Bit DAコンバーターのはなし:

« 2SC1815の代替のはなし | トップページ | 秋月電子の 10Wデジタルアンプのはなし »