• 검색 결과가 없습니다.

A Design of a Full FPGA-based DC-motor Control and Monitoring System

N/A
N/A
Protected

Academic year: 2021

Share "A Design of a Full FPGA-based DC-motor Control and Monitoring System"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

논문 2014-51-11-26

Full FPGA 기반 DC 모터 제어 및 모니터링 시스템 설계

( A Design of a Full FPGA-based DC-motor Control and Monitoring System )

임 병 규*, 강 문 호*

*

( Byung gyu Lim and Moon ho Kang

)

요 약

본 논문에서는 하나의 FPGA 내에 DC 모터 제어와 TFT LCD 인터페이스가 내장되어, 제어와 결과 데이터의 실시간 분석 이 용이하고 컴팩트한 전(full)-FPGA 기반 모터 제어 시스템을 보인다. PID 속도 제어 모듈과 TFT LCD 상에 실험 결과를 실시간 보여주기 위한 모니터링 모듈을 하나의 FPGA내에 설계하고, 시뮬레이션과 실험을 통하여 유용성을 보인다. FPGA로 는 xc3s400를 사용하였고, AD (Aaltium Designer)를 이용하여 전체 시스템을 설계하였다. DC 모터 4상한 운전을 위해 MOSFET를 이용한 PWM 모터 드라이버를 제작하였다.

Abstract

In this paper a full FPGA-based and compact motor-control system is shown that makes it easy to control the motor and analyze the result data in real time with embedding not only a DC motor controller but also a TFT LCD interface in a single FPGA. Both a PID speed control module for a DC motor and a monitoring module for plotting real time graphs on to a TFT LCD are designed in a single FPGA, and the system validity is shown through simulation and experimental results. The FPGA used is xc3s400 and the entire system is designed by using the AD (Altium Designer). A PWM motor drive system is constructed by using MOSFETs for a DC motor 4-quadrant operations.

Keywords : Full FPGA-based system, DC motor, TFT LCD interface, PID speed control

I. 서 론

FPGA (field programmable gate array)는 종래의 DSP에 비해 하드웨어 설계 변경이 쉽고 병렬연산 처리 가 가능하여 디지털 신호처리 분야를 비롯하여 각종 제 어 시스템의 실시간 제어분야에 널리 사용되고 있다.

모터 제어분야에서도 제어 알고리즘 구현과 센서 출력 신호 처리를 실시간 병렬로 수행할 수 있기 때문에, 다

*

정회원, 선문대학교 정보통신공학과

(Department of Information and Communication Engineering, Sunmoon University)

Corresponding Author(E-mail: [email protected]) 접수일자: 2014년09월22일, 수정일자: 2014년10월16일 게재확정: 2014년11월01일

양한 모터 제어 분야에 FPGA가 적용되어 고성능화를 실현하고 있다[1~4]. 한편, 종래의 FPGA 기반 모터 제어 시스템은 제어 알고리즘을 전 (full)- FPGA로 구현하 는 것이 주목적으로 설계되는데, 제어결과를 확인하기 위해서는 DA-변환기와 오실로스코프 또는 PC와 직렬 통신 인터페이스 등 별도의 외부장치들이 요구된다.

본 연구에서는 종래의 FPGA 모터 제어 시스템에 비 하여 별도의 외부장치 없이도 모터 제어와 실시간 분석 이 가능하도록, 하나의 FPGA 내에 모터 제어기와 데이 터 모니터링 장치가 내장되는 전-FPGA 기반 모터 제 어 시스템을 설계하고, 시뮬레이션과 실험을 통하여 시 스템의 유용성을 보인다. 이를 위해 DC 모터 PID 속도 제어 모듈과 TFT LCD와 연결되어 실험 결과 그래프

(2)

그림 2. 엔코더 펄스 처리기 Fig. 2. Encoder pulse processor.

를 실시간 보여주기 위한 모니터링 모듈을 하나의 FPGA내에 설계한다. FPGA로는 Xilinx의 xc3s400[5] 사용하였고, 시스템 설계는 AD (Altium Designer)의 FPGA IDE (integrated development environment)[6] 서 수행하였다. DC 모터 가변속 구동을 위해 MOSFET 를 이용한 PWM 모터 드라이버를 제작하였다.

Ⅱ. 전체 시스템 구성

