1. Trang chủ >
  2. Thạc sĩ - Cao học >
  3. Kỹ thuật >

TÀI LIỆU THAM KHẢO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.48 MB, 103 trang )


[4] Trần Trọng Minh(2007), Giáo trình Điện tử cơng suất, Nhà xuất bản giáo dục.

[5] Nguyễn Đình Phú(2007), Giáo trình vi xử lý 2, Trường Đại học SPKT Thành

phố Hồ Chí Minh.

[6] PIC18F4431 datasheet.

[7] Prof. Ali Keyhani, Pulse-Width Modulation (PWM) Techniques – lecture 25,

Department of Electrical and Computer EngineeringThe Ohio State

University.

[8] TLP250, IGBT-FGA250N120 datasheet.

[9] WEBSITE- http://www.microchip.com.



73



PHỤ LỤC

#include <18f4431.h>

#device *=16 adc=8

#include

#include

#include

//#fuses WDT,WDT4096

#fuses PROTECT,HS,NOLVP,MCLR,NOBROWNOUT,H4

#use delay(clock=40000000)

#use rs232 (Baud=9600, xmit=PIN_d0, rcv=PIN_d1,bits=8,STOP=1)



//RS-232



parametres ,RECEIVE_BUFFER=100

#include"llcd_new.h"

#define mode input(pin_a3)

#define tang input(pin_a4)

#define giam input(pin_a5)

#define start input(pin_e0)

#define stop input(pin_e1)

#define rev input(pin_e2)

unsigned int16 i,j,xa,xb,xc,t,xt,t1_x;

unsigned int8 d,f_vr,f_key,mod,acc,dec,f_inp,adc,run,reverse;

int1 direction_flag;

//-------------------------------------------------------- varible in MODEs

int fmax,fmin;

int f,f_req,T_ramp_up=5,T_ramp_down=5,T_ramp_up_ms,T_ramp_down_ms;

//default value

///////////////////////////////////////////////////////

//PTPER*4*sqrt(3)*SIN {data[0] -> data[511] }

