■ アナログ・デバイセズ社のDDSをテストする ■

 Analog Devices社のDDS(Direct Digital Synthesizer)を4種類(AD9833、AD9834、AD9850、AD9851)テストします。
 信号発生器の機能としてはほぼ同じですが、動作周波数と出力形態に特徴があります。

AD9833 AD9834 AD9850 AD9851
動作電源電圧範囲 2.3 〜 5.5V 2.3 〜 5.5V 3.3 or 5V 2.7 〜 5.25V
マスター・クロック
(MCLK) 最大値
25MHz 75MHz 125MHz (5V)
110MHz (3.3V)
180MHz (5.0V)
125MHz (3.3V)
100MHz (2.7V)
出力周波数の分解能 28ビット 32ビット
DAC分解能 10ビット
出力周波数 MCLK=25MHz
0 〜
12,499,999Hz
MCLK=75MHz
0 〜
37,499,999Hz
REFCLOCK
125MHz
0 〜
62,499,999Hz
REFCLOCK
180MHz
0 〜
89,999,999Hz
DAC出力
Vout 最大値
0.65V 0.6V 電圧適合範囲
1.5V
電圧適合範囲
1.5V
出力波形 正弦波
三角波
方形波
(1つの出力)
正弦波
三角波
方形波
(2つの出力)
正弦波
 (平衡出力)
方形波
(コンパレータ出力)
正弦波
 (平衡出力)
方形波
(コンパレータ出力)
インターフェース 3線式 SPI





AD9833モジュールのテスト
 
AD9833 日本語データ・シート
 
回 路
 
 ・「Arduino UNO (ATmega328P)」と「LCD Keypad Shield」基板を使用します。
 ・DDSモジュールとの接続は、電源線2本とSPIインターフェースの3本です。
 ・モジュールの電源電圧は3.3Vでも動作しますが、AVRマイコンの動作クロックはAVR内蔵発振器の
  8MHzに変更してください。 (プログラムの$crystal命令も8MHzに変更が必要です)
 
 ・使用したモジュールの出力(正弦波と三角波)には、ローパス・フィルターが入っていないので、
  必要に応じて外部に組むか、ローパス・フィルターを搭載したモジュールを使用してください。
 ・正弦波と三角波は出力レベルが小さいので(約0.6V)、必要に応じて外部にアンプを取り付けて
  ください。
 ・方形波の出力時は、電源電圧付近まで振れます。 (出力の停止時は[H]レベルになります)
 
 ・DDSモジュールは、「Amazon」または「中国通販(AliExpress)」で入手可能です。

回 路 図  PDF版  ArdLcdKy_AD9833_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。


プログラム
 
 ・「LCD Keypad Shield」基板に搭載されている、キャラクタLCDとキースイッチを使用して操作します。
 ・LCDの下段に表示される設定カーソルを移動させて、出力波形や周波数を設定します。
 ・キースイッチの操作方法は、下記の「操作説明書」に記載してあります。
 
 ・「LCD Keypad Shield」が「DFROBOT社」のボードの場合、ボードのバージョンによってキー入力の
  分圧抵抗値が違いますので、プログラム冒頭の以下の行を変更してください。
  Const Board_version = 10 'DFROBOT社のボード・バージョン。[1.0] = 10 or [1.1] = 11

プログラム  テキスト形式 ソースファイル  ArdLcdKy_AD9833_001.TXT
 BASCOM-AVR用 ソースファイル  ArdLcdKy_AD9833_001.bas
 インテルHEX形式 ファイル  (頒布室にて頒布予定)
操作説明書  ArdLcdKy_AD9833_manual.pdf
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)



AD9833 (MCP41010 + OPアンプ付)モジュールのテスト
 
AD9833 日本語データ・シート
MCP41010(デジタル ポテンショメータ) 英文データ・シート
 
