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