Điều khiển realtime với DSPF2812

Một phần của tài liệu Nghiên cứu thực hiện bộ điều khiển số trên nền tảng DSP TMS320F2812 (Trang 111 - 129)

Từ các kết quả mô phỏng ở trên ta tiến hành xây dựng bộ điều khiển trên DSP .Bộ điều khiển là bộ điều khiển đã mô phỏng ở phần trước tuy nhiên mô hình động cơ và bộ biến đổi công suất không không còn nữa mà động cơ và bộ biến đổi bây giờ nằm phía ngoài .Bộ điều khiển không phải thực hiện trên matlab mà nằm trên DSP .Việc đo tốc độ và vị trí động cơ không phải được tính toán dựa trên mô hình nữa mà được đo từ encoder hoặc các kênh ADC do đó ta cần xây xựng môt khối đo riêng để xác định tốc độ và vị trí hiện tại của encoder

Hình 3.33 Cấu trúc điều khiển realtime với DSP F2812

Trong đó các khối “transmit to host” , “setpoint to host”, “receive from host” là các khối làm nhiệm vụ giao tiếp với matlab thông qua cổng truyền thông RTDX Khối “Position control” và “speed control “là các bộ điều khiển vị trí và tốc độ.Khối “measure” có chức năng đo tốc độ và vị trí động cơ .Đầu vào khối này là giá trị đếm xung encoder của bộ counter ,đầu ra là giá tốc độ quay (RPM) của động cơ và vị trí (mm) của bộ truyền động vít me .. Khối “measure” được xây dựng như sau

(a)

(b)

( c )

(d)

Hình 3.34 Khâu đo lường

(a) cấu trúc , (b) khối QEP clock , (c) khối Position caculator, (d) khối speed caculator

Nguyên lý hoạt động : Số xung đếm được của bộ counter có giá trị từ 0 - 65535 khi tràn bộ đếm lại quay trở về 0 . Xung đếm này được đưa vào khối QEP clock ,Khối QEP clock làm nhiệm vụ tính toán số xung đếm và chiều quay trong một chu kỳ lấy mẫu ( 0,001s) .Nếu chiều thuận thì đầu ra delta clock mang giá trị dương ,và chiều ngược thì mang giá trị âm và trị tuyệt đối của nó là số xung đếm trong một chu kỳ .Giá trị delta clock này được đưa qua hai khối riêng biệt để xác định vị trí và tốc độ động cơ.Việc xác định tốc độ động cơ được thực hiện theo công thức (3.4)

Kết quả thực nghiệm

Trường hợp khi tín hiệu đặt vị trí là 100mm từ vị trí gốc (0 mm) Đáp ứng tốc độ khi mô phỏng 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 500 1000 1500 2000 2500 3000 3500 Time (s) S pee d (R P M) 19 20 21 22 23 24 25 0 500 1000 1500 2000 2500 3000 Time (s) S pee d (R P M)

Hình 3.35 Đáp ứng tốc độ khi mô phỏng với giá trị đặt ví trí là 100mm

Tốc độ đo được khi chạy thực

Đáp ứng vị trí khi mô phỏng 0 5 10 15 20 25 30 0 10 20 30 40 50 60 70 80 90 100 Time(s) Pos iti on ( mm )

Hình 3.37 Đáp ứng vị trí khi mô phỏng với giá trị đặt ví trí là 100mm

Đáp ứng vị trí khi chạy thực

Hình 3.38 Đáp ứng vị trí khi chạy thực với giá trị đặt ví trí là 100mm

Ghi chú :Các khối Scope khi chạy mô phỏng có đơn vị các trục là đơn vị chuẩn .Ví thời gian (Time) có đơn vị là giây(s) ,Tốc độ (Speed) là vòng/phút (RPM) , vị trí (Position) là mm .Còn khi chạy thực do đây là vector scope nên các đơn vị trục tung phụ thuộc vào tốc độ Frame ( do trong khi truyền thông cần

giảm mẫu phù hợp với tốc độ truyền thông của thiết bị ) .Cụ thể đơn vị thời gian là 10s (0,1 tương sứng với 1s) .

Nhận xét :

- Hệ thống không có sai lệch tĩnh .Đáp ứng vị trí bám sát với tín hiệu đặt là 100 mm

- Thời gian tăng tốc đến 3000(V/P) là 0,7s và giảm tốc là 3,5s - Thời gian đáp ứng vị trí 100mm là 22s

- Không có quá điều chỉnh

- Đáp ứng vị trí và tốc độ khi thực nghiệm và mô phỏng là hoàn toàn giống nhau