回 路
 
 ・「Arduino UNO (ATmega328P)」と「LCD Keypad Shield」基板を使用します。
 ・DDSモジュールとの接続は、電源線2本とSPIインターフェースの4本です。
 ・モジュールの電源電圧は3.3Vでも動作しますが、AVRマイコンの動作クロックはAVR内蔵発振器の
  8MHzに変更してください。 (プログラムの$crystal命令も8MHzに変更が必要です)
 
 ・使用したモジュールの出力(正弦波と三角波)には、ローパス・フィルターが入っていないので、
  必要に応じて外部に組むか、ローパス・フィルターを搭載したモジュールを使用してください。
 ・正弦波と三角波出力には、MCP41010(デジタル・ポテンショメータ)とOPアンプ(6倍増幅)が入っており、
  正弦波と三角波は最大約3.6Vの振幅が得られます。
 ・振幅はLCD画面で変更が可能です。 (0〜99)
  (方形波も同じ増幅された出力から出ますが、OPアンプの入力で電圧レベルが上限になるので、
   出力はサチります)
 ・方形波用の出力は、電源電圧付近まで振れます。 (出力の停止時は[H]レベルになります)
 
 ・DDSモジュールは、「Amazon」または「中国通販(AliExpress)」で入手可能です。

回 路 図  PDF版  ArdLcdKy_AD9833_CirA.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。


プログラム
 
 ・「LCD Keypad Shield」基板に搭載されている、キャラクタLCDとキースイッチを使用して操作します。
 ・LCDの下段に表示される設定カーソルを移動させて、出力波形や周波数を設定します。
 ・キースイッチの操作方法は、下記の「操作説明書」に記載してあります。
 
 ・「LCD Keypad Shield」が「DFROBOT社」のボードの場合、ボードのバージョンによってキー入力の
  分圧抵抗値が違いますので、プログラム冒頭の以下の行を変更してください。
  Const Board_version = 10 'DFROBOT社のボード・バージョン。[1.0] = 10 or [1.1] = 11

プログラム  テキスト形式 ソースファイル  ArdLcdKy_AD9833_401.TXT
 BASCOM-AVR用 ソースファイル  ArdLcdKy_AD9833_401.bas
 インテルHEX形式 ファイル  (頒布室にて頒布予定)
操作説明書  ArdLcdKy_AD9833_manual_Amp.pdf
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)






AD9834 (AliExpress版) モジュールのテスト
 
AD9834 日本語データ・シート
 
回 路
 
 ・「Arduino UNO (ATmega328P)」と「LCD Keypad Shield」基板を使用します。
 ・DDSモジュールとの接続は、電源線2本とSPIインターフェースの3本です。
 ・モジュールの電源電圧は5〜12Vとなっており、ボード上に3.3Vのレギュレータが搭載されて
  いるので、このモジュールのAD9834は3.3V動作です。
 ・Arduinoは5Vで動作しているので、SPIインターフェースの3本のラインは、5Vから3.3Vへのレベル
  変換が必要となり、回路では抵抗分圧によって3.3Vへのレベル変換を行っています。
 
 ・AD9834には、外部からの信号により2つの周波数を切り替える機能(FSELECTピン)があります。
 ・このピンは、[L]レベルでCh.1、[H]レベル(3.3V)でCh.2に出力周波数が切り替わります。
 ・これにより、FSK(周波数変移符合化)が可能です。
 ・使用したモジュールでは、[FSELECT]ピンが直列抵抗器のみでピンヘッダにつながっているので、
  10KΩの抵抗器でプルダウンして、このピンを使わない場合はCh.1に固定されるようにしています。
 ・また、「LCD Keypad Shield」上の[SELECT]スイッチでもチャンネルを切り替えられるようにしてある
  ため、外部から[FSELECT]ピンを使用する場合は、LCDのチャンネル表示を必ず[1]にしてください。
 
 ・使用したモジュールの出力(正弦波または三角波)には、ローパス・フィルターが入っています。
 ・正弦波と三角波は出力レベルが小さいので(約0.6V)、必要に応じて外部にアンプを取り付けて
  ください。
 ・方形波の出力は電源電圧付近まで振れますが、コンデンサ(C11)でDCカットされているので、
  出力は±約1.5Vのレベルです。
 ・ロジックレベルの出力が必要な場合は、コンデンサ(C11)をショートさせてください。
 
 ・DDSモジュールは、「Amazon」または「中国通販(AliExpress)」で入手可能です。

回 路 図  PDF版  ArdLcdKy_AD9834_Ali_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。


プログラム
 
 ・「LCD Keypad Shield」基板に搭載されている、キャラクタLCDとキースイッチを使用して操作します。
 ・LCDの下段に表示される設定カーソルを移動させて、出力波形や周波数を設定します。
 ・キースイッチの操作方法は、下記の「操作説明書」に記載してあります。
 
 ・「LCD Keypad Shield」が「DFROBOT社」のボードの場合、ボードのバージョンによってキー入力の
  分圧抵抗値が違いますので、プログラム冒頭の以下の行を変更してください。
  Const Board_version = 10 'DFROBOT社のボード・バージョン。[1.0] = 10 or [1.1] = 11

