以高整合度混合信號(hào)單片機(jī)實(shí)現(xiàn)橋式Force Sensor應(yīng)用設(shè)計(jì)
主要組件介紹
本文引用地址:http://www.ex-cimer.com/article/201603/287847.htm(1) HY16F184 : 數(shù)據(jù)處理與運(yùn)算核心,主要負(fù)責(zé)執(zhí)行運(yùn)算四個(gè)Force sensor的掃描數(shù)據(jù),并且透過(guò)I2C通訊做ADC Raw Data數(shù)據(jù)輸出。
(2) ADC:HY16F184內(nèi)建之模擬數(shù)字轉(zhuǎn)換器,將Force sensor所測(cè)得的電壓訊號(hào),做模擬數(shù)字電壓訊號(hào)轉(zhuǎn)換。
(3) HDK Force Sensor :壓力傳感器,負(fù)責(zé)偵測(cè)壓力大小,并且將壓力轉(zhuǎn)換為電壓訊號(hào)。
3.2. 軟件說(shuō)明
程序流程圖 :
圖7 Force sensor掃描流程圖
4. 數(shù)據(jù)規(guī)格與總結(jié)
4.1. ADC Output Rate測(cè)量
在本文中,信道掃描的方式為每一個(gè)信道都掃描四次再取平均值,所以四個(gè)信道總共會(huì)需要掃描16次,在CPU頻率設(shè)定為2MHz與ADC OSR設(shè)定為128的情況下(即ADC的數(shù)據(jù)輸出率為2560sps),每次從CH1到CH4的掃描時(shí)間總共需要花費(fèi)10ms,換算頻率約為100Hz。在此條件下,如果要提升ADC的掃瞄速度,可選擇提升ADC OSR設(shè)置,但是這可能會(huì)損失了分辨率,如果選擇提升了CPU的工作頻率,也可能會(huì)造成整體消耗功率過(guò)大,在此情況下,本文建議可使用移動(dòng)平均法來(lái)做數(shù)據(jù)的平均與計(jì)算,使用此方式做掃描,可以在不提升CPU功耗與ADC頻率的情況下,滿足每個(gè)通道也為取四筆值取平均的條件,把ADC Output Rate速度從100Hz提升到192Hz。移動(dòng)平均法的方法為,只有第一次掃描四信道的ADC Raw Data需要完整的掃描16次,之后各個(gè)信道的掃描只需要做一次掃描,再與前面三筆舊的數(shù)據(jù)做平均值計(jì)算,不斷的遞歸更新數(shù)據(jù)。
4.2. 耗電流測(cè)量
在CPU頻率設(shè)定為2MHz與ADC OSR設(shè)定為128的情況下,使用移動(dòng)平均法可以得到的ADC Output Rate為192Hz,當(dāng)CPU工作電壓VDD=3V, VDDA=2.4V時(shí)候,在此情況下所測(cè)得到的耗電流約1.142mA,此為VDDA不接上HDK Force Sensor負(fù)載電路時(shí)候耗電流,如果在VDDA接上HDK Force Sensor負(fù)載時(shí)候的耗電流約為1.568mA。
4.3. 最大承受力
在ADC Gain=8,PGA=1的情況下,可以滿足最大5kg秤重,使用者可以自行修改ADC的Gain值,以滿足不同的應(yīng)用。
4.4. ADC Raw Data與I2C通訊格式說(shuō)明
I2C Slave Address:0x20
I2C Command:0x80
ADC Raw Data Format: S+Addr+0x80+rS+(Addr+1)+CH1Data_L+CH1Data_M+CH1Data_H+CH2Data_L+CH2Data_M+CH2Data_H+CH3Data_L+CH3Data_M+CH3Data_H+CH4Data_L+CH4Data_M+CH4Data_H+P
S: Star; Addr: Slave address; rS: repeat start; P: stop.
CH1,CH2,CH3,CH4: Force Sensor ADC Raw Data;
L: ADC Low byte; M: ADC Middle byte; H: ADC High byte;
每個(gè)信道數(shù)據(jù)(Chx)共8*3=24bit
Bit0,統(tǒng)一為旗標(biāo),Bit0=0b,代表為舊資料; Bit0=1b,代表為新資料;
使用者應(yīng)該在Bit0=1b時(shí),取得數(shù)據(jù)才有效.
Bit23,統(tǒng)一為Sign bit,
Bit23=0b,代表正數(shù); Bit23=1b, 代表負(fù)數(shù)
評(píng)論