找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4278|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

我對(duì)hx711的理解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:677917 發(fā)表于 2019-12-30 21:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我對(duì)hx711的理解:
HX711模塊本身特別好,24位AD,加內(nèi)部放大器(可以64和128增益,放大倍數(shù))注意,這里的說明只包含關(guān)鍵部分——串口部分。1.與HX711連接的單片機(jī)需要的外設(shè)資源,兩個(gè)普通IO口,一個(gè)輸入(推薦浮空輸入),一個(gè)輸出。如下圖所示:對(duì)于HX711模塊,其中DT(Dout),用于向外傳輸數(shù)據(jù),也就是數(shù)據(jù)線,方向?qū)ν;其中SCK(PD_SCK)是輸入外部時(shí)鐘的,也就是時(shí)鐘線。所以,對(duì)于單片機(jī),需要一個(gè)輸入IO口,讀取Dout的數(shù)據(jù);需要一個(gè)輸出IO口,發(fā)送時(shí)鐘信號(hào)(方波),輸出給HX711模塊。  2.串口時(shí)序?qū)τ趩纹瑱C(jī)來說,與Dout連接的輸入IO口,電平從高變成低電平,說明HX711準(zhǔn)備好了,可以發(fā)送數(shù)據(jù)了。這個(gè)時(shí)候,與PD_SCK連接的輸出IO口,開始發(fā)送方波(時(shí)鐘),每個(gè)方波讀取一位數(shù)據(jù),數(shù)據(jù)總共24位。有三個(gè)PD_SCK的時(shí)序圖,是用于選擇下一次不同的通道和增益用的,所以這個(gè)模塊可以同時(shí)采集兩路惠斯通電橋的值。按照實(shí)際情況,選擇一種或者兩種的組合。所以單片機(jī)最少要發(fā)25個(gè)脈沖,前24個(gè)用于讀取這次的AD轉(zhuǎn)換數(shù)據(jù),最后一個(gè)用于選擇下一次的通道和增益。注意:其實(shí)關(guān)鍵的就是那幾個(gè)T1,2,3,4的時(shí)間要求,不能低于也不能超時(shí),否則都不能得到正確結(jié)果。  3.程序講解——關(guān)鍵部分在此用的HAL庫(kù)。(1)延時(shí)us函數(shù),我就用簡(jiǎn)單的用軟件延時(shí)實(shí)現(xiàn)了,你可以自己用其他方法實(shí)現(xiàn),越準(zhǔn)對(duì)實(shí)現(xiàn)越有利其實(shí)。  (2)讀取采樣值HX711模塊的串口輸出數(shù)據(jù)為24位的轉(zhuǎn)換值數(shù)據(jù)。代碼如下,count為讀取到的值,通過移位,一位一位讀;首先,將單片機(jī)輸出口變成低電平,如果高電平達(dá)到一定時(shí)間會(huì)復(fù)位HX711模塊的,所以平時(shí)一定將輸出口電平置為低;然后就是等待單片機(jī)輸入口的電平變低,為了防止硬件出錯(cuò),在這里設(shè)置了超時(shí)時(shí)間,實(shí)際效果大概1s,過了1s直接跳出循環(huán),           避免一直等待,同時(shí)超時(shí)跳出時(shí)的AD值非常大,容易排除它;然后就加了一個(gè)誤觸發(fā)消除,用的延時(shí)的方法。然后就進(jìn)入讀取AD轉(zhuǎn)換值了,先將單片機(jī)輸出口電平變高,延時(shí)一定時(shí)間,然后變低,然后讀入輸入口的電平狀態(tài),寫入count.最后,循環(huán)24次后,發(fā)最后一個(gè)脈沖,說明下一次AD轉(zhuǎn)換為通道A,128增益。與0x800000異或是因?yàn)闉榱伺懦?fù)值。到這里,AD轉(zhuǎn)換后的值就讀取了。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表