Bài giảng điều khiển số (Digital Control Systems) - Phần 4

pdf 31 trang hapham 1590
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng điều khiển số (Digital Control Systems) - Phần 4", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_dieu_khien_so_digital_control_systems_phan_4.pdf

Nội dung text: Bài giảng điều khiển số (Digital Control Systems) - Phần 4

  1. Bài giảng điều khiển số (Digital Control Systems) - Phần 4
  2. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.1 Ảnh hưởng củasố hóa (lượng tử hóa) biên độ 4.1.1 Nguyên nhân gây sai số lượng tử hóa Lượng tử hóa biên độ: 1. Có thể xuấthiện trong: khâu ADC, đơnvị xử lý trung tâm (CPU), khâu DAC. 2. Có thể gây nên: sai lệch tĩnh, dao động giá trị (bang-bang), đặcbiệt khi bề rộng củaWordxử lý không đủ lớn. 3. Có thểđượcbỏ qua đốivới chếđộtín hiệulớn (quá trình quá độ), nhưng khó có thể bỏ qua ở chếđộtín hiệunhỏ (dao động quanh điểmlàmviệc) 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 70 Electrical Engineering - Automatic Control
  3. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.1 Ảnh hưởng củasố hóa (lượng tử hóa) biên độ 4.1.1 Nguyên nhân gây sai số lượng tử hóa a) Nhậpsố liệudạng analog: Đặc tính phi tuyến bậc thang đầu tiên ở hình thuộc trang trước Ví dụ: Trích mẫu tín hiệuy nằmtrongdải0 10V, sauđósố hóa nhờ khâu ADC vớibề rộng word là WL (word length), độ phân giải ∆ (resolution) và dảigiátrị NR (number range) thu được. •Dải giá trị (thập phân): Bề rộng word W L 7 8 10 12 15 NR=− 2WL 1 [bit] Dải giá trị NR 127 255 1023 4095 32767 •Độ phân giải: Độ phân giải ∆ 0,00787 0,00392 0,00098 0,00024 0,00003 111 ∆= = ≈ Độ phân giải ∆ [%] 0,787 0,392 0,098 0,024 0,003 NR 2WL− 1 2 WL Ví dụ: Số hóa dải điện áp 10V=10000mV với bề rộng từ 7 15bit, lượng tửđiện áp (độ phân giải điện áp) có thể biểu diễn được ∆ = 78,7 0,305mV. Nếu dải điện áp đó ứng với dải nhiệt độ 100oC, độ phân giải là ∆ = 0,787 0,003oC. •L là số nguyên lần lượng tử ∆ đãchia điện áp y: yL;L0,1,2,,NRQ =∆ = •Số dư δy <∆được làm tròn lên, tròn xuống, hoặc cắt bỏ: yy+= Qyδ •Sai số lượng tử hóa δ : –Khi làm tròn: −≤0,5δ ∆≤ 0,5 y ( y )R –Khi cắt bỏ: 01≤∆<δ ( y )C 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 71 Electrical Engineering - Automatic Control
  4. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.1 Ảnh hưởng củasố hóa (lượng tử hóa) biên độ 4.1.1 Nguyên nhân gây sai số lượng tử hóa b) Đơnvị xử lý trung tâm (Central Processing Unit): Tín hiệu (yQ)AD do khâu ADC đưa tới thường được CPU xử lý với bề rộng word WLCPU lớn hơn. Các thuật toán ĐK tuyến tính gồm các bước: ek=yk( ) ( ) − wk( ) •Tính sai lệch ĐC: QQ( )AD Q •Tính đáp ứng ĐC (hàm ĐK): ukQ1QQQ()=− puk1 ( − ) − − pµ ( k −µ ) +r0Q e Q( k) + +rν Q e Q ( k −ν) Do bề rộng word WLCPU của CPU là hữu hạn, sẽ xuất hiện sai số lượng tử hóa các giá trị sau đây: •Giá trịđặt (set points): wkQ ( ) •Đại lượng ĐK: uki,i=1,2, Q ()− •Tham sốĐK: p,riQ iQ ⎪⎫ ⎬⎪,i=0,1,2, •Các tích số: pu k−− i,re k i⎪ iQ Q() iQ Q ()⎭⎪ •Tổng các tích số: ukQ ( ) Đối với CPU dấu phẩy tĩnh, độ phân giải ∆ được xác định −⋅≤≤⋅0,8388608 2−128 L 0,8388607 2 127 như mục a). Khi là dấu phẩy động, nếu là CPU 16 bit, thường sử dụng nhiều words. Ví dụ: số L = M.2E, được −⋅≤≤⋅0,24651902 10−39 L 0,14272476 10 39 biểu diễn bởi 2 words loại 16 Bit, trong đó 7 bit cho số −38 mũ E, 23 bit cho giá trị M. Phạm vi giá trị L sẽ là: ∆≈10 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 72 Electrical Engineering - Automatic Control
  5. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.1 Ảnh hưởng củasố hóa (lượng tử hóa) biên độ 4.1.1 Nguyên nhân gây sai số lượng tử hóa c) Xuấtsố liệudạng analog: Tương tự khâu nhập số liệu dạng analog, sai số lượng tử hóa của khâu xuất cũng phụ thuộc vào bề rộng word. Khâu DAC cũng gây nên một đường đặc tính phi tuyến dạng bậc thang. d) Kết luận: •Đãxuất hiện nhiều khâu phi tuyến trong toàn bộ vòng ĐC số. Việc khảo sát ảnh hưởng của chúng đối với vòng ĐC là cực kỳ khó khăn. •Về cơ bản tồn tại ba loại nguyên nhân sai số chính sau đây: –Lượng tử hóa các biến (làm tròn số các biến ĐC và ĐK trong ADC, DAC và CPU) –Lượng tử hóa các tham số (làm tròn số các tham sốĐK) –Lượng tử hóa các kết quả trung gian của thuật toán ĐK (làm tròn số các tích) •Đối với hệ thống ĐK số, có thể xẩy ra các trường hợp sau: –Vòng ĐC „vẫn“ ổn định do tác động của lượng tử hóa là nhỏ. Khi bị đẩy ra khỏi trạng thái cân bằng ta có: limek( )≈ 0 k→∞ –Khi bị đẩy ra khỏi trạng thái cân bằng sẽ xuất hiện sai số tĩnh: limek( )≠ 0 →∞ –Khi giá trịđặt luôn biến động, sẽ xuất hiện hiện tượng „tạp âm lượk ng tử hóa“, còn gọi là „tạp âm làm tròn số“. –Xuất hiện dao động dạng bang-bang với chu kỳ M: limek( )=≠ lim ek( +M) 0 kk→∞ →∞ 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 73 Electrical Engineering - Automatic Control
  6. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.1 Ảnh hưởng củasố hóa (lượng tử hóa) biên độ 4.1.2 Hiệu ứng lượng tử hóa các biến a) Tạp âm lượng tử hóa: •Theo mục 4.1.1a): Tín hiệu digital yQ gồm có tín hiệu analog y, xếp chồng với tạp âm δ, phân bốđều như hình bên yk=ykQ ( ) ( )−δ( k) ∞ •Kỳ vọng của „tạp âm lượng tử hóa“: –Khi làm tròn: Epd{}δδδδ()k0==∫ () −∞ –Khi cắt bỏ: E{}δ(k2) =∆ ∞ 2 σδδδδ22=−⎡⎤Epdk12 =∆ •Phương sai của cả 2 trường hợp trên: δ ∫ ⎣⎦{}() () −∞ •Nhận xét: Nếu tạp âm (ồn trắng) này xuất hiện trong khâu ADC, nó sẽ có tác dụng như tín hiệu nhiễu ngẫu nhiên n(k) vào đại lượng ĐC với phương sai không thể suy giảm bằng công cụĐC. Nhiễu sẽ gây nên các biến động của đại lượng ĐK với biên độ lớn hơn 1 lượng tử của ADC (xem ví dụ 4.1.1). b) Sai lệch tĩnh và dao động bang-bang: Sai lệch tĩnh và dao động do lượng tử hóa trong khâu ADC có biên độ tối thiểu 1 lượng tử ∆ (xem ví dụ 4.1.2, 4.1.3). Việc giảm hệ số khuếch đại có thể góp phần khử dao động bang-bang. Để khảo sát ta thường dùng công cụ mô phỏng. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 74 Electrical Engineering - Automatic Control
  7. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.1 Ảnh hưởng củasố hóa (lượng tử hóa) biên độ 4.1.3 Hiệu ứng lượng tử hóa các tham số •Ảnh hưởng củathamsốđượclàmtrònsố đốivớihệ thống - kể cả CPU dấuphẩytĩnh – là nhỏ và có thể bỏ qua, trừ trường hợpthamsố quá bé (ví dụ: có kích cỡ chỉ vài lượng tử). •Nếucầnthiết, có thể sử dụng các phương pháp phân tích độ nhậy tham số để khảosát. 4.1.4 Hiệu ứng lượng tử hóa các kếtquả tính trung gian a) Sai lệch tĩnh và dao động bang-bang: –Trong thuậttoán ĐK, kếtquả tính trung gian là tích giữacáchệ số trọng lượng (tham số ĐK) và các biến (sai lệch ĐC, hay đạilượng ĐK). Nguyên nhân gây sai số lượng tử hóa là: Cả các thừasố củaphépnhânlẫnkếtquả nhân đềubị làm tròn. qQ=∆+δδ; eE =∆+ Với: Q, E là số nguyên lần lượng tử ∆ đãchia qe tham số q, biến e; sai số làm tròn là δ , δ 2 q e qe=∆+∆+∆+ QE Qδδδδ E eqqe ≈0 –Nếusaisố làm tròn δq, δe là độclậpvề mặtthống kê và có 22 22222 phương saiσδ =∆ 12 , đốivới sai số do làm tròn thừasố ta có: σσ1 ≈+∆(QE) δ δ =∆−QE2 QE ∆ –Sai số do làm tròn tích số là: QE ( )Q σσσ22222222≈+∆⎡11QE +⎤ ≈+⎡ qe +⎤ –Phương sai số củasaisố cuốicùnglà: δδδqe ⎣⎢ ( )⎦⎥ ⎣ ⎦ Nhận xét: Công thứcphương sai cho thấy, khi q và e có kích cỡ lớn, sai số sẽ chủ yếubị gây nên bởiviệclàmtròncácthừasố của phép nhân. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 75 Electrical Engineering - Automatic Control
  8. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.1 Ảnh hưởng củasố hóa (lượng tử hóa) biên độ 4.1.4 Hiệu ứng lượng tử hóa các kếtquả tính trung gian (tiếp) a) Sai lệch tĩnh và dao động bang-bang (tiếp): (xem ví dụ 4.1.4) •Chú ý, việclàmtrònchotừng tích riêng rẽ, hay sau khi tính tổng tích lũy, cũng có ý nghĩaquyết định tớisaisố. Ví dụ: Nếu làm tròn riêng rẽ cho thuật toán tìm hàm ĐK ở mục 4.1.1b) và sai số lượng tử củacácthamsố là δpui, δrei khi tính các tích piu(k-i), rie(k-i), sai số cuốicùngsẽ là: δδupupurere(kk)=−10( −1) − − δµδδνµν( k −) +( k) + +( k − ) µ ν 22 2 vớiphương sai: σσδδu=+∑∑ pui σ δ rei ii==10 Nhậnxét:Phương sai sẽ tăng theo số lượng phép nhân củatổng tích lũyvàđốivới các thuậttoán ĐK bậccaocó thể lớnhơnphương sai do lượng tử hóa trong khâu ADC gây nên. b) Vùng chết: 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 76 Electrical Engineering - Automatic Control
  9. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.1 Các phương pháp mô phỏng Hình 2 Nguyên lý Software-in-the-Loop Hình 1 Nguyên lý mô phỏng Off-line Mã nguồn ĐC (C, assembler) được thử trên mô hình Offline. Hoặc mã C chạy trực tiếp, Xây dựng và tối giản mô hình đối tượng, xác định tham số hoặc sử dụng một phần mềm mô phỏng mạch phần cứng. Qua đókiểm tra chức năng của của mô hình để từ đóthiết kế thuật toán ĐC. Diễn biến thiết bị ĐC (chưa cần chế tạo) trên mô hình ĐTĐK. Ví dụ: Các chức năng của vi điều thời gian trên mô hình không đúng vớidiễn biến thực. khiển (biến đổi AD, DA, điều chế bề rộng xung, cấu trúc ngắt vv ) Hình 3 Nguyên lý Hardware-in-the-Loop Hình 4 Nguyên lý Control Prototyping (mô phỏng thờigianthực, real-time simulation) Sử dụng môi trường phát triển thời gian thực, ghép với ĐTĐK thật, hay với Sử dụng hardware để mô phỏng vòng ĐC. RTS cho phép kiểm tra chức năng mô hình vật lý thu nhỏ (khi đối tượng là thiết bị có công suất, kích cỡ lớn). phần cứng, và giúp đánh giá khả năng của phần mềm ĐC dưới điều kiện thời Thử nghiệm trên thiết bị thật cho phép kiểm tra ảnh hưởng của các hiệu ứng gian thực. Điều này cực kỳ có ý nghĩa khi phải kiểm tra các thiết bị hỗn hợp không thể mô tả được bằng mô hình toán. nhiều phần tử cơ-điện tử-phần mềm (hệ thống mechatronic). 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 77 Electrical Engineering - Automatic Control
  10. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.1 Các phương pháp mô phỏng (tiếp) Mô phỏng thờIgianthực dùng Card DS1102 của dSPACE Hình bên giới thiệu ví dụ khi sử dụng môi trường thiết kế trên nền MATLAB & Simulink với phần cứng có vi xử lý tín hiệu (Digital Signal Processor: DSP) của tập đoàn Texas Instruments. Sơ đồ chỉ ra rõ ràng: kết hợp với MATLAB và các Toolbox, ta có thể tiến hành các bước: –Bước 1: Mô phỏng Offline để bước đầu xác định tham số của thuật toán ĐC. –Bước 2: Bổ xung thêm các khối xuất/nhập dữ liệu (ví dụ: các khối ADC hoặc DAC) vào sơ đồ cấu trúc vòng ĐC. –Bước 3: Sử dụng C-compiler tạo mã C để nạp xuống card hardware, cài xen với hệ thống phần mềm điều khiển theo ngắt. Chú ý: Thư viện MLIB cung cấp các chức năng điều khiển phần cứng từ môi trường MATLAB (sử dụng chương trình Cockpit). Thư viện MTRACE có các chức năng giúp thu thập số liệu từ phần cứng. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 78 Electrical Engineering - Automatic Control
  11. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.2 Mô phỏng bằng MATLAB & Simulink a) Mô phỏng bằng các lệnh trựctiếptừ Toolbox của MATLAB: •Nhóm lệnh khai báo mô hình gián đoạn(thuộc Control Toolbox) Khai báo mô hình gián đoạncủahệ LTI tf (num,den,Ts) Hàm truyền đạt: Vector các hệ số của Ví dụ: đathứctử số num, mẫusố den Mô hình TF: zpk (z,p,k,Ts) Biểu đồ điểmkhông-điểmcực: Vector >> h = tf ([1 -0.5],[1 1 -2],0.01) các điểm không z, điểmcực p, hệ số Transfer function: khuếch đại k z - 0.5 ss (A,B,C,D,Ts) Mô hình trạng thái: Ma trậnhệ thống A, đầuvàoB, đầuraC, liên thông D z^2 + z - 2 frd (answer,freq,unit,Ts) Mô hình dữ liệu đặctínhtầnsố: Đáp Sampling time: 0.01 ứng tầnsố answer, vector tầnsố freq, unit là đơnvị (thứ nguyên củatầnsố Mô hình ZPK: rad/s (mặc định) hoặcHz >> h = zpk (0.5,[-2 1],1,0.01) (unit=‘Units’,’rad/s’) Zero/pole/gain: Ts Chu kỳ trích mẫu củahệ gián đoạn (z-0.5) không khai Ts: Mô hình liên tục về thời gian Ts = -1 Mô hình gián đoạn về (z+2) (z-1) thờigian, chukỳ trích Sampling time: 0.01 mẫuchưaxácđịnh 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 79 Electrical Engineering - Automatic Control
  12. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.2 Mô phỏng bằng MATLAB & Simulink a) Mô phỏng bằng các lệnh trựctiếptừ Toolbox củaMATLAB(tiếp): •Nhóm lệnh chuyển đổi giữa hai loạimôhìnhgiánđoạn và liên tục(thuộc Control Toolbox) Ví dụ: >> sysc = tf(1,[1 1]) Transfer function: 1 s + 1 >> sysd = c2d (sysc,2) Transfer function: 0.8647 z - 0.1353 Chuyển đổi giữa hai hệ LTI liên tục và gián đoạn Sampling time: 2 >> sysdd =d2d (sysd,0.7) c2d(sysc,Ts,method) Chuyểnhệ liên tục thành hệ gián đoạn Transfer function: d2c(sysd,method Chuyểnhệ gián đoạnthànhhệ liên tục 0.5034 d2d(sys,Ts Thay đổichukỳ trích mẫu method Phương pháp gián đoạnhóa: z - 0.4966 ’zoh’, ’foh’, ’tustin’, Sampling time: 0.7 ’prewarp’, ’matched’ >> step (sysc,'r-',sysd,'c-',sysdd,'g ') 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 80 Electrical Engineering - Automatic Control
  13. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.2 Mô phỏng bằng MATLAB & Simulink a) Mô phỏng bằng các lệnh trựctiếptừ Toolbox củaMATLAB(tiếp): •Nhóm lệnh lọc số FIR (Finite Impulse Response, thuộc Signal Processing Toolbox) Công thức tổng quát: Bộ lọc FIR và hàm cửa sổ −−11 − yz( ) Bz( ) order limitfrequency window 1 == fir1( , , ) Thiếtkế bộ lọcFIR Hz() −−11 xz() Az() (lọc thông thấp) filter(num,den,data) Lọcsố liệu bbzbz++++−−12 bz −m 12 3m+ 1 filtfilt(num,den,data) Lọcsố liệucóhiệu = −−12 −n aazaz12++++ 3 azn+ 1 chỉnh pha freqz(num,den,points,samplingfreq)Đáp ứng tần số gián ayk112()=+−++− bxk () bxk (1 ) bm+ 1 xk ( m ) đoạn −−−−−ayk21( 1) an+ yk( n) Ví dụ: % T¹o tËp sè liÖu x cã chiÒu dµI % length(x)=101 >> t = 0:0.005:0.5; >> x = 5 + 8*sin(2*pi*8*t) + 4*cos(2*pi*33*t); % ThiÕt kÕ bé läc FIR >> Bw = fir1(20,0.2,hamming(20+1)); % Dïng Bw ®Ó läc x theo 2 c¸ch: filter % vµ filtfilt >> x_f = filter(Bw,1,x); >> x_ff = filtfilt(Bw,1,x); 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 81 Electrical Engineering - Automatic Control
  14. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.2 Mô phỏng bằng MATLAB & Simulink a) Mô phỏng bằng các lệnh trựctiếptừ Toolbox củaMATLAB(tiếp): •Nhóm lệnh lọc số IIR (Infinite Impulse Response, thuộc Signal Processing Toolbox) Bộ lọc IIR Công thức tổng quát: butter(order,limitfreq) Lọc Butterworth order ripple limitfreq ay( k) =+−+ bxk( ) bx( k 1) cheby1( , , ) Lọc Tschebyscheff Typ 1 112 cheby2(order,ripple,limitfreq) Lọc Tschebyscheff Typ 2 +−bxkmm+1 () ellip(order,ripple,attenuation,limitfreq) Lọc Elliptic (Cauer) filter(num,den,data) Lọcsố liệu aa2+1== n =0 filtfilt(num,den,data) Lọcsố liệucóhiệuchỉnh pha freqz(num,den,points,samplingfreq) Đáp ứng tần số gián đoạn Ví dụ: >> t = 0.01:0.01:1; >> x = 5 + 8*sin(2*pi*8*t) + 4*cos(2*pi*40*t); >> [B,A] = butter(4,20/50);%ThiÕt kÕ bé läc IIR >> x_f = filter(B,A,x); %Läc tÝn hiÖu x >> x_ff = filtfilt(B,A,x); %Läc tÝn hiÖu x cã bï pha >> plot(t,x,'g-',t,x_f,'r-',t,x_ff,'b:'); >> axis([0 0.5 -10 30]); >> title('Discrete Filter','FontSize',12); >> xlabel('Time [s]','FontSize',12); >> legend('non-filtered','IIR filter','IIR filtfilt'); 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 82 Electrical Engineering - Automatic Control
  15. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.2 Mô phỏng bằng MATLAB & Simulink b) Mô phỏng bằng sơđồcấutrúccủa Simulink: Unit Delay Khối Unit Delay có tác dụng trích mẫu tín hiệuvàovàcấtgiữ giá trị thu được trong mộtchukỳ trích mẫu. Vì vậy, khốicóđặc điểmnhư mộtphầntử cơ bảncủacáchệ gián đoạn. Khốicóthể đượcsử dụng như một khâu quá độ từ tầnsố trích mẫuthấpsang tầnsố trích mẫu cao. Discrete-Time Integrator Khối Discrete-Time Integrator (tíchphângiánđoạn) về cơ bảncũng giống như khối Integrator (tích phân) liên tục. Bên cạnh chu kỳ trích mẫu ta còn phảichọnchomỗikhốithuật toán tích phân (tích phân Euler tiến, tích phân Euler lùi hay tích phân hình thang). Sau khi đãchọnthuật toán tích phân, biểutượng (Icon) củakhốilạithayđổitương ứng. Discrete Filter (scalar) −−11 Khối Discrete Filter mô tả mộtkhâu yz() Bz()bbzbz++++−−12 bz −m Hz−1 ===12 3m+ 1 () −−11 −−12 −n lọcsố có hàm truyền đạtnhư bên: xz() Az()aazaz12++++ 3 azn+ 1 Các hệ số của đathứctử số và mẫusốđược khai báo theo trình tự số mũ của z giảmdần, bắt đầu từ hệ số của z0. Discrete Transfer Function (scalar) Khối Discrete Transfer Function có đặc điểmgiống khối Discrete Filter và đượcmôtả bởihàm truyền đạtbên: mm−−12 m Bz( ) bz12++++ bz bz 3 bm+ 1 Hz()==nn−−12 n A(zazazaz) 12++++ 3 an+ 1 Các hệ số củahaiđathứctử số và mẫusốđược khai báo theo trình tự số mũ của z giảmdần, bắt đầutừ m (tử số) và n (mẫusố). 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 83 Electrical Engineering - Automatic Control
  16. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.2 Mô phỏng bằng MATLAB & Simulink b) Mô phỏng bằng sơđồcấutrúccủa Simulink (tiếp): Discrete Zero-Pole (scalar) Trong khối Discrete Zero-Pole, thay vì phải khai báo các hệ số, ta khai báo điểmcực-điểm không củahàmtruyền đạtvàmộthệ số khuếch đại. Discrete State Space Khối Discrete State Space mô tả mộthệ thống gián đoạnbằng mô hình trạng thái. Khối có đặc điểmsử dụng giống như khối State Space củacáchệ liên tục. Zero-Order Hold Khối Zero-Order Hold trích mẫutínhiệu đầu vào và giữ giá trị thu được đếnthời điểmtríchmẫu tiếp theo. Nên sử dụng khối Zero-Order Hold trong các hệ trích mẫuchưacómột trong các khối gián đoạn đã đượcmôtảởtrên (tứclànhững khốicósẵn khâu giữ chậmbậc0). Khichọnbuớc tích phân cứng, có thể sử dụng khối Zero-Order Hold tại các vị trí chuyểntừ tầnsố trích mẫu cao sang tầnsố trích mẫuthấphơn. Chú ý: Mộthệ thống số kỹ thuậtthường sử dụng nhiều chu kỳ trích mẫu khác nhau (gọilàhệ có chu kỳ hỗnhợp), và cầnphải đượclưuý đặcbiệtkhimôphỏng. Hệ lai là các hệ có chứa cả hai thành phầnliêntụcvàgiánđoạn. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 84 Electrical Engineering - Automatic Control
  17. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.2 Thiếtkế hệ thống bằng máy tính 4.2.2 Mô phỏng bằng MATLAB & Simulink b) Mô phỏng bằng sơđồcấutrúccủa Simulink (tiếp): Ví dụ: Mô phỏng khâu ĐC 2 chiều (2- dimensional, khâu MIMO) dùng để ĐC vector dòng stator is của động cơ xoay chiều 3 pha. Sơđồcấu trúc khâu ĐC digital Sơđồmô hình Simulink 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 85 Electrical Engineering - Automatic Control
  18. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.1 Phân loạivi xử lý §¬n vÞ xö lý trung t©m (CPU) Kh©u tÝnh to¸n Kh©u ®iÒu khiÓn a) Khái niệm“vi xử lý” Chữ “vi“ trong khái niệm trên có cội nguồn Thanh ghi Gi¶i m· sè liÖu §¬n vÞ sè lÖnh từ chữ “micro“, ký hiệu là “µ“, có nghĩa là häc vµ l«gic “một phần triệu“ hoặc “rất nhỏ“. Vi xử lý Thanh ghi (ALU) §Õm ch­¬ng (Microprocessor) có nghĩa là “bộ xử lý rất ®Þa chØ tr×nh nhỏ“, ký hiệu là “µP“. •Khâu tính toán: gồm có đơn vị số học và Bus trªn phiÕn lôgic (Arithmetic Logic Unit: ALU), các thanh ghi số liệu và địa chỉ. §Öm Bus §Öm Bus §Öm Bus •Khâu điều khiển: gồm có bộ giải mã lệnh sè liÖu ®iÒu khiÓn ®Þa chØ và bộ đếm chương trình. Kh©u ®Öm •Khâu đệm: với các bộ đệm (thường là ba trạng thái: Tri-State), ghép nối Bus trên Hình trên: Cấu trúc bên trong củamộtµP phiến của µP với các Bus điều khiển, số liệu và địa chỉ nằm bên ngoài. Chú ý: Để sử dụng trong các hệ thống ĐK số, µP sẽ phải đượcbổ sung thêm các phầntử ngoạivi, phục vụ việc nhúng (embed) µP vào môi trường thiếtbị. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 86 Electrical Engineering - Automatic Control
  19. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.1 Phân loạivi xử lý (tiếp) Vi xö lý b) Khái niệm“vi xử lý tín hiệu” §iÒu khiÓn Vi xử lý tín hiệu = Digital Signal Processing (DSP). Bus sè liÖu Được thiết kế để tăng tốc độ xử lý, tính tổng tích lũy: Bus ®Þa chØ ∑(axii) a) •Bản chất DSP: là µP có thêm thanh ghi ACC (với bề rộng gấp đôi bề rộng của Bus) và bộ nhân cứng. Nhí ch­¬ng tr×nh Nhí sè liÖu •Nhiều thao tác trong 1 lệnh: DSP cho phép thực hiện các thao tác (làm tròn, dịch trái/phảivv ) đó Vi xö lý đồng thời với nhân và tích lũy chỉ trong một nhịp 1 lệnh duy nhất. 2 2 1 Ø Ø Data Bus Program u u h h Ö •Cấu trúc Bus: Bus trên phiến (on-chip) đượcthực Ö c Bus c i i l l a a Þ Þ è hiện theo cấutrúcHarward. è ® s ® s s s s s §iÒu khiÓn u u u u B B B b) B Hình bên: Cấu trúc Bus a) kiểu Nhí ch­¬ng tr×nh Nhí sè liÖu Von-Neumann; b) kiểu Harward trªn chip trªn chip 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 87 Electrical Engineering - Automatic Control
  20. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.1 Phân loạivi xử lý (tiếp) c) Khái niệm“vi điềukhiển” Vi điều khiển = µP (hoặc DSP) + ngoại vi + ngắt không cần thủ tục C166-Core 16 up to t 128 KByte Data r o RAM P Chú ý: µC được phân biệt CPU l ROM/ a Instr./Data Data u Flash D 2 KByte với µP là do các đặc điểm: 16 EPROM 32 a) có thêm các phần tử ngoại PLL vi cơ bản trên phiến XTAL OSC PEC (peripheries on-chip) và b) có External Instr./Data ) W atchdog s e s Interrupt Controller cơ chế ngắt không cần thủ tục s 36 ext. IR e r d 2KB d A 16 / Interrupt Bus ngắt. Điều này cho phép nâng a XRAM t a Peripheral Data D 16 X cao tốc độ tính toán, tăng độ U M N O N Multi Funktional Sync. t USART PW M Module i GPT1 GPT2 CAPCOM1, 2 tin cậy, đồng thời giảm giá 6 b 10-Bit - Channel t 6 r 1 External Bus, 0 r r 1 (SPI) PT 1 e e o ( T2 ADC m m i XBUS Control, i T T P 32 PT 2 8 S thành của hệ thống. 5 * CS Logic 16 Channels U ASC SSC T3 T5 Channels PT 3 B 0 7 8 r r X t PT 4 e e r T4 T6 m m i BRG BRG i T T o 16 P 4 t r o Port 1 Port 5 Port 3 Port 2 Port 8 Port 7 167 Hình bên: Cấu trúc chi tiết của µC 8 P 16 Bit loại SAB C167 (Siemens) 16 16 16 16 8 8 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 88 Electrical Engineering - Automatic Control
  21. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.1 Phân loạivi xử lý (tiếp) Data RAM Program ROM / d) Khái niệm“DSP Controller” Flash Event M anager 544W x16 16kW x16 3 Timers Cách định nghĩa µC như ta đã A (15-0) 12 PW M nêu ở mục 4.3.1c cũng có thể Outputs 9 Compare được áp dụng đối với DSP. Outputs Dead Band Thay vì viết công thức: D (15-0) Logic µC = µP + ngoại vi IGR CPU Interface + ngắt không cần thủ tục 16-Bit T-register 16-Bit 16 x 16 M ultiply Barrel 10-Bit ADC Shifter 32-Bit P-register ta viết: 10-Bit ADC Shift L (0, 1, 4, -6) µC = DSP + ngoại vi 32-Bit ALU W atchdog Timer + ngắt không cần thủ tục 32-Bit Accumulator Shift L (0-7) SPI = DSP Controller 8 Auxiliary Registers 8 Level H/W Stack SCI 2 Status Registers Three I/O Ports Repeat Count 8-Bit Hình bên: Sơ đồ khối của DSP Controller ký hiệu TMS 320C/F240 (Texas Instruments) 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 89 Electrical Engineering - Automatic Control
  22. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.2 Khái quát về nhiệmvụ thiếtkế Minh họa nhiệmvụ thiếtkế thông qua ví dụ cụ thể: Hệ thống ĐK số cho truyền động điệnxoaychiều 3 pha. Cầnphải làm rõ các vấn đề cụ thể: •Hardware: Lựachọnvi xử lý (hệ 1 hay nhiềuµP, µC)? Cầnnhững ngoại vi gì và với tính năng thế nào? •Software: Công cụ, quy trình và quản lý (management) phát triển? Chuẩnbị lập trình (thuậttoán, chuẩn hóa, thư viện, test)? 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 90 Electrical Engineering - Automatic Control
  23. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.3 Hardware: Yêu cầu đốivớivi xử lý •Chọn hệ 1 vi xử lý (Single Processor System) khi Hardware chỉ phải thực hiện các bài toán ĐK. Nhiệm vụ truyền thông với môi trường xung quanh ở mức rất hạn chế. •Chọn hệ 2 vi xử lý (Double Processor System) khi Hardware không chỉ phải thực hiện các thuật toán thời gian thực mà còn phải cho phép tích hợp vào một môi trường công nghệ tựđộng (ví dụ: nhờ Field Bus, ĐK qua giao diện vv ) phức hợp. •Vi xử lý/các vi xử lý cần phải có khả năng đảm đương các nhiệm vụ của ngoại vi (ví dụ: ADC, điều chế, đo tốc độ quay vv ) tới mức tối đa. Vì vậy, nếu là hệ 2 vi xử lý thì 1 sẽ phải được chọn là µC. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 91 Electrical Engineering - Automatic Control
  24. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.3 Hardware: Yêu cầu đốivớivi xử lý (tiếp) Ví dụ về một hệ 2 vi xử lý, bao gồm DSP loại TMS 320C25 (Texas Instruments) và µC loại SAB C167 (Siemens). •Tận dụng khả năng tính toán của DSP để thực hiện các thuật toán thời gian thực phức hợp. •Tận dụng ngoại vi phong phú củaµCđể ghép với môi trường công nghệ. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 92 Electrical Engineering - Automatic Control
  25. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.4 Hardware: Yêu cầu đốivới ngoại vi (trên cơ sở ví dụởmục 4.3.2) •Phải có đơn vị PWM (Puls Width Modulation) với độ phân giải thời gian bé nhất (ví dụ: 50ns của SAB C167, TMS 320C/F240) phục vụđiều chế vector điện áp. • Đo dòng stator với độ phân giải 10 12bit. Đối với truyền động chất lượng cao phải là 12bit-ADC với tốc độ biến đổi <10µs. • Đo tốc độ quay bằng IE cần có các thanh ghi CAP/COM. Đo bằng Resolver thường phải có mạch phụ bên ngoài. • Đo điện áp UDC bằng 10-12bit-ADC. •Mạch phụđểghép Field Bus. • Mạch theo dõi/bảo vệ mạch điện tử công suất và động cơ. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 93 Electrical Engineering - Automatic Control
  26. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.5 Software: Công cụ phát triển và công tác quảnlý a) Các bước chuẩn bị viết Software • Tập hợp tất cả các công thức cần tính (các thuật toán) cùng với các tham số của đối tượng công nghệ (ví dụ: số liệu động cơ). • Chuẩn hóa các công thức cần tính, xác định kích cỡ của dữ liệu (bề rộng word) cũng như độ chính xác của dữ liệu (số bits sau dấu phẩy). •Môtả chu trình tính bằng lưu đồ thuật toán (flow chart). • Xác định chương trình chính, chương trình con và chương trình ngắt (chương trình con theo mảnh thời gian hay theo mức ưu tiên khác nhau). • Xác định các module thư viện. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 94 Electrical Engineering - Automatic Control
  27. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.5 Software: Công cụ phát triển và công tác quảnlý b) Chuẩn bị công cụ phát triển (môi trường phát triển) • Editor: Trình soạn thảo mã nguồn • C Compiler: Trình biên dịch mã nguồn C • Assembler: Trình thông dịch hợp ngữ • Linker, Locater: Hai trình ghép, định vị các modules. Đôi khi là 1 trình với 2 options khác nhau. • Librarian: Trình quản lý thư viện • Format Converter: Trình đảo định dạng • Object/Hex Converter: Trình đảo mã chạy/mã hexa • Debugger: Trình gỡ rối • Emulator: Thiết bị mô phỏng chip • Target System: Hardware • EPROM Burner: Máy nạp EPROM 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 95 Electrical Engineering - Automatic Control
  28. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.5 Software: Công cụ phát triển và công tác quảnlý c) Chu trình và công cụ phát triển Mục tiêu cần đạt: • Đạt tính năng theo yêu cầu của bài toán •Cấu trúc rõ ràng, dễ hiểu •Dễ bảo dưỡng, cập nhật, nâng cấp •Dễ sử dụng lặp lại Biện pháp nhằm đạt mục tiêu: • Định nghĩa rõ ràng giao diện giữa các modules •Lập trình bằng ngôn ngữ bậc cao (chủ yếu là C) •Cấu trúc thư mục và modules rõ ràng •Sử dụng Make Files trong quá trình tạo Code 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 96 Electrical Engineering - Automatic Control
  29. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.5 Software: Công cụ phát triển và công tác quảnlý d) Các nguyên tắcthựchiện 1) Các bước phát triển •Xâydựng danh mục yêu cầu đốivới Software (theo nhu cầu củathị trường) •Khẳng định khả năng đáp ứng danh mục yêu cầu • Phântíchphương án, phân tích hệ thống trên cơ sở Hardware đãthiếtkế • Xác định các modules phầnmềmcầnsoạnthảo • Soạnthảo các modules cụ thể • Thử nghiệm riêng rẽ từng module (Test Programs, Debugger, Emulator, Hardware-in-the-Loop-Test) • Thử nghiệmtổng thể trên thiếtbị 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 97 Electrical Engineering - Automatic Control
  30. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.5 Software: Công cụ phát triển và công tác quảnlý d) Các nguyên tắcthựchiện(tiếp) 2) Quản lý Files và ký hiệu •Cấutrúcthư mục trên PC: Source Files, .obj Files, vv • Tên Files: mang ý nghĩadễ hiểu •Tênkýhiệu, tên biến: mang ý nghĩadễ hiểu, khai báo tập trung để dễ quảnlý(tránhlãngphíbộ nhớ, tăng tốc độ) 3) Quảnlývàtạo phiên bản 4) Cấutrúccủatừng module •Tênmodule •Giaodiệnvới bên ngoài module •Lịch sử của module •Giaodiệnvới bên trong module •Môtả module •Chứcnăng của module 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 98 Electrical Engineering - Automatic Control
  31. 4. Thực hiện kỹ thuậthệ thống ĐK số 4.3 Thiếtkế hệ thống vi điều khiển 4.3.5 Software: Công cụ phát triển và công tác quảnlý d) Các nguyên tắcthựchiện(tiếp) 5) Con đường từ thuật toán (Algorithms) tớIphầnmềm(Software) •Tậphợptấtcả các phương trình cầntính(thuật toán) và các tham số của đốitượng ĐK. •Chuyểntấtcả phương trình và tham số sang dạng không có thứ nguyên (Normalizing, chuẩnhóa). •Khisử dụng µP, µC hay DSP dấuphẩytĩnh: Xác định các hệ số trượt (Scaling) đốivớithamsố và biến. Không thựchiện động tác này đốivớidấuphẩy động. •Xâydựng lưu đồ (Flowchart). • Phân thành chương trình mẹ, chương trình con hay thủ tụcngắt (Interrupt Routines). •Xácđịnh thư viện. 16 June 2007 Assoc. Prof. Hon.-Prof. Dr.-Ing. habil. Ng. Ph. Quang 99 Electrical Engineering - Automatic Control