9章:溶液電気特性の測定回路

    作成2014.12.17

  1. 溶液電気特性の測定回路図
     溶液電気特性の測定回路図を以下に示します。

    5章:PWMによる高周波波形と周波数特性の測定(1)に低周波抵抗測定を追加しました。


  2. 溶液電気特性の測定回路外観
     溶液電気特性の測定回路外観を以下に示します。



  3. 評価プログラム
     まずは下記の「41-9.zip」ファイルをダウンロードしてください。
    [41-9.zip]をダウンロードする。

    解凍するとフォルダー内にMy-CDC-BasicフォルダーとSimple CDC Demoがあります。

    (1)My-CDC-Basicフォルダー
    *My-CDC-Basic\My-CDC-Basic.Xがソースプログラムです。
    *ファイルの相対位置関係は変えられません。
    *「XC8」用です。

    (2)Simple CDC Demoフォルダー
    *Basic Communicationフォルダーがソースプログラムです。
    *VB.net 2005 Simple CDC Demo.exeが実行ファイルです。
    *Windows用です。

    (3)注意事項
    *上記プログラムはPIC18F4553用です。


  4. 周波数特性測定回路専用Windowsプログラムの操作
    (1)「VB.net 2005 Simple CDC Demo.exe」をダブルクリックで起動します。
    (2)接続COM6を選択します。(環境により異なります。)
    (3)「Connect」ボタンを押します。
    (4)以下の画面となります。

    (5)低周波抵抗測定の場合は、動作条件に「BB#AD変換回数#」と基準抵抗のΩ値を設定します。
    (6)動作条件に「BB#20#」は電圧ON時の連続AD変換回数が20回、ON/OFF回数が16回で320データの平均値を計測します。
    (7)「スタート」を押すと計測を開始し、計測値は一定時間毎に更新されます。
       (計測値はON/OFF16回の平均値が表示されます。)
    (8)「ストップ」ボタンを押すと計測値の更新が停止します。

    (9)1列目は常に0です。
    (10)2列目は計測された抵抗値(Ω)です。
    (11)3列目はRD0がON時のRA2計測値です。
    (12)4列目はRD1がON時のRA2の計測値です。

    (13)周波数特性測定の場合の操作
    (14)周波数特性測定の場合は、動作条件に「AA#0#」を設定します。
    (15)周波数0モードから12モードまでの測定結果が表示され、最後の周波数設定は0モードに設定されます。
    (16)基準(Ω)の値はこのモードでは反映されません。
    (17)「スタート」を押すと計測を開始し、計測値は一定時間毎に更新されます。
       (計測値は16回の平均値が表示されます。)
    (18)「ストップ」ボタンを押すと計測値の更新が停止します。
    (19)以下の画面となります。



  5. My-CDC-Basic.X変更箇所
    (1)main.c MAIN_RETURN main(void)の変更箇所
    TRISA   =	0b00000111;//AN0とAN1とAN2を入力設定
    
    PORTDbits.RD0 = 0;
    PORTDbits.RD1 = 0;
    
    (2)app_device_cdc_basic.cのヘッダ部
    void BMode(unsigned short N);
    unsigned short MyData[4];//データバッファ
    
    (3)void BMode(unsigned short N)の呼び出し
                if(FIN[0][0]=='B' && FIN[0][1]=='B' && FIN[0][2]==0)
                {
                    N=atoi((const char *)FIN[1]);
    
                    BMode(N);
                    sprintf(writeBuffer,"%d\t%d\r\n",MyData[0],MyData[1]);
                    numBytesRead = strlen(writeBuffer);
                    putUSBUSART(writeBuffer,numBytesRead);
                }
    
    (4)void BMode(unsigned short N)関数
    void BMode(unsigned short N)
    {
        ADCON0bits.GO = 0;              // Stop AD conversion
        ADCON0bits.CHS = 0b0010; //Analog Channel Select bits=Channel 2 (AN0)
    
        uint16_t    result;
        long X1=0,X2=0;
        int i;
    
        PORTDbits.RD0 = 1;
        PORTDbits.RD1 = 0;
        __delay_ms( 2 );
        for(i=0;i< N;i++)
        {
            ADCON0bits.GO = 1;              // Start AD conversion
            while(ADCON0bits.NOT_DONE);     // Wait for conversion
            result = ADRESH;
            result < < =  8;
            result |= ADRESL;
            X1 = X1 + result;
        }
        PORTDbits.RD0 = 0;
        PORTDbits.RD1 = 0;
    
        X1=X1/N;
        MyData[0]=X1;
    
        PORTDbits.RD0 = 0;
        PORTDbits.RD1 = 1;
        __delay_ms( 1 );
        for(i=0;i< N;i++)
        {
            ADCON0bits.GO = 1;              // Start AD conversion
            while(ADCON0bits.NOT_DONE);     // Wait for conversion
            result = ADRESH;
            result < < =  8;
            result |= ADRESL;
            X2 = X2 + result;
        }
        PORTDbits.RD0 = 0;
        PORTDbits.RD1 = 0;
    
        X2=X2/N;
        MyData[1]=X2;
    }
    


  6. 結果の検討
    (1)周波数特性測定機能と低周波抵抗測定機能を合体しました。
    (2)まずはこれで溶液特性の測定を開始します。




10章:マイクロサーボ SG90の応用(1)メカ編に行く。

トップページに戻る。