[分享] [液位傳感器測評] A/D數據采集與數值顯示

jinglixixi 樓主
2021-9-4 00:13

光電-接觸式液位傳感器是一種輸出模擬信號量的傳感器,其應用電路如圖1所示。

image-20210904001220-1.png  

圖1 應用電路

在檢測過程中,該傳感器的輸出性能如圖2所示。

image-20210904001220-2.png  

圖2 輸出性能

我們可以PIC18F16Q41處理核心并利用其內部A/D轉換器來采集模擬信號量,在為其配置一個串行數碼管來顯示檢測值。。

為此對引腳的使用情況分配如下:

DIN---RC4

CLK---RC6

CS ---RC7

ANC2---RC2

其中DIN、CLK及CS為串行數碼管的引腳,而RC2為模擬信號輸入端,為此以MCC對引腳的配置如3所示。

image-20210904001220-3.png  

圖3  MCC引腳配置

對應的引腳命名見圖4,為使A/D正常進行,其時鐘設置見圖5。

image-20210904001220-4.png  

圖4引腳命名

image-20210904001220-5.png  

image-20210904001220-6.png  

圖5 時鐘設置

在使用MCC生成框架代碼后,實現數據采集與顯示的主程序如下:

void main(void)

{

    int v,d;

    float s;

    SYSTEM_Initialize();

    DELAY_milliseconds(50);

    Init_MAX7219();

    DELAY_milliseconds(200);

    Write_Max7219(0xff,0x00);

    Write_Max7219(1,8);

    Write_Max7219(2,7);

    Write_Max7219(3,6);

    Write_Max7219(4,5);

    Write_Max7219(5,4);

    Write_Max7219(6,3);

    Write_Max7219(7,2);

    Write_Max7219(8,1);

    ADCC_Initialize();

    ADCC_StartConversion(channel_ANC2);

    while (1)

    {

        LED_SetHigh();

        DELAY_milliseconds(1000);

        LED_SetLow();

        DELAY_milliseconds(1000);

        v=ADCC_GetSingleConversion(channel_ANC2);   // A/D為12位

        Write_Max7219(1,v%10);

        if(v>10) Write_Max7219(2,v%100/10);

        else Write_Max7219(2,0x0f);

        if(v>100) Write_Max7219(3,v%1000/100);

        else Write_Max7219(3,0x0f);

        if(v>1000)  Write_Max7219(4,v/1000);

        else Write_Max7219(4,0x0f);

        s=v*3.3/409.5;

        d=s;

        Write_Max7219(5,0x0f);

        Write_Max7219(6,d%10);

        Write_Max7219(7,(d%100/10)|0x80);

        Write_Max7219(8,0x0f); 

     }

}

經程序編譯與下載,其運行效果如圖6所示,其中左4位為電壓值,右4位為檢測值。

image-20210904001220-7.png  

image-20210904001220-8.png  

圖4 雙值顯示

有了模擬量的采集與顯示功能,將電位器模塊該為光電-接觸式液位傳感器就能顯示其輸出結果了。

回復評論 (6)

沙發 soso

2021-9-4 08:43

直觀,贊

不管是哪年,都要加油!繼續為中國電子行業做出小小的貢獻吧! 扣扣 1206973913

板凳 jinglixixi

2021-9-4 11:48
引用: soso 發表于 2021-9-4 08:43 直觀,贊

感謝支持!!!

4樓 littleshrimp

2021-9-4 18:41

液位傳感器連接了嗎?

5樓 jinglixixi

2021-9-5 08:42
引用: littleshrimp 發表于 2021-9-4 18:41 液位傳感器連接了嗎?

先搭臺

6樓 w494143467

2021-9-6 11:09

期待后續傳感器連接效果!

7樓 jinglixixi

2021-9-6 15:00
引用: w494143467 發表于 2021-9-6 11:09 期待后續傳感器連接效果!

正在弄。。。

電子工程世界版權所有 京B2-20211791 京ICP備10001474號-1 京公網安備 11010802033920號
    我也要說兩句
    發送
    評論
    萝卜大香蕉