Kiểm soát hướng dẫn cho MATLAB và SIMULINK (2024)

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (1)

Chủ đề chính: Phân tích đáp ứng tần số, nhận dạng hệ thống, bù chì, điều khiển nhúng, tạo mã tự động

Nội dung

  • Thiết bị cần thiết
  • Mục đích
  • Mô hình thực vật điều khiển dữ liệu
  • Sử dụng hộp công cụ nhận dạng hệ thống
  • Kiểm soát phản hồi (Bồi thường tĩnh)
  • Kiểm soát phản hồi (Bồi thường động)
  • Điều khiển nhúng
  • Phần mở rộng

Thiết bị cần thiết

  • Bộ vi xử lý Arduino (ví dụ: Uno, Mega, v.v.)
  • Bánh mì
  • Pin (ví dụ AA)
  • Các thành phần điện tử (cuộn cảm, điện trở, tụ điện)
  • Diode
  • Transitor (MOSFET)
  • Dây nhảy

Hệ thống chúng tôi sẽ sử dụng trong hoạt động này là một loại bộ chuyển đổi DC/DC được gọi làBộ chuyển đổi Boost (Step-Up).Mục đích của bộ chuyển đổi tăng là lấy điện áp được cung cấp bởi một nguồn điện áp không đổi (ví dụ: pin) và đầu ra một điện áp đầu ra cao hơn (xấp xỉ).Chi tiết về nguyên tắc hoạt động của bộ chuyển đổi tăng cường có thể được tìm thấy trongMột phần (a)của hoạt động này.Hành vi đáp ứng tần số của bộ chuyển đổi tăng được nghiên cứuMột phần (b)của hoạt động này.Trong phần này của hoạt động, chúng tôi sẽ triển khai một hệ thống điều khiển để kiểm soát điện áp đầu ra của mạch chuyển đổi.Một hệ thống điều khiển như vậy là cần thiết nếu muốn thay đổi điểm đặt điện áp đầu ra hoặc nếu điều kiện hệ thống thay đổi (ví dụ: thay đổi nguồn điện áp đầu vào, thay đổi tải, v.v.).Cụ thể, chúng tôi sẽ sử dụng phương pháp phản hồi tần số để thiết kế bộ điều khiển phản hồi.Trong hoạt động này, bảng Arduino sẽ được sử dụng để đo đầu ra của mạch thông qua một trong các bảngĐầu vào tương tựvà để kiểm soát mức điện áp đầu ra thông qua một trong các bảngĐầu ra kỹ thuật số.Hội đồng Arduino cũng sẽ truyền đạt dữ liệu được ghi lại để simulink để trực quan hóa và phân tích.Logic điều khiển sẽ được chỉ định trong Simulink và ban đầu bộ điều khiển sẽ chạy trên máy tính máy chủ.Cuối cùng, chúng tôi sẽ nhắm mục tiêu logic điều khiển này vào bộ vi xử lý trên bảng Arduino.

Một sơ đồ của mạch tăng chúng tôi sẽ kiểm soát trong phần này được hiển thị bên dưới bao gồm một danh sách các biến chúng tôi sẽ sử dụng.

(ROAD) Điện trở của điện trở tải
(REQ) Điện trở chuỗi tương đương (ESR) của cuộn cảm
(L) Độ tự cảm của cuộn cảm
(C) Điện dung của tụ điện
(EI) Điện áp đầu vào (từ pin)
(EO) Điện áp đầu ra

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (2)

Mục đích

Mục đích của hoạt động này là để chứng minh cách thiết kế bộ điều khiển bằng các kỹ thuật đáp ứng tần số dựa trên mô hình thực vật có nguồn gốc theo kinh nghiệm và không hoàn hảo.Hơn nữa, hoạt động này cho thấy cách các bộ điều khiển nhúng thường được thiết kế và triển khai trong thực tế bằng cách sử dụng các công cụ tạo mã và thiết kế hiện đại.

Mô hình thực vật điều khiển dữ liệu

Đề cập đến việc phân tíchMột phần (b)của hoạt động này, chúng tôi đã thu thập dữ liệu đáp ứng tần số thực nghiệm từ mạch chuyển đổi Boost.Cụ thể, đối với đầu vào chu kỳ nhiệm vụ thay đổi về mặt hình sin về chu kỳ nhiệm vụ danh nghĩa khoảng 0,39, chúng tôi đã quan sát thấy sự thay đổi tỷ lệ và pha của tín hiệu điện áp đầu ra.Sử dụng tập hợp các thành phần sau: cuộn cảm 1-H, 1200-Kiểm soát hướng dẫn cho MATLAB và SIMULINK (3)tụ điện, 1000-Kiểm soát hướng dẫn cho MATLAB và SIMULINK (4)Điện trở tải, IRFZ44N Power MOSFET và NTE585 DIODE Schottky, chúng tôi đã thu thập tập hợp dữ liệu đáp ứng tần số sau đây.

Tần số (Hz)0,010,050,10,20,250,512.55
Tần số (rad/giây)0,06280,3140,6281.261,573.146.2815.731.4
Độ lớn (dB)9,529,359.069.168,967.446.15-0,28-9,83
Giai đoạn (độ)-0,36-0,00-0,36-5,76-9.0-28.8-75.6-90.0-162