그림 1은 FPGA를 이용한 DC 모터 속도제어 및 모 니터링 시스템의 전체 구성을 보인다. 하나의 FPGA (Xilinx, xc3s400) 내에 모터 제어 모듈과 모니터링 모 듈이 설계된다. 모터 제어 모듈은 모터 드라이브 회로 에 연결되고 모니터링 모듈은 TFT LCD 인터페이스 회로에 연결되어, PID 속도제어를 수행하고 제어 결과

그림 1. FPGA를 이용한 DC 모터 속도 제어 및 모니터 링 시스템 구성

Fig. 1. Configuration of a DC motor speed control and monitoring system using a FPGA.

를 LCD 상에 출력한다. PID 속도제어를 위해 엔코더 출력 펄스를 4체배하여 속도 정보를 알아내고, 제어결 과를 실시간 모니터링하기 위해 LCD 제어기와 디지털 오실로스코프 로직을 구현하였다. 각 구성요소들에 대 한 상세한 설명은 Ⅲ 장과 Ⅳ 장에서 다루었다.

Ⅲ. DC 모터 제어 모듈 설계

DC 모터 제어 모듈은 엔코더 펄스를 4체배하여 속도 값을 알아내기 위한 엔코더 펄스 처리기, PID 속도제어 를 수행하는 PID 제어기, 계산된 제어입력으로부터 모 터 드라이버를 구동하는 PWM 게이트 펄스들을 발생 시키기 위한 게이트 펄스 생성기 등으로 구성된다.

1. 엔코더 펄스 처리기

그림 2에 엔코더 펄스 처리기를 보인다. 모터에 부착 된 엔코더의 A, B상 출력 펄스를 4체배하여 회전당 2000 펄스를 생성하고, 모터의 회전방향을 검지한다. 이 때 기준클록 (CLK)의 2주기보다 작은 폭을 가지는 펄 스는 잡음으로 간주하여 제거한다[7]. 8비트 up/down 카 운터를 이용하여 일정한 주기 (1ms)마다 4체배 펄스를 샘플링 하여 모터의 속도 펄스 값 (SPDCNT)을 출력하 고, PID 제어기와 모니터링 모듈측으로 전달한다.

2. PID 제어기

DC 모터 속도제어를 위한 PID 제어입력 식을 보이 면 식(1), (2)와 같다. 식(2)는 연속 제어입력 식(1)에 대

(3)

한 이산치 표현식으로 FPGA에 VHDL (VHSIC hardware description language)을 이용하여 프로그래 밍 된다. 미분 제어시 잡음에 의한 영향을 줄이기 위하 여 미분기에 로우-패스 필터를 결합하였고, 모터 각속 도 기준 값은 일정한 것으로 가정하였다.

     

   

  

(1)



 

 

 (2)



  (3)

   



  (4)

  

 



   

 



(5)

  



  

       

, , : 비례, 적분, 미분 제어이득,

: 미분기 로우-패스 필터 극점, : 제어입력,  , ,  : 비례, 적분, 미분 제어입력 성분, : 속도 샘플링 주기,

 : 각속도 기준, : 각속도,  : 각속도 오차,

: 각속도 차이

식(2)∼(5)의 이산치 제어입력을 구하기 위해서는 나 눗셈 연산을 수행해야하고 계산 결과가 소수점을 포함 하기 때문에, 식(6)∼(8)에 보인 것과 같이 제어기 입력 의 계수들을 256배한 후 양자화 하여

   

와 같이 정수형 제어기 계수들을 구하고, 이 값들을 이용하여

,

,

,

24, 1, 14, 120

, , ,

 0.094, 3.906, 8.571, 17285

[s], [rpm] 0.001, 1000 1. PID 제어기 파라미터 Table 1. PID controller parameters.

그림 3. PID 제어기 Fig. 3. PID controller.

업-스케일 된 제어입력 성분들을 계산한다. 제어기의 각 입력 성분들이 구해지면 식(9)와 같이 이들의 합을 256으로 나누어 다운-스케일하고 최종적인 입력을 구 한다. 표 1은 실험에 사용된

   

값과 제어기 파 라미터들 사이의 관계를 보인다.

′    (6)

  ′ 

′    (7)

′  

  ′   

(8)

  

′ 

′ 

′  (9)

 

,   

 ,

   

≤ 

 ,   

 



