標(biāo)題: 求教大佬!想看HX711模塊發(fā)送回來的AD數(shù)據(jù)卻不成功,怎么辦? [打印本頁]

作者: rukino258    時(shí)間: 2020-5-18 01:52
標(biāo)題: 求教大佬!想看HX711模塊發(fā)送回來的AD數(shù)據(jù)卻不成功,怎么辦?
制作一個(gè)智能電子秤,本來以為hx711這部分最好弄但是卻卡在這兩天了,求助下大佬吧。

這個(gè)設(shè)計(jì)是stc89c52+hx711+人體稱重傳感器*4,量程就是50kg*4了,傳感器組成一個(gè)全橋電路并每一個(gè)連出一根線,分別是E+,E-,A+,A-,連在hx711的這幾個(gè)端口上。另外一邊我給hx711的DT和SCK分配的是p12和p13。硬件大概就這些,這邊都好簡單,感覺一下就做完了ヽ( ̄▽ ̄)ノ。

軟件有hx711、LCD1602、初始化定時(shí)器等等這些部分,邏輯上編譯通過,但是就是怎么也不顯示hx711應(yīng)該發(fā)回來的ad數(shù)據(jù),我頭都大了三倍啊(`皿′)。

總之說下我的邏輯,在hx711.c里有個(gè)read_hx711(),是芯片廠家給的驅(qū)動程序,return值應(yīng)該是hx711發(fā)回的AD數(shù)據(jù),而要把AD數(shù)據(jù)轉(zhuǎn)換成KG還要經(jīng)過一個(gè)一次線性方程,其中的一個(gè)參數(shù)應(yīng)該是根據(jù)hx711發(fā)回的AD值計(jì)算的,那我就想著把這個(gè)值寫到LCD上去,結(jié)果燒進(jìn)去LCD顯示正常,但是后面該顯示AD值的地方是一片空白,就搞不懂這是什么原因。希望有做過電子秤的大佬幫幫我,感激不盡!

p.s. 其實(shí)我有自己分析過一些原因的
1.我的傳感器太垃圾了,這個(gè)東西連靈敏度都沒有,型號也沒有,之前我把別的大佬的程序拿來調(diào)試硬件的時(shí)候也是毫無反應(yīng),但是我拆了我自己家的體重秤也是這個(gè)東西啊(;д;)
2.還是程序有錯(cuò)的,沒說的,還是得干……

附上我的實(shí)物圖,寫的亂七八糟的筆記,還有源碼,望大佬給我答疑解惑!靴靴!



design1.zip

104.58 KB, 下載次數(shù): 19


作者: TTQ001    時(shí)間: 2020-5-18 08:20
我猜HX711不是真正的產(chǎn)品。 也許先試一個(gè)好的驗(yàn)證代碼是否正確。
作者: f556    時(shí)間: 2020-5-18 09:48
HX711是24位電子稱專用AD,加一路電池測量AD。驅(qū)動很簡單。我看了一下HX711程序沒問題。但
void main()
{
        uchar TestStr[] = {"AD:"};
        DU = 0;
        WE = 0;//關(guān)閉數(shù)碼管顯示
        Init_LCD1602();//1602初始化
        LCD1602_Dis_Str(0, 0, &TestStr[0]);        //顯示字符串
  LCD1602_Dis_Str(4, 0, &hex[0]);
        while(1);
}
中沒有調(diào)用HX711的部分,加
while(1){LCD1602_Dis_Str(4, 0,AD_Offset());
delayms(200);

作者: 51hei**1140    時(shí)間: 2020-5-18 14:00
你好!
1、首先檢測你的硬件連線,看著太亂,難免有錯(cuò);
2、再檢查程序,用最簡單的HX711程序測試習(xí)慣;
3、建議你可以直接換用200Kg的應(yīng)變器來測體重。
作者: rukino258    時(shí)間: 2020-5-19 17:50
f556 發(fā)表于 2020-5-18 09:48
HX711是24位電子稱專用AD,加一路電池測量AD。驅(qū)動很簡單。我看了一下HX711程序沒問題。但
void main()
{ ...

感謝大佬!在main里調(diào)用了offset和hx711_read后利用write_dat函數(shù)顯示成功
之前之所以顯示不出來是因?yàn)槲矣昧薲is_str,我甚至為了把hx711read的long型轉(zhuǎn)換成string寫了一個(gè)ltoa函數(shù)進(jìn)去,但是參考了其他大佬的顯示程序后發(fā)現(xiàn)用writecmd定位再寫就好了!
現(xiàn)在AD是可以正常顯示,但是顯示16777215,即2^24,在網(wǎng)上也看到有人出現(xiàn)這個(gè)問題,他的分析是硬件連線有問題以及程序dout部分的問題,我還在繼續(xù)排查。
感謝幫助!

作者: rukino258    時(shí)間: 2020-5-19 17:52
TTQ001 發(fā)表于 2020-5-18 08:20
我猜HX711不是真正的產(chǎn)品。 也許先試一個(gè)好的驗(yàn)證代碼是否正確。

謝謝回復(fù)!現(xiàn)在hx711可以顯示,但是只是顯示16777215,即2^24,網(wǎng)上查閱了關(guān)于這個(gè)2^24的解決方法,還在解決這個(gè)問題。
感謝幫助!
作者: rukino258    時(shí)間: 2020-5-19 17:56
51hei**1140 發(fā)表于 2020-5-18 14:00
你好!
1、首先檢測你的硬件連線,看著太亂,難免有錯(cuò);
2、再檢查程序,用最簡單的HX711程序測試習(xí)慣;
...

謝謝回復(fù)!這個(gè)硬件是因?yàn)槭亲约汉附拥亩疫沒找到合適的封裝?載體?把他裝起來,其實(shí)抖一下就是全橋電路了,和我那個(gè)亂七八糟的筆記上畫的一樣,我已經(jīng)去買合適的秤面了( ̄▽ ̄)/。這個(gè)四個(gè)傳感器的確不太好使,買了一個(gè)高檔的足立的200kg傳感器再試試。現(xiàn)在看起來hx711是好的,可以輸出16777215,即2^24,這個(gè)應(yīng)該是我的線路已經(jīng)DT配置的問題,正在解決中……
感謝大佬幫助!
作者: f556    時(shí)間: 2020-5-20 09:50
rukino258 發(fā)表于 2020-5-19 17:50
感謝大佬!在main里調(diào)用了offset和hx711_read后利用write_dat函數(shù)顯示成功
之前之所以顯示不出來是因?yàn)?...

不客氣,這是第一次下載程序回答問題,回答后就全刪除了。
問一下:那么多貓是誰粘的?
作者: HelloPan111    時(shí)間: 2020-11-17 11:10
請問樓主有解決嗎?
作者: Phoenix2    時(shí)間: 2022-5-6 11:13
樓主您好,想問一下你最后顯示的值是16777612這個(gè)問題解決了嗎?我現(xiàn)在也遇到這個(gè)問題了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1