欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 想問一下基于51單片機智能體重秤的大體制作方法 [打印本頁]

作者: lgy199722    時間: 2019-4-2 14:06
標題: 想問一下基于51單片機智能體重秤的大體制作方法
求問硬件需要買什么以及大體做法(不需要軟件程序)
要求是
1、重量檢測范圍:10-100kg
2、檢測精度: 10g
我現在大體知道需要hx711模塊了,還需要什么

作者: 44444444aa    時間: 2019-4-12 14:30
CAD畫出傳感器的托盤,把壓片電阻放進去放大后然后連上hx711
作者: Mr、Zhou    時間: 2022-2-5 13:22
晶振 、 1602、 89c51、 按鍵......
作者: ankangyu    時間: 2022-2-5 21:05
你可以購買三方傳感器,比如電信號傳輸,或者直接帶通訊的,通過串口協議對帶通訊的傳感器采集數據,或者AD轉換模塊對電信號的傳感器,這樣方便又可靠,而且設備對環境的適應程度取決于你的傳感器
作者: 黃帝故里    時間: 2022-2-5 21:32
1. 100kg 傳感器
滿量程輸出電壓=激勵電壓*靈敏度2.0mv/v
例如:供電電壓是5v 乘以靈敏度2.0mv/v=滿量程10mv。
相當于有100Kg 重力產生時候產生10mV 的電壓。
2. 711模塊對產生的10mV 電壓進行采樣。
概述:711模塊 A 通道帶有128倍信號增益,可以將10mV 的電壓放大128倍,然
后采樣輸出24bit AD 轉換的值,單片機通過指定時序將24bit 數據讀出。
詳細講解程序計算原理:
步驟1 :如何計算傳感器供電電壓
HX711可以在產生 VAVDD 和 AGND 電壓,即711模塊上的 E+和 E-電壓。
該電壓通過 VAVDD=VBG(R1 +R2 )/R2計算。
VBG 為模塊兒基準電壓1.25v
R1 = 20K,R2 = 8.2K
因此得出 VAVDD = 4.3V
(為了降低功耗,該電壓只在采樣時刻才有輸出, 因此用萬用表讀取的值可能低
于4.3v,因為萬用表測量的是有效值。 )
步驟2 :如何計算 AD  輸出最大值
在4.3V 的供電電壓下100Kg 的傳感器最大輸出電壓是4.3v*2mv/V = 8.6mV
經過128倍放大后,最大電壓為8.6mV*128 = 1100.8mV
經過 AD 轉換后輸出的24bit 數字值最大為:
1100.8mV*(2^24) /4.3V ≈ 4294967
步驟3 :程序中數據如何轉換 程序中通過
HX711_Buffer = HX711_Read();
獲取當前采樣的 AD 值,最大4294967,存放在 long 型變量 HX711_Buffer 中,
因 long 型變量計算速率和存放空間占用資源太多,固除以100,縮放為 int 型,
便于后續計算。
Weight_Shiwu = HX711_Buffer/100;
Weight_Shiwu 最大為42949。
步驟4 :如何將 AD  值反向轉換為重力值 。
假設重力為 A Kg, (x<100Kg),測量出來的 AD 值為 y
100Kg 傳感器輸出,發送給 AD 模塊兒的電壓為 A Kg * 8.6mV / 100Kg = 0.086A mV
經過128倍增益后為 128 * 0.086A = 11.008AmV
轉換為24bit 數字信號為 11.008A mV * 2^24  /4.3V = 42949.67296A
所以 y = 429496.7296A /100 = 429.4967296 A
因此得出 A = y / 429.4967296 Kg  
特別注意:  
因為不同的傳感器斜率特性曲線不一樣,因此,每一個傳感器需要軟件校正調零。
每個傳感器都要校準。
unsigned long ReadCount(void)
{undefined
    unsigned long Count;
    unsigned char i;
    SCL=0;      //使能AD(PD_SCL 置低)
    Count=0;
  while(SDA); //AD轉換未結束則等待,否則開始讀取
    for (i = 0; i < 24; i++)
    {undefined
        SCL = 1;        //PD_SCL 置高(發送脈沖)
        Count=Count<<1; //下降沿來時變量Count左移一位,右側補零
        SCL=0;          //PD_SCL 置低
        if(SDA) Count++;
    }
    SCL=1;
    Count=Count^0x800000;//第25個脈沖下降沿來時,轉換數據
    SCL=0;
    return(Count);
}




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