Dữ liệu này có thể được biên dịch dưới dạng biểu đồ Bode bằng cách thực thi các lệnh sau tại dòng lệnh MATLAB.

freq = [0,0628 0,314 0,628 1,26 1,57 3.14 6.28 15.7 31.4];% tần số trong rad/giâymag = [9,52 9,35 9.06 9.16 8,96 7.44 6.16 -0.28 -9.83];% cường độ trong dbpha = [-0.36 0 -0.36 -5.76 -9 -28.8 -75.6 -90.0 -162];% pha tínhSubplot (2,1,1); semilogx (freq, mag,'*') lướiTRÊNxlabel('Tần số (rad/giây)') ylabel ('Độ lớn (db)')tiêu đề('Boost Converter Sơ đồ Bode thực nghiệm') Subplot (2,1,2); semilogx (freq, giai đoạn,'*') lướiTRÊNxlabel('Tần số (rad/giây)') ylabel ('Giai đoạn (deg)')

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (5)

Biểu đồ trên đóng vai trò là một mô hình gần đúng cho mạch chuyển đổi Boost của chúng tôi trong vùng lân cận của các điều kiện hoạt động mà thí nghiệm đã được thực hiện.Chúng tôi sẽ sử dụng dữ liệu này trong việc thiết kế một bộ bù cho mạch chuyển đổi Boost.Vì thuận tiện hơn khi có mô hình chức năng chuyển thực tế (hoặc phương trình vi phân) để sử dụng trong thiết kế, chúng tôi sẽ cố gắng phù hợp với mô hình toán học với dữ liệu này.

Sơ đồ Bode có nguồn gốc từ thực nghiệm phản ánh một hệ thống loại 0 với hai cực.Hệ thống là loại 0 vì biểu đồ cường độ phẳng ở tần số thấp và pha tiếp cận 0 độ ở tần số thấp.Cụ thể, phần tần số thấp của biểu đồ cường độ tiếp cận khoảng 9,5 dB, tương ứng với mức tăng DC khoảng 3 kể từ 20Kiểm soát hướng dẫn cho MATLAB và SIMULINK (6)3Kiểm soát hướng dẫn cho MATLAB và SIMULINK (7)9,5.Sự hiện diện của hai cực được biểu thị bằng biểu đồ cường độ lăn ra ở độ dốc xấp xỉ -40 dB/thập kỷ (và pha xuất hiện hướng về phía -180 độ).Bằng một số thử nghiệm và lỗi, có vẻ như các cực bị phá vỡ ở đâu đó trong khu phố 10 rad/giây, cho chúng ta ước tínhKiểm soát hướng dẫn cho MATLAB và SIMULINK (8)nơi chúng ta sẽ giả định rằng hai cực là liên hợp phức tạp của nhau.Do dữ liệu đáp ứng tần số không hiển thị đỉnh cộng hưởng, độ lớn không tăng trong vùng lân cận, chúng ta có thể giả định rằng tỷ lệ giảm xócKiểm soát hướng dẫn cho MATLAB và SIMULINK (9)lớn hơn 0,707.Bằng cách dùng thử và lỗi, lựa chọnKiểm soát hướng dẫn cho MATLAB và SIMULINK (10)0,9 dường như phù hợp với dữ liệu khá tốt.Do đó, chúng tôi sẽ giả định những điều sau đây cho mô hình nhà máy của chúng tôi.

(1)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (11)

Sử dụng hộp công cụ nhận dạng hệ thống

Ngoài ra, nếu bạn có quyền truy cập vàoHộp công cụ nhận dạng hệ thốngĐối với MATLAB, có các lệnh phù hợp với số lượng một mô hình với dữ liệu phản hồi tần số mà chúng tôi đã tạo.Cụ thể, bạn có thể sử dụngTfestlệnh để phù hợp với mô hình chức năng chuyển đến dữ liệu của chúng tôi được biểu thị trong dữ liệu phản hồi tần số (FRD) định dạng (độ lớnKiểm soát hướng dẫn cho MATLAB và SIMULINK (12)và phaKiểm soát hướng dẫn cho MATLAB và SIMULINK (13)được đại diện dưới dạng một số phứcKiểm soát hướng dẫn cho MATLAB và SIMULINK (14)).Các lệnh được đưa ra dưới đây sẽ trả về mô hình chức năng chuyển ước tính với hai cựcKiểm soát hướng dẫn cho MATLAB và SIMULINK (15)và không có số khôngKiểm soát hướng dẫn cho MATLAB và SIMULINK (16).

freq = [0,0628 0,314 0,628 1,26 1,57 3.14 6.28 15.7 31.4];% tần số trong rad/giâymag = 10.^([9.52 9,35 9.06 9.16 8,96 7.44 6.16 -0.28 -9,83]/20);% kích cỡpha = [-0.36 0 -0.36 -5.76 -9 -28.8 -75.6 -90.0 -162]*pi/180;% pha tính bằng radianresp = mag.*exp (i*pha);% phản hồi như các số phức tạpsys = frd (resp, freq);% dữ liệu phản hồi tần sốnp = 2;% số cực trong mô hìnhNZ = 0;% số số không trong mô hìnhPtb = tfest (sys, np, nz)% mô hình chức năng chuyển nhượng ước tính
Ptb = 369.2 --------------------- S^2 + 24.66 S + 129.9 Hàm truyền được xác định thời gian liên tục.Pharameterization: Số cực: 2 Số không0 Số lượng hệ số miễn phí: 3 Sử dụng "TFDATA", "GetPvec", "GetCov" cho các tham số và độ không đảm bảo của chúng.: 0.1526, MSE: 0.1209

