hx711模塊接32位單片機哪個引腳

2020-12-06 電子發燒友

  hx711是一款用得比較多的器件,該晶片與後端MCU 晶片的接口和編程非常簡單,所有控制信號由管腳驅動,無需對晶片內部的寄存器編程。輸入選擇開關可任意選取通道A 或通道B,與其內部的低噪聲可編程放大器相連。hx711接單片機的方法都是大同小異的,那麼hx711模塊接32位單片機哪個引腳了?比如STM32。

  首先我們要知道hx711模塊是要求5V左右提供電工作電壓,而且晶片手冊有個要求:數字電源(DVDD)應使用與 MCU 晶片相同的的數字供電電源。

  一般情況下與32位單片機接的引腳主要三個。

  11 腳PD_SCK 數字輸入 斷電控制(高電平有效)和串口時鐘輸入

  12 腳 DOUT 數字輸出 串口數據輸出

  16 腳 DVDD 電源 數字電源: 2.6 ~ 5.5V

  供電電源

  數字電源(DVDD)應使用與MCU 晶片相同的的數字供電電源。HX711 晶片內的穩壓電路可同時向 A/D 轉換器和外部傳感器提供模擬電源。穩壓電源的供電電壓(VSUP)可與數字電源(DVDD)相同。穩壓電源的輸出電壓值(VAVDD)由外部分壓電阻R1、R2 和晶片的輸出參考電壓VBG 決定,VAVDD=VBG(R1+R2)/R2。應選擇該輸出電壓比穩壓電源的輸入電壓(VSUP)低至少100mV。

  如果不使用晶片內的穩壓電路,管腳VSUP應連接到DVDD 或AVDD 中電壓較高的一個管腳上。管腳VBG 上不需要外接電容,管腳VFB 應接地,管腳BASE 為無連接。時鐘選擇如果將管腳 XI 接地,HX711 將自動選擇使用內部時鐘振蕩器,並自動關閉外部時鐘輸入和晶振的相關電路。這種情況下,典型輸出數據速率為10Hz 或80Hz。如果需要準確的輸出數據速率,可將外部輸入時鐘通過一個20pF 的隔直電容連接到XI管腳上,或將晶振連接到XI 和XO 管腳上。這種情況下,晶片內的時鐘振蕩器電路會自動關閉,晶振時鐘或外部輸入時鐘電路被採用。此時,若晶振頻率為11.0592MHz, 輸出數據速率為準確的10Hz 或80Hz。輸出數據速率與晶振頻率以上述關係按比例增加或減少。使用外部輸入時鐘時,外部時鐘信號不一定需要為方波。可將MCU 晶片的晶振輸出管腳上的時鐘信號通過20pF 的隔直電容連接到XI管腳上,作為外部時鐘輸入。外部時鐘輸入信號的幅值可低至150mV。

  串口通訊

  串口通訊線由管腳PD_SCK 和DOUT 組成,用來輸出數據,選擇輸入通道和增益。當數據輸出管腳DOUT 為高電平時,表明A/D 轉換器還未準備好輸出數據,此時串口時鐘輸入信號PD_SCK 應為低電平。當DOUT 從高電平變低電平後,PD_SCK 應輸入25 至27 個不等的時鐘脈衝。其中第一個時鐘脈衝的上升沿將讀出輸出24 位數據的最高位(MSB),直至第24 個時鐘脈衝完成,24 位輸出數據從最高位至最低位逐位輸出完成。第25至27 個時鐘脈衝用來選擇下一次A/D 轉換的輸入通道和增益。

  上圖為HX711晶片應用於計價秤的一個參考電路圖。該方案使用內部時鐘振蕩器(XI=0),10Hz的輸出數據速率(RATE=0)。電源(2.7~5.5V)直接取用與MCU 晶片相同的供電電源。通道A與傳感器相連,通道B通過片外分壓電阻與電池相連,用於檢測電池電壓。

  HX711在Arduino上的接線方式

  1. VCC 可以是 2.6-5.5 中的任意值,因為我們使用的是 Arduino ,所以直接5V供電,GND 接地。

  2. SCK 接 Arduino 的 Pin 9,DT 接 Pin10,這兩個接腳可以在程序中改變。

  3. E+、E-、A+ 和 A- 分別接橋式傳感器的:激勵電壓正、負,輸出電壓正、負

  (E+ 接紅線;E- 接黑線;A+ 接綠或藍線;A- 接白線)。

  4. B+ 和 B- 接通道B的傳感器,也可以通過分壓電路接電源,用來檢測電源電壓。不用的話最好接GND,不過有網友試驗不接也沒問題。

  示例代碼

  #include 《HX711.h》 // 包含庫的頭文件

  HX711 hx(9, 10); // 數據接腳定義

  void setup() {

  Serial.begin(9600);

  }

  void loop()

  {

  double sum = 0; // 為了減小誤差,一次取出10個值後求平均值。

  for (int i = 0; i 《 10; i++) // 循環的越多精度越高,當然耗費的時間也越多

  sum += hx.read(); // 累加

  Serial.println(sum/10); // 求平均值進行均差

  }

  給的示例程序非常簡單,但是我查看庫中含有很多示例沒有給出的函數:

  HX711(byte sck, byte dout, byte amp = 128, double co = 1); // 定義 sck、dout 接腳,增益倍數(默認128)和修正係數(默認1)

  void set_amp(byte amp); // 改變增益倍數和對應的通道,至少調用一次 read() 後起作用

  bool is_ready(); // 返回 hx711 是否可用,在 read() 函數中會被調用

  long read(); // 返回傳感器電壓值,如果 hx711 不可用則程序會暫停在此函數

  double bias_read(); // 返回:(read() - 偏移值) * 修正係數

  void tare(int t = 10); // 將皮重添加到偏移值,影響每次 read(); 的調用

  void set_co(double co = 1); // 修改修正係數(默認為1)

  void set_offset(long offset = 0); // 修改偏移值(默認為0)

  可以看到,HX711還可以使用四參數方式定義,同時指定增益倍數及修正係數。在程序運行中還可以隨時改變增益倍數,修正係數以及利用偏移值實現去皮重等功能,非常實用。

  這裡唯一需要解釋的是第一個函數,

  HX711 hx(9, 10); // 這樣用說明只定義SCK和DOUT接腳,AMP默認使用A通道的128位增益,修正係數默認為1;

  HX711 hx(9, 10, 64); // 這樣用說明定義SCK和DOUT接腳,AMP使用A通道的64增益,修正係數默認為1;

  HX711 hx(9, 10, 32, 1.4); // 這樣用說明定義SCK和DOUT接腳,AMP使用B通道的32位增益,修正係數為1.4;

  這裡有關通道和增益倍數的選擇,資料中已經提及過,A通道只有128和64位兩種增益倍數,對應滿載電壓為 20mV 和 40mV,B通道只有固定的32位增益倍數,滿載電壓為 80mV,使用時各個通道輸入電壓不要超過對應增益倍數的滿載電壓。當然,程序中額可以隨時切換增益倍數和通道,使用set_amp(amp)函數即可,當然,amp 的值只能是 128、64或32。

  再強調一句,如果增益倍數選擇32位增益,那麼讀出的數據就是B通道的。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 單片機的外部結構-引腳功能
    上圖是它們的引腳配置:40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。現在我們對這些引腳的功能加以說明:1、電源引腳Vcc 40腳 正電源腳,工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。GND 20 接地端  2.外接晶體引腳
  • 怎麼解決引腳單片機的上拉電阻問題?
    單片機的引腳,可以用程序來控制,輸出高、低電平,這些可算是單片機的輸出電壓。但是,程序控制不了單片機的輸出電流。單片機的輸出電流,很大程度上是取決於引腳上的外接器件。
  • 美國微芯科技推出首款可驅動192段LCD的80引腳可編程單片機
    > Microchip Technology(美國微芯科技公司)發布八款內置液晶顯示 (LCD) 模塊的8位PIC(r)單片機。新款LCD PIC單片機系列包括全球首款28引腳LCD單片機,適用於需要嵌入式控制的簡單、成本效益高的顯示應用,以及首款可驅動192段LCD的80引腳可編程單片機,適用於觸控螢幕和分段式LCD顯示屏應用。這批Microchip LCD PIC系列單片機的新成員在該系列原有的引腳數目和性能水平選擇廣泛的基礎上,增加了產品功能,能滿足多種LCD段顯示屏的不同需求。
  • AT89S51引腳圖,AT89S51單片機引腳說明及管腳定義
    AT89S51引腳圖,AT89S51單片機引腳說明及管腳定義AT89S51引腳圖AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反覆擦寫1000次的Flash只讀程序存儲器,器件採用ATMEL公司的高密度、非易失性存儲技術製造
  • STC12系列單片機PCA模塊應用
    STC12C5系列單片機屬於增強性單片機,有多強呢?帶有SPI接口,PCA模塊,定時器輸出,16K+的片上ROM,越來越妖孽了!前面見識了定時器輸出功能,現在來領教一下STC12C5A60S單片機的PCA捕捉比較模塊,後面有心情再看看SPI模塊。
  • 基於單片機的電動車36V鋰電池組保護電路設計方案
    A /D模塊將輸入的模擬信號轉換為數位訊號,並傳輸給單片機。 單片機作為數據處理和控制的核心,一方面實時監控電池組的各項性能指標和狀態,一方面根據這些狀態參數控制驅動大功率開關。 由於使用了單片機,使系統具有很大的靈活性,便於實現各種複雜控制,從而能方便地對系統進行功能擴展和性能改進。
  • S12單片機模塊應用及程序下載調試
    關鍵字: MC9S12DG128;CodeWarrior;TBDML;Flash解密     本次智能車邀請賽採用的MC9S12DG128(以下簡稱DG128)是Freescale公司推出的S12系列單片機中的一款增強型16位單片機,片內資源豐富,接口模塊包括SPI、SCI、IIC、A/D、PWM等,在汽車電子應用領域具有廣泛的用途
  • 單片機晶振引腳xtal1和xtal2信號幅度不同
    實驗板焊接完畢,isp下載程序失敗,檢查晶振兩個引腳都有始終波形,但是18腳比19腳大得多。查資料得知,因為mpu內部是一個反相放大器,18腳是反相器輸出端,19腳是輸入。
  • 基於STC15W408S和HX711的高精度數字顯示電子秤的設計
    1、基於HX711的高精度電子秤結構與原理  高精度電子秤以STC15W408S單片機作為主控部件,連接各個子模塊,子模塊主要包括電源模塊、信號採集轉換模塊、LCD顯示模塊、鍵盤模塊以及報警模塊等,其系統原理圖如圖1所示。
  • 通過51單片機定時器/計數器實現精確延時
    當定時器/計數器用作計數器時,計數器對來自輸入引腳TO和Tl的外部脈衝計數。    MCS-51每個定時器有4種工作方式:方式0是13位計數結構,計數器由TLi的8位與THi的低5位構成,定時範圍為(1—213)個機器周期;方式1是16位計數結構,定時範圍為(1~216)個機器周期;方式2是8位計數結構,計數器由TLi的8位組成,當定時器溢時.THi的值能自動裝入TLi中,並在此值基礎上自動計數;在方式3下,也是8位的計數器,並且TO的各控制位和引腳歸TLO
  • 基於單片機帶溫度補償的超聲波測距儀設計
    圖3是HC—SRF05的實物圖,圖4是超聲波模塊電路圖。1腳為5 V電源端;2腳為觸發控制的信號輸入端,與單片機的P3.7口相連;3腳為迴響信號輸出,與單片機P3.2口相連;4腳接地;5腳為開關量輸出。
  • 基於單片機控制的二氧化碳濃度測試計的設計
    CDM4161是費加羅公司生產的一種CO2氣體濃度測試模塊,其內部集成了TGS4161 CO2氣體傳感器以及PICl6LF88單片機,CDM4161對空氣中CO2氣體濃度的測量範圍為400~4000 ppm,並且在空氣中對CO2氣體有高選擇性.而對一氧化碳和甲烷等氣體不敏感,CDM4161內部集成的單片機可對傳感器採集到的信號處理和自動校準,以使其輸出的電平值與CO2氣體的濃度保持良好的線性關係。
  • MCS-51單片機的ALE引腳有何功能?信號波形是什麼?
    MCS-51單片機的ALE為地址鎖存信號,每個機器周期輸出兩個正脈衝。在訪問片外存儲器時,下降沿用於控制外接的地址鎖存器鎖存從P0口輸出的低8位地址。
  • 一種基於AT89C51單片機的十進位計算器系統
    硬體方面從功能考慮,首先選擇內部存儲資源豐富的AT89C51單片機,輸入採用4×4矩陣鍵盤。顯示採用4位7段共陽極LED動態顯示。軟體方面從分析計算器功能、流程圖設計,再到程序的編寫進行系統設計。AT89C51具有如下特點:40個引腳,4k BytesFlash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。
  • 基於單片機設計的酒精氣體濃度探測儀
    1 系統結構系統由數據採集模塊(包括吹氣判斷電路、MQ-3酒精氣體濃度傳感器電路、信號調整電路組成);單片機控制模塊(包括STC12C5A32AD型單片機、模/數轉換部分、閥值比較電路、液晶顯示器電路、晶振電路、復位電路組成);閥值電路模塊(包括閥值預設定電路、閥值調整電路、閥值存儲電路、過閥聲/光報警等分電路組成)。
  • 製作步進電機控制模塊
    這帶來了些問題,比如需要步進電機一直旋轉,單片機就只能一直給它發送脈衝了,就很難去做其他事情了。還有步進電機相位越多需要控制引腳也就越多,如果步進電機數量多了單片機引腳根本不夠用,那麼有沒有解決方法呢?為了解決步進電機脈衝控制和引腳使用問題,我設計了一個簡單的步進電機控制模塊,使用兩個引腳就能控制步進電機轉動了。
  • C8051F020單片機對監控示波器面板的一鍵多義按鍵管理設計
    在晶片內集成了2個多通道ADC子系統(每個子系統包括1個可編程增益放大器和1個模擬多路選擇器)、2個電壓輸出DAC、2個電壓比較器、電壓基準、SMBus/I2C總線接口、UART、SPI總線接口、5個通用的16位定時器、1個具有5個捕捉/比較模塊的可編程計數器/定時器陣列(PCA)、內部振蕩器、8個8位通用數字I/0埠和64KBFLASH程序存儲器,以及8051兼容的高速微控制器內核。
  • 基於單片機的正弦信號發生器的設計
    4.顯示模塊:採用液晶(LCD)顯示,界面形象清晰,內容豐富,可顯示複雜字符,易於和單片機接口,且耗電少,故優先採用。   5.A/D轉換模塊:用8位串行A/D轉換器TLC549實現,TLC549(TLC548)是TI公司生產的一種低價位、高性能的8位A/D轉換器,它以8位開關電容逐次逼近的方法實現A/D轉換,其轉換速度小於17us,它能方便地採用三線串行接口方式與各種微處理器連接,構成各種廉價的測控應用系統,且讀寫TLC549比讀寫ADC0809簡單。
  • MPU6050和STM32L152的微功耗三維無線滑鼠設計
    摘要:利用運動傳感晶片MPU6050和STM32L152,設計了一款運動感知及處理模塊功耗僅為1.2 mA左右的低功耗三維滑鼠。
  • 用ULN2003驅動24BYJ48步進電機時,怎麼接stm32單片機比較好?
    stm32單片機是一種高性能、低成本、低功耗的單片機,可以說很多應用場合都會用到,特別是對於大型系統,像電源、充電樁、交互機、電機驅動、PLC、逆變器、印表機、掃描儀、警報系統、視頻電話、 HVAC 等。那麼對於如何用STM32驅動步進電機呢?