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

Điều khiển tốc độ động cơ sử dụng pid số

19 2K 29
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Điều Khiển Tốc Độ Động Cơ Sử Dụng PID Số
Tác giả Nguyễn Quốc Huy
Người hướng dẫn PGS.TS Nguyễn Thị Phương Hà
Trường học Trường Đại Học
Chuyên ngành Điều Khiển Tốc Độ Động Cơ
Thể loại Đồ án
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 484,1 KB

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

Nội dung

Mục đích đề tài là ĐIỀU KHIỂNTỐC ĐỘ ĐỘNG CƠ SỬ DỤNG PID SỐ, tuy đây là một đề tài khá quen thuộc nhưng điển khác biệt so với những đề tài trước là sử dụng là sử dụng ngôn ngữ lập t

Trang 1

LỜI TỰA

Mục đích đề tài là ĐIỀU KHIỂNTỐC ĐỘ ĐỘNG CƠ SỬ DỤNG PID SỐ,

tuy đây là một đề tài khá quen thuộc nhưng điển khác biệt so với những đề tài trước là

sử dụng là sử dụng ngôn ngữ lập trình là C thông qua chương trình CodevisionAVR

C compiler để lập trình cho vi xử lý ATMega16 nhằm mục đích tối ưu hóa những khả năng của ATMega16

Đồ án thực hiện đề tài gồm 5 phần :

► Phần I: giới thiệu hệ thống điều khiển tốc độ động cơ

► Phần II : Phần cứng

► Phần III : Thiết kế khối hiệu chỉnh PID bằng giải thuật phần mềm

► Phần IV : Phần mềm

► Phần V : Tài liệu tham khảo

Xin chân thành cảm ơn cô Nguyễn Thị Phương Hà, người đã gợi ý và hướng dẫn tôi thực hiện đề tài này

Dù đã cố gắng rất nhiều nhưng trong quá trình thực hiện không thể tránh có sai sót, tôi mong được sự góp ý để có thể hoàn thiện tốt hơn

Người thực hiện Nguyễn Quốc Huy

Trang 2

NHẬN XÉT, ĐÁNH GIÁ CỦA GIÁO VIÊN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 3

MỤC LỤC

Phần I : Giới thiệu hệ thống điều khiển tốc độ động cơ 4

Phần III : Giải thuật mờ thiết kế bộ điều khiển PID cho động cơ 12

Trang 4

PHẦN I : GIỚI THIỆU HỆ THỐNG ĐIỀU KHIỂN

TỐC ĐỘ ĐỘNG CƠ DC

Động cơ điện một chiều trong dân dụng thường là các dạng động cơ hoạt động với điện áp thấp, dùng với những tải nhỏ Trong công nghiệp, động cơ điện một chiều được sử dụng ở những nơi yêu cầu moment mở máy lớn hoặc yêu cầu thay đổi tốc độ trong phạm vi rộng

Một phần quan trọng của động cơ điện một chiều là bộ phận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong cuộn rotor trong khi chuyển động quay của rotor là liên tục Thông thường bộ phận này là bộ phận gồm có một bộ cổ góp và một

bộ chổi than tiếp xúc với cổ góp Đây cũng chính là nhược điểm chính của động cơ điện một chiều: cổ góp làm cho cấu tạo phức tạp, đắt tiền, kém tin cậy và nguy hiểm trong môi trường dễ nổ, khi sử dụng phải có nguồn điện một chiều kèm theo hoặc bộ chỉnh lưu

Hiện nay có một số xu hướng trong điều khiển động cơ Trong một số trường hợp, vấn đề cần quan tâm chỉ đơn giản là điều khiển tốc độ, gia tốc, mômen hoặc các thuộc tính khác của động cơ trên cơ sở tín hiệu điều khiển đầu vào là từ phía con

