1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Proceedings VCM 2012 89 nâng cao chất lượng hệ thống điều khiển ứng dụng thuật toán

8 319 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 812,78 KB

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

Nội dung

Nâng cao chất lượng hệ thống điều khiển ứng dụng thuật toán PID-Neural và hiện thực hóa trên cơ sở ARM 32 bít Enhancing the Quality of Controlling System with the Application of PID-Neu

Trang 1

Nâng cao chất lượng hệ thống điều khiển ứng dụng thuật toán PID-Neural và hiện thực hóa trên cơ sở ARM 32 bít

Enhancing the Quality of Controlling System with the Application of PID-Neural Algorithm and Its Realization on the Basis of ARM 32 bits

Trịnh Mạnh Tuyên, Nguyễn Văn Xuân, Phan Quốc Thắng

Học viện Kỹ thuật Quân sự e-Mail: tuyentm7584@gmail.com, nguyenvanxuanirf@yahoo.com, thuyquynh9901@yahoo.com

Tóm tắt:

Bài báo trình bày về một giải pháp nâng cao chất lượng hệ thống điều khiển trên cơ sở ứng dụng thuật toán kết hợp PID-Neural Nhóm tác giả đã tiến hành khảo sát, mô phỏng, đánh giá thuật toán điều khiển với các đối tượng khác nhau sử dụng phần mềm Matlab Bài báo cũng trình bày việc hiện thực hóa thuật toán trên cơ sở ARM 32 bit-Cortex M3 của STMicroelectronics, thiết kế xây dựng phần cứng hệ thống, tổ chức chương trình phần mềm điều khiển PID-Neural cùng các kết quả thử nghiệm thực tế với đối tượng điều khiển là động cơ điện một chiều

Abstract:

This paper presents a solution to enhance the quality of controlling system on the basis of applying the PID-Neural algorithm The authors have carried out a survey, simulation and assessment on the controlling algorithm with different objects, utilizing the Matlab software We present the realization of the PID-Neural algorithm on the basis of ARM 32 bits-Cortex M3 manufactured by STMicroelectronics The paper also designs and constructs the hardware and organizes the software programme of PID-Neural controlling along with actual experimental results based on DC motor

Ký hiệu

 x

l

ij

Chữ viết tắt

Transmitter

1 Đặt vấn đề

Phương pháp điều khiển kinh điển PID là phương pháp được áp dụng rất phổ biến trong các bộ điều khiển công nghiệp Sở dĩ như vậy là do mức độ yêu cầu về chất lượng điều khiển của hệ thống và

sự đơn giản trong thực hiện cũng như hiệu quả về mặt kinh tế

Khi đặt yêu cầu nâng cao chất lượng hệ thống điều khiển, một trong những hướng nghiên cứu được quan tâm là kết hợp với phương pháp điều khiển thông minh, trong đó có mạng nơron nhân tạo, và đây là nội dung chính được trình bày trong bài báo này

Để xây dựng một bộ điều khiển như vậy, thiết kế phần cứng đòi hỏi việc sử dụng dòng vi điều khiển

có dung lượng nhớ lớn, tần số hoạt động cao và các yêu cầu cần thiết khác về ngoại vi Dòng ARM

32 bit-Cortex M3 là dòng vi điều khiển khá mạnh của STMicroelectronics với nhiều tính năng ưu việt - là sự lựa chọn phù hợp, đáp ứng được yêu cầu

Tuy nhiên, do khối lượng tính toán của mạng nơron trên board ARM 32 bit là rất lớn nên yêu cầu cần thiết kế cấu trúc mạng phù hợp với vi điều khiển và tối ưu thời gian điều khiển được đặt lên hàng đầu Cấu trúc mạng nơron sẽ bao gồm luôn

Trang 2

cả đối tượng điều khiển nên không thể sử dụng các

luật học thông thường như luật học lan truyền

ngược mà cần một luật học khác phù hợp Ở đây,

nhóm tác giả đã sử dụng thuật toán Brandt-Lin do

2 nhà khoa học Robert D Brandt và Feng Lin đưa

ra làm giải pháp cho việc huấn luyện mạng nơron

2 Thuật toán điều khiển PID-Nueral

