1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế hệ thống điều khiển số cho động cơ điện một chiều tên môi trường s function

14 209 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 430,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo cáo Bài tập lớn hệ thống điều khiển số Yêu cầu : -Thiết kế bộ điều khiển cho đối tượng trên miền thời thời gian thực cho đối tượng là động cơ 1 chiều công suất 100 W -Lập trình bộ đi

Trang 1

Báo cáo

Bài tập lớn hệ thống điều khiển số

Yêu cầu :

-Thiết kế bộ điều khiển cho đối tượng trên miền thời thời gian thực cho đối tượng là động cơ 1 chiều công suất 100 W

-Lập trình bộ điều khiển cho khối Sfunction trong Simulink

GV hướng dẫn: TS Vũ Thị Thúy Nga

Trang 2

Mục lục :

Báo cáo 1

Bài tập lớn hệ thống điều khiển số 1

1 Mô hình động cơ một chiều kích từ độc lập 3

1.1.Cấu trúc 3

1.2.Sơ đồ điều khiển cascade 3

2 Thiết kế bộ điều khiển 4

2.1 Thiết kế bộ điều khiển dòng điện 4

2.2 Thiết kế bộ điều khiển tốc độ 5

2.3.Thiết kế bộ điều khiển trên miền thời gian xấp xỉ liên tục 7

2.4 Mô phỏng trên Simulink 8

3 So sánh chu kì trích mẫu của bộ điều khiển với Fixed-step size của hệ thốn.11 4.Tài liệu tham khảo 13

2

Trang 3

1 Mô hình động cơ một chiều kích từ độc lập

1.1.Cấu trúc

Hình 1.Sơ đồ cấu trúc ĐCMC Thông số động cơ :

Công suất định mức : Pdm= 100 W Momen quán tính J =

5.5*10^-4 kg.m2

Hằng số động cơ : ke =11.2*10^-3; km = 0.11 Từ thông danh định Ψ = 0.013Vs

Điện cảm phần ứng : LA = 0.0033 H

Điện trở phần ứng : RA = 2.1 Ω

Hằng số thời gian phần ứng : TA = LA/ RA

Hằng số thời gian chỉnh lưu : Tt = 100μs

Chu kì trích mẫu Ttm = 0,1ms

Trang 4

1.2.Sơ đồ điều khiển cascade

Hình 2 Sơ đồ điều khiển cascade

4

Trang 5

2 Thiết kế bộ điều khiển

2.1 Thiết kế bộ điều khiển dòng điện

Hình 3.Sơ đồ điều khiển dòng điện

Coi sức điện động e Alà nhiễu, hàm truyền của đối tượng dòng phần ứng là:

G (s)= 1/ Ra

(1+sTt ) (1+sTa)

Nhưng với yêu cầu thiết kế bộ điều khiển số cho đối tượng liên tục :

Hình 4 Sơ đồ cấu trúc bộ điều khiển số Nên đối tượng ta cần thiết kế ở đây sẽ có dạng :

Gi (s )=ZOH∗G (s )=

1−eST

s ∗1/ Ra

(1+ sTt ) (1+ sTa)

Ở đây:

esT

≈ 1+(−sT )+ s

2

T2

2

Trang 6

Do T rất nhỏ nên ta có thể xấp xỉ

/ ( )

(1 )(1 )

T Ra

Gi s

sTt sTa

Ta thiết kế cho đối tượng trên theo tiêu chuẩn tối ưu mô đun với hàm chuẩn là

2 2

1 ( )

MC

F s

t st s

Nếu chọn bộ điều khiển PI

( ) Ti

Ri s Kp

s

  Khi đó ta sẽ có được các thông số của bộ điều khiển như sau

*

2* *

Ra Ta

Kp

T Tt

và 2* *

Ra Ti

T Tt

 Tính toán ta được Kp=0.1650 ; Ti=105

6

Trang 7

2.2 Thiết kế bộ điều khiển tốc độ

Ta có sơ đồ cấu trúc vòng điều khiển tốc độ

Hình 5.Sơ đồ điều khiển tốc độ

Ta có thể xấp xỉ khâu Gi(s) dưới dạng:

1 ( )

Gi s

sTt

 Khí đó đối tượng tốc độ của ta có dạng

M

t

G (s) G (s).k

2 Js s(2Ts 1) 2 J

Ta thiết kệ bộ điều khiển cho đối tượng trên theo tiêu chuẩn tối ưu đối xứng với hàm chuẩn :

3 3 2 2

1 4 ( )

DX

t s

F s

t s t s t s

Chọn bộ điều khiển PI có dạng w( )

Ti

R s Kp

s

  Với các thông số sau

2k M T t

Kp

J



; Ti=8Tt

Tính toán ta được Kp=1.6561e-04; Ti= 8.0000e-04

Trang 8

2.3.Thiết kế bộ điều khiển trên miền thời gian xấp xỉ liên tục

Thiết kế bộ PI

t

p

0 i

1 u(t) K (e(t) e( )d )

T Sauk hi xấp xỉ vs chu kì trích mẫu T ta được

uk=uk-1+Kp(ek-ek-1 +(T/Ti)*ek-1)= uk-1 + ekKp+ ek-1(T*Kp/Ti-Kp)

Đặt k1=Kp;k2= T*Kp/Ti - Kp ta được

uk = uk-1 +k1ek +k2 ek-1

2.4 Mô phỏng trên Simulink

Sau khi thiết kế và chỉnh định thông số ta được:

n Scope

-K-Km*phi