Kiểm tra mô hình trên được tạo bởiTfestLệnh hiển thị một giải pháp tương đối giống nhau với giải pháp mà chúng tôi ước tính gần như từ việc kiểm tra dữ liệu đáp ứng tần số của chúng tôi.Ngoài ra, người ta có thể tạo một mô hình được trang bị bằng cách sử dụngCông cụ nhận dạng hệ thống GUIcó thể được khởi chạy từ dòng lệnh với lệnhNhận dạng.

Thực hiện các lệnh MATLAB sau đây thể hiện thỏa thuận giữa dữ liệu cường độ thu được thực nghiệm và hai mô hình được tạo ở trên.

K = 3; wn = 10; zeta = 0,9; s = tf ('S'); P = k*wn^2/(s^2 + 2*zeta*wn*s + wn^2); freq = [0.0628 0.314 0.628 1.26 1.57 3.14 6.28 15.7 31.4];% tần số trong rad/giâymag = [9,52 9,35 9.06 9.16 8,96 7.44 6.16 -0.28 -9.83];% cường độ tính bằng dbspha = [-0.36 0 -0.36 -5.76 -9 -28.8 -75.6 -90.0 -162];% pha tínhhình; semilogx (freq, mag,'r*') giữ; o = bodeOptions; o.phasevisible ='tắt'; O.xlim = [10^-2 10^2]; bodeplot (p, o); bodeplot (ptb, o,'r--'); lướiTRÊNhuyền thoại('Mô hình tầm nhìn'Thì'Mô hình hộp công cụ')xlabel('Tần số (rad/giây)') ylabel ('Độ lớn (db)')tiêu đề('Tăng dữ liệu cường độ chuyển đổi')
Âm mưu hiện tại được tổ chức

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (17)

Tương tự, chúng tôi có thể kiểm tra thỏa thuận cho dữ liệu pha bằng cách thêm các lệnh bổ sung sau.

O = BodeOptions; O.Phasevisible ='TRÊN';'tắt'; O.xlim = [10^-2 10^2]; Hình;'r--'); semilogx (freq, giai đoạn,'r*') lướiTRÊNhuyền thoại('Mô hình tầm nhìn'Thì'Mô hình hộp công cụ')xlabel('Tần số (rad/giây)') ylabel ('Giai đoạn (deg)')tiêu đề('Boost Dữ liệu pha chuyển đổi')
Âm mưu hiện tại được tổ chức

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (18)

Độ chính xác tương đối được hiển thị trong các số liệu trên cho chúng ta một số tự tin rằng các mô hình được trích xuất của nhà máy được đưa ra ở trên sẽ phù hợp cho mục đích thiết kế điều khiển.Tuy nhiên, lưu ý rằng vì dữ liệu của chúng tôi bị giới hạn ở các tần số dưới 31.4 rad/giây, chúng tôi sẽ cần cẩn thận về hành vi của hệ thống của chúng tôi ở tần số cao hơn vì mô hình của chúng tôi về cơ bản không được biết ở tần số cao hơn nhiều trên 31.4 rad/giây.

Kiểm soát phản hồi (Bồi thường tĩnh)

Tại thời điểm này, chúng tôi sẽ triển khai một hệ thống điều khiển cho mạch chuyển đổi Boost.Cụ thể, chúng tôi sẽ triển khai những gì được gọi là bộ điều khiển chế độ điện áp cho bộ chuyển đổi DC/DC trong đó chúng tôi chỉ huy một điểm đặt cho mức điện áp đầu ra mong muốn và sau đó cung cấp lại một phép đo điện áp đầu ra để sử dụng bởi bộ điều khiển của chúng tôi.Một sơ đồ khối đại diện về mặt khái niệm phương pháp này được hiển thị bên dưới.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (19)

Nếu các điều kiện hoạt động không đổi và có thể thực hiện thử nghiệm đủ trước thời hạn, người ta có thể thực hiện bộ điều khiển vòng mở trong đó thử nghiệm đã tiết lộ đầu vào chu kỳ nhiệm vụ nào là cần thiết để tạo ra điện áp đầu ra tương ứng ở trạng thái ổn định.Cách tiếp cận như vậy có thể không mạnh lắm vì các điều kiện vận hành và nhà máy có thể thay đổi thường xuyên và/hoặc không được biết đến tốt.Ví dụ, nguồn điện áp đầu vào có thể thay đổi (điện áp pin giảm khi sử dụng, nguồn có thể là máy phát điện, v.v.) hoặc tải có thể thay đổi (tải có thể tuổi, mô -men xoắn có thể được áp dụng cho động cơ được cung cấp bởi bộ chuyển đổi, v.v.).

Thiết lập phần cứng

