



















Preview text:
lOMoAR cPSD| 58702377
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỀ THI CUỐI KỲ HỌC KỲ 2, NĂM HỌC 17-18 THÀNH PHỐ HỒ CHÍ MINH
Môn: HỆ THỐNG TRUYỀN ĐỘNG SERVO
KHOA CƠ KHÍ CHẾ TẠO MÁY
Mã môn học: SERV424029
Đề số: 01; Đề thi có 2 trang. Thời
BỘ MÔN CƠ ĐIỆN TỬ
gian: 60 phút.
-------------------------
Được phép sử dụng tài liệu Bài 1: (4đ)
a. Vẽ sơ đồ khối mạch điều khiển động cơ bước đơn cực (unipolar)? Viết lưu đồ giải
thuật điều khiển động cơ trên ở chế độ “2 phase ON” với vận tốc 100
(RPM). Biết hàm delay(t), t: thời gian delay (us: micro second).
Sơ đồ khối mạch điều khiển (0.5)
Trình tự kích 2 phase ON của động cơ (0.25)
Giả sử A, B, C, D kết nối với 4 ngõ ra của một vi điều khiển bất kỳ, dựa trên trình tự
kích trên ta rút ra được mức logic điều khiển (chỉ cần xét 1 chu kì điện) (0.5) A H H L L B L L H H C H L L H D L H H L
Tính thời gian delay (0.5) 360 360 pps 200 1.8 60 60 lOMoAR cPSD| 58702377 Tdelay 3(ms) rpm pps 100 200
Dựa vào bảng trên sinh viên vẽ lại lưu đồ giải thuật (0.5)
b. Viết giải thuật điều khiển động cơ chế độ nữa bước (half-step) với thời gian delay
như tính được ở câu a. Vận tốc của động cơ lúc này bằng bao nhiêu?
Trình tự kích half step của động cơ (0.25)
Giả sử A, B, C, D kết nối với 4 ngõ ra của một vi điều khiển bất kỳ, dựa trên trình tự
kích trên ta rút ra được mức logic điều khiển (chỉ cần xét 1 chu kì điện) (0.5) A(1a) H H L L L L L H B(1b) L L L H H H L L C(2b) L L L L L H H H D(2a) L H H H L L L L
Dựa vào bảng trên sinh viên vẽ lại lưu đồ giải thuật (0.5)
Nếu vẫn dùng thời gian delay như câu a, vận tốc động cơ giảm đi ½ và bằng 50 (RPM) (0.5) Bài 2 (6đ)
a. Vẽ sơ đồ khối chi tiết bộ điều khiển, vi điều khiển sử dụng tùy ý (1) Vi điều khiển position velocity Công Động cơ controller controller suất và tải velocity loop position loop
Sử dụng vi điều khiển 16-bit, ví dụ: dsPIC30F4011/12
(SV có thể vẽ sơ đồ như trong slide bài giảng, chương 2) lOMoAR cPSD| 58702377
b. Viết giải thuật đọc encoder sử dụng ngắt ngoài (chế độ x2)? (1)
Để đọc encoder sử dụng ngắt ngoài chế độ x2, ta sử dụng 1 ngắt ngoài ở chế độ cạnh
lên (rising) và cạnh xuống (falling). Giả sử sử dụng 1 ngắt ngoài INT0 của 1 vi điều
khiển bất kỳ kết nối với chân A của encoder, ta có giải thuật đọc encoder trong ngắt: MAXCNT = 2000; INT0_ISR{
if (((rising)&&(B==0))|((falling)&&(B==1))) CountValue++; else CountValue--;
if (CountValue==MAXCNT) CountValue=0; //reset bộ đếm }
c. Viết giải thuật tính vận tốc động cơ dựa vào xung encoder (1) Tính toán (0.5) 60 60
Tính thời gian ngắt : T 15(ms) 2 RPM MAX_ 2 2000
Sử dụng ngắt timer với thời gian ngắt tính như trên, ta có giải thuật tính vận tốc trong ngắt như sau: #define MAX_CNT = 1000*2
#define MAXSPEED = (unsigned int)(((unsigned long)MAX_CNT*2048)/125)
#define HALFMAXSPEED (MAXSPEED>>1)
Giải thuật (0.5)
Phần giải thuật trong ngắt giống slide 41, chương 3, của bài giảng. Lưu ý
công thức chuyển đổi sang vận tốc thật cuối cùng có thay đổi:
RealVel = (int)(((long)Speed*125)/2048);
d. Viết giải thuật điều khiển vận tốc cho động cơ?
Sử dụng bộ điều khiển PI để điều khiển vận tốc, phương trình bộ điều khiển: u
t( ) K e tp ( ) KI e t dt( )
Thuật toán PI được viết cho hệ rời rạc tại thời điểm lấy mẫu thứ k (0.5) u u uk kPkI lOMoAR cPSD| 58702377 Trong đó, u P I k
K ep k uk K T eI k (sử dụng công thức tính tích phân lùi)
Giải thuật điều khiển tương tự như slide 46, chương 3 của bài giảng. Lưu ý
bỏ phần tính cho khâu (1)
e. Thiết kế quỹ đạo để điều khiển vị trí cho động cơ với yêu cầu:
- Động cơ quay 20 vòng trong 2 giây.
- Chuyển động điểm-điểm
- Phương pháp quỹ đạo hỗn hợp với vận tốc hình thang
Tính toán các thông số cần thiết (0.5) Góc quay: 20 2 40 (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. 4 qf qi 4 40 2)
qc t 2 4 40 ( rad s/ f
Chọn qc 100 ( rad s/ 2)
Thời gian tăng tốc, công thức 4.11 slide bài giảng:
t f 1 t qf 2 c 4(qf qi ) tc =0.225 (s) 2 2 qc
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 (0.5) lOMoAR cPSD| 58702377
Trong đó tc 0.225( )s , t f 2( )s qf qi 40 ( rad) qc 100 ( rad/s2) 200 qc (rad/ s) 3 lOMoAR cPSD| 58702377
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐÁP ÁN HỌC KỲ 2, NĂM HỌC 18-19 THÀNH PHỐ HỒ CHÍ MINH
Môn: HỆ THỐNG TRUYỀN ĐỘNG SERVO
KHOA CƠ KHÍ CHẾ TẠO MÁY
Mã môn học: SERV424029
Đề số: 01; Đề thi có 2 trang. Thời
BỘ MÔN CƠ ĐIỆN TỬ
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:
rpm 60 pps 60 12000 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 OUT 1 P 0 IN 1 P 1 IN 2 A OUT 2 C ONTROLLE R B B OUT 3 P 2 IN 3 P 3 IN 4 OUT 4 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 3 ms) 84 (us) Td 84 10 ( 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đ) lOMoAR cPSD| 58702377 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đ) 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 : M 2 k (rad s/ ) (2.1) (2N T )
Trong đó: M là số xung đếm được trong thời gian lấy mẫu, T(s) Tính sai số ek dk k (2.2) Khâu P: lOMoAR cPSD| 58702377 uPk K ep k (2.3)
Khâu I (sử dụng công thức tích phân lùi và có anti-windup)
ek_windup = KIek + Kbek_reset
uIk uIk 1 Tek _windup (2.4)
T: thời gian lấy mẫu (s)
Cấu trúc anti-windup cho khâu I lOMoAR cPSD| 58702377 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 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;
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. lOMoAR cPSD| 58702377 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 2 1 tq 4( q q ) f c f i 2 qc
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 q f i 45 6 10 2 q ( / rads ) c 2 t 1 3 f 2 Chọn q 10( / ) c rads
Thời gian tăng tốc, công thức 4.11 slide bài giảng: t f tc =0.092 (s) 2
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 , t f 1( )s q i 6; qf qc 10 ( rad/s2) lOMoAR cPSD| 58702377
TRUING DAI HOC SI/ PHAM KY THUAT
BE THI HOC KY 1, NAM HOC 2019-2020 THANH PHO HO CHI M1NH
Mon: HE THONG TRUYEN DONG SERVO
KHOA CO KHI CHE TAO MAY Ma mon hoc: SERV424029
Be so: 01; Be thi co 2 trang. BO MON CO BIEN TU*
Thai gian: 75 phut.
Dirac phep sir dung tai lieu
Bai 1: (4d) Cho mot co cau bao gbm: 1 dong cobudc luong cue (bipolar), goc bude a- 1.8 °
truyen dong mot ban may dich chuyen thong qua true vitme co budc vit P = 10 (mm), hanh trinh 400 (mm).
a. Ve so do ket noi bo dieu khien cho dong co?
b. Van tdc tinh tien cua ban may la 100 mm/s, tlnh thdi gian delay khi xuat xung dieu khien dong co? SWITCHING SEQUENCE
c. Cho bang thu tu pha cua dong CCW STEP A A B B co nhu hinh, viet giai thuat 1 + - + - dieu khien dich chuyen cua 2 + - - + ban may 1 khoang 200 (mm) 3 - + - +
vdi van tdc nhu cau b (su dung 4 - + + -
so do ket noi dieu khien cau a) 1 + - + - Bai 2: (4d)
Cho so dd khoi bo dieu khien vi tri dong co DC servo nhu hinh:
a. Mb ta va vidt giai thuat doc encoder, tu do tinh goc quay 6 cua dong co?
b. Viet cong thuc tinh tin hieu dieu khien u(t)? Bien doi u(t) thanh cong thuc rdi rac theo
thdi diem lay mau thu k? (Biet co = ——) dt
c. Viet giai thuat dieu khien vi tri dong co theo cong thuc cau b? Cho u(t) = 100 tuong duong voi PWM = 100%.
Bai 3: (2 d) Su dung giai thuat DS de noi suy 1 cung tron d goc phdn tu I, theo ngirffc chieu
kirn ddng ho (CCW), R=5.
a. Lap bang tinh cac gia tri can thiet theo luu do giai thuat?
b. Ve ket qua chay duoc theo bang cau a?
Ghi chu: Can bo coi thi khong duac giai thick de thi. So hieu: BM1 /QT-PBBCL-RDTV 1
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377
Chuan dau ra cua hoc phan (ve kien thirc) /V X Noi dung kiem tra
[ G 1.1]: Ve dugc so do cau tao tong quat cua cac he thong
servo trong cong nghiep, dien hinh la: tay may, may CNC [ Caul
G 1.2]: Giai thich dugc nguyen ly hoat dong va cac van de dieu khien lien quan.
[ G 2.1]: Hieu r5 thuat toan thudng dung de dieu khien van toe, vi tri cua dong co Cau 1 c, Cau 2
[ G 2.2]: Phan tlch dugc cac yeu to lien quan anh hudng den qua trinh dieu khien
[ G 4.1]: Thiet ke bo dieu khien cho mot co cau servo dien hinh. Cau 2, Cau 3
[ G 4.2]: Lap luu do giai thuat, viet chuong trinh dieu khien
quy dao di chuyen bang cac giai thuat noi suy
Ngay & thang iZnam |Q Thong qua bo mon p'j S6 hieu: BM1/QT-PBBCL-RBTV 1
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377
TRUING DAI HOC SIX PHAM KY THUAT
DAP AN HOC KY 1, NAM HQC 19-20 th A nh PHO HO CHI MINH
Mon: HE THONG TRUYEN DONG SERVO
KHOA CO KHI CHE TAO MAY MS mon hoc: SERV424029
De so: 01 ; De thi co 2 trang. BO MON CO DIEN TU* Thai gian: 75 phut.
Du&c phep sir dung tai lieu Dap an: Bail:
a. So1 do ket noi bo dieu khien cho dong co1 (0.75)
Do dpng ca luang cue 2 pha nen sir dung mach cau H tich hap (vi du: L298) H-Bridee 1 1 1 P0 1 OUT1 IN 1 1 1 1 1 1 PI IN 2 1 1 OUT2 1 1 CONTROLLER 1 1 1 1 P2 1 OUT3 IN 3 1 1 1 1 1 P3 IN 4 1 1 OUT4 1 H-Bridge 2
b. Tinh thoi gian delay (0.75) r r
Vai van toe ban may 100 mm/s, ta tinh dugc van toe cua dong ca: o) = 600 (RPM) rpm 600 pps = x ppr — 360 = ~60~ 60 X 1.8 2000 1 = 0.5 ( ms) 2000 c.
Dua vao hinh cau a, ta co bang trang thai xuat xung cua bo dieu khien (0.75d) P3 P2 PI P0 HEX L H L H 0 x 05 H L L H 0 x 09 H L H L OxOA L H H L 0x 06 So hieu: BM1/QT-PDBCL-RDTV 1
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377 Tinh so xung (0.75d)
Ban may di chuyen 200 mm tuang duang vdi dong ca quay 20 vong.
Goc budc a- 1.8 °, nen so xung de dong ca quay 1 vong la200 (xung )
Do do, tong so xung can thiet la 4000 xung.
SVviet giai thuat theo cac ket qua tren (Id) Bai 2: (43)
Cho sa do khoi bo dieu khien vi tri dong ca DC servo nhu hinh: a. Doc encoder (0.5d)
Do de khong yeu cau nen SV co the chon che do xl, x2 hoac x4. Gia su chon
x2, encoder co dQ phan giai N (CPR)
De dpc encoder che dp x2 ta su diing 1 ngat ngoai, canh len
( rising) va canh xuong
( falling). Gia su dung ngat ngoai kenh 0, (EXTI0), ket noi vdi kenh A cua encoder
Chuo'ng trinh (Id) EXTI0_Handler() {
if ((rising)&(B==0) |(falling)&(B== 1)) count++; else count--; if (count>=2*N){ count=0; poscnt++; } else if (count<=-2*N){ count=0; poscnt—;
i _________________________________ Tinh goc quay 9 :
theta = poscnt*2*pi+count*pi/N;
b. Viet cong thuc tinh tin hieu dieu khien u(t)? Bien doi u(t) thanh cong thuc rdi rac theo . , . , d6
thdi diem lay mau thu k? (Biet co = — ) Dua vao sa do khoi, ta co: rlf)
u(t) = [Kp(Gr-9)-(o]Kv = K (0.75d)
______ Gia su hp dupe lay mau vdi thdi gian lay m§u T, cong thuc rdi rac: S6 hieu: BM1/QT-PDBCL-RDTV
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377 G(k)-0(k- 1 ) u(k) = Kp(0r-m )- K (0.753)
c. Viet giai thuat dieu khien vj tri dong co theo cong thuc cau b? Cho u(t) = 100 tuong duong vdi PWM = 100%.
Sir dung cong thuc cong b de viet giai thuat. Liru y, gia tri tra ve cua giai thuat phai so
sanh vdi gidi han 100. ( Id ) Bai 3:
a. (Id) Do chuyen dpng CCW, ta co: AV, = -2 Xt +1 A*,+J=A*;.+2 AYj =2Yj+l AYJ+l=AYJ+2 Xo = 5,Yo = 0; Xf=0, Yf=5 Step D D, d 2 d 3 AY AY */ Y, 0 0 -9 1 5 0 1 1 -9 1 -8 -9 3 5 1 2 4 -8 4 -5 -9 5 5 2 3 0 -5 9 0 -7 7 4 3 4 0 -7 7 0 -5 9 3 4 5 4 -5 9 4 -3 11 2 5 6 1 1 15 12 -1 11 1 5 7 0 0 12 11 1 11 0 5 b. (Id) S6 hieu: BM1 /QT-PBBCL-RDTV 1
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com) lOMoAR cPSD| 58702377
Downloaded by Linh Nguyen (linhnguyen2460282002@gmail.com)