【雕爺學(xué)編程】Arduino動(dòng)手做(72)---HX711 人體稱重模塊

37款傳感器與執(zhí)行器的提法白筹,在網(wǎng)絡(luò)上廣泛流傳蛮原,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止這37種的双妨。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊现拒,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟睿詫W(xué)習(xí)和交流為目的灌砖,這里準(zhǔn)備逐一動(dòng)手嘗試系列實(shí)驗(yàn)璧函,不管成功(程序走通)與否,都會(huì)記錄下來---小小的進(jìn)步或是搞不掂的問題基显,希望能夠拋磚引玉蘸吓。

【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+圖形編程+仿真編程)

實(shí)驗(yàn)七十二:人體秤50kg稱重傳感器模塊(電阻應(yīng)變半橋式)



應(yīng)變片

是由敏感柵等構(gòu)成用于測(cè)量應(yīng)變的元件。電阻應(yīng)變片的工作原理是基于應(yīng)變效應(yīng)制作的撩幽,即導(dǎo)體或半導(dǎo)體材料在外界力的作用下產(chǎn)生機(jī)械變形時(shí)库继,其電阻值相應(yīng)的發(fā)生變化,這種現(xiàn)象稱為“應(yīng)變效應(yīng)”摸航。


為了系列實(shí)驗(yàn)和了解應(yīng)變片制跟,我特意去網(wǎng)上買了一片,就是其體積挺驚人酱虎,在包裝盒里面好不容易才找到


應(yīng)變效應(yīng)

金屬導(dǎo)體的電阻值雨膨,隨著它受力所產(chǎn)生機(jī)械變形(拉伸或壓縮)的大小而發(fā)生變化的現(xiàn)象,稱之為金屬的電阻應(yīng)變效應(yīng)读串。電阻值將發(fā)生變化這種現(xiàn)象稱為“應(yīng)變效應(yīng)”聊记。根據(jù)應(yīng)變效應(yīng)將應(yīng)變片粘貼于被測(cè)材料上被測(cè)材料受到外界作用產(chǎn)生的應(yīng)變就會(huì)傳送到應(yīng)變片上使應(yīng)變片的電阻值發(fā)生變化通過測(cè)量應(yīng)變片電阻值的變化就可得知被測(cè)機(jī)械量的大小。

應(yīng)變效應(yīng)應(yīng)用范圍十分廣泛恢暖,可測(cè)量應(yīng)變排监、應(yīng)力、力矩杰捂、位移舆床、加速度、扭矩等物理參量。電阻式應(yīng)變片應(yīng)用模式有兩種挨队,一是將應(yīng)變片粘貼于彈性剛體上組成平衡電橋谷暮,然后接到轉(zhuǎn)換電路,構(gòu)成專用應(yīng)變傳感器盛垦;二是將應(yīng)變片粘貼于被測(cè)物體上湿弦,然后接到專用應(yīng)變儀直接讀取應(yīng)變量。


電阻應(yīng)變片

電阻應(yīng)變片的工作原理是基于應(yīng)變效應(yīng)制作的腾夯,即導(dǎo)體或半導(dǎo)體材料在外界力的作用下產(chǎn)生機(jī)械變形時(shí)颊埃,其電阻值相應(yīng)的發(fā)生變化,這種現(xiàn)象稱為“應(yīng)變效應(yīng)”蝶俱。半導(dǎo)體應(yīng)變片是用半導(dǎo)體材料制成的班利,其工作原理是基于半導(dǎo)體材料的壓阻效應(yīng)。壓阻效應(yīng)是指當(dāng)半導(dǎo)體材料某一軸向受外力作用時(shí)跷乐,其電阻率發(fā)生變化的現(xiàn)象肥败。應(yīng)變片是由敏感柵等構(gòu)成用于測(cè)量應(yīng)變的元件,使用時(shí)將其牢固地粘貼在構(gòu)件的測(cè)點(diǎn)上愕提,構(gòu)件受力后由于測(cè)點(diǎn)發(fā)生應(yīng)變,敏感柵也隨之變形而使其電阻發(fā)生變化皿哨,再由專用儀器測(cè)得其電阻變化大小浅侨,并轉(zhuǎn)換為測(cè)點(diǎn)的應(yīng)變值。金屬電阻應(yīng)變片品種繁多证膨,形式多樣,常見的有絲式電阻應(yīng)變片和箔式電阻 應(yīng)變片。箔式電阻應(yīng)變片是一種基于應(yīng)變——電阻效應(yīng)制成的盖彭,用金屬箔作為敏感柵的葱跋,能把被測(cè)試件的應(yīng)變量轉(zhuǎn)換成電阻變化量的敏感元件。


稱重傳感器工作原理