그림 3은 PID 제어기의 스키매틱으로, 그림 2 (엔코 더 펄스 처리기)의 출력인 펄스 카운트 값을 rpm으로 환산하고, 속도 제어 기준값은 1000 rpm으로 하여 PID 제어를 수행한다. 제어입력(

)이 구해지면 식(10)과 같 이 PWM 발생기 입력이 계산된 후, 그림 4 (게이트 펄 스 생성기)의 10비트 PWM 발생기로 인가된다.



  × 

   (10)

:모터 드라이브 전원 전압,

: PWM 발생기 입력

3. 게이트 펄스 생성기

그림 4는 DC-모터 드라이브와 그림 3의 PID 제어기 출력 (

)으로부터 게이트 펄스들을 생성하는 스키매 틱을 보인다. 드라이브의 암 (arm)-단락을 방지하기 위 해, MOSFET의 온-오프 지연시간을 고려하여 50 MHz 클록을 이용하여 1 ㎲의 데드타임 (deadtime)을 갖는 게 이트 펄스들을 생성한다. 모터 구동, 급제동, 회생제동 등 을 구현하기 위해 RUN, BREAK, SWOFF 제어 신호와 인터페이스 회로를 첨가하였다. PWM 게이트 펄스들은 (FA+, FA-, FB+, FB-) 10비트 PWM 발생모듈을 통해 생성된다. 그림 5는 그림 4에 대한 시뮬레이션 결과이다.

Upwm 크기는 560이고, 초기에 RUN, BREAK, SWOFF 를 각각 0, 1, 0으로 하여 PWM 게이트 펄스를 생성하여 모터를 구동시키고, 5 ms 이후에 1, 0, 0으로 하여 게이트 펄스를 제거하여 급제동 시킨다. 그림 5에서 게이트 펄스

(4)

그림 4. 게이트 펄스 생성기 (a) DC-모터 드라이브 (b) 데드타임 발생 원리 (c) 게이트 펄스 생성기 Fig. 4. Gate pulses generator. (a) DC-motor drive

(b) principle of deadtime generation (c) schematic of gate pulses generator.

그림 5. 게이트 펄스 생성기 시뮬레이션 결과 Fig. 5. Simulation results of gate pulses generator.

파형들(delayx_dpwm)은 그림 4에 보이는 U_delay 블록 들의 출력들이다. 그림 5의 확대 파형을 보면 드라이버 암의 상-하측 케이트 구동 펄스 사이에 1 ㎲의 데드타임 이 발생되고 있음을 알 수 있다.

Ⅳ. 모니터링 모듈 설계

모니터링 모듈은 TFT LCD의 제어 신호들을 발생하 기 위한 TFT LCD 제어기, 듀얼-포트 램 (dual-port RAM:DPRAM)을 통해 모터 속도 데이터를 저장하다가 LCD 스캔 위치가 비트맵 영역에 도달하면 데이터를 읽 어 RGB 그래프 코드 생성기로 전달하는 오실로스코프

제어기, 오실로스코프 제어기로부터 받은 데이터로부터 파형이 그려질 LCD 상의 y-픽셀 좌표를 계산하고 픽 셀 좌표들에 대한 3비트 RGB 색상 코드를 생성하는 RGB 그래프 코드 생성기, LCD에 모터 속도와 문자들 을 표시하기 위한 RGB 문자 생성기 등으로 구성된다.

1. TFT LCD 제어기

그림 6은 LCD 타이밍 조건에 부합하도록 제어신호 들을 생성하여 TFT LCD를 구동하기 위해 VHDL로 작성한 LCD 제어기 심볼이다[6]. 표 2는 본 연구에서 사 용한 LCD의 기본사양을 보이고, 그림 7은 LCD의 스크 린 사이즈와 인터페이스 타이밍도를 보인다[8]. 50 MHz 의 FPGA 메인 클록을 2분주하여 25MHz의 LCD 구동 클록(dotclk)을 생성하고, dotclk에 동기하여 LCD 수평 동기 신호(hsync), 수직동기 신호(vsync), 데이터-인에 이블 신호(DE) 등의 LCD에 인가될 제어 신호들을 생 성한다[9]. 이외에도 필요한 픽셀 위치 정보들을 계산하 여 모니터링 모듈의 나머지 부분들에게 제공한다. 그림 7과 같이 LCD상에 속도 데이터 파형이 그려질 비트맵 영역을 설정하고, 이를 전체 LCD 스크린상의 중심에 위치하도록 배치한다면, 그림 7에 표시된 각 기준 픽셀 들의 위치 값들은 표 3과 같이 계산된다.

