Thiết kế bộ PID dùng vi điều khiển - Pdf 12

Mục lục
Phần 1:Khái quát
 1.1: Động cơ một chiều
 1.2:PWM
 1.3:PID số
 1.4:Encoder
Phần 2:Mạch phần cứng
Phần 3:Tính toán PID
Phần 4:Giải thuật lập trình
Phn 1
Khỏi quỏt
1.1: ng c mt chiu
Khái niệm chung
Điều khiển tốc độ l một yêu cầu cần thiết tất yếu của các máy sản xuất.
Ta biết rằng hầu hết các máy sản xuất đòi hỏi có nhiều tốc độ, tùy theo
từng công việc, điều kiện lm việc m ta lựa chọn các tốc độ khác nhau
để tối u hoá quá trình sản xuất. Muốn có c các tốc độ khác nhau
trên máy ta có thể thay đổi cấu trúc cơ học của máy nh tỉ số truyền
hoặc thay đổi tốc độ của chính động cơ truyền động. ở đây em chỉ khảo
sát theo phng pháp thay đổi tốc độ động cơ truyền động.
Tốc độ lm việc của động cơ do ngi điều khiển quy định c gọi l
tốc độ đặt. Trong quá trình lm việc, tốc độ động cơ có thể bị thay đổi vì
tốc độ của động cơ phụ thuộc rất nhiều vo các thông số nguồn, mạch v
tải nên khi các thông số thay đổi thì tốc độ của động cơ sẽ bị thay đổi
theo. Tình trạng đó gây ra sai số về tốc độ v có thể không cho phép. Để
khắc phục ngi ta dùng những phng pháp ổn định tốc độ.
Độ ổn định tốc độ còn ảnh hnh quan trọng đến giải điều chỉnh (phạm
vi điều chỉnh tốc độ) v khả năng quá tải của động cơ. Độ ổn định cng
cao thì giải điều chỉnh cng có khả năng mở rộng v mômen quá tải
cng lớn.
Có rất nhiều phng pháp để điều chỉnh tốc độ động cơ :

dây quấn và an toàn cho ngời khỏi chạm vào điện. Trong máy điện nhỏ
và vừa nắp máy còn có tác dụng làm giá đỡ ổ bi. Trong trờng hợp này
nắp máy thờng làm bằng gang.
- Cơ cấu chổi than : để đa dòng điện từ phần quay ra ngoài. Cơ cấu chổi
than bao gồm có chổi than đặt trong hộp chổi than nhờ một lò xo tì chặy
lên cổ góp. Hộp chổi than đợc cố định trên giá chổi than và cách điện với
giá. Giá chổi than có thể quay đợc để điều chỉnh vị trí chổi than cho
đúng chỗ. Sau khi điều chỉnh xong thì dùng vít cố định lại.
Phần quay hay rôto.
Bao gồm những bộ phận chính sau :
Lõi sắt phần ứng :
Dùng để dẫn từ. Thờng dùng những tấm thép kỹ thuật điện dày 0,5mm
phủ cách điện mỏng ở hai mặt rồi ép chặt lại để giảm tổn hao do dòng
điện xoáy gây nên. Trên lá thép có dập hình dạng rãnh để sau khi ép lại
thì dặt dây quấn vào.
Trong những động cơ trung bình trở lên ngời ta còn dập những lỗ
thông gió để khi ép lạ thành lõi sắt có thể tạo đợc những lỗ thông gió dọc
trục.
Trong những động cơ điện lớn hơn thì lõi sắt thờng chia thành những
đoạn nhỏ, giữa những đoạn ấy có để một khe hở gọi là khe hở thông gió.
Khi máy làm việc gió thổi qua các khe hở làm nguội dây quấn và lõi sắt.
Trong động cơ điện một chiều nhỏ, lõi sắt phần ứng đợc ép trực tiếp
vào trục. Trong động cơ điện lớn, giữa trục và lõi sắt có đặt giá rôto.
Dùng giá rôto có thể tiết kiệm thép kỹ thuật điện và giảm nhẹ trọng lợng
rôto.
Dây quấn phần ứng.
Dây quấn phần ứng là phần phát sinh ra suất điện động và có dòng
điện chạy qua. Dây quấn phần ứng thờng làm bằng dây đồng có bọc cách
điện. Trong máy điện nhỏ có công suất dới vài kw thờng dùng dây có tiết
diện tròn. Trong máy điện vừa và lớn thờng dùng dây tiết diện chữ nhật.

R 2
4 . 7 k
12
3
4
5
6
7
8
9
T 1
T 0
P C 7
T 3
T 2
P C 6
T 5
T 4
P C 5
T 6
P C 2
P C 4
T 7
P C 0
P C 1
S W 2
L i g h t
S W 3
L i g h t
S W 4

1 0 3
C 9
1 0 3
C 1 0
1 0 3
C 1 1
1 0 3
R 2 2
4 . 7 k
R 1 9
4 . 7 k
R 2 0
4 . 7 k
R 2 1
4 . 7 k
J 2
L C D
1
2
3
4
5
6
7
8
9
1 0
1 1
1 2
1 3

