이 매뉴얼은 주식회사 제이케이이엠씨(JK EMC) 에 의해서 번역, 수정, 작성 되었고 소유권 또한
주 식회사 제이케이이엠씨(JK EMC)의 것입니다. 소유권자의 허가를 받지 않고 무단으로 수정, 삭제하거나 배포 할 수 없습니다.

 

 

HX711 Load Cell Amplifier ADC Sensor ( 전자저울 로드셀 ADC 센서 모듈 )


 
 




  1. HX711 센서 소개
2. 아 두이노와 같이 사용하기
    2.1 센서 회로도및 외곽 치수
    2.2 아두이노 UNO R3 배선도
    2.3 아두이노 스케치 코드
    2.4 아두이노 스케치 코드 실행 결과
3 센서 외 제품 소개
4 아두이노 스케치 코드 실행 동영상

 
 HX711 센서 소개

HX711 센서는 HX711 IC로 이루어진 센서이며 로드 셀을 이용하여 간판하게 무게를 측정할수있고
마이크로 컨트롤러에 연걸하여 로드셀의 변화하는 저항값을 읽어들여 무게를 측정합니다.
아날로그와 디지털 서플라이에 필터 커패시터를 분리하여 배치하였습니다.
통신방식은 이선식통신을 사용합니다. (클럭, 데이터)
이 센서는 저울, 공정제어, 간단한 탐지등 여러곳에 쓰일 수 있습니다.



Characteristic Value Unit
Supply Voltage 2.6 ~ 5.5 V
Digital Supply Current 100 uA
Analog Supply Current 1400 uA
crystal or external colock firequency 1~ 20 MHz
Internal Oscillator, RATE = 0 10 Hz
Internal Oscillator, RATE = DVDD 80
Crystal or external clock, RATE=0
fclk/1,105,920
Crystal or external clock, RATE=DVDD fclk/138,240
Output data coding 800000~7FFFFF HEX
Input common mode rejection 100 dB
Power supply rejection 100 dB




 
 HX711 회로도및 외곽치수

HX711센서 회로도

     - HX711 PDF 회로도 다운로드
     - HX711 데이터시트 다운로드(http://www.jkelec.co.kr)
     - HX711 DXF 캐드 파일 다운로드
HX711


HX711 센서 외곽(mm단위) 치수

      HX711

 
 HX711 아두이노 UNO R3 배선도

HX711<---> 아두이노

5V<--->VCC,VDD

GND<--->GND

A0<--->SCK

A1<--->DOUT

E+<--->빨강 색

E-<--->검정 색

A-<--->흰색

A+<--->초록 색






- Fritzing 파일 다운로드


HX711

 


 
 HX711 아두이노 스케치 코드

HX711센서를 이용하여 로드 셀의 저항값을 측정하여 제로점조정후 그램으로 시리얼 데이터로 출력하는 예제 이다.

아두이노 스케치 코드
     - HX711 무게 측정 데이터 표시 스캐치 파일 다운로드




// Hx711.DOUT - pin #A1
// Hx711.SCK - pin #A0

#include "Arduino.h"

class Hx711
{
public:
Hx711(uint8_t pin_din, uint8_t pin_slk);
virtual ~Hx711();
long value();
long nomalvalue(byte times = 32);
void setOffset(long offset);
void setScale(float scale = 742.f);
float gram();

private:
const uint8_t DOUT;
const uint8_t SCK;
long _offset;
float _scale;
};



Hx711 scale(A1, A0);
Hx711::Hx711(uint8_t pin_dout, uint8_t pin_slk) :
DOUT(pin_dout), SCK(pin_slk)
{
pinMode(SCK, OUTPUT);
pinMode(DOUT, INPUT);

digitalWrite(SCK, HIGH);
delayMicroseconds(100);
digitalWrite(SCK, LOW);

nomalvalue();
this->setOffset(nomalvalue());
this->setScale();
}

Hx711::~Hx711()
{

}

long Hx711::nomalvalue(byte times)
{
long sum = 0;
for (byte i = 0; i < times; i++)
{
sum += value();
}

return sum / times;
}

long Hx711::value()
{
byte data[3];

while (digitalRead(DOUT))
;

for (byte j = 3; j--;)
{
for (char i = 8; i--;)
{
digitalWrite(SCK, HIGH);
bitWrite(data[j], i, digitalRead(DOUT));
digitalWrite(SCK, LOW);
}
}

digitalWrite(SCK, HIGH);
digitalWrite(SCK, LOW);

data[2] ^= 0x80;

return ((uint32_t) data[2] << 16) | ((uint32_t) data[1] << 8)
| (uint32_t) data[0];
}

void Hx711::setOffset(long offset)
{
_offset = offset;
}

void Hx711::setScale(float scale)
{
_scale = scale;
}

float Hx711::gram()
{
long val = (nomalvalue() - _offset);
return (float) val / _scale;
}

void setup() {

Serial.begin(9600);

}

void loop() {

Serial.print(scale.gram()*2, 1);
Serial.println(" g");

delay(400);
}


 
 HX711 아두이노 스케치 코드 실행 결과

시리얼모니터

HX711


 
 HX711 센서외 제품

로드셀, 로드셀 받침대 (구입처:https://www.toolparts.co.kr)

로드셀


로드셀 받침대


 
 HX711 실행 동영상