openRB 핀 데이터 관련 질문

안녕하세요.

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 출력값을 이용해 보드 입력 전압을 계산하는 식은 다음과 같습니다.

  1. ADC 출력값 = 1023 * (보드 입력 전압 * 0.191458) / 3.3
  2. 보드 입력 전압 = 3.3 * (ADC 출력값 / 1023) / 0.191458

여기서 0.191458 값은 openRB의 ADC 입력 전압이 최대 3.3V 이기 때문에

보드 입력 전압을 3.3V 이하로 만들기 위해 저항으로 전압 분배를 하는데,

분배되는 비율의 값입니다.

1 Like