Thiết lập phần cứng của chúng tôi sẽ tương tự như được sử dụng trongMột phần (b)của hoạt động này.Cụ thể, chúng tôi sẽ sử dụng tập hợp các thành phần sau: cuộn cảm 1-H, 1200-Kiểm soát hướng dẫn cho MATLAB và SIMULINK (20)tụ điện, 1000-Kiểm soát hướng dẫn cho MATLAB và SIMULINK (21)Điện trở tải, MOSFET công suất IRF1520 và diode 1N4007.Hơn nữa, chúng tôi vẫn sẽ sử dụng tín hiệu PWM do phần cứng tạo ra từ bảng Arduino.Chúng tôi sẽ sử dụng đầu ra PWM 980 Hz (được tạo ra trên chân 5 hoặc 6 của hầu hết các bảng Arduino).Một đầu vào tương tự của bảng Arduino sẽ được sử dụng để đo điện áp đầu ra để sử dụng bởi bộ điều khiển phản hồi của chúng tôi.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (22)

Một sự khác biệt trong việc sử dụng phần cứng sẽ phát sinh sau đó là chúng tôi sẽ sử dụng bảng Arduino để chạy logic điều khiển.Tuy nhiên, các kết nối và thành phần vật lý sẽ không thay đổi.Hiện tại, chúng tôi sẽ chạy logic điều khiển trên máy tính máy chủ.

Thiết lập phần mềm

Mô hình Simulink của chúng tôi để thực hiện hệ thống điều khiển chế độ điện áp vòng kín này sẽ tương tự như mô hình của chúng tôi từMột phần (b)của hoạt động này.Chúng tôi vẫn sẽ sử dụng khối từ gói IO để giao tiếp với bảng Arduino, có thể tìm thấy chi tiết thêmđây.Tuy nhiên, chúng tôi sẽ thêm logic cho bộ điều khiển phản hồi vào mô hình của chúng tôi.Để bắt đầu, chúng tôi sẽ giả sử một bộ điều khiển tỷ lệ đơn giản với mức tăngKiểm soát hướng dẫn cho MATLAB và SIMULINK (23)và sẽ cố gắng theo dõi một bước thay đổi trong điểm đặt điện áp đầu ra mong muốn.Cụ thể, điểm đặt mong muốn sẽ bắt đầu ở mức 1,8 volt trước khi bước lên 2,8 volt sau 3 giây.Một mô tả về mô hình Simulink đã sửa đổi được hiển thị bên dưới và có thể được tải xuốngđây.Bố cục của mô hình này làm cho cấu trúc phản hồi của hệ thống điều khiển khá rõ ràng.Bạn có thể tưởng tượng rằng nhà máy được điều khiển, bộ chuyển đổi tăng, nằm ở vị trí vật lý giữa khối ghi tương tự và khối đọc tương tự.Khối viết tương tự sẽ gửi tín hiệu PWM ra thế giới vật lý và khối đọc tương tự ghi lại đầu ra của nhà máy và đưa nó trở lại vào phần mềm điều khiển.Kiểm tra mô hình được cung cấp cho thấy rằng bộ điều khiển hoạt động theo lỗi về độ lệch của điện áp đầu ra từ một số cấp độ danh nghĩa, nghĩa là lỗi trongKiểm soát hướng dẫn cho MATLAB và SIMULINK (24).Hơn nữa, bộ điều khiển tạo ra lệnh chu kỳ nhiệm vụ là độ lệch so với chu kỳ nhiệm vụ tương ứng với điện áp đầu ra danh nghĩaKiểm soát hướng dẫn cho MATLAB và SIMULINK (25).Bộ điều khiển được thiết lập theo cách này bởi vì mô hình nhà máy mà chúng tôi đang sử dụng để thiết kế đã được tuyến tính hóa về điện áp đầu ra danh nghĩa này (1,8 volt) tương ứng với chu kỳ nhiệm vụ khoảng 39 % (100/255).Trong trường hợp này, bộ điều khiển có thể được coi là chỉ hành động để điều chỉnh độ lệch so với điểm hoạt động danh nghĩa.Vì bộ chuyển đổi tăng thể chất thực tế chấp nhận chu kỳ nhiệm vụ là đầu vào và tạo điện áp đầu raKiểm soát hướng dẫn cho MATLAB và SIMULINK (26), sau đó chúng ta phải trừ điện áp danh nghĩa khỏi tín hiệu phản hồi để tạoKiểm soát hướng dẫn cho MATLAB và SIMULINK (27)và chúng ta phải thêm chu kỳ nhiệm vụ danh nghĩa vào đầu ra của bộ điều khiển để cung cấp cho bộ chuyển đổi lệnh toàn bộ chu kỳ nhiệm vụ,Kiểm soát hướng dẫn cho MATLAB và SIMULINK (28).

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (29)

Nó đáng để mất một phút để suy nghĩ về những gìKiểm soát hướng dẫn cho MATLAB và SIMULINK (30)Đại diện trong mô hình này.Kiểm soát hướng dẫn cho MATLAB và SIMULINK (31)là một hằng số bằng 0,5 có lỗi điện áp làm đầu vào và tạo ra lệnh chu kỳ nhiệm vụ cho mạch chuyển đổi.Vì thế,Kiểm soát hướng dẫn cho MATLAB và SIMULINK (32)Có đơn vị phần trăm/volt và lỗi 1 volt sẽ tạo ra sự thay đổi 50 phần trăm trong lệnh chu kỳ nhiệm vụ (cách xa điểm hoạt động danh nghĩa).Việc chuyển đổi trên đầu ra của khối đọc tương tự chuyển đổi số 10 bit biểu thị điện áp đầu ra thành các đơn vị của volt, trong khi chuyển đổi trước khi khối ghi tương tự chuyển đổi lệnh chu kỳ nhiệm vụ từ tỷ lệ phần trăm thành số 8 bit.Khối bão hòa chiếm thực tế là chu kỳ nhiệm vụ không thể nhỏ hơn 0 (tắt 100 phần trăm thời gian) và không thể lớn hơn 1 (trên 100 phần trăm thời gian).Một bộ điều khiển tỷ lệ theo định nghĩaTĩnhVì mối quan hệ giữa đầu vào và đầu ra không thay đổi;Một đầu vào cụ thể sẽ luôn tạo ra cùng một đầu ra từ bộ điều khiển tĩnh, bất kể điều kiện hoặc lịch sử mà hệ thống trải qua.

