Sensors & Effectors/Sensors

[Arduino] Load Cell

jstar0525 2021. 8. 24. 14:40
반응형

1. 개요


Load Cell은 전자저울에 사용되는 부품으로,

Strain gauge를 이용하여 무게를 측정한다.

 

기계공학의 재료역학에서 잠깐 다루는데

금속에 힘을 주면 그에 대해 변형(늘어남)이 일어나게 된다.

 

Strain Gauge는 저항으로 이루어진 센서로,

이러한 변형률을 전기적 신호로 바꾸어, 변형량을 측정한다.

 

 

 

이러한 저항의 변화가 아주 미세하기 때문에

Load Cell Amplifier을 같이 사용하게 되는데,

HX711이라는 부품을 이용하였다.

 

 

 

 

2. 회로 연결


 

만약 출력을 확인했을때,

값이 - 값으로 나온다면

A+와 A-를 바꿔 연결하면 된다.

 

 

 

3. Sketch Code


3-1. 라이브러리 설치

HX711.zip
0.01MB

 

위 첨부한 라이브러리 압축을 풀어

윈도우의 경우,

C:\Users\user_name\Documents\Arduino\libraries 폴더 안에 넣습니다.

 

3-2. Calibration Code

 

아래의 코드는

 

아무 것도 없는 상태에서

측정되는 무게를 0으로 초기화하고,

 

무게추를 올려서

calibration_factor를 조절하여

실체 추의 무게에 맞도록 한다.

 

a나 +를 입력하면 factor가 증가하고

z나 -를 입력하면 factor를 감소시켜 

calibration_factor를 조절하여 적절한 값을 찾을 수 있는 코드이다.

 

#include "HX711.h"

#define DOUT  3 //데이터핀 3번핀 
#define CLK  2   // 클럭핀 2번핀 

HX711 scale(DOUT, CLK);

float calibration_factor = -746;    //로드셀 종류나 상황에 따라 적당한 값으로 시작

void setup() {
  Serial.begin(9600);
  Serial.println("HX711 calibration sketch");
  Serial.println("Remove all weight from scale");
  Serial.println("After readings begin, place known weight on scale");
  Serial.println("Press + or a to increase calibration factor");
  Serial.println("Press - or z to decrease calibration factor");

  scale.set_scale();
  scale.tare();	//Reset the scale to 0

  long zero_factor = scale.read_average(); //Get a baseline reading
  Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
  Serial.println(zero_factor);
}

void loop() {

  scale.set_scale(calibration_factor); //Adjust to this calibration factor

  Serial.print("Reading: ");
  Serial.print(scale.get_units(), 1);
  Serial.print(" kg"); //Change this to kg and re-adjust the calibration factor if you follow SI units like a sane person 우리 한국인은 모두 이성적이므로^^
  Serial.print(" calibration_factor: ");
  Serial.print(calibration_factor);
  Serial.println();

  if(Serial.available())
  {
    char temp = Serial.read();
    if(temp == '+' || temp == 'a')
      calibration_factor += 10;
    else if(temp == '-' || temp == 'z')
      calibration_factor -= 10;
  }
}

 

 

 

ref.

http://lhdangerous.godohosting.com/wiki/index.php/%EB%A1%9C%EB%93%9C%EC%85%80_HX711_(Load_cell_HX711) 

 

로드셀 HX711 (Load cell HX711) - 도구의인간 메이커스 위키

개요 로드셀은 전자저울에 사용되는 부품. 보통 금속의 미세한 굽힘에 따라 달라지는 미세한 저항의 변화를 측정하는 방식 (strain gauge)으로 무게를 측정한다. 미세한 저항 변화를 감지하기 위해

lhdangerous.godohosting.com

 

반응형