2.1 Thuật toán Brandt-Lin

Tư tưởng của thuật toán Brandt-Lin chia nhỏ một

hệ thống phức tạp thành N hệ thống con gọi là các

ra của các nút được nối với nhau thông qua các

trọng số Đặc tính động học của mỗi trạm được mô

tả bằng một hàm nhân quả:

trình sau: y n (t)=F n (x n (t)), n Є N

Định lý: Đối với một hệ thống có tính động học

cho bởi [4]:

j

1

q

E

1

1

1

1

2

n

i

   sẽ giảm

dần theo thời gian, trong đó γ>0 là hệ số thích

nghi

Trong đó wij l là trọng số liên kết của nút thứ j

thuộc lớp l xuất phát từ nút thứ i

l

j

ij ij i

xw y1

là đầu vào của nút thứ j thuộc

lớp l xuất phát từ nút thứ i, q là số lượng nhánh ra

xuất phát từ nút thứ j của lớp l

Chứng minh:

1

1

i

l ' l l

j ij i l

j

d y d x d y

d E d E d E

y

d w d y d x d w d y d x

d E

F ( x ) y

d y

1

1 1

jk 1

1

1

(1)

l q

k

k

q

k

dE dE

dy d F x y

dy

dE E dE

dy y dy dy

E dE

w F x

y dy

1

1

1

1

3

3

1

q l jk

k

mà theo ( ) suy ra :

w

1 1

l + 1

jk q

l l+ 1

jk jk

k

dE

m à w

dw

 

1

1

1

1

q

k

q

E

E

 

2.2 Bộ điều khiển PID-Neural chỉnh định thích nghi trọng số theo thuật toán Brandt-Lin

Trong phần này nhóm tác giả trình bày việc vận dụng thuật toán Brandt-Lin vào việc chỉnh định

các trọng số W p, W I, W D của bộ điều khiển PID-Neural Hình H.2 là sơ đồ khối của hệ thống điều khiển với bộ điều khiển PID-Neural Hình H.4 là

sơ đồ bộ điều khiển PID-Neural có chỉnh định thích nghi trọng số của mạng

Trang 3

H 2 Hệ thống điều khiển PID-Neural

Mạng nơron được dùng để thiết kế bộ điều khiển

chỉ có 1 nơron với 3 đầu vào, một đầu ra, hàm

Theo thuật toán Brandt-Lin, hệ thống trên được

chia thành 3 lớp, 5 nút Hình H.4 mô tả sự phân

tích hệ thống theo thuật toán này Nút mã số 11 là

khâu P có hệ số khuếch đại bằng 1, nút mã số 12 là

khâu I, nút mã số 13 là khâu D, nút mã số 21 gồm

phần mạng nơron không chứa các trọng số đối

tượng, nút mã số 31 là đối tượng Các trọng số là

3

11

3 3

11 11

còn là:

j

 

1

Brandt-Lin

E

1

 

 2

m

e

2 1

y z

chính là đạo hàm đầu ra của đối tượng

theo đầu vào

2

1

1

z

t

Chuyển sang miền Laplace:

 

 

 

 

sY s Y s

sU s U s

Do vậy với một hệ động học ổn định, có thể xấp xỉ

2 1

y z

về 1 hằng số Các kết quả mô phỏng bằng Matlab/Simulink và kết quả điều khiển thực tế cho thấy sự xấp xỉ này không ảnh hưởng xấu đến việc điều khiển Hằng số này được đưa vào trong hệ số bước học nên sai lệch trọng số sẽ là:

2

11 p

w e e

Tính toán tương tự thu được:

2

21 I

w e e

2

w e e

2.3 Kết quả mô phỏng

Dưới đây là các kết quả mô phỏng bộ điều khiển PID-Neural chỉnh định thích nghi trọng số của mạng với các loại đối tượng và điều kiện mô phỏng khác nhau Các kết quả này được so sánh với các kết quả điều khiển từ bộ PID truyền thống Tín hiệu mẫu là tín hiệu mức 1 Các mô phỏng được thực hiện bằng Matlab/Simulink

a) Đối tượng ổn định

Đối tượng điều khiển là đối tượng quán tính bậc 2

