Professional Documents
Culture Documents
Da Mon He Thong Servo
Da Mon He Thong Servo
Bài 1:
a (1đ) Đường đặc tính mô tả mối quan hệ giữa vận tốc tối đa của động cơ và mô-men xoắn
(torque). Dựa vào đường đặc tính này ta có thể tính được vận tốc khởi động của động cơ
tương ứng với mô-men tải để không bị trượt bước.
b (1đ). Theo hình vận tốc khởi động tối đa của động cơ là 12000 pps. Theo công thức slide
16:
60 pps 60 12000
rpm 3600
ppr 360
1.8
3600 2
Vận tốc động cơ: 377 (rad/s)
60
c. Kết nối phần cứng (0.5đ)
Do động cơ lưỡng cực 2 pha nên sử dụng mạch cầu H tích hợp (ví dụ: L298)
H-Bridge 1
A
OUT1
P0 IN 1
P1 IN 2
OUT2
A
CONTROLLER B B
OUT3
P2 IN 3
P3 IN 4
OUT4
H-Bridge 2
Với vận tốc như câu b, ta tính được thời gian delay (0.5đ):
1 1
Td 84 103 (ms) 84 (us)
pps 12000
Dựa vào hình 1b, ta có bảng trạng thái xuất xung của bộ điều khiển (0.5đ)
Số hiệu: BM1/QT-PĐBCL-RĐTV 1
P3 P2 P1 P0 HEX
L H L H 0x05
H L L H 0x09
H L H L 0x0A
L H H L 0x06
SV có thể viết chương trình hoặc lưu đồ giải thuật cho bộ điều khiển theo bảng trên (0.5đ)
Lưu ý: Nếu SV sử dụng chân PWM và DIR cho phần cứng và bảng trạng thái vẫn cho đủ
điểm nếu làm đúng.
Bài 2:
a. Để đọc encoder chế độ x2 ta sử dụng 1 ngắt ngoài, cạnh lên (rising) và cạnh xuống
(falling). Giả sử dùng ngắt ngoài kênh 0, (EXTI0), kết nối với kênh A của encoder (0.5đ)
T1_ISR(){
if ((rising)&(B==0)|(falling)&(B==1))
count++;
else
count--;
cntvel++; //dùng để tính vận tốc
if (count>=2000)
count=0;
else if (count<=-2000)
count=0;
}
b. Sử dụng ngắt timer, ví dụ Timer 1 của vi điều khiển, thời gian ngắt (thời gian lấy mẫu) tự
khai báo. Gọi T(s) là thời gian lấy mẫu. Cấp vận tốc trung bình từ 150 RPM đến 600 RPM,
giả sử ta tìm được thông số của bộ điều khiển PI cho cấp vận tốc này là Kp và Ki. Do có sử
dụng anti-windup nên sử dụng thêm hệ số Kb cho bộ anti-windup. (0.5đ)
Các công thức tính toán bộ điều khiển vận tốc PI:
Số hiệu: BM1/QT-PĐBCL-RĐTV 1
Cấu trúc anti-windup cho khâu I
cnttmp = cntvel;
cntvel = 0;
curVel = (cnttmp*pi)/(1000*T); //tính vận tốc (rad/s) khi đọc encoder mode x2
//Tính sai số
err = desiredVel - curVel;
//Tính PI bao gồm anti-windup theo các công thức (2.2), (2.3), (2.4)
pterm = Kp*err;
err_windup = Ki*err + Kb*err_reset;
iterm = iterm_p + err_windup*T;
iterm_p = iterm;
//saturation of PIterm
if (piterm>HILIM)
pi_sat = HILIM;
else if (piterm<LOLIM)
pi_sat = LOLIM;
else
pi_sat = piterm;
err_reset = pi_sat-piterm;
Số hiệu: BM1/QT-PĐBCL-RĐTV 1
Lưu ý: Nếu SV không trình bày các công thức tính nhưng vẫn viết đầy đủ trong chương trình
thì vẫn cho đủ số điểm.
Bài 3:
Tính toán các thông số cần thiết (0.5)
150 5
Góc quay: (rad )
180 6
Lựa chọn gia tốc khởi động cho động cơ,
công thức 4.12 slide bài giảng.
4 q f qi 4 5 6 10
qc 2
(rad / s 2 )
tf 1 3
1 t f qc 4(q f qi )
2
tf
tc =0.092 (s)
2 2 qc
Trong đó tc 0.092(s) , t f 1( s)
qi 6; q f
qc 10 (rad/ s 2 )
Số hiệu: BM1/QT-PĐBCL-RĐTV 1