AC Servo motor 제어
본 자료는 8페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
해당 자료는 8페이지 까지만 미리보기를 제공합니다.
8페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

AC Servo motor 제어에 대한 보고서 자료입니다.

목차

PART Ⅰ : 모터의 속도제어 폐루프 주파수 응답

PART Ⅱ : Ball-Screw/Motor 시스템의 위치제어 실험.

● 고 찰

본문내용

Phase의 값과 -180과의 차이로
구할 수 있다. 그러므로 -180과 -95의 차이를 구하면 약 85도의 phase
Margin을 구할 수 있다. 따라서 시스템은 안정함을 확인 할 수 있었다.
Matlab code
%Bode plot
sys_op = tf(209.952*[1], [1 29.16 52.4]);
[mag_op, phase_op, w_op]= bode(sys_op, {1/10, 100});
for n=1:42
pha2(n)=phase_op(1,1,n);
mag2(n)=db(mag_op(1,1,n));
end
%plot
figure(1);
%Magnitude
subplot(2,1,1);
semilogx(w_op, mag2, \'r\', \'LineWidth\', 2);
axis([1/100 1000 -80 40]);
title(\'Bode plot\');
ylabel(\'Magnitude[dB]\');
legend(\'O.L.T.F\');
hold on
%phase
subplot(2,1,2);
semilogx(w_op, pha2, \'r\', \'LineWidth\', 2);
axis([1/100 1000 -180 20]);
xlabel(\'Frequency[rad/sec]\');
ylabel(\'Phase[deg]\');
legend(\'O.L.T.F\');
PART Ⅱ : Ball-Screw/Motor 시스템의 위치제어 실험.
1.모터 드라이버를 위치제어 모드로 설정하고 Auto-Tuning 기능을 이용하여 제어이득을 Tuning 하시오.
시스템 게인과 튜닝 속도 및 기타부분을 다음과 같이 설정해주었다.
Smart Jog의 설정메뉴에서 D/A Monitoring은 5번으로 설정해주었다.
2.Ball-Screw/Motor 시스템의 질량을 왼쪽 끝으로 이동한 상태에서 Ball-Screw 오른쪽 끝단 5cm 전방에 질량의 오른쪽 끝을 위치시키도록 제어 해 보시오. (모터 드라이버에 Pulse를 입력 시키는 개루프(open loop) 제어 수행, 제어 명령 대비 출력 변위를 Plot 하여 제출 할 것.)
다음과 같이 시뮬링크를 구성했다.
움직이는 부분이 끝에서 5cm 부분에 오게 하려면 대략 43.3cm를 이동하면 된다. 그리고 Ball Screw는 한바퀴 돌때마다 2cm를 이동한다. 또한 모터에는 1회전에 2048개의 pulse가 출력된다. 따라서 43.3cm를 이동한다는 것은 43.3 x 104.4 x 10 = 44340 Pulse를 출력한다는 의미이다. Pulse는 5V, 주기는 0.0002초(Duty비=50%)로 해주었다. 모든 pulse가 나가면 sample switch로 pulse를 차단하고 0을 내보낸다. Sample switch에는 delay를 3초로 설정해주었다. 따라서 총 (44340+15000) x 2 = 118680Pulse를 입력해주었다. 여기서 15000은 3초간의 Delay에 의한 펄스값으로 그 이유는 1초당 5000Pulse 정도가 출력되기 때문이다. 시뮬링크에서 Gain1은 반대방향으로 움직이기 때문에 -1로 해주고 Gain2는 rpm을 위치로 변환시켜 주기위해 50으로 해주었다. 따라서 50rpm에 1V가 출력된다. 그리고 한바퀴 돌 때 2cm를 움직이므로 Gain3은 2/60으로 설정해주었다. 펄스가 나오지 않을 때에는 (-)전압이 조금 발생하는데 실제 실험에서 이 수치는 평균적으로 -0.23V가 나왔다 따라서 시뮬링크를 구성할 때 0.23의 값을 Gain1과 Gain2 사이에 더해주어 보상해주었다. 아래 사진은 Scope를 따로 만들어서 -0.23V를 측정한 결과이다.
모터에 대한 펄스입력 형태는 Control Mode설정에서 위치 명령 펄스 형태를 8번의 부호+펄스(정 논리)로 해주었다. 다음의 사진은 각 부분을 설정해 준 사진이다.
그리고 연결 시 SIGN과 PULS는 그라운드에 연결하고, SIGN 입력단자에는 방향을 입력하기 위해 5V를 넣어주어 Analog Ouput 1번에 연결, PULS는 pulse를 입력해 Analog Ouput 2번 채널에 연결해주었다. 아래 사진은 입력해 준 펄스파를 오실로스코프로 찍어 본 사진이다.
모터를 5cm 전방에 멈추게 한 사진도 첨부하였습니다.
시간 지연을 3초 주었다. 3초 후에 펄스가 출력되어서 위의 계산식과 같은 값 43.3cm의 값이 출력됨을 확인 할 수 있다. 하지만, 실제적으로 측정된 위치값은 43.49로 약간의 오차를 발생시켰다. 이것은 출력 속도 전압 노이즈에 의해 적분 오차값이 쌓여서, Order 값보다 약간 많이 발생한 것으로 보인다. 하지만 실제 오차는 0.19cm로 아주 작은 값임을 확인 할 수 있다.
3. 모터 드라이버의 Feedforward 제어모드를 위치제어에 동시에 사용하여 2 에서와 같은 제어를 수행하고, Feedforward 제어기를 사용하지 않았을 경우와 결과를 비교하시오.(같은 plot에 Feedforward 제어모드를 사용한 경우와 아닌 경우 결과를 나타내시오)
Feedforward 제어모드를 다음과 같이 설정해주었다.
Feedforward gain 값이 ‘0’일 때와 ‘100’일 때의 응답시간 비교
Feedward 제어모드를 사용한 경우와 그렇지 않은 경우를 비교하면 위의 그래프를 보면 확인 할 수 있듯이, Feedforward 제어모드가 더 빠른 응답을 보임을 확인 할 수 있다.
● 고 찰
1번 실험을 통해 Bode plot을 그리는 방법과 Nyquist plot을 Matlab으로 그려봄으로서 AC Servo Mortor가 Linear 하다는 점을 알 수 있었다. 이는 주파수가 각기 다른 입력에 대해서 Bode plot이 유사하게 나왔다는 점에서 더욱 명확히 알게 되었다. 또한 Gain Margin과 Phase Margin을 통해 시스템의 안정성도 확인해 볼 수 있었다. 2번 실험은 AC Servo Mortor를 Step Mortor와 같이 제어해보는 실험이였는데 펄스의 개수를 조절해줌으로서 모터의 출력이 안정되게 나오고 따라서 모터의 위치제어가 가능하다는 것을 알게 되었다. Feedforward 제어를 통해서는 보상게인을 통해 원하는 Desire값과 실제값 과의 차이를 거의
  • 가격3,000
  • 페이지수25페이지
  • 등록일2011.12.13
  • 저작시기2011.1
  • 파일형식한글(hwp)
  • 자료번호#720127
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니