ổn định có hàm truyền G(s) là:

1 G( s )

s 1 s 5

 

Bộ điều khiển PID-Neural: Có hệ số thích nghi γ=1 và các trọng số có giá trị ban đầu là:

Trang 4

Mô hình điều khiển:

T I , T D được tính theo phương pháp hằng số thời

gian tổng Kuhn:

Hàm truyền của đối tượng được viết lại như sau:

   

0.2

G( s )

1 s 1 0.2s

 

T 10.21.2 s ;

P

2

0.2

0.8 *1.2 0.96

I

T   ;T  D 0.194 * 1.20.2328

Kết quả mô phỏng:

Nhận xét: So sánh đường đặc tính quá độ trong

hai trường hợp, ta nhận thấy với bộ điều khiển

PID-Neural đối tượng xác lập nhanh hơn và có độ

quá điều chỉnh nhỏ hơn so với khi sử dụng bộ điều

khiển PID truyền thống sử dụng phương pháp tổng

T của Kuhn

b) Đối tượng có nhiễu

Nghiên cứu trường hợp có nhiễu, đưa vào hệ thống

nhiễu ồn trắng có cường độ noise power =0.01 và

nhiễu được cộng thêm vào đầu vào của đối tượng

Đối tượng nghiên cứu không đổi Các tham số bộ

điều khiển vẫn giữ như trường hợp a

Kết quả mô phỏng:

nhiễu

Nhận xét: Xem xét trường hợp khi có nhiễu tác

động ở đầu vào của đối tượng, thì đường đặc tính quá độ bộ điều khiển PID-Neural vẫn duy trì điều khiển tín hiệu đầu ra bám tốt theo tín hiệu đặt và cũng không xẩy ra quá điều chỉnh

c) Đối tượng có trễ

Để tạo ra đối tượng có trễ, ta thêm vào 1 khâu trễ trước đối tượng điều khiển Thời gian trễ là 0.2 giây

Đối tượng điều khiển có hàm truyền là:

 

0.2 s

e

G s

Bộ điều khiển PID-Neural: Bộ điều khiển có hệ số thích nghi γ=0.3 và các trọng số có giá trị ban đầu là:

Mô hình điều khiển:

T I , T D được tính theo phương pháp hằng số thời gian tổng Kuhn:

Hàm truyền của đối tượng được viết lại như sau:

0.2 s 0.2e G( s )

1 s 1 0.2s

 

T 10.20.21.4 s ; 2

10 ; 0.8 * 1.4 1.12 0.2

P I

0.194 *1.4 0.2716

D

Trang 5

Kết quả mô phỏng:

Nhận xét: Với bộ điều khiển PID-Neural sử dụng

cho đối tượng có trễ thì độ quá điều chỉnh là nhỏ

và thời gian quá độ cũng nhỏ hơn PID truyền

thống Căn cứ vào các kết quả thu được, có thể

thấy thấy bộ điều khiển PID-Neural cho đường đặc

tính điều khiển tốt hơn rõ so với bộ điều khiển PID

truyền thống theo phương pháp tổng T của Kuhn

3 Xây dựng hệ thống điều khiển với ARM 32

bít-STM32F103VCT6 3.1 Giới thiệu vi điều khiển STM32F103VCT6

- Là bộ vi điều khiển có cấu trúc RISC 32 bit,

tần số làm việc lên tới 72MHz, tiêu tốn năng lượng

thấp

- Bộ nhớ chương trình lên tới 256 Kbytes

Flash; dung lượng RAM 64 Kbytes; giao diện bộ

nhớ bên ngoài cho 4 băng của SRAM, PSRAM,

Flash, NOR

- Nguồn cấp: 3.0 đến 3.6V, có ba chế độ tiết

kiệm năng lượng: SLEEP, STOP và STANDBY

- Điều khiển ngắt nhanh với nhiều vector ngắt,

16 vector ngắt ngoài

- Số lượng cổng vào ra lớn: lên tới 80 cổng vào

ra

- Có 11 bộ định thời: 2 bộ định thời watchdog

16 bit; 4 bộ định thời 16 bit ; 2 bộ định thời cho

DAC, 2 bộ định thời cho PWM ; 01 systick timer

- Gồm 13 giao diện truyền thông: 2 giao diện

I2C; 5 giao diện UART không đồng bộ; 3 giao

diện SPI ; giao diện CAN (2.0B tích cực); giao

diện USB với tốc độ tối đa (12 Mbit/s); giao tiếp

SDIO

- 3 kênh chuyển đổi ADC (tương tự/số) 12 bit:

tần số trích mẫu lên tới 1MHz; dải chuyển đổi từ 0

đến 3.6V

3.2 Sơ đồ khối phần cứng hệ thống điều khiển

- Bộ điều khiển trung tâm là vi điều khiển

ARM 32 bít - STM32F103VCT6

- Khối nguồn sử dụng IC AMS1117 (3.3V)

- Bàn phím cho phép nhập các tham số, chế độ điều khiển trực tiếp ngay trên Boad mạch trung tâm

- LCD cho phép hiển thị các tham số trong quá trình điều khiển hệ thống

- Giao diện RS232 giao tiếp Boad mạch trung

tâm với máy tính sử dụng bộ thu phát trung tâm là MAX3232, nguồn cấp (3.3V), tốc độ truyền lên tới

1 Mbps

- DC Motor với các tham số chính: nguồn cấp 12V, tốc độ định mức 4000 vòng/phút, công suất 25W, dòng tiêu thụ ~2A, độ phân giải của encoder

100 xung/vòng

- Driver điều khiển DC Motor sử dụng IC cầu

H là L298, nguồn cấp 12V, khả năng chịu được dòng điện lên tới 4A Ở đây IC74ALVC164245DL được sử dụng để tương thích logic điện áp 5V của mạch L298 với điện áp 3.3V của vi điều khiển ARM 32 bít

- Nhờ thiết kế đa dạng đầu vào và đầu ra theo các chuẩn công nghiệp như trên, bộ điều khiển có khả năng giao tiếp với nhiều loại thiết bị cảm biến

và cơ cấu chấp hành khác nhau

Kết quả thi công thực tế hệ thống điều khiển:

UART

PWM TIMER

Máy tính

RS232

Bộ điều khiển trung tâm (STM32 F103VCT6)

Khối công suất

DC Motor Encoder

Khối nguồn

LCD

Bàn phím

Đầu vào

số, đầu vào tương tự

Đầu ra số, đầu ra tương tự

Trang 6

4 Thực hiện thuật toán PID-Neural trên ARM

32 bít và kết quả đạt được

4.1 Cấu trúc chương trình điều khiển

- Khối cộng:

Nhiệm vụ của khối cộng là tạo đầu vào e cho

mạng nơron bằng sai lệch giữa tín hiệu đặt và tín

hiệu phản hồi Đầu vào của khối cộng là tín hiệu

đặt nhận từ máy tính và tín hiệu phản hồi nhận từ

đối tượng điều khiển

- Khối xử lý đầu vào của mạng nơron:

Nhiệm vụ của khối xử lý đầu vào là đa dạng hóa

tín hiệu đầu vào cho mạng nơron thành e ,e , eP I D

thông qua các khâu khuếch đại, khâu tích phân,

được tạo ra từ khâu tích phân

s

1 , tín hiệu eD được tạo ra từ khâu vi phân s Đầu vào của khối xử lý

đầu vào là sai lệch e

- Khối tạo cấu trúc mạng nơron:

Nhiệm vụ của khối tạo cấu trúc mạng nơron là tính

toán đầu ra của mạng nơron theo các trọng số mới

nhận từ khối huấn luyện mạng Đầu vào của khối

này là e , e , e nhận từ khối xử lý đầu vào và các P I D

trọng số mới nhất được chỉnh định từ khối huấn

luyện mạng nơron

- Khối huấn luyện mạng nơron:

Nhiệm vụ của khối huấn luyện mạng nơron là

chỉnh định các trọng số của mạng theo hàm mục

tiêu là giảm sai lệch e về 0 Đầu vào của khối này

là sai lệch e

- Khối xử lý đầu ra:

Nhiệm vụ của khối xử lý đầu ra là cung cấp tín

hiệu điều khiển cho đối tượng thông qua bộ điều

chế độ rộng xung Bộ điều chế độ rộng xung được

tích hợp sẵn trong vi điều khiển ARM 32 bít Đối

tượng điều khiển là động cơ nên tín hiệu điều

khiển là các xung số Đầu vào của khối xử lý đầu

ra là giá trị của đầu ra mạng nơron

- Khối giao tiếp máy tính:

Khối này có nhiệm vụ truyền giá trị đầu ra của đối tượng lên máy tính, đồng thời cài đặt tham số điều khiển xuống bộ điều khiển trung tâm Đầu vào của khối này là tín hiệu phản hồi từ đối tượng điều khiển

4.2 Thiết kế vòng điều khiển chương trình

Hình trên mô tả vòng điều khiển chương trình Đầu tiên thực hiện việc đọc giá trị đầu ra của đối

tượng và tính toán sai lệch e, tiếp đó sẽ thực hiện

việc đa dạng hóa đầu vào cho mạng nơron, rồi thực hiện tác vụ tạo cấu trúc mạng, sau đó tác vụ huấn luyện mạng được thực hiện, sau khi huấn luyện mạng thì thực hiện điều chế độ rộng xung tạo tín hiệu điều khiển động cơ một chiều, cuối

cùng là thực hiện việc truyền dữ liệu lên máy tính

Thời gian thực hiện 1 vòng quét là 30ms Việc cố định thời gian này được thực hiện bằng Timer 2 Khi Timer 2 báo hết 30ms sẽ xuất hiện ngắt tràn cho phép thực hiện vòng quét tiếp theo

4.3 Chương trình điều khiển

Chương trình cho vi điều khiển ARM 32 bít được viết trên phần mềm Keil C for ARM V4.0

Trang 7

Giao diện người dùng được viết bằng phần mềm

C# (Microsoft)

Chương trình điều khiển được viết theo lưu đồ

thuật toán được đưa ra ở hình dưới đây:

Chương trình điều khiển được tổ chức dưới dạng

module (file) lần lượt thực hiện các công việc:

đếm xung từ encoder; đa dạng hóa đầu vào cho

mạng nơron, huấn luyện mạng, tính đầu ra; điều

chế độ rộng xung PWM; truyền dữ liệu lên máy

tính

4.4 Kết quả thực nghiệm

Ban đầu mức điều khiển là 1000 vòng/phút, sau đó

giảm mức điều khiển xuống 800 vòng/phút và lại

quay lại với tốc độ là 1000 vòng/phút Công thức

tính tốc độ động cơ theo số xung đo được từ

30*100

n

(vòng/phút)

Trong đó: v: tốc độ động cơ (vòng/phút)

n: số xung encoder đo được

chiều

Nhận xét: Ở mức 1000 vòng/phút, động cơ đạt

được xác lập ở giá trị này với sai số trên dưới 1.5%, khi giá trị đặt là thấp thì sai số lớn hơn Thời gian quá độ của hệ thống khoảng 0.6s Nguyên nhân của sự sai lệch này là do độ phân giải

encoder của động cơ thấp

5 Kết luận

Bộ điều khiển được thiết kế dựa trên dòng vi điều khiển ARM 32 bít cho phép tăng hiệu quả tính toán, mặt khác lại có khả năng kết nối vào ra theo các chuẩn công nghiệp phổ biến, qua đó góp phần đem lại khả năng điều khiển đa dạng các đối tượng công nghiệp có chu kỳ điều khiển lớn nhỏ khác nhau

Bộ điều khiển kết hợp PID-Neural có khả năng ứng dụng linh hoạt, cho chất lượng điều khiển tốt khi thay đổi giá trị đặt và ngay cả khi hệ thống chịu ảnh hưởng của nhiễu Điều này khắc phục hạn chế của bộ điều khiển PID kinh điển, thường không đem lại chất lượng mong muốn khi hệ thống có giá trị đặt thay đổi trong khoảng rộng hoặc có nhiễu tác động

Phương pháp điều khiển kết hợp PID-Neural trên nền vi điều khiển mạnh như ARM 32 bít hứa hẹn khả năng xây dựng bộ điều khiển công nghiệp trong tương lại

Tài liệu tham khảo