const unsigned int16 sine[800]={

400 , 403 , 406 , 409 , 412 , 415 , 418 , 421 , 425 , 428 , 431 , 434 , 437 , 440 , 443 ,



447 , 450 , 453 , 456 , 459 , 462 , 465 , 468 , 471 , 474 , 478 , 481 , 484 , 487 , 490 ,

493 , 496 , 499 , 502 , 505 , 508 , 511 , 514 , 517 , 520 , 523 , 526 , 529 , 532 , 535 ,

538 , 541 , 544 , 547 , 550 , 553 , 555 , 558 , 561 , 564 , 567 , 570 , 573 , 575 , 578 ,

581 , 584 , 587 , 589 , 592 , 595 , 598 , 600 , 603 , 606 , 608 , 611 , 614 , 616 , 619 ,

622 , 624 , 627 , 630 , 632 , 635 , 637 , 640 , 642 , 645 , 647 , 650 , 652 , 654 , 657 ,

659 , 662 , 664 , 666 , 669 , 671 , 673 , 676 , 678 , 680 , 682 , 685 , 687 , 689 , 691 ,

693 , 695 , 697 , 700 , 702 , 704 , 706 , 708 , 710 , 712 , 714 , 716 , 717 , 719 , 721 ,

723 , 725 , 727 , 729 , 730 , 732 , 734 , 736 , 737 , 739 , 741 , 742 , 744 , 745 , 747 ,

748 , 750 , 752 , 753 , 754 , 756 , 757 , 759 , 760 , 761 , 763 , 764 , 765 , 767 , 768 ,

769 , 770 , 771 , 773 , 774 , 775 , 776 , 777 , 778 , 779 , 780 , 781 , 782 , 783 , 784 ,

784 , 785 , 786 , 787 , 788 , 788 , 789 , 790 , 791 , 791 , 792 , 792 , 793 , 794 , 794 ,

795 , 795 , 796 , 796 , 796 , 797 , 797 , 797 , 798 , 798 , 798 , 799 , 799 , 799 , 799 ,

799 , 799 , 799 , 799 , 799 , 800 , 799 , 799 , 799 , 799 , 799 , 799 , 799 , 799 , 799 ,

798 , 798 , 798 , 797 , 797 , 797 , 796 , 796 , 796 , 795 , 795 , 794 , 794 , 793 , 792 ,

792 , 791 , 791 , 790 , 789 , 788 , 788 , 787 , 786 , 785 , 784 , 784 , 783 , 782 , 781 ,

780 , 779 , 778 , 777 , 776 , 775 , 774 , 773 , 771 , 770 , 769 , 768 , 767 , 765 , 764 ,

763 , 761 , 760 , 759 , 757 , 756 , 754 , 753 , 752 , 750 , 748 , 747 , 745 , 744 , 742 ,

741 , 739 , 737 , 736 , 734 , 732 , 730 , 729 , 727 , 725 , 723 , 721 , 719 , 717 , 716 ,

714 , 712 , 710 , 708 , 706 , 704 , 702 , 700 , 697 , 695 , 693 , 691 , 689 , 687 , 685 ,

682 , 680 , 678 , 676 , 673 , 671 , 669 , 666 , 664 , 662 , 659 , 657 , 654 , 652 , 650 ,

647 , 645 , 642 , 640 , 637 , 635 , 632 , 630 , 627 , 624 , 622 , 619 , 616 , 614 , 611 ,

608 , 606 , 603 , 600 , 598 , 595 , 592 , 589 , 587 , 584 , 581 , 578 , 575 , 573 , 570 ,

567 , 564 , 561 , 558 , 555 , 553 , 550 , 547 , 544 , 541 , 538 , 535 , 532 , 529 , 526 ,

523 , 520 , 517 , 514 , 511 , 508 , 505 , 502 , 499 , 496 , 493 , 490 , 487 , 484 , 481 ,

478 , 474 , 471 , 468 , 465 , 462 , 459 , 456 , 453 , 450 , 447 , 443 , 440 , 437 , 434 ,

431 , 428 , 425 , 421 , 418 , 415 , 412 , 409 , 406 , 403 , 399 , 396 , 393 , 390 , 387 ,

384 , 381 , 378 , 374 , 371 , 368 , 365 , 362 , 359 , 356 , 352 , 349 , 346 , 343 , 340 ,

337 , 334 , 331 , 328 , 325 , 321 , 318 , 315 , 312 , 309 , 306 , 303 , 300 , 297 , 294 ,

291 , 288 , 285 , 282 , 279 , 276 , 273 , 270 , 267 , 264 , 261 , 258 , 255 , 252 , 249 ,



246 , 244 , 241 , 238 , 235 , 232 , 229 , 226 , 224 , 221 , 218 , 215 , 212 , 210 , 207 ,

204 , 201 , 199 , 196 , 193 , 191 , 188 , 185 , 183 , 180 , 177 , 175 , 172 , 169 , 167 ,

164 , 162 , 159 , 157 , 154 , 152 , 149 , 147 , 145 , 142 , 140 , 137 , 135 , 133 , 130 ,

128 , 126 , 123 , 121 , 119 , 117 , 114 , 112 , 110 , 108 , 106 , 104 , 102 , 99 , 97 , 95

, 93 , 91 , 89 , 87 , 85 , 83 , 82 , 80 , 78 , 76 , 74 , 72 , 70 , 69 , 67 , 65 , 63 , 62 , 60 ,

58 , 57 , 55 , 54 , 52 , 51 , 49 , 47 , 46 , 45 , 43 , 42 , 40 , 39 , 38 , 36 , 35 , 34 , 32 ,

31 , 30 , 29 , 28 , 26 , 25 , 24 , 23 , 22 , 21 , 20 , 19 , 18 , 17 , 16 , 15 , 15 , 14 , 13 ,

12 , 11 , 11 , 10 , 9 , 8 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 4 , 3 , 3 , 3 , 2 , 2 , 2 , 1 , 1 , 1 , 0 , 0 ,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,

4 , 4 , 5 , 5 , 6 , 7 , 7 , 8 , 8 , 9 , 10 , 11 , 11 , 12 , 13 , 14 , 15 , 15 , 16 , 17 , 18 ,

19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 28 , 29 , 30 , 31 , 32 , 34 , 35 , 36 , 38 , 39 ,

40 , 42 , 43 , 45 , 46 , 47 , 49 , 51 , 52 , 54 , 55 , 57 , 58 , 60 , 62 , 63 , 65 , 67 ,

69 , 70 , 72 , 74 , 76 , 78 , 80 , 82 , 83 , 85 , 87 , 89 , 91 , 93 , 95 , 97 , 99 , 102 ,

104 , 106 , 108 , 110 , 112 , 114 , 117 , 119 , 121 , 123 , 126 , 128 , 130 , 133 ,

135 , 137 , 140 , 142 , 145 , 147 , 149 , 152 , 154 , 157 , 159 , 162 , 164 , 167 ,

169 , 172 , 175 , 177 , 180 , 183 , 185 , 188 , 191 , 193 , 196 , 199 , 201 , 204 ,

207 , 210 , 212 , 215 , 218 , 221 , 224 , 226 , 229 , 232 , 235 , 238 , 241 , 244 ,

246 , 249 , 252 , 255 , 258 , 261 , 264 , 267 , 270 , 273 , 276 , 279 , 282 , 285 ,

288 , 291 , 294 , 297 , 300 , 303 , 306 , 309 , 312 , 315 , 318 , 321 , 325 , 328 ,

331 , 334 , 337 , 340 , 343 , 346 , 349 , 352 , 356 , 359 , 362 , 365 , 368 , 371 ,

374 , 378 , 381 , 384 , 387 , 390 , 393 , 396 };