Trong phiên bản có thể tải xuống của mô hình, thời gian mẫu của các khối khác nhau được đặt thành một biếnTShoặc được kế thừa.Xác định thời gian mẫu làTS = 0,02Tại dòng lệnh MATLAB và chạy mô hình tạo ra phản hồi sau.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (33)

Hệ thống vòng kín phản ứng với việc "bật" vào thời điểmKiểm soát hướng dẫn cho MATLAB và SIMULINK (34)bằng 0 giây với tham chiếu điểm đặt ban đầu được đặt thành 1,8 volt (mặc dù có thể một số điện tích ban đầu trên tụ điện trong mạch).Sau đó 3 giây, các bước tham chiếu lên đến 2,8 volt.Kiểm tra cho thấy rằng phản hồi tương đối nhanh, phần nào bị đánh giá thấp ở chỗ nó thể hiện quá mức, và cuối cùng giải quyết được giá trị trạng thái ổn định được bù khỏi lệnh tham chiếu là 2,8 volt.Dự kiến ​​sẽ có lỗi trạng thái ổn định khác không khác nhau dựa trên bộ điều khiển và mô hình nhà máy mà chúng tôi đang giả sử, tương ứng với hệ thống phản hồi thống nhấtLoại 0(bao gồm không có nhà tích hợp).Hầu hết các bộ điều khiển cho các bộ chuyển đổi DC/DC sẽ thêm một bộ tích hợp để tăng loại hệ thống và giảm lỗi trạng thái ổn định xuống 0 cho một tham chiếu không đổi.Chúng tôi sẽ phát triển một bộ điều khiển như vậy trong phần sau.

Kiểm soát phản hồi (Bồi thường động)

Trong phần này, chúng tôi sẽ phát triển một bộ bù tinh vi hơn cho mạch chuyển đổi Boost.Như đã giải thích trong phần trước, chúng tôi đã đề xuất thêm một bộ tích hợp vào bộ điều khiển của chúng tôi để tăng loại hệ thống và điều khiển lỗi trạng thái ổn định về 0 cho tham chiếu hằng số (DC).Thách thức với việc bổ sung bộ tích hợp là nó thêm 90 độ trễ pha.Điều này có thể giảm ổn định hệ thống vòng kín, đặc biệt nếu chúng ta muốn tăng tốc độ phản ứng của hệ thống bằng cách đẩy tần số crossover tăng cao hơn.Do đó, chúng tôi sẽ thêm bù chì cho bộ tích hợp của chúng tôi để giúp tăng tốc độ phản hồi và bù cho độ trễ pha từ bộ tích hợp.Vì trong thực tế, một bộ bù chì không thể thêm hơn 70 độ dẫn pha, thực tế chúng tôi sẽ sử dụng hai bộ bù chì để kiểm soát tổng thể của chúng tôi sẽ có hình thức sau.

(2)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (35)

Sự hiện diện củaKiểm soát hướng dẫn cho MATLAB và SIMULINK (36)-Therms trong bộ điều khiển của chúng tôi chỉ ra rằng đây là bộ bù động.Nhớ lại sự nhân củaKiểm soát hướng dẫn cho MATLAB và SIMULINK (37)tương ứng với sự khác biệt và phân chia bởiKiểm soát hướng dẫn cho MATLAB và SIMULINK (38)Tương ứng với tích hợp, người ta có thể thấy rằng đầu ra của bộ bù này không chỉ phụ thuộc vào đầu vào hiện tại, mà còn cả các đầu vào quá khứ (tích hợp) và đầu vào trong tương lai (khác biệt).Một bộ bồi thường như vậy làNăng độngBởi vì mối quan hệ giữa đầu vào hiện tại và đầu ra thay đổi theo thời gian.

Ngoài việc đạt được lỗi trạng thái ổn định bằng không, chúng tôi cũng sẽ cố gắng thiết kế bộ bù của mình để đạt được đủ số lượng pha (cung cấp sự mạnh mẽ, vượt mức tối thiểu) và để đạt được tần số chéo tăng cao nhất có thể (cung cấp tốc độ phản hồi).Cụ thể, chúng tôi sẽ cố gắng đạt được tỷ lệ pha khoảng 60 độ và tần số chéo tăng 20 rad/giây.Về tốc độ phản hồi, một giới hạn là chúng ta cần tần số chéo tăngKiểm soát hướng dẫn cho MATLAB và SIMULINK (39)ít nhất là một hoặc hai thập kỷ dưới tần số PWM để "lọc" đầy đủ sự chuyển đổi giữa trạng thái bật và tắt của bộ chuyển đổi.Trong trường hợp này, chúng tôi sẽ nhắm đến tần số chéo là 20 rad/giây vì nó thấp hơn tần số PWM và vì nó chỉ ở trên tần số cộng hưởng của nhà máy (độ trễ pha được đóng góp bởi nhà máy không quá lớnchưa).Nhớ lại mô hình (đơn giản hóa) của nhà máy mà chúng tôi ước tính từ biểu đồ Bode được tạo ra bằng thực nghiệm:

