Đáp án đề thi học kỳ II năm học 2018-2019 môn Hệ thống truyền động Servo giúp các bạn sinh viên có thêm tài liệu để củng cố các kiến thức, ôn tập kiểm tra, thi cuối kỳ. Đây là tài liệu bổ ích để các em ôn luyện và kiểm tra kiến thức tốt, chuẩn bị cho kì thi học kì. Mời các em và các quý thầy cô giáo bộ môn tham khảo.
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠ KHÍ CHẾ TẠO MÁY
BỘ MÔN CƠ ĐIỆN TỬ
-
ĐÁP ÁN HỌC KỲ 2, NĂM HỌC 18-19 Môn: HỆ THỐNG TRUYỀN ĐỘNG SERVO
Mã môn học: SERV424029
Đề số: 01; Đề thi có 2 trang
Thời gian: 75 phút
Được phép sử dụng tài liệu
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:
3600 360
1.8
pps rpm
ppr
Vận tốc động cơ: 3600 2 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
H-Bridge 2
IN 1
IN 2
IN 3
IN 4
CONTROLLER
A A
OUT1
OUT2
OUT3
OUT4
P0
P1
P2
P3
Với vận tốc như câu b, ta tính được thời gian delay (0.5đ):
3
84 10 (ms) 84 (us) 12000
d
T
pps
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đ)
Trang 2SV 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đ)
Chương trình (1đ)
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:
Tính vận tốc :
2 ( / ) (2 )
k
M
rad s
N T
Trong đó: M là số xung đếm được trong thời gian lấy mẫu, T(s) Tính sai số
d
Khâu P:
P
k p k
Khâu I (sử dụng công thức tích phân lùi và có anti-windup)
e k_windup = K I e k + K b e k_reset
I I
k k k windup
T: thời gian lấy mẫu (s)
Trang 3Cấu trúc anti-windup cho khâu I
Chương trình (2đ)
const float pi = 3.1415;
float desiredVel;
T1_ISR(){
static float iterm_p=0;
static float err_sat=0;
float err,err_windup;
float pterm, iterm;
float piterm,pi_sat;
int cnttmp, piout;
HILIM = 100; LOLIM=0; //HILIM =100 tương đương PWM -> 100% //Tính vận tốc theo công thức (2.1)
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;
piterm += pterm + 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;
piout = (int)pi_sat; //ép kiểu số nguyên cho độ rộng xung PWM
return piout;
Trang 4Lư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)
Góc quay: 150 5
( )
180 6 rad
Lựa chọn gia tốc khởi động cho động cơ, công thức 4.12 slide bài giảng
2 2
( / )
f i c
f
t
10 ( / )
c
Thời gian tăng tốc, công thức 4.11 slide bài giảng:
2
1
2 2
c
c
t
q
Tính quỹ đạo q(t) theo công thức (4.14) trong slide bài giảng (0.5đ)
Đồ thị vị trí, vận tốc, gia tốc (1đ)
Trong đó tc 0.092( ) s , tf 1( ) s
6;
2
10 (rad/ s )
c