người, chẳng hạn như qua bảng điều khiển Việc điều khiển bằng tay như vậy thuộc về phạm trù điều khiển vòng hở Trong một số trường hợp khác, động cơ phải tự động đưa ra các đáp ứng với các tác động thời gian thực Các đáp ứng đối với các tác động này được quan sát và các điều chỉnh cần thiết được tự động tạo ra Vì vậy, nó tạo ra một môi trường điều khiển kín Các điều khiển vòng lặp kín như vậy được gọi là hệ tùy động servo, hay chỉ đơn giản là servo

Điều khiển servo là một quá trình xử lý tín hiệu liên quan đến điều khiển động

cơ trên cơ sở động học của các tín hiệu vào như vị trí, tốc độ hay mômen Trong quá khứ người ta sử dụng các mạch tương tự để thực hiện điều khiển servo, nhưng khả năng thích nghi của các bộ vi xử lý tín hiệu số (DSP) đã tạo ra một công nghệ cho sự lựa chọn trong nhiều ứng dụng Khi dải thông cho điều khiển tốc độ và mômen đơn giản là hẹp một cách tương đối nếu so sánh với mã hóa tiếng nói, MCUs thường đủ nhanh các việc xử lý DSP nhỏ nhặt Trong một số trường hợp, mặc dù chúng phải dựa

vào các bảng tra (look-up tables) để cho các kết quả xấp xỉ, nhưng MCUs không có

tốc độ để thực hiện những thuật toán điều khiển nâng cao được cần đến trong truyền động ổ đĩa cứng có chất lượng cao nhất, các ổ CD-ROM hay DVD Tuy nhiên, các bộ điều khiển đĩa này có yêu cầu cao hơn các bộ điều khiển tốc độ động cơ Chúng phải đảm bảo điều khiển vị trí servo của phần cơ khí đọc (và viết) mà thường là các động

cơ tuyến tính Điều khiển thích nghi là cần thiết cho các trường hợp này để bù sự thay

đổi nhiệt, sự lão hóa (aging) của đĩa và các lực gia tốc vật lý

Trang 5

PHẦN II : PHẦN CỨNG

1.CẤU TRÚC TỔNG QUÁT :

Board điều khiển được thiết kế nhằm mục đích diều khiển động cơ có công suất tối đa là 10 Watt ,mạch chính gồm 6 khối như sau :

● Khối xử lý trung tâm : sử dụng vi điều khiển ATMega16

● Khối hiển thị : sử dụng LCD 16x2 giao tiếp với PORTA của vi xử

● Khối cảm biến : Encoder nối trực tiếp vào trục Motor để xác định tốc độ

● Khối công suất : có khả năng điều khiển Motor dùng nguồn DC 24V

● Khối bàn phím : gồm 4 phím nhấn và 4 công tắc on-off dùng để điều khiển và thiết lập các thông số cho bộ điều khiển tốc độ Chức năng của từng phím được thiết lập bằng phần mềm

● Khối cấp nguồn : nguồn chính cung cấp điền áp 5V,12V, và 24V dùng để cung cấp cho mạch điều khiển và mạch công suất

Sơ đồ mô tả mạch :

:

2.KHỐI XỬ LÍ TRUNG TÂM :

Xử lý trung tâm

Khối hiển thị LCD

Khối bàn phím

Khối cảm biến

Khối cấp nguồn

Khối công suất

Trang 6

Đóng vai trò bộ điều khiển trung tâm, chịu trách nhiệm về tất cả các họat động của mạch Board mạch chủ với bộ xử lí trung tâm là ATMega16 cung cấp mộ công cụ

có thể thực hiện điều khiển theo bất kì phương pháp nào, chỉ cần có giải thuật và

chuyển đổi thành chương trình nạp vào bộ nhớ của ATMega16

Vi điều khiển ATMega16 được chọn vì MCU này có những ưu điểm trong việc điều khiển động cơ, cụ thể là bộ 2 timer 8 bit và 1 timer 16 bit tất cả đều có bộ chia tần

và PWM (Pulse Width Modulation)

Tổng quan về ATMega16:

