写真1 AD9833 DDS MSOP 0.5ピッチ 変換基板に乗せる

 

それはさておき、

 

このチップは10ピンのMSOPで、写真にようにピンセットの先ほどの大きさです。

 

変換基板に取り付けましたが、ピンのピッチは0.5なので、半田付けにはちょっと技術が必要です。

 

まずチップをゲルタイプの瞬間接着剤で正確な位置に仮止めしておきます。

 

フラックスをほんのわずか塗って、すべてのピンにわざとまたがるくらい半田を盛ります。

 

半田吸い取り線で、余分な半田を吸い取って、出来上がり。

 

慣れれば簡単ですが、最初は数個パーにする覚悟がいります(笑)。

 

このDDSは、マスタクロック(MCLK)周波数は最高25MHzで、その場合最高発振周波数(ナイキスト周波数)は12.5MHzとなり、分解能は0.1Hzです。

 

今回は手持ち部品の関係で、20MHzのクリスタルを使用したので、10MHzまでのプログラマブルオシレータとして、実験してみました。この場合の分解能は約0.075Hzです。

PSoc3 ADCで電圧値を読み込む

投稿日 2012/05/13

PSoC3のADコンバータで読み取った電圧値をLCDに表示してみました。

 

先日CQ出版社から発刊っされたトライアルシリーズ「シリーズ最強 PSoC3ボード+デバッグ・ボード」の第9章のプログラムを少し改造したものです。

PSoc_ADC_1.jpg

写真1 ADCで読み込んだ電圧値をLCDに数字とバーグラフで表示する。

 

改造点は、USBUARTへの送信をやめ、ADコンバータからの読み取り値を電圧値に変換してLCDに表示するようにしました。

 

使用するコンポーネントはAnalog Pin、ADC_DelSigとLCD_Charです。

 

Analog Pinは、半肯定抵抗の中点に外部接続します。接続ピンはP0[0]です。内部はADC_DelSigの入力につなぎます。

 

ADC_DelSigはResolution:8Bit, Input Mode:Single、Input Range: Vssa to Vddaに設定します。Vddaは3.3Vなので、分解能は0.013V/bitです。

 

LCD_Charは、HorizontalBarGraphが使えるように設定しておきます。接続ピンはP2[6-0]です。

 

ADC_DelSigは、Vdddを10KΩの可変抵抗で分圧した電圧値を読み込み、プログラム(main.c)で文字列に変換してLCD_Charに渡して表示します。

 

バーグラフはLCDの文字フォントを水平方向に使って表示します。

 

1文字5ドット x 16文字 = 80ドットで最大3.3Vとするので、0.04V/dotとなりますが、浮動小数点を強制的に整数に変換するので、表示は大まかです。


 

【Schematic】

PSoc_ADC_2.jpg

【Program】

 

//main.c
#include <device.h>
#include <stdio.h>

 

void main(){
uint8 ADC_Result = 0;
float Volt;
char string[10];

LCD_Char_Start();
LCD_Char_Position(0,0);
LCD_Char_PrintString("ADC Test" );
LCD_Char_Position(0, 14);
LCD_Char_PutChar('v');

ADC_DelSig_1_Start();
ADC_DelSig_1_StartConvert();

for( ;; ){

ADC_DelSig_1_IsEndConversion(ADC_DelSig_1_WAIT_FOR_RESULT);
ADC_Result = ADC_DelSig_1_GetResult8();
Volt = ADC_Result * 0.013;
sprintf(string, "%5.3f", Volt);

LCD_Char_Position(0, 9);
LCD_Char_PrintString(string);
LCD_Char_DrawHorizontalBG(1, 0, 16, Volt / 0.04125);
CyDelay(1000);

}
}



 

(JF1VRR)