標(biāo)題: hx711壓力傳感器的單片機(jī)源碼與詳細(xì)資料 [打印本頁]
作者: li1791155355 時(shí)間: 2018-3-28 23:33
標(biāo)題: hx711壓力傳感器的單片機(jī)源碼與詳細(xì)資料
壓力傳感器資料
本傳感器所附帶的hx711程序,僅供參考。
純屬贈(zèng)送,不提供指導(dǎo)!
0.jpg (19.98 KB, 下載次數(shù): 126)
下載附件
2018-3-29 01:06 上傳
用途與特點(diǎn):適合學(xué)生實(shí)驗(yàn),DIY電子設(shè)計(jì),廣泛用于小型電子計(jì)價(jià)秤、計(jì)重秤等。
傳感器量程:10kg,20kg,40kg可選擇,其外觀、尺寸、參數(shù)都一樣,只是量程不一樣。
參考接線方法:
紅線(傳感器電源輸入) 接E+
白線(傳感器電源地) 接E-
綠線(差分信號(hào)輸出-) 接A-
黑線(差分信號(hào)輸出+) 接A+
特別注意:傳感器屬于精密部件,劇烈振動(dòng)、自由落體、碰撞、過載、過壓等等,都非常容易造成傳感器永久損壞或者影響精度和線性,您如果對(duì)該部件沒有一定的了解,請(qǐng)慎重購買。畢竟該部件比起電阻 電容 三極管等其它電子部件要脆弱的多。
0.jpg (28.53 KB, 下載次數(shù): 110)
下載附件
2018-3-29 01:07 上傳
參數(shù)說明:
參數(shù)表中,靈敏度:2.0mv/v 的含義是:假如供電電壓是5.0v,當(dāng)傳感器滿量程的時(shí)候,綠色、黑色線之間有2.0mv/v * 5.0v=10mv的差分電壓輸出。例如:傳感器的量程是10kg,供電電壓是5v,那么這個(gè)傳感器在受力10kg的時(shí)候,綠色、黑色之間輸出有2.0mv/v * 5.0v=10mv的壓差。
工作原理:
電阻應(yīng)變式壓力傳感器主要由彈性體、電阻應(yīng)變片電纜線等組成,內(nèi)部線路采用惠更斯電橋,當(dāng)彈性體承受載荷產(chǎn)生變形時(shí),電阻應(yīng)變片(轉(zhuǎn)換元件)受到拉伸或壓縮應(yīng)變片變形后,它的阻值將發(fā)生變化(增大或減。瑥亩闺姌蚴テ胶,產(chǎn)生相應(yīng)的差動(dòng)信號(hào),供后續(xù)電路測(cè)量和處理。
當(dāng)垂直正壓力P作用于梁上時(shí),梁產(chǎn)生形變,電阻應(yīng)變片R1、R3受壓彎拉伸,阻值增加。R2、R4受壓縮,阻值減小。電橋失去平衡,產(chǎn)生不平衡電壓U,電壓U與作用在傳感器上的正壓力P成正比,從而將非電量轉(zhuǎn)化為電量輸出。
示意圖如下:
0.jpg (9.92 KB, 下載次數(shù): 110)
下載附件
2018-3-29 01:08 上傳
hx711壓力傳感器的電路原理圖:
0.jpg (34.16 KB, 下載次數(shù): 121)
下載附件
2018-3-29 01:08 上傳
0.jpg (28.96 KB, 下載次數(shù): 102)
下載附件
2018-3-29 01:08 上傳
單片機(jī)源程序如下:
- /**************************************************************
-
- 實(shí)現(xiàn)功能:電子稱稱重測(cè)試程序
- **************************************************************/
- #include <reg52.h>
- #include <intrins.h>
- #include <string.h>
- #include "lcd.h"
- #include "hx711.h"
- //定義量程系數(shù)
- #define RATIO 1349/1000 //1574/1000 //2114/1623
- //定義標(biāo)識(shí)
- volatile bit FlagTest = 0; //定時(shí)測(cè)試標(biāo)志,每0.25秒置位,測(cè)完清0
- //管腳定義
- sbit LedA = P2^2;
- sbit beep = P1^0;
- sbit alert = P1^1;
- //顯示用變量
- int Counter;
- uchar idata str1[6] = "000000";
- int i, iTemp;
- //稱重用變量
- unsigned long idata FullScale; //滿量程AD值/1000
- unsigned long AdVal; //AD采樣值
- unsigned long weight; //重量值,單位g
- uchar DotPos; //小數(shù)點(diǎn)標(biāo)志及位置
- int bak_num=1;
- char code tb3[]="重量: kg";
- //整型轉(zhuǎn)字符串的函數(shù),轉(zhuǎn)換范圍0--65536
- void int2str(int x, char* str)
- {
- int i=1;
- int tmp=10;
- while(x/tmp!=0)
- {
- i++;
- tmp*=10;
- }
- tmp=x;
- str[i]='\0';
- while(i>1)
- {
- str[--i]='0'+(tmp%10);
- tmp/=10;
- }
- str[0]=tmp+'0';
- }
- //重新找回零點(diǎn),每次測(cè)量前調(diào)用
- void To_Zero()
- {
- FullScale=ReadCount()/1000;
- }
- //顯示重量,單位kg,兩位整數(shù),三位小數(shù)
- void Display_Weight()
- {
- unsigned int i,j;
-
- display_GB2312_string(3,60," ");
- //weight單位是g
- i = weight/1000; //得到整數(shù)部分
- j = weight - i*1000;//得到小數(shù)部分
- int2str(i,str1);
- if (i>=10)
- {
- display_GB2312_string(3,60,str1);
- }
- else
- {
- display_GB2312_string(3,68,str1);
- }
- display_GB2312_string(3,76,".");
- int2str(j,str1);
- if (j<10)
- {
- display_GB2312_string(3,84,"00");
- display_GB2312_string(3,100,str1);
- }
- else if (j<100)
- {
- display_GB2312_string(3,84,"0");
- display_GB2312_string(3,92,str1);
- }
- else
- {
- display_GB2312_string(3,84,str1);
- }
- }
- //數(shù)據(jù)初始化
- void Data_Init()
- {
- DotPos = 0;
- beep = 1;
- alert = 1;
- }
- //定時(shí)器0初始化
- void Timer0_Init()
- {
- ET0 = 1; //允許定時(shí)器0中斷
- TMOD = 1; //定時(shí)器工作方式選擇
- TL0 = 0x06;
- TH0 = 0xf8; //定時(shí)器賦予初值
- TR0 = 1; //啟動(dòng)定時(shí)器
- }
- //定時(shí)器0中斷
- void Timer0_ISR (void) interrupt 1 using 0
- {
- TL0 = 0x06;
- TH0 = 0xf8; //定時(shí)器賦予初值
- //每0.25秒鐘刷新重量
- Counter ++;
- if (Counter >=100)
- {
- FlagTest = 1;
- Counter = 0;
- }
- }
- //===============main program===================//
- void main(void)
- {
- Rom_CS=1;
- initial_lcd();
- EA = 0;
- Data_Init();
-
- Timer0_Init();
- //初始化完成,開中斷
- EA = 1;
- //背光
- LedA = 1;
- clear_screen(); //clear all dots
- To_Zero();
- To_Zero();
- display_GB2312_string(3,1,tb3);
- while(1)
- {
- //每0.5秒稱重一次
-
- //稱重,得到重量值weight,單位為g
- AdVal=ReadCount();
- weight=FullScale-AdVal/1000;
- if (weight>0x8000) weight=0;
- weight=15000*weight/FullScale;//校準(zhǔn)值
- weight=weight*RATIO;
- Display_Weight();
- //如果超量程,則報(bào)警
- if (weight >= 10000)
- {
- beep = 0;
- alert = 0;
- }
- //如果不超量程
- else
- {
- beep = 1;
- alert = 1;
- //顯示重量值
- Display_Weight();
- FlagTest = 0;
- }
- delay(80);// 重量的亮度
-
- }
- }
復(fù)制代碼
0.png (49.93 KB, 下載次數(shù): 126)
下載附件
2018-3-29 01:06 上傳
所有資料51hei提供下載:
壓力傳感器資料.zip
(413.81 KB, 下載次數(shù): 429)
2018-3-28 23:32 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: aiober 時(shí)間: 2019-1-1 15:52
剛好在學(xué)習(xí)HX711,謝謝樓主
作者: 此刻盡言 時(shí)間: 2019-4-10 17:11
謝謝樓主
作者: k2866 時(shí)間: 2019-4-10 20:22
學(xué)習(xí)了。!
作者: zst 時(shí)間: 2019-4-14 18:48
附件里面有仿真圖嗎?
作者: 一只羊 時(shí)間: 2019-5-1 23:34
多謝.........
作者: 安琪拉的大書 時(shí)間: 2019-5-8 02:44
超級(jí)感謝老哥分享啊,順便鄙視一下某寶奸商
作者: 幫幫我 時(shí)間: 2019-5-17 15:19
非常感謝
作者: solomon1901 時(shí)間: 2019-7-9 09:48
贊一個(gè)
作者: xiaozhong1314 時(shí)間: 2019-7-15 10:28
有沒有stm32的呀
作者: 1213504214 時(shí)間: 2019-8-5 09:59
剛好在學(xué)習(xí)HX711,謝謝樓主
作者: LMX.1 時(shí)間: 2019-10-24 16:29
不顯示啊
作者: 陳禹涵 時(shí)間: 2020-3-22 10:49
剛好在學(xué)習(xí)HX711,謝謝樓主
作者: lingmutaozi 時(shí)間: 2020-3-30 02:24
感謝樓主熱心分享
作者: wuzufeng 時(shí)間: 2020-4-2 00:50
很好,充分體現(xiàn)HX711的功能
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |