728x90

1. ATmega128 개발장비

1) Atemga128 보드

- ATemga128 마이크로 컨트롤러가 장착된 보드, 회로도 준비

- ATmega128 내부 컨트롤러이해 중요

ATmega128 보드들

 

- 사용하려는 소자 or 장치가 어떤 핀에 연결되어있는지 확인하기 위해 회로도를 알아야함

ATmega128 회로도

 

- 핀 C에 LED 8개가 전원과 연결 -> PC의 n번 비트가 0이면 해당 비트 LED에 불이 들어옴

ATmega128 LED 회로

 

ISP In System Program

- Atmega128 내부 플래시 메모리에 다운르도 하는 장치

 ex) AVR ISP mkII, STK500, JTAGICE mkII

- ISP : 프로그램 다운로더

- JTAG : 프로그램 다운로드 + 소스 코드 레벨 디버깅

AVR ISP mkII

 

 ISP 커넥터

- ISP는 제조사마다 핀맵이 다르므로 ATmega128 보드와 ISP간 핀맵이 일치하는 것을 사용해야함

AVR ISP mkII
STK 600

 

 

개발 장비 구성

- 개발 호스트 : 개인 PC or 노트북 - hex 파일 준비

- ISP 장비 : 타겟 시스템과 핀맵이 일치하는 ISP 준비

- 타겟 시스템 : ATmega128이 장착된 보드

 

1. 예제 프로그램

- DDRC = 0xFF -> 핀 C들의 모든 비트를 출력 모드로

- PORTC = 0x00; 핀 C의 모든 비트 출력 0->전류가 흘러 LED 켜짐

- PORTC = 0xFF; 핀 C의 모든 비트 출력 1->전위차가 같아져 전류 안흐름 -> LED 꺼짐

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	DDRC = 0xFF;
    while (1)
    {
    	PORTC = 0x00;
        _delay_ms(200);
        PORTC = 0xFF;
        _delay_ms(200);
    }
    return 1;
}

 

 

ATmega128 LED 회로

 

2. 빌드 하여 핵사코드 생성

 

3. 파일 다운로드

- Tools > Device Programming

- Tool에 ISP 장치 선택 ex) AVRISP mkII

- Device에 ATmega128 설정

- memories 메뉴 선택

- Flash 경로를 생성한 헥스코드 선택

- 프로그램 버튼 클릭

 

4. 다운로드 결과

300x250
728x90

서스펜션 제어 시스템

- 자동차의 흔들림이나 충격을 최소한으로 억제

=> 주행 중 흔들림을 줄여줌

 

 

자동차 서스펜션 모델링 - 운동방정식

1. 가정

- 질량 M1인 차체가

- 질량 M2인 자동차 현가장치(서스펜션)와 스프링, 댐퍼로 연결되어 있고

- 서스팬션은 타이어(또다른 스프링과 뎀퍼 모델)를 통해 지면과 연결

- 차체와 서스펜션 사이에는 둘 사이의 간격을 조절해 주는 능동형 엑추에이터가 있어 힘 u를 줄 수 있음,

* 차체의 변위 X1

* 서스팬션의 변위 X2

* 지면 변화에 의한 입력 W

 

차체의 질량 M1, 서스펜션의 질량 M2

두 질량에 대한 운동 방정식

 

전달함수

- U. W를 입력

- X1-X2를 출력으로하는 전달함수 G1과 G2를 구함

 

- 파라미터 가정

M1=250kg

K1=8000N/m

b1=30Ns/m

M2=100kg

K2=50000N/m

b2=1500Ns/m

 

- 성능 지수

W=0.1m 스텝입력

- X1-X2의 정착시간(W+-1%) < 5초

- X1-X2의 퍼센트 오버슈트 < W의 5%

-> X1-의 X2 정상상태 과도응답 특성이 W에 무관하게 0에 가까운것이 목표

 

 

개루프 시스템 스텝 응답 1

- U가 입력, W=0

- 정착시간 +- 1% = 37초

- 퍼센트 오버슈트 80% -  최대 오버슈트 = 0.000225로 정상상태응답 0.000123의 +80% 

- 정착시간과 퍼센트오버슈트 줄이기 위한 제어기 필요

 

 

개루프 시스템 스텝 응답 2

- 지면 입력 W=0.1m, 엑추에이터 U=0

=> 정착시간 5초, PO 5%이내가 되도록 제어기 필요

앞섬 제어기 설계

- 자동치 서스페션 시스템 과도응답 특성을 개선해야함 -> 앞섬제어기 사용

1. 현 시스템 보드 선도 평가

 - 보드선도의 크기 값들이 0dB 보다 너무 낮음 -> 보드를 적절한 페이스 마진을 갖도록 쉬프트 해야함

 

2. 크기에 게인 K를 곱해 저주파에서 0dB부근으로 시프트 시킴

- -80dB -> 0dB로 옮기고자함

-  20 log 10^4 = 80dB

-> K=10^4으로 준다

=> 저주파 영역이 0dB로 올라옴

 

3. 페이스 마진 구하기

- 크기 0dB의 주파수 6.62에 대한 위상여유를 볼 수 있음

위상여유

- w_c =7도 부근에 위상여유가 10도에 불가함

-> 두개의 앞섬제어기 사용

-> 7도 근처에 위상여유 140도 추가

(한 제어기당 70도)

 

 

앞섬 제어기 설계

 

- 페이즈 마진이 크게 상승함

300x250
728x90

자동차 크루즈 컨트롤 설계

- 자동차가 일정 속도로 주행에 필요한 기능

 

목표

- 자동차 크루즈의 동적 모델링

- 과도 응답, 정상상태 응답 성능을 만족하는 크루즈 컨트롤 설계

 

 

 

크루즈 모델링 - 운동방정식

1.가정

-  질량 m인 자동차가

- 입력 u(엔진에의한 추력)을 받아 속도 v로 달릴때

- 속도에 비례한 공기저항( 공기저항 계수, b)를 받는다면

 

크루즈 모델링 - 상태 공간

- 자동차 크루즈는 정속 주행을 위한 장비

- 속도 v를 상태변수 x로 가정

크루즈 모델링 - 전달 함수

- 초기 조건 0으로 설정

- 자동차 운동방정식에 라플라스 변환 적용

- 입출력의 비 전달함수 구함

 

파라미터 및 성능 지수

1) 자동차 파라미터 가정

 - 질량 m = 1000kg

 - 공기저항계수 b = 40 Ns/M

 - 추력 u = 400N

2) 설계 성능 지수 가정

 - 상승 시간 < 5초

 - 퍼센트 오버슈트 < 10%

 - 정상상태 오차 < 2%

 

 

예시 - 속도가 100km/h로 달려야 되는경우

 

개루프 시스템 분석

- 상승 시간 : 50초 이상 걸림

- 퍼센트 오버슈트 : 0%

- 정상상태 오차 : 0%

- 상승시간 단축하는 제어기 필요

 

 

 

 

1. PID 제어기 - 상승시간 제어

2. 비례제어기(상승시간 제어), 뒤짐제어기(정상상태 오차 제어)  설계

 

 

 

 

PID 제어기로 설계

1. 비례제어기

- 비례제어기로 성능 지수 달성 가능 여부 탐색

C(s) = Kp인 비례제어를 가정하고 근궤적을 그리면

- Kp = 0 라고 가정하면 개루프 전달함수의 극점 -0.04에서 부터 음의 방향으로 증가

 -> Kp가클수록 상승시간 단축

 

 

Kp=4000인 경우 폐루프 시스템의 스텝응답

- 10m/s를 달성하기 위한 상승시간과 과도응답 특성

- 문제

 현실적으로 1초 안에 10m/s도달은 불가능

 -> 비례제어 상수 (Kp=700), 적분 제어(ki=1) 추가

 

Kp=4000일때 pid 함수 사용

 

 

적분제어 추가

- Kp=700, Ki=1로 변경

- 상승시간 4초로 5초이내 만족

- 퍼센트 오버슈트도 0%로 5%이내 만족

- 정상상태 오차가 10-9.5/10=0.5/10=> 5%로 2% 달성 못함

 

 

비례 제어기와 뒤짐 제어기 설계 - 비례제어기

- 상승시간과 오버슈트 성능이 주어졌으므로 폐루프 시스템 근의 위치를 정할 수 있음

설계 과정

- MATLAB 명령어 sgrid 사용

- 고유진동수는 0.36이상, 댐핑비는 0.6인 지역을 시각적으로 근궤적을 나타나게함

- Kp=360인 근의 위치 -0.4를 선택

 

Kp=360인 폐루프 시스템의 스텝 응답

- 상승 시간 약 5초정도로 만족

- 정상상태오차 10%로 불만족

=> 정상상태오차 개선을 위해 뒤짐 제어기 추가

뒤짐 제어기 설계

- 정상상태 오차를 현재의 10% 줄이기로 설정

- 제어기 영점을 0.3, 극점을 0.03으로 하면

- 제어기를 포함한 시스템의 근궤적에서 과도응답 성능을 만족하는 Kp= 1330을 정함

 -> 보상기를 포함한 개루프의 근궤적선 극점이 -0.4인 지점의 게인이 1.330 이므로

 

비례 제어기와 뒤짐 제어기로 보상한 시스템의 스텝 응답

- 상승 시간 1.2초로 만족

- 오버슈트 11 m/s로 퍼센트 오버슈트 10% 만족

- 정상상태응답 10으로 2%이내 만족

 

300x250
728x90

주파수 응답

- 시스템에 주파수 입력 sin wnt을 주는 경우 출력 응답

 

주파수 응답 해석을 이용한 시스템 설계

- 시스템 성능 및 안정도를 간편하고 쉽게 보정

- 상대 안정도 및 안정도-강인성 문제 고려시 유용

 

 

주파수 대역 설계 방법 특성

- 시스템 성능 및 안정도를 간편하고 쉽게 보정

- 주파수 대역 성능과 상대 안정도, 안정도-강인성 문제 고려시 우용

- 루프 형상 보정 -> 보드 선도나 나이퀴스트 선도 같은 주파수 응답 선도에 표시된 개루프 시스템의 주파수 응답 특성을 개선시킬수 있음

- 저주파 영역 => 정상상태 거동

- 게인 교차 주파수 근처 중간 주파수 영역 => 상대안정도

- 고주파역(센서 잡음들이 고주파대역으로 들어오므로) => 센서 잡음에 대한 저감소

 

 

 

주파수역 제어시스템 설계 절차

1. 개루프 시스템 게인 조정

 -> 보드 선도에서 요구되는 정상상태 응답 특성이 충조고디도록 위함

2. 개루프 시스템 게인만 조정된 개루프 시스템의 보드 선도 작도

3. 위상 및 게인 여유를 만족할수 있는 적절한 제어기 첨가

4. 폐루프 시스템의 과도응답 특성 평가

5. 만족스러운 결과를 얻을때까지 제어 시스템 설계 및 해석 과정 반복

 

 

 

앞섬 제어기 용도

- 시스템 응답속도 개선 -> 과도응답 개선 목표

- 정상상태에서 정확도를 어느정도 개선하고자 할때 사용

 * 극점 첨가로 적분 효과 ->

 

앞섬제어기 설계

- 앞섬제어기의 극점은 영점 왼편에 존재

앞섬 제어기의 나이퀴스트 선도

- 크기 |G(s)|, 위상 <G(s)

- w=0일때 위상 0, 크기는 최소 alpha

- w=w_m일때 위상각 phi_m이 최대가 됨

- w= inf가 되면 위상 0, 크기는 1

앞섬 제어기의 나이퀴스트 선도

 

 

 

극점과 영점

- 극점이 영점 앞에 -> 위상 앞섬(Phase Lead) 발생 -> 고주파 통과 필터 역활

- alpha 값이 작을수록 극점은 왼쪽 멀리 위치

- 하드웨어적인 문제로 실제 alpha의 최소값은 0.07

 

앞섬 제어기의 보드 선도

- w=w_m 일때 위상 <G(jw)가 최대

- 저주파 대역에서 크기가 작고, 고주파 대역에서 크기가 큼

- w=w_m을 기준으로 좌측은 저주파, 우측은 고주파 영역

 

앞섬 제어기의 보드 선도

 

 

 

주파수 응답을 이용한 앞섬 제어기 설계 절차

1. 정상상태 오차를 만족하기 위한 루프 게인 K 선정

2. 필요시 추가 위상섬각 결정

* 플랜트 전달함수 G(s)에 루프 게인 K를 곱한 KG(s)에 대한 게인 및 위상 여유를 Bode 선도로 알아보고 요구되는 상대안정도를 만족하기 위함

3. 필요한 추가 위상앞섬각을 얻을수 있는 alpha 선정

4. 적절한 T값 선정

5. 앞섬 제어기의 절점 주파수 1/T와 1/alpha T를 정함

 - 최대 위상 앞섬각 phi_m이 새로운 게인 교차 주파수에 위치하도록 함

6. 만족한 결과를 얻을 때 까지 반복 수행 

 - 게인 여유가 충족되지 않도록 제어기의 영점 및 극점을 재배치 하며 설계 반복

 

 

앞섬 제어기 설계 예

- 속도 오차 상수 K_v = 20, 위상 여유 = 50도, 게인 여유 = 10 dB인 앞섬 제어기 설계

1.. 속도 오차 상수로 정상상태 응답에 관한 설계 사양을 만족하는 제어기 게인 K_c = 3 선정

* 속도 오차 상수 K_v는 과도응답 특성 중 r(t)=t 램프입력일때 출력과 오차를 e_ssv라 하며 K_v=1/ess_v 

2. K_c=3을 포함한 제어기의 보드 선도

- 보드 플롯을 그려 게인 마진과 페이스 마진이 원하는 사양을 만족하는지 아니면 얼마나 게인을 보강해야하는지 판단해야함

 2.1 크기가 0일때 주파수와 해당 주파수의 위상 찾기

- 게인교차주파수 w_g = 5.37 rad/sec

- 시스템 위상 : <KcG(jw_g) = -164

 => 시스템 위상 여유 : -164 + 180 = 16도 -> 기준 위상 여우 50보다 34도 정도 작다

- 게인 마진 : 위상이 -180도 일때 수렴 -> inf => 이미 10db 이상 만족함

 

설계 사양 (위상 여유 50도)를 만족하기 위해 앞섬제어기 첨가

 - 위상 앞섬각, phi_m = 34 + 5(여유) = 39

 - 위상 앞섬 제어기 파라미터 선정

 * 앞섬 제어기의 나이퀴스트 선도로 위상 앞섬각 phi_m을 이용하여 앞섬 제어기의 alpha를 구할 수 있다

 

Bode 선도에서 크기가 -6.51dB를 만족시키는 주파수

- 새로운 게인 교차 주파수 w_c = 7.9 (rad/s)

절점 주파수를 구하기 위해

설계 사양을 만족하는 설계된 앞섬 제어기 K(s)

 

 

 

K(s)G(s)의 보드 선도

- 목표 : 페이즈 마진 = 50도, 게인 마진 = 10도

- mg=0 -> w_c=7.38이며, 이때 180-130 으로 페이즈 마진 만족

- 위상 180도일때 수렴하므로 게인 마진도 10도 안으로 만족

 

 

보상된 시스템과 비보상된 시스템의 단위 스텝 응답 (과도 응답 특성)

- 보상전 시스템은 정착시간이 6~7초 정도이나 보상된 시스템은 1초 안에 정착하며 오버슈트도 크게 줄어듬

=>과도응답 특성이 상당히 개선됨

300x250
728x90

 ATmega 128

- 마이크로 컨트롤러

* 마이크로 컨트롤러 = CPU Core (Architecture) + CPU Peripheral(Controllers)

-> 마이크로 프로세서 단독으로 있는게 아니라 주변장치 포함

주변장치 예시 : 타이머/카운터, TWI(I2C), ADC, USART, SPI, 메모리, 발진회로 등

마이크로 프로세서와 주변장치 => 마이크로 컨트롤러

 

마이크로 컨트롤러로 할수 있는 일?

- 대부분의 제어 가능

 -> 모든 제품들은 마이크로 컨트롤러 내장

ex) 드론, 로봇, 냉장고, 세탁기, 차량 등

 

ATmega 128 의 특징

- 데이터 시트로 확인 가능

1. 뛰어난 성능 (Advanced RISC Architecture)

 - Most single clock cycle execution -> 대부분의 명령들을 한 클럭만에 실행 가능

 - 32 * 8 bit 범용 레지스터 : 8비트 범용 레지스터 32개 내장 -> 고속 접근 가능한 범용 목적 8비트 메모리가 32개

 

2. 많은 메모리(Program 메모리, Data 메모리)

- 128 KB Flash (프로그램=명령어 메모리)

- 4 KB SRAM, 4KB EEPROM (데이터 메모리)

 

3. 다양한 주변장치 지원

- Timer/Counter 4개(8비트 카운터 2개, 16비트 카운터 2개), TWI(I2C) 2포트, 10bit ADC

- USART(비동기 통신) 2채널, SPI(주변장치용 직렬 통신 인터페이스), On-chip Oscillator(=8MHz, 발진기)

* 프로그램 다운로더 ISP 장비는 SPI 프로토콜로 플래시 메모리에 프로그램을 write 한다.

- ATmega128 : 0~16 MHz / 4.5 ~ 5.5V

- ATmega128L : 0~8 MHz / 2.7 ~ 5.5V(저전력에서 동작)

ATmega 128 데이터 시트

 

 

ATmega128 내부 구조

- ATmega128의 핀 구조, 내부 버스에 연결된 컨트롤러를 보여주는 회로도

 

ATmega 128 코어 부분

- 32개의 8비트 범용 레지스터가 연산장치 ALU와 연결

- 데이터 메모리 SRAM과 EEPROM가 데이터 버스와 연결

- 좌측에 프로그램 메모리 플레시 메모리가 존재 

 

 

프로그램 메모리 플래시 메모리의 메모리 맵

- 부트 플래시 섹션과 어플리케이션 플래시 세션으로 나뉨

- 부트 플래시 세션 : 부트 로더

- 어플리케이션 플래시 세션 : 프로그램 저장

- 16비트로 명령어들이 저장

128KB 프로그램 메모리맵

데이터 메모리맵

- 32개 범용 레지스터, 64개 IO 레지스터은 동일

- ATmega 128은 IO 레지스터 160개 확장 가능

- 내부 SRAM 8비트 크기의 4096개

 

A=Atmega128, B=103 호환보드 데이타 메모리맵

폰노이만 구조

- CPU와 메모리 사이에 물리적으로 하나의 버스만 존재

- Von Neumann Bottleneck 발생

- 프로세서 <-주소/데이터 버스 -> 코드

 

하버드 구조

- 명령어와 데이터 버스가 분리되어 동시에 패치 가능

- 코드(명령어) <-주소/데이터-> 프로세서 <- 주소/데이터 -> 데이터

 

 

 

프로세서 구조

RISC(Reduced Instruction Set Computer)

- 하드웨어 구조가 단순함 -> 저전력 -> 모바일 장치에 적합

- 모든 명령어 길이가 동일 -> 코드 사이즈가 커짐

- Load Store Architecture로 많은 레지스터가 필요

- ATmega64, ATmega128, ARM, MIPS

 

CISC(Complex Instruction Set Computer)

- 복잡한 하드웨어 구조

- 명령어 마다 길이가 다름 -> 코드 사이즈가 작음

- RISC에 비해 작은 레지스터가 필요

- intel 8056, x86

 

 

일반적인 마이크로 컨트롤러 구조

- 고성능 마이크로 컨트롤러 = RISC + 하버드 구조 + 레지스터 중심

- 레지스터 중심 구조

  1. 처리 속도 향상

  2. 코드 사이즈가 작음

  3. C언어 개발에 유리

 

 

 

 

CISC와 RISC 연산의 예

- 연산 예시 : A = B + C + D;

- CISC Type : 하나의 명령어로 여러번 ALU 연산

  ADD R16, Mem[B], Mem[C];

  ADD Mem[A], Mem[D], R16

- RISC Type : 하나의 명령에서에서 하나의 ALU 연산만 가능

  LDI R17, Mem[B]

  LDI R18, Mem[C}

  LDI R19, Mem[D]

  ADD R16, R17

  ADD R16, R18

  ADD R16, R19

 

파이프라인 동작

- RISC의 경우 하드웨어 구현이 간단하며 명령어 길이들이 동일함

- 파이프라인 사용하지 않을 시 동작 -> 작업 1개가 끝나야 다음 작업 수행(다른 작업들은 대기)

- 파이프라인 사용 시 -> 명령어 대기 시간 없이 다른 작업들을 동시에 수행

 

ATmega128 명령 처리 과정

- ATmega128은 2단계 파이프라인 구조로 설계됨

- 1주기 안에 명령어 1개 수행

명령어 인출과 실행 동작
1 사이클 ALU 동작

 

ATmega 128 핀구조

- ATmega128은 전체 64개의 핀

- 프로그래밍 가능한 입출력 포트는 53개

 PA, PB, PC, PD, PE, PF, PG까지 53개

ATmega128 핀

 

입출력 포트 제어 관련 IO 레지스터

- 각 핀 1개에 입출력 레지스터 3개가 배당 -> DDR, PORT, PIN 레지스터

 

Data Direct Register DDRx Register

- 해당 핀의 입력/출력 모드 설정

- 해당 핀의 특정 비트가 0이면 입력 설정, 1이면 출력 설정

ex) PA의 0번 비트를 출력 설정시 -> *DDRA=0x00000001;

ex) PA의 0~3번 비트를 출력 설정시 -> *DDRA=0x00001111;

Data Direction Register

 

PORTx Register

- 해당 핀에 high를 출력할지 low를 출력할지 설정

- 0일시 0V output, 1의경우 5V output

PORT Register

 

PINx Register

- 핀으로부터 데이터 입력을 받는 레지스터

PIN Register

 

입출력 핀 구조

- DDR이 1로 설정 시 PORT의 값이 핀으로 출력

- DDR이 0으로 설정시 핀으로부터 입력을 PIN 레지스터에 저장됨

 

병렬 입출력 포트 기본 구조 1 - 핀 방향이 출력인 경우

 

병렬 입출력 포트 기본 구조 2 - 핀 방향이 입력인 경우
입출력 핀 구조

300x250

'로봇 > 전기전자&메카' 카테고리의 다른 글

vmlab 다운로드  (0) 2020.05.12
마이크로프로세서 메카트로닉스 제어 - 2 개발 환경 구축  (0) 2020.05.12
전자 회로  (0) 2020.04.22
전기수학3  (0) 2020.04.21
전기 수학2  (0) 2020.04.21
728x90

주파수 응답을 이용한 시스템 안정성 판별법

- 나이퀴스트 선도와 보드 선도를 이용

=> 시스템 동적 특성중 가장 중요

 

 

나이퀴스트 안정도 판별법

- 폐루프 제어 시스템 안정도 판별할수 있는 방법

 

나이퀴스트 안정도 판별법 특징

1. 불안정한 폐루프 극점 갯수를 판정 가능

 - 폐루프 전달함수 구할때 극점 중 허수측 우측에 있는 극점들이 불안정한 극점

2. 시스템 상대 안정도를 시각적으로 알 수 있음

 -> 필요시 시스템안정도 개선방법을 제안 가능

3. 시스템의 주파수 응답에 대한 정보를 제공

4. 수송 지연 요소를 포함한 시스템 안정도 해석에 적합한

5. 안정도-강인성 이론의 기본 개념

 

 

편각의 원리 printciple of argument

복소 함수 f(s)

- C : s평면에서 폐쇠된 시계방향의 컨투어(contour) 윤곽선

- f(s) : 한 복소 평면에서 다른 복소 평면으로 사상할수 있는 해석하수

 

f(s)의 성질

- f(s)는 컨투어 C 상에서 해석적임

- f(s)는 컨투어 C 내부에 Z개의 영점을 가짐

- f(s)는 컨투어 C 내부에 P개의 극점을 가짐

 

복소함수 f(s) 사상

-  s 평면 컨투어 C는 내부에 극점 1개와 영점 1개를 포함함

s 복소평면에서 f(s) 복소 평면으로 사상

 

컨투어 C를 복소함수 f(s)로 사상할때 상 C_m의 성질

- 복소 평면에서 폐쇄된 컨투어를 만듬

- 컨투어 C_m은 원점을 시계 방향으로 Z-P번 둘러싸고 있음

 -> 컨투어 C가 극점이나 영점을 둘러싸지 않으면 컨투어 C_m은 원점을 0-0번 둘러쌈

 

 

편각의 원리

- N(0, f(s), C) = Z - P

- 폐쇄된 시계빵향 컨투어 C를 복소 함수 f(s)로 사상한 C_m이

  복소수 점 a를 시계방향으로 둘러싸는 횟수를 N(a, f(s), C)=Z-P로 나타냄

- a=0 -> N(0, f(s), C) -> 컨투어 C를 f(s)로 사상한 C_m이 원점에 대한 둘러싸는 횟수를 의미

 

 

복소 함수 f(s)= f1(s) * f2(s) 일때

- N(0, f(s), C) = N(0, f1(s), C) + N(0, f2(s), C)

                 = (Z_1 - P_1) + (Z_2 - P_2)

 

 

나이퀴스트 컨투어 D

- 우반 s 평면 전체를 둘러싸는 반지름이 inf인 반원을 그리는 폐쇄된 시계방향의 컨투어

  => 허수축 우측 전체를 감싸는 컨투어 D

 * 허수축 우측에 극이 존재하면 불안정함

- 폐루프 시스템의 특성 방정식과 극점 다항식

- 폐루프 시스템이 안정하기 위해 폐루프 극점 다항식 phi_cl(s)의 영점이 컨투어 D 내에 있으면 안됨(Z=0)

- phi_cl(s)는 분자로만 이루어진 다항식이므로 극점이 없음(P=0)

 

식으로 정리

- N(0, phi_cl(s), D) =0 = N(0, phi_ol(s) (1 + G(s)), D)

 = N(0, phi_ol(s), D) + N(0, 1 + G(s), D) = 0

=> 오픈 루프 다항식으로 이루어진 평면에서 컨투어 D가 원점을 둘러싼 횟수

 + 1+G(s) 다항식으로 이루어진 평면에서 컨투어 D가 원점을 둘러싼 횟수 = 0 이여야 한다.

 

나이퀴스트 컨투어 D

 

 

개루프 극점 다항식

는 나이퀴스트 컨투어 D 내부에 존재하는 개루프 극점, 즉 불안정한 개루프 극점의 개수 (P_u)임

- 두 갯수의 합은 0이여야 하므로 N(0, phi_ol(s), D) = P_u라면 N(0, 1+G(s), D)=-P_u여야 함

 

 

 

ex) 폐루프 극점이 나이퀴스트 컨투어 D 내부, 불안정한 영역에 Z개 존재한다면?

 

 

나이퀴스트 안정도 판별법 응용 1 - 안정한 시스템

- 극점 3개

- t1, t2 > 0 이므로 모든 극점은 허수축 우측에 존재하지 않음 -> P_u =0

- -1을 둘러싸는 횟수는 없으므로  N = 0

- 불안정한 극점의 갯수 Z = N + Pu = 0

 

 

- -1을 둘러싼 횟수 N=2 (작은원, 큰원)

- P_u = N(0, G(s), D) -> P_u는 우측 컨투어 D가 감싸는 횟수 -> P_u = 0

- Z = P_u + N = 2 -> 불안정한 극점의 갯수 2개

 

나이퀴스트 안정도 판별법 응용 2 - 안정 시스템

- T1, T2, T3이 0보다 크므로 -> N(0, G(s), D) =0 -> P_u = 0이 된다.

- -1을 감싸는 횟수가 없으므로 N = 0

=> 불안정한 근의 갯수 Z = N + P_u = 0

나이퀴스트 안정도 판별법 응용 2 - 불안정 시스템

- T1, T2, T3은 0보다 크므로, 허수 축 우측에 근이 존재 x -> P_u = N(0, G(s), D) = 0

- N(-1, G(s), D) 컨투어 D가 -1을 시계방향으로 감싸는 횟수는 작은원 1번 큰원 1번 -> N = 2

=> 불안정한 근의 갯수 Z = P_u + N = 0 + 2 = 2 

 

나이퀴스트 안정도 판별법 응용 3 - 안정 시스템

- T1이 양수이면 극점은 양의 값이 되므로 -> P_u = 1

- 컨투어 D는 -1의 반시계 방향으로 1번 감쌈 -> -1

=> Z = -1 + 1 = 0

 

나이퀴스트 안정도 판별법 응용 3 - 불안정 시스템

- T1이 양수이면 극점은 양의 값을 가짐 -> P_u = 1

- -1을 감싸는 컨투어가 존재하지 않음 -> N = 0

- 불안정한 극점의 갯수 Z = 0 + 1 = 1

300x250
728x90

나이퀴스트 선도

- 주파수가 0~inf  범위에서 주파수 전달함수의 크기와 위상을 극좌표계에서 나타낸 것

-> 주파수 응답 크기와 위상을 극좌표계 하나의 좌표계로 표현 가능

* bode 선도 주파수 전달함수의 크기와 위상을 각각의 직교좌표계에서 표현한것

 

나이퀴스트 선도

- 주파수 w(0<=w<=inf)에 따른 개루프 전달함수 G(jw)의 크기 |G(jw)|와 위상 <G(jw)를 극좌표계상에 표시한선도

-> 한개의 선도로 모든 주파수에 대한 시스템 주파수 응답 특성을 파악할 수 있음

-> 시스템 각 요소가 주파수 응답에 미치는 영향을 분명하게 알려주지는 못함

 

나이퀴스트 선도 예시

- w= 0으로 갈수록 크기는 무한대, 위상은 -90도

- w=inf로 갈수록 크기는 0, 위상은 90도

- w가 특정 위치에 있을때 크기는 원점으로부터의 거리, 위상은 실수부 양의 방향에서 음의방향으로 각도

=> 보드 선도랑 성격은 같으나 보여주는 형식만 극좌표 계 하나에서 다보여줌

나이퀴스트 선도

 

나이퀴스트 선도를 이용한 질량-스프링-댐퍼 시스템의 주파수 응답

 

F(t)를 입력, x(t)를 출력으로하는 전달함수 G(s)

- m=1, b=3, k=9, zeta=0.5, wn=3(rad/s) 인 경우

 

공진주파수 w_r : 공진 최댓값이 나타나는 주파수

-보드선도 상 : w_r = 1.88일때 위상 -45.8도

- 나이퀴스트 선도에서 w=1.88일때 위상 -45.8도

 

주파수 입력 F(t)=sin(wn t)에 대한 과도 응답과 보드/나이퀴스트 선도

- 보드 선도 상 주파수 3일때 크기는 -19이며 위상 -90

- 나이퀴스트도 주파수 3일때 크기는 -이며 위상 -90

=> 실제 주파수 응답은 입력 보다 작으며 위상도 90도 뒤쳐짐

 

b가 변할때 G(s)의 나이퀴스트 선도를 구하자

- m=1, b=1~11, k=9, 질량-스프링-댐퍼 시스템

 

300x250
728x90

Bode 선도

- 주파수 응답을 로그스케일의 주파수에 대해 크기는 데스벨, 위상은 각도로 직교좌표계상에 나타낸것

- 주파수 응답을 표현하는 가장 일반적인 방법

