找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1560|回復(fù): 2
收起左側(cè)

求助GP2Y1014AU0F粉塵傳感器的輸出電壓過低

[復(fù)制鏈接]
ID:1067216 發(fā)表于 2023-5-25 15:53 | 顯示全部樓層 |閱讀模式
如題,MCU是STC89C52RC,傳感器是GP2Y1014AU0F,AD芯片是TLC0832
GP2Y101x.png

這是傳感器部分的電路,為了方便看把外圍電路和傳感器內(nèi)部電路放在一起,實(shí)物是用線連接的
具體問題是和AD芯片相連的2腳Vout輸出電壓過低,低塵環(huán)境萬用表測出來只有0.007~0.016V。
手冊上給的輸出電壓應(yīng)該在0.6~5.0V,無塵環(huán)境應(yīng)該在0.6~0.9V。
拿其它可以正常讀數(shù)的板子用同一個傳感器測出來是0.05~0.20V。

我的板子:Vout輸出電壓0.007-0.016V          Vled二極管供電電壓1.37-4.48V           Led控制電壓0.59-4.45V
參考的正常板子:Vout輸出電壓0.05-0.20V          Vled二極管供電電壓2.00-4.98V           Led控制電壓1.80-4.98V

輸出電壓的波形圖:
Vo輸出A1.png
有一個非?鋸埖1V尖刺,其它部分還是0.016V

以下是主要的控制代碼

int GP2Y101x_init()
{
        uchar FC_NUM;                                  //定義變量
        long SUM = 0;
                 if (FlagStartRH == 1)         //轉(zhuǎn)換標(biāo)志是否為1
                        FlagStartRH=0;        
                        for(FC_NUM=0;FC_NUM<100;FC_NUM++)
                        {
                                LED_DUST=1;                  //打開LED
                                
                                delay_tus(280)
                        
                                
                                //FC=(float)(adc0832(0)-0.6)*0.172/0.5*1000;
                                FC=(float)(adc0832(0)*0.0196-6.6)/0.5*1000;


                                
                                LED_DUST=0;                                 //關(guān)閉LED
                        
                                SUM=SUM+FC;                   //累加數(shù)值
                                if(SET_KEY==0) break;
                        }
                        FC = SUM/FC_NUM;       //取平均值
                        if(FC>999) FC = 999;           //正常達(dá)不到999
                        SUM=0;                           //累加值清零
                return FC;
}


其中轉(zhuǎn)換標(biāo)志FlagStartRH由定時器T0控制,大約1s采樣一次。
為了看過小的輸出電壓有沒有變化,中間的計算公式數(shù)值都改過肯定不對。
adc0832轉(zhuǎn)換函數(shù)應(yīng)該沒問題,至少能讀出電壓變化,主要還是輸出電壓太低了。



/***********************************************************************
2023年5月25日16:25更新進(jìn)度
***********************************************************************/
抱歉保存草稿點(diǎn)成發(fā)帖發(fā)出來了,第一次發(fā)帖還沒找到在哪里刪除。
問題已經(jīng)初步解決了,大概是輸出和采集沒對上或者哪里沖突了。

016.png

重新測了一遍輸出波形,去電尖刺后可以看到采樣的輸出在0.3V左右,雖然官方數(shù)據(jù)手冊給的無塵電壓是0.6V,但應(yīng)該是可以轉(zhuǎn)換成數(shù)據(jù)的。

之前沒有提到的是這是一個空氣質(zhì)量檢測系統(tǒng),還有溫濕度傳感器之類的其它傳感器,采用的結(jié)構(gòu)是分別按順序控制采樣。
我把GP2Y1014粉塵傳感器的驅(qū)動控制單獨(dú)提了出來,寫了個只驅(qū)動它的代碼,內(nèi)容基本沒變。

結(jié)果,成了,問題沒有出現(xiàn),直接原因是輸出和采集沒有對上,但根本原因還沒查明。
這是我的設(shè)計,接下來一兩周我努力找找原因吧,如果找到會在這里更新。
021.png 022.png

這是正常的無塵波形,讀數(shù)還是很低但能正常反饋了。

果然我還是應(yīng)該把帖子刪了,等我學(xué)會怎么刪就回來刪。
謝謝大家進(jìn)來幫我,麻煩你們了,感激不盡。
回復(fù)

使用道具 舉報

ID:1067216 發(fā)表于 2023-5-25 16:09 | 顯示全部樓層
剛才想存草稿不小心點(diǎn)成發(fā)帖了。我是第一次發(fā)帖,問題已經(jīng)大概找到了。

這是標(biāo)題里的錯誤輸出波形,可以看到還是有0.5V電壓,雖然手冊給的無塵電壓是0.6V但也足以輸出一個合理的數(shù)了,那么問題在哪呢。

我問題描述里沒有提及這個系統(tǒng)的另一個傳感器,SHT20溫濕度傳感器。
后來我把GP2Y1014AU0F傳感器單獨(dú)摘出來,單獨(dú)寫了個驅(qū)動控制就成功了。

也就是說,問題應(yīng)該出在數(shù)據(jù)傳輸或者驅(qū)動過程中兩者沖突了,也可能是我控制部分本來就錯了,某個地方有延遲導(dǎo)致驅(qū)動和采樣沒有對上。
具體原因我還沒找到,先在這里更新一下進(jìn)度。

這是我的DIY內(nèi)容的一部分,如果接下來一兩周解決不了估計就放棄了,有解決進(jìn)度會在這里更新。

果然我還是應(yīng)該把這個帖子刪了,等我學(xué)會怎么刪就刪了吧。
謝謝大家點(diǎn)進(jìn)來看,有什么建議還請暢所欲言。
回復(fù)

使用道具 舉報

ID:1112270 發(fā)表于 2024-3-11 13:57 | 顯示全部樓層
請問你解決問題了嘛?我也遇到輸出電壓過低的問題
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表