プログラム  テキスト形式 ソースファイル  ArdLcdKy_AD9834_Ali001.TXT
 BASCOM-AVR用 ソースファイル  ArdLcdKy_AD9834_Ali001.bas
 インテルHEX形式 ファイル  (頒布室にて頒布予定)
操作説明書  ArdLcdKy_AD9834_Ali_manual.pdf
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)



AD9834 (Strawberry Linux版) モジュールのテスト
 
AD9834 日本語データ・シート
 
回 路
 
 ・「Arduino UNO (ATmega328P)」と「LCD Keypad Shield」基板を使用します。
 ・DDSモジュールとの接続は、電源線2本とSPIインターフェースの3本です。
 ・モジュールの電源電圧は5Vです。
 
 ・AD9834には、外部からの信号により2つの周波数を切り替える機能(FSELECTピン)があります。
 ・このピンは、[L]レベルでCh.1、[H]レベル(5V)でCh.2に出力周波数が切り替わります。
 ・これにより、FSK(周波数変移符合化)が可能です。
 ・「LCD Keypad Shield」上の[SELECT]スイッチでもチャンネルを切り替えられるようにしてあるため、
  外部から[FSELECT]ピンを使用する場合は、LCDのチャンネル表示を必ず[1]にしてください。
 
 ・使用したモジュールの出力(正弦波と三角波)には、ローパス・フィルターが入っていないので、
  必要に応じて外部に組むか、ローパス・フィルターを搭載したモジュールを使用してください。
 ・正弦波と三角波は出力レベルが小さいので(約0.6V)、必要に応じて外部にアンプを取り付けて
  ください。
 ・方形波用の出力は、電源電圧付近まで振れます。 (出力の停止時は[H]レベルになります)

回 路 図  PDF版  ArdLcdKy_AD9834_Str_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。


プログラム
 
 ・「LCD Keypad Shield」基板に搭載されている、キャラクタLCDとキースイッチを使用して操作します。
 ・LCDの下段に表示される設定カーソルを移動させて、出力波形や周波数を設定します。
 ・キースイッチの操作方法は、下記の「操作説明書」に記載してあります。
  (AliExpress版と同じ書面で、出力周波数は0〜33,554,431Hzとなります)
 
 ・「LCD Keypad Shield」が「DFROBOT社」のボードの場合、ボードのバージョンによってキー入力の
  分圧抵抗値が違いますので、プログラム冒頭の以下の行を変更してください。
  Const Board_version = 10 'DFROBOT社のボード・バージョン。[1.0] = 10 or [1.1] = 11

プログラム  テキスト形式 ソースファイル  ArdLcdKy_AD9834_Str001.TXT
 BASCOM-AVR用 ソースファイル  ArdLcdKy_AD9834_Str001.bas
 インテルHEX形式 ファイル  (頒布室にて頒布予定)
操作説明書  ArdLcdKy_AD9834_Ali_manual.pdf
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)






AD9850モジュールのテスト
 
AD9850 英文データ・シート
 
回 路
 
 ・「Arduino UNO (ATmega328P)」と「LCD Keypad Shield」基板を使用します。
 ・DDSモジュールとの接続は、電源線2本とSPIインターフェースの4本です。
 ・モジュールの電源電圧は5Vです。
 
 ・使用したモジュールの正弦波出力は、ローパス・フィルターが入っている[ZOUT]と、入っていない
  [IOUTB]があります。
 ・正弦波出力はレベルが小さいので(約1V)、必要に応じて外部にアンプを取り付けてください。
 ・方形波の出力は、電源電圧付近まで振れます。
 
 ・DDSモジュールは、「Amazon」または「中国通販(AliExpress)」で入手可能です。

回 路 図  PDF版  ArdLcdKy_AD9850_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。


