Vài hình ảnh về mạch thực tế sử dụng trong mô hình hệ điều khiển vị trí động

Một phần của tài liệu Nghiên cứu giải thuật bày đàn và ứng dụng tìm thông số tối ưu cho bộ điều khiển (Trang 66 - 77)

trí động cơ điện một chiều.

Hình 5.5. Mô hình thực tế sử dụng trong đề tài

Tải Động cơ một chiều

Encorder

Arduino

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Hình 5.7. Kết quả trên mô hình thực

Nhận xét: Tín hiệu thu được từ mô hình mô phỏng và mô hình thực có sự sai khác. Nguyên nhân do bộ nguồn cho mạch không ổn định; trong quá trình làm việc, các linh kiện trong mô hình có sự tỏa nhiệt, có sự trôi tín hiệu; do nhiễu tác động.

Vi tri dat

Vi tri bam mo hinh Vi tri bam mo hinh thuc

t(s) Th eta( R ad )

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Viết chƣơng trình:

// Khai báo biến

int MotorPWM = 11; // Khai báo cổng xuất xung PWM là cổng 11 int MotorIN_A = 8;

int MotorIN_B = 12; int encorder0PinA = 2; int encorder0PinB = 4; int sensorPin = A0;

// Khai báo biến làm việc double PV, Output, Setpoint; double kp, ki, kd;

volatile unsigned long lastTime; volatile double errSum, lastErr; volatile int encoder0Pos = 0; int sensorValue = 512; void setup(){ pinMode(encoder0PinA, INPUT); digitalWrite(encoder0PinA, HIGH); pinMode(encoder0PinB, INPUT); digitalWrite(encoder0PinB, HIGH);

attachInterrupt(0, doEncoder, CHANGE); //Controller Parameter kp = 1,2888; ki = 0.0; kd = 2,2992; Serial.begin (9600); Serial.println("start");

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

}

void loop(){

sensorValue = analogRead(sensorPin); // Đọc giá trị Setpoint = (double)(sensorValue - 512)*0.35; // Vị trí đặt -1800

<θ< 1800 PV = (double)encoder0Pos*11.25;

compute(); // Tính thông số đầu ra điều khiển động cơ if(Output > 0) { analogWrite(MotorPWM, Output); CC(); } else if(Output<-0){ analogWrite(MotorPWM, -Output); CCW(); } else{ STOP(); }

// Hiển thị tín hiệu đặt và tín hiệu đo được if(count>50) { Serial.print(Setpoint); Serial.print( ); Serial.print(PV); Serial.print( ); Serial.println(Output); count= 0; } else{count+=1;} }

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ void CC(){ digitalWrite(MotorIN_A,HIGH); digitalWrite(MotorIN_B,LOW); } void CCW(){ digitalWrite(MotorIN_A,LOW); digitalWrite(MotorIN_B,HIGH); } void STOP(){ analogWrite(MotorPWM, 0); digitalWrite(MotorIN_A,LOW); digitalWrite(MotorIN_B,LOW); } void compute() {

unsigned long now = millis();

double dT = (double)(now - lastTime); //Our Sampling time

double error = Setpoint - PV; errSum += (error * dT); (adsbygoogle = window.adsbygoogle || []).push({});

double dErr = (error - lastErr) / dT;

Output = kp * error + ki * errSum + kd * dErr; if(Output>100){Output = 100;}

else if(Output <-100){Output = -100;} else{}

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ lastTime = now; } doEncoder function if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB)) { encoder0Pos++; } else { encoder0Pos--; } }

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

CHƢƠNG VI

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

* Kết luận:

Đề tài: "Nghiên cứu giải thuật bầy đàn và ứng dụng tìm thông số tối ưu cho bộ điều khiển" đã đạt được một số kết quả như sau:

1.Đánh giá tổng quan về các phương pháp tổng hợp bộ điều khiển PID 2.Mô hình hóa động cơ một chiều trên phần mềm Matlab-Simulink 3.Ứng dụng giải thuật bầy đàn để xác định thông số tối ưu của bộ điều khiển PID.

4.Xây dựng được mô hình thực nghiệm đáp ứng yêu cầu của bài toán. Các kết quả nghiên cứu cho thấy giải thuật tối ưu bầy đàn có thể áp dụng cho nhiều bài toán tối ưu khác nhau. Tuy nhiên hạn chế của thuật toán là với các đối tượng phức tạp, có nhiều yếu tố ảnh hưởng thì số bước lặp của thuật toán tăng, thời gian tính toán khá lớn.

* Hƣớng phát triển của đề tài:

1. Giải quyết bài toán tìm tham số tối ưu cho bộ điều khiển ứng dụng cho các đối tượng có sự thay đổi tham số mạnh trong quá trình làm việc.

2. Cải tiến thuật toán tối ưu bầy đàn nhằm xác định nhanh nghiệm tối ưu với các bài toán chứa nhiều tham số.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

TÀI LIỆU THAM KHẢO

