Điều khiển động cơ không đồng bộ ba pha theo phương pháp vector không gian

107 175 0
Điều khiển động cơ không đồng bộ ba pha theo phương pháp vector không gian

Đ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

Tài liệu trình bày thiết kế bộ biến tần 3 pha sử dụng phương pháp véc tơ không gian điều khiển động cơ không đồng bộ 3 pha gồm cơ sở lý thuyết, thiết kế mạch, phần mềm điều khiển, mô phỏng, thi công lắp ráp mạch, vận hành cân chỉnh mạch kết quả mạch điện hoạt động tốt đảm bảo yêu cầu có khả năng ứng dụng cao

MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Ký hiệu, chữ viết tắt KTĐ PWM SVM A/D ADC MCU TIMER Tên Tiếng Anh Pulse Width Modulation Space Vector Modulation Analog/Digital Analog Digital Converter Micro Controller Unit Nghĩa Tiếng Việt Kỹ thuật điện Điều chỉnh độ rộng xung Điều chế véc tơ không gian Tương tự/Số Bộ chuyển đổi tương tự - số Vi điều khiển Bộ định thời DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU Cùng với phát triển điện khí hóa tự động hóa, động khơng đồng với ưu điểm giá thành thấp, khơng cần bảo trì thường xuyên, khả làm việc cao nên ứng dụng rộng rãi công nghiệp, nông nghiệp đời sống hàng ngày Chính việc điều khiển động không đồng vấn đề quan trọng Có nhiều phương pháp điều khiển động ba pha phương pháp điều khiển V/f, phương pháp điều chế sin PWM, phương pháp điều chế vector không gian, … Hiện điều khiển động không đồng ba pha theo phương pháp vector không gian giải pháp hàng đầu hệ thống truyền động điện đại ngày Nó thay hệ truyền động dùng động chiều với giá thành cao độ tin cậy thấp Cùng với phát triển mạnh mẽ công nghệ bán dẫn kỹ thuật vi xử lý đặc biệt đời máy tính số với tốc độ xử lý cao, việc thực hệ thống điều khiển sử dụng lý thuyết vector trở nên dễ dàng tạo bước nhảy vọt kỹ thuật điều khiển động Với nhận thức trên, chọn đề tài: “Điều khiển động không đồng ba pha theo phương pháp vector không gian” làm luận văn tốt nghiệp nhằm tìm hiểu phương pháp điều khiển biến tần nguồn áp cung cấp cho động phương pháp điều chế PWM hay phương pháp điều chế vector không gian (SVM), nghiên cứu giải thuật viết chương trình để điều khiển động khơng đồng ba pha theo phương pháp vector không gian Luận văn chia làm chương: Chương I Động không đồng bộ, phương pháp điều khiển phương pháp điều khiển biến tần nguồn áp cung cấp cho động cơ: Chương trình bày cấu tạo phương pháp điều khiển động không đồng bộ; phương pháp điều khiển biến tần nguồn áp cung cấp cho động phương pháp điều khiển V/f, phương pháp điều chế PWM, phương pháp điều chế vector không gian Chương II Tìm hiểu PIC 18F4431: - Đặc điểm vi điều khiển PIC - Cấu trúc phần cứng PIC 18F4431: sơ đồ chân, chức chân - Sơ đồ khối chức MCU PIC 18F4431 khối tạo xung PWM, định thời Timer, chuyển đổi A/D,… Chương III Thiết kế phần cứng: Để xây dựng cấu trúc phần cứng mạch điện ta cần: - Xác định yêu cầu mạch điện để lựa chọn linh kiện phù hợp - Sau phân tích sở lý thuyết vẽ mạch nguyên lý mạch điện, mạch in, gia công mạch thực lắp ráp mạch theo sơ đồ nguyên lý - Sau xây dựng giải thuật chương trình, lập trình cho vi điều khiển PIC - Sau lập trình xong ta nạp chương trình cấp nguồn, sử dụng dụng cụ đo đồng hồ vạn năng, máy sóng để đo thơng số dạng xung tín hiệu điều khiển, dạng sóng điện áp đầu ra,… CHƯƠNG I ĐỘNG CƠ KHÔNG ĐỒNG BỘ, CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN CỦA NÓ VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN BIẾN TẦN NGUỒN ÁP CUNG CẤP CHO ĐỘNG CƠ 1.1 TỔNG QUAN VỀ ĐỘNG CƠ KHÔNG ĐỒNG BỘ 1.1.1 Tổng quan Động điện ba pha có hai loại động khơng đồng động đồng Động không đồng ba pha động điện xoay chiều ba pha có tốc độ quay roto (n) nhỏ tốc độ quay (n1) từ trường dòng điện cấp cho động Còn động điện đồng động điện xoay chiều ba pha có tốc độ quay rô to với tốc độ quay từ trường dòng điện cấp cho động Động không đồng sử dụng nhiều sản xuất sinh hoạt chế tạo đơn giản, giá thành rẻ, độ tin cậy cao, vận hành đơn giản, hiệu suất cao gần khơng bảo trì 1.1.2 Cấu tạo Cấu tạo máy điện không đồng trình bày hình 1.1, gồm hai phận chủ yếu stato rơto, ngồi có vỏ máy, nắp máy trục máy Trục làm thép, gắn rơto, ổ bi phía cuối trục có gắn quạt gió để làm mát máy dọc trục [1] a Stato (phần tĩnh): gồm cuộn dây ba pha điện quấn lõi sắt bố trí vành tròn để tạo từ trường quay, bao gồm: + Lõi thép: Là phần dẫn từ làm thép KTĐ dầy 0,35mm – 0,5mm dập sẵn ghép lại với nhau, bề mặt thép có phủ sơn cách điện, phía có xẻ rãnh để đặt dây quấn hình vẽ: Hình 1.1 Cấu tạo động khơng đồng [1] 1.Lõi thép stato; 2.Dây quấn stato; 3.Nắp máy; 4.Ổ bi; 5.Trục máy; 6.Hộp đấu cực; 7.Lõi thép roto; 8.Thân máy; 9.Quạt gió làm mát; 10.Hộp quạt + Dây quấn: Dây quấn Stato đặt vào rãnh lõi thép Stato, thường đồng nhơm có bọc cách điện cách điện với lõi thép Dây quấn kết cấu thành cuộn dây riêng biệt AX, BY, CZ đặt lệch 1200 điện không gian, đầu dây đưa tới hộp đấu dây + Vỏ máy nắp máy: làm gang thép đúc có tác dụng giữ chặt lõi thép không dùng để làm mạch dẫn từ, nắp máy dùng để bảo vệ dây quấn phần ứng đỡ trục rơto b Rơto (Phần quay): hình trụ có tác dụng cuộn dây quấn lõi thép + Lõi thép: Cũng làm thép KTĐ ghép lại, mặt ngồi có xẻ rãnh để đặt dây quấn Lõi thép ép trực tiếp lên trục máy (thực tế tổn hao sắt lõi thép rôto máy làm việc bé không cần dùng thép Stato thường người ta ép làm lõi thép rôto ln) (b) Hình 1.2 Kết cấu stator máy điện KĐB ba pha [1] a) Lá thép stato; b) lõi thép stato + Dây quấn : Dây quấn rơto có kiểu cấu tạo: > Rôto dây quấn (Rôto pha): Loại dây quấn có kết cấu tương tự dây quấn Stato đầu cuối đấu sẵn thành hình sao, đầu dây lại đấu với vành trượt đồng gắn tâm trục, cách điện với trục cách điện với Tỳ vành trượt chổi than dùng để nối với biến trở pha đặt để cải thiện tính mở máy điều chỉnh tốc độ Khi máy làm việc bình thường dây quấn rơto nối ngắn mạch > Rơto lồng sóc (rơto ngắn mạch): Dây quấn đồng nhôm đặt rãnh lõi thép rôto, hai đầu hàn với hai vành kim loại đồng nhơm gọi vòng ngắn mạch (a) (b) (c) Hình 1.3 Cấu tạo roto động điện KĐB xoay chiều pha [1] a) Dây quấn roto lồng sóc b) Lõi thép roto c) Ký hiệu động sơ đồ Để cải thiện tính mở máy thường chế tạo rơto lồng sóc rãnh sâu rơto sóc kép xẻ rãnh chéo Khi mắc động vào mạng điện xoay chiều ba pha, từ trường quay stato gây làm cho rôto quay trục Chuyển động quay rôto trục máy truyền sử dụng vận hành máy công cụ cấu chuyển động khác Chú ý: Giữa phần tĩnh phần quay có khe hở khơng khí nhỏ khoảng (0,2 - 1,00mm) 1.1.3 Ứng dụng Máy điện không đồng loại máy điện xoay chiều chủ yếu dùng làm động điện (đặc biệt loại rotor lồng sóc) có nhiều ưu điểm so với động DC Do kết cấu đơn giản, làm việc chắn, hiệu suất cao, giá thành hạ nên động không đồng loại máy dùng rộng rãi công nghiệp, nông nghiệp, đời sống ngày Trong công nghiệp, động không đồng thường dùng làm nguồn động lực cho máy cán thép loại vừa nhỏ, cho máy công cụ nhà máy công nghiệp nhẹ Trong nông nghiệp, dùng làm máy bơm hay máy gia công nông sản… Trong đời sống ngày, động không đồng ngày chiếm vị trí quan trọng với nhiều ứng dụng như: quạt gió, động tủ lạnh, máy quay đĩa, Tóm lại, với phát triển sản xuất điện khí hóa tự động hóa, phạm vi ứng dụng động khơng đồng ngày rộng rãi 1.2 CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN ĐỘNG CƠ KHÔNG ĐỒNG BỘ So với máy điện chiều, việc điều khiển máy điện xoay chiều gặp nhiều khó khăn thơng số máy điện xoay chiều thông số biến đổi theo thời gian, chất phức tạp mặt cấu trúc máy động điện xoay chiều so với máy điện chiều [1], [2] 10 printf(lcd_putc,"MOTOR: RUN -R:%u ",f); } } } void RAM_UP_SPEED() //tang toc { T_ramp_up_ms=(T_ramp_up*1000)/fmax; while(ff_req) { f=f_req; //f=f_req when ram speed finished ! } if(reverse==0) //chay thuan { lcd_gotoxy(1,2);//cot,dong printf(lcd_putc,"MOTOR: RUN -F:%u ",f); } else if(reverse==1) //chay nguoc { lcd_gotoxy(1,2);//cot,dong printf(lcd_putc,"MOTOR: RUN -R:%u ",f); } } } ////////////////// void quet_phim() { //phim tang dc nhan if(tang==0) { if(mod==1) //cho phep thay doi tan so bang nut nhan { if(f_key0) acc=acc-1; delay_ms(250); } else if(mod==3) //cho phep thay doi thoi gian giam toc { if(dec>0) dec=dec-1; delay_ms(250); } else if(mod==4) //chon dau vao tan so { f_inp=f_inp-1; if(f_inp4) mod=1; delay_ms(250); } if(start==0) { run=1; //chay thuan lcd_gotoxy(1,2);//cot,dong printf(lcd_putc,"MOTOR: RUN -F:%u ",f_req); } if(stop==0) { run=0; //chay nguoc lcd_gotoxy(1,2);//cot,dong printf(lcd_putc,"MOTOR: STOP"); } if(rev==0) { //dao chieu dong co f_req=0; RAM_DOWN_SPEED(); delay_ms(1200); reverse=reverse+1; if(reverse>=2) reverse=0; delay_ms(200); if(reverse==0) { lcd_gotoxy(12,2);//cot,dong printf(lcd_putc,"-F:%u ",f_req); direction_flag=1; } else if(reverse==1) { lcd_gotoxy(12,2);//cot,dong printf(lcd_putc,"-R:%u ",f_req); direction_flag=0; } } } ////////////////////////////// void hien_thi() { /////////////////////////////////////////// if(mod==1) //thay doi tan so { if(f_inp==1) //thay doi bang VR { set_adc_channel(0); adc=read_adc(); f_vr=adc/5; if(f_vr>=50) f_vr=50; lcd_gotoxy(1,1);//cot 1,dong printf(lcd_putc,"VR * F(Hz):%u ",f_vr); } else if(f_inp==2) //thay doi tan so bang Key { lcd_gotoxy(1,1);//cot 1,dong printf(lcd_putc,"KEY * F(Hz):%u ",f_key); } } else if(mod==2) { lcd_gotoxy(1,1);//cot 1,dong printf(lcd_putc,"TANG TOC(s):%u ",acc); } else if(mod==3) { lcd_gotoxy(1,1);//cot 1,dong printf(lcd_putc,"GIAM TOC(s):%u ",dec); } else if(mod==4) { if(f_inp==1) //nhap tan so = VR { lcd_gotoxy(1,1);//cot 1,dong printf(lcd_putc,"NHAN TAN SO: VR "); } if(f_inp==2) //nhap tan so = key { lcd_gotoxy(1,1);//cot 1,dong printf(lcd_putc,"NHAN TAN SO: KEY "); } } } ////////////////////////ngat timer #INT_timer1 void isr_timer1() { // if(direction_flag==1) //FORWARD direction// chay thuan { sector=sector+1; if(sector>6) //sector (1)->(6) { sector=1; } } else //REVERSE direction// chay nguoc { sector=sector-1; if(sector==0) //sector (1)->(6) { sector=6; } } switch (sector) { case 1: set_power_pwm0_duty(data[TS]); set_power_pwm2_duty(data[0]); set_power_pwm4_duty(data[0]); break; case 2: set_power_pwm0_duty(data[TS]); set_power_pwm2_duty(data[TS]); set_power_pwm4_duty(data[0]); break; case 3: set_power_pwm0_duty(data[0]); set_power_pwm2_duty(data[TS]); set_power_pwm4_duty(data[0]); break; case 4: set_power_pwm0_duty(data[0]); set_power_pwm2_duty(data[TS]); set_power_pwm4_duty(data[TS]); break; case 5: set_power_pwm0_duty(data[0]); set_power_pwm2_duty(data[0]); set_power_pwm4_duty(data[TS]); break; case 6: set_power_pwm0_duty(data[TS]); set_power_pwm2_duty(data[0]); set_power_pwm4_duty(data[TS]); break; } set_timer1(t1_x);// } ////////////////////////////// void main() { set_tris_a(0xff); set_tris_e(0x0f); set_tris_b(0x00); set_tris_c(0x0f); i=0; ///////////////////////////////////////////////////////////////////////////// setup_adc_ports(NO_ANALOGS); setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_8 ); disable_interrupts(INT_TIMER2);//ko cho phep ngat timer2 disable_interrupts(INT_TIMER1);//ko cho phep ngat timer1 disable_interrupts(INT_PWMTB); disable_interrupts(INT_RDA);//ko cho phep ngat uart1 disable_interrupts(GLOBAL);//cho phep ngat toan cuc setup_adc(ADC_CLOCK_INTERNAL | san0); setup_adc_ports(sAN0 |VSS_VDD); set_adc_channel(0); setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEMENTARY,PWM _COMPLEMENTARY,PWM_DISABLED ); //module 0(PWM0,PWM1) = COMPLEMENTARY //module 1(PWM2,PWM3) = COMPLEMENTARY //module 2(PWM4,PWM5) = COMPLEMENTARY //module 3(PWM6,PWM7) = OFF setup_power_pwm(PWM_CLOCK_DIV_4|PWM_UP_DOWN| PWM_DEAD_CLOCK_DIV_4,1,0,750,0,1,10); // 1) mode:PWM_CLOCK_DIV_4; PWM_UP_DOWN;PWM_DEAD_CLOCK_DIV_4, // 2) postscale:1 // 3) time_base:=> first value of timebase // 4) period:chu ky` xung PWM =500 =>200uS // 5) compare:0 // 6) compare_postscale:1 // 7) dead_time:10 => Tdeatime=10*0.2=2uS set_power_pwm0_duty(0); set_power_pwm2_duty(0); set_power_pwm4_duty(0); lcd_init (); //LCD start delay_ms(1500); //rtc_write_datetime(17, 04, 18, 03, 15, 22) ; fmax=50; mod=1; acc=5; dec=5; f_key=0; f_inp=1; run=0; reverse=0; direction_flag=1;//chay thuan f=0; //tan so ban dau disable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL);// set_timer1(3055); f=f_req=0; ////////////hien thi ban dau set_adc_channel(0); adc=read_adc(); f_vr=adc/5; if(f_vr>=50) f_vr=50; printf(lcd_putc,"\f " );//xoa man hinh lcd lcd_gotoxy(1,1);//cot 1,dong printf(lcd_putc,"VR * F(Hz):%u delay_ms(1); ",f_vr); lcd_gotoxy(1,2);//cot,dong printf(lcd_putc,"MOTOR: STOP-F:0"); //direction_flag=0;//chay nguoc TS=410; //t1_x=55035; //t1_x=63500 : 50hz t1_x=60326; enable_interrupts(INT_TIMER1); while(true) { quet_phim(); hien_thi(); //////////// if(run==1) { if(f_inp==1) f_req=f_vr; //vr else if(f_inp==2) f_req=f_key; //key if(f_req==0) { f_req=0; RAM_DOWN_SPEED(); disable_interrupts(INT_TIMER1); set_power_pwm0_duty(0); set_power_pwm2_duty(0); set_power_pwm4_duty(0); } else { ////////////////////nhan tan so enable_interrupts(INT_TIMER1); if(f_req>f) RAM_UP_SPEED(); if(f_req 4); lcd_send_nibble(n & 0xf); } // -void lcd_init(void) { int8 i; output_low(LCD_RS); output_low(LCD_E); delay_ms(15); for(i=0 ;i < 3; i++) { lcd_send_nibble(0x03); delay_ms(5); } lcd_send_nibble(0x02); for(i=0; i < sizeof(LCD_INIT_STRING); i++) { lcd_send_byte(0, LCD_INIT_STRING[i]); } } // -void lcd_gotoxy(int8 x, int8 y) { int8 address; if(y != 1) address = lcd_line_two; else address=0; address += x-1; lcd_send_byte(0, 0x80 | address); } // -void lcd_putc(char c) { switch(c) { case '\f': //clear LCD lcd_send_byte(0,1); delay_ms(2); break; case '\n': //next line lcd_gotoxy(1,2); break; case '\b': //previous position lcd_send_byte(0,0x10); break; case '\q': lcd_send_byte(0,0x18); //shift LCD break; case '\1' : lcd_send_byte(1,LCD_CHAR_1); break; //custom case '\2' : lcd_send_byte(1,LCD_CHAR_2); break; //characters case '\3' : lcd_send_byte(1,LCD_CHAR_3); break; case '\4' : lcd_send_byte(1,LCD_CHAR_4); break; case '\5' : lcd_send_byte(1,LCD_CHAR_5); break; case '\6' : lcd_send_byte(1,LCD_CHAR_6); break; case '\7' : lcd_send_byte(1,LCD_CHAR_7); break; case '\u' : lcd_send_byte(1,LCD_CHAR_8); break; default: lcd_send_byte(1,c); break; } } // -// -void lcd_init_custom_chars() { BYTE i; lcd_send_byte(0,LCD_CGRAM_ADDR); for(i=0;i

Ngày đăng: 12/12/2019, 17:54

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan