MỞ ĐẦU
1. Lý do chọn đề tài
!"#"$%&'()*+
,-%./)/%*+012%
/34"$(5/$"67
+ 8 9 $ % /" 2 /$ "( : 1; %
:<=>>67?$3@5ABCDEEF(G8/34
="$)367;H"*+/3
4"6>IJ:K9LM/34%6
"(
N)HO?6P?$?67HQ;3/34"
$)%RN44$HQ;$%ST6$
9BUHV""H?WH/%I?"?(N44$
32+NKV6$#"WXY"%Z""/"
"%4[+6'6#"VU%V(
$?6P?$?44$HQ;$%)63%$?
"%)3467"C//\3(
2. Ý nghĩa khoa học và thực tiễn của đề tài
a. Ý nghĩa khoa học:
];$/&!C^&%H_`+\L%
&/&/34=\O"$HQ;/3aJN(b%
1 M#"6'/c,A#"$/&
!C(
b. Ý nghĩa thực tiễn:
b%A?&/&8O4`\\+"
^%8#"!"d3(e8O67M?0`)
f
)`42LO3
0,$#""A?(b3+8678O67
",$%SgT!"'O"(IQ;C&HH
3)#"8H'?6Pc%)H_
/3;#"8$%A$/31;A$
aJhH"@"+&48(
D
CHƯƠNG 1
TỔNG QUAN
1.1. Đặt vấn đề
WA%H+/&7?^69$4#"6[
\%P3#"$@`34$(\
!"")3?%MM^694$
@"@6[$?O7?%`Q^18O-i
C&(
:\L%&`)"$6702;'"/$'`
@?%;#""$`HH(\LHQ;$C&3
)#"`AO!"A#"H%`!";$%AO
3#"`H'0-(5[$C&%`H_)3+4
%3(G'- %2#"\L?C\4jk
#"$`H??""3)34/3920i
PC&?@?(
8O$C&3@i$18li8O%
li18H"HO#"m"d[)36'671`$$,
6P"#"C&.6/&7?$182e""67
%HQ;4/&!CO6L@#"`d)
AO!"#"`i\L%$C&%?(
5)$/$8O`Q^18%2e""%\;3&$
C&PC$n%A?7?C&)$,8O(i$
18\!"HO@6706#"\L/O67
%"A6[/1$o"H_167!$1
A#"\Li)6""$$,/3?j7?$$`3
\L\03'AOp,(
q
1.1.1. Thế nào là xe hai bánh tự cân bằng
1.1.2. Tại sao phải thiết kế xe hai bánh tự cân bằng
1.1.3. Ưu và nhược điểm của xe hai bánh tự cân bằng
1.1.3.1. Ưu điểm
1.1.3.2. Nhược điểm
1.1.4. Tính ứng dụng của xe hai bánh tự cân bằng
1.2. Tình hình nghiên cứu trong và ngoài nước
Y8"6")\;3%8&@`"$+
4j.6`"$+49G85"(56&
'9%6'$/rA%HOH%"
[$@`"$6&(h6'%HO\R
1.2.1. nbot
1.2.2. Balance-bot I
1.2.3. Đại học sư phạm thành phố Hồ Chí Minh
1.2.4. Đại học sư phạm kỹ thuật Hưng Yên (Biclycle Robot)
1.2.5. Lit motors
1.2.6. Loại robot phục vụ con người, kiểu rolling phục vụ con người của hãng
TOYOTA
1.2.7. Cycling Robot
1.3. Nhu cầu thực tế
Y8@/86[`$"\%%As?/\/1
%%\l8%&@\L`82sl
`"`9/\HQ;8O%+H+(B@)
&/&?"S.%%&*++
t
)"%"47 ?n6[%A3%)"
$H$oHO%%O)8@%A
3@$%?O'(
G/1"@/"2%\8\L`"$+4+
H+%6'8!"23)/881$\L%
&@$"?g"%u"/"2
%\8%$6[@2%&'O6P'(5%
"\L.H_%H+pH&$C?$?\83
#"$q$t$.6)%??
+"2C?$?33/\"$(
G&O^6[\L`"$+4+H+%
--v'6[i-"j)R@H")33
%467wb%O 67HQ;&`"
$+4(G%)1%^#"H+%\'&'#"\
L`WNgf(
G'1^/$!"%+&#"HO
%)_)-,LL8"#"G85".
6%&'%H_%3 "?$3%HC?
6P@)"6"%[HO6[&'(
1.4. Mục tiêu của đề tài
:;#"%%`+\L%&/&/3`"
$43,"L?c+"C^&\L
M67(eC34"$%?6P8
38!C%Pl%`"9/8/\"A
s?(/\/px$+8A;#"%67
"6H"R
f(L3$@H^PC4(
F
D(L%PH9^&$4%$;#")P
H9^&4(
q(&/&HPd/OHPd^1$\@C&%
@/3=(
t(5A$/3aJh%A$/3Y
D
yY
z
HO
%+8/3aJhHO/3>G="$+
4(
F({+\L8O="$+4A?L
/3(
1.5. Phương pháp nghiên cứu
1.5.1. Xây dựng mô hình lý thuyết
1.5.2. Xây dựng mô hình thực
x
CHƯƠNG 2
LÝ THUYẾT BỘ ĐIỀU KHIỂN PID VÀ ĐIỀU KHIỂN BỀN VỮNG H
2
/H
∞
2.1 LÝ THUYẾT BỘ ĐIỀU KHIỂN PID
2.1.1 Giới thiệu bộ điều khiển PID số
2.1.2. Khâu P
2.1.3. Khâu I
2.1.4. Khâu D
2.1.5. Tổng hợp 3 khâu-bộ điều khiển PID
2.1.6. Rời rạc hóa bộ điều khiển PID
2.1.7. Các phương pháp thiết kế bộ điều khiển PID số
2.1.7.1. Phương pháp Ziegler-Nichols
2.1.7.2. Phương pháp Chien-Hrones-Reswick
2.1.7.3. Phương pháp tối ưu modul và phương pháp tối ưu đối xứng
2.1.7.4. Phương pháp tổng hằng số thời gian (Kuhn)
2.1.7.5. Phương pháp tối ưu theo sai lệch bám
|
2.2LÝ THUYẾT BỘ ĐIỀU KHIỂN H
2
/H
∞
b/3}7?Y
D
yY
z
%/rA&8&/&
/3O6%$8O)l%)\HO"p
["(A$%67'89BH%Y""%
H")67&?;?$39%/$(&/&
/3}7?Y
D
yY
z
%4@67Cp,%-67
/3O1;$O67/3v((((:0j/3}
7?Y
D
yY
z
%?6P?$?/3&)/\67HQ;
?p&6$/3aJh%"g"&/&?@?%
/3676[)A"(GLA$/3}7?Y
D
yY
z
)-
CA67%(
Hình 2.17 Hệ điều khiển với nhiễu ngoài và nhiễu trong
eH aHf~
γ
g
•
CHƯƠNG 3
THIẾT KẾ MÔ HÌNH VÀ THỰC HIỆN BỘ ĐIỀU KHIỂN PID SỐ TRÊN
VI ĐIỀU KHIỂN PIC
3.1. XÂY DỰNG MÔ HÌNH TOÁN HỌC ĐƠN GIẢN CỦA HỆ ROBOT
YLq(fu"HPdC67#"38M4
(HPd%")$/^86H"R
γR)#"?6Pc
hR3"2+#"H'0-
mR267%
αR"O)#"$%
IR\!$1#"$%
TR\!"@"#"$%
PR+-?€
Hình 3.1 Sơ đồ đơn giản hệ thống cân bằng robot
W+-?€a@"\%)`6'p`O\
%671\H"R
M = P.sinγ.h = m.g.h.sinγ
V"O!"#"$%@"\671\H"R
T = I.α
56A34"?C)R
T = M hoặc m.g.h.sinγ = I.α
G')•#v")H•‚•LA34)R
m.g.h. γ = I.α
Y"
P=mg
α
T=I.α
γ
h
ƒ
I
mgh
γ
α
=
(*)
a6PL38O!"8""O)#"$%%)
#"(b))*"%")3/3)#"
4$/3"O#"$%(
b3/3"O#"$%"HQ;PhNHPd/O
C67#"67386Lq(D()V%8$?0
PhN(
Hình 3.2. Sơ đồ đơn giản của robot
G'PhN")$?6PL2H"R
(
(
Ki I
di
L Ri V K
dt
α
θ
=
+ = −
&
IQ;&pW"?""A67R
D
( ( (
( ( ( (
K i s I s s
L i s R s V K s s
θ
θ θ
=
+ = −
B&p$?6PL"A67%#"PhNR
D
( ( ( ( f
s
V L I s R I s
α
=
+ +
(**)
e&7?%„%„„"A67%#"=6H"R
D
( (
( ( ( ( f
I s
V V mgh L I s R I s
γ γ α
α
= =
+ +
(***)
i%„„„)3-4")3/3)#"
•"4$/38$?V%0PhN(Y%
„„„2%%…9#"/6")/3(
58;%?C&/&/334)*"
%)•"4/\(
bPhN
=
V α γ
fE
3.2. SƠ ĐỒ KHỐI HỆ THỐNG ĐIỀU KHIỂN
ff
Hình 3.3 Sơ đồ khối điều khiển
3.3 NGHIÊN CỨU CÁC CẢM BIẾN SỬ DỤNG VÀO ỨNG DỤNG CÂN
BẰNG
3.3.1 Cảm biến Accelerometer ADXL345
>h{WqtF-v28;-?8$?HQ;qq(b%
&,3"Oq;'?Cfq%@&†fx8
"@HO)3A?‡IaJq0t067HQ;!"
fD
"\O&?JDN(>h{WqtF-17?;&,
(5)67;$%).63`$,
"O#"3(5))?C"qƒyWIB?ˆ?1
`$"C/)vPf
E
(
NC&67-?HO08(‰$L@%
?$8)67HQ;-/L;%6[j!,(
18")367\\!"DM%(NC3)3
/\@&D%/\@(>h{W6717?&&
/88\HQ;8$?-?(b67))'/16'q„F„f
ft@v"(
Hình 3. 4 Sơ đồ chân ADXL345
3.3.2 Cảm biến đo vận tốc góc IGT3200
JVqDEE%JN&'HQ;\8!"d3
:Š:I3AO)q;`U"`H'@"(
gB3p>hN'?C"fx(
gV"&?JDN(
gb8$?@if(D‹q(xG(
fq
Hình 3. 11 Sơ đồ chân ITG3200
3.3.3 Các phương pháp xử lý tín hiệu từ cảm biến
569?6'L%$,m"67!"%#"`
"$1%)8"`'2+(5@C&)3
j3)6H%(56\L#"
%u)"@C&3`$,)"/`'2+%
C&AO)%C&"O;3)*C&
/C$'0-4d@uj67'H%-?c4
"%$(b3%Pl%/&7?18i"C&"
% 6[" 6[j $ 2 L2 p ?;\
?"21‹2e""%$@2/$(
ft
Hình 3.16 Cơ bản về bộ lọc
3.3.3.1 Lọc bổ phụ thông tần
3.3.3.2 Lọc thích nghi – Bọ lọc Kalman
3.4. THIẾT KẾ MẠCH
3.4.1. Khối nguồn
Hình 3.21 Khối nguồn
Nguyên lý hoạt động:
fF
:@dHQ;DJN:JNFDEFX:JNFDEq…"`fFE>3@
dF?>G=qD•?%q(qDC&"O%AO)(
5dfD676"%f#"DJNdF%qq(b"%
%#"DJN)$;32d(
BdjqLM!fD)DL67O&?'"6P
6PDtG3-?@\H-(Œ!…@-?d
@/3(
3.4.2. Khối CPU
Hình 3.22 Khối CPU
Nguyên lý hoạt động:
:@Na<67-?dFG%j@""fx:YU(N
NtNF%D"&?JDN2$,iC&"O%AO)(hEhf
%={h%{h"&?$1(b•H"H67O%BE3$
8Na<"@hFhx`-18?T/3P(
3.4.3. Khối cảm biến gia tốc góc và vận tốc góc
fx
Hình 3.23 Khối cảm biến gia tốc và vận tốc góc
Nguyên lý hoạt động
@HQ;C&"O>h{WqtF%C&AO)
JVqDEECDC&HQ;d\qqG%j‡"&?JDN(
N$Ih>%INW#"CDC&6767O'"%67
O%IhW%Ih>#"Na<>G=qD•a(
3.4.4. Khối chuyển đổi điện áp cho giao tiếp I2C
Hình 3.24 Khối chuyển đổi điện áp I2C
f|
Nguyên lý hoạt động:
Nj%‡"&?JDN68$?"&?@/$"
C&@dqq…Na<@@dFJNaN>ƒqEx67
HQ;3C!&-)(
3.4.5. Khối công suất điều khiển động cơ
Hình 3.25 Khối công suất điều khiển động cơ
Nguyên lý hoạt động:
18?Ti@/3676"&/3@Y
\!"$!"aN•f|3CC"%@/3(
:@YHQ;D0?:KIŽŠJ=ŽFtE%J=ŽƒFtE(N$:KIŽŠ
@%,…/$"qE>%8$?"6)673%89€
6PO'(a/1$:KIŽŠ/5?1"6'L/\!$/)u
-+&?18H"aN•f|(=:KIŽŠ/a?1"?Cj
N•D•3%@/1(e6"/1BZN•D•V#":KIŽŠ67
OfD489fEe8$?VL&4fD.%8$?
f•
I#"J=ŽƒFtE:KIŽŠ%/\€(e/1$=ƒ=fE$BZ
N•D•€%8$?V#"J=ŽƒFtEH;`O4EGL/)"N•D•
)@(e)8$?VvPH'8$?I:KIŽŠ
€(N$:KIŽŠH_€Mˆ"(
Hình 3.26 Vùng hỗ dẫn của MOSFET
:KIŽŠ)'?vH`%'?$3i"+
V6P%+@"(W'?$%v)3j3/3H$
+h(G%.L'?$%!$vl%,?$#9d8
V!$6k(
N;3%J=ŽFtE)GVI"`•†DEG(5&d8V
6PP~DEG"PgDEG'?$%H_,?$#(
5%8$?!$6kGVI:KIŽŠ.)3,?$#'?$
v%4$/$"(5&:KIŽŠ67-""M%
@/d98$?$!""9€67//"/H_
67!$$,GVI(e3C/A3:KIŽŠ.@*8#67
!$$,GVI(GLA/A3:KIŽŠ6["?CM%)
H7L"2)@&S&"+)&S"
€(
:%:KIŽŠ67C84$M?UHH'+V
%d(b8$?U-?P$,GVI(h)U€6'/0
fƒ
$,GVI%)33'?$v(B-7#"
U% %Cp9m%"#":KIŽŠ(GL
:KIŽŠMl%,v&/\67UC8$%
%67$$";(hA&,:KIŽŠ-&
6@l%,6v
Y&$:KIŽŠ9j(e?+9j$,Šg
:KIŽŠ4'89(e?+9j"6;1#"
)%j(
3.5 THIẾT KẾ VÀ THỰC HIỆN BỘ PID SỐ TRÊN VI ĐIỀU KHIỂN PIC
3.5.1. Các bước xây dựng bộ PID kinh điển
Bước 1:{+\L$2#1`$O67/3(b
…2%6'A@\L(
Bước 2:bPC)"\L(
Bước 3:&1)"\L(
Bước 4:N2/317?1;6/3aaJah"aJh
%`$,$u-67%8O?C@67(
Bước 5:1$\HOea#"/3aJh(b3+88
`$,\HO/3aJh)-?6P?$?6/3
)?6P?$?+8?6P?$?"#"Zeigler- Nichols%
\;-(
Bước 6:e3"/3aJhi"&/&4$ˆ?O'\L
O67/3&/&!C\?v/\676O?C
&/&@$6'iD&x&/@67/&!CO(
Bước 7:b6"/3aJhi"&/&%/3O67+%/3
"!$L%8#"8O(5&6"@/&!C&/&@
DE
/3$6'if&|&/@67$u-67
O(
3.5.2. Thiết kế bộ PID cho hệ Robot
+&-\L$2#"O67%"`+67
6[/\4$@083)3$?;HO?6P?$?
`$,\HO/3aJh6?6P?$?tối ưu modul?6P
?$?tối ưu đối xứng?6P?$?#"Reinisch,?6P?$?Chien-Hrones-
Reswick"?6P?$?p4HO["Kuhn(+&/0?
O67@%?6P?$?`$,"HOeaJh#"
/3aJh4+8"…2%?6P?$?"#" Zeigler-
Nichols6[67HQ;L))6%PC%/&!C/$O(
5^#"?6P?$?%6H"R
Bước 1:"/3,14/&@(IQ;18Q%
%H?f(I")8HO/&@'$,,e38/19
'p,*"%)@"…"({$,/•#""
(
Bước 2:{$,"HO/3aaJaJh6H"R
5&HQ;/3aRVH•eaL2ea•e
5&HQ;/3aJRVH•eaf~L2ea•E(tFe%
J•E(•F
5&HQ;/3aJhRVH•eaf~L2ea•E(xe
J•E(Fh•E(fD
)VH%O67/3
Hình 3.27 Hệ thống điêu khiển theo phương pháp Zeigler-Nichols thứ 2
/ VH
g
Df
3.5.3 Lưu đồ thuật toán điều khiển
A. Thuật toán chính
BM
N%0\HOGbe
N%0\HOC&
"X
NA?A$,)
b/3a‘:P
4
e&
Hình 3.30 Lưu đồ thuật toán chính
DD
B. Thuật toán cập nhật góc nghiêng
NA?A$,)
b28iC&
>h{WqtF
b28iC&
JVqDEE
B2e""
I")
NA?A$,)
Hình 3.30 Lưu đồ thuật toán đo góc nghiêng
Dq
C. Thuật toán giao tiếp I2C đọc giá trị cảm biến
b2C&
I>=
,"u"
2
5A`>Ne
5A`>Ne
5A8
`>Ne
e&
,"uH"~
"
b
I
I
b
Hình 3.31 Lưu đồ thuật toán giao tiếp I2C đọc giá trị cảm biến
Dt
D. Thuật toán điều khiển PID
Hình 3.32 Lưu đồ thuật toán điều khiển PID
E. Thuật toán điều khiển đông cơ giữ thăng bằng
BM
&A?\HO
e
a
e
e
NA?A$,
)
1$$\HOR
V)’“•V)5
V)’H“•V)’“~V)’gf“
V)’“•V)’“‹V)’gf“
V)’gf“•V)’“
h•h’E“~e?„V)’“~e„V)’H“~e„V)’“
bP
!"?C
bP
!"$
e&
h”E
b
I
DF