稱重傳感器是用來將重量信號(hào)或壓力信號(hào)轉(zhuǎn)換成電量信號(hào)的轉(zhuǎn)換裝置崔步。稱重傳感器采用金屬電阻應(yīng)變片組成測(cè)量橋路稳吮,利用金屬電阻絲在張力作用下伸長(zhǎng)變細(xì),電阻增加的原理井濒,即金屬電阻隨所受應(yīng)變而變化的效應(yīng)而制成的灶似。金屬電阻具有阻礙電流流動(dòng)的性質(zhì),同一種金屬絲瑞你,一般來講酪惭,越是細(xì)長(zhǎng),其電阻值就越大者甲。當(dāng)金屬電阻絲受外力作用而伸縮時(shí)春感,其電阻值就會(huì)在某一范圍內(nèi)增減。因此,將金屬絲(或膜)緊貼在被測(cè)物體上鲫懒,當(dāng)被測(cè)物體受外力而伸縮時(shí)纺铭,金屬電阻絲(膜)也會(huì)按比例伸縮,其阻值也會(huì)相應(yīng)變化刀疙。稱重傳感器就是將金屬電阻應(yīng)變片粘貼在金屬稱重梁上進(jìn)行測(cè)量重量信號(hào)的舶赔。


橋式測(cè)量電路

電阻應(yīng)變式稱重傳感器包括兩個(gè)主要部分,一個(gè)是彈性敏感元件:利用它將被測(cè)的重量轉(zhuǎn)換為彈性體的應(yīng)變值谦秧;另一個(gè)是電阻應(yīng)變計(jì):它作為傳感元件將彈性體電阻應(yīng)變式稱重傳感器竟纳。 當(dāng)傳感器不受載荷時(shí),彈性敏感元件不產(chǎn)生應(yīng)變疚鲤,粘貼在其上的應(yīng)變片不發(fā)生變形锥累,阻值不變,電橋平衡集歇,輸出電壓為零桶略;當(dāng)傳感器受力時(shí),即彈性敏感元件受載荷P時(shí)诲宇,應(yīng)變片就會(huì)發(fā)生形變际歼,阻值發(fā)生變化,電橋失去平衡姑蓝,有輸出電壓鹅心。



內(nèi)部為1000歐半橋應(yīng)變片,量程為50kg稱重傳感器纺荧,半橋結(jié)構(gòu)旭愧。

測(cè)量時(shí),外側(cè)邊正確施加外力宙暇,E字形傳感器的應(yīng)變梁部分(即中間貼應(yīng)變片的输枯,有白色覆膠的梁臂)和外側(cè)邊要形成一個(gè)方向相反的剪切力,即中間的應(yīng)變梁在受力下必需可以發(fā)生彎曲變化占贫,應(yīng)變梁受力面另一側(cè)不可有阻擋物桃熄。


傳感器內(nèi)部是一組半橋應(yīng)變片,使用方法可以有以下三種:

1靶剑、使用一只傳感器配合外接電阻組成全橋測(cè)量,量程為一個(gè)傳感器的量程:50kg蜻拨。對(duì)外接電阻要求較高。

2桩引、使用二只傳感器組成全橋測(cè)量,量程為兩只傳感器的量程之和:50kgx2=100kg缎讼。

3、使用四只傳感器組成全橋測(cè)量,量程為四只傳感器的量程之和:50kgx4=200k坑匠。



HX711 24位精度AD稱重模塊


HX711

是一款專為高精度電子秤而設(shè)計(jì)的24位A/D轉(zhuǎn)換器芯片血崭。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時(shí)鐘振蕩器等其它同類型芯片所需要的外圍電路夹纫,具有集成度高咽瓷、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)舰讹。降低了電子秤的整機(jī)成本茅姜,提高了整機(jī)的性能和可靠性。該芯片與后端MCU 芯片的接口和編程非常簡(jiǎn)單月匣,所有控制信號(hào)由管腳驅(qū)動(dòng)钻洒,無需對(duì)芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道A 或通道B锄开,與其內(nèi)部的低噪聲可編程放大器相連素标。通道A 的可編程增益為128 或64,對(duì)應(yīng)的滿額度差分輸入信號(hào)幅值分別為±20mV或±40mV萍悴。通道B 則為固定的32 增益头遭,用于系統(tǒng)參數(shù)檢測(cè)。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D 轉(zhuǎn)換器提供電源癣诱,系統(tǒng)板上無需另外的模擬電源计维。芯片內(nèi)的時(shí)鐘振蕩器不需要任何外接器件。上電自動(dòng)復(fù)位功能簡(jiǎn)化了開機(jī)的初始化過程狡刘。



主要參數(shù)

滿額度差分輸入范圍 V(inp)-V(inn) ±0.5(AVDD/GAIN) V