thuyết điều khiển mờ”, NXB Khoa học và Kỹ

thuật, 2006

trúc và lập trình họ vi điều khiển 8051”,

NXB Khoa học và Kỹ thuật, 2003

dành cho kỹ sư điều khiển tự động”, NXB

Khoa học và Kỹ thuật, 2010

Elsevier, Information Science 121, pp

201-215 1999

[5] F Lin, R D Brandt, G Saikalis, “Self-Tuning

of PID Controllers by Adaptive Interaction”,

IEEE CONTROL SOCIETY, 2000 American Control Conference, Chicago, 2000

Berlin, 1996

Trang 8

Trịnh Mạnh Tuyên sinh

năm 1984 Anh nhận bằng Kỹ

sư ngành Điều khiển tự động của trường Đại học Bách Khoa Hà Nội năm 2008 Từ năm 2009 đến nay, anh là giáo viên Bộ môn Tự động và

Kỹ thuật tính, Khoa Kỹ thuật Điều khiển, Học viện

Kỹ thuật Quân sự (HVKTQS) Hiện anh đang làm

luận văn tốt nghiệp cao học chuyên ngành Tự

động hóa tại HVKTQS Hướng nghiên cứu chính

là tự động hóa các quá trình công nghệ, tích hợp

hệ thống điều khiển giám sát, các hệ thống mạng

máy tính và truyền thông công nghiệp

Nguyễn Văn Xuân sinh năm

1981 Năm 2005 anh nhận bằng Kỹ sư ngành Toán tin, năm 2010 anh nhận bằng thạc sỹ ngành Tự động hóa tại HVKTQS Từ năm 2005 đến nay anh là giáo viên Bộ môn Tự động và Kỹ thuật tính, Khoa Kỹ thuật Điều khiển, HVKTQS Hướng

nghiên cứu chính là ứng dụng vi điều khiển cho hệ

thống nhúng, các thuật toán điều khiển phỏng sinh

học, các hệ thống mạng truyền thông công nghiệp

Phan Quốc Thắng sinh năm 1954 Ông nhận

bằng kỹ sư và Tiến sỹ ngành vô tuyến điện năm

1978 và 1990 đều tại Học viện Kỹ thuật quân sự

WAT-Ba Lan Từ năm 1991 đến nay, là giảng viên

Bộ môn Tự động và Kỹ thuật tính, Khoa Kỹ thuật

Điều khiển, HVKTQS Hướng nghiên cứu chính là

các hệ thống xử lý số, điều khiển số, các hệ thống

đo lường tự động, các hệ thống điện tử lập trình,

hệ thống nhúng, các phương pháp điều khiển

thông minh, mạng nơron nhân tạo và hệ nhúng

Ngày đăng: 20/08/2015, 09:48

HÌNH ẢNH LIÊN QUAN

H. 10  Sơ đồ khối hệ thống điều khiển - Proceedings VCM 2012 89 nâng cao chất lượng hệ thống điều khiển ứng dụng thuật toán
10 Sơ đồ khối hệ thống điều khiển (Trang 5)
3.2. Sơ đồ khối phần cứng hệ thống điều khiển - Proceedings VCM 2012 89 nâng cao chất lượng hệ thống điều khiển ứng dụng thuật toán
3.2. Sơ đồ khối phần cứng hệ thống điều khiển (Trang 5)
Hình  trên  mô  tả  vòng  điều  khiển  chương  trình.  Đầu  tiên  thực  hiện  việc  đọc  giá  trị  đầu ra  của  đối  tượng  và tính toán sai lệch e, tiếp đó sẽ thực  hiện  việc  đa  dạng  hóa  đầu  vào  cho  mạng  nơron,  rồi  thực  hiện tác vụ tạo cấu tr - Proceedings VCM 2012 89 nâng cao chất lượng hệ thống điều khiển ứng dụng thuật toán
nh trên mô tả vòng điều khiển chương trình. Đầu tiên thực hiện việc đọc giá trị đầu ra của đối tượng và tính toán sai lệch e, tiếp đó sẽ thực hiện việc đa dạng hóa đầu vào cho mạng nơron, rồi thực hiện tác vụ tạo cấu tr (Trang 6)

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