プログラム
 
 ・「LCD Keypad Shield」基板に搭載されている、キャラクタLCDとキースイッチを使用して操作します。
 ・LCDの下段に表示される設定カーソルを移動させて、周波数や各機能を設定します。
 ・周波数値は0.1Hz単位で設定できますが、DDSの分解能が約0.0291Hzなので誤差があります。
 ・周波数値を記憶できるメモリーを99個持っています。
 ・キースイッチの操作方法は、下記の「操作説明書」に記載してあります。
 
 ・基準クロック[REFCLOCK]に接続された水晶発振器の誤差により、出力周波数にも誤差が生じます。
 ・出力周波数の誤差を少なくするために、プログラム内で計算により誤差を校正できます。
   ・[REFCLOCK]ピンの周波数を測定します。
   ・プログラムの冒頭にある下記の行の周波数値を、測定した周波数値に変更してコンパイル
    します。
    " Const Reference_clock = 125000000 "
   ・125MHzを測定できるカウンターがない場合は、出力周波数を確認しながら上記の設定値を
    加減することも可能です。
   ・これにより、DDS出力周波数の精度が上がります。
 
 ・「LCD Keypad Shield」が「DFROBOT社」のボードの場合、ボードのバージョンによってキー入力の
  分圧抵抗値が違いますので、プログラム冒頭の以下の行を変更してください。
  Const Board_version = 10 'DFROBOT社のボード・バージョン。[1.0] = 10 or [1.1] = 11

プログラム  テキスト形式 ソースファイル  ArdLcdKy_AD9850_001.TXT
 BASCOM-AVR用 ソースファイル  ArdLcdKy_AD9850_001.bas
 インテルHEX形式 ファイル  (頒布室にて頒布予定)
操作説明書  ArdLcdKy_AD9850_manual.pdf
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)






AD9851モジュールのテスト
 
AD9851 日本語データ・シート
 
回 路
 
 ・「Arduino UNO (ATmega328P)」と「LCD Keypad Shield」基板を使用します。
 ・DDSモジュールとの接続は、電源線2本とSPIインターフェースの4本です。
 ・モジュールの電源電圧は5Vです。
 
 ・使用したモジュールの正弦波出力は、ローパス・フィルターが入っている[IOUT]と、入っていない
  [IOUTB]があります。
 ・正弦波出力はレベルが小さいので(約1V)、必要に応じて外部にアンプを取り付けてください。
 ・方形波の出力は、電源電圧付近まで振れます。
 
 ・DDSモジュールは、「Amazon」または「中国通販(AliExpress)」で入手可能です。

回 路 図  PDF版  ArdLcdKy_AD9851_Cir.pdf
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。


プログラム
 
 ・「LCD Keypad Shield」基板に搭載されている、キャラクタLCDとキースイッチを使用して操作します。
 ・LCDの下段に表示される設定カーソルを移動させて、周波数や各機能を設定します。
 ・周波数値は0.1Hz単位で設定できますが、DDSの分解能が約0.0419Hzなので誤差があります。
 ・周波数値を記憶できるメモリーを99個持っています。
 ・キースイッチの操作方法は、下記の「操作説明書」に記載してあります。
 
 ・基準クロック[REFCLOCK]に接続された水晶発振器の誤差により、出力周波数にも誤差が生じます。
 ・出力周波数の誤差を少なくするために、プログラム内で計算により誤差を校正できます。
   ・[REFCLOCK]ピンの周波数を測定します。
   ・プログラムの冒頭にある下記の行の周波数値を、測定した周波数値に変更してコンパイル
    します。 (REFCLOCKの6倍が有効なので、測定値×6)
    " Const Reference_clock = 180000000 "
   ・30MHzを測定できるカウンターがない場合は、出力周波数を確認しながら上記の設定値を
    加減することも可能です。
   ・これにより、DDS出力周波数の精度が上がります。
 
 ・「LCD Keypad Shield」が「DFROBOT社」のボードの場合、ボードのバージョンによってキー入力の
  分圧抵抗値が違いますので、プログラム冒頭の以下の行を変更してください。
  Const Board_version = 10 'DFROBOT社のボード・バージョン。[1.0] = 10 or [1.1] = 11

プログラム  テキスト形式 ソースファイル  ArdLcdKy_AD9851_001.TXT
 BASCOM-AVR用 ソースファイル  ArdLcdKy_AD9851_001.bas
 インテルHEX形式 ファイル  (頒布室にて頒布予定)
操作説明書  ArdLcdKy_AD9851_manual.pdf
  
注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。
       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)





   電子工作の部屋 Top へ 前のページへ戻る