韩国美女高清爽快一级毛片-韩国美女毛片-韩国美女人成网站在线看看-韩国美女丝袜一区二区-韩国美女一级毛片-韩国美女一级片

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁(yè)>
電子資訊>
技術(shù)專題>
單片機(jī)開(kāi)發(fā)之HX711的...

技術(shù)專題

單片機(jī)開(kāi)發(fā)之HX711的計(jì)算


最近接了一個(gè)單片機(jī)開(kāi)發(fā)項(xiàng)目,需要使用HX711芯片來(lái)處理稱重傳感器的值。作為一個(gè)多年老司機(jī),在HX711官網(wǎng)上沒(méi)找到稱重值的計(jì)算方法,網(wǎng)上的資料也不全。因此在調(diào)試出HX711的稱重值之后,將項(xiàng)目過(guò)程做一個(gè)記錄,為后面開(kāi)發(fā)的人提供微薄的幫助。

硬件電路在此略過(guò)不提了,簡(jiǎn)略說(shuō)下HX711STM32單片機(jī)開(kāi)發(fā)的過(guò)程。

1、初始化硬件HX711_init;

2、實(shí)現(xiàn)HX711 AD值讀取函數(shù)HX711_Read_AD;

3、記錄沒(méi)有物品時(shí)HX711_Read_AD讀取的ADadj;

4、編譯燒錄運(yùn)行程序,將一個(gè)質(zhì)量為M的物品放到托盤上,HX711_Read_AD讀出物品的AD值A1。可計(jì)算得到稱重系數(shù) γ=M/(A1-adj);

5將γ常量系數(shù)寫入到代碼中,實(shí)現(xiàn)HX711_Read_Weight函數(shù),例如HX711_Read_AD讀取待測(cè)物的AD值是A,待測(cè)物品質(zhì)量m=(A-adj)*γ = M*(A-adj)/(A1-adj);

以下代碼是HX711在STM32F103上的代碼實(shí)現(xiàn),已經(jīng)過(guò)驗(yàn)證:

#define HX711_SCK       PBout(13)  //SCK

#define HX711_READ_SDA  PBin(12)   //輸入SDA

static u32 adj = 0;//無(wú)物稱重時(shí)HX711讀出的AD

/*初始化硬件*/

void HX711_init(void)

{

      u32 sum=0;

      int i=0;

       GPIO_InitTypeDef GPIO_InitStructure;

      RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); 

      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽輸出

      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

      GPIO_Init(GPIOB, &GPIO_InitStructure);

       GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;

      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;     //浮空輸入

      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

      GPIO_Init(GPIOB, &GPIO_InitStructure);

       HX711_Read_AD();

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

            delay_ms(100);

            sum+=HX711_Read_AD();

      }

      adj = sum/10;

}

/**************************************************************

24bit HX711讀取AD

***************************************************************/

u32 HX711_Read_AD(void)

{

      u32 count;

      u8 i;

      HX711_SCK = 0; //使能ADPD_SCK 置低)

      count=0;

      while(HX711_READ_SDA); //AD轉(zhuǎn)換未結(jié)束則等待,否則開(kāi)始讀取

      delay_us(1);

      for (i=0;i<24;i++)

      {

            HX711_SCK=1; //PD_SCK 置高(發(fā)送脈沖)

            count=count<<1; //下降沿來(lái)時(shí)變量count左移一位,右側(cè)補(bǔ)零

            if(HX711_READ_SDA) count++;

            delay_us(1);

            HX711_SCK=0; //PD_SCK 置低

            delay_us(1);

      }

      HX711_SCK=1;

      delay_us(1);

      HX711_SCK=0;

      count=count^0x800000;//25個(gè)脈沖下降沿來(lái)時(shí),轉(zhuǎn)換數(shù)據(jù) 

      return count;

} 

/*讀取物品質(zhì)量,單位0.1g*/

u32 HX711_Read_Weight(void)

{

      u32 weight = 0;

      u32 count = HX711_Read_AD();     

      weight=((count-adj)*0.029017+5)/10;//5是為了四色五入,0.029017是稱重系數(shù) ,這里的單位是0.1g,如果想更換單位,請(qǐng)將系數(shù)乘以或除以10

      return weight;

}

計(jì)算方法依據(jù)是通過(guò)HX711讀出AD值與物品質(zhì)量程線性關(guān)系。另注意:每個(gè)HX711空載時(shí)的AD都不一樣,所以每個(gè)設(shè)備的HX711模塊都需要校零

作者:Winston

轉(zhuǎn)載請(qǐng)注明出處:http://m.icombj.com.cn/TechnologyNews/c5a0fe24-4fa2-a112-54b6-3a8a33050b89.shtml

請(qǐng)輸入搜索關(guān)鍵字

確定
主站蜘蛛池模板: 亚洲精品久久一区二区无卡 | 毛片女人毛片一级毛片毛片 | 一级黄网站 | riav久久中文一区二区 | 思99热精品久久只有精品 | 久久精品国产在爱久久 | 国产综合色在线视频播放线视 | 在线观看色 | 国产高清视频青青青在线 | www.久久视频| 欧美国产一区二区二区 | 日韩香蕉网 | 天天干天天拍天天射天天添天天爱 | 在线看一区二区 | 不卡的在线视频免费观看 | 免费女人18a级毛片视频 | 国产主播在线看 | 91精品国产免费久久久久久青草 | 日韩视频精品 | 国产精品久久精品牛牛影视 | 青青青国产精品一区二区 | 亚洲欧洲尹人香蕉综合 | 一区二区视频免费看 | 欧美区一区二区三 | 一级a做爰片欧欧美毛片4 | 夜夜爽日日澡人人添 | 九九视频免费在线观看 | 亚洲精品久久久久久动漫剧情 | 日韩欧美视频 | 中国一级一级全黄 | 色综合99| 成人欧美视频在线看免费 | 久久亚洲免费视频 | 中文字幕亚洲一区二区v@在线 | 99精品国内不卡在线观看 | 中文字幕久久久久久久系列 | 精品免费国产一区二区三区 | 成年女人午夜毛片免费看 | 一 级 黄 色蝶 片 | 久久狠狠第一麻豆婷婷天天 | 卡通动漫精选国产欧美 |