KR100194144B1 - 피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기 - Google Patents

피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기 Download PDF

Info

Publication number
KR100194144B1
KR100194144B1 KR1019960008415A KR19960008415A KR100194144B1 KR 100194144 B1 KR100194144 B1 KR 100194144B1 KR 1019960008415 A KR1019960008415 A KR 1019960008415A KR 19960008415 A KR19960008415 A KR 19960008415A KR 100194144 B1 KR100194144 B1 KR 100194144B1
Authority
KR
South Korea
Prior art keywords
servomotor
value
torque
command value
control
Prior art date
Application number
KR1019960008415A
Other languages
English (en)
Other versions
KR970066774A (ko
Inventor
이진원
Original Assignee
류정열
기아자동차주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 류정열, 기아자동차주식회사 filed Critical 류정열
Priority to KR1019960008415A priority Critical patent/KR100194144B1/ko
Publication of KR970066774A publication Critical patent/KR970066774A/ko
Application granted granted Critical
Publication of KR100194144B1 publication Critical patent/KR100194144B1/ko

Links

Abstract

본 발명은, 서보모터의 위치 제어방법 및 제거기에 관한 것이다. 본 서보모터의 위치 제어방법은, 상기 서보모터의 목표위치인 목표명령값과 상기 서보모터의 실제위치인 실제출력값의 차분에 기초하여 상기 서보모터를 구동하기 위한 토오크 명령값을 산출하는 시스템을 구성하는 단계와; 상기 서보모터가 구동시키는 부하의 관성을 산출하는 단계와; 상기 시스템을 수학적으로 모델링한 가상시스템을 마련하는 단계와; 상기 가상시스템의 출력변수를 두 번 적분한 값이 상기 실제출력값과 같게 되도록 상기 출력변수의 값을 정하여 상기 각가속도로 취하는 단계와; 상기 관성과 상기 각가속도를 곱하여 제어토오크를 산출하는 단계와; 상기 제어토오크를 상기 토오크명령값에 반영하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 피이드백만에 의한 제어보다 정확하고 빠른 위치 제어가 이루어진다.

Description

피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기
본 발명은 서보모터의 위치 제어방법 및 제어기에 관한 것으로서, 특히 피이드포워드를 이용한 서보모터의 위치 제어방법 및 제어기에 관한 것이다.
서보모터의 위치 제어에 있어서는, 부하의 크기에 따른 제어상의 오차를 줄이기 위해서 통상적으로 피이드백 루프를 사용한다. 이러한 피이드백에 의한 종래의 서보모터 위치 제어기는 제4도에 도시된 바와 같다.
제4도는 피이드백에 의한 종래의 서보모터 위치 제어기의 제어블럭도이다. 원하는 위치로 서보모터(M)를 제어하기 위해서 목표하는 위치명령값(P*)을 인가시키면, 서보모터(M)는 이 위치를 향해 구동된다.
서보모터(M)의 실제위치는 엔코더(Encoder)(17)에 의해 이산화되어 실제위치 데이터(P)로서 위치명령값(P*)에 피이드백 되며, 위치명령값(P*)과 실제위치 데이터(P)의 차분인 속도명령값(ω*)은 소정의 이득값을 곱하는 P(Proportional)콘트롤러(11)에 의해 증폭된다.
한편, 실제위치 데이터(P)가 미분기(19)에 의해 미분되어 얻어지는 속도 데이터(ω)는 P(Proportional)콘트롤러(11)의 출력값에 (-)의 부호로 가산되어 속도에러값(ωe)을 생성하며, 이 속도에러값(ωe)은 PI(Proportional Integration)콘트롤러(13)d 의해 소정의 이득값이 곱해지고 적분되어 토오크명령(τ*)으로 변형된다. 토오크명령(τ*)은 토오크콘트롤러(15)를 통해 서보모터(M)에 입력되어, 서보모터(M)의 위치제어가 이루어진다.
그런데, 이와 같은 서보모터의 위치 제어에서는, 위치에러값인 속도 명령값(ω*)과 속도 에러값(ωe)이 명령값으로 되므로 모터가 움직이기 위해서는 항상 목표가 되는 위치명령값(P*)과 피이드백 되는 실제위치 데이터(P)와의 차이값이 존재해야만 한다. 그러므로, 서보모터(M)의 실제위치는 원하는 위치와 어느 정도의 오차가 항상 생기게 되며, 정지시에만 속도의 I(Integration)콘트롤에 의해 정확한 제어가 된다. 이를 상술하면 다음과 같다.
즉, 제4도와 같이, 피이드백에 의한 폐루우프 제어기에서 서보모터(M)에 인가되는 토오크명령(τ*)이 발생하기 위해서는, 위치명령값(P*)과 실제위치 데이터(P)의 차이인 속도명령값(ω*) 및, 속도명령값(ω*)과 속도데이타(ω)와의 속도에러값(ωe)이 필요하고, 빠른 응답을 위해서는 이 에러값들이 커져야만 하는데. 큰 에러값은 늦은 응답을 의미한다. 따라서, 늦은 응답에 의한 큰 에러값은 빠른 응답을 가져오고, 이 빠른 응답은 다시 작은 에러값을 가져와서 늦은 응답을 야기하는 악순환이 반복되게 된다. 그러므로, 이러한 피이드백에 의한 방식으로는 위치명령값(P*)에 실제 서보모터(M)가 반응하는 시간의 차이가 필연적으로 발생하므로, 서보모터(M) 구동중의 트랙킹에러(Tracking Error)를 줄이는 데에 한계가 있다.
이때, 각 에러값에 의한 입력을 크게 하기 위해서 각 에러값에 곱해지는 이득값들을 매우 크게 함으로써 빠른 응답을 유도할 수 있으나, 이러한 방법은 시스템 전달 함수의 극점(Pole)을 S-평면상의 우반면으로 이동시켜 시스템 전체의 안정도에 좋지 않은 영향을 미치게 된다.
따라서, 본 발명의 목적은, 서보모터가 구동하는 부하의 크기에 따른 관성에 의한 토오크를 제어시스템에 피이드포워드(Feed Forward)함으로써, 피이드백(Feed Back)만에 의한 제어에서 발생하는 트랙킹에러(Tracking Error)를 줄여 제어시스템의 응답속도를 향상시킬 수 있는 서보모터의 위치 제어방법 및 제어기를 제공하는 것이다.
제1도는 본 발명에 따른 서보모터 위치 제어기의 제어블럭도.
제2도는 본 발명에 따른 가속도 관측기의 제어블럭도.
제3도는 본 발명에 따른 서보모터 위치 제어방법의 제어 흐름도.
제4도는 피이드백에 의한 종래의 서보모터 위치 제어기의 제어블럭도이다.
* 도면의 주요부분에 대한 부호의 설명
1 : P콘트롤러 2 : 가상시스템
3 : PI콘트롤러 4 : 제1적분기
5 : 토오크콘트롤러 6 : 제2적분기
7 : 엔코더 8 : 곱셈기
9 : 미분기
상기 목적은, 본 발명에 따라, 서보모터의 위치 제어방법에 있어서, 상기 서보모터의 목표위치인 목표명령값과 상기 서보모터의 실제위치인 실제출력값의 차분에 기초하여 상기 서보모터를 구동하기 위한 토오크명령값을 산출하는 시스템을 구성하는 단계와; 상기 서보모터가 구동시키는 부하의 관성을 산출하는 단계와; 상기 시스템을 수학적으로 모델링한 가상시스템을 마련하는 단계와; 상기 가상시스템의 출력변수를 두 번 적분한 값이 상기 실제출력값과 같게 되도록 상기 출력변수의 값을 정하여 상기 각가속도로 취하는 단계와; 상기 관성과 상기 각가속도를 곱하여 제어토오크를 산출하는 단계와; 상기 제어토오크를 상기 토오크명령값에 반영하는 단계를 포함하는 것을 특징으로 하는 서보모터의 위치 제어방법에 의해 달성된다.
한편, 상기 목적은, 본원발명의 다른 분야에 따르면, 서보모터의 위치 제어기에 있어서, 상기 서보모터의 목표위치인 목표명령값과 상기 서보모터의 실제위치인 실제출력값에 기초하여 토오크명령값을 산출하는 토오크명령값 산출부와; 임의의 변수를 순차적으로 적분하는 제1 및 제2적분기와, 상기 토오크명령값 산출부를 수학적으로 모델링하여 얻어지며 상기 실제출력값과 상기 제2적분기의 출력값을 수령하여 상기 제1적분기에 입력되는 각가속도를 출력하는 가상시스템을 포함하는 가속도관측기와; 상기 서보모터가 구동시키는 부하의 관성과 상기 각가속도를 곱하여 제어통크를 산출하는 제어토오크 산출부와; 상기 제어토오크를 상기 토오크명령값에 반영하는 피이드포워드부와; 상기 피이드포워드부의 출력값을 이용하여 상기 서보모터를 구동하는 토오크콘트롤러를 포함하는 것을 특징으로 하는 서보모터의 위치 제어기에 의해서도 달성된다.
이하, 도면을 참조하여 본 발명을 상세히 설명한다.
제1도는 본 발명에 따른 서보모터 위치 제어기의 제어블럭도이다. 원하는 위치를 향해 서보모터(M)를 제어하기 위해서 목표하는 위치명령값(P*)을 인가시키면, 서보모터(M)는 이 위치를 향해 구동된다.
서보모터(M)의 실제위치(P)는 엔코더(Encoder)(7)에 의해 이산화되어 실제 위치 데이터로서 위치명령값(P*)에 피이드백 되며, 위치명령값(P*)과 실제위치 데이터(P)의 차분인 속도명령값(ω*)은 소정의 이득값을 곱하는 P(Proportional)콘트롤러(1)에 의해 증폭된다.
한편, 실제위치 데이터(P)가 미분기(9)에 의해 미분되어 얻어지는 속도데이타(ω)는 P(Proportional)콘트롤러(1)의 출력값에 (-)의 부호로 가산되어 속도에러값(ωe)을 생성하며, 이 속도에러값(ωe)은 PI(Proportional Integration)콘트롤러(3)에 의해 소정의 이득값이 곱해지고 적분되어 토오크명령(τ*)으로 변형된다.
이 토오크명령(τ*)은 피이드포워드(Feed Forward)되는 가상토오크(τ)가 더해져서 보정된 후 토오크콘트롤러(5)를 통해 서보모터(M)에 입력된다. 이 보정된 값에 따라 서보모터(M)의 위치제어가 이루어진다.
피이드포워드의 주된 개념은, 서보모터이 사용 부하 범위 등에 따라 발생하는 제어상의 오차를 미리 상정하여 계산상으로 산출해 낸 후 이를 제어시스템의 연산단계 중에 삽입함으로써 제어상의 오차를 가능한 한 줄이는 것으로서, 본 발명에서는 가상토오크(τ)가 피이드포워드 되는 값이다. 따라서, 가상토오크(τ)를 미리 계산하는 과정이 필요하다.
가상토오크(τ)를 구하는 데에는 관성(J)과 각가속도(α)를 필요로 한다. 관성은 서보모터(M)의 사용 부하의 크기에 따라서 결정된다. 예컨대, 서보모터(M)가 구동하는 부하가 서보모터(M)의 회전축을 중심으로 회전하는 원형의 평판일 경우 그 관성은,
J=½mr²
과 같은 식으로 구해진다. 여기서 m은 원판의 질량, r은 원판의 반지름이다. 서보모터(M)가 구동하는 부하의 부위를 다르게 할 경우에는, 그에 따른 관성을 다시 구하여야 한다.
각가속도(α)는 서보모터(M)가 나타내는 실제값을 기준으로 구한다. 이때, 엔코더(7)는 서보모터(M)의 실제위치값에 대한 이상화된 데이터를 출력하므로 이 위치데이타를 두 번 미분함으로써 각가속도(α)를 구할 수 있으나, 이러한 방법에 의해 각가속도(α)를 구하는 것은 각가속도(α)에 관한 정확한 값을 얻기 힘들다는 단점이 있다. 이상화된 데이터의 미분은, 이산화된 데이터들이 나타내는 값들의 샘플링 시간에 따른 차이를 구하고 각각의 차이들을 샘플링타임으로 나눔으로써 구해지는데, 이러한 방법에 의해 위치데이타를 미분한 값들에 대해 다시 한번 이러한 방법을 적용하여 각가속도를 구하게 되면, 이상화된 위치데이타 자체가 정수단위로 구성되어 있어서 각가속도의 오차의 정도를 가늠하는 레졸류선(Resolution)이 정수단위 이하가 되지 못하므로, 정확도가 현저하게 떨어지게 된다.
다라서, 각가속도(α)를 구하는 데에는 제2도와 같은 가속도관측기를 이용하는 방법을 사용한다. 제2도는 가속도 관측기의 제어블럭도이다.
가속도관측기는 실제 시스템으로부터 얻을 수 있는 데이타를 근거로 실제 시스템과 같은 폐회로를 구성하여 원하는 상태변수를 알아낼 수 있다.
가속도관측기는 임의의 변수를 구하고자 하는 각가속도(α)로 상정하여 두 번 적분을행하고, 이를 엔코더(7)의 출력값, 즉, 실제위치값(P)과 같게 놓아 각가속도(α)를 구하는 방법을 사용하므로, 엔코더(7)의 값을 두 번 미분해서 각가속도(α)를 구할 경우 정수단위의 수치가 산출되는데 비하여 소숫점 이하의 단위로 레졸류션이 작아져 더욱 정확한 각가속도(α)의 산출이 가능하게 된다.
우선 서보모터(M)의 실제위치를 나타내는 엔코더(7)와 가상토오크(τ) 사이에 폐루프를 형성한다. 제2도는 본 발명에 따른 가속도 관측기의 폐루프에서 각가속도(α)를 구하는 단계까지만을 도시한 것으로서, 출력된 각가속도(α)는 제1도에서 부하의 관성(J)을 곱하는 곱셈기(8)에 입력됨으로써 피이드포워드되는 가상토오크(τ)가 산출된다.
엔코더(7)의 실제위치데이타(P)와 가속도관측기의 폐루프상에서 산출되는 피이드백되는 산출위치값(P)의 차가 가상시스템(2)의 입력값으로 된다. 이 값에 따라 가상시스템은 가각속도(α)를 산출한다. 각가속도(α)는 제1적분기(4)와 제2적분기(6)를 통해 두 번 적분되어 다시 가속도관측기 내에서 피이드백되는 산출위치값(P')이 산출되고, 이 값은 다시 가상시스템(2)의 입력으로 되는 폐루프를 이룬다.
가상시스템(2)은 제1도와 같은 시스템을 수학적으로 모델링함으로써 구성되며, 제1적분기(4) 및 제2적분기(6)와 함께 소프트웨어적으로 구현된다. 이에는 마이크로프로세서, 바람직하게는 DSP 프로세서를 이용하여 구현하는 방법이 사용된다.
실제위치값(P)과 산출위치값(P')를 차분하는 것을 이 두 값을 비교하는 역할을 하고, 가상시스템(2)은 이 차분값이 정확히 0이 되도록 추종하여 이에 따른 값을 각가속도(α)값으로서 출력한다. 이러한 일련의 과정이 실제위치값(P) 및 순 소프트웨어적으로 실제시스템을 모델링하여 구해지는 계산상의 산출위치값(P')을 근거로 하여 구해지므로 이산화된 실제위치값(P)만에 의한 각가속도(α) 산출방식에 비해 현저하게 정확한 각가속도(α) 값을 구할 수 있으며, DSP 프로세서로 구할 경우 소수점 이하 20자리 정도의 정확도로 구해낼 수 있다. 이렇게 구해진 각가속도(α)는 관성(J)과 곱해져 피이드포워드(Feed Forward)되는 가상토오크(τ)가 된다.
구해진 가상토오크(τ)는 부하의 크기에 따라 발생할 수 있는 트랙킹에러를 미리 감안하여 감쇄시키는 역할을 하므로, 피이드백만에 의한 제어에서의 경우보다 위치명령값(P*)의 입력에 따른 서보모터(M)의 응답속도를 현저하게 향상시킨다.
제3도는 본 발명에 따른 서보모터 위치 제어방법의 제어흐름도이다. 제어기에 서보모터를 제어할 위치명령값(P*)이 인가되면(S1), 서보모터(M)가 나타내는 실제위치 데이터(P)가 피이드백 되어 그 오차에 해당하는 위치에러값이 구해진다(S2). 구해진 위치에러값에 소정의 비례상수가 곱해져서 비례제어(S3)가 된 후, 서보모터(M)가 나타내는 속도데이타(ω)가 피이드백 되어 그 오차에 해당하는 속도에러값(ωe)이 구해진다(S4).
이 속도에러값(ωe)은 소정의 이득값이 곱해지고 적분되어 비례적분제어 되고 (S5), 관성(J)과 각가속도(α)가 곱해져서 구해진 제어토오크(τ)가 이 비례적분된 값에 피이드포워드된다(S6). 제어토오크(τ)가 피이드포워드 된 토오크명령값(τ*)은 토오크콘트롤러(5)에 입력되어 서보모터(M)의 동작에 필요한 토오크가 발생하며, 이 토오크명령이 서보모터(M)에 인가되어(S7) 서보모터의 위치제어가 이루어진다. 이 때 서보모터(M)가 나타내는 실제위치 데이터(P)와 실제위치 데이터(P)에 따른 속도데이타(ω)는 다시 피이드백되어 위치에러값과 속도에러값을 구하는 데 사용된다.
상기와 같은 서보모터의 위치 제어방법 및 제어기에 의하면, 제어토오크를 피이드포워드함으로써 피이드백(Feed Back)만에 의한 제어에서 발생하는 트랙킹에러(Tracking Error)를 줄여 제어시스템의 응답속도를 향상시킬 수 있고, 가속도관측기에 의해 각가속도를 구하여 제어토오크를 산출함으로써 각가속도의 레졸류션을 작게하여 보다 정확하고 빠른 제어가 가능하게 된다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 피이드백만에 의한 제어보다 정확하고 빠른 위치 제어가 이루어진다.

Claims (2)

  1. 서보모터의 위치 제어방법에 있어서, 상기 서보모터의 목표위치인 목표명령값과 상기 서보모터의 실제위치인 실제 출력값의 차분에 기초하여 상기 서보모터를 구동하기 위한 토오크명령값을 산출하는 시스템을 구성하는 단계와; 상기 서보모터가 구동시키는 부하의 관성을 산출하는 단계와; 상기 시스템을 수학적으로 모델링한 가상시스템을 마련하는 단계와; 상기 가상시스템의 출력변수를 두 번 적분한 값이 상기 실제출력값과 같게 되도록 상기 출력변수의 값을 정하여 상기 각가속도로 취하는 단계와; 상기 제어토오크를 상기 토오크명령값에 반영하는 단계를 포함하는 것을 특징으로 하는 서보모터의 위치 제어 방법.
  2. 서보모터의 위치 제어기에 있어서, 상기 서보모터의 목표위치인 목표명령값과 상기 서보모터의 실제위치인 실제 출력값에 기초하여 토오크명령값을 산출하는 토오크 명령값 산출부와; 임의의 변수를 순차적으로 적분하는 제1 및 제2 적분기와, 상기 토오크명령값 산출부를 수학적으로 모델링하여 얻어지며 상기 실제출력값과 상기 제2 적분기의 출력값을 수령하여 상기 제1적분기에 입력되는 각가속도를 출력하는 가상시스템을 포함하는 가속도관측기와; 상기 서보모터가 구동시키는 부하의 관성과 상기 각가속도를 곱하여 제어통크를 산출하는 제어토오크 산출부와; 상기 제어토오크를 상기 토오크명령값에 반영하는 피이드포워드부와; 상기 피이드포워드부의 출력값을 이용하여 상기 서보모터를 구동하는 토오크 콘트롤러를 포함하는 것을 특징으로 하는 서보모터의 위치 제어기.
KR1019960008415A 1996-03-26 1996-03-26 피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기 KR100194144B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960008415A KR100194144B1 (ko) 1996-03-26 1996-03-26 피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960008415A KR100194144B1 (ko) 1996-03-26 1996-03-26 피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기

Publications (2)

Publication Number Publication Date
KR970066774A KR970066774A (ko) 1997-10-13
KR100194144B1 true KR100194144B1 (ko) 1999-06-15

Family

ID=66215591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960008415A KR100194144B1 (ko) 1996-03-26 1996-03-26 피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기

Country Status (1)

Country Link
KR (1) KR100194144B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223444B1 (ko) * 2006-09-25 2013-01-17 삼성전자주식회사 센서리스 영구자석 동기모터의 구동제어방법

Also Published As

Publication number Publication date
KR970066774A (ko) 1997-10-13

Similar Documents

Publication Publication Date Title
US5691616A (en) Fully-closed-loop servomotor control system
JP2573120B2 (ja) 同期形交流サーボモータの速度制御方法及び制御装置
JPH07110717A (ja) モータの制御方式
JP2002304219A (ja) モータ制御装置およびメカ特性測定方法
JP2003323216A (ja) 位置制御装置
US4797835A (en) Model follower control apparatus
JPS61248104A (ja) マニピユレ−タの制御装置
KR100194144B1 (ko) 피이드포워드에 의한 서보모터의 위치 제어방법 및 제어기
JP3628119B2 (ja) サーボモータの制御方法
JP3214270B2 (ja) 電動機の速度制御装置並びに速度及び位置制御装置
EP0428742A1 (en) Method of sliding mode control
JP3229926B2 (ja) 電動機の位置制御装置
JP2006277652A (ja) サーボゲイン算出方法、サーボゲイン算出プログラム及びサーボゲイン算出装置
JP2003047269A (ja) サーボ制御装置
JP3600084B2 (ja) 位置駆動制御システムおよび同期・同調位置駆動制御方法
JPH06187045A (ja) 位置決め装置
JPH02232702A (ja) 制御装置
JP2791011B2 (ja) プラント制御系の制御定数設定装置
JP2653130B2 (ja) 加減速制御装置
JPH04289904A (ja) モータの位置制御方式
JP2001298979A (ja) モータ速度制御装置
JPH05143106A (ja) ステージ制御装置
JPH05210420A (ja) モータの制御装置
JPH02245802A (ja) サーボモータの移動指令分配方式
JPH0415715A (ja) 速度、位置のロバスト的制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070130

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee