배터리, 온도 전압 오버샘플링 및 TACQ 조정

- 배터리: 샘플링 4, TACQ 20us
- 온도: 샘플링 4, TACQ 10us(기본값)
This commit is contained in:
jhChun
2026-03-26 16:59:38 +09:00
parent 4762dd6224
commit ec88eca8bb
2 changed files with 10 additions and 12 deletions

View File

@@ -211,9 +211,10 @@ static void battery_configure(void)
ret_code_t err_code = nrf_drv_saadc_init(&saadc_config, battery_event_handler); ret_code_t err_code = nrf_drv_saadc_init(&saadc_config, battery_event_handler);
APP_ERROR_CHECK(err_code); APP_ERROR_CHECK(err_code);
/* AIN2 채널 설정: 싱글엔드 입력, 1/6 gain, burst 활성화 (오버샘플링용) */ /* AIN2 채널 설정: 싱글엔드 입력, 1/6 gain, burst + TACQ 20μs */
nrf_saadc_channel_config_t config = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN2); nrf_saadc_channel_config_t config = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN2);
config.burst = NRF_SAADC_BURST_ENABLED; config.burst = NRF_SAADC_BURST_ENABLED;
config.acq_time = NRF_SAADC_ACQTIME_20US; // TACQ test
err_code = nrf_drv_saadc_channel_init(0, &config); err_code = nrf_drv_saadc_channel_init(0, &config);
APP_ERROR_CHECK(err_code); APP_ERROR_CHECK(err_code);

View File

@@ -176,18 +176,15 @@ void tmp235_voltage_handler(nrf_drv_saadc_evt_t const * p_event) /* TMP325 Vout
*/ */
void tmp235_init(void) void tmp235_init(void)
{ {
/* SAADC 드라이버 초기화 (기본 설정 + 온도센서 이벤트 핸들러 등록) */ /* SAADC 드라이버 초기화 (4x 오버샘플링으로 노이즈 저감) */
ret_code_t err_code = nrf_drv_saadc_init(NULL, tmp235_voltage_handler); nrf_drv_saadc_config_t saadc_config = NRF_DRV_SAADC_DEFAULT_CONFIG;
saadc_config.oversample = NRF_SAADC_OVERSAMPLE_4X;
ret_code_t err_code = nrf_drv_saadc_init(&saadc_config, tmp235_voltage_handler);
APP_ERROR_CHECK(err_code); APP_ERROR_CHECK(err_code);
/*
if (err_code != NRF_SUCCESS) /* AIN3 채널 설정: TMP235-Q1 Vout 핀 (싱글엔드 입력, burst 활성화) */
{ nrf_saadc_channel_config_t config = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN3);
tmp235_saadc_done = true; // 대기 루프 탈출시킴 config.burst = NRF_SAADC_BURST_ENABLED;
return;
}
*/
/* AIN3 채널 설정: TMP235-Q1 Vout 핀 (싱글엔드 입력) */
nrf_saadc_channel_config_t config = NRF_DRV_SAADC_DEFAULT_CHANNEL_CONFIG_SE(NRF_SAADC_INPUT_AIN3); /* TMP235_Q1 Voltage Output Measurement */
err_code = nrf_drv_saadc_channel_init(0, &config); err_code = nrf_drv_saadc_channel_init(0, &config);
APP_ERROR_CHECK(err_code); APP_ERROR_CHECK(err_code);