Tương tự với các trường hợp khác

Trường hợp khi tín hiệu đặt vị trí là -100mm từ vị trí gốc (0 mm) Đáp ứng tốc độ khi mô phỏng 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -3500 -3000 -2500 -2000 -1500 -1000 -500 0 Time (s) S pee d (R P M) 19 20 21 22 23 24 25 -3500 -3000 -2500 -2000 -1500 -1000 -500 0 Time (s) S pee d (R P M)

Hình 3.39 Đáp ứng tốc độ khi mô phỏng với giá trị đặt ví trí là -100mm

Đáp ứng vị trí khi mô phỏng 0 5 10 15 20 25 30 35 40 45 50 -120 -100 -80 -60 -40 -20 0 Time (s) P os iti on ( mm )

Hình 3.41 Đáp ứng vị trí khi mô phỏng với giá trị đặt ví trí là -100mm

Đáp ứng vị trí khi chạy thực

Hình 3.42 Đáp ứng vị trí khi chạy thực với giá trị đặt ví trí là -100mm

Trường hợp khi tín hiệu đạt là hàm nhẩy bậc Đáp ứng vị trí khi mô phỏng 0 5 10 15 20 25 30 35 40 45 50 0 10 20 30 40 50 60 70 80 90 100

Hình 3.43 Đáp ứng vị trí khi mô phỏng với giá trị đặt là tín hiệu nhẩy bậc Đáp ứng vị trí khi chạy thực

Hình 3.44 Đáp ứng vị trí khi mô phỏng với giá trị đặt là tín hiệu nhẩy bậc

lần chạy thử nghiệm và mô phỏng đếu thực hiện với chu kỳ lấy mẫu ở mạch vòng tốc độ là 0,001s và mạch vòng vị trí là 0,1s .Thời gian lấy mẫu nhỏ hơn thì có thể hệ thống sẽ đáp ứng nhanh hơn tuy nhiên sẽ gây sai số nhiều trong đo lường làm cho kết quả đáp ứng có thể không chính xác .Mạch vòng vị trí là khâu P với hệ số Kp = 400 và mạch vòng tốc độ là khâu PI với Kp=0,05 và Ki =0,08 .

Kết quả thực nghiệm đã có kết quả rất chính xác so với mô phỏng nhưng có một vấn đề vẫn cần phải nhấn mạnh ở đây là việc thực hiện bộ điều khiển trên matlab có thể chạy được nhưng chưa chắc đã chạy được trên nền tảng một vi xử lý bất kỳ .Điều này không có nghĩa là lý thuyết điều khiển không đúng mà là do chỉ lý thuyết điều khiển và mô phỏng thôi là chưa đủ .Chúng ta còn phải quan tâm đến năng lực tính toán và các phép toán xử lý số học trên vi xử lý vì điều này trên matlab và các hệ vi xử lý độc lập thông thường là khác nhau .Đôi khi sự bất cẩn trong việc thực hiện các bộ điều khiển số có thể gây ảnh hưởng nghiêm trọng đến hệ thống ( ví dụ như hiện tượng tràn dữ liệu hay khi thực hiện các phép toán có thể làm đáp ứng bị ngược lại so với mong muốn) .

KẾT LUẬN

Sau 12 tuần , với sự nỗ lực của bản thân và sự chỉ bảo của các thầy cô giáo trong bộ môn ,các bạn ,và sự chỉ bảo tận tình thầy giáo – TH.S Phạm Tuấn Anh em đã cơ bản hoàn thành đồ án với các nội dung đã đặt ra .

Bài báo cáo một lần nữa nói lên những ưu điểm của bộ điều khiển số , sự ứng dụng rộng rãi của các hệ thống điều khiển số trong mọi lĩnh vực khác nhau của đời sống xã hội và công nghiệp. Giúp cho chúng ta hiểu hơn về cấu trúc của một bộ điều khiển số ,bản chất của các khâu ADC, DAC … Nội dung quan trọng hơn và cũng là nội dung chủ đạo của đồ án này là đã trình bày một cách khá chi tiết việc thực thi một bộ điều khiển sử dụng phần mềm matlab - một phần mềm được biết đến khá phổ biến trong lĩnh vực điều khiển với tư cách là mộ phần mềm tính toán , mô phỏng – và một họ vi xử lý rất mạnh sử dụng rộng rãi để điều khiển số động cơ ,năng lượng … là DSP TMS320F2812 bao gồm việc phần cứng ( động lực + điều khiển ) và phần mềm điều khiển . Để từ đó chứng minh một cách trực quan về tính đúng đắn của các lý thuyết điều khiển trên cơ sở so sánh các kết quả mô phỏng (trên matlab) và thực nghiệm ( trên một họ vi xử lý độc lập ) .

Tuy đã bước đầu thành công trong việc thực hiện các bộ điều khiển số trên nền tảng một vi xử lý cụ thể ,xong mới dừng lại ở mức độ đơn giản ,chưa ứng dụng được các lý thuyết điều khiển hiện đại .Đối tượng điều khiển mới chỉ sử dụng động cơ DC servo tức là chưa khai thác được nhiều tài nguyên của Matlab và DSP TMS320F2812 .Do trình độ và thời gian có hạn nên những nội dung này em chưa thực hiện được và đây sẽ là hướng phát triển tiếp theo của đề tài .

Trong quá trình nghiên cứu và hoàn thành đồ án do kiến thức có hạn ,khả năng lĩnh hội các kiến thức mới còn hạn chế nên nội dung báo cáo còn nhiều thiếu sót em rất mong được sự chỉ bảo của các thầy cô .Em xin chân thành cảm ơn !

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Lê Văn Doanh - Các bộ cảm biến trong kỹ thuật đo lường và điều khiển , Nhà xuất bản Khoa học và Kỹ thuật.

[2] Nguyễn Doãn Phước ,Lý thuyết điều khiển tuyến tính , Nhà xuất bản Khoa học và Kỹ thuật.

[3] PGS.TSKH Nguyễn Phùng Quang (2006), MATLAB và Simulink dành cho kỹ sư điều khiển tự động, Nhà xuất bản Khoa học và Kỹ thuật.

[4] PGS.TSKH Nguyễn Phùng Quang (2009), Bài giảng Điều khiển số

Tiếng Anh

[5] eZdspTM F2812 Reference Technical - SPECTRUM DIGITAL – 2003 [6] TMS320C2812 Digital Signal Processors Data Manual – Texas Intrument [7] Code Composer StudioDevelopment Tools v3.3 Getting Started Guide – Texas Intrument

[8] Embedded IDE Link™ 4 User’s Guide – Texas Intrument

[9] Roland S. Burns (2001), Advanced control engineering, Butterworth – Heinemann

[10] DEVELOPMENT OF A MOTOR SPEED CONTROL SYSTEM USING MATLAB AND SIMULINK, IMPLEMENTED WITH A DIGITAL SIGNAL PROCESSOR - ANDREW KLEE B.S. University of Central Florida, 2003

[11] TMS320F2812 DIGITAL SIGNAL PROCESSOR IMPLEMENTATION TUTORIAL – Texas Intrument

[12] RH DC servo catalog

[13] VisSim™ Embedded Controls Developer

[14] Targetfor TI C2000 – mathworks

Một số trang WED

[15] www.mathworks.com/ [16] http://www.ti.com/

PHỤ LỤC 1

PHỤ LỤC 2

CHƯƠNG TRÌNH MFILE MATLAB clc

Tw=0.001;

Tp=0.1;%Hang so thoi gian khau phan hoi toc do %Thiet ke bo dieu khien cho dong co dien mot chieu %---Nhap cac thong so--- Ra=2.7;%[ohm]-dien tro phan ung

La=1.1e-3%[H]

f=30000%675;%[Hz]-tan so bam xung Tf=1/f;

Ta=La/Ra;

Kcs=23/2500;2500 la gia tri period cua bo counter PWM,23 la dien ap nguon Kt=5.76;

Kb=0.6; Bf=1.5e-1; J=81.6e-3;

%__________________________________________________________________________ disp('Ham truyen dong phan ung')

Gsa0=tf(1/Ra,[Ta 1]) disp('Ham truyen momem') Gsa1=Kt

disp('Ham truyen bo bien doi cong suat') Gsbd=tf(Kcs,[Tf 1])

disp('Ham truyen toc do')

Gstd=tf(1,[J Bf]) %Gsa2=N(s)/T(s) ham truyen toc do disp('anh huong sdd phan ung kb=')

Gsafb=Kb% He so back E.M.F Gsaopen=Gsa0*Gsa1*Gstd disp('Ham truyen doi tuong')

disp('Bieu dien bang toan tu Laplace (S)')

Gsaclose=feedback(Gsaopen,Gsafb)*100%Ham truyen dat co phan hoi E.M.F %++++++++++++Khao sat doi tuong+++++++++++++++++++

disp('Bieu dien bang toan tu Z')

Gsaz=c2d(Gsaclose,Tw,'zoh')%chuyen mo hinh dong co sang mien Z [numgaz,dengaz]=tfdata(Gsaz,'v')