그림 6. TFT-LCD 제어기 Fig. 6. TFT-LCD controller.

Model LMS480KF01

screen size [pixel] 800×480 intreface 24bits rgb frame frequency [Hz] 60 (typ.) dot clock [MHz] 24.5 (typ.) supply voltage [V] 3.3 (typ.) 2. TFT-LCD 사양

Table 2. Specifications of TFT LCD.

(5)

(a) HSYNC

(b) VSYNC 그림 8. LCD 제어기 시뮬레이션 결과 Fig. 8. Simulation results of LCD controller.

그림 7. LCD 인터페이스 타이밍 Fig. 7. LCD interface timming.

그림 8은 LCD 제어기에 대한 시뮬레이션 결과를 보 이는 것으로, 기준-픽셀들의 위치 값이 표 3과 일치하 는 것을 알 수 있다. 그림 8(a)로부터 dotclk 주파수가 메인 클록(clk) 주파수의 1/2이 되고, HSYNC 펄스 발 생 타이밍이 그림 7과 일치함을 알 수 있다. 픽셀 위치 (PIXEL_X, PIXEL_Y)가 비트맵 영역의 시작위치

pixels calculation value description

X_TL (HD-bHD)/2 0 bitmab-area

top left

Y_TL (VD-bVD)/2 40

X_BR (HD+bHD)/2-1 799 bitmab-area

bottom right

Y_BR (VD+bVD)/2-1 439

X_CEN HD/2 400 bitmab-area

center

Y_CEN VD/2 240

Y_END VD+VF+VR+VB-1 493 last vertical line 3. 기준-픽셀 위치

Table 3. Reference-pixels positions.

(X_TL, Y_TL)에 도달하면 BITMAP_ON 신호가 ‘high’

가 되는 것을 보인다. 그림 8(b)로부터 VSYNC 펄스 발생 타이밍 역시 그림 7과 일치하고, PIXEL_Y의 최종 값이 표 3의 Y_END 값과 같음을 알 수 있다.

2. 오실로스코프 제어기

그림 9는 디지털 오실로스코프 제어기이고, 그림 10 에 제어기 작업 흐름을 보인다. 트리거 조건이 만족되 면 트리거 신호(OscTrigger)가 발생하고,



× 

bits DPRAM (U_dpram_2clk)의 포트-A를 통해 샘플링 기 간(LcdSamT) 마다 속도 데이터(SData)를 비트맵 영역 의 x-픽셀 개수(bHD) 만큼 DPRAM에 저장한다.(그림

(6)

그림 9. 오실로스코프 제어기 Fig. 9. Oscilloscope controller.

그림 10. 오실로스코프 제어기 작업 흐름도 (a)샘플 save (b)샘플 read

Fig. 10. Tasks-flow diagram of oscilloscope controller (a)sample save (b)sample read.

10(a)). LCD 스크린을 스캔하는 동안 픽셀 위치가 비 트맵의 시작지점에 이르면 DPRAM의 포트-B를 통해 저장된 데이터를 읽어서(SDout) RGB 발생기로 전달한 다 (그림 10(b)). DPRAM에 bHD만큼의 데이터가 저장 되면, 저장된 모든 데이터가 LCD 비트맵 영역에 표시 되기 전에 새로운 데이터 저장 사이클이 개시되지 않도 록 한다. 이를 위해, LCD 프레임 스캔의 완료 시점을 검지하고 이 이후에 새로운 데이터 저장 사이클이 시작 되도록 한다. 프레임 스캔 완료 시점은 그림 9에서 y- 픽셀 (pY)이 마지막 지점인 Y_end (Y_END)에 도달하 는 시점으로 결정한다. 이 때, 데이터 저장 사이클의 주

기가 프레임 스캔 주기보다 길 경우에는, 최소한 두 프 레임 스캔 주기 이상 대기한 후, Y_end가 검지되면 새 로 트리거 신호를 생성하고 데이터 저장을 개시한다.

DPRAM에 속도 데이터를 한 사이클 저장하는데 소 요되는 시간은 식(11)과 같고, 대기할 프레임 스캔 횟수 는 식(12)와 같이 구한다. 예를 들어, bHD, LcdSamT,