ATMega16 là một vi điều khiển 8 bit do hãng ATMEL sản xuất, được chế tạo theo công nghệ low-power CMOS, khả năng tiêu thụ công suất thấp, xử lý nhanh với 16KB Flash(In-System Self-Programmable Flash) Thiết bị này được chế tạo bằng cách sử dụng kĩ thuật bộ nhớ không bốc hơi mật độ cao của ATMEL Flash In-System cho phép bộ nhớ được lập trình bởi một lập trình viên bình thường Bằng cách kết nối một CPU 8 bit với một bộ nhớ Flash 16KB trên một chip đơn, ATMega16 là một MCU mạnh, cung cấp một bộ điều khiển với sự linh động cao và giá thành cạnh tranh đối với nhiều ứng dụng dùnh MCU 8 bit

Sơ đồ chân và các đặc điểm chủ yếu củ ATMega16 :

● 16KB Flash Rom có khả năng ghi/xóa 10.000 lần

● In-System Programming sử dụng On-chip Boot Program

● 2 timer 8bit và 1 timer 16bit tất cả đều có bộ chia tần

● 4 kênh PWM (Pulse Width Modulation)

● 8 kênh biến đổi ADC 10bit

● 6 chế độ tiết kiệm nguồn

● 21 nguồn ngắt cho phép lập trình linh hoạt

● 32 đường I/O lập trình được (4 Port)

● Tần số hoạt động từ : 0 Hz đến 16MHz

Trang 7

Mô tả sơ đồ mạch :

Trang 8

Vi điều khiển ATMega16 sử dụng thạch anh định tần 4Mhz, một chu kì lệnh sẽ chiếm thời gian là 1 0.25

4.000.000 = μs ATMega16 có 5 nguồn reset, trong

đó có nguồn Power-on reset và External reset dùng nút nhấn SW1

3.KHỐI HIỂN THỊ :

Sử dụng LCD 16x2 giao tiếp với vi xử lý qua PORTA và gaio tiếp ở chế độ 4

bit vì vậy chỉ sử dụng 7 chân I/O của vi xử lý nhưng vẫn có khả năng hiển thị tốc độ động cơ cũng như các thông số khác liên quan đến việc điều chỉnh hay cài đặt ban đầu cho bộ điều khiển

4.KHỐI CẢM BIẾN :

Trang 9

Sử dụng 1 Encoder loại Incremental encoder 100 xung trên một vòng gắn trực tiếp vào trục động cơ, tín hiệu ngỏ ra của encoder là dạng xung vuông mà ứng với mỗi lần động cơ quay đủ một còng thì số xung xuất ra là 100 Ngỏ ra của encoder sẽ được nối vào chân INT0 của MCU ATMega16

5.KHỐI CÔNG SUẤT :

Dùng OPTO(PC817)-MOSFET(IRF540) để đảm bảo hai yêu cầu là cách ly về điện và đáp ứng tần số cao trong đóng ngắt

Sử dụng cặp Transistor bù D468 và B562 là mạch điều khiển điện áp ở chân G của MOSFET đảm bảo ép MOSFET có thể đóng ngắt đúng như tín hiệu điều khiển Nguồn cấp cho mạch công suất là 12VDC nhưng nguồn cấp cho động cơ là 24VDC

OPTO được nối vào chân OC0(PB3) của ATMega16, OC0 là chân chuyên dụng của timer0 8bit ở chế độ Phase Correct PWM

Trang 10

6.KHỐI BÀN PHÍM :

Gồm 4 phím nhấn và 4 switch được kết nối trực tiếp vào PORTC như hình vẽ :

Các nút nhấn và switch được sử dụng để cài đặt các thông số cần thiết cho bộ điều khiển tốc độ động cơ, đồng thờ cũng được dùng để ra lệnh hiển thị trạng thái của các thông số PID thay đổi khi thực hiện điều khiển

7.KHỐI CẤP NGUỒN :

Khối cấp nguồn cung cấp nguồn DC 5V cho mạch điều khiển và 12V, 24V cho mạch công suất Khối cấp nguồn sử dụng 3 loại IC ổn áp là LM7824, LM7812, và LM7805 cùng với Transistor kéo dòng là Q2SA1302

0

OUT_5

0

D8 D1N4007

0

J6

24VAC/5A

1

Q2SA1302

Q2

J7 5V

1

U4 LM7812

1

2

VIN

VOUT

OUT_12

0

0

R7 4.7-2W

D10 D1N4007

C8 2200uF/35V

J9 24V

1

C11 2200uF/35V

OUT_24

OUT_24

0

R5 100K

C12 0.1uF

U3 LM7824

1

2

VIN

VOUT

Q1

Q2SA1015

C10 8200uF/50V

0

F1 FUSE

D13 D1N4007 U5 LM7805

1

2

VIN

VOUT

C9 2200uF/35V R4

560

0

KHOI NGUON

D1

BRIDGE

2

4

0

0 0

D12 D1N4007

R6 4.7-2W

0

R3 2.2K

Q2SA1302

Q3

J8 12V

1

OUT_12

D9 D1N4007

OUT_5

Trang 11

BỘ HIỆU CHỈNH PID CHO ĐỘNG CƠ

Sơ lượt về bộ PID mờ :

Có thể nói trong lĩnh vực điều khiển, bộ PID được xem như một giải pháp đa năng cho các ứng dụng điều khiển Analog cũng như Digital Theo một nghiên cứu cho thấy có khoảng hơn 90% các bộ điều khiển được sử dụng hiện nay là bộ điều khiển PID Bộ điều khiển PID được thiết kế tốt có khả năng điều khiển hệ thống với chất lượng quá độ tốt (đáp ứng nhanh, độ vọt lố thấp) và triệt tiêu được sai số xác lập

Việc thiết kế bộ PID kinh điển thường dựa trên phương pháp Zeigler-Nichols, Offererin, reinish… Tuy nhiên nếu đối tượng điều khiển là phi tuyến thì bộ điều khiển PID kinh điển không thẻ đảm bảo chất lượng điều khiển tại mọi thời điểm làm việc

Do đó để điều khiển các đối tượng phi tuyến này nay người ta thướng ùng kĩ thuật hiệu chỉnh PID mềm (dựa trên phần mềm), đây chính là cơ sở cuủa thiết kế PID mờ hay PID thích nghi

Sơ đồ điều khiển dùng PID mờ :

Mô hình tính toán của bộ PID :

0

( ) ( ) ( ) ( )

t

de t

u t K e t K e x dx K

dt

0

( ) [ ( ) ( ) ]

t P

de t

u t K e t e x dx

( )

P

I

K

s

= + +

2

p I

D

K K

K

α

= I

D

T T

α =

BỘ CHỈNH ĐỊNH MỜ

THIẾT BỊ CHỈNH ĐỊNH

de dt

BĐK PID ĐỐI TƯỢNG

y

u

e

x

Trang 12

Các tham số K K K P, I, D đuợc chỉnh định theo từng bộ điều khiển mờ riêng biệt dựa tr7en sai lệch e(t) và đạo hàm de(t) Có nhiều phương pháp khác nhau để hcỉnh định bộ PID như à dựa trên phiếm hàm mục tiêu, chỉnh định trực tiếp, chỉnh định theo Zhao, Tomizuka và Isaka… Nguyên tắc chung là bắt đều với các trị K K K P, I, D theo Zeigler-Nichols, sau đó dựa vào đáp ứng và thay đổi dần để tim ra hướng chỉnh định thích hợp

Luật chỉnh định PID :

● Lân cận a1 ta cần luật điều khiển mạnh để rút ngắn thời gian lên, do vậy chọn : K P lớn, K D nhỏ, và α nhỏ

● Lân cận b1 ta tránh vọt lố lớn nên chọn : K P nhỏ, K D lớn, và α lớn

● Lân cận c1 và d1 giống như lân cận a1 và b1

● Khi giá trị tuyệt đối của sai lệch lớn ta cần có tín hiệu điều khiển mạnh để đưa nhanh sai lệch về 0 Dựa theo nguyên tắc này ta có ma trện quan hệ chỉnh định

, ,

P I

K K α đều có dạng gần đối xứng qua đường chéo chính hoặc trục phụ

Các buớc thiết kế :

1.Xác định biến ngôn ngữ :

● Đầu vào : 2 biến

+ Sai lệch : ET = Đo – Đặt + Tốc độ tăng : DET ET i( 1) ET i( )

T

+ −

= với T là chu kí lấy mẫu

● Dầu ra : 3 biến

+ K P hệ số tỉ lệ

+ K I hệ số tích phân

+ K D hệ số vi phân

Trang 13

DET = {âm,zero,dương};

ET = {N,Z,P};

/

K K = {zero,trung bình,lớn}={Z,M,U};

α = {múc 1,mức 2,mức 3}={L1,l2,l3};

ET∈ − [ 10, 10] + , DET∈ − [ 10, 10] +

+10 -10

ET

Z P N

0 C μ

DET μ

0 C/s

P

K

D

K

Z M U

0 0.5 1

μ

Trang 14

2.Luật hợp thành mờ :

* Luật chỉnh định K P :

P

N Z P

N U M Z

Z M Z M

ET

P Z M U

* Luật chỉnh định K D :

D

N Z P

N Z M U

Z M U M

ET

P U M Z

* Luật chỉnh định α :

N Z P

N L1 L1 L3

Z L2 L3 L2

ET

P L3 L1 L1

3.Chọn luật và giải mờ :

+ Chọn luật hợp thành theo quy tắc Max-Min

α

μ

Trang 15

+ Giải mờ theo phương pháp độ cao

Mô hình bộ điều khiển PID sử dụng giải thuật phần mềm :

Nhận xét : sau khi tiến hành thực nghiệm với hệ thống thực thì ta thấy thuật

toán mờ tính toán các thông số PID cho kết quả khá tốt, khi áp dụng cho bộ điều khiển

PI thì độ vọt lố tối đa là 15% và thời gian xác lập tốc đa là 1.5s Vì bộ nhớ và khả năng tính toán của vi điều khiển ATMEga16 còn hạn chế nên luật hợp thành mờ chỉ có 3x3

và tầm điều khiển là: ET[-10;+10], DET[-10;+10]; nếu ta tăng luật hợp thành mờ lên 5x5 hoăc 7x7 thì tầm điều khiển sẽ được mở rộng và chất lượng hệ thống sẽ tăng lên

α

Bộ mờ 1

Bộ mờ 2

Bộ mờ 3

e(t)

( )

de t

dt

Bộ điều khiển PI

P

K

D

K

du

0

U

P

du dt

Trang 16

PHẦN IV : PHẦN MỀM Lưu đồ giải thuật :

STAR

OCR0 = 180 toc_do_dat = 160 delay 1s

SW1= = 1

toc_do_do = pulse_new – pulse_old ET_old = ET_new

ET_new = toc_do_do – toc_do_dat DET = ET_new – ET_old

ET = = 0

Mờ hóa ET, DET

Tính ,K K P D

Tính K I

F

T

T

F

Trang 17

Chương trình cho vi điều khiển ATMega16 được viết bằng ngôn ngữ C sau đó biên dịch sang file hex rồi nạp vào flash rom của ATMega16:

+ Sử dụng timer0 8 bit để điều rộng xung PWM điều khiển tốc độ động cơ,

trong đó timer0 được thiết lập ở mode Phase Correct PWM và giá trị thanh ghi

OCR0 sẽ được cập nhật để điều chỉnh tốc độ động cơ Xung ngỏ ra OC0 sẽ có tần số được tính theo công thức :

