주행 중 장애물을 만나거나 긴급상황에는 급격한 속도 변화가 필요하다. 이를 위해 모터의 속도를 제어해야 하는데, 모터의 속도를 제어하기 위해서는 엔코더를 이용하여 PID제어를 사용했다. 10ms 인터럽트를 이용하여 모터 회전 속도를 귀환 받고, 계산된 제어값은 PWM을 이용하여 모터드라이버에 신호를 인가했다. 아래 사진은 PID를 적용하여 모터 속도를 시리얼통신으로 받아온 데이터이며, 목표치는 600이었다. 시간 간격은 10ms단위로 나타내었다. 여러 번 테스트를 하였고, 결과 오버슈트가 적고, 목표치에 가장 빠르게 접근 할 수 있도록 P I D계수를 찾았다.



x축 간격은 10ms로 270ms안에 원하는 목표치로 근접했다.



+ Recent posts