KR101368849B1 - 모터 제어용 연산장치 - Google Patents

모터 제어용 연산장치 Download PDF

Info

Publication number
KR101368849B1
KR101368849B1 KR1020120009932A KR20120009932A KR101368849B1 KR 101368849 B1 KR101368849 B1 KR 101368849B1 KR 1020120009932 A KR1020120009932 A KR 1020120009932A KR 20120009932 A KR20120009932 A KR 20120009932A KR 101368849 B1 KR101368849 B1 KR 101368849B1
Authority
KR
South Korea
Prior art keywords
functional block
controller
control
output
setting data
Prior art date
Application number
KR1020120009932A
Other languages
English (en)
Other versions
KR20130088593A (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 KR1020120009932A priority Critical patent/KR101368849B1/ko
Publication of KR20130088593A publication Critical patent/KR20130088593A/ko
Application granted granted Critical
Publication of KR101368849B1 publication Critical patent/KR101368849B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P31/00Arrangements for regulating or controlling electric motors not provided for in groups H02P1/00 - H02P5/00, H02P7/00 or H02P21/00 - H02P29/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

본 발명은 모터 제어용 연산장치에 관한 것으로서, 모터를 구동하기 위하여 설계되는 각종 제어 알고리즘을 시스템 온 칩에 하드웨어적으로 구현하여 빠르고 유연한 제어기의 설계가 가능하도록 한 모터 제어용 연산장치의 발명에 관한 것이다. 이를 위해 복수로 이루어진 기능블록의 맵 설정 데이터를 외부로부터 전송받는 맵핑정보수단(100); 및 맵 설정 데이터에 따라 기능블록이 서로 맵핑됨으로써 모터 제어용 제어 알고리즘이 하드웨어적으로 구현되는 기능블록수단(200);을 포함하는 것을 특징으로 하는 모터 제어용 연산 장치가 개시된다.

Description

모터 제어용 연산장치{Arithmetic unit for controlling motor}
본 발명은 모터 제어용 연산장치에 관한 것으로서, 보다 상세하게는 모터를 구동하기 위하여 설계되는 각종 제어 알고리즘을 시스템 온 칩에 하드웨어적으로 구현하여 빠르고 유연한 제어기의 설계가 가능하도록 한 모터 제어용 연산장치의 발명에 관한 것이다.
종래에는 산업용 AC 서보모터 또는 BLDC 모터 제어를 위한 제어기의 구현을 DSP(digital signal processing)와 같은 범용 프로세서를 이용하여 PID(비례-적분-미분) 또는 PIV(비례-적분-속도) 알고리즘을 펌웨어로 구현하여 제어 샘플링 타임 단위마다 제어연산을 프로그램상에서 수행하도록 하였다.
이러한 DSP를 이용한 프로그램은 정확한 제어 샘플링 타임 단위의 연산 수행을 위해 타이머 인터럽트를 설정하여 타이머 서비스 루틴(timer interrupt service routine)에서 제어연산 알고리즘 함수가 수행하도록 프로그램된다.
상술한 바와 같은 종래의 기술대로 펌웨어 기반의 제어기를 설계하면 사용하는 프로세서의 성능에 따라 제어 연산함수 수행 시간이 제한되기 때문에 제어 성능을 높이기 위해서는 고속의 프로세서를 사용할 수밖에 없으므로 제어기의 단가 상승이 필연적이다. 또한, 연산에 사용되는 제어기와 필터를 개발자가 소프트웨어적으로 구현하고 최적화를 해야하므로 개발 난이도가 증가할 수밖에 없는 문제점이 있어 왔다.
선행기술문헌인 대한민국 공개특허공보 제10-1994-0006721(발명의 명칭 : 로보트의 비례, 적분, 미분 제어방법)에 따르면 로봇의 위치 에러값을 계산한 뒤 위치 에러값에 대하여 정확한 추종 제어를 하기 위하여 비례, 적분, 미분제어를 하는 단계를 수행한다. 선행기술문헌에서는 로봇 제어를 위한 일반적인 제어기(비례-적분-미분 제어기)의 개념을 개시하고 있을 뿐이다.
따라서, 본 발명은 전술한 바와 같은 문제점을 해결하기 위하여 창출된 것으로서, 모터 구동을 위한 제어 알고리즘을 하드웨어적으로 설계하여 시스템 온 칩화함으로써 제어기의 연산속도를 빠르게 하고, 사용자의 요구에 따른 유연한 제어기의 설계가 가능한 발명을 제공하는데 그 목적이 있다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 본 발명의 목적은, 복수로 이루어진 기능블록의 맵 설정 데이터를 외부로부터 전송받는 맵핑정보수단(100); 및 맵 설정 데이터에 따라 기능블록이 서로 맵핑됨으로써 모터 제어용 제어 알고리즘이 하드웨어적으로 구현되는 기능블록수단(200);을 포함하는 것을 특징으로 하는 모터 제어용 연산 장치를 제공함으로써 달성될 수 있다.
또한, 기능블록수단(200)에 입력되는 입력값 및 기능블록수단(200)에서 출력되는 출력값을 선택적으로 제어하는 선택수단(300);을 더 포함하는 것을 특징으로 한다.
또한, 기능블록수단(200)에 입력되는 입력값을 모터 제어용 제어 알고리즘의 종류에 따라 선택하는 입력선택수단(310); 및 기능블록수단(200)에서 출력되는 출력값을 제어출력 값으로 출력하거나, 출력값을 기능블록 중 적어도 어느 하나로 피드백하여 누적 연산한 제어출력 값을 출력하는 출력선택수단(320);을 포함하는 것을 특징으로 한다.
또한, 기능블록은, 산술연산 또는 논리연산을 수행하는 것을 특징으로 한다.
또한, 모터 제어용 제어 알고리즘은, 비례-적분 제어기, 비례-미분-적분 제어기, 비례-적분-속도 제어기, 및 피드포워드 제어기 중 적어도 어느 하나의 제어 알고리즘인 것을 특징으로 한다.
또한, 맵 설정 데이터는, 기능블록의 연결관계를 설정하는 데이터인 것을 특징으로 한다.
또한, 기능블록은, 가산기, 감산기, 승산기, 및 제산기 중 적어도 어느 하나로 구성된 것을 특징으로 한다.
또한, 서로 맵핑된 기능블록은, 맵 설정 데이터에 따라 재구성 가능한 것을 특징으로 한다.
전술한 바와 같은 본 발명에 의하면 모터 구동을 위한 제어 알고리즘을 하드웨어적으로 설계하여 시스템 온 칩화함으로써 제어기의 연산속도를 빠르게 하는 효과가 있다.
또한, 모터 구동을 위한 제어 알고리즘을 하드웨어적으로 재구성 가능하게 설계하여 시스템 온 칩화함으로써 사용자의 요구에 따른 다양한 제어 알고리즘이 구현된 유연한 제어기의 설계가 가능한 효과가 있다.
그리고 모터 구동을 위한 제어 알고리즘을 하드웨어적으로 설계하여 시스템 온 칩화함으로써 종래의 DSP를 사용함에 따른 컴파일러의 종류에 따른 제어기의 성능 및 프로그래머의 소프트웨어 최적화에 대한 문제점을 해결하는 효과가 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 일실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술적 사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석 되어서는 아니 된다.
도 1은 본 발명에 따른 모터 제어용 연산 장치의 구성을 나타낸 구성도이고,
도 2는 본 발명의 일실시예에 따른 비례-적분 제어기의 구성을 나타낸 구성도이다.
이하, 도면을 참조하여 본 발명의 바람직한 일실시예에 대해서 설명한다. 또한, 이하에 설명하는 일실시예는 특허청구범위에 기재된 본 발명의 내용을 부당하게 한정하지 않으며, 본 실시 형태에서 설명되는 구성 전체가 본 발명의 해결 수단으로서 필수적이라고는 할 수 없다.
<모터 제어용 연산장치의 구성>
도 1에 도시된 바와 같이 본 발명에 따른 모터 제어용 연산 장치는 맵핑정보수단(100), 기능블록수단(200), 및 선택수단(300)으로 구성된다. 상술한 구성에 의해 종래의 디지털 시그널 프로세싱 칩에 구현되는 소프트웨어 알고리즘을 하드웨어적으로 구현함으로써 연산속도가 빠르고 설계가 유연한 제어기를 구현할 수 있다. 이하에서는 도 1 내지 도 2를 참조하여 본 발명에 따른 모터 제어용 연산 장치의 구성을 자세히 설명하기로 한다.
본 발명에 따른 맵핑정보수단(100)은 사용자로부터 기능블록의 맵 설정 데이터를 전송받는다. 맵 설정 데이터에는 각각의 기능블록의 연결관계를 설정할 수 있는 데이터가 포함되어 있다. 또한, 맵 설정 데이터에는 후술하는 입력선택수단(310) 및 출력선택수단(320)을 제어할 수 있는 데이터가 포함되어 있다.
이러한 맵핑정보수단(100)은 일예로서 SoC(system on chip)에 구현되며 외부로부터 데이터를 수신할 수 있는 다양한 포트가 마련될 수 있다. 일예로 JTAG 포트를 통해서 사용자로부터 맵 설정 데이터를 입력받을 수 있다.
사용자로부터 입력된 맵 설정 데이터를 기억하기 위해 맵핑정보수단(100)은 휘발성 메모리 또는 비휘발성 메모리를 사용할 수 있다. 이때 휘발성 메모리는 일예로서 RAM에 의해 구현될 수 있으며, 비휘발성 메모리는 일예로서 ROM 또는 FLASH ROM에 의해 구현될 수 있다.
맵핑정보수단(100)은 단순히 맵 설정 데이터가 저장되는 맵핑 레지스터이거나, 또는 맵핑 레지스터의 기능에 추가하여 복수의 기능블록의 맵을 맵핑하고, 입력선택수단(310)에서 복수의 기능블록으로 출력되는 출력값을 제어하고, 출력선택수단(320)에서 출력된 값을 누적 연산을 위하여 다시 피드백시켜 연산한 결과값을 출력하도록 맵핑하는 기능을 부가 수행할 수도 있다. 맵핑정보수단(100)이 맵핑 레지스터인 경우에는 필요에 따라 맵핑 레지스터의 값을 읽어서 기능블록 및 선택수단의 연결을 설정할 수 있는 부가적인 프로세서가 필요하다.
맵핑 레지스터인 경우에는 일예로서 플립플롭 회로에 의해 구현될 수도 있는데 이는 데이터를 쉽고 빠르게 읽고 쓸 수 있기 때문으로서 사용자로부터 전송된 데이터를 빠르게 저장할 수 있다.
본 발명에 따른 기능블록수단(200)은 사용자의 필요에 따라 다양한 개수의 기능블록을 구성할 수 있다. 각 기능블록의 연결설정 및 입출력선택수단(310,320)의 맵핑에 따라 사용자가 원하는 모터 제어용 알고리즘이 하드웨어적으로 구현된다.
기능블록수단(200)의 사용자로부터 정의된 각종 제어용 알고리즘 데이터(맵 설정 데이터)에 따라 재구성이 가능한 블록이다. 예를 들어 사용자가 PID 제어기를 기능블록수단에 구현한 후 PI 제어기를 구현하고자 하는 경우 PI 제어기에 상응하는 맵 설정 데이터를 사용자가 전송하면 PI 제어기가 기능블록수단에 구현된다. 또한, 기능블록수단에는 각종의 제어 알고리즘이 하나만 구현될 수도 있고 필요에 따라 동시에 여러 가지 제어 알고리즘이 구현될 수도 있다.
기능블록수단은 모터 제어용 제어 알고리즘을 하드웨어적으로 구현하기 위해 산술연산 또는 논리연산을 수행하며, 산술연산을 수행하기 위해 각각의 기능블록은 가산기, 감산기, 승산기, 또는 제산기 등으로 구현될 수 있다. 이때 시간지연을 위한 기능블록의 구현도 가능하다(일예로 논리게이트를 구현하는 경우 논리게이트 당 통과시간에 의한 시간지연이 생긴다).
모터 제어용 제어 알고리즘은 일예로서 비례-적분 제어기(PI 제어기), 비례-미분-적분 제어기(PID 제어기), 비례-적분-속도 제어기(PIV 제어기), 또는 피드포워드 제어기 중 어느 하나일 수 있다. 이하에서는 PI 제어기를 일예로 들어 설명하나 다만 이에 한정되어 설명되는 것은 아니다.
사용자가 구현하고자 하는 PI 제어기는 다음의 수학식 1과 같다.
Figure 112012008203077-pat00001
여기서, Kp는 비례제어상수이고, Ki는 적분제어상수이고, E는 오차값이다.
상술한 수학식 1에 따르면 기능블록은 가산기 및 승산기가 필요하며 누적연산을 위한 피드백이 필요하다.
외부장치(400)로부터 상술한 수학식 1에 근거한 PI 제어기에 대한 맵 설정 데이터를 입력받은 맵핑정보수단은 도 2에 도시된 바와 같이 제1기능블록(210)에 입력되는 입력값이 Kp가 되도록 설정하며, 제2기능블록(220)에 입력되는 입력값은 Ki가 되도록 설정하며, E값은 제1,2기능블록(210,220)에 모두 입력되도록 한다.
제1기능블록은 곱셈기로 구현되며 따라서 Kp*E 값을 계산하여 제4기능블록(240)으로 출력한다. 제2기능블록은 곱셈기로 구현되며 따라서 Ki*E 값을 계산하여 제3기능블록(230)으로 출력한다.
이때, 제3기능블록은 가산기로서 누적 연산 되도록 맵 설정 데이터에 의해 설정되며, 따라서 제3기능블록의 출력은 출력선택수단(320)에서 바로 출력되지 않고 다시 제3기능블록으로 피드백되어 누적연산을 수행한다(
Figure 112012008203077-pat00002
).
누적연산이 완료되면 제3기능블록은 누적연산 값을 제4기능블록(240)으로 출력한다. 제4기능블록은 제1기능블록과 제3기능블록에서 출력된 값을 입력받아 가산한다. 따라서 제4기능블록으로부터 출력되는 출력값은 상술한 수학식 1에 따른 값을 하드웨어적으로 계산하여 출력하게 된다.
한편, 제3기능블록이 누적연산을 완료하고 난 후 제4기능블록에 출력값을 출력해야 하므로 이러한 제어를 맵핑정보수단이 제어할 수 있다. 또한, 제4기능블록은 제1기능블록의 출력값과 제3기능블록의 출력값을 가산하기 위해 제1기능블록과 제3기능블록의 출력값을 동기시키는 제어를 수행할 수도 있다.
본 발명에 따른 입력선택수단(310)은 모터를 구동하기 위해 구현되는 다른 제어기로부터 입력된 다양한 값(본 발명의 일실시예에서는 Kp, Ki, E)을 맵 설정 데이터에 따라 특정 기능블록과 맵핑되도록 한다. 상술한 PI 제어기의 일예에서 입력선택수단은 제1기능블록과 Kp의 값이 맵핑되도록 한다. 한편, 출력선택수단(320)은 각 기능블록이 바로 출력되도록 하거나 또는, 누적연산을 위하여 피드백 되도록 맵 설정 데이터에 의해 설정된다.
본 발명에 따른 출력선택수단(320)은 맵 설정 데이터에 따라 기능블록과 서로 맵핑됨으로써 특정 기능블록의 값을 최종 출력값으로 선택하여 출력하도록 하거나 또는 특정 기능블록에서 출력된 값을 다시 피드백시켜 누적연산을 하도록 한다.
이상에서는 PI 제어기를 예로들어 설명하였으나 본 발명은 PI 제어기에 한정되지 않으며, 또한 PI 제어기 뿐만 아니라 다른 제어기 일예로 PID 제어기가 동시에 구현될 수도 있다.
상술한, 입력선택수단, 기능블록, 출력선택수단, 및 맵핑정보수단은 SoC에 하드웨어적으로 구현될 수 있다.
이상, 본 발명의 일실시예를 참조하여 설명했지만, 본 발명이 이것에 한정되지는 않으며, 다양한 변형 및 응용이 가능하다. 즉, 본 발명의 요지를 일탈하지 않는 범위에서 많은 변형이 가능한 것을 당업자는 용이하게 이해할 수 있을 것이다.
100 : 맵핑정보수단
200 : 기능블록수단
210 : 제1기능블록
220 : 제2기능블록
230 : 제3기능블록
240 : 제4기능블록
300 : 선택수단
310 : 입력선택수단
320 : 출력선택수단
400 : 외부장치

Claims (9)

  1. 복수의 기능블록 간의 연결관계를 설정하는 데이터인 맵 설정 데이터를 외부로부터 전송받는 맵핑정보수단(100);
    상기 맵 설정 데이터에 따라 상기 기능블록이 서로 맵핑됨으로써 모터 제어용 제어 알고리즘이 시스템 온 칩(SoC)를 이용하여 하드웨어적으로 구현되는 기능블록수단(200); 및
    상기 기능블록수단(200)에 입력되는 입력값을 모터 제어용 제어 알고리즘의 종류에 따라 선택하는 입력선택수단(310);와 상기 기능블록수단(200)에서 출력되는 출력값을 제어출력 값으로 출력하거나, 상기 출력값을 상기 기능블록 중 적어도 어느 하나로 피드백하여 누적 연산한 제어출력 값을 출력하는 출력선택수단(320);을 포함하고, 상기 기능블록수단(200)에 입력되는 입력값 및 상기 기능블록수단(200)에서 출력되는 출력값을 선택적으로 제어하여 출력하는 선택수단(300);
    을 포함하고,
    상기 맵 설정 데이터는, 상기 선택수단(300)과 기능블록 간의 연결관계를 설정하는 데이터를 더 포함하는 것을 특징으로 하는 모터 제어용 연산 장치.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 기능블록은,
    산술연산 또는 논리연산을 수행하는 것을 특징으로 하는 모터 제어용 연산 장치.
  5. 제 1 항에 있어서,
    상기 모터 제어용 제어 알고리즘은,
    비례-적분 제어기, 비례-미분-적분 제어기, 비례-적분-속도 제어기, 및 피드포워드 제어기 중 적어도 어느 하나의 제어 알고리즘인 것을 특징으로 하는 모터 제어용 연산 장치.
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 기능블록은,
    가산기, 감산기, 승산기, 및 제산기 중 적어도 어느 하나로 구성된 것을 특징으로 하는 모터 제어용 연산 장치.
  9. 제 1 항에 있어서,
    서로 맵핑된 상기 기능블록은,
    상기 맵 설정 데이터에 따라 재구성 가능한 것을 특징으로 하는 모터 제어용 연산 장치.
KR1020120009932A 2012-01-31 2012-01-31 모터 제어용 연산장치 KR101368849B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120009932A KR101368849B1 (ko) 2012-01-31 2012-01-31 모터 제어용 연산장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120009932A KR101368849B1 (ko) 2012-01-31 2012-01-31 모터 제어용 연산장치

Publications (2)

Publication Number Publication Date
KR20130088593A KR20130088593A (ko) 2013-08-08
KR101368849B1 true KR101368849B1 (ko) 2014-03-03

Family

ID=49214901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120009932A KR101368849B1 (ko) 2012-01-31 2012-01-31 모터 제어용 연산장치

Country Status (1)

Country Link
KR (1) KR101368849B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970072634A (ko) * 1996-04-10 1997-11-07 이대원 전동기 제어 시스템
KR100240557B1 (ko) 1991-05-31 2000-01-15 클라우스 포스, 게오르그 뮐러 모터 차량용 조정 디바이스
JP2006513685A (ja) * 2003-01-14 2006-04-20 クリストファー・ピー・カレン 電気モータ制御器
JP2008176639A (ja) * 2007-01-19 2008-07-31 Mitsubishi Heavy Ind Ltd 制御ロジック修正装置およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100240557B1 (ko) 1991-05-31 2000-01-15 클라우스 포스, 게오르그 뮐러 모터 차량용 조정 디바이스
KR970072634A (ko) * 1996-04-10 1997-11-07 이대원 전동기 제어 시스템
JP2006513685A (ja) * 2003-01-14 2006-04-20 クリストファー・ピー・カレン 電気モータ制御器
JP2008176639A (ja) * 2007-01-19 2008-07-31 Mitsubishi Heavy Ind Ltd 制御ロジック修正装置およびプログラム

Also Published As

Publication number Publication date
KR20130088593A (ko) 2013-08-08

Similar Documents

Publication Publication Date Title
US9753695B2 (en) Datapath circuit for digital signal processors
TWI476597B (zh) 資料處理裝置及半導體積體電路裝置
US11012075B2 (en) Electronic system including FPGA and operation method thereof
JP6633119B2 (ja) 自律的メモリの方法及びシステム
RU2015103934A (ru) Процессор компьютера и система без арифметико-логического блока
JP2017027149A5 (ko)
KR101368849B1 (ko) 모터 제어용 연산장치
US10223077B2 (en) Determination of signals for readback from FPGA
JP2007080049A (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
US20110167417A1 (en) Programming system in multi-core, and method and program of the same
KR20110106114A (ko) 레지스터, 프로세서 및 프로세서 제어 방법
US11080054B2 (en) Data processing apparatus and method for generating a status flag using predicate indicators
JP6580288B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US20180196908A1 (en) Hardware-configurable logic unit and microcontroller having such a hardware-configurable logic unit
JP6553694B2 (ja) プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法
US9411582B2 (en) Apparatus and method for processing invalid operation in prologue or epilogue of loop
Taylor et al. ALCHA: Introducing Arbitrary Fixed-point and Procedural Programming to FPGA Firmware Design
Khan et al. A Reconfigurable PID Controller
JP5266651B2 (ja) ローカル分岐履歴を用いた分岐予測装置及び分岐予測方法
JP4633073B2 (ja) データ処理システム
JP2009251782A (ja) プログラマブルコントローラの高速化方法等
WO2015123848A1 (zh) 可重构处理器及可重构处理器的条件执行方法
KR100599539B1 (ko) 태스크 엔진 기반의 재구성가능 디지털 신호 프로세서
Kennings et al. Parallel FPGA technology mapping using multi-core architectures
Vanderbauwhede et al. MORA: High-Level FPGA Programming Using a Many-Core Framework

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: 20170221

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 7