(3)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (40)

Sơ đồ Bode của mô hình nhà máy với bộ tích hợp được hiển thị bên dưới.Kiểm tra hình chỉ ra rằng ở tần số chéo tăng mong muốn là 20 rad/giây, nhà máy với bộ tích hợp có pha -220 độ.Do đó, để đạt được biên độ pha 60 độ, tương ứng với pha -120 độ, bộ điều khiểnKiểm soát hướng dẫn cho MATLAB và SIMULINK (41)Cần cung cấp khoảng 100 độ của pha bổ sung.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (42)

Vì một bộ bù chì duy nhất không thể đạt được 100 độ dẫn pha, chúng tôi sẽ sử dụng hai bộ bù chì trong đó mỗi bộ sẽ cung cấp khoảng 50 độ dẫn pha.Mức độ dẫn pha mong muốn này xác định tỷ lệ giữa 0 và cực của mỗi bộ bù chì như hình dưới đây.

(4)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (43)

Vì chúng tôi có tỷ lệ giữa số 0 và cực, bây giờ chúng tôi cần tập trung vào vị trí của họ.Cụ thể, chúng tôi muốn thêm lượng chì pha tối đa (xảy ra ở giá trị trung bình hình học của số 0 và cực) tại vị trí của tần số chéo mức tăng mới của chúng tôi, 20 rad/giây.

(5)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (44)

Đồng thời giải quyết hai mối quan hệ trên, chúng tôi về số khôngKiểm soát hướng dẫn cho MATLAB và SIMULINK (45)và một cực củaKiểm soát hướng dẫn cho MATLAB và SIMULINK (46).Cuối cùng, chúng ta cần thiết lập lợi íchKiểm soát hướng dẫn cho MATLAB và SIMULINK (47)Để di chuyển tần số chéo đến vị trí mong muốn 20 rad/giây.Kiểm tra sơ đồ Bode của nhà máy với bộ tích hợp, chúng tôi cần bộ bù để thêm tổng cộng khoảng 30 dB ở vị trí tần số chéo mong muốn.Tính toán sau đây xác định lượng cường độ được cung cấp bởi mỗi bộ bù chì tạiKiểm soát hướng dẫn cho MATLAB và SIMULINK (48), giả sử mỗi bộ bù chì có biểu mẫuKiểm soát hướng dẫn cho MATLAB và SIMULINK (49).

(6)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (50)

Do đó, để thêm tổng cộng 30 dB ở 20 rad/giây, mức tăngKiểm soát hướng dẫn cho MATLAB và SIMULINK (51)phải cung cấp tổng cộngKiểm soát hướng dẫn cho MATLAB và SIMULINK (52)db độ lớn.Do đó, chúng tôi chọnKiểm soát hướng dẫn cho MATLAB và SIMULINK (53)như sau.

(7)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (54)

Đặt tất cả các kết quả này lại với nhau, tổng số bù của chúng tôi sau đó như được hiển thị.

(8)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (55)

Sơ đồ Bode sau đây của nhà máy nối tiếp với bộ bù chứng minh rằng chúng tôi đã đạt được mục tiêu của chúng tôi về biên độ gần đúng 60 độ ở tần số chéo khoảng 20 rad/giây.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (56)

Thay thế bộ điều khiển P bằng bộ bù động mà chúng tôi vừa thiết kế, mô hình Simulink của chúng tôi xuất hiện như sau và có thể được tải xuốngđây.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (57)

Chúng tôi lại đặtTS = 0,02Trước khi chạy mô hình.Điều này là nhanh như mô hình này có thể được chạy.Mô hình điều khiển P thực sự có thể được chạy nhanh hơn một chút vì nó đòi hỏi ít tính toán hơn.Chạy mô hình trên tạo ra đầu ra hơi đặc biệt sau đây.Sau đây, chúng ta có thể thấy rằng chu kỳ nhiệm vụ ngay lập tức tăng lên 100 phần trăm, trong khi điện áp đầu ra phân rã thành volt bằng không.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (58)

Giải thích cho hành vi này là bộ điều khiển đang yêu cầu chu kỳ nhiệm vụ 100 phần trăm tương ứng với công tắc bóng bán dẫn trên 100 % thời gian.Khi bật công tắc, tất cả dòng điện từ pin chảy qua công tắc và tải có hiệu lực bị ngắt kết nối với pin.Các khoản phí ban đầu trên tụ điện do đó phân rã về 0 theo thời gian.Hành vi này phù hợp với pha không tối thiểu trong hàm chuyển bộ chuyển đổi Boost (không được bao gồm trong mô hình đơn giản mà chúng tôi đã sử dụng, xemMột phần (b)) của hoạt động để biết thêm chi tiết).Để tăng điện áp đầu ra, công tắc được đóng lại để tăng năng lượng được lưu trữ trong cuộn cảm trước khi mở công tắc để giải phóng năng lượng đó ra tải.Do đó, khi yêu cầu điện áp điểm đặt được tăng lên, điện áp đầu ra ban đầu sẽ giảm do công tắc được đóng trong một khoảng thời gian dài hơn.Tuy nhiên, một khi năng lượng trong cuộn cảm được xây dựng, điện áp đầu ra cuối cùng sẽ tăng lên.Sự nhúng ban đầu trong đầu ra trong điều khiển p được giải thích bằng hiện tượng này.Tuy nhiên, trong trường hợp của bộ bù động, chu kỳ nhiệm vụ được yêu cầu quá cao và công tắc vẫn đóng toàn bộ thời gian.