[1] Nguyễn Doãn Phƣớc; Lý thuyết điều khiển phi tuyến-NXB Khoa học và Kỹ thuật

[2] Phan Xuân Minh, Nguyễn Doãn Phƣớc; Lý thuyết điều khiển mờ- NXB Khoa học và Kỹ thuật

[3] Nguyễn Doãn Phƣớc, Phan Xuân Minh; Nhận dạng hệ thống điều khiển- NXB Khoa học và Kỹ thuật, 2001

[4] Nguyễn Doãn Phƣớc, Phan Xuân Minh; Điều khiển tối ưu và bền vững- NXB Khoa học và Kỹ thuật

[5] Nguyễn Doãn Phƣớc; Lý thuyết điều khiển nâng cao- NXB Khoa học và Kỹ thuật, 2005

[6] Nguyễn Doãn Phƣớc, Phan Xuân Minh; Hệ phi tuyến- NXB Khoa học và Kỹ thuật, 2000

[7] Trần Khánh Hà (1997), Máy điện 2, NXB Khoa học và Kỹ thuật

[8] Nông Lê Huy, “ Nghiên cứu ứng dụng điều khiển mờ thích nghi để nâng cao chất lượng hệ truyền động qua bánh răng”

[9] Nguyễn Hữu Chinh, “ Ứng dụng logic mờ vào nhận dạng và điều khiển hệ phi tuyến”.

[10] Astroom K., and Hagglund T., “ The future of PID control”. Control Engineering Practice, 2001.

[11] Conradie A., Miikkulainen R., and Aldrich C., “ Adaptive Control Utilizing Neural Swarming”, In Proceddings of the Genetic and Evolutionary Computation Conferences, USA, 2002.

[12] J. Chen, Z.Ren and X. Fan, " Particle swarm optimization with adaptive mutation and its application research in turning of PID parametters" in Proc. 1st International Symposium on Systems and

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

MỤC LỤC (adsbygoogle = window.adsbygoogle || []).push({});

Trang

Trang phụ bìa

Lời cam đoan i

Lời cảm ơn ii

Lời nói đầu iii

Mục lục v

Danh mục các hình vẽ và đồ thị vii

CHƢƠNG I ... 1

CƠ SỞ LÝ THUYẾT ... 2

1.1. Giới thiệu chung về động cơ một chiều ... 2

1.1.1. Cấu tạo động cơ điện một chiều ... 2

1.1.2. Nguyên lý làm việc của động cơ điện một chiều. ... 6

1.1.3. Phân loại động cơ điện một chiều ... 8

1.2. Các phƣơng pháp điều khiển động cơ điện một chiều ... 9

1.3. Bộ điều khiển PID ... 9

1.3.1. Vài nét cơ bản về bộ điều khiển ... 9

1.3.2. Phƣơng pháp điều chỉnh bộ PID ... 21

1.4. Giải thuật bầy đàn PSO (Particle Swarm Optimization) ... 24

1.4.1. Thuật toán PSO chuẩn ... 24

1.4.2. Các cải tiến của thuật toán PSO ... 29

CHƢƠNG II ... 39

MÔ HÌNH ĐỘNG CƠ MỘT CHIỀU ... 39

2.1. Xây dựng mô hình toán động cơ một chiều ... 39

2.2. Xây dựng các khối mô phỏng động cơ một chiều trên Simulink của phần mềm Matlab ... 41

2.3. Xây dựng bộ điều khiển PID kinh điển điều khiển vị trí động cơ một chiều42 CHƢƠNG III ... 45

ỨNG DỤNG GIẢI THUẬT BẦY ĐÀN ĐỂ XÁC ĐỊNH THÔNG SỐ TỐI ƢU CỦA BỘ ĐIỀU KHIỂN PID ... 45

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

3.2. Lập trình tìm tham số bộ điều khiển PID bằng giải thuật bầy đàn ... 48

3.3. Xây dựng mô hình hệ thống điều khiển vị trí động cơ điện một chiều trên Matlab – Simulink ... 52

CHƢƠNG IV ... 53 (adsbygoogle = window.adsbygoogle || []).push({});

KẾT QUẢ MÔ PHỎNG... 53

4.2. Kết quả mô phỏng hệ thống khi sử dụng giải thuật tối ƣu bầy đàn tìm tham số PID. ... 57

4.2. So sánh hai phƣơng pháp tổng hợp bộ điều khiển PID ... 61

CHƢƠNG V ... 62

MÔ HÌNH THỰC NGHIỆM ... 62

5.1. Vài nét về bo mạch Arduino ... 62

5.2. Mạch cầu H ... 65

5.3. Vài hình ảnh về mạch thực tế sử dụng trong mô hình hệ điều khiển vị trí động cơ điện một chiều. ... 66

CHƢƠNG VI ... 73

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ... 73

Một phần của tài liệu Nghiên cứu giải thuật bày đàn và ứng dụng tìm thông số tối ưu cho bộ điều khiển (Trang 66 - 77)