無(wú)運(yùn)放的權(quán)電阻網(wǎng)絡(luò)在單片機(jī)控制系統(tǒng)中的應(yīng)用(下)
{
Address=31;
}
return address;
}
#endif
#ifdef series
//串聯(lián)電路AD數(shù)表
const uint code ad_table[]=
{
1023,964 ,911 ,863 ,820 ,781 ,746 ,714 ,//0~7
683 ,656 ,631 ,608 ,586 ,566 ,547 ,530 ,//8~15
512 ,496 ,482 ,468 ,455 ,443 ,431 ,420 ,//16~23
410 ,400 ,390 ,381 ,373 ,364 ,357 ,349 //24~31
}
//串聯(lián)電路地址計(jì)算,形參為AD采樣值
uint address_cal(uint value)
{
uchar i=0;
uint address=0;
uint buff=value;
for(i=0;i<31;i++)
{
if(buff>=ad_table[i])
{
address=i;
break;
}
}
if(i==31)//低于下限
{
address=31;
}
return address;
}
#endif
系統(tǒng)設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/273258.htm1、單次AD采樣時(shí)間以及兩次采樣的間隔時(shí)間都盡量長(zhǎng)些,能減少數(shù)據(jù)抖動(dòng)。每次采樣都要讀多次然后求平均。
2、PCB布線時(shí),將該電路的電源其它電源分開(kāi)走線,只和數(shù)字電源單點(diǎn)連接,且連接點(diǎn)盡可能靠近MCU。
3、如果發(fā)生部分地址丟失的情況,就量一下相關(guān)電阻的大小,看是否偏差過(guò)大。測(cè)焊在板上的電阻時(shí)要斷掉所有電源,撥碼全部斷開(kāi)再測(cè),否則會(huì)影響測(cè)量值。
4、注意MCU管腳內(nèi)部的干擾,需要把它設(shè)置成模擬輸入的形式,而且不能帶內(nèi)部上拉或下拉。
溫度特性
對(duì)串聯(lián)和并聯(lián)電路進(jìn)行高低溫測(cè)試,溫度范圍是-10℃~70℃,實(shí)驗(yàn)結(jié)果是-10℃的低溫對(duì)AD采集值幾乎沒(méi)影響,50℃~70℃下AD的波動(dòng)由±1增加到±2,但也不影響地址判斷。
調(diào)試經(jīng)驗(yàn)
1、查表算法是個(gè)難點(diǎn),需要進(jìn)行反復(fù)調(diào)整,以保證0~31各個(gè)地址都能被正確識(shí)別,地址沒(méi)被修改時(shí)判斷出來(lái)的地址值也不能變動(dòng)。
2、電路的電源和地要處理好,不能和數(shù)字地鋪成一片,電源線要和其它供電器件分開(kāi)走線,這些都是為了降低AD采樣值的波動(dòng)以及準(zhǔn)確性,每一個(gè)采樣到的值都應(yīng)該和理論計(jì)算值保持在至少±1的誤差內(nèi)。
3、需要驗(yàn)證底層的AD驅(qū)動(dòng)的正確性要做到采樣點(diǎn)接地時(shí),AD為0,接電源正時(shí),AD為滿(mǎn)量程,10位的話(huà)是1023,12位的是4095。
4、I/O口的干擾是較難發(fā)現(xiàn)的問(wèn)題,需要查清楚芯片內(nèi)部I/O口的設(shè)置,是否自帶了內(nèi)部上拉或下拉,這里的上拉電阻和下拉電阻會(huì)影響電路的輸出電壓。
電阻相關(guān)文章:電阻的作用居然有這么多,你造嗎
光敏電阻相關(guān)文章:光敏電阻工作原理
評(píng)論