輸入共模電壓范圍 AGND+0.6 AVDD-0.6 V

使用片內(nèi)振蕩器享潜,RATE = 0 10

使用片內(nèi)振蕩器,RATE = DVDD 80

外部時(shí)鐘或晶振嗅蔬,RATE = 0 fclk/1,105,920

輸出數(shù)據(jù)速率

外部時(shí)鐘或晶振,RATE = DVDD fclk/138,240 Hz

輸出數(shù)據(jù)編碼 二進(jìn)制補(bǔ)碼 800000 7FFFFF(HEX) RATE = 0 400

輸出參考電壓(VBG) 1.25 V

外部時(shí)鐘或晶振頻率 1 11.0592 30 MHz

模擬電源電流(含穩(wěn)壓電路) 1600μA 斷電 0.3 μA


模塊采用24位高精度的A/D轉(zhuǎn)換器芯片hx711,是一款專為高精度電子稱而設(shè)計(jì)的疾就, 具有兩路模擬通道輸入澜术, 內(nèi)部集成128倍增益可編程放大器。輸入電路可配置為 提供橋壓的電橋式(如壓力猬腰、稱重)傳感器模式 是一款理想的高精度低成本采樣前端模塊鸟废。采樣hx711 24位ad芯片,雙通道 差分輸入姑荷。全貼片 機(jī)器焊接盒延,帶金屬屏蔽,配送直鼠冕、彎兩種插針添寺,滿足各種安裝焊接方式,板上使用了2個(gè)47uF的膽電容懈费,用料很足计露,內(nèi)置上拉電阻,且預(yù)留CPU焊接位置,很適合自己二次開發(fā)各種各樣的傳感器相關(guān)應(yīng)用票罐。


模塊電原理圖

模塊主要特點(diǎn)

● 帶金屬屏蔽叉趣,強(qiáng)抗干擾,預(yù)留cpu(STC15F104)位置该押,可自行升級(jí)二次開發(fā)疗杉。

● 兩路可選擇差分輸入

● 片內(nèi)低噪聲可編程放大器,可選增益為32蚕礼、64 和128

● 片內(nèi)穩(wěn)壓電路可直接向外部傳感器和芯片內(nèi)A/D 轉(zhuǎn)換器提供電源

● 片內(nèi)時(shí)鐘振蕩器無需任何外接器件烟具,必要時(shí)也可使用外接晶振或時(shí)鐘

● 上電自動(dòng)復(fù)位電路

● 簡(jiǎn)單的數(shù)字控制和串口通訊:所有控制由管腳輸入,芯片內(nèi)寄存器無需編程

● 可選擇10Hz 或80Hz 的輸出數(shù)據(jù)速率

● 同步抑制50Hz 和60Hz 的電源干擾

● 耗電量(含穩(wěn)壓電源電路):

典型工作電流:< 1.7mA, 斷電電流:< 1μA

● 工作電壓范圍:2.6 ~ 5.5V

● 工作溫度范圍:-20 ~ +85℃


模塊檢測(cè)方法

1闻牡,初步快速判斷:斷開模塊所有連線净赴,僅僅給模塊供電5v(就是vcc接+5v,gnd接地)罩润,然后把模塊的ck端口對(duì)地短接玖翅,然后再去測(cè) out+對(duì)地電壓,應(yīng)該4.5v左右割以,接著測(cè)DO/RX端口對(duì)地電壓金度,應(yīng)該0v左右,如果電壓都符合严沥,說明模塊99%正常猜极。

2,完整測(cè)試判斷:使用測(cè)試電路圖搭個(gè)電路消玄,給單片機(jī)燒入測(cè)試程序跟伏,然后用串口線連接電腦,在電腦上運(yùn)行串口助手翩瓜,就可以接收到測(cè)試電路發(fā)出來的讀數(shù)報(bào)告受扳,讀數(shù)正常,表明模塊正常兔跌。



實(shí)驗(yàn)準(zhǔn)備接線時(shí)勘高,才發(fā)現(xiàn)收來的四個(gè)稱重傳感器中,有一個(gè)只有二根線(其它3個(gè)都是3根接線)坟桅,看來要搞不定了


HX711.h頭文件

#ifndef HX711_h

#define HX711_h

#include "Arduino.h"

class Hx711

{

private:

????int DOUT;//定義數(shù)據(jù)引腳

????int SCK;//定義時(shí)鐘引腳

????float scale;//定義比例系數(shù)

????long offset;//定義補(bǔ)償值

public:

????Hx711(int IO_DOUT,int IO_SCK);//構(gòu)造函數(shù)

????void setScale(float IO_scale);//設(shè)置比例系數(shù)

????void setOffset(long IO_offset);//設(shè)置補(bǔ)償值

????long getValue();//采集一次ADC值

????long getAverageValue(char IO_times);//采集ADC平均值

????float getWeight(char IO_times);//得出重量值

};

