질문게시판 > 로드셀 센서 재 질문

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

로드셀 센서 재 질문

페이지 정보

작성자 나보라 작성일18-12-19 15:02 조회5,573회 댓글1건

본문

안녕하세요. 지식in으로 시작하여 여기까지 재 질문을 남기게되었습니다.

지식인 : ( https://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=316253129&qb=66Gc65Oc7IWAIOyYgeygkA==&enc=utf8&section=kin&rank=1&search_sort=0&spq=0 )

 

처음 문제는 시간이 지남에 따라(대략1시간) 영점 조절을 한 로드셀 값이 점점 상승한다는것이었습니다. (0g -> 400g)

지식in에서 알려주신 코딩을 바탕으로 수정한 부분도 있지만 여전히 시간이 지남에 따라  (대략 1시간, 0g -> 200g) 영점이 계속 변하고 있습니다.

외부전원 12v/1A짜리도 넣어서 해봤습니다! 아두이노 우노+로드셀+hx711로 실험중이며, 결과값은 LCD로 확인합니다.

 

* 로드셀 센서에 적어도 6시간 동안은 전원을 넣고 (ON) 3,000ml의 물통에서 물이 빠져나가는 양을 실시간으로 측정하고싶습니다. 

제가 사용중인 코드는 다음과 같습니다. 어느 부분을 수정할게 있을까요?

 

답변 항상 감사합니다!!

 

 

-----------------------------------------------------------------------------------------

 

 

#include "HX711.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

#define DOUT1   3
#define CLK1    2
HX711 scale1(DOUT1,CLK1);
#define DOUT2  7
#define CLK2   6
HX711 scale2(DOUT2,CLK2);
#define DOUT3  10
#define CLK3   9
HX711 scale3(DOUT3,CLK3);
//--------------------------------------------------------------------------
#define K      -7050.0 // calibration_factor
//--------------------------------------------------------------------------
unsigned int cnt1=0,cnt2=0,cnt3=0;
float zero1=0,zero2=0,zero3=0;
float g1,sum1,buf1;
float g2,sum2,buf2;
float g3,sum3,buf3;
unsigned char SumCnt1=0,SumCnt2=0,SumCnt3=0;
//--------------------------------------------------------------------------
void setup()
{
  Serial.begin(9600);
  scale1.set_scale(K); scale2.set_scale(K); scale3.set_scale(K);
  scale1.tare(); scale2.tare(); scale3.tare();
  lcd.init();      // initialize the lcd
  lcd.backlight(); // 라이트함수
  lcd.begin(16,2);
}
//--------------------------------------------------------------------------
void loop(){
    delay(100);//
  buf1=scale1.get_units()*500;   
   sum1=buf1;// raw data 누적
    if(++SumCnt1>=10)
    {
        cnt1=0; zero1=0;
        g1= sum1/SumCnt1;
        SumCnt1=0; sum1=0;  

        if((g1 <= 15) && (g1 >= -15))
        {
   if(++cnt1>=10)
            {
      cnt1=0;
                zero1 =g1;
            }
        }
        else
        {
      cnt1=0;
        }
    }
    if(g1 >= zero1) g1=g1-zero1;
    else g1 =zero1-g1;

//--------------------------------------------------------------------------

  buf2 = scale2.get_units()*500;     
  sum2 = buf2;

    if(++SumCnt2>=10)
    {
        cnt2=0; zero2=0;
        g2= sum2/SumCnt2;
        SumCnt2=0; sum2=0;  

        if((g2 <= 15) && (g2 >= -15))
        {
   if(++cnt2>=10)
            {
              cnt2 =0; zero2 =g2;
            }
        }
        else{
          cnt2=0;
        }
    }
    if(g2 >= zero2) g2=g2-zero2;
    else g2 =zero2-g2;

  //---------------------------------------------

    buf3=scale3.get_units()*500;   
    sum3=buf3;
    if(++SumCnt3>=10)
    {
        cnt3=0; zero3=0;
        g3= sum3/SumCnt3;
        SumCnt3=0; sum3=0;  

        if((g3 <= 15) && (g3 >= -15))
        {
   if(++cnt3>=10)
      cnt3=0;
                zero3 =g3;
            }
        }
        else
        {
      cnt3=0;
        }

    }
    if(g3 >= zero3) g3=g3-zero3;
    else g3 =zero3-g3;
  //---------------------------------------------
  float sum=g1+g2+g3;
  //---------------------------------------------

  
  lcd.clear(); 
  lcd.setCursor(2,0);
  lcd.print("keyes-scale");
  lcd.setCursor(5, 1);
  lcd.print(sum,0);
  lcd.print("g");


}

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글 : 1

조회수 : 5,573

master님의 댓글

master 작성일

체크 포인트를 알려드리죠
//
1.
온도계로 로드셀 주변 공기의 온도를 측정해보세요
온도에 따라서 값이 변할 수 있습니다.
2.
로드셀 인가전압이 변하는지 측정해보세요
3.
비접촉 온도계를 사용해서
로드셀 및 앰프 관련 부품에서 열이 발생하는지 측정해보세요
//
로드셀 측정값과 위 3가지(온도 및 전압) 측정값을 함께 적어서 표를 만들면 원인을 찾기 쉬워집니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 아두이노 센서 쉴드 v5.0 과 음성인식 모듈(V2)통… 첨부파일AutoSun 새글 17:58
질문 초음파 센서를 사용한 dc모터 제어에 관해 질문 있습니… 첨부파일뉴비에오 새글 22-07-04
답변 답변 : 초음파 센서를 사용한 dc모터 제어에 관해 질… 댓글[2] master 새글 10:56
질문 아두이노 Sensor Shield 5.0 시리얼 통신 … 댓글[2] AutoSun 새글 22-07-04
질문 Atmega 코드 좀 봐주세요. 댓글[1] 첨부파일chelsea 새글 22-07-04
질문 아두이노 while문 탈출 질문 yhj2644  22-07-01
답변 답변 : 아두이노 while문 탈출 질문 댓글[8] master  22-07-01
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의… 댓글[3] cansad  22-06-30
질문 ESP32-C3 리튬폴리머 ADC 전압 체크 관련 문의 댓글[3] cansad  22-06-30
질문 빵판없이 디스플레이 넣을 수 있을까요? 댓글[2] 첨부파일오소로롯  22-06-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum  22-06-26
질문 음전압 ADC 댓글[2] 412904  22-06-26
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2  22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master  22-06-25
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전