1. Trang chủ
  2. » Luận Văn - Báo Cáo

Điều khiển tốc độ động cơ kđb ba pha theo phương pháp v f dùng vi điều khiển dsPIC

94 57 0

Đ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

Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA -o0o - HỒ MINH NHỊ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ KĐB BA PHA THEO PHƯƠNG PHÁP V/F DÙNG VI ĐIỀU KHIỂN dsPIC CHUYÊN NGÀNH MÃ SỐ NGÀNH : KỸ THUẬT ĐIỆN : 2.02.01 LUẬN VĂN THẠC SĨ Tp Hồø Chí Minh, tháng 10 năm 2006 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: T.S PHAN QUỐC DŨNG Cán chấm nhận xét 1:…………………………………………………………………………………………………………… (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2:…………………………………………………………………………………………………………… (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc só bảo vệ tại: HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày………………tháng……………năm 2006 Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BAÙCH KHOA - CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc Lập – Tự Do – Hạnh Phúc NHIEÄM VỤ LUẬN VĂN THẠC SĨ Họ tên: HỒ MINH NHỊ Ngày sinh:24 – 05– 1973 Chuyên ngành: Kỹ Thuật Điện Phái : Nam Nơi sinh: Cần thơ Mã số: 2.02.01 I- TÊN ĐỀ TÀI: ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ KHÔNG ĐỒNG BỘ PHA THEO PHƯƠNG PHÁP V/F DÙNG VI ĐIỀU KHIỂN dsPIC II- NHIỆM VỤ VÀ NỘI DUNG: Tổng quan kỹ thuật điều chế vector không gian Mô điều khiển tốc độ vòng kín động thiết kế phần cứng III- NGÀY GIAO NHIỆM VỤ: 19 - 01 - 2006 IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 06 - 10 - 2006 V- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: T.S PHAN QUỐC DŨNG CÁN BỘ HƯỚNG DẪN BỘ MÔN QUẢN LÝ NGÀNH TS Phan Quốc Dũng Nội dung đề cương luận văn thạc só Hội Đồng Chuyên Ngành thông qua TRƯỞNG PHÒNG ĐT - SĐH Tp Hồ Chí Minh, ngày tháng năm 2006 TRƯỞNG KHOA QL NGÀNH LỜI CẢM ƠN Xin bày tỏ lòng biết ơn sâu sắc đến thầy Phan Quốc Dũng, người tận tình hướng dẫn thời gian thầy nước thời gian nước Xin chân thành cảm ơn thầy Bộ môn Cung Cấp Điện, trường ĐHBK Tp HCM tạo điều kiện thuận lợi cho thực phần cứng, đặc biệt anh Vũ giúp đỡ nhiều việc tìm linh kiện cần thiết để thực đề tài Hồ Minh Nhị Luận Văn Tốt Nghiệp GIỚI THIỆU Do sản xuất công nghiệp nước phát triển mà nhu cầu truyền động sử dụng động không đồng ngày tăng, đặc biệt động không đồng pha, động không đồng pha rotor lồng sóc có giá thành rẻ, hoạt động tin cậy Nhìn chung phương pháp điều khiển tốc độ cách thay đổi đổi tần số vượt trội so với thay đổi tốc độ kiểu cũ: thay đổi số đôi cực hoặc, kiểu VS … Điều khiển cách thay đổi tần số, ta thay đổi tốc độ liên tục phạm vi rộng mà giữ mô men không đổi, không gây tổn thất kiểu điều khiển VS, dòng khởi động nhỏ nên không gây sụt áp lưới điện Tuy nhiên giá thành biến tần ngoại nhập cao nên nhiều sở sản xuất nước tiếp tục tận dụng số truyền động kiểu VS Trước tình vậy, việc nghiên cứu hệ điều khiển tốc độ động không đồng pha cần thiết, đặc biệt điều khiển VF vòng kín Mục tiêu đề tài triển khai giải thuật SVPWM vi điều khiển dsPIC để điều khiển vòng kín động không đồng pha, kỹ thuật điều chế SVPWM có ưu điểm cho điện áp dây 100% VDC vùng điều chế tuyến tính Đề tài thực nội dung sau: - Xây dựng mô hình điều khiển tốc độ kiểu V/F cho động pha dùng kỹ thuật SVPWM phần mềm PSIM để mô trước kết - Triển khai mô hình phần cứng vi điều khiển dsPIC30F, cụ thể dsPIC30F4011 Học viên: Hồ Minh Nhị MỤC LỤC Giới thiệu Chương Nguyên lý điều khiển v/f kỹ thuật Điều chế vector không gian 1.1 Nguyên lý điều khiển v/f 1.2.1 Vai trò ứng dụng nghịch lưu 1.2.2 Phân tích điều khiển nghịch lưu áp 1.3.1 Khái niệm vector không gian 1.3.2 Phương pháp điều rộng xung vector không gian 10 1.3.3 Các hạn chế triển khai thuật toán điều chế vector không gian (VTKG) 18 Chương 2.1 Xây dựng khối mô phần mềm PSIM 20 2.2 Mô phỏng: 23 Chương 3.1 Giới thiệu vi điều khiển 31 3.1.1 Modul PWM 32 3.1.2 Modul QEI 33 3.2 Thiết kế phần cứng 3.2.1 Khối tổng quát 35 3.2.2 Khối điều khiển triển khai dsPIC 36 3.3 Khâu chuẩn bị cho lập trình 3.3.1 Khâu tích phân tỉ lệ bảo hòa PI: 37 3.3.2 Khâu tính toán tốc độ n 38 3.3.3 Khâu chuyển đổi n"f 39 3.3.4 Khâu tính số điều chế m 39 3.3.5 Khâu điều chế SVPWM 39 Chương Thí nghiệm 42 Chương Kết luận đề xuất 46 Phụ lục Mạch phần cứng 48 Phụ lục Mạch phần cứng 53 Phụ lục Chương trình giao diện Visual Basic 89 Tài liệu tham khảo 98 Luận Văn Tốt Nghiệp CHƯƠNG NGUYÊN LÝ ĐIỀU KHIỂN V/F VÀ KỸ THUẬT ĐIỀU CHẾ VECTOR KHÔNG GIAN 1.1 NGUYÊN LÝ ĐIỀU KHIỂN V/F Động không đồng thiết kế để vận hành với trị số từ thông tối ưu đặc tuyến từ hoá Từ thông tăng lên làm bão hòa mạch từ, kéo theo gia tăng dòng từ hoá, làm méo dạng dòng điện điện áp nguồn cung cấp, gây tiếng ồn tần số cao Ngược lại, giảm từ thông khe hở không khí định mức làm giảm khả tải động Từ thông khe hở không khí sinh dòng từ hoá động Dòng từ hoá xác định sau Tại tần số làm việc định mức fđm : I mñm = E ñm ⋅ fñm 2πL m (1.1) Tại tần số làm việc khảo sát f : Im = E ⋅ f 2πL m (1.2) Để từ thông khe hở không khí không đổi dòng từ hoá phải giữ không đổi ⇒ E E đm = = K, fđm f với K số (1.3) Nếu bỏ qua sụt áp stator, nguyên tắc điều khiển E/f trở thành nguyên tắc điều khiển V/f V = K.f , K số điều khiển Như vậy, việc giảm tần số động định mức thường đôi với việc giảm điện áp cho từ thông động giữ không đổi Khi động làm việc với Học viên: Hồ Minh Nhị Luận Văn Tốt Nghiệp tần số lớn định mức, thường giữ điện áp không đổi định mức giới hạn cách điện stator giới hạn điện áp nguồn cung cấp Khi động vận hành tần số thấp, sụt áp sator làm giảm đáng kể sức điện động E, tương ứng từ thông động Để bù suy giảm từ thông tần số thấp, chọn đặc tuyến điều khiển theo nguyên tắc V/f sau: V = V0 + K.f (1.4) Trong đó, V0 chọn để cung cấp từ thông động định mức tần số zero K chọn để điện áp định mức tần số định mức V Vđm V0 O f0 fđm f Hình 1.1 Đặc tuyến điều khiển V/f Nguyên lý điều khiển V/Hz sử dụng phổ biến công nghiệp tính đơn giản hiệu quả, thích hợp với hệ điều khiển vòng hở, có nhu cầu xác cao thực hệ điều khiển vòng kín Học viên: Hồ Minh Nhị Luận Văn Tốt Nghiệp V Khâu Tỉ lệ f m Đk Tốc độ trượt ω* Σ Σ ω ωsl ω f PWM INVERTER ∫ Khâu Tích phân ω Hình 1.2 Sai số tốc độ sau qua khâu PI cho tốc độ trượt Khâu điều chỉnh tốc độ trượt khâu bảo hòa, tốc độ trượt giới hạn phạm vi cho phép dòng qua động bị hạn chế định mức cho trước Ưu điểm nguyên lý điều khiển hồi tiếp dòng nên tránh việc sử dụng cảm biến có giá thành cao Hệ có đáp ứng nhanh ổn định với tốc độ nên dùng rộng rãi 1.2 BỘ NGHỊCH LƯU ÁP 1.2.1 Vai trò ứng dụng nghịch lưu Bộ nghịch lưu có nhiệm vụ chuyển đổi lượng từ nguồn điện chiều không đổi sang dạng lượng điện xoay chiều để cung cấp cho tải xoay chiều Đại lượng điều khiển ngõ điện áp hay dòng điện Trong trường hợp đầu nghịch lưu gọi nghịch lưu áp trường hợp sau gọi nghịch lưu dòng Học viên: Hồ Minh Nhị 84 Luận Văn Tốt Nghiệp MOV ACCAL,W0 ; MOV W0,TB ;Tb=Tb*mv*mf MOV TA,W0 ; ADD TB,WREG ;TA+TB MOV W0,SUMAB ; MOV SUMAB,W0 ; SUB TS,WREG ;TS-(TA+TB)=T0 MOV W0,HAFT0 ; BCLR SR,#C ; RRC HAFT0 ;T0/2 MOV Sector,W0 ; BCLR SR,#Z ; CP0 W0 ;Is sector0 ? BRA Z,VECTOR_IN_SECTOR0 ;Yes, goto VECTOR_IN_SECTOR0 BCLR SR,#Z ; CP W0,#1 ;Is sector1 ? BRA Z,VECTOR_IN_SECTOR1 ;Yes, VECTOR_IN_SECTOR1 BCLR SR,#Z ; CP W0,#2 ; BRA Z,VECTOR_IN_SECTOR2 ; BCLR SR,#Z ; CP W0,#3 ; BRA Z,VECTOR_IN_SECTOR3 ; BCLR SR,#Z ; CP W0,#4 ; BRA Z,VECTOR_IN_SECTOR4 ; BCLR SR,#Z ; CP W0,#5 ; BRA Z,VECTOR_IN_SECTOR5 ; MOV #0X001A,W14 REPEAT #13 POP [W14 ] RETFIE ; VECTOR_IN_SECTOR0: MOV HAFT0,W0 ; Học viên: Hồ Minh Nhị 85 Luận Văn Tốt Nghiệp MOV BCLR RLC ADD MOV BCLR RLC MOV SUB MOV BCLR RLC MOV REPEAT POP RETFIE W0,PDC1 SR,#C PDC1 TA,WREG W0,PDC2 SR,#C PDC2 HAFT0,W0 TS,WREG W0,PDC3 SR,#C PDC3 #0X001A,W14 #13 [W14 ] VECTOR_IN_SECTOR1: MOV HAFT0,W0 MOV W0,PDC2 BCLR SR,#C RLC PDC2 ADD TB,WREG MOV W0,PDC1 BCLR SR,#C RLC PDC1 MOV HAFT0,W0 SUB TS,WREG MOV W0,PDC3 BCLR SR,#C RLC PDC3 MOV #0X001A,W14 REPEAT #13 POP [W14 ] RETFIE VECTOR_IN_SECTOR2: MOV HAFT0,W0 ;PHASE A, T0/2 ; ;Phaûi dịch trái PDC! ;PHASE B, TA+T0/2 ; ; ; ; ;PHASE C, TS-T0/2 ; ; ; ;Dchæ ghi Push ; ; ; ;PHASE B, T0/2 ; ; ; ;PHASE A, TB+T0/2 ; ; ; ; ;PHASE C, TS-T0/2 ; ; ; ; ; ; Học viên: Hồ Minh Nhị 86 Luận Văn Tốt Nghiệp MOV BCLR RLC ADD MOV BCLR RLC MOV SUB MOV BCLR RLC W0,PDC2 SR,#C PDC2 TA,WREG WREG,PDC3 SR,#C PDC3 HAFT0,W0 TS,WREG W0,PDC1 SR,#C PDC1 MOV REPEAT POP RETFIE #0X001A,W14 #13 [W14 ] VECTOR_IN_SECTOR3: MOV HAFT0,W0 MOV W0,PDC3 BCLR SR,#C RLC PDC3 ADD TB,WREG MOV W0,PDC2 BCLR SR,#C RLC PDC2 MOV HAFT0,W0 SUB TS,WREG MOV W0,PDC1 BCLR SR,#C RLC PDC1 MOV REPEAT POP RETFIE ;PHASE B, T0/2 ; ; ; ;PHASE C, TA+T0/2 ; ; ; ; ;PHASE A, TS-T0/2 ; ; ; ;PHASE C, T0/2 ; ; ; ;PHASE B, TB+T0/2 ; ; ; ; ;PHASE A, TS-T0/2 ; ; #0X001A,W14 #13 [W14 ] Học viên: Hồ Minh Nhị 87 Luận Văn Tốt Nghieäp VECTOR_IN_SECTOR4: MOV HAFT0,W0 MOV W0,PDC3 BCLR SR,#C RLC PDC3 ADD TA,WREG MOV W0,PDC1 BCLR SR,#C RLC PDC1 MOV HAFT0,W0 SUB TS,WREG MOV W0,PDC2 BCLR SR,#C RLC PDC2 MOV REPEAT POP RETFIE ; ;PHASE C, T0/2 ; ; ; ;PHASE A, TA+T0/2 ; ; ; ; ;PHASE B, TS-T0/2 ; #0X001A,W14 #13 [W14 ] VECTOR_IN_SECTOR5: MOV HAFT0,W0 MOV W0,PDC1 BCLR SR,#C RLC PDC1 ADD TB,WREG MOV W0,PDC3 BCLR SR,#C RLC PDC3 MOV HAFT0,W0 SUB TS,WREG MOV W0,PDC2 BCLR SR,#C RLC PDC2 MOV REPEAT POP #0X001A,W14 #13 [W14 ] ; ;PHASE A,T0/2 ; ; ; ;PHASE C, TB+T0/2 ; ; ; ; ;PHASE B, TS-T0/2 ; ; Học viên: Hồ Minh Nhị 88 Luận Văn Tốt Nghiệp RETFIE ; -Read_Encoder: MOV POSCNT,W0 CLR POSCNT MOV W0,FrAct RETURN ; -;Haøm tra cứu nội suy giá tr sin Sine: ;POSCCNT chứa số xung đếm ;Xóa sau lần đọc ;FrAct số xung lần đọc MOV #0X7F, W0 ; MOV W0, _TBLPAG ; MOV #0XFC00,TBLBASE ; MOV #500,W0 ;2^16/131 MUL.UU W0,COUNT,PROL ;Giải thuật tương đương phép tóan sau: ; ;PROL=COUNT mod 131;PROH=COUNT\131 ADD PROH,PROH,INDEX ADD INDEX,TBLBASE,TBLPTR TBLRDL [TBLPTR++],Y0 ADD #0,PROL BRA Z,NO_INTERPOLATION TBLRDL [TBLPTR],Y1 SUB Y1,Y0,W0 MUL.UU PROL,W0,PROL ADD Y0,PROH,SIN RETURN NO_INTERPOLATION: MOV Y0,SIN RETURN END ; -/ - Học viên: Hồ Minh Nhị 89 Luận Văn Tốt Nghiệp PHỤ LỤC CHƯƠNG TRÌNH GIAO DIỆN BẰNG VISUAL BASIC MAIN WINDOW DATA WINDOW Học viên: Hồ Minh Nhị 90 Luận Văn Tốt Nghiệp PLOT WINDOW Option Explicit Dim NreqEnable1, NreqEnable2 As Boolean Dim ON_OFF_LED As Boolean Dim s, r As Variant Dim a() As Byte Dim b As Byte Dim i As Integer Dim t1, t2, t As Variant Private Sub cmdPlot_Click() Load Form2 Form2.Show End Sub Private Sub Form_Load() Form2.Hide Form2.WindowState = iSliderX1.Position = 1.25 Học viên: Hồ Minh Nhị 91 Luận Văn Tốt Nghiệp iSliderX2.Position = 0.125 iSliderX3.Position = 0.125 KPSEND.Text = iSliderX1.Position KISEND.Text = iSliderX2.Position KCSEND.Text = iSliderX3.Position PIOut.Text = SpeedRec.Text = SpeedAct.Text = MaxSEND.Text = 50 MinSEND.Text = -50 FrateSEND.Text = 50 VrateSEND.Text = 180 poleSEND.Text = pulseSEND.Text = 1000 NreqSEND.Text = 300 NreqSEND.Enabled = False NreqEnable1 = False NreqEnable2 = False FrateSEND.Enabled = True poleSEND.Enabled = True End Sub Private Sub FrateOk_Click() Dim d2, h1, l1 As Variant d2 = FrateSEND.Text NreqEnable1 = True If IsNumeric(d2) Then If d2 < 200 Then h1 = d2 \ 256 l1 = d2 Mod 256 MDIForm1.MSComm1.Output = Chr(126) & Chr(5) & Chr(l1) & Chr(h1) Else MsgBox "Error!", 0, "Input again" FrateSEND = 50 Học viên: Hồ Minh Nhị 92 Luận Văn Tốt Nghiệp End If Else MsgBox "Error!", 0, "Input again" FrateSEND = 50 End If If NreqEnable1 And NreqEnable2 Then NreqSEND.Enabled = True NreqEnable1 = False NreqEnable2 = False FrateSEND.Enabled = False poleSEND.Enabled = False End If End Sub Private Sub iSliderX1_OnPositionChangeUser() KPSEND.Text = Round(iSliderX1.Position, 6) End Sub Private Sub iSliderX2_OnPositionChangeUser() KISEND.Text = Round(iSliderX2.Position, 6) End Sub Private Sub iSliderX3_OnPositionChangeUser() KCSEND.Text = Round(iSliderX3.Position, 6) End Sub Private Sub KcOk_Click() Dim d1, h2, l2 As Variant d1 = (KCSEND.Text) * ^ 15 Học viên: Hồ Minh Nhị 93 Luận Văn Tốt Nghiệp h2 = d1 \ 256 l2 = d1 Mod 256 MDIForm1.MSComm1.Output = Chr(126) & Chr(2) & Chr(l2) & Chr(h2) End Sub Private Sub KiOk_Click() Dim d1, h2, l2 As Variant d1 = (KISEND.Text) * ^ 15 h2 = d1 \ 256 l2 = d1 Mod 256 MDIForm1.MSComm1.Output = Chr(126) & Chr(1) & Chr(l2) & Chr(h2) End Sub Private Sub KpOk_Click() Dim d2, h1, l1 As Variant d2 = ((KPSEND.Text * (2 ^ 15 - 1)) / 16) h1 = d2 \ 256 l1 = d2 Mod 256 MDIForm1.MSComm1.Output = Chr(126) & Chr(0) & Chr(l1) & Chr(h1) End Sub Private Sub MaxOk_Click() Dim d2, h1, l1 As Variant d2 = MaxSEND.Text If IsNumeric(d2) Then If d2 >= Then h1 = d2 \ 256 l1 = d2 Mod 256 MDIForm1.MSComm1.Output = Chr(126) & Chr(3) & Chr(l1) & Chr(h1) Else MsgBox "Error!", 0, "Input again" MaxSEND = 50 End If Học viên: Hồ Minh Nhị 94 Luận Văn Tốt Nghiệp Else MsgBox "Error!", 0, "Input again" MaxSEND = 50 End If End Sub Private Sub MinOk_Click() Dim d2, h1, l1 As Variant d2 = MinSEND.Text If IsNumeric(d2) Then If d2 < Then d2 = d2 + ^ 16 h1 = d2 \ 256 l1 = d2 Mod 256 Else MsgBox "Error!", 0, "Input again" MinSEND = -50 End If MDIForm1.MSComm1.Output = Chr(126) & Chr(4) & Chr(l1) & Chr(h1) Else MsgBox "Error!", 0, "Input again" MinSEND = -50 End If End Sub Private Sub PoleOk_Click() Dim d2, h1, l1 As Variant d2 = poleSEND.Text NreqEnable2 = True If IsNumeric(d2) Then h1 = d2 \ 256 l1 = d2 Mod 256 MDIForm1.MSComm1.Output = Chr(126) & Chr(7) & Chr(l1) & Chr(h1) Else MsgBox "Error!", 0, "Input again" Học viên: Hồ Minh Nhị 95 Luận Văn Tốt Nghiệp poleSEND = End If If NreqEnable2 And NreqEnable1 Then NreqSEND.Enabled = True NreqEnable1 = False NreqEnable2 = False FrateSEND.Enabled = False poleSEND.Enabled = False End If End Sub Private Sub PulseOk_Click() Dim d2, h1, l1 As Variant d2 = pulseSEND.Text If IsNumeric(d2) Then If d2 < 2800 Then h1 = d2 \ 256 l1 = d2 Mod 256 MDIForm1.MSComm1.Output = Chr(126) & Chr(8) & Chr(l1) & Chr(h1) Else MsgBox "Error!", 0, "Input again" pulseSEND = 1000 End If Else MsgBox "Error!", 0, "Input again" pulseSEND = 1000 End If End Sub Private Sub RST_Click() If MDIForm1.MSComm1.PortOpen Then MDIForm1.MSComm1.PortOpen = False End If Call Form_Load End Sub Hoïc viên: Hồ Minh Nhị 96 Luận Văn Tốt Nghiệp Private Sub SpeedOk_Click() Dim d2, h1, l1 As Variant d2 = NreqSEND.Text If IsNumeric(d2) Then If d2

Ngày đăng: 04/04/2021, 00:37

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w