+ Sử dụng timer1 16 bit để định thời sau mỗi 10ms sẽ thực thi chương trình ngắt, trong đó timer0 được thiết lập ở mode CTC(Clear Time on Compare match) và ngắt Output compare A match đuợc thực thi mỗi khi giá trị của thanh ghi TCNT1 bằng giá trị thanh ghi OCR1A Ta sẽ thiết lập sao cho thời gian ngắt là 10ms, cứ sau mỗi 10ms chương trình ngắt sẽ thực thi và tính toán ET và DET Tần số ngắt có thể tính theo công thức :

Trang 18

+ Sử dụng ngắt INT0(external interupt) để nhận tín hiệu từ encoder trả về sau

đó tăng dần biến đếm pulse, cứ sau mỗi 10ms chương trình ngắt timer1 sẽ truy cập vào

biến này đề tính toán tốc độ động cơ

+ Sau khi đã xác định được ET và DET thì nếu ET == 0 ta sẽ quay trởi lại và chờ kết thúc 10ms rồi tiếp tục xác định lại tốc độ động cơ.Nếu ET khác 0 thì ta sẽ thực hiện mờ hoá ET và DET thanh các giá trị μ(ET), (μ DET) [0,1] ∈ bằng cách gọi hàm mờ

hoá

+ Bước tiếp theo ta tiếp tục gọi hàm Tính K , Tính P K D , Tính α

+ Sau khi có cá thông số K K p, D,α ta thực hiện tính KI

+ Sau đó ta sẽ thực hiện tính toán giá trị điện áp U ngỏ ra thông qua giải thuật

bộ điều khiển PI cập nhật vào thanh ghi OCR0 của timer0 và từ đó sẽ quyết định độ rộng xung ở ngỏ ra OC0

Bộ điều khiển PI :du K DET K ET P I

Nhận xét : sử dụng bộ điều khiển PI vì bộ điều khiền PI thực hiện một cách khá

dễ dàng và cho kết quả khá tốt, tuy bộ điều khiển PID sẽ cho kết quả tốt hơn nhưng do khả năng của Vi xử lí ATMega16 bị hạn chế trong khi đó giải thuật thực hiện bộ PID

số khá phức tạp đò hỏi phải có bộ nhớ lập trình lớn và khả năng xử lý mạnh vì vậy nên tôi lựa chọn bộ diều khiển PI vì giải thuật lập trình không quá phức tạp phù hợp với ATMega16.Tuy bộ điều khiển PI cho độ vọt lố khoảng 15% khi sai số ET lớn và thời gian xác lập khá lớn nhưng vẫn đảm bảo yêu cầu chất lượng và ổn định của hệ thống

Trang 19

[1] Nguyễn Thị Phương Hà, Lý thuyết điều khiển hiện đại, Nhà xuất bản Đại

Học Quốc Gia Thành Phố Hồ Chí Minh, 2007

[2] Hugh Jack, Automating Munufacturing Systems, GNU Free Documentation

License, 2007

[3] Karl Johan Astrom and Bjorn Wittenmark, Adaptive Control,

Addision-Wesley Publishing Company, 1989

[4] Frank L.Lewis and Vassilis L.Syrmos, Optimal Control, Jonh Wiley &

Sons,Inc , 1995

[5] Tống Văn On, Thíết kế hệ thống với họ 8051, Nhà xuất bản Phương Đông,

2005

[6] J.Harris, Fuzzy Logic Applications in Engineering Science, Published by

Springer, 2006

[7] Michael A.Johnson and Mohammad H.Moradi, PID Control, Springer, 2005

Ngày đăng: 24/10/2012, 14:14

HÌNH ẢNH LIÊN QUAN

Sơ đồ mô tả mạch : - Điều khiển tốc độ động cơ sử dụng pid số
Sơ đồ m ô tả mạch : (Trang 5)
Sơ đồ điều khiển dùng PID mờ : - Điều khiển tốc độ động cơ sử dụng pid số
i ều khiển dùng PID mờ : (Trang 11)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w