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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15778|回復: 4
打印 上一主題 下一主題
收起左側

TM7711稱重模塊資料以及稱重單片機程序

  [復制鏈接]
跳轉到指定樓層
樓主
1.與TM7711連接的單片機需要的外設資源,兩個普通IO口,一個輸入(推薦浮空輸入),一個輸出。

對于TM7711模塊,其中DT(Dout),用于向外傳輸數據,也就是數據線,方向對外;其中SCK(PD_SCK)是輸入外部時鐘的,也就是時鐘線。

所以,對于單片機,需要一個輸入IO口,讀取Dout的數據;需要一個輸出IO口,發送時鐘信號(方波),輸出給TM7711模塊。

2.串口時序

想要正確使用這個串口需要讀時序圖,如圖所示:

對于單片機來說,與Dout連接的輸入IO口,電平從高變成低電平,說明TM7711準備好了,可以發送數據了。

這個時候,與PD_SCK連接的輸出IO口,開始發送方波(時鐘),每個方波讀取一位數據,數據總共24位。

圖上有三個PD_SCK的時序圖,是用于選擇下一次不同的通道和增益用的,所以這個模塊可以同時采集兩路惠斯通電橋的值。按照實際情況,選擇一種或者兩種的組合。所以單片機最少要發25個脈沖,前24個用于讀取這次的AD轉換數據,最后一個用于選擇下一次的通道和增益。

注意:其實關鍵的就是那幾個T1,2,3,4的時間要求,不能低于也不能超時,否則都不能得到正確結果





(2)讀取采樣值

TM7711模塊的串口輸出數據為24位的轉換值數據。

代碼如下,count為讀取到的值,通過移位,一位一位讀取;

首先,將單片機輸出口變成低電平,如果高電平達到一定時間會復位TM7711模塊的,所以平時一定將輸出口電平置為低;

然后就是等待單片機輸入口的電平變低,為了防止硬件出錯,在這里設置了超時時間,實際效果大概1s,過了1s直接跳出循環,

避免一直等待,同時超時跳出時的AD值非常大,容易排除它;然后就加了一個誤觸發消除,用的延時的方法。

然后就進入讀取AD轉換值了,先將單片機輸出口電平變高,延時一定時間,然后變低,然后讀入輸入口的電平狀態,寫入count.

最后,循環24次后,發最后一個脈沖,說明下一次AD轉換為差分輸入10hz,128增益。與0x800000異或是因為為了排除負。

到這里,AD轉換后的值就讀取了.

sbit PIN_Set_Sck =P2^6;
sbit PIN_DOUT        =P2^7



void Set_Sck_L()
{
        PIN_Set_Sck=0;
}
void Set_Sck_H()
{
        PIN_Set_Sck=1;
}


void delay_us2(int value)
{
        int i;
        for(i=value;i>0;i--);
}
unsigned long HX711_Read(void)        //增益128
{
        unsigned long count;
        unsigned char i;         
        int ii=0;
          Set_Sck_L();//模塊沒準備好時,單片機在CLK線上輸出低電平
          count=0;
        
    while(1)
                        {
                                if(PIN_DOUT==0)
                                        {
                                                delay_us2(1);        //消抖
                                                if(PIN_DOUT==0)        //檢測數據口,電壓有沒有變低,如果變低,才開始收數據。
                                                {
                                                        break;
                                                }                        
                                        }
                                       
                                ii++;
                                if(ii>=1000000)        //如果數據口沒有變低,計數1S后,退出循環。
                                        {
                                                break;
                                        }
                        }
        delay_us2(1);
          for(i=0;i<24;i++)
        {                        
                Set_Sck_H();                //SCK拉高
                delay_us2(5);                //延時1微秒
                  count=count<<1;         //將數據左移
                Set_Sck_L();                //SCK拉低
                  if(PIN_DOUT==1)//讀入數據
                                        count++;
        }
        Set_Sck_H();
        delay_us2(2);
   count=count^0x800000;//第25個脈沖下降沿來時,轉換數據
        Set_Sck_L();
        return count;
}


TM7711是一款24位的模數轉換器,最高位是符號位,其余為有效位,數據編碼格式為二進制補碼。

輸出數據最小值【0x800000】,最大值【0x7FFFFF】。(往往我們讀到的數據可能不符合這個范圍,這和我們的硬件連接,還有AIN+和AIN-的電壓差分信號有關,仔細分析數據會有更有意思的發現)

AIN+(Input positive A)A端口正極輸入,AIN-(Input negative A)A 端口負極輸入。

本文實測數據使用的TM7711的A端口,128增益,即滿額度差分輸入信號幅值為±20mv,為了簡單說明,只觀察前12位數據。(首先說明一下,AIN-和AIN+不要接反,隨著重量的增加AIN+端電壓正向增長,AIN-端電壓反向增長)

評分

參與人數 2黑幣 +65 收起 理由
mashuiyou + 15 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:96744 發表于 2022-4-3 09:05 | 只看該作者
      最近對這類稱重模塊、電子秤芯片比較感興趣,我打算用TM7711的同類芯片CS1237來測量熱電偶溫度,芯片已收到。
      CS1237有兩路輸入,計劃一路接K系列熱電偶,另一路用個PN結測量室溫做冷端補償。借寶地請教各位老師,原設計輸入端是橋式輸入,改為熱電偶輸入,輸入負端接地,該方式能否正常工作?對測量參數有無不良影響?
回復

使用道具 舉報

板凳
ID:684573 發表于 2022-10-7 12:49 | 只看該作者
alunli 發表于 2022-4-3 09:05
最近對這類稱重模塊、電子秤芯片比較感興趣,我打算用TM7711的同類芯片CS1237來測量熱電偶溫度,芯片 ...

兄弟,請問你測試的怎么樣了。
回復

使用道具 舉報

地板
ID:1107129 發表于 2023-12-29 23:02 來自觸屏版 | 只看該作者
LEI365 發表于 2022-10-7 12:49
兄弟,請問你測試的怎么樣了。

你好 這個tm7711的C語言程序有完整版嗎 我根據芯片手冊提供的程序編寫最后測試效果不理想希望和您交流一下
回復

使用道具 舉報

5#
ID:1107129 發表于 2023-12-29 23:03 來自觸屏版 | 只看該作者
LEI365 發表于 2022-10-7 12:49
兄弟,請問你測試的怎么樣了。

你好 這個tm7711的C語言程序有完整版嗎 我根據芯片手冊提供的程序編寫最后測試效果不理想希望和您交流一下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表