T

f를 각각 800, 2 ms, 1/60 sec 라면,

T

D,

N

f는 각각 1.6 sec, 97이 되어, 97번 프레임 스캔이 완료된 후, 새 로운 트리거 신호를 생성하고 데이터 저장을 개시한다.

비트맵 영역의 폭 bHD는 시간상으로

T

D해당한다.

= bHD × LcdSamT (11)

  (12)

bHD: 비트맵 영역 x-픽셀 수, LcdSamT: 속도 데이 터 샘플링 주기, : DPRAM에 속도 데이터 한 사 이클 저장 주기, : 한 프레임 스캔 주기, : 대기 할 프레임 스캔 횟수

그림 9에서 U_OscilloCon 블록은 LcdSamT 마다 속 도 데이터를 샘플링 하여 DPRAM에 저장하기 위한 것 이고, U_dram_read 블록은 DPRAM에 저장된 데이터 를 읽어오기 위한 블록이다. U_datascale 블록은 속도 데이터를 y-축으로 스케일링하여 표시하기 위한 블록 이다. RUN과 STOP신호를 두어 디지털 오실로스코프 의 홀드의 기능을 구현하였다.

그림 11은 오실로스코프 제어기에 대한 시뮬레이션

(7)

(a)

(b)

그림 11. 오실로스코프 제어기 시뮬레이션 결과 (a) DPRAM save 종료 시점 (b) DPRAM read 시작 시점 Fig. 11. Simulation results of oscilloscope controller. (a) end of DPRAM save (b) end of DPRAM read.

결과를 보인다. 속도 데이터 샘플링 주기는



로 하고, 샘플 데이터 크기가 5이상이면 트리거가 발생하도록 초 기 설정하였다. bHD만큼 속도 데이터가 DPRAM에 저 장되면, WEA (write enable A)신호가 ‘low’로 되고 어 드레스 카운터가 bHD 값과 동일한 800에서 정지하여 DPRAM save 작업이 종료된다 (그림 11(a)). 이 때, LCD 스캔이 아직 비트맵 영역에 도달하지 않은 상태이 다. 이후, 스캔이 계속 진행되어 x, y-픽셀 지점이 (0, 40) (X_TL, Y_TL)이 되면 비트맵 영역에 도달하고, DPRAM read 작업이 개시되어 0번지(addrb)부터 저장 된 데이터를 읽어온다 (그림 11(b)). 최초 읽어 오는 데 이터 값은 5임을 알 수 있다.

3. RGB 그래프 코드 생성기

그림 12는 3비트 RGB 그래프 코드 생성기를 보인다.

오실로스코프 제어기로부터 전달된 데이터, SDout로부 터 파형이 그려질 LCD 상의 y-픽셀 좌표를 계산하고 픽셀 좌표들에 대한 RGB 색상 코드를 생성한다. 본 연

그림 12. RGB 그래프 코드 생성기 Fig. 12. RGB graph-code generator.

구에서는 LCD RGB 인터페이스를 24비트에서 3비트로 간략화 시켜, 3비트 RGB 값에 따라 표 4와 같이 픽셀 색상이 정해지도록 하였다. 스캔 도중에 픽셀 위치 (pX, pY)가 비트맵 영역에 도달하면 bitmapon 신호가 ‘high’

가 되고, 이후, y-픽셀 값 (pY)이 SDout 값과 같아지는 지점에 도달하면 RGB 값, 100을 출력하여 해당 위치에 빨간색으로 점을 찍으며 파형을 그린다. 또한, 특정 위 치에는 RGB 값, 000을 출력하며 검정색으로 그래프의 외곽 경계와 눈금 등을 그린다.

(8)

R G B Color R G B Color

0 0 0 black 1 0 0 red

0 0 1 blue 1 0 1 magenta

0 1 0 green 1 1 0 yellow

0 1 1 cyan 1 1 1 white

4. 3 비트 RGB 테이블 Table 4. 3-bits RGB table.

비트맵 영역의 중심점 (X_CEN, Y_CEN)을 원점으로 하여 그래프를 그리는 경우, 비트맵 영역에 도시할 수 있는 모터 속도 (rpm) 범위를 구하면 다음과 같다. 식 (13)과 같이 좌표 이동하여, SDout에 해당하는 y-픽셀 위치 (pY)가 구해지고, pY가 비트맵 영역내로 제한되므 로(식 (14)) 식 (15)와 같이 SDout의 범위가 정해진다.