disp('Bieu dien dang DSP (Z^-1')

Gsaz1=filt(numgaz,dengaz,Tw)%Bien ham truyen Motor ve dang Z^(-1)

%__________________________________________________________________________ disp('___________________________________________________________________') disp('Ham truyen s phan hoi mach toc do')

Gsphw=tf(1,[Tw 1])

disp('Ham truyen tren mien z') Gsphwz=c2d(Gsphw,Tw,'zoh') disp('chuyen sang z^-1')

[numGsphwz,denGsphwz]=tfdata(Gsphwz,'v'); Gsphwz1=filt(numGsphwz,denGsphwz,Tw)

disp('Ham truyen s doi tuong mach toc do') Gsw=Gsaclose*Gsbd

disp('Ham truyen tren mien z') Gswz=c2d(Gsw,Tw,'zoh')

disp('chuyen sang z^-1')

[numGswz,denGswz]=tfdata(Gswz,'v'); Gswz1=filt(numGswz,denGswz,Tw)

Mục lục

LỜI MỞ ĐẦU... 1

CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN SỐ ... 3

1.1 KHÁI NIỆM VỀ HỆ THỐNG ĐIỀU KHIỂN SỐ ... 3

1.1.1 Khái quát chung về điều khiển số ... 3

1.1.2 Cấu trúc của một hệ thống điều khiển số... 4

1.1.3 Một vài hệ thống ứng điều khiển số trong thực tế ... 5

1.2 MÔ HÌNH TÍN HIỆU VÀ HỆ THỐNG... 11

1.2.1 Mô hình hệ thống điều khiển số ... 11

1.2.2 Mô hình khâu ADC ... 12

1.2.3 Mô hình khâu DAC ... 13

1.2.4 Hàm truyền của khâu chậm bậc không (ZOH) ... 14

1.2.5 Kết hợp hàm truyền của các khâu DAC, hệ thống con Analog và Khâu ADC... 15

1.2.6 Hàm truyền vòng kín của hệ thống ... 17

1.2.7 Mô hình nhiễu trong hệ thống điều khiển số ... 18

1.3 ĐIỀU KHIỂN SỐ TRUYỀN ĐỘNG ĐIỆN ... 19

CHƯƠNG 2. DSP TMS320F2812 VÀ CÁC CÔNG CỤ HỖ TRỢ PHÁT TRIỂN ... 24

2.1 CẤU TRÚC DSP TMS320F2812... 24

2.1.1 Giới thiệu chung ... 24

2.1.2 Cổng vào ra số ( Digital I/O ) ... 27

2.1.3 Chuyển đổi tương tự số ( ADC)... 36

2.1.4 Hệ thống ngắt F2812 ... 44

2.1.5 Modul quản lý sự kiện (EV )... 50

2.2 BOARD EZDSP F2812 ... 53

2.3 CÁC MÔI TRƯỜNG PHẦN MỀM HỖ TRỢ PHÁT TRIỂN DSP C2000 58

2.3.1 Sử dụng trình biên dịch CCS ... 58

2.3.2 Sử dụng môi trường lập trình đồ họa ViSsim... 59

2.3.2 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000 ... 62

2.4 SỬ DỤNG MATLAB ĐỂ TẠO MÃ LỆNH VÀ THU THẬP DỮ LIỆU TỪ DSP TMS320F2812 ... 63

2.4.1 Sử dụng thư viện tic200lib... 63

2.4.2 Các khối thư viện... 68

CHƯƠNG 3. THỰC HIỆN BỘ ĐIỀU KHIỂN SỐ SỬ DỤNG DSP TMS320F2812 ... 80

3.1 MÔ TẢ HỆ THỐNG ĐIỀU KHIỂN ... 80

3.1.1 Đối tượng điều khiển ... 80

3.1.2 Thiết bị đo lường ... 84

3.1.3 Thiết bị điều khiển... 90

3.2 THỰCHIỆNCÁCCẤUTRÚCĐIỀUKHIỂN ... 99

3.2.1 Các cấu trúc điều khiển... 99

3.2.2 Tổng hợp bộ điều khiển và mô phỏng offline... 104

3.2.3 Điều khiển realtime với DSP F2812 ... 111

KẾT LUẬN... 120

TÀI LIỆU THAM KHẢO ... 121

PHỤ LỤC 1 ... 122

Một phần của tài liệu Nghiên cứu thực hiện bộ điều khiển số trên nền tảng DSP TMS320F2812 (Trang 111 - 129)

Tải bản đầy đủ (PDF)

(129 trang)