#endif

HX711.cpp 文件

#include "HX711.h"

#include "Arduino.h"

//int DOUT;//定義數(shù)據(jù)引腳

//int SCK;//定義時(shí)鐘引腳

//float scale;//定義比例系數(shù)

//long offset;//定義補(bǔ)償值

//int times;//定義采集次數(shù)

Hx711::Hx711(int IO_DOUT,int IO_SCK)//構(gòu)造函數(shù)

{

????DOUT = IO_DOUT;

????SCK = IO_SCK;

????pinMode(SCK, OUTPUT);//設(shè)置IO口工作方式

????pinMode(DOUT, INPUT);

}

void Hx711::setScale(float IO_scale)//設(shè)置比例系數(shù)

{

????scale = IO_scale;

}

void Hx711::setOffset(long IO_offset)//設(shè)置補(bǔ)償值

{

????offset = IO_offset;

}

long Hx711::getValue()//采集一次ADC值

{

????unsigned long Count;

????unsigned char i;

????digitalWrite(SCK,LOW);

????Count = 0;

????while(digitalRead(DOUT) == 1);//低電平時(shí)數(shù)據(jù)可以輸出

????for(i=0;i<24;i++)//循環(huán)讀取數(shù)據(jù)

????{

????????digitalWrite(SCK,HIGH);

????????Count = Count<<1;

????????digitalWrite(SCK,LOW);

????????if(digitalRead(DOUT) == 1) Count++;//最低位置1

????}

????digitalWrite(SCK,HIGH);

????Count = Count^0x800000;//最高位置0

????digitalWrite(SCK,LOW);//128增益

????return Count;

}

long Hx711::getAverageValue(char IO_times)//采集ADC平均值

{

????long sum=0;

????char i;

????for(i=0;i<IO_times;i++)

????{

????????sum += getValue();

????}

????return sum/IO_times;

}

float Hx711::getWeight(char IO_times)//得出重量值

{

????long temp;

????temp = getAverageValue(IO_times) - offset;

????return (float)temp/scale;

}

實(shí)驗(yàn)沒有通過华望,一直卡在HX711庫上,編譯無法通過.......




/*

【Arduino】66種傳感器模塊系列實(shí)驗(yàn)(73)

實(shí)驗(yàn)七十三:人體秤50kg稱重傳感器模塊(電阻應(yīng)變半橋式)

*/

#include <HX711.h>

HX711 hx(9, 10);

void setup() {

Serial.begin(9600);

}

void loop()

{

double sum = 0;

for (int i = 0; i < 10; i++)

sum += hx.read();

Serial.println(sum/10);

delay(3000);

}


實(shí)驗(yàn)開源圖形編程(Mind+仅乓、編玩邊學(xué))


實(shí)驗(yàn)開源仿真編程(linkboy V4.1)


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赖舟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子方灾,更是在濱河造成了極大的恐慌建蹄,老刑警劉巖碌更,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異洞慎,居然都是意外死亡痛单,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門劲腿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旭绒,“玉大人,你說我怎么就攤上這事焦人』映常” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵花椭,是天一觀的道長(zhǎng)忽匈。 經(jīng)常有香客問我,道長(zhǎng)矿辽,這世上最難降的妖魔是什么丹允? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮袋倔,結(jié)果婚禮上雕蔽,老公的妹妹穿的比我還像新娘。我一直安慰自己宾娜,他們只是感情好批狐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著前塔,像睡著了一般嚣艇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上华弓,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天髓废,我揣著相機(jī)與錄音,去河邊找鬼该抒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛顶燕,可吹牛的內(nèi)容都是我干的凑保。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涌攻,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼欧引!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恳谎,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤芝此,失蹤者是張志新(化名)和其女友劉穎憋肖,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婚苹,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岸更,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了膊升。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怎炊。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖廓译,靈堂內(nèi)的尸體忽然破棺而出评肆,到底是詐尸還是另有隱情,我是刑警寧澤非区,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布瓜挽,位于F島的核電站,受9級(jí)特大地震影響征绸,放射性物質(zhì)發(fā)生泄漏久橙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一歹垫、第九天 我趴在偏房一處隱蔽的房頂上張望剥汤。 院中可真熱鬧,春花似錦排惨、人聲如沸吭敢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹿驼。三九已至,卻和暖如春辕宏,著一層夾襖步出監(jiān)牢的瞬間畜晰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工瑞筐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凄鼻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓聚假,卻偏偏與公主長(zhǎng)得像块蚌,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子膘格,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容