1 1
X T A L 1
1 2
X T A L 2
1 3
P D 0 ( R X D )
1 4
P D 1 ( T X D )
1 5
P D 2 ( I N T 0 )
1 6
P D 3 ( I N T 1 )
1 7
P D 4 ( O C 1 B )
1 8
P D 5 ( O C 1 A )
1 9
P D 6 ( I C P 1 )
2 0
P D 7 ( O C 2 )
2 1
P C 0 ( S C L )
2 2
P C 1 ( S D A )
2 3
P C 2 ( T C K )
2 4
P C 3 ( T M S )
2 5
P C 4 ( T D 0 )

P C 6
P C 7
P C 4
P C 5
P C 0
P C 1
P C 2
S C K
M I S O
M O S I
M O S I
J 3
H E A D E R 5 X 2
2
4
6
8
1 0
1
3
5
7
9
S C K
M I S O
V C C
R E S E T
R E S E T
R 7
1 0 k

1
V C C
T 0
T 3
T 2
T 1
T 5
T 4
T 7
T 6
mạch điều khiển
D 1 7
L E D
D 1 8
L E D
C 1
1 0 0 n F
C 2
1 0 0 n F
J 1 0
N G U O N
1
2
3
4
C 3
1 0 u F / 5 0 V
C 4
4 7 u F / 5 0 V
R 2 3

1 N 4 0 0 7 ( C S )
J 1
M O T O R
1
2
2 4 V
R 2 4
4 . 7 k
mạch công suất
protus:
PB0/T0/XCK
1
PB1/T1
2
PB2/AIN0/INT2
3
PB3/AIN1/OC0
4
PB4/SS
5
PB5/MOSI
6
PB6/MISO
7
PB7/SCK
8
RESET
9
XTAL2
12

PC6/TOSC1
28
PC7/TOSC2
29
PA7/ADC7
33
PA6/ADC6
34
PA5/ADC5
35
PA4/ADC4
36
PA3/ADC3
37
PA2/ADC2
38
PA1/ADC1
39
PA0/ADC0
40
AREF
32
AVCC
30
U1
ATMEGA16
D7
14
D6
13

Q2
IRF540
R1
2k
2
3
4
5
6
7
8
9
1
RP1
RESPACK-8
SW2(COM)
SW1(COM)
SW3(COM)
SW1
SW-SPST
SW2
SW-SPST
SW3
SW-SPST
Phần 3:Tính toán PID
 Tính chọn hệ số Kp, K
I

Ziegler và Nichols đưa ra hai phương pháp thực nghiệm để xác định
tham số bộ điều khiển PID.Phương pháp thứ nhất dùng mô hình xấp xỉ

http://www.hpinfotech.com
Project :DIEU KHIEN TOC DO DONG CO DC SU DUNG XUNG AP
Version :
Date : 6/16/2011
Author : Mr.TIEN
Company : Mobile: 0917 54 28 45
Comments:
Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 16.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega16.h>
#include <delay.h>
#define Pwm_dc OCR1AL
#define C0 PINC.0
#define C1 PINC.1
#define C2 PINC.2
#define C3 PINC.3
#define C4 PINC.4
#define C5 PINC.5
#define C6 PINC.6
#define C7 PINC.7
#define B0 PINB.0
//#define B0 PINB.0
//so xung trong 25ms
int encoder=0;
//bien chay 25lan trong timer0 = 25ms

{
int m=0,n=0;
m=i/10;
n=(i-(m*10));
lcd_putchar(m+48);
lcd_putchar(n+48);
}
//
void set_PID(int set_point)
{
erros=set_point-a; //yytytytytytytytuytururyeiureyrutytutyt
Pvari=(9/5)*erros;//0.45*3
Ivari+=(1/48)*(erros+old_erros);//(25/1000)/1.2
Ura+=Pvari+Ivari;
if(Ura<=0)
{
Ura=1;
}
if(Ura>=255)
{
Ura=254;
}
Pwm_dc=Ura;
old_erros=erros;
}
//
void THIET_LAP_TOC_DO()
{
lcd_clear();
lcd_gotoxy(0,0);

{
sp=15;
b=1;
}
else if(C4==0)
{
sp=18;
b=1;
}
else if(C5==0)
{
sp=21;
b=1;
}
else if(C6==0)
{
sp=24;
b=1;
}
else if(C7==0)
{
sp=27;
b=1;
}
};
lcd_gotoxy(9,1);
lcd_putnum(sp);
delay_ms(50);
}
//

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out
Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0
State0=0
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P
State0=P
PORTB=0xFF;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P
State0=P
PORTC=0xFF;
DDRC=0x00;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out
Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0
State0=0
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 62.500 kHz

// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: On
// INT2 Mode: Falling Edge
GICR|=0x20;
MCUCR=0x00;
MCUCSR=0x00;
GIFR=0x20;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x01;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
lock=0;
Pwm_dc=0;
b=0;
C0=1;


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status