Do đó, chúng tôi không thể đạt được tốc độ phản hồi mà chúng tôi mong muốn cho mạch chuyển đổi tăng cường này.Một giải pháp là thiết kế lại bộ bù động để đạt được phản ứng chậm hơn bằng cách giảm tần số chéo khuếch đại.Thay vì lặp lại toàn bộ quá trình thiết kế, chúng tôi chỉ đơn giản là giảm mức tăngKiểm soát hướng dẫn cho MATLAB và SIMULINK (59).Một giá trị củaKiểm soát hướng dẫn cho MATLAB và SIMULINK (60)tạo ra tốc độ phản ứng có thể đạt được.Cụ thể, thay đổi bộ điều khiển thành phần sau và chạy mô hình SIMULINK một lần nữa tạo ra hành vi được hiển thị bên dưới.

(9)Kiểm soát hướng dẫn cho MATLAB và SIMULINK (61)

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (62)

Kiểm tra các điều trên chứng minh rằng chúng tôi có thể đạt được lỗi trạng thái ổn định khoảng 0 volt.So sánh các sơ đồ Bode của hệ thống với điều khiển P và hệ thống với bộ bù động được sửa đổi có thể được minh họa trong việc đối chiếu các hành vi kết quả.Cụ thể, cả hai hệ thống đều có lề pha tương tự (~ 100 độ) phù hợp với thực tế là cả hai hệ thống đều thể hiện một lượng tương tự quá mức để đáp ứng với sự thay đổi bước trong yêu cầu điện áp.Tuy nhiên, hệ thống có bộ điều khiển P có tần số chéo tăng cao hơn đáng kể (8,5 rad/giây so với 2,7 rad/giây).Điều này biểu hiện ở tốc độ phản ứng nhanh hơn của hệ thống được điều khiển P (thời gian tăng nhỏ hơn, thời gian cực đại nhỏ hơn).Tất nhiên, sự đánh đổi là bộ bù động có thể đạt được lỗi trạng thái ổn định bằng không, trong khi bộ bù P thì không.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (63)

Điều khiển nhúng

Cho đến nay trong thử nghiệm này, logic để điều khiển điện áp đầu ra của mạch chuyển đổi đã chạy trong simulink trên máy chủ.Điều này đã được hoàn thành trong việc sử dụngGói IOTừ Mathworks mà về bản chất bao gồm một khối chuyên dụng và một chương trình chạy trên tàu Arduino để giao tiếp giữa bảng và máy tính chủ chạy Simulink.Ưu điểm của việc sử dụng gói IO là nó cho phép chúng tôi giao tiếp với bảng trong thời gian thực một cách dễ dàng.Do đó, chúng ta có thể quan sát và vẽ đồ thị điện áp đầu ra đo được (và nỗ lực điều khiển) trong quá trình thử nghiệm.

Một giải pháp thay thế để chạy logic điều khiển trên máy tính chủ thay vào đó là chạy logic điều khiển trên tàu Arduino.Điều này được gọi là "nhúng" điều khiển trên bộ vi xử lý của bảng Arduino.Cách tiếp cận này có hai lợi thế.Một, vì phần mềm điều khiển không phải chạy theo hệ điều hành (nghĩa là Windows, v.v.) phải giải quyết nhiều nhiệm vụ khác (ưu tiên cao hơn), chương trình điều khiển có thể chạy nhanh hơn và đạt được tốc độ lấy mẫu nhanh hơn.Ưu điểm khác là bảng Arduino không cần phải được kết nối vật lý với máy tính chủ.Vì vậy, ví dụ, bạn có thể tạo một thiết bị độc lập thông minh để duy trì điện áp được cung cấp cho động cơ, hệ thống chiếu sáng, v.v. Lưu ý rằng nếu bạn muốn rút bảng Arduino khỏi máy tính chủ, thì bạn sẽ cần cung cấp một thay thếNguồn năng lượng (pin 9 volt, v.v.) cho bảng.Trong hoạt động này, cho đến nay, chúng tôi đã cung cấp năng lượng cho bảng từ máy tính chủ thông qua cáp USB.

