도립진자를 구현해 보려는 학부생입니다.
모터는 엔코더모터를 쓰고있으며, pwm방식으로 속도를 조절하고 있습니다. 엔코더 카운터는 7166쓰고 있구요,
프로세서는 아트메가128을 사용하고 있습니다. 현재 하드웨어는 다 만들었고, 이제 AVR로 코딩하는 작업만
남았습니다. 근데 도무지 제어의 방향을 못 잡겠습니다.
진자가 넘어지는 각도의 범위에 따라서 속도를 다르게 주는 식으로 제어를 해보려 했는데 모터의 성능 자체가
워낙 좋지 않아 이 방식으론 도저히 발전의 기미가 보이지 않아서 PID제어를 써보면 어떨까 생각했습니다.
근데 PID제어를 이론으로나 배웠지 AVR로 어떻게 코드를 짜야할지 모르겠습니다.
진자를 똑바로 세웠을때를 원하는 각도로 정하고, 진자가 넘어지면서 생기는 각도를 시스템의
출력값으로 본 후에 이 둘의 차이를 편차로 본다음 이 편차에 대한 PID제어 값을 pwm 듀티값으로
어떻게 잘 넣어주면 될것도 같은데 워낙 코딩에 문외한인지라 대체 어떻게 풀어나가야 할지 모르겠습니다.
너무 막막하네요 도와주세요 ㅜㅜㅜㅜㅜㅜㅜ