pY = Y_CEN – SDout = VD/2 – SDout

(13)

Y_TL < pY <Y_BR

(14)

-bVD/2+1 < SDout < bVD/2+1

(15)

SDout는 엔코더-펄스 카운트(SPDCNT)와 y-축 스 케일(scale)를 곱한 것이므로(그림 9), 식 (15)로부터 식 (16)이 구해지고, 식 (17)과 같이 엔코더-펄스 카운트의 범위가 결정된다.

-bVD/2+1 < SPDCNT×scale < bVD/2+1

(16)

(-bVD/2+1)/scale < SPDCNT < (bVD/2+1)/scale

(17)

SPDCNT로부터 모터의 속도를 환산하면 식(18)과 같고, 이를 식(17)에 대입한 후, 정리하면 식(19)가 구해 진다. 예를 들어, bVD, scale, EncPul, SpdSamT가 각 각 400 pixels, 5, 2000 pulses/rev, 1 msec 인 경우,

의 범위는 –1194 ~ 1206 rpm 이 된다.

 = SPDCNT/EncPul×60/SpdSamT

(18)

60(-bVD/2+1)/(scale×EncPul×SpdSamT)

<



<

60(bVD/2+1)/(scale×EncPul×SpdSamT)

(19)

: 모터 속도 [rpm], EncPul: 모터의 회전당 엔코 터 펄스수, SpdSamT: 속도 샘플링 주기

그림 13은 RGB 그래프 코드 생성에 대한 시뮬레이 션 결과를 보인다. x-픽셀 (pixel_x)이 343이 되는 시점

그림 13. RGB 그래프 코드 생성기 시뮬레이션 결과 Fig. 13. Simulation result of RGB graph-code generator.

에서 SDout가 90으로, 식 (13)에 의해 150 (Ydata)으로 환산되고, 이로부터 그래프가 그려질 지점의 좌표 (pixel_x, pixel_y)가 (343, 150)으로 결정된다. 따라서, 비트맵 영역내의 (343, 150) 지점에서 RGB 포트 (rgb) 로 빨간색에 해당하는 4가 출력되어야 하는데, 시뮬레 이션 결과와 일치함을 알 수 있다.

5. RGB 문자 생성기

그림 14는 모터의 회전속도를 LCD에 표시하기 위한 문자 생성 모듈을 보인다. rpm으로 환산한 모터 속도를 bcd 코드로 디코딩한 후, 해당 십진수를 폰트가 저장된 8×2048 비트 폰트-롬으로부터 불러와 비트맵 영역 외 부의 좌측 상단에 표시한다. U_text_gen 블록에 보이는 videoon 입력 신호는 x, y 픽셀 위치가 비트맵 외부에 있음을 나타내는 신호로, 이 신호가 ‘high’ 인 경우 정해 진 픽셀 위치에 폰트를 검정색으로 디스플레이 한다.

그림 14. RGB 문자 생성기 Fig. 14. RGB text generator.

V. DC 모터 PID 속도 제어 실험

PID 속도 제어기 파라미터들은 Ⅲ 장의 표 1과 같고 반복 실험을 통해 설정하였다. 그림 15는 실험 장치 사 진을 보인다. 속도 응답을 TFT-LCD 상에서 모니터링

(9)

그림 15. 실험 장치 구성

Fig. 15. Experimental device configuration.

(a) P control (

 : 780 rpm)

(b) PI control (

 : 1020 rpm)

(c) PID control (

 : 990 rpm) 그림 16. PID 속도 제어 결과 (

 : 1000 rpm) Fig. 16. Results of PID speed control.(

 : 1000 rpm).

한 결과를 보이면 그림 16과 같다. P제어의 경우 속도 오차를 보이지만 PI와 PID 제어의 경우 오차가 제거되 는 모습을 보인다. PID 제어가 PI 제어에 비해 오버슈 트가 약간 줄어들고 완만해 짐을 알 수 있다. LCD 상 단에 모터의 회전 속도를 표시하였다.

Ⅵ. 결 론

