称重传感器及HX711 24位ADC的重量参数检测
一、HX711 24位ADC
HX711采用了海芯科技集成電路專利技術,是一款專為高精度電子秤而設計的24位A/D轉換器芯片。與同類型其它芯片相比,該芯片集成了包括穩壓電源、片內時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應速度快、抗干擾性強等優點。降低了電子秤的整機成本,提高了整機的性能和可靠性。
有需要下載相關數據手冊的,可以在立創商城找到該芯片,并下載其芯片手冊(好像HX711的不全,可以看看HX712的,讀數據部分都差不多的,只是712只能讀一個傳感器,而且帶電池檢測,適合低功耗的產品)。
二、稱重傳感器
??????? 大部分做小玩意用的都是這種稱重傳感器,總共4根線,是一個全橋電阻,可以看上面的電路圖,通過測量其電阻,兩兩之間的阻值一樣,說明是相鄰的線,一般紅黑為一組,白綠為一組,E+/E-/A-/A+分別對應紅/黑/白/綠。
??????? 但是也有可能用到這種50KG人體稱重傳感器,一個上面有3根線,4個為一組,一般都是成組匹配購買并使用。
該傳感器內部是一組半橋應變片,使用方法可以有以下三種:
1、使用一只傳感器配合外界電阻組成全橋測量,量程為一個傳感器的量程: 50kg。對外界電阻要求較高。
2、使用二只傳感器組成全橋測量,量程為兩只傳感器的量程之和:50kg×2=100kg。
3、使用四只傳感器組成全橋測量,量程為四只傳感器的量程之和:50kg×4=200kg。
?
三、HX711驅動代碼(適用于STC15F2K60S2)
1.頭文件
#ifndef __HX711_H__ #define __HX711_H__#include <STC15F2K60S2.H> #include <intrins.h>#ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #endif//IO設置 sbit HX711_DOUT=P2^6; sbit HX711_SCK=P2^7; //extern long Water;//每次稱重時的桶+水的總重量 //extern long Water1; //剛裝水時的桶+水的總重量 //extern long Water_bucket; //桶的重量 //extern uchar Water_percentage; //剩余水量的百分比//函數或者變量聲明 void Delay__hx711_us(void); unsigned long HX711_Read(void);#endif2.主函數
#include "HX711.h"//****************************************************//延時函數1us//****************************************************void Delay__hx711_us(void){unsigned char i;_nop_();_nop_();_nop_();i = 5;while (--i);}//****************************************************//讀取HX711//****************************************************unsigned long HX711_Read(void)?????? //增益128{unsigned long count;unsigned char i;HX711_DOUT=1;Delay__hx711_us();HX711_SCK=0;count=0;while(HX711_DOUT);for(i=0;i<24;i++){HX711_SCK=1;count=count<<1;HX711_SCK=0;if(HX711_DOUT)count++;}HX711_SCK=1;count=count^0x800000;//第25個脈沖下降沿來時,轉換數據Delay__hx711_us();HX711_SCK=0;?return(count);}?
總結
以上是生活随笔為你收集整理的称重传感器及HX711 24位ADC的重量参数检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五子棋人机对弈
- 下一篇: 山东计算机考试准考证打印入口