力傳感器之電子枰的制作
人類認(rèn)識(shí)和研究力的歷史很長(zhǎng),但 對(duì)于力的正確認(rèn)識(shí)和研究時(shí)間卻并不 長(zhǎng),因?yàn)榱@個(gè)物理量既無(wú)法直接觀察, 也無(wú)法直接測(cè)量。從亞里士多德認(rèn)為力 是維持物體運(yùn)動(dòng)的原因到伽利略認(rèn)識(shí)到 力是改變物體運(yùn)動(dòng)的原因,中間經(jīng)歷了 兩千多年。正因?yàn)榱o(wú)法直接觀察和測(cè) 量,必須借助力傳感器將其轉(zhuǎn)換為其它 物理量后進(jìn)行測(cè)量。
力傳感器
力傳感器的種類繁多,如電阻應(yīng)變 片壓力傳感器、半導(dǎo)體應(yīng)變片壓力傳感 器、壓阻式壓力傳感器、電感式壓力傳 感器、電容式壓力傳感器、諧振式壓力 傳感器及電容式加速度傳感器等。但應(yīng) 用最為廣泛的是電阻應(yīng)變片壓力傳感 器,它具有極低的價(jià)格和較高的精度以 及較好的線性特性,市場(chǎng)上大部分稱重 量具比如電子枰都采用電阻應(yīng)變式壓力 傳感器。咱們今天用電阻應(yīng)變式稱重傳 感器開(kāi)展兩套信號(hào)調(diào)理電路,并針對(duì)其 特性進(jìn)行物體重量的測(cè)量和顯示,最后 完成實(shí)用電子秤的制作。
■電阻應(yīng)變式稱重傳感器的特性
在進(jìn)入電路分析前有必要先了解下 電阻應(yīng)變式傳感器的特性。電阻應(yīng)變片 是一種將被測(cè)件上的應(yīng)變量轉(zhuǎn)換成一種 電信號(hào)的敏感器件。如圖1所示為電 阻應(yīng)變片的結(jié)構(gòu)示意圖,它由基體材料、 金屬應(yīng)變絲或應(yīng)變箔片、絕緣保護(hù)片和 引出線等部分組成。
當(dāng)基體受力發(fā)生形變時(shí),電阻應(yīng)變 片也一?產(chǎn)生形變,使應(yīng)變片的阻值發(fā) 生改變,從而使加在電阻上的電壓發(fā)生 變化。這種應(yīng)變片在受力時(shí)產(chǎn)生的阻值 變化通常較小,一般這種應(yīng)變片都組成 應(yīng)變電橋,并通過(guò)后續(xù)的儀表放大器進(jìn)行放大。為了提高測(cè)量精度,通常把四片應(yīng)變片組合成全橋測(cè)量電路, 如下圖2所示為電阻應(yīng)變片全橋測(cè)量電路的電路模型。四個(gè)臂R1、 R2、R3、R4都用電阻應(yīng)變片代替。
在實(shí)際的生產(chǎn)應(yīng)用中通常將四片電阻應(yīng)變片通過(guò)特殊的材料緊 密的粘合在能產(chǎn)生力學(xué)應(yīng)變的基體上。圖3所示為后續(xù)被使用到的 梁式電阻應(yīng)變片稱重傳感器。類似于橫梁,其中間通常留有一些孔 或槽,上下兩面各貼有電阻應(yīng)變片。整個(gè)傳感器由全橋電阻應(yīng)變片 和基體構(gòu)成,當(dāng)梁受力發(fā)生機(jī)械形變時(shí)電阻應(yīng)變片也發(fā)生形變,直接導(dǎo)致了電阻值的變化。在整個(gè)傳感器電路中會(huì)把 電阻值的變化直接轉(zhuǎn)換成輸出電壓值的變化。
光有梁式稱重傳感器還不能制作成電子枰,還 需要為梁式稱重傳感器打造一套可以稱重的拖盤(pán)結(jié) 構(gòu),如圖4所示,是電子秤的本 體機(jī)械圖,包含稱重托盤(pán)、傳感 器-橋臂和底座。
■分立件信號(hào)調(diào)理電路
橋臂式傳感器的信號(hào)調(diào)理電 路,采用儀表放大器進(jìn)行放大。 儀表放大器是一種高增益、直流 耦合放大器,它具有差分輸入、 單端輸出、高輸入阻抗和高共模 抑制比等特點(diǎn)。電路特點(diǎn)決定了 適應(yīng)橋臂式傳感器的信號(hào)調(diào)理放 大,而運(yùn)算放大器只有工作在雙 電源情況下才能對(duì)稱的進(jìn)行零點(diǎn) 調(diào)節(jié)。因此不得不為電路設(shè)計(jì)雙 路輸出電源,如圖5所示。傳感 器工作電壓由HT7550-S.0V的 LDO芯片供電,其中W2用于 電路零點(diǎn)調(diào)節(jié),W1是放大倍數(shù) 調(diào)節(jié),也就是常說(shuō)的量程。
每一款傳感器的出廠性能都 不一致,因此欲想得到準(zhǔn)備的質(zhì) 量與輸出電壓值,必須對(duì)電路加 以調(diào)試,首先是電路輸出調(diào)零。 所謂調(diào)零,就是電子枰接入傳感 器信號(hào)電路后,電子秤空載的輸出電壓必須為0V。如果是簡(jiǎn)易的調(diào)節(jié)W2電位器能就校準(zhǔn) 輸出電壓,那么你的想法就錯(cuò)了。真正能有效的校準(zhǔn)這個(gè)信 號(hào)調(diào)理電路輸出為0V的方法如下。
這里使用了稱重傳感器標(biāo)稱值為5Kg ,若稱重物體為 100g ,輸出電壓為0.1V ;若稱重物體為1kg ,輸出電壓為 IV。由此可以理論得到一個(gè)交好的線性關(guān)系:y = k x + b ,其中y表示電壓,x表示質(zhì)量。因此對(duì)電 路校準(zhǔn)輸出0V必須在電子秤空載的情況下先 將W2進(jìn)行調(diào)整,用萬(wàn)用表測(cè)量U6第6腳輸 出電壓為0V時(shí)完成第一步;然后將_個(gè)lKg 的物體置于電子枰上,測(cè)量輸出電壓值可能會(huì) 偏離IV ,此時(shí)調(diào)整W1進(jìn)行量程核準(zhǔn),使輸 出電壓為IV ;最后將lKg物體移走,再用萬(wàn) 用表測(cè)量輸出電壓值,若不為0V ,重新微調(diào) W2。以上步驟可以多重復(fù)幾次,或更換不同 重量的物體測(cè)量,使電路保證輸出準(zhǔn)確的0V。 測(cè)試連接如圖6所示,其中電源部分使用萬(wàn)能 板焊接的,由雙路輸出變壓器供電,控制器使 用 C51/AVR/Arduino 主板的 Arduino 部分。
校準(zhǔn)結(jié)束后,可以取兩種不同重量的物體, 進(jìn)行人工測(cè)量。求出線性關(guān)系中的斜率和截距, 方便后面的開(kāi)發(fā)使用。筆者測(cè)量725g和100g 兩個(gè)物體,實(shí)際測(cè)量輸出電壓值分別為714mv 和107mv ,兩點(diǎn)坐標(biāo)值可以求出斜率k值為 0.9712 ,通過(guò)公式代入_個(gè)坐標(biāo)值即可得出截 距b值為1.04552。有了這個(gè)線性關(guān)系,可以 利用線性函數(shù)關(guān)系式實(shí)時(shí)測(cè)量傳感器的輸出電 壓進(jìn)而計(jì)算出測(cè)試的稱重物體的質(zhì)量。
接下來(lái)就可以測(cè)量下實(shí)際物體重量,開(kāi)始 進(jìn)入電子枰制作工作中。使用Arduino芯片處 理,可以加速整個(gè)調(diào)試開(kāi)發(fā)過(guò)程。Arduino內(nèi) 置了 10位精度的ADC $專換功能,其簡(jiǎn)易的電 子枰實(shí)現(xiàn)流程如圖7所示。
使用Arduino的A0接口采集輸出電壓值, 用Arduino調(diào)試窗口直接觀察稱重物體的質(zhì) 量。圖8所示為測(cè)量725g物體的顯示的質(zhì)量, 從顯示數(shù)據(jù)上看,其測(cè)量的輸出電壓值有漂移 浮動(dòng),使得計(jì)算出來(lái)的質(zhì)量隨之跳動(dòng)。
Arduino演示代碼如下:程序中使用了人 工標(biāo)定后計(jì)算出的線性函數(shù)關(guān)系因子數(shù)和多次 采樣取平均值的濾波方法。 void setupQ9600 bits per second:
Serial.begin(9600);
}
//_平均濾波法 #define FILTER_N 10 float Filter()
{
int i;
float filter_sum = 0; for(i = 0; i < FILTER_N; i++)
{
int sensorValue = analogRead(AO);
// read the input on analog pin 0 // Convert the analog reading (which goes from 0 -1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0); filter_sum += voltage;
II read the input on analog pin 0: delay(l);
}
return (float)(filter_sum / FILTER_N);
}
// the loop routine runs over and over again for-ever:
void loop()
{
float k = 0.9712; II人工標(biāo)定計(jì)算出的斜率float b = 1.04552; //人工標(biāo)定計(jì)算出的截距 II獲得濾波器輸出值
float Wei = ((Filter()*1000) - b) / k; // 線性函數(shù) Serial.print(Wei,3); // print out the value you
read:
Serial.print( 'g');
Serial.print(" ");
Serial.print(Wei/1000,3); // print out the value you read:
Serial.println( "Kg"); delay(500);
}
-集成化數(shù)字電踣模塊
故名思義,接下將要介紹的是用數(shù)字電路模塊用來(lái)采集 稱重傳感器的輸出動(dòng)態(tài)電壓。此款模塊為電子秤專用模擬I 數(shù)字轉(zhuǎn)換器芯片,HX711。其內(nèi)部具有24位A/D高精度 轉(zhuǎn)換器,可輸入兩通道差分信號(hào),其中通道A的増益可編 程128和64倍。工作電壓范圍在2.6V至5.5V ,圖9為官 方提供的參考電路。
由于將信號(hào)調(diào)理電路已集成為芯片,所以就沒(méi)有了外圍 調(diào)節(jié)校準(zhǔn)等工作,也不存在標(biāo)定和計(jì)算線性關(guān)系因子。接下 來(lái)將使用STC89C52RC單片機(jī)對(duì)模塊進(jìn)行通信,并將使用 4X4矩陣鍵盤(pán)對(duì)稱重物體進(jìn)行計(jì)價(jià)操作,LCD1602顯示模 塊顯示質(zhì)量、單價(jià)和支付金額,同時(shí)在程序設(shè)計(jì)中増加負(fù)壓 和過(guò)壓檢測(cè)報(bào)警動(dòng)作。
圖10是對(duì)lg的跳線進(jìn)行稱重示意,其結(jié)果很穩(wěn)定, 默認(rèn)顯示的單位的Kg ;圖11是對(duì)稱重物體進(jìn)行單價(jià)99
元輸入后的計(jì)算應(yīng)付金額為3.5 元。因?yàn)榉Q重傳感器會(huì)有受到托 盤(pán)的重力,存在一定的毛重,所以電子稱在進(jìn)入初始化工作時(shí)必須對(duì)電子稱進(jìn)行一次毛重計(jì)算, 直接正常工作后,當(dāng)前稱重的數(shù) 據(jù)需要減去毛重,這樣稱出來(lái)的 重量值才是實(shí)物的重量。此款電 子秤的實(shí)現(xiàn)流程基本和Ard u i - no版一樣,只是大部工作均由 HX711芯片輔助處理了,C51 只需要連續(xù)發(fā)送脈沖給HX711 后直接讀取出HX711已經(jīng)轉(zhuǎn)換圖9 HX711模塊參考應(yīng)用C51電子稱參考代碼如下所示:程序中Weight_Mao- pi變量就是電子稱上電后的對(duì)托盤(pán)稱重的毛重。其中轉(zhuǎn)換 后的數(shù)據(jù)除以100是用來(lái)縮小數(shù)據(jù),將后續(xù)計(jì)算出的單位 化為g ,即4位有效值。而計(jì)算實(shí)物重量時(shí)除以4.22 ,這 個(gè)數(shù)值因不同的稱重傳感器特性曲線不一樣,每一個(gè)傳感器 都會(huì)有一個(gè)矯正值,這里取值為4.22。當(dāng)發(fā)現(xiàn)測(cè)試出來(lái)的 重量偏大時(shí),可加大這個(gè)數(shù)值,反之減小,該數(shù)值一般在4.0 到5.0之間,計(jì)算式最后補(bǔ)加0.05是保證測(cè)量結(jié)果以四舍 五入百分位計(jì)算。完整驅(qū)動(dòng)程序讀者們從《電子制作》雜志 社網(wǎng)站下載。
void Get一Weight()
{
HX711_Buffer = HX711 Read();
HX711_Buffer = HX711 Buffer /100;
Weight_Shiwu = HX711_
Buffer;
Weight_Shiwu = Weight_
Shiwu - Weight_Maopi; //獲 取實(shí)物的AD采樣數(shù)值。
Buzzer = 0; //負(fù)重量報(bào)警 }
else if(Weight_Shiwu > 5000) II壓力傳感器上總質(zhì)量 大于5Kg的最大量程,報(bào)警 {
Buzzer = 0;
}
else if(Weight_Shiwu > -200) //正常測(cè)量
Buzzer = 1; //關(guān)閉警報(bào)Weight_Shiwu (unsigned int)((float)Weight_
Shiwu / 4.22 + 0.05); //計(jì) 算實(shí)物的實(shí)際重量
if(Weight_Shiwu < -300)
//稱重小于毛皮值說(shuō)明負(fù)重 300克的漂移值
總結(jié)
通過(guò)兩種稱重傳感器信號(hào)處理電路的分析和實(shí)測(cè),可總 結(jié)出。分立件儀表放大器電路結(jié)構(gòu)復(fù)雜,電源供電復(fù)雜、調(diào) 試步驟繁多,雖然線性度還是比較好,但會(huì)存在若電源不穩(wěn) 定、溫度上升、工作時(shí)間過(guò)長(zhǎng)會(huì)影響輸出電壓發(fā)生漂移,在 運(yùn)算上增加了復(fù)雜的計(jì)算難度。而電子秤專用集成化芯片, 供電簡(jiǎn)單、功耗低、線路精簡(jiǎn)、轉(zhuǎn)換精度高、無(wú)調(diào)試步驟、 無(wú)溫漂等影響。