지난번 포스트에서는 다항전압변동모델을 실제 배터리 휴지전압측정값에다 피팅해보고, 또 400초 피팅결과와 1400초 피팅결과를 비교하였다.
하지만 다항전압변동모델은 단순히 relaxation model에서 피팅만을 위한 수식일 뿐 실제 배터리 등가회로 모델을 반영하지 못한다는 치명적인 결함이 있다.
이러한 생각에 1, 2차 테브난 등가회로 모델의 전압변동식을 포기하지 못하던 중 이에 관한 좋은 논문을 발견했다.
참고논문
핵심 원리는 다음 수식과 같은데, 배터리가 휴지기에 들어가면서 생기는 화학적인 변화도 고려하여 시정수()가 시간에 비례하여 증감한다는 것이다.
이번 포스트에서는 이를 이용하여 실제로 피팅해보고, 또 300초 피팅결과와 1400초 피팅결과 ocv오차가 어느정도 생기는 지 보겠다.
또 추가적으로 경사하강 알고리즘에서 기울기손실(vanishing gradient)문제가 심해서 학습효과가 떨어짐을 발견하여 최적화 알고리즘으로 모멘텀최적화 기법을 사용하였다. (다음 포스트에서는 위 논문에서처럼 유전 알고리즘을 통해 구현해봐야겠다)
또 초기 10초 배터리 휴지전압은 비선형적인 현상이 크므로 빼고 학습을 진행했다.
학습률0.00001, 모멘텀(r)=0.99, 학습횟수: 100000
위 그림은 1400초 전압휴지데이터를 피팅한 것을 바탕으로 ocv를 예측한 것이고 그 아래가 400초 피팅 결과을 바탕으로 1400초전압과 ocv를 예측한 결과이다.
1400초 대비 400초 ocv는 0.00396057459%의 오차로 상당히 정확했다
근데 사실 아직 초기값 설정(하이퍼 파라미터) 문제는 해결하지 못했다.. 대충 맞아보이는걸로 찍다가 되는 값으로 설정하고 학습시키는 중..
떄문에 local minimum 문제를 해결하지 못하고 있다.