文書の表示以前のリビジョンバックリンクPDF の出力全て展開する/折り畳むODT 出力文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== D/A変換(AD557) ====== ===== 概要 ===== 8ビットのD/A変換をする場合には、通常は廉価な、R-2R型抵抗ラダーをコアとしたディスクリートD/Aコンバータを使用しますが、今回は、全機能内蔵型のAD557を使用してみました。 ===== 動作原理 ===== AD557は、出力アンプ、完全なマイクロプロセッサ・インターフェース、高精度の電圧リファレンスを1つのモノリシック・チップ上に集積化する全機能内蔵型の電圧出力8ビットD/Aコンバータ(DAC)です。 部品の外付け、外部調整は不要で、完全な精度で8ビット・データ・バスとアナログ・システムとのインターフェース動作を実行します。 PICから見ると単純に、8ビットのデータを出力するだけで済みます。今回は、256精度の鋸波(0~255)を出力(0V~2.56V)させて見ました。 {{:imgpaste:202004:htmikan-20200429-183503.png}} <AD557JNの規格> * アナデバ8ビット1chD/Aコンバータ * 電圧出力:0~+2.56V * 単一電源:5V * 高精度バンドギャップ・リファレンス内蔵 * DACセトリングタイム:800ns(1.25MSPS) * 16ピンDIP ===== 回路図 ===== 図Aは、AD557を使用したD/A変換です。 図Bは、R-2R型抵抗ラダーを使用したD/A変換です。 PICから見ると双方同じに見えます。 {{:imgpaste:202004:htmikan-20200429-183528.png}} ===== ソースコード ===== <code c ad557.c> //********************************************************************** void main() { unsigned char cnt; // OSCCON = 0b01110000; // クロックは8Mhz CMCON = 0b00000111; // コンパレータは使用しない。 ANSEL = 0b00000000; TRISA = 0b11111111; TRISB = 0b00000000; // cnt = 0; // while (1) { PORTB = cnt++; } } //********************************************************************** </code> ===== 動作確認 ===== いつものブレッドボードで確認しました。 {{:imgpaste:202004:htmikan-20200429-183635.png?500}} {{:imgpaste:202004:htmikan-20200429-183649.png?500}} 電圧出力が、0~+2.56Vと少し物足りないのですが精度はまあまあです。 {{:imgpaste:202004:htmikan-20200429-183704.png?500}} <callout type="warning" title="著作権表示 copyright notice"> このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。[[elechobby:picdic:picdic|詳細]] This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.[[elechobby:picdic:picdic|Details]] </callout> elechobby/picdic/pic16f88/71.txt 最終更新: 2025/10/17 14:29by 127.0.0.1