본 논문에서는 하나의 FPGA에 DC 모터 PID 속도 제어기와 TFT LCD를 이용한 모니터링 장치가 내장되 는 전-FPGA 모터 제어 시스템을 설계하고, 시뮬레이 션과 실험을 행하였다. 종래의 모터 제어 시스템에 비 하여 별도의 외부장치 없이도 실시간 모터 제어와 결과 분석이 가능한 견실하고 컴팩트한 시스템을 구성할 수 있었다. FPGA로는 Xilinx의 xc3s400을 사용하였고, DC 모터 가변속 구동을 위한 모터 드라이버와 TFT LCD 인터페이스 회로를 제작하였다. 향후에는 본 연구 결과 를 BLDC 모터의 속도 제어 시스템에 적용하여 유용성 을 확인 할 것이다.

REFERENCES

[1] Nikolic, M., Kovacevic, J., Pjevalica, N., Papp, I., and Milivojevic, N., “Real time FPGA implementation of brushless DC motor control using single current sensor,” International Symposium on Intelligent Systems and Informatics (SISY), pp. 23-27, September 2013.

[2] Lahoucine, I., Eric, M., and Amira, M., “Fully FPGA-Based Sensorless Control for Synchronous AC Drive Using an Extended Kalman Filter,” IEEE Transactions on Industrial Electronics, Vol. 59, no. 10, pp. 3908-3918, October 2012.

[3] Lahoucine, I., Eric, M., Mohamed, W. N., Antonio, P., and Kamel B., “Fully Integrated FPGA-Based Controller for Synchronous Motor Drive,” IEEE Transactions on Industrial Electronics, Vol. 56, no. 10, pp. 4006-4017, October 2009.

[4] Kim, H. G., Lee, Y. H., and Yi, C. H., “FPGA Implementation Using the PID Controller in DC Motor Systems,” Journal of The IEEK, Vol. 41, no. 2, pp. 17-24, June 2004.

[5] “Spartan-3 FPGA Family”, datasheet, Xilinx,

(10)

저 자 소 개 임 병 규(정회원)

2014년 선문대학교 정보통신 공학과 학사 졸업.

2014년 선문대학교 정보통신 공학과 석사 재학.

<주관심분야 : 회로 및 센서, 모터 제어>

강 문 호(정회원)

1990년 고려대학교 전기공학과 석사 졸업.

1995년 고려대학교 전기공학과 박사 졸업.

2014년 현재 선문대학교 정보통신 공학과 교수.

<주관심분야 : FPGA 기반 신호처리 및 제어>

Inc., DS009-4, Dec., 2009.

[6] “Altium Designer, FPGA Design Basics,”

Document Version 1.2, Altium, February, 2008.

[7] Ian Clark, “Intelligent Incremental Encoder System Development,” Original October, 2008 Updated 24th May, 2009.

[8] “Product Information, MODEL:LMS480KF01,”

datasheet, SAMSUNG Elec., 2007-08-20.

[9] Pong, P. Chu, FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version, Wiley, Chapter 12, 2008.

수치

Fig. 1. Configuration  of  a  DC  motor  speed  control  and  monitoring  system  using  a  FPGA.
그림 3. PID  제어기 Fig. 3. PID  controller.
그림 4. 게이트  펄스  생성기  (a)  DC-모터  드라이브  (b)  데드타임  발생  원리  (c)  게이트  펄스  생성기 Fig. 4. Gate  pulses  generator
그림 7. LCD  인터페이스  타이밍 Fig. 7. LCD  interface  timming.
+4

참조

관련 문서

25 Temperature Contour Maps on the MEMS-based Black Body Surface at Cold Case ((a) Heating Range, (b) Cooling Range) ··· 61 Fig.. 26 Temperature Profiles of MEMS-based Black

 The developed FPGA based high-speed multi-channel DAQ system includes smoothing, triggering, and pulse height measurement.  Considering the stable performance and

Just as we achieved good control with a joint-based controller that was based on a linearizing and decoupling model of the arm, we can do the same for the Cartesian case.

A Method for Line Parameter Estimation of Unbalanced Distribution System based on Forward/Backward Sweep Using..

In order to derive a new fuzzy controller, a fixed design-parameter fuzzy PID controller was surveyed in view of deriving a control law based on the

Development of an FPGA-based Message Delivery System using Visible Light Communication Link..

Under this rule, motor vehicle and motor vehicle equipment manufacturers will be required to include in their programs to remedy a safety-related defect or a noncompliance

In this thesis, P controller for pitch controller of outer loop control system and PD controller for fin controller of inner loop control system are