///////////////////////////////////////////////////////////////////////////

void RAM_DOWN_SPEED() //giam toc

{

T_ramp_down_ms=(T_ramp_down*1000)/fmax;

while(f>f_req)

{

f=f-1;

if(f>0)



{

delay_ms(T_ramp_down_ms); // 0.05s/Hz

}

else

{

set_power_pwm0_duty(0);

set_power_pwm2_duty(0);

set_power_pwm4_duty(0);

}

if(f
{

f=f_req; //f=f_req when ram speed finished !

}

if(reverse==0) //chay thuan

{

lcd_gotoxy(1,2);//cot,dong 2

printf(lcd_putc,"MOTOR: RUN -F:%u ",f);

}

else if(reverse==1) //chay nguoc

{

lcd_gotoxy(1,2);//cot,dong 2

printf(lcd_putc,"MOTOR: RUN -R:%u ",f);

}

}

}

void RAM_UP_SPEED() //tang toc

{

T_ramp_up_ms=(T_ramp_up*1000)/fmax;

while(f


{

f=f+1;

delay_ms(T_ramp_up_ms); // 0.05s/Hz

if(f>f_req)

{

f=f_req; //f=f_req when ram speed finished !

}

if(reverse==0) //chay thuan

{

lcd_gotoxy(1,2);//cot,dong 2

printf(lcd_putc,"MOTOR: RUN -F:%u ",f);

}

else if(reverse==1) //chay nguoc

{

lcd_gotoxy(1,2);//cot,dong 2

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_key<50) f_key=f_key+1;

delay_ms(250);



}

else if(mod==2) //cho phep thay doi thoi gian tang toc

{

if(acc<10) acc=acc+1;

delay_ms(250);

}

else if(mod==3) //cho phep thay doi thoi gian giam toc

{

if(dec<10) dec=dec+1;

delay_ms(250);

}

else if(mod==4) //chon dau vao tan so

{

f_inp=f_inp+1;

if(f_inp>2) f_inp=1;

delay_ms(250);

}

}

//phim giam dc nhan

if(giam==0)

{

if(mod==1) //cho phep thay doi tan so bang nut nhan

{

if(f_key>0) f_key=f_key-1;

delay_ms(250);

}

else if(mod==2) //cho phep thay doi thoi gian tang toc

{

if(acc>0) 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_inp<1) f_inp=2;

delay_ms(250);

}

}

////////nut OK dc nhan

if(mode==0)

{

mod=mod+1;

if(mod>4) mod=1;

delay_ms(250);

}

if(start==0)

{

run=1;

//chay thuan

lcd_gotoxy(1,2);//cot,dong 2

printf(lcd_putc,"MOTOR: RUN -F:%u ",f_req);

}

if(stop==0)



{

run=0;

//chay nguoc

lcd_gotoxy(1,2);//cot,dong 2

printf(lcd_putc,"MOTOR: STOP");

}

if(rev==0)

{

//dao chieu dong co

f_req=0;

RAM_DOWN_SPEED();

reverse=reverse+1;

if(reverse>=2) reverse=0;

delay_ms(200);

if(reverse==0)

{

lcd_gotoxy(12,2);//cot,dong 2

printf(lcd_putc,"-F:%u ",f_req);

}

else

{

lcd_gotoxy(12,2);//cot,dong 2

printf(lcd_putc,"-R:%u ",f_req);

}

}

}

//////////////////////////////

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 1

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 1

printf(lcd_putc,"KEY * F(Hz):%u ",f_key);

}

}

else if(mod==2)

{

lcd_gotoxy(1,1);//cot 1,dong 1

printf(lcd_putc,"TANG TOC(s):%u ",acc);

}

else if(mod==3)

{

lcd_gotoxy(1,1);//cot 1,dong 1

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 1

printf(lcd_putc,"NHAN TAN SO: VR ");

}

if(f_inp==2) //nhap tan so = key

{

lcd_gotoxy(1,1);//cot 1,dong 1

printf(lcd_putc,"NHAN TAN SO: KEY ");

}

}

}

////////////////////////ngat timer 1

#INT_timer1

void isr_timer1()

{ //

//output_toggle(pin_b7);

xa=xa+1;

if(xa>800) xa=0;

xb=xa+266;

if(xb>800) xb=xb-800;

xc=xa+532;

if(xc>800) xc=xc-800;

if(direction_flag==1) //FORWARD direction// chay thuan

{

set_power_pwm0_duty(sine[xa]);

set_power_pwm2_duty(sine[xb]);

set_power_pwm4_duty(sine[xc]);



Xem Thêm
Tải bản đầy đủ (.docx) (103 trang)

×