基于汽車SENT接口且?guī)Ю浣Y(jié)補(bǔ)償?shù)臒犭娕紲囟葌鞲衅?/h1>
NT: 0px; MARGIN: 0px 0px 20px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 14px/25px 宋體, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">數(shù)據(jù)半字節(jié)6(與半字節(jié)1相反)圖2為數(shù)據(jù)包示例。
圖2. 在P0.4引腳處測得的示例SENT數(shù)據(jù)包
該電路必須構(gòu)建在具有較大面積接地層的多層印刷電路板(PCB)上。為實(shí)現(xiàn)最佳性能,必須采用適當(dāng)?shù)牟季?、接地和去耦技術(shù)。
代碼說明
定時(shí)器1用于控制SENT輸出引腳P0.4。根據(jù)熱電偶的ADC結(jié)果和冷結(jié)溫度計(jì)算出溫度結(jié)果后,SENT數(shù)據(jù)包結(jié)構(gòu)SENT_PACKET將更新,并且定時(shí)器1會(huì)啟動(dòng)。該結(jié)構(gòu)的域會(huì)在P0.4引腳上逐個(gè)輸出,如圖2所示。數(shù)據(jù)包的第一級是同步序列。主機(jī)根據(jù)此脈沖確定時(shí)鐘周期,并據(jù)此確定后續(xù)半字節(jié)值。
要獲得溫度讀數(shù),應(yīng)測量熱電偶和RTD的溫度。RTD溫度通過一個(gè)查找表轉(zhuǎn)換為其等效熱電偶電壓。將這兩個(gè)電壓相加,便可得到熱電偶電壓的絕對值。
首先,測量熱電偶兩條線之間的電壓(V1)。然后,測量RTD電壓并通過查找表將其轉(zhuǎn)換為溫度。接著,將此溫度轉(zhuǎn)換為其等效熱電偶電壓(V2)。然后,將V1和V2相加,以得出整體熱電偶電壓,接著將此值轉(zhuǎn)換為最終的溫度測量結(jié)果。
最后,采用分段線性方案來計(jì)算最終的溫度值。固定數(shù)量的電壓各自對應(yīng)的溫度存儲在一個(gè)數(shù)組中,其間的值則利用相鄰點(diǎn)的線性插值法計(jì)算。圖3給出了使用理想熱電偶電壓時(shí)的算法誤差。圖4顯示了使用ADuC7060/ADuC7061上的ADC0引腳測量整個(gè)熱電偶工作范圍內(nèi)的52個(gè)熱電偶電壓時(shí)獲得的誤差。最差情況的總誤差小于1°C。
圖3. 通過分段線性逼近法利用52個(gè)校準(zhǔn)點(diǎn)和理想測量值計(jì)算時(shí)的誤差
圖4. 通過分段線性逼近法利用在ADuC7060/ADuC7061的ADC0引腳處測量的52個(gè)校準(zhǔn)點(diǎn)計(jì)算時(shí)的誤差
RTD溫度是運(yùn)用查找表計(jì)算出來的,并且對RTD的運(yùn)用方式與對熱電偶一樣。注意,描述RTD溫度與電阻關(guān)系的多項(xiàng)式與描述熱電偶的多項(xiàng)式不同。
設(shè)計(jì)支持包中的源代碼是利用KEILμVision V3.90生成的。
常見變化
可不使用外部RTD而改用 ADT7311 溫度傳感器來測量冷結(jié)溫度。
需要一個(gè)額外的外部穩(wěn)壓器來為ADT7311供電。該電路中
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
電流變送器相關(guān)文章:電流變送器原理
溫濕度控制器相關(guān)文章:溫濕度控制器原理
熱電偶相關(guān)文章:熱電偶原理
圖2為數(shù)據(jù)包示例。
圖2. 在P0.4引腳處測得的示例SENT數(shù)據(jù)包
該電路必須構(gòu)建在具有較大面積接地層的多層印刷電路板(PCB)上。為實(shí)現(xiàn)最佳性能,必須采用適當(dāng)?shù)牟季?、接地和去耦技術(shù)。
代碼說明
定時(shí)器1用于控制SENT輸出引腳P0.4。根據(jù)熱電偶的ADC結(jié)果和冷結(jié)溫度計(jì)算出溫度結(jié)果后,SENT數(shù)據(jù)包結(jié)構(gòu)SENT_PACKET將更新,并且定時(shí)器1會(huì)啟動(dòng)。該結(jié)構(gòu)的域會(huì)在P0.4引腳上逐個(gè)輸出,如圖2所示。數(shù)據(jù)包的第一級是同步序列。主機(jī)根據(jù)此脈沖確定時(shí)鐘周期,并據(jù)此確定后續(xù)半字節(jié)值。
要獲得溫度讀數(shù),應(yīng)測量熱電偶和RTD的溫度。RTD溫度通過一個(gè)查找表轉(zhuǎn)換為其等效熱電偶電壓。將這兩個(gè)電壓相加,便可得到熱電偶電壓的絕對值。
首先,測量熱電偶兩條線之間的電壓(V1)。然后,測量RTD電壓并通過查找表將其轉(zhuǎn)換為溫度。接著,將此溫度轉(zhuǎn)換為其等效熱電偶電壓(V2)。然后,將V1和V2相加,以得出整體熱電偶電壓,接著將此值轉(zhuǎn)換為最終的溫度測量結(jié)果。
最后,采用分段線性方案來計(jì)算最終的溫度值。固定數(shù)量的電壓各自對應(yīng)的溫度存儲在一個(gè)數(shù)組中,其間的值則利用相鄰點(diǎn)的線性插值法計(jì)算。圖3給出了使用理想熱電偶電壓時(shí)的算法誤差。圖4顯示了使用ADuC7060/ADuC7061上的ADC0引腳測量整個(gè)熱電偶工作范圍內(nèi)的52個(gè)熱電偶電壓時(shí)獲得的誤差。最差情況的總誤差小于1°C。
圖3. 通過分段線性逼近法利用52個(gè)校準(zhǔn)點(diǎn)和理想測量值計(jì)算時(shí)的誤差
圖4. 通過分段線性逼近法利用在ADuC7060/ADuC7061的ADC0引腳處測量的52個(gè)校準(zhǔn)點(diǎn)計(jì)算時(shí)的誤差
RTD溫度是運(yùn)用查找表計(jì)算出來的,并且對RTD的運(yùn)用方式與對熱電偶一樣。注意,描述RTD溫度與電阻關(guān)系的多項(xiàng)式與描述熱電偶的多項(xiàng)式不同。
設(shè)計(jì)支持包中的源代碼是利用KEILμVision V3.90生成的。
常見變化
可不使用外部RTD而改用 ADT7311 溫度傳感器來測量冷結(jié)溫度。
需要一個(gè)額外的外部穩(wěn)壓器來為ADT7311供電。該電路中
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
電流變送器相關(guān)文章:電流變送器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理 熱電偶相關(guān)文章:熱電偶原理
評論