Để nhúng logic kiểm soát của chúng tôi lên Arduino, chúng tôi sẽ sử dụng gói hỗ trợ Arduino tiêu chuẩn từ MathWorks.Thông tin chi tiết có thể được tìm thấyđây.Blockset của gói hỗ trợ này gần như giống hệt với các gói được sử dụng trước đây từ gói IO.Cụ thể, lệnh điều khiển (bật/tắt) đạt được từ khối đầu ra kỹ thuật số và điện áp đầu ra được đọc thông qua khối đầu vào tương tự.Khối thiết lập Arduino IO và khối pacer thời gian thực không còn cần thiết nữa, mặc dù mô hình cần được đặt để tự động phát hiện cổng COM hoặc phải được đặt thủ công thành cổng COM chính xác.Điều này có thể được thực hiện thông qua menu thả xuống của thanh công cụ mô hìnhCông cụ> Chạy trên phần cứng mục tiêu> Tùy chọn ....Đây cũng là nơi loại bảng bạn đang sử dụng được đặt.Phạm vi và các khối không gian làm việc không còn được sử dụng.Việc triển khai bộ bù động được sửa đổi với khối gói hỗ trợ được hiển thị bên dưới và có thể tải xuốngđây.Phần mềm điều khiển này có thể được triển khai vào bảng Arduino bằng cách nhấp vào biểu tượng ở góc bên trên được xác định bởi vòng tròn màu đỏ bên dưới hoặc bằng cách nhậpCtrl+b.Điều này tự động xây dựng và biên dịch mô hình Simulink thành mã chạy trong thời gian thực trên tàu Arduino.Quá trình này củaTạo mã tự độngđang trở nên rất phổ biến trong thực tiễn công nghiệp.

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (64)

Ngoài ra, nếu bạn muốn theo dõi hiệu suất của bộ chuyển đổi Boost của bạn trong thời gian thực và đã ngắt kết nối bảng Arduino khỏi máy tính chủ, thì bạn cần một phương tiện thay thế để quan sát điện áp trên tải nếu bạn muốn làm như vậy.Ví dụ, bạn có thể sử dụng vôn kế hoặc máy hiện sóng.

Phần mở rộng

Trong thí nghiệm này, chúng tôi chỉ cần điều khiển điện áp qua tải điện trở không đổi.Ngoài ra, bạn có thể thay thế tải bằng một chiết áp và người quan sát phản ứng của bộ chuyển đổi khi bạn thay đổi cài đặt của chiết áp.Một tùy chọn khác là thay thế tải bằng một thiết bị mà bạn thực sự muốn lái, ví dụ, một động cơ DC.Theo cách này, động cơ có thể được điều khiển bằng điện áp "liên tục", thay vì đầu vào PWM.


Được xuất bản với MATLAB® 8.2

Kiểm soát hướng dẫn cho MATLAB và SIMULINK (2024)
Top Articles
Chiến lược đầu tư hàng đầu dành cho nhà đầu tư DIY - Times Money Mentor
3 chiến lược danh mục đầu tư phổ biến nhất với ETF
Pobierz Papa's Mocharia To Go! na PC za pomocą MEmu
Fantasy football rankings 2024: Sleepers, breakouts, busts from model that called Deebo Samuel's hard NFL year
How Much Is Vivica Fox Worth
Stanford Rival Crossword Clue
Weather Underground Merritt Island
Dyi Urban Dictionary
Dr Frita Mcrae Fisher Husband
Dbd Wesker Build
Momokun Leaked Controversy - Champion Magazine - Online Magazine
Lesson 10 Homework 5.3
Family Guy Wiki Peter
Fintechzoommortgagecalculator.live Hours
14314 County Road 15 Holiday City Oh
Unit 5 Lesson 6 Coding Activity
LeBron Glazing Poem / Boy Oh Boy, Where Do I Even Begin?
Craigslist Folding Table
Happy Clown Makeup Tutorial
rochester, NY cars & trucks - craigslist
Pain Out Maxx Kratom
Isaimini 2023: Tamil Movies Download HD Hollywood
Tamilrockers.com 2022 Isaimini
phoenix health/wellness services - craigslist
How To Level Up Intellect Tarkov
Kahoot Spamming Bots
I-80 New Jersey Traffic and Road Conditions
11000, EVV Compliance Reviews | Texas Health and Human Services
More on this Day - March, 7
Kagtwt
Filmy4Wap Xyz.com 2022
Parishes Online Bulletins
Pervmom Noodle
A-Z List of Common Medical Abbreviations, Acronyms & Definitions
Nationsotc.com/Bcbsri
Patient Portal Bayfront
Www.questdiagnostics.com
Www.playgd.mobi Wallet
'I want to be the oldest Miss Universe winner - at 31'
Rs3 Bis Perks
North Bay Craigslist Jobs
Lake Erie Noaa Near Shore
Beaufort Mugfaces Last 72 Hours
Kona Airport Webcam
Baroque Violin Shop Cincinnati Oh
Gtl Visit Me Alameda
Natalya Neidhart: Assembling the BOAT
Barbie: A Touch of Magic
Welcome to Predator Masters -- Hunting the Hunters
Schedule An Oil Change At Walmart
Greythr Hexaware Bps
Corn-Croquant Dragées 43%
Latest Posts
Article information

Author: Rev. Porsche Oberbrunner

Last Updated:

Views: 5834

Rating: 4.2 / 5 (73 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Rev. Porsche Oberbrunner

Birthday: 1994-06-25

Address: Suite 153 582 Lubowitz Walks, Port Alfredoborough, IN 72879-2838

Phone: +128413562823324

Job: IT Strategist

Hobby: Video gaming, Basketball, Web surfing, Book restoration, Jogging, Shooting, Fishing

Introduction: My name is Rev. Porsche Oberbrunner, I am a zany, graceful, talented, witty, determined, shiny, enchanting person who loves writing and wants to share my knowledge and understanding with you.