=> 시스템 주파수 응답을 쉽게 이해할 수 있음

 

Bode 선도

- 주파수 omega에 따른 주파수 전달함수 크기 M(omega)와 위상 phi(omega)를 직교 좌표계상에 나타낸 선도

- 주파수 omega : 수평축에 로그 스케일로 표시

- 크기 M(w)와 위상 phi(omega) : 수직 축에 데시벨과 각도로 표시

  M dB = 20 log|G(jw)|

- Bode 선도가 주파수 응답 특성을 나타내는 선도 중 가장 보편적으로 사용됨

 (시스템 모델링, 해석 및 설계 시 모두 사용)

 

Bode 선도의 장점

1. 주파수 전달함수를 여러개 기본 요소로 분리 가능하므로 주파수 응답을 조직적이며 쉽게 구할 수 있음

-> 크기 : |G(jw)| = log|G1 G2 Gn| = log|G1| + ... + log|Gn|

-> 위상 : <G(jw) = <(G1 G2 .. Gn) = <G1 + <G2 + ... + <Gn

2. 점근선을 이용하여 복잡한 주파수 전달함수를 쉽게 선도화 함

3. 로그 스케일로 주파수를 표시하여 넓은 주파수역 표시 가능

 -> 중요한 저주파역은 확대하고 상대적으로 덜중요한 고주파역은 축소한 합리적인 표현임

4. 실험적으로 구한 Bode 선도로부터 전달함수 유도가 가능함

5. 제어기 설계 시, 제어기 첨가와 제어기 파라미터 효과를 쉽게 파악할수 있음

 

 

전달함수 G(s)의 4가지 기본요소의 Bode

1. 상수 게인 요소 : G(s)=K

2. 미분 or 적분 요소 : G(s)=s or G(s)=1/s

3. 실수축상에 있는 극점 or 영점 요소 ; G(s)=1/(1+Ts) or G(s)=1+Ts

4. 복소 극점 or 영점 요소 

 

1. 상수 게인 요소, G(s)=K의 보드 선도

 

 

2. 미분 적분 요소, G(s)=s , G(s)=1/s의 보드선도

1) 미분 요소 G(s)=s에 대한 크기 M(omega)와 위상 phi(omega) 

 

2) 적분 요소 G(s)=1/s에 대한 크기 M(omega)와 위상 phi(omega)

 

3. 실수 축상에 극점 또는 영점 요소의 bode 선도

1) 실수 축상에 있는 극점 요소의 주파수 전달함수와 크기, 위상

주파수 전달함수의 크기 M(w)와 위상(w)의 근사값

- 저주파 영역에서 크기는 0, 위상 0

- 고주파 영역에서 크기는 20 log wT, 위상 -90

실수축 상에 있는 극점 요소 G(s)=1/(1+Ts)의 Bode 선도

 

4. 복소 극점 또는 영점 요소의 Bode 선도

- 실수축상에 있는 극점 요소의 주파수 전달함수

- 복소 극점 요소의 크기 M(w)와 위상 phi(w)

복소 극점 요소 G(s)의 크기 Bode 선도
복소 극점 요소 G(s)의 위상 Bode 선도

 

 

주파수 응답에 대한 사양

1. DC 게인 M_0

- 주파수 omega=0일때 시스템 게인

2. 대역폭 w_b

- 주파수 전달함수 크기가 20log M_0 -3 dB일때의 주파수

 입력에 대해서 출력이 w_b만큼 쫒아갈 수 있음. 

3. 공진 최댓값 M_r

- 시스템 주파수 응답 중 시스템 게인 최댓값

4. 공진 주파수 w_r

- 공진 최댓값이 나타나는 주파수

5. 차단률 cutoff rate

- 고주파역에서 게인이 떨어지는 or 롤오프(roll-off)하는 정도. 차단율이 클수록 고주파 성분이 빨이 줄어듬

 => 시스템 입력신호에서 잡음(주로 고주파)을 차단하는 특성을 나타냄

주파수 응답에 관한 성능 사양들을 표시한 Bode 선도

 

 

단순 2차 시스템의 전달함수에 대한 주파수 응답 사양

- 공진 주파수

- 공진 최댓값

 공진 최댓값 M_r은 감쇠비 zeta에 의해서만 결정

 

- 대역폭 w_b

 

 

질량-스프링-댐퍼 시스템의 주파수 응답

F(t)를 입력, x(t)를 출력으로하는 전달함수 G(s)

G(s)의 보드선도

- m=1, k=9, b=3, zeta=0.5, wn=3(rad/s)

 

전달함수 G(s)의 Bode를 구하는 매트랩 코드

 

주파수 입력 F(t)=sin(wn t)에 대한 과도응답과 Bode 선도 비교

- 고유진동수 wn=3 일때 위상차 -90이며 크기는 -19 dB

 -> 과도응답 출력 위상이 입력의 -90도이며 출력의 크기도 입력보다 작음

 

 

질량 스프링 댐퍼 시스템의 주파수 응답

m=1, k=9, b= 1 ~11까지 변하는 동안 G(s)의 Bode 선도를 구해보자

- 저주파나 고주파에서는 b의 변화에 따라 비슷한 특성을 보이나 wn=3 부근에서 특성이 달리 보임

 

300x250
728x90

주파수 응답

- 주파수 입력에 대한 출력 응답

 

주파수 입력

- 사인함수처럼 주기적인 신호 입력

 

 

주파수 응답

- 시스템에 사인파 입력을 가할때 입력 주파수 omega 값에 따른 입력 진폭에 대한 정상상태에서 출력 진폭비 M(omega), 입력과 출력사이 위상차 phi(omega)

- 시스템 입출력 진폭비 M(omega) = 주파수 전달함수 크기 |G(jw)|

- 시스템 입출력 위상차 phi(omega) = 주파수 전달함수 위상 <G(jw)

* 위상차 입력이 주어졌을 때 출력의 시간 차이

 

주파수 응답 특성을 나타내는 도해석적 방법

1. bode 선도

 - 주파수 omega에 따른 크기와 위상을 직교좌표상에 나타낸 선도

2. Nyquist 선도

 - 주파수 omega에 따른 G(jw)의 크기와 위상의 극좌표상에 나타낸 선도

 

주파수 응답 선도

- 제어시스템의 안정도와 주파수 영역 성능 평가에 필요

 

 

주파수 영역에서 전달함수 크기와 위상

- s에 jw를 대입한 후 복소수의 크기와 위상을 구함

 

 

주파수 응답

- 주파수 omega에 따른 주파수 전달함수 크기, M(omega)=|G(jw)|와 phi(omega) = <G(jw)을 나타냄

 

사인파 입력 u(s), 출력 y(s)

1. u(t) = A sint(wt)를 라플라스 변환하면

2. 다음처럼 변환

3. c, c*를 대입하여 출력 구함

4. 역 라플라스 변환 수행

 

시스템이 안정된 경우

- y(t)의 둘째 항이후 모든 항은 정상상태 (t->inf)에서 0이 되므로 첫째항만 남음

- 출력 진폭 B : 입력진폭 A * |G(jw)| 또는 M(omega)=|G(jw)|=진폭 B/ 진폭 A

- 출력 위상 : 입력 위상 (wt+phi) 또는 phi(omega) = <G(jw)= 입출력 위상차

- 전달함수 G(s)|s->jw : 주파수 전달함수

=> 크기 |G(jw)|와 위상 <G(jw)를 조사하면 주파수 응답 특성을 알 수 있음

 

 

전달함수를 이용한 주파수 응답

1. 전달함수의 크기 |G(jw)|와 위상 <G(jw) 조사

-> 주파수 응답 특성이 파악 가능

- |G(jw)|의 정의

 

- <G(jw)의 정의

 

 

질량-스프링-댐퍼 시스템의 주파수 응답

- F(t)를 입력, x(t)를 출력으로하는 전달함수 G(s)

 

전달 함수의 두 극점

- m=1, k=9, b=3, zeta=0.5, wn=3(rad/s)

전달함수 G(s)의 크기와 위상

 

 

전달함수 G(s)의 크기를 omega=0.1 ~ 100(rad/s) 까지 구하는 경우

300x250
728x90

뒤짐 보상기 설계 및 순서

 

설계 방향

- 과도 응답 특성은 변하지 않게 설계

 -> 폐루프 시스템 근의 위치를 크게 벗어나지 않도록 보상된 시스템 근이 있도록 하고 대신 개루프 이득을 증가시키도록함

- 제어기 극정과 영점을 상대적으로 서로 가까우면서 워점에 가깝게 설정

 

 

설계 순서

1. 보상되지 않은 시스템에서 폐루프 시스템의 특성방정식 근궤적을 그린후. 동적 응답 특성에 가장 많이 영향을 주는 근

2. 보상되기 전의 정적 오차 계수를 구하고 이를 평가함

3. 정적 오차 계수를 얼마나 개선할 것인지 결정함

4. 3에 따라 적절한 뒤짐 보상기의 극점과 영점을 결정

5. 4에서 결정된 극점과 영점을 가지는 제어기 전달함수와 플랜트 전달함수의 곱으로 근궤적을 그리는 원하는 근의 위치 정함

6. 5에따라 제어기 이득을 정하고, 이득을 포함한 전체 시스템의 정적오차 계수를 구해 3이 달성하는 확인

 

 

예제

- 아래의 플랜트 전달함수의 램프 입력에 대해 정상상태 오차를 10배 작게 하고자 함

1. 다음 근궤적을 그려 K=8인 경우의 근을 찾음

=> 영향력이 큰 근의 위치는 -0.666+-1.16i

플랜트 전달함수의 근궤적선

 

2. 램프 입력에 대한 정상상태 오차 계수를 구함

3. 정상상태 오차 계수 K_v=10으로 설정

4. s가 0일때 극점과 영점의 절대값의 비

(적절한 뒤짐보상기의 극점과 영점을 결정해야함)

-> 원하는 정상상태 오차계수 10이 되면서 원점에 가깝도록 뒤짐 보상기 전달함수를 G_c=K_v &(s+0.05/s+0.005)로 해야함

5. 보상기와 플랜트가 포함된 근궤적을 그리기 위해 일반적인 형태를 정의 후 근궤적 그림

6. 두 근궤적을 겹쳐서 보고 이전의 근의 위치와 유사한 근의 위치를 보상기가 포함된 근궤적에서 보면 8K=8일때로 판단됨

-> 이때 보상기 이득, K=1

6. 이 보상기를 가졌을 때, 램프 입력에 대한 정상상태 오차 계수

+ 램프 입력에 대한 보상전과 보상후 정상상태 오차

300x250

+ Recent posts