289.5194 s 1/2piJ

47.6190 1.5714e-07s +0.0017s+12 ZOH*Gi(s)

1600

Hold

0 Mt

PID_Rw Rw

PID_Ri Ri

Hình 6 : Sơ đồ mạch vòng điều chỉnh

8

Trang 9

Hình 7 : Đáp ứng tốc độ với n*=1600 vòng/phút Nhận xét :Tốc độ của đối tượng đáp ứng được yêu cầu ,bám giá trị đặt và có thời gian xác lập nhỏ,độ quá điều chỉnh thỏa mãn yêu cầu

Code cho khối S-function level 2

function PID_Rw(block)

setup(block);

function setup(block)

block.NumDialogPrms = 2;

%% Register number of input and output ports

block.NumInputPorts = 1;

block.NumOutputPorts = 1;

%% Setup functional port properties to dynamically

%% inherited.

block.SetPreCompInpPortInfoToDynamic;

block.SetPreCompOutPortInfoToDynamic;

% Override input port properties

block.InputPort(1).Dimensions = 1;

block.InputPort(1).DatatypeID = 0; % double

block.InputPort(1).Complexity = 'Real' ;

block.InputPort(1).DirectFeedthrough = true;

% Override output port properties

block.OutputPort(1).Dimensions = 1;

block.OutputPort(1).DatatypeID = 0; % double

block.OutputPort(1).Complexity = 'Real' ;

%% Set block sample time to [0.1 0]

block.SampleTimes = [1e-4 0];

%% Set the block simStateCompliance to default (i.e., same as a built-in block)

Trang 10

block.SimStateCompliance = 'DefaultSimState' ;

%% Register methods

block.RegBlockMethod( 'PostPropagationSetup' , @DoPostPropSetup);

%block.RegBlockMethod('Start', @Start);

block.RegBlockMethod( 'Outputs' , @Output);

block.RegBlockMethod( 'Update' , @Update);

%block.RegBlockMethod('CheckParameters', @CheckPrms);

block.RegBlockMethod( 'InitializeConditions' , @InitConditions);

function DoPostPropSetup(block)

%% Setup Dwork

block.NumDworks = 3;

block.Dwork(1).Name = 'x0' ;

block.Dwork(1).Dimensions = 1;

block.Dwork(1).DatatypeID = 0;

block.Dwork(1).Complexity = 'Real' ;

block.Dwork(1).UsedAsDiscState = true;

block.Dwork(2).Name = 'x1' ;

block.Dwork(2).Dimensions = 1;

block.Dwork(2).DatatypeID = 0; % double

block.Dwork(2).Complexity = 'Real' ; % real

block.Dwork(2).UsedAsDiscState = true;

block.Dwork(3).Name = 'x2' ;

block.Dwork(3).Dimensions = 1;

block.Dwork(3).DatatypeID = 0;

block.Dwork(3).Complexity = 'Real' ;

block.Dwork(3).UsedAsDiscState = true;

function InitConditions(block)

block.Dwork(1).Data = 0;

block.Dwork(2).Data = 0;

block.Dwork(3).Data =0;

%function Start(block)

%block.Dwork(1).Data = 0;

%block.Dwork(2).Data = 0;

%block.OutputPort(1).Data = 0;

%function CheckPrms(block)

%block.Dwork(1).Data = 0;

%block.Dwork(2).Data = 0;

%block.OutputPort(1).Data = 1;

function Output(block)

k1 = block.DialogPrm(1).Data;

k2 = block.DialogPrm(2).Data;

block.OutputPort(1).Data =block.Dwork(3).Data + (k1)*block.Dwork(1).Data + (k2)*block.Dwork(2).Data;

%block.OutputPort(1).Data=block.Dwork(3).Data;

%endfunction

function Update(block)

block.Dwork(2).Data = block.Dwork(1).Data;

block.Dwork(1).Data = block.InputPort(1).Data;

block.Dwork(3).Data=block.OutputPort(1).Data;

10

Trang 11

%function Terminate(block)

Trang 12

3 So sánh chu kì trích mẫu của bộ điều khiển với Fixed-step size của hệ thống

Hình 8: Sơ đồ cấu trúc bộ điều khiển số Trong 2 bộ điều khiển ta dùng cách nhập chu kì trích mẫu cho bộ điều khiển

%% Set block sample time to [0.01 0]

block.SampleTimes = [1e-4 0];

Khi đó bộ điều khiển có chu kì trích mẫu là Ts=0.1ms

Ta cái đặt chu kì trích mẫu cho hệ thống thông qua khối Configuration

Paramaters /chọn Fixed-Step / Fixed-Step size

Hình 9: Khối Configuration Paramaters

12

Trang 13

Khi ta nhập Fixed-Step size có giá trị khác với Ts của bộ điều khiển ,hệ thống sẽ

báo lỗi

Hình 10:Lỗi khi nhập chu kì trích mẫu không phù hợp Kết luận:Chu kì trích mẫu của hệ thống phải phù hợp với chu kì trích mẫu của

bộ điều khiển

Ở đây chúng ta chọng Tht=Ts

Trang 14

4.Tài liệu tham khảo

[1]Electrical Engineering-Automatic - Hon-Prof.Prof Dr.-Ing.habil Nguyễn Phùng Quang – 19 August 2013

[2]Tài liệu hướng dẫn thực hành Hệ thống điều khiển số, Bộ môn

ĐKTĐ-ĐHBKHN

14

Ngày đăng: 29/08/2017, 10:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w