안녕하세요.
e메뉴얼에 있는 openRB 정보 중 “4. 핀 이름 정의” 부분에서 아래에 해당하는 핀 이름을 선언하고 "analogRead"로 읽을 때 “5v는 285, 12v는 730” 정도 값이 들어오는 걸 확인했습니다.
어떤 계산을 통해서 285, 730의 값이 들어오는지 알고 싶습니다.
알고 싶은 이유는 변화되는 값에 따라 현재 전압이 얼마인지 확인하고 싶습니다.
// Battery
#define ADC_BATTERY (33u)
안녕하세요.
e메뉴얼에 있는 openRB 정보 중 “4. 핀 이름 정의” 부분에서 아래에 해당하는 핀 이름을 선언하고 "analogRead"로 읽을 때 “5v는 285, 12v는 730” 정도 값이 들어오는 걸 확인했습니다.
어떤 계산을 통해서 285, 730의 값이 들어오는지 알고 싶습니다.
알고 싶은 이유는 변화되는 값에 따라 현재 전압이 얼마인지 확인하고 싶습니다.
// Battery
#define ADC_BATTERY (33u)
답변주셔서 감사합니다.
알려주신 공식으로 5v 출력 값에 대한 전압 구하는 공식이 아래 같이 나오는데 이렇게 구하는 것이 맞을까요?
입력 전압 = (285 / 1023)*1024
쉽게 설명해주셔서 감사합니다.
그러면 알려주신 공식으로 계산하고 5v 전원 인가 시 “1.38” 값이 나오는데, 이건 MCU에 인가되고 있는 전압을 의미하는 걸까요?
안녕하세요. 기존 답변중 계산식이 잘 못되어 다시 답변드립니다.
openRB의 ADC 입력 전압 범위는 0 ~ 3.3V 이고 이때
ADC 결과는 0 ~ 1023(10bit 분해능)의 범위를 갖습니다.
따라서, ADC_BATTERY(보드 입력 전압)에 대한 ADC 출력값,
반대로 ADC 출력값을 이용해 보드 입력 전압을 계산하는 식은 다음과 같습니다.
여기서 0.191458 값은 openRB의 ADC 입력 전압이 최대 3.3V 이기 때문에
보드 입력 전압을 3.3V 이하로 만들기 위해 저항으로 전압 분배를 하는데,
분배되는 비율의 값입니다.