KR100542353B1 - 모터 제어 장치 및 그 방법 - Google Patents

모터 제어 장치 및 그 방법 Download PDF

Info

Publication number
KR100542353B1
KR100542353B1 KR1020030069696A KR20030069696A KR100542353B1 KR 100542353 B1 KR100542353 B1 KR 100542353B1 KR 1020030069696 A KR1020030069696 A KR 1020030069696A KR 20030069696 A KR20030069696 A KR 20030069696A KR 100542353 B1 KR100542353 B1 KR 100542353B1
Authority
KR
South Korea
Prior art keywords
motor
data
control data
deceleration
acceleration
Prior art date
Application number
KR1020030069696A
Other languages
English (en)
Other versions
KR20050033773A (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 KR1020030069696A priority Critical patent/KR100542353B1/ko
Publication of KR20050033773A publication Critical patent/KR20050033773A/ko
Application granted granted Critical
Publication of KR100542353B1 publication Critical patent/KR100542353B1/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
    • H02P8/00Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
    • H02P8/14Arrangements for controlling speed or speed and torque
    • 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
    • H02P8/00Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
    • H02P8/22Control of step size; Intermediate stepping, e.g. microstepping

Abstract

본 발명에 따른 모터 제어장치 및 그 방법은, SRAM에 모터의 가속 및 감속 구간의 각 스텝별 제어 데이터를 모두 어드레스별로 각각 저장하지 않고, 임의의 제어 데이터만을 저장하여 저장된 데이터를 이용하여 또 다른 스텝의 제어 데이터를 생성함으로써, 모터를 제어하기 위한 제어 데이터를 저장하는 SRAM을 효율적으로 활용할 수 있도록 한 것으로, 모터의 가속 및 감속 제어를 위한 임의의 스텝 제어 데이터를 저장하는 저장부; 시스템 초기화기 상기 저장부에 모터 가,감속 제어를 위한 임의의 스텝 제어 데이터를 저장하고, 모터의 가,감속 명령이 있는 경우, 상기 저장부에 저장된 스텝 제어 데이터를 순차적으로 리드하는 제어부; 상기 제어부로부터 순차적으로 리드된 모터의 임의의 스텝 제어 데이터를 이용하여 적어도 하나 이상의 최종적인 모터의 가,감속 스텝 제어 데이터를 생성하는 데이터 발생부; 상기 데이터 발생부로부터 발생되는 모터의 가,감속 스텝 제어 데이터에 따라 모터를 제어하기 위한 위상을 발생하여 모터를 제어하는 모터 제어부를 포함한다.

Description

모터 제어 장치 및 그 방법{apparatus and method for controlling motor}
도 1은 종래 기술에 따른 모터 제어장치에 대한 블록 구성을 나타낸 도면.
도 2는 도 1에 도시된 모터의 가속 및 감속상태를 나타낸 그래프.
도 3은 종래 기술에 따른 모터를 제어하기 위한 위상 발생 신호에 대한 타이밍도를 나타낸 도면.
도 4는 본 발명에 따른 모터 제어 장치에 대한 블록 구성을 나타낸 도면.
도 5는 도 4에 도시된 데이터 발생부에 대한 상세 블록 구성을 나타낸 도면.
도 6은 본 발명에 따른 모터 제어를 위한 모터 제어 데이터 발생 타이밍도를 나타낸 도면.
*도면의 주요 부분에 대한 부호의 설명*
10 : CPU 20 : SRAM 제어부
30 : SRAM 40 : 모터 제어부
50 : 모터 60 : 데이터 발생부
61 : 감산기 62 : 제산기
63 : 카운터 64 : 승산기
65 : 가/감산기
본 발명은 모터 제어장치 및 그 방법에 관한 것으로서, 특히 모터 제어장치에서 모터의 가,감속 제어를 위한 데이터가 저장된 SRAM을 효율적으로 사용하여 모터의 가,감속을 제어할 수 있도록 한 모터 제어장치 및 그 방법에 관한 것이다.
일반적으로, 모터가 장착된 시스템에는 모터의 가,감속을 스텝에 따라 제어하기 위한 데이터가 저장되어 있는 SRAM을 구비하고 있다. 즉, SRAM에 가속 데이터와 감속 데이터를 각각 저장하여 사용자로부터 모터를 구동하기 위한 시작 신호가 입력되는 경우, SRAM에 저장된 가속 데이터를 순차적으로 리드하여 설정된 스텝별로 모터의 가속을 제어한다.
한편, 사용자로부터 정지 신호가 입력되는 경우, SRAM에 저장된 감속 스텝에 상응하는 감속 데이터를 순차적으로 리드하여 리드된 데이터에 따라 모터의 감속을 제어하여 최종적으로 모터를 정지시키게 되는 것이다.
이하, SRAM을 이용한 모터의 가,감속을 제어하기 위한 종래 기술에 대하여 설명해 보기로 하자.
도 1은 종래 기술에 따른 모터 제어장치에 대한 블록 구성을 나타낸 도면이고, 도 2는 도 1에 도시된 모터의 가속 및 감속상태를 나타낸 그래프이고, 도 3은 종래 기술에 따른 모터를 제어하기 위한 위상 발생 신호에 대한 타이밍도를 나타낸 도면이다.
도 1에 도시된 바와 같이, 모터 제어장치는 CPU(10), SRAM 제어부(20), SRAM(30), 모터 제어부(40) 및 모터(50)를 포함한다.
CPU(10)는 시스템 초기화 과정시 모터의 가속 및 감속 구간의 각 스텝 별 제어 데이터를 SRAM 제어부(20)를 통해 SRAM(30)에 순차적으로 라이트(Write)한다.
또한, CPU(10)는 사용자로부터 모터의 구동 및 정지 신호가 수신되면, 수신된 모터 구동 및 정지 신호를 SRAM 제어부(20)로 제공하게 된다.
SRAM 제어부(20)는 CPU(10)로부터 제공되는 모터 가,감속 제어 데이터를 SRAM(30)에 순차적으로 라이트하고, CPU(10)로부터 모터의 구동 또는 구동중인 모터의 정지 신호가 입력되는 경우, SRAM(30)에 저장된 가속 또는 감속 구간별 각 스텝의 제어 데이터를 순차적으로 리드하여 모터 제어부(40)로 제공한다.
모터 제어부(40)는 SRAM 제어부(20)로부터 순차적으로 제공되는 가속 또는 감속 제어 데이터를 이용하여 모터의 가속 또는 감속 구간 스텝별 위상(Phase)을 발생하여 모터(50)로 순차적으로 제공하여 모터의 가속 또는 감속을 제어하게 되는 것이다.
SRAM(30)에는 도 2에 도시된 모터의 가속 또는 감속 구간내 각 스텝별 제어 데이터를 순차적으로 저장하고 있다.
이와 같은 구성을 갖는 종래 기술에 따른 모터 제어장치에 대한 동작에 대하여 설명해 보기로 하자.
먼저, 시스템 초기화시 CPU(10)는 모터의 가속 및 감속 구간의 각 스텝 별 제어 데이터를 순차적으로 SRAM 제어부(20)를 통해 SRAM(30)의 해당 어드레스(SRAM_addr: 예를 들면 도 3에 도시된 0, 1, 2, 3, 4)에 SRAM 데이터(도 3에 도시된 SRAM_data: 8, 6, 4, 2, 0)순차적으로 라이트한다.
이 상태에서, CPU(10)으로부터 모터(50)의 구동 또는 구동중인 모터(50)의 정지 명령이 입력되면, SRAM 제어부(20)는 SRAM(30)에 저장된 가속 또는 감속 구간의 각 스텝별 SRAM 데이터를 순차적으로 리드하여 모터 제어부(40)로 제공한다.
예를 들어, CPU(10)로부터 감속 명령이 입력되는 경우, SRAM 데이터는 도 3에 도시된 바와 같이, SRAM(30)의 0, 1, 2, 3, 4어드레스에 저장된 감속 제어 SRAM_data 8, 6, 4, 2, 0 데이터를 순차적으로 리드하여 모터 제어부(40)로 제공하게 되는 것이다. 여기서 SRAM_data "0"은 모터의 정지를 제어하기 위한 데이터로서, 상기 감속 데이터를 살펴보면, 감속 데이터임을 용이하게 확인할 수 있다.
모터 제어부(40)는 SRAM 제어부(20)로부터 순차적으로 제공되는 모터(50)의 감속을 위한 감속 구간 각 스텝별 SRAM_data를 이용하여 도 3과 같은 각 스텝별 감속 제어를 위한 SRAM_data에 상응하는 위상을 발생하여 모터(50)로 제공함으로써, 모터(50)의 감속 제어가 이루어지게 되는 것이다.
결국, 종래 기술에 따른 모터 제어장치는, 모터의 가속 또는 감속 구간의 각 스텝별 제어 데이터는 SRAM의 각 어드레스에 저장된 각각 저장 즉, 가속 또는 감속 구간의 스텝 데이터를 읽을 때 SRAM 하나의 어드레스의 데이터는 하나의 가속 또는 감속 스텝에만 적용할 수 있는 제어 데이터가 SRAM에 저장된 것이다.
따라서, 모터의 가속 또는 감속 구간의 스텝수에 비례하게 SRAM의 용량이 변화되어야 하는 것이다. 즉, 가속 또는 감속 구간이 많은 경우에는 각 스텝을 제어하기 위한 스텝 제어 데이터 모두가 SRAM의 해당 어드레스에 저장되어야 하기 때문에 커다란 용량의 SRAM 또는 적은 용량의 SRAM을 다수 구비해야 하는 문제점이 있다. 결국, 적은 비용으로 SRAM을 효율적으로 사용할 수 없는 문제점이 있다.
따라서, 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은, SRAM에 모터의 가속 및 감속 구간의 각 스텝별 제어 데이터를 모두 어드레스별로 각각 저장하지 않고, 임의의 제어 데이터만을 저장하여 저장된 데이터를 이용하여 또 다른 스텝의 제어 데이터를 생성함으로써, 모터를 제어하기 위한 제어 데이터를 저장하는 SRAM을 효율적으로 활용할 수 있도록 한 모터 제어장치 및 그 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 모터 제어장치의 일 측면에 따르면, 모터의 가속 및 감속 제어를 위한 임의의 스텝 제어 데이터를 저장하는 저장부; 시스템 초기화기 상기 저장부에 모터 가,감속 제어를 위한 임의의 스텝 제어 데이터를 저장하고, 모터의 가,감속 명령이 있는 경우, 상기 저장부에 저장된 스텝 제어 데이터를 순차적으로 리드하는 제어부; 상기 제어부로부터 순차적으로 리드된 모터의 임의의 스텝 제어 데이터를 이용하여 적어도 하나 이상의 최종적인 모터의 가,감속 스텝 제어 데이터를 생성하는 데이터 발생부; 상기 데이터 발생부로부터 발생되는 모터의 가,감속 스템 제어 데이터에 따라 모터를 제어하기 위한 위상을 발생하여 모터를 제어하는 모터 제어부를 포함할 수있다.
상기 데이터 발생부는, 상기 저장부에 저장된 임의의 제1의 스텝 제어 데이터(Temp0_data)와 제2의 스텝 제어 데이터(Temp1_data)를 감산하는 감산기; 상기 감산기에서 감산된 데이터와 설정된 Div_value를 제산하는 제산기; 상기 제산기로부터 제공되는 데이터값과 저장부에 저장된 데이터의 CS(Chip Selector)의 카운트값(Div_counter)을 승산하는 승산기; 상기 승산기로부터 제공되는 데이터와 상기 제1 스텝 제어 데이터를 모터의 가속 또는 감속 명령에 따라 가산 또는 감산하여 최종적인 모터 가속 및 감속 스텝 제어 데이터를 생성하여 상기 모터 제어부로 제공하는 가/감산기를 포함한다.
상기 설정된 Div_value는 상기 제1 및 제2의 스텝 제어 데이터를 이용하여 제1 및 제2의 스텝 제어 데이터 사이에 생성될 수 있는 적어도 하나 이상의 스텝 제어 데이터 개수이다.
한편, 본 발명에 따른 SRAM을 이용하여 모터를 제어하는 방법의 일 측면에 따르면, 시스템 초기화시 상기 SRAM에 모터 가,감속 제어를 위한 임의의 스텝 제어 데이터를 저장하는 단계; 모터의 가,감속 명령이 있는 경우, 상기 SRAM에 저장된 스텝 제어 데이터를 순차적으로 리드하는 단계; 상기 순차적으로 리드된 모터의 임 의의 스텝 제어 데이터를 이용하여 적어도 하나 이상의 최종적인 모터의 가,감속 스텝 제어 데이터를 생성하는 단계; 상기 생성되는 모터의 가,감속 스템 제어 데이터에 따라 모터를 제어하기 위한 위상을 발생하여 모터를 제어하는 단계를 포함할 수 있다.
상기 모터의 가,감속 스텝 제어 데이터를 생성하는 단계에서, 모터의 가속 스텝 제어 데이터의 생성은, 아래의 수학식을 이용하여 계산되어질 수 있다.
Motor Data = Temp0_data + (Temp1_data - Temp0_data)/Div_value * Div_Counter.
여기서, Temp0_data는 상기 SRAM 에 저장된 제1의 스텝 제어 데이터, Temp1_data는 SRAM에 저장된 제2의 스텝 제어 데이터, Div_value는 상기 제1 및 제2의 스텝 제어 데이터를 이용하여 제1 및 제2의 스텝 제어데이터 사이에 생성될 수 있는 적어도 하나 이상의 스텝 제어 데이터 개수, Div_counter는 상기 SRAM에 저장된 데이터의 CS(Chip Selector)의 카운트값이다.
또한, 상기 모터의 가,감속 스텝 제어 데이터를 생성하는 단계에서, 모터의 감속 스텝 제어 데이터의 생성은, 아래의 수학식을 이용하여 계산되어질 수 있다.
Motor Data = Temp0_data - (Temp0_data - Temp1_data)/Div_value * Div_Counter
여기서, Temp0_data는 상기 SRAM에 저장된 제1의 스텝 제어 데이터, Temp1_data는 SRAM에 저장된 제2의 스텝 제어 데이터, Div_value는 상기 제1 및 제2의 스텝 제어 데이터를 이용하여 제1 및 제2의 스텝 제어데이터 사이에 생성될 수 있는 적어도 하나 이상의 스텝 제어 데이터 개수, Div_counter는 상기 SRAM에 저장된 데이터의 CS(Chip Selector)의 카운트값이다.
이하, 본 발명에 따른 모터 제어장치 및 그 방법에 대하여 첨부한 도면을 참조하여 상세하게 살펴보기로 하자.
도 4는 본 발명에 따른 모터 제어 장치에 대한 블록 구성을 나타낸 도면이고, 도 5는 도 4에 도시된 데이터 발생부에 대한 상세 블록 구성을 나타낸 도면이다.
도 4에 도시된 바와 같이, 본 발명에 따른 모터 제어장치는, CPU(10), SRAM 제어부(20), SRAM(30), 모터 제어부(40), 모터(50) 및 데이터 발생부(60)를 포함한다.
CPU(10)는 시스템 초기화 과정 시 모터의 가속 및 감속 구간의 일정 간격의 스텝 제어 데이터를 SRAM 제어부(20)를 통해 SRAM(30)에 순차적으로 라이트(Write)한다.
또한, CPU(10)는 사용자로부터 모터의 구동 및 정지 신호가 수신되면, 수신된 모터 구동 및 정지 신호를 SRAM 제어부(20)로 제공하게 된다.
SRAM 제어부(20)는 CPU(10)로부터 제공되는 모터 가,감속 제어 데이터를 SRAM(30)에 순차적으로 라이트하고, CPU(10)로부터 모터의 구동 또는 구동중인 모 터의 정지 신호가 입력되는 경우, SRAM(30)에 저장된 가속 또는 감속 제어 데이터를 순차적으로 리드하여 데이터 발생부(60)로 제공한다. 여기서, SRAM(30)에는 모터(50)의 감속을 실제로 제어하기 위한 각 스텝 제어 데이터가 예를 들어, 8, 6, 4, 2, 0 인 경우, 8, 4, 0 값이 저장되어 8, 4 데이터를 이용하여 8 다음 스텝 제어 데이터인 6이라는 데이터를 생성하고, 4다음 스텝 데이터인 2라는 데이터는 SRAM에 저장된 4값과 0라는 값을 이용하여 생성하도록 하는 것이다.
즉, 데이터 발생부(60)는 SRAM 제어부(20)로부터 제공되는 임의의 스텝 제어 데이터를 순차적으로 수신하고, 순차적으로 수신된 데이터를 이용하여 SRAM(30)에 저장되지 않은 또 다른 스텝의 제어 데이터를 순차적으로 생성하여 모터 제어부(40)로 제공하게 된다. 여기서, 데이터 발생부(60)에서의 데이터 생성 동작에 대하여는 도 5를 참조하여 상세하게 후술하기로 한다.
모터 제어부(40)는 데이터 생성부(60)로부터 순차적으로 제공되는 스텝 제어 데이터를 이용하여 모터(50)를 제어하기 위한 각 스텝 제어 위상을 생성하여 모터(50)로 제공하게 된다. 따라서, 모터(50)는 모터 제어부(40)로부터 제공되는 각 스텝에 대한 위상에 따라 모터의 가,감속 동작을 수행하게 되는 것이다.
상기한 데이터 발생부(60)는 도 5에 도시된 바와 같이, 감산기(61), 제산기(62), 카운터(63), 승산기(64) 및 가/감산기(65)를 포함한다.
감산기(61)는 SRAM(30)에 저장된 순차적인 각 스텝 제어 데이터(Temp0_data)와 실제로 SRAM(30)에 저장된 스텝 제어 데이터(Temp1_data)를 감산하여 제산기(62)로 제공한다.
제산기(62)는 감산기(61)로부터 제공되는 데이터와 기 설정된 현재 처리되는 스텝 넘버(Step Number) 즉, Div_value를 제산하여 승산기(63)로 제공한다.
승산기(63)는 제산기(62)로부터 제공되는 데이터값과 카운터(64)로부터 제공되는 카운트값(Div_counter)을 승산하게 되는 것이다. 여기서, 카운터(64)에서 제공되는 카운트값은 SRAM(30)에 저장된 실제 데이터를 리드하는 경우 카운터값을"O"으로 카운트하고, 리드된 실제 데이터값을 이용하여 그 다음의 스텝 제어 데이터값을 생성하는 경우에는 카운터값을 "1"로 카운트하게 되는 것이다.
가/감산기(65)는 제산기(63)으로부터 제공되는 데이터값을 가속 또는 감속 제어 데이터값에 따라 상기한 Temp0_data 값과 가산 또는 감산하여 최종적인 모터 제어 데이터를 생성하게 되는 것이다. 이렇게 생성된 모터 제어 데이터는 모터 제어부(40)로 제공되어 모터의 가속 또는 감속 제어를 위한 각 구간의 스텝 제어 위상을 생성하게 되는 것이다.
이와 같은 구성을 갖는 본 발명에 따른 모터 제어장치에 대한 구체적인 동작에 대하여 설명해 보기로 하자.
먼저, 시스템 초기화시 CPU(10)는 모터의 가속 및 감속 구간의 임의의 스텝 제어 데이터를 순차적으로 SRAM 제어부(20)를 통해 SRAM(30)의 해당 어드레스(SRAM_addr: 예를 들면 도 5에 도시된 0, 1, 2, 3, 4)에 SRAM 데이터(도 5에 도시된 SRAM_data: 8, 4, 0)순차적으로 라이트한다.
이 상태에서, CPU(10)으로부터 모터(50)의 구동 또는 구동중인 모터(50)의 정지 명령이 입력되면, SRAM 제어부(20)는 SRAM(30)에 저장된 모터 제어 데이터를 순차적으로 리드하여 데이터 발생부(60)로 제공한다. 이때, SRAM 제어부(20)는 SRAM(30)으로부터 리드한 제어 데이터값을 이용하여 그 다음의 스텝 제어 데이터를 생성하기 위한 임의의 데이터 즉, 도 4에 도시된 바와 같은 Temp0_data와 Temp1_data값을 생성하여 데이터 발생부(60)의 감산기(61)로 제공한다.
또한, 상기 SRAM 제어부(20)에서 생성된 임의의 데이터 Temp0_data값은 데이터 발생부(60)의 가,감산기(65)로 제공된다. 여기서, 상기 SRAM 제어부(20)에서 생성되는 임의의 데이터값 Temp0_data 및 Temp1_data값과 SRAM(30)에 저장된 제어 데이터값 즉, SRAM 데이터값은 도 4에 도시된 바와 같은 상관 관계를 가지고 있다.
데이터 발생부(60)의 감산기(61)는 SRAM 제어부(20)로부터 제공되는 Temp0_data 및 Temp1_data값을 감산한 후, 제산기(62)로 제공한다.
제산기(62)는 감산기(61)로부터 출력되는 데이터와 설정된 현재 스텝값(Div_value)을 제산하여 승산기(64)로 제공한다.
승산기(64)는 제산기(62)로부터 제공되는 데이터값과 카운터(63)에서 제공되는 카운터 값을 승산하여 가,감산기(65)로 제공한다. 여기서, 카운터(63)에서 발생되는 카운팅 값은 도 4에 도시된 SRAM_CS(Chip Selector) 카운팅 값이다.
가,감산기(65)는 승산기(64)로부터 제공되는 데이터와 SRAM 제어부(20)로부터 제공되는 임의의 데이터값 Temp0_data값을 CPU(10)로부터 제공되는 가속 또는 감속 제어신호에 따라 가산 또는 감산하여 최종적인 모터(50)의 가속 또는 감속을 제어하기 위한 모터 제어 데이터(Motor_data)를 생성하여 모터 제어부(40)로 제공하게 되는 것이다.
따라서, 모터 제어부(40)는 데이터 발생부(60)로부터 제공되는 모터 가속 또는 감속 제어를 위한 데이터를 이용하여 각 스텝 제어 위상을 발생하여 모터(50)를 제어하게 되는 것이다.
상기한 도 5의 데이터 발생부(60)에서의 모터(50)를 제어하기 위한 모터 가속 또는 감속 제어 데이터의 발생동작에 대하여 좀 더 구체적으로 일 예를 들어 설명해 보기로 하자.
먼저, 시스템 초기화시 CPU(10)는 모터 가/감속 구간의 임의의 스텝 데이터를 SRAM 제어부(20)를 통해 SRAM(30)에 저장한다. 또한, CPU(10)는 Div_value값을 데이터 발생부(60)에 세팅하게 되는데, Div_value는 SRAM(30)에 저장된 두 개의 스텝 데이터에서 몇 개의 데이터를 생성할 것인가를 결정짓는 값이다.
만약, CPU(10)로부터 모터의 가속 또는 감속 제어를 위한 명령이 입력되면, SRAM 제어부(20)는 SRAM(30)에 저장된 제어 데이터를 순차적으로 리드하여 데이터 발생부(60)로 제공한다.
데이터 발생부(60)는 SRAM 제어부(20)로부터 순차적으로 제공되는 제어 데이터를 이용하여 도 5에 도시된 회로를 통해 최종적인 모터 가감속 제어를 위한 스텝 제어데이터를 발생하여 모터 제어부(40)로 제공한다.
이때, 도 5에 도시된 회로를 통해 최종적으로 발생되는 모터의 가속 또는 감속 제어 데이터는 아래의 수학식 1과 수학식 2를 통해 계산되어 질 수 있는 것이다. 여기서, 수학식 1은 모터의 가속 제어를 위한 가속 제어 데이터를 계산하기 위한 수학식이고, 수학식 2는 모터의 감속 제어를 위한 데이터를 계산하기 위한 수학 식이다.
[수학식 1]
Motor Data = Temp0_data + (Temp1_data - Temp0_data)/Div_value * Div_Counter
[수학식 2]
Motor Data = Temp0_data - (Temp0_data - Temp1_data)/Div_value * Div_Counter
여기서, Div_Counter는 SRAM(30)의 CS(Chip Selector)를 카운트하는 카운터값이다.
예를 들어, 감속의 경우, SRAM 제어부(20)에서 SRAM으로부터 리드한 제어 데이터값이 도 5에 도시된 바와 같이 SRAM_data가 "8"과 "4"값인 경우, 데이터 8 다음의 스텝 제어 데이터값의 생성은, 상기 수학식 2를 통해 생성될 수 있다.
즉, Temp0_data값이 "8"이 되고, Temp1_data 값이 "4"가 되며, Div_value가 "1"(8과 4사이에 하나의 스텝 제어 데이터를 생성하기 때문에) 및 Div_Counter값이 "2"가 되기 때문에 이 값들을 상기 수학식 2에 대입을 하게 되면, 도 6에 도시된 바와 같이, "8"다음의 스텝 제어데이터 즉, 2번째 감속 스텝 제어 데이터인 "6"을 생성하게 되는 것이다.
결국, 본 발명에 따른 모터 제어 장치 및 그 방법은, SRAM(30)에 모터 제어를 위한 모든 가,감속 스텝 제어 데이터를 저장하지 않고 일부의 스텝 제어 데이터만을 저장하고도 도 5에 도시된 데이터 발생 회로 즉, 상기한 수학식 1과 수학식 2 를 통해 다음 스텝 제어 데이터를 생성할 수 있기 때문에 SRAM을 효율적으로 사용할 수 있게 되는 것이다.
상기한 바와 같은 본 발명에 따른 모터 제어장치 및 그 방법은 SRAM에 저장된 모터 가속 /감속 제어 데이터를 순차적으로 리드하고, 그 데이터가 크게 변하지 않는 점을 이용하여 데이터의 중간값 혹은 1/N값을 생성함으로써, SRAM의 사용량을 최소한으로 줄일 수 있으며, 같은 크기의 SRAM으로 더 정밀한 모터 제어가 가능하다. 또한, 초기에 SRAM에 데이터를 저장할 때 기존 방식의 1/2 또는 1/N 데이터만을 저장함으써 소프트웨어의 부하를 줄일 수 있는 효과를 가질 수 있는 것이다.

Claims (7)

  1. 모터 제어장치에 있어서,
    모터의 가속 및 감속 제어를 위한 임의의 스텝 제어데이터를 저장하는 저장부;
    시스템 초기화시 상기 저장부에 모터 가,감속 제어를 위한 임의의 스텝 제어 데이터를 저장하고, 모터의 가속 또는 감속 명령이 있는 경우 상기 저장부에 저장된 스텝 제어데이터를 순차적으로 리드하는 제어부;
    상기 제어부로부터 순차적으로 리드된 모터의 임의의 스텝 제어 데이터를 이용하여 하나 이상의 최종적인 모터의 가속 또는 감속 스텝 제어 데이터를 생성하는 데이터 발생부; 및
    상기 데이터 발생부로부터 생성된 모터의 가속 또는 감속 스텝 제어 데이터를 이용하여 모터의 가속 또는 감속 제어를 수행하는 모터 제어부를 포함하되;
    상기 데이터 발생부는,
    상기 저장부에 저장된 임의의 가속 또는 감속의 제2 스텝 제어 데이터(Temp1_data)와 제1 스텝 제어 데이터(Temp0_data)를 감산하는 감산기;
    상기 감산기에서 감산된 데이터와 상기 제1 및 제2 스텝 제어 데이터 사이에 생성될 수 있는 적어도 하나 이상의 스텝 제어 데이터의 갯수값(Div_value)을 제산하는 제산기;
    상기 제산기의 결과값과 저장부에 저장된 데이터의 CS(Chip Selector)의 카운트값(Div-counter)을 승산하는 승산기; 및
    상기 승산기의 출력 데이터값과 상기 제1 스텝 제어 데이터값을 모터의 가속 또는 감속 명령에 따라 가산 또는 감산하여 최종적인 모터의 가속 또는 감속 스텝 제어데이터값을 생성하여 상기 모터 제어부로 제공하는 가/감산기를 포함하는 모터 제어장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 저장부는 SRAM인 모터 제어장치.
  5. SRAM을 이용하여 모터를 제어하는 방법에 있어서,
    시스템 초기화시 상기 SRAM에 모터의 가.감속 제어를 위한 임의의 스텝 제어 데이터를 저장하는 단계;
    모터의 가속 또는 감속 명령이 있는 경우, 상기 SRAM에 저장된 스텝 제어 데이터를 순차적으로 리드하고, 리드된 모터의 임의의 스텝 제어 데이터를 이용하여 적어도 하나 이상의 최종적인 모터의 가속 또는 감속 스텝 제어 데이터를 생성하는 단계; 및
    상기 생성된 모터의 가속 또는 감속 스텝 제어 데이터에 따라 모터의 가속 또는 감속 제어를 수행하는 단계를 포함하되,
    상기 모터의 가속 스텝 제어 데이터의 생성은 아래의 수학식 1을 이용하고, 모터의 감속 스텝 제어 데이터의 생성은 아래의 수학식 2를 이용하여 생성하는 모터 제어방법.
    (수학식 1)
    Motor Data = Temp0_data + (Temp1_data - Temp0_data)/Div_value * Div_Counter.
    (수학식 1)
    Motor Data = Temp0_data - (Temp1_data - Temp0_data)/Div_value * Div_Counter.
    여기서, TempO_data는 상기 SRAM에 저장된 제1의 스텝 제어 데이터, Temp1_data는 SRAM에 저장된 제2의 스텝 제어 데이터, Div_value는 상기 제1 및 제2 스텝 제어 데이터 사이에 생성될 수 있는 적어도 하나 이상의 설정된 제어 데이터 갯수값 및 Div_counter는 상기 SRAM에 저장된 데이터의 CS(Chip Selector)의 카운트값이다.
  6. 삭제
  7. 삭제
KR1020030069696A 2003-10-07 2003-10-07 모터 제어 장치 및 그 방법 KR100542353B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030069696A KR100542353B1 (ko) 2003-10-07 2003-10-07 모터 제어 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030069696A KR100542353B1 (ko) 2003-10-07 2003-10-07 모터 제어 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050033773A KR20050033773A (ko) 2005-04-13
KR100542353B1 true KR100542353B1 (ko) 2006-01-10

Family

ID=37237805

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030069696A KR100542353B1 (ko) 2003-10-07 2003-10-07 모터 제어 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100542353B1 (ko)

Also Published As

Publication number Publication date
KR20050033773A (ko) 2005-04-13

Similar Documents

Publication Publication Date Title
JP2646032B2 (ja) Lifo方式の半導体記憶装置およびその制御方法
US4759021A (en) Test pattern generator
KR100542353B1 (ko) 모터 제어 장치 및 그 방법
US4001789A (en) Microprocessor boolean processor
US5590303A (en) Memory designation control device
EP0581723A2 (en) An automatic design process and apparatus
JPH1194920A (ja) 半導体試験装置用パターン発生装置
JP2856064B2 (ja) ディジタルフィルタ
JP2808548B2 (ja) 現在状態から後続状態へのプロセッサ作動状態移行制御装置
JP2003258628A (ja) カウンタ回路
JP2572735B2 (ja) パターン発生器
KR100188027B1 (ko) 어드레스 발생회로
JPH05266685A (ja) 記憶装置
GB2254754A (en) Time switch speech-store module
JPH01243120A (ja) ファームウェア制御装置
JP2831031B2 (ja) 周期発生器
JPS59144090A (ja) スタツクメモリ装置
US5656913A (en) Microcomputer for driving induction motor
JPH0750156B2 (ja) メモリ読出制御装置
JP3009533B2 (ja) メモリを用いた大容量カウンタ
JPH08320719A (ja) プリバッファ制御方式
SU1374395A1 (ru) Устройство дл управлени шаговым двигателем
KR0176464B1 (ko) 다이나믹 랜덤 억세스 메모리장치의 리플레쉬 제어회로
RU2042980C1 (ru) Векторный ускоритель
KR20000005673A (ko) 광디스크재생시스템의저전력소모형디지탈서보장치및그의동작방법

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
LAPS Lapse due to unpaid annual fee