LI TăKể HỊNH Hình 2... - Có các ch đ qu n lỦ ngu n nh Power on resetPOR, Power down resetPDR vƠ programmable voltage detector PVD... - Có các ng t h tr nh End conversion, End of Injected
Trang 1B GIỄOăD Că&ă ÀOăT O
TR NGă I H CăS ăPH M K THU T TP H CHệăMINH
KHOAă I N ậ I N T
B MỌNă I N T CỌNGăNGHI P ậ Y SINH
-
ỄNăT T NGHI P
NGÀNHăCỌNGăNGH K THU Tă I N T TRUY NăTHỌNG
TÀI: THI T K VÀăTHIăCỌNGăDỂYăCHUY N PHỂNăLO Iă AIă C NG D NG X Lụă NH
SVTH: NGUY NăV NăTÀIăăăăăă 15141273 NGUY NăMINHă C 15141135
Tp H ChíăMinhă- 6/2019
Trang 3TR NGă HăSPKTăTP.ăH ăCHệăMINH
KHOAă I N- I NăT
B ăMỌNă I NăT ăCỌNGăNGHI Păậ Y SINH
C NGăHọAăXÃăH IăCH ăNGH AăVI TăNAM
CăL Pă- T ăDOă- H NHăPHÚC
o0o
Nguy n Minh c MSSV: 15141135
Chuyên ngƠnh: K thu t đi n t - truy n thông Mư ngƠnh: 141
AIă Că NGăD NGăX ăLụă NH
II NHI M V
1 Các s li u ban đ u:
Mô hình dơy chuy n phơn lo i đai c ng d ng x lỦ nh s d ng đ ng c DC 12V, khung xơy d ng b ng nhôm đ nh hình, camera s d ng lƠ lo i webcam C270,
vi đi u khi n s d ng STM32F103C8T6, ph n x lỦ nh dùng máy vi tính Giao
ti p gi a máy tính vƠ vi đi u khi n qua IC PL2303 d a trên giao ti p UART
Ch ng trình x lỦ nh trên máy tính vi t b ng ngôn ng C++ d a trên b th vi n
mư ngu n m OpenCV vƠ đ c t o giao di n b ng ph n m m QT Creator
2 N i dung th c hi n:
- Tìm hi u cách th c ho t đ ng c a các h th ng phơn lo i dùng x lỦ nh
- Tìm hi u chu n giao ti p UART, đ ng c DC, c m bi n h ng ngo i, encoder
- Tìm hi u v vi đi u khi n STM32F103C8T6
- Thi t k vƠ thi công mô hình dơy chuy n phơn lo i
- Thi t k vƠ thi công m ch đi n cho h th ng
- Vi t ch ng trình x lỦ nh trên máy tính dùng ph n m m QT Creator
- Vi t ch ng trình đi u khi n cho vi đi u khi n STM32F103C8T6
- Ch y th nghi m mô hình, ch nh s a vƠ hoƠn thi n h th ng
- Th c hi n vi t lu n v n báo cáo
- Ti n hƠnh báo cáo đ tƠi t t nghi p
CỄNăB ăH NGăD NăăăăăăăăăăăăăăăăăăăăăăăăăBM.ă I NăT ăCỌNGăNGHI Păậ Y
SINH
Trang 4TR NG H SPKT TP H CHệ MINH
KHOAă I N- I N T
B MỌNă I N T CỌNGăNGHI P ậ Y SINH
C NGăHọAăXÃăH I CH NGH AăVI T NAM
C L P - T DO - H NHăPHÚC
Tp HCM, ngƠy 18 tháng 02 n m 2019
L CHăTRỊNHăTH C HI Nă ỄNăT T NGHI P
H tên sinh viên 1: Nguy n Minh c L p: 15141DT2C MSSV: 15141135
H tên sinh viên 2: Nguy n V n TƠi L p: 15141DT2C MSSV: 15141273
AIă C NG D NG X Lụă NH
Tu n 1
(18/02 - 24/02)
- G p GVHD đ nghe ph bi n yêu c u lƠm đ
án, ti n hƠnh ch n đ tƠi, GVHD ti n hƠnh xét duy t đ tƠi
Trang 5- Ti n hƠnh thi công m ch
- Ki m tra m ch thi công
- N p quy n báo cáo vƠ báo cáo đ tƠi
- Thi t k Slide báo cáo
(KỦ vƠ ghi rõ h vƠ tên)
Trang 7L I C Mă N
L i đ u tiên, nhóm th c hi n đ tƠi xin g i l i c m n chơn thƠnh đ n th y
Võ c D ng - gi ng viên khoa i n- i n t , đư theo sát h tr vƠ h ng d n nhóm
m t cách chi ti t trong quá trình th c hi n đ tƠi Th y luôn h tr h t mình, gi i đáp
th c m c, ch ra sai sót c ng nh g i Ủ nh ng ph ng án th c hi n sao cho kh thi vƠ
d ti p c n nh t
Trong quá trình th c hi n án t t ngi p chúng em đư nh n đ c s giúp đ
vƠ ng h c a các th y, cô trong khoa i n- i n t S h tr c a các th y, cô đư góp ph n không nh giúp chúng em hoƠn thƠnh đ tƠi nƠy
Nhóm đ tƠi c ng xin c m n các b n sinh viên trong khoa i n- i n t đư
nhi t tình giúp đ , h tr nhóm, chia s kinh nghi m Nh ng đóng góp c a các b n luôn đ c nhóm ti p nh n vƠ xem xét k l ng
Cu i cùng, nhóm xin c m n chơn thƠnh vƠ sơu s c đ n nh ng ng i thơn đ c
bi t lƠ quỦ ph huynh - nh ng ng i luôn bên c nh h tr h t mình v tƠi chính c ng
nh tinh th n trong su t quá trình h c t p c ng nh th c hi n đ tƠi nƠy
Dù đư c g ng vƠ n l c tuy nhiên v i nh ng h n ch v ki n th c vƠ kinh
nghi m, đ tƠi không th tránh đ c còn nhi u thi u sót Nhóm mong nh n đ c s đóng góp, nh n xét đ c a các th y, cô vƠ b n bè đ có th hoƠn thi n đ tƠi h n Xin chơn thƠnh c m n!
Ng i th c hi n đ tƠi
Nguy n V n TƠi Nguy n Minh c
Trang 8M C L C
L CH TRỊNH TH C HI N ÁN T T NGHI P ii
L I CAM OAN iv
L I C M N v
LI T Kể HỊNH viii
LI T Kể B NG x
TịM T T xi
Ch ng 1 T NG QUAN 1
1.1 T V N 1
1.2 M C TIểU VÀ GI I H N 2
1.3 N I DUNG NGHIểN C U 2
1.4 GI I H N 3
1.5 B C C 3
Ch ng 2 C S Lụ THUY T 5
2.1 T NG QUAN V X Lụ NH 5
2.1.1 Gi i thi u v nh s 5
2.1.2 Ph ng pháp thu nh n nh 6
2.1.3 Gi i thi u v th vi n OpenCV vƠ camera Logitech C270 6
2.1.4 i u ch nh đ sáng vƠ đ t ng ph n 7
2.1.5 L c nhi u nh 8
2.2 TỊM NG BIểN C A NH 13
2.3 GIAO TI P UART 15
2.4 VI I U KHI N STM32F103C8T6 17
2.4.1 T ng quan 17
2.4.2 C u trúc h th ng 18
2.4.3 T ìm hi u GPIO 21
2.4.4 Timer vƠ PWM 23
2.5 NG C DC 25
2.6 ENCODER 26
2.7 C M BI N H NG NGO I 29
Ch ng 3 TệNH TOÁN VÀ THI T K H TH NG 31
3.1 THI T K S KH I 31
3.2 TệNH TOÁN THI T K M CH 32
3.2.1 Kh i vi đi u khi n vƠ giao ti p máy tính 32
Trang 93.2.2 Kh i c m bi n vƠ encoder 35
3.2.3 Kh i công su t đi u khi n t i 35
3.2.4 Kh i ngu n 39
3.2.5 M ch PCB 41
3.2.6 S đ nguyên lỦ toƠn m ch 43
3.3 TệNH TOÁN THI T K MỌ HỊNH 44
3.3.1 C c u c p phôi 44
3.3.2 B ng t i 46
3.3.3 C c u phơn lo i 46
3.3.4 H p đi n 49
Ch ng 4 THI CỌNG H TH NG 50
4.1 GI I THI U 50
4.2 THI CỌNG M CH I N 50
4.2.1 Linh ki n s d ng trong m ch đi n 50
4.2.2 L p ráp vƠ ki m tra m ch đi n 51
4.3 THI CỌNG MỌ HỊNH 52
4.3.1 V t li u, linh ki n s d ng 52
4.3.2 Các b c thi công 53
4.4 L P TRỊNH H TH NG 57
4.4.1 L u đ gi i thu t cho vi đi u khi n 57
4.4.2 L u đ gi i thu t cho ch ng trình x lỦ nh 63
4.4.3 Ph n m m QT Creator 65
4.4.4 Trình biên d ch Keil µVision 5 70
Ch ng 5 K T QU - NH N XÉT ậ ÁNH GIÁ 75
Ch ng 6 K T LU N VÀ H NG PHÁT TRI N 81
6.1 K T LU N 81
6.2 H NG PHÁT TRI N 81
TÀI LI U THAM KH O 82
PH L C 83
Trang 10LI TăKể HỊNH
Hình 2 1 Các b c x lỦ nh 5
Hình 2 2 Hình nh Webcam Logitech C270 7
Hình 2 3 M t m t n l c kích th c 3x3 9
Hình 2 4 Ví d v ph n t trung v 10
Hình 2 5 Các h ng xét giá tr 15
Hình 2 6 S đ c u trúc các kh i c a STM32F103C8T6 18
Hình 2 7 S đ ngu n xung clock c a STM32F103C8T6 20
Hình 2 8 Thanh ghi c u hình ch c n ng chơn GPIO c a port 22
Hình 2 9 Thanh ghi đ c giá tr ngõ vƠo 23
Hình 2 10 Thanh ghi ch n giá tr ngõ ra c a port 23
Hình 2 11 ng c GA25 26
Hình 2 12 a encoder t ng đ i ki u quay 28
Hình 2 13 Hình nh encoder quang 100 xung 28
Hình 2 14 Led phát h ng ngo i 29
Hình 2 15 Kí hi u đi- t quang 29
Hình 2 16 Kí hi u transistor quang 30
Hình 2 17 C m bi n h ng ngo i E18-D80NK 30
Hình 3 1 S đ kh i c a h th ng 31
Hình 3 2 S đ m ch vi đi u khi n 33
Hình 3 3 M ch chuy n USB UART PL2303 34
Hình 3 4 C ng domino k t n i c m bi n vƠ encoder 35
Hình 3 5 S đ k t n i c m bi n vƠ encoder 35
Hình 3 6 S đ m ch công su t đi u khi n đ ng c DC dùng PWM 36
Hình 3 7 S đ m ch công su t đi u khi n đ ng c DC b ng relay 37
Hình 3 8 S đ m ch công su t đi u khi n servo 38
Hình 3 9 S đ m ch công su t đi u khi n led r i 38
Hình 3 10 S đ m ch led báo tr ng thái các t i 39
Hình 3 11 S đ m ch ngu n 41
Hình 3 12 Hình nh m ch PCB 41
Hình 3 13 Hình nh 3D c a m ch in m t trên 42
Hình 3 14 Hình nh 3D c a m ch in nhìn nghiêng 42
Hình 3 15 S đ nguyên lỦ toƠn m ch 43
Hình 3 16 Hình nh con l n thi t k 44
Hình 3 17 Hình nh bánh r ng thi t k 45
Hình 3 18 M t tr c puly 46
Hình 3 19 Tr c ph c a đ a quay 47
Hình 3 20 Puly tr c đ a 48
Hình 3 21 S đ n i dơy h p đi n 49
Trang 11Hình 4 1 M ch sau khi hƠn linh ki n 51
Hình 4 2 Hình nh bánh r ng th c t 53
Hình 4 3 Hình nh c c u c p phôi sau khi thi công 53
Hình 4 4 B ng t i m t bên 54
Hình 4 5 B ng t i m t trên 54
Hình 4 6 C m bi n h ng ngo i phát hi n phôi 55
Hình 4 7 H p camera vƠ khung đ a quay 55
Hình 4 8 C c u g t phôi 56
Hình 4 9 Encoder vƠ puly truy n đ ng cho đ a quay 56
Hình 4 10 Mô hình nhìn t phía tr c 57
Hình 4 11 Mô hình nhìn t trên xu ng 57
Hình 4 12 L u đ ch ng trình chính 58
Hình 4 13 L u đ hƠm kh i t o GPIO 59
Hình 4 14 L u đ hƠm kh i t o UART 60
Hình 4 15 L u đ hƠm x lỦ PWM 61
Hình 4 16 L u đ hƠm đi u khi n Servo 62
Hình 4 17 L u đ hƠm nh n d li u 63
Hình 4 18 L u đ ch ng trình chính x lỦ nh 64
Hình 4 19 C a s lƠm vi c c a QT Creator 66
Hình 4 20 Giao di n kh i đ ng QT Creator 67
Hình 4 21 C a s t o New Project 67
Hình 4 22 t tên vƠ ch n đ ng d n l u project 68
Hình 4 23 Giao di n ch ng trình sau khi t o project m i 68
Hình 4 24 Thêm đ ng d n th vi n OpenCV vƠo project 69
Hình 4 25 Giao di n l p trình UI c a QT Creator 69
Hình 4 26 Bi u t ng trình biên d ch Keil µVision 5 70
Hình 4 27 Giao di n c a trình biên d ch Keil µVision 5 70
Hình 4 28 Th vi n cho STM32F1 71
Hình 4 29 Cơy th m c ch a project 71
Hình 4 30 T o project m i 72
Hình 4 31 Menu dùng đ ch n chip STM32F103C8 72
Hình 4 32 C a s c u hình cho project 73
Hình 4 33 T o th m c main.c 74
Hình 4 34 Cơy th m c c a project 74
Hình 5 1 C p ngu n cho mô hình 75
Hình 5 2 Giao di n ch ng trình x lỦ nh trên máy tính 75
Hình 5 3 ai c t l ng c p phôi r i xu ng b ng t i 76
Hình 5 4 ai c sau khi đ c ch p b i camera 77
Hình 5 5 Các đai c t b ng t i t i đ a phơn lo i 77
Hình 5 6 Thanh g t đai c đ t yêu c u 78
Trang 12Hình 5 7 Servo g t v t không đ t yêu c u 78
Hình 5 8 Các hình ch p đ c l u l i trong th m c 79
LI TăKể B NG B ng Trang B ng 3 1 B ng c u hình ch đ n p c a vi đi u khi n 33
B ng 3 2 i n áp ho t đ ng vƠ dòng tiêu th c a m t s linh ki n 40
B ng 4 1 Danh sách các linh ki n 50
B ng 4 2 Các linh ki n, v t li u đ c s d ng trong mô hình 52
Trang 13TịMăT T
ng d ng th giác máy vƠo đ i s ng vƠ s n xu t lƠ m t đi u t t y u hi n nay
nh m giúp t ng n ng su t vƠ đ m b o s tin c y, chính vì v y nh m ti p c n các ki n
th c m i vƠ theo k p s phát tri n c a k thu t, nhóm quy t đ nh th c hi n đ tƠi ắThi t k vƠ thi công dơy chuy n phơn lo i đai c ng d ng x lỦ nh”, đơy lƠ mô hình phơn lo i s n ph m Ho t đ ng c a mô hình d a trên nguyên lỦ x lỦ tín hi u s (hình nh) v i ngôn ng l p trình C++ vƠ th vi n OpenCV nh m phơn bi t các đai
c không đúng kích th c, sau đó chuy n tín hi u v cho m ch đi n trung tơm x lỦ
đi u khi n các c c u ch p hƠnh M c tiêu c a đ tƠi lƠ thi công m t mô hình dơy
chuy n có th phơn lo i các đai c kích c khác nhau Vi c x lỦ hình nh đ c máy tính đ m nhi m nh m đ m b o t c đ x lỦ Ch ng trình x lỦ đ c vi t thƠnh ph n
m m có giao di n đ tr c quan vƠ d qu n lỦ
Trang 14Ch ngă1.ăT NG QUAN
Công nghi p ngƠy cƠng phát tri n, các nhƠ máy đ c xơy d ng kh p n i Trong các nhƠ máy thì dơy chuy n t đ ng hóa c ng ngƠy cƠng ph bi n, thay th cho vi c s d ng nhơn công, gi m công s c b ra nh ng l i đ t đ c hi u qu cao h n i kèm v i các dơy truy n s n xu t t đ ng luôn lƠ v n đ phơn lo i s n ph m ơy lƠ v n đ không
m i vƠ có m t h u h t m i nhƠ máy nó không ch giúp ti t gi m nhơn l c mƠ còn giúp
đ m b o ch t l ng c a s n ph m tr c khi xu t x ng
Phơn lo i s n ph m có nhi u cách, tùy vƠo y u t c n phơn lo i vƠ s n ph m mƠ
ta có th ch n l a cách th c phù h p nh phơn lo i theo kích th c, theo mƠu s c, theo hình d ng, theo l i… Trong đó phơn lo i theo s n ph m l i lƠ ph c t p nh t tuy nhiên đơy c ng lƠ v n đ xu t hi n t t c các dơy chuy n s n xu t có th phơn lo i theo
s n ph m l i ta có th s d ng th giác máy tính c th lƠ ph ng pháp x lỦ hình nh,
v i ph ng pháp nƠy có th x lỦ nhanh vƠ chính xác các l i mƠ ngay c m t th ng
c ng khó nh n bi t, v i nh ng s n ph m nhi u chi ti t, các l i ph c t p thì ta c n k t
h p v i các ph ng pháp nh m ng n -ron, h c máy… đ x lỦ đ t đ c hi u qu
[1-2]
Hi n nay đư có nhi u nghiên c u v phơn lo i s n ph m dùng th giác máy mƠ c th
lƠ x lỦ nh, các công ty c ng cho ra đ i nhi u lo i smart camera tích h p s n b x lỦ hình nh ng d ng cho công nghi p Tuy nhiên giá thƠnh các camera nƠy lƠ r t cao vƠ
ch phù h p cho các nhƠ máy l n v i nh ng dơy chuy n hi n đ i NgoƠi ra c ng đư có
nhi u đ tƠi c a sinh viên nghiên c u v ng d ng x lỦ nh ho c v đi u khi n đ ng
c , dơy chuy n Phan V n Ph ng vƠ Tr n Trí Tơm nghiên c u đ tƠi ắ ng d ng x lỦ
nh c nh báo tƠi x ng g t” s d ng th vi n OpenCV l p trình trên n n t ng Window
vƠ Linux (kit Raspberry) đ c nh báo tƠi x ng g t qua vi c x lỦ hình ch p đ xác
đ nh tƠi x nh m hay m m t, có c nh báo n u tƠi x ng g t [3] Phan Tr ng Thu t vƠ
Nguy n V n úng th c hi n đ tƠi ắPhơn lo i s n ph m dùng camera” qua đó nghiên
c u các ph ng th c ng d ng x lỦ nh đ phơn lo i đ i t ng [4] Lê Qu c Nh t vƠ Chơu Thái B o th c hi n ắNh n d ng th t mƠu cho cáp k t n i trong công nghi p dùng x lỦ nh”, s d ng th vi n OpenCV vƠ ph n m m Visual Studio 2013 (C++) đ
Trang 15nh n di n th t mƠu cho dơy cáp k t n i, h th ng có giao di n th ng kê thông s mƠu,
ki m tra sai s so v i mƠu chu n [5] Tr n Thanh Sang vƠ Tr n M nh Hùng th c hi n
đ tƠi ắThi t k h th ng nh n d ng bi n s xe” t đó đ a ra nh ng ph ng pháp phát
hi n bi n s xe d a trên vi c x lỦ hình nh [6] Lê Doưn Th ng v i đ tƠi ắThi t k thi công b đi u khi n máy ch y b đi n” đư nghiên c u kit STM32F103VET6 vƠ s d ng kit nƠy đ đi u khi n t c đ đ ng c đ ng c DC c a máy ch y b [7]
V i m c đích nghiên c u, h c h i vƠ áp d ng nh ng ki n th c đư đ c h c v x lỦ
nh, vi đi u khi n, đi n t c b n…, chúng em quy t đ nh th c hi n đ tƠi ắThi t k vƠ thi công dơy chuy n phơn lo i đai c ng d ng x lỦ nh” Dơy chuy n s d ng vi đi u
khi n trung tơm lƠ STM32F103C8T6, c m bi n h ng ngo i, đ ng c DC, USB camera
đ l y nh, đèn led chi u sáng m u, máy tính v i h đi u hƠnh Window đ x lỦ nh s
d ng th vi n mư ngu n m OpenCV Dơy chuy n có th phơn lo i các đai c b sai kích th c, b l ch tơm, b méo Các thông s c a dơy chuy n có th cƠi đ t vƠ giám sát
qua ph n m m trên máy tính u đi m c a vi c s d ng USB camera k t h p máy tính cùng b x lỦ dùng vi đi u khi n lƠ giá thƠnh r , nh g n, có th th c hi n, v n hƠnh vƠ
s a ch a d dƠng [8]
1.2 M CăTIểUăVÀăGI I H N
Thi t k vƠ thi công m t dơy chuy n có th phơn lo i đai c ng d ng x lỦ nh dùng
th vi n mư ngu n m OpenCV vi t trên ngôn ng C++ Dơy chuy n có th phơn lo i các đai c b sai kích th c, b méo Các thông s c a dơy chuy n có th cƠi đ t vƠ giám sát qua ph n m m trên máy tính s d ng h đi u hƠnh Window Máy tính s giao ti p
v i vi đi u khi n thông qua giao ti p UART
1.3 N IăDUNGăNGHIểNăC U
- Tìm hi u cách th c ho t đ ng c a các h th ng phơn lo i dùng x lỦ nh
- Tìm hi u chu n giao ti p UART, đ ng c DC, c m bi n h ng ngo i, encoder
- Tìm hi u v vi đi u khi n STM32F103C8T6
- Thi t k vƠ thi công mô hình dơy chuy n phơn lo i
- Thi t k vƠ thi công m ch đi n cho h th ng
- Vi t ch ng trình x lỦ nh trên máy tính dùng ph n m m QT Creator
- Vi t ch ng trình đi u khi n cho vi đi u khi n STM32F103C8T6
Trang 16- Ch y th nghi m mô hình, ch nh s a vƠ hoƠn thi n h th ng
- Th c hi n vi t lu n v n báo cáo
- Ti n hƠnh báo cáo đ tƠi t t nghi p
1.4 GI I H N
- S d ng USB Camera đ thu nh n nh vƠ dùng máy tính PC ho c laptop trên h
đi u hƠnh Window đ x lỦ hình nh thu đ c
- Dơy chuy n phơn lo i đai c l c giác lo i M10 đ dƠy 8mm, kho ng các gi a 2
đ nh đ i di n lƠ 18.9mm, kho ng cách gi a 2 c nh đ i di n lƠ 17mm v i các đai
Ch ngă2:ăC ăS LụăTHUY T
Gi i thi u các c s lỦ thuy t g m lỦ thuy t v x lỦ nh, các linh ki n vƠ thi t b s
d ng đ thi t k h th ng vƠ trình bƠy các chu n truy n, giao th c
Ch ngă3:ăTệNHăTOỄNăVÀăTHI T K H TH NG
Thi t k s đ kh i c a h th ng, đ a ra s đ nguyên lí c a các kh i trong h th ng
vƠ th c hi n vi c tính toán thi t k
Ch ngă4:ăTHIăCỌNGăH TH NG
Trình bƠy v thi t k l u đ , đ a ra gi i thu t vƠ vi t ch ng trình Quá trình thi công
m ch đi n, mô hình h th ng hoƠn ch nh
Ch ngă5:ăK T QU - NH NăXÉT - ỄNHăGIỄ
a ra k t qu đ t đ c sau khi thi công mô hình, rút ra nh ng nh n xét, đánh giá toƠn b h th ng
Trang 17Ch ngă6:ăK T LU NăVÀăH NGăPHỄTăTRI N
Trình bƠy nh ng k t lu n v h th ng nh ng ph n đư lƠm vƠ ch a lƠm, đ ng th i nêu
ra h ng phát tri n cho h th ng
Trang 18C h ngă2 C ăS LụăTHUY T
2.1 T NG QUAN V X Lụă NH
X lỦ nh lƠ quá trình x lỦ s tín hi u đơy lƠ tín hi u hình nh Hi n nay x lỦ
nh đang phát tri n r t m nh m , vì ng d ng c a nó r t r ng vƠ h u ích bao g m r t
nhi u l nh v c: s n xu t, kinh t , đ i s ng, y t , quơn s … Chúng ta có th chia x lỦ
nh thƠnh b n nhóm ng v i b n l nh v c chính: x lỦ nơng cao ch t l ng nh, nh n
d ng nh, truy v n nh vƠ nén nh Trong đ tƠi nƠy s tìm hi u v l nh v c nh n d ng
nh Các b c c b n c a x lỦ nh nh hình 2.1
2.1.1 Gi i thi u v nh s
nh s lƠ t p h p các đi m nh (Pixel) có giá tr m c xám xác đ nh dùng đ mô
t nh g n v i nh th t, trong đ tƠi nƠy ch xét đ n nh 2 chi u, m t nh sau khi đ c
s hóa có th đ c mô t nh m t ma tr n đi m A[M, N] trong không gian hai chi u trong đó M vƠ N lƠ s c t vƠ s hƠng c a các đi m nh M t đi m nh b t kì lúc nƠy s
có t a đ A(x, y) v i 0=<x<=M-1 vƠ 0=<y<=N-1 S đi m nh xác đ nh đ phơn gi i
c a nh nh có đ phơn gi i cƠng cao thì nh cƠng tr nên chơn th c vƠ s c nét h n Giá tr c a m i đi m nh s quy t đ nh mƠu s c c a nh ta g i lƠ m c xám c a đi m
nh, giá tr nƠy có th lƠ m t s ( nh nh phơn, nh xám) ho c m t t p h p các giá tr
( nh mƠu) X lỦ nh lƠ ta x lỦ các giá tr nƠy trong ma tr n nh đ đ c m t k t qu
mong mu n S bit c a m t b c nh chính lƠ s các giá tr m c xám có th có, ví d m t
nh 8bit s có =256 giá tr m c xám t 0 đ n 255 t ng t nh 16bit thì s có giá
tr
Tùy theo giá tr dùng đ bi u di n đi m nh mƠ ta có th phơn ra 3 lo i nh chính thông d ng:
+ nh nh phơn: giá tr m i đi m nh lƠ 0 ho c 1, ngh a lƠ tr ng ho c đen Chính
vì v y mƠ còn g i lƠ nh đen tr ng
Hình 2.1 Các b c x lý nh Hình 2 1 Các b c x lý nh 1
Trang 19+ nh xám: giá tr m i đi m nh n m trong gi i giá tr t 0 đ n 255, ngh a lƠ c n
8 bits hay 1 byte đ bi u di n m i đi m nh nƠy
+ nh mƠu RGB: m i đi m nh có giá tr g m 3 mƠu đ (Red) + xanh l c (Green) + xanh d ng (Blue) M i mƠu có giá tr t 0 đ n 255, ngh a lƠ m i đi m nh c n 24bits hay 3bytes đ bi u di n NgoƠi h mƠu RGB còn có nhi u h mƠu khác phù h p v i
nh JPG, PNG, JPEG… chính vì v y vi c đ c chúng trên máy tính lƠ r t d dƠng Trong
đ tƠi nƠy s d ng camera lo i webcam đ thu nh n hình nh th c t
2.1.3 Gi i thi u v th ăvi n OpenCV vƠăcameraăLogitech C270
Th vi n OpenCV
OpenCV (Open Computer Vision) lƠ m t th vi n mư ngu n m hƠng đ u cho
x lỦ v th giác máy tính, machine learning, x lỦ nh OpenCV đ c vi t b ng C/C++,
vì v y có t c đ tính toán r t nhanh, có th s d ng v i các ng d ng liên quan đ n th i
gian th c Opencv có th h tr cho C/C++, Python Java vì v y h tr đ c cho Window,
Linux, MacOs l n Android, iOS OpenCV có c ng đ ng h n 47 nghìn ng i dùng vƠ
s l ng download v t quá 6 tri u l n vƠ v n đang m r ng liên t c
Trang 20OpenCV v n đang đ c đóng góp vƠ phát tri n liên t c, nó đ c bi t phù h p cho
2.1.4 i u ch nhăđ sángăvƠăđ t ngăph n
sáng c a nh ph thu c vƠo giá tr c a m i pixel t o nên nh Vì v y đ thay
đ i đ sáng nh ta thay đ i giá tr m c sáng các pixel V i g vƠ f lƠ nh tr c vƠ sau khi
bi n đ i ta có công th c đi u ch nh đ sáng nh sau:
g(x,y) = a*f(x,y)+ b (2.1)
a, b: h ng s t ch n
f(x,y): m c sáng c a pixel trong nh t i đi m có t a đ (x,y)
g(x,y): m c sáng c a pixel trong nh t i đi m có to đ (x,y) sau khi bi n đ i
Hình 2 2 Hình nh Webcam Logitech C270
Trang 21NgoƠi vi c thay đ i b ng ph n m m ta có th t ng đ sáng nh b ng ph n c ng nh l p thêm đèn r i, dùng t m n n mƠu sáng…
Nhi u ph thu căvƠoăd li u:
- Nhi u xu t hi n khi có s b c x đ n s c n m r i rác trên b m t nh, đ l m
ch m trên b m t tùy thu c vƠo b c sóng c a đi m nh
- Do có s giao thoa gi a các sóng nh nên lƠm xu t hi n nh ng v t l m đ m trên
- LƠ m t lo i nhi u xung, sinh ra do x y ra sai s trong quá trình truy n d li u
- Nh ng đi m nh có th mang giá tr c c đ i ho c c c ti u V i nh xám n u m t
đi m nh có giá tr c c đ i (t c c ng đ sáng b ng 255) thì nó s t o ra m t
đ m tr ng trên nh, trông gi ng nh h t ắmu i” VƠ ng c l i n u m t đi m nh
Trang 22có giá tr c c ti u (t c c ng đ sáng b ng 0) thì s t o ra m t đ m đen, gi ng
nh ắtiêu” V y nên còn g i lƠ nh mu i tiêu
có th x lỦ m t cách chính xác vƠ hi u qu , nh c n đ c l c nhi u Nguyên t c
chung c a các ph ng pháp l c nh s lƠ cho ma tr n nh nhơn ch p v i m t ma tr n
l c (Kernel) hay còn đ c g i lƠ các phép tính nhơn ch p trên nh Ma tr n l c l c (Kernel) còn có th đ c g i lƠ c a s ch p, c a s l c, m t n
G = M*I (2.2)
I: LƠ nh g c đ c s d ng đ l c s nh
G: LƠ nh ra sau khi th c hi n xong phép l c s nh
M: LƠ ma tr n l c (Mask, kernel)
V i m i phép l c ta có nh ng ma tr n l c (Kernel) khác nhau, không có m t quy
đ nh c th nƠo cho vi c xác đ nh M T ng các ph n t trong ma tr n M th ng lƠ 1
Tpt > 1: nh sau khi th c hi n xong phép l c s nh (G) có đ sáng l n h n so
v i nh ban đ u (F)
Tpt < 1: nh sau khi th c hi n xong phép l c s nh (G) có đ sáng nh h n so
v i nh ban đ u (F)
M t s ph ng pháp l c phù h p đ x lỦ m t lo i nhi u nh t đ nh M t s b l c thông d ng nh l c trung v , l c trung bình, l c thông th p, l c thông cao…
L c trung v
L c trung v lƠ m t k thu t l c phi tuy n (non-linear), b l c nƠy đ c s d ng r t
ph bi n trong x lỦ nh, l c trung v còn đ c g i lƠ b l c h ng ụ t ng chính c a
thu t toán l c trung v lƠ s d ng m t c a s l c (th ng lƠ ma tr n 3x3) quét qua l n
l t t ng đi m nh c a nh đ u vƠo input T i v trí m i đi m nh l y giá tr c a các
Hình 2 3 M t m t n l c kích th c 3x3
Trang 23các đi m nh trong c a s nƠy theo th t (t ng d n ho c gi m d n tùy Ủ) Cu i cùng, gán đi m nh n m chính gi a (trung v ) c a dưy giá tr đi m nh đư đ c s p x p trên cho giá tr đi m nh đang xét c a nh đ u ra output
Cho m t dưy s , , , , đ c s p x p theo th t t ng d n ho c gi m d n
Khi đó đ c tính b i công th c sau:
Các b c th c hiên khi s d ng b l c trung v :
- Quét ma tr n l c lên các thƠnh ph n c a nh g c, đi n các giá tr đ c quét vƠo
ma tr n l c
- L y các thƠnh ph n trong c a s l c đ x lỦ
- S p x p theo th t các thƠnh ph n trong c a s l c
- L u l i thƠnh ph n trung v , gán cho nh output
Trang 241 1 1 2 3 4 5 5 5
K t qu 3 chính lƠ giá tr trung v c n tìm, lúc nƠy ta gán giá tr 3 cho pixel t i v trí
I(3,3) trong nh
Vì ph i s p x p l i m i khi ma tr n l c di chuy n đ n m t pixel nên b l c nƠy
có t c đ không cao, hi u qu gi m n u nh có kích th c l n Tuy nhiên b l c trung
v có nhi u u đi m nh giúp lo i b nhi u nh ng v n đ m b o đ phơn gi i, nó khá
hi u qu đ i v i hai lo i nhi u: nhi u đ m (speckle noise) vƠ nhi u mu i tiêu
(salt-pepper noise)
L cătrungăbình
L c trung bình lƠ lo i l c tuy n tính, v i ph ng pháp thay th giá tr m i đi m nh
b ng trung bình tr ng s c a các đi m trong vùng lơn c n Gi s r ng dùng m t ma tr n
l c (3x3) quét qua t ng đi m nh c a nh đ u vƠo T i v trí m i đi m nh l y giá tr
c a các đi m nh t ng ng trong vùng (3x3) c a nh g c đ t vƠo ma tr n l c Giá tr
đi m nh c a nh đ u ra lƠ giá tr trung bình c a t t c các đi m trong nh trong ma tr n
Trang 25V y I sau khi l c s có giá tr 3
Sau khi s d ng b l c trung bình, chênh l ch đ sáng các đi m nh s gi m
xu ng ngh a lƠ s không có s đ t bi n v giá tr c a các đi m nh lơn c n nhau Vì các
nhi u ng u nhiên th ng lƠ các đi m có giá tr đ t bi n m nh so v i đi m xung quanh nên b l c trung bình s giúp gi m các nhi u nƠy hi u qu ví d nh nhi u mu i tiêu Tuy nhiên b i vì các c nh ho c đ ng biên trong nh c ng đ c tr ng b i quá trình bi n
đ i m nh v c ng đ nên l c trung bình có th lƠm m các c nh vƠ đ ng biên
Trang 26n u xét trên mi n t n s thì ph ng pháp nƠy s lƠm gi m các thƠnh ph n có t n s cao trong hình Hay nói cách khác đơy lƠ m t b l c t n s cao (low pass filter: ch gi l i các thƠnh ph n t n s th p)
exp
ụ t ng c a b l c lƠ d a vƠo giá tr c a m i đi m nh s ph thu c nhi u v i giá
tr các đi m nh g n h n lƠ các đi m nh xa Tr ng s c a s ph thu c đ c l y theo hƠm Gauss (hƠm nƠy c ng đ c s d ng trong quy lu t phơn ph i chu n c a xác
xu t th ng kê)
ng d ng c a b l c Gaussian lƠ lƠm m n nh, nó khác v i b l c trung bình ch :
th nh t, m c đ lƠm m n đ c đi u khi n b i s l a ch n các tiêu chu n thông s đ
l ch, ch không ph i b i giá tr tuy t đ i c a kích th c h t nhơn, th hai, hƠm Gaussian
có m t thu c tính khá đ c bi t, đó lƠ bi n đ i Fourier c a nó lƠ m t hƠm Gaussian, đi u
đó r t thu n ti n cho vi c phơn tích mi n t n s c a b l c
Phát hi n biên d a vƠo trung bình c c b
Phát hi n biên d a vƠo các phép toán hình thái
Ph ng pháp ph bi n lƠ phát hi n biên tr c ti p mƠ hi u qu h n c lƠ vi c l y đ o hƠm b c nh t c a f(x,y) đi u nƠy s lƠm n i b t lên đ ng biên c a nh d a vƠo s bi n thiên đ sáng Vi c l y đ o hƠm b c nh t nƠy g i lƠ ph ng pháp Gradient
Trang 27Gradient lƠ m t vector có các thƠnh ph n bi u th t c đ thay đ i giá tr c a đi m
nh theo 2 h ng x, y; đ i di n cho s thay đ i v h ng vƠ đ l n c a m t vùng nh
(2.6)
M t k thu t tiêu bi u ng d ng Gradient lƠ k thu t Canny, k thu t nƠy cho ra k t
qu đ ng biên m nh vƠ khá chính xác, phơn bi t đ c đi m biên vƠ đi m nhi u
Các b c th c hi n k thu t Canny:
B c 1: Lo i b nhi u trong nh vƠ lƠm m nh b ng cách nhơn ch p v i m t b l c
Gaussian
B c 2: Tính toán giá tr Gradient trong nh, ta có th s d ng b l c Sobel ho c Prewitt
theo hai h ng x, y g i lƠ Gx, Gy
B c 3: Tính đ l n Gradient trong nh:
vƠ = arctan( ) (2.7)
Trong đó , lƠ đ o hƠm theo h ng x, y c a đi m nh đang xét Góc s
đ c lƠm tròn theo các h ng th ng đ ng, n m ngang vƠ chéo t ng ng v i các giá tr
0, 45, 90 vƠ 135 đ
( , )( , )
f
f x yx
f x yy
Trang 28B c 4: Lo i b nh ng đi m không ph i c c đ i nh m xóa b nh ng đi m không thu c
biên Trong b c nƠy ta s so sánh giá tr Gradient c a đi m nh v i các đi m lơn c n theo 4 h ng đư nói trên
V i = 0, đi m A s lƠ biên đ n u Gradient t i A l n h n Gradient t i A3 vƠ A7
V i = 45, đi m A s lƠ biên đ n u Gradient t i A l n h n Gradient t i A2 vƠ A6
V i = 90, đi m A s lƠ biên đ n u Gradient t i A l n h n Gradient t i A1 vƠ A5
V i = 135, đi m A s lƠ biên đ n u Gradient t i A l n h n Gradient t i A8 vƠ A4
B c 5: Ch n ra biên c a đ i t ng trong nh
Sau các b c trên ta thu đ c m t t p các đi m t ng ng trên đ ng biên khá
m ng Vì nh ng đi m có giá tr gradient l n bao gi c ng có xác su t lƠ biên th t s h n
nh ng đi m có giá tr c a gradient nh do đó đ xác đ nh chính xác h n n a biên c a các đ i t ng ta s d ng các ng ng Theo đó b l c canny s s d ng m t ng ng trên
vƠ m t ng ng d i n u gradient t i m t đi m trong nh có giá tr l n h n ng ng trên thì ta xác nh n đó lƠ m t đi m trên biên c a ánh N u giá tr nƠy nh h n ng ng d i thì đó không ph i lƠ đi m biên, trong tr ng h p giá tr gradient n m gi a ng ng trên
vƠ d i thì nó ch đ c tính lƠ đi m trên biên khi các đi m bên c nh c a nó có giá tr
gradient l n h n ng ng trên
2.3 GIAO TI P UART
USART lƠ vi t t t c a c m t Universal synchronous asynchronous receiver
transmitterngh a lƠ b truy n nh n n i ti p đ ng b vƠ không đ ng b Thu t ng UART nói đ n b truy n nh n n i ti p không đ ng b ơy lƠ m t ngo i vi c b n vƠ th ng
Hình 2 5 Các h ng xỨt giá tr
Trang 29dùng trong các quá trình giao ti p v i máy tính, v i các vi đi u khi n khác vƠ v i các module nh : RF, Wifi, Bluetooth…
N u ta s d ng m t dơy đ đ ng b xung CLK gi a 2 thi t b thì lúc nƠy giao
ti p UART s tr thƠnh giao ti p đ ng b vƠ không dùng s lƠ chu n giao ti p không
đ ng b
u đi m c a giao ti p UART lƠ ti t ki m chơn vi đi u khi n vì ch c n s d ng
2 chơn lƠ TX vƠ RX, đơy lƠ ngo i vi mƠ t t c các vi đi u khi n đ u có, ngoƠi ra thì c ng
có khá nhi u module, c m bi n dùng UART đ truy n nh n d li u Tuy v y nh c
đi m c a UART lƠ t c đ ch m, quá trình truy n nh n d x y ra l i lƠm m t, sai d li u nên trong quá trình truy n nh n c n tuơn th các tiêu chu n vƠ c n có các ph ng pháp
đ ki m tra (th ng lƠ truy n thêm bit ho c byte ki m tra l i)
T căđ Baud
Vì không s d ng chung xung CLK nên đ có th truy n vƠ nh n d li u ta c n th ng
nh t t c đ gi a 2 thi t b , t c đ nƠy đ c t o đ c l p m i thi t b , t c đ nƠy đ c
đ t tr c, g i lƠ t c đ Baud đ c đ nh ngh a lƠ s bit truy n đ c trong m t giơy, vƠ
có m t s giá tr th ng dùng nh 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400,
56000, 57600, 115200
Khung truy n
M t trong nh ng v n đ quan tr ng khi s d ng UART lƠ vi c đ m b o d li u
truy n nh n không b l i, thi u ho c sai l ch vì đ c đi m c a nó lƠ không s d ng chung
ngu n xung có th giao ti p đ c thì ngoƠi vi c thi t l p chung t c đ Baud thì
khung truy n c ng lƠ m t y u t không th thi u Khung truy n (Frame) lƠ m t lu t quy
đ nh v s bit trong m i l n truy n vƠ vi c có các bit đ c bi t nh Start, Stop, Parity hay không
- Start bit lƠ bit đ u tiên đ c truy n trong m t frame truy n, bit nƠy có ch c n ng báo cho thi t b nh n bi t r ng có m t gói d li u s p đ c truy n t i Start lƠ bit
b t bu c ph i có trong khung truy n, vƠ nó lƠ m t bit th p (0)
- Data bits hay d li u c n truy n lƠ thông tin chính mƠ chúng ta c n g i vƠ nh n
S l ng bit data tùy thu c vƠo các lo i vi đi u khi n khác nhau, th ng thì data
Trang 30có 8bit Trong truy n thông n i ti p UART, bit có tr ng s nh nh t (LSB ậ Least Significant Bit, bit bên ph i) c a data s đ c truy n tr c vƠ cu i cùng lƠ bit có
tr ng s l n nh t (MSB ậ Most Significant Bit, bit bên trái) Tuy nhiên th t
truy n nƠy có th đ c cƠi đ t b i ng i dùng
- Parity bit lƠ bit dùng đ ki m tra d li u truy n có b sai không Có 2 lo i parity
lƠ parity ch n (even parity) vƠ parity l (odd parity) Parity ch n ngh a lƠ s l ng
s ắ1” trong d li u bao g m bit parity luôn lƠ s ch n Ng c l i t ng s l ng các s ắ1” trong parity l luôn lƠ s l Ví d : n u d li u c n truy n lƠ 10111011,
có t t c 6 bit có giá tr ắ1” trong d li u nƠy, n u quy đ nh parity ch n đ c dùng, bit parity s mang giá tr 0 đ đ m b o t ng các s ắ1” lƠ s ch n N u quy
đ nh parity l thì giá tr c a parity bit lƠ 1 Sau khi truy n chu i d li u kèm theo
c bit parity trên, bên nh n thu đ c vƠ ki m tra l i t ng s s ắ1” (bao g m c
bit parity), n u sai so v i quy đ nh parity đư đ t tr c thì ta kh ng đ nh lƠ d li u
nh n đ c lƠ sai, tuy nhiên n u đúng thì ta c ng không th kh ng đ nh đ c d
li u truy n đúng Parity bit không ph i lƠ bit b t bu c vƠ vì th chúng ta có th
lo i bit nƠy kh i khung truy n
- Stop bits lƠ m t ho c nhi u bit báo cho thi t b nh n r ng m t gói d li u đư đ c
g i xong Sau khi nh n đ c stop bits, thi t b nh n s ti n hƠnh ki m tra khung
truy n đ đ m b o tính chính xác c a d li u Stop bits lƠ các bit b t bu c ph i
có trong khung truy n
2.4 VIă I U KHI N STM32F103C8T6
2.4.1 T ng quan
STM32 lƠ m t trong nh ng dòng chip ph bi n c a ST v i nhi u h thông d ng
nh F0, F1, F2, F3, F4… Stm32F103 thu c h F1 v i lõi lƠ ARM COTEX M3 STM32F103 lƠ vi đi u khi n 32 bit, t c đ t i đa lƠ 72Mhz Giá thƠnh c ng khá r so
v i các lo i vi đi u khi n có ch c n ng t ng t M ch n p c ng nh công c l p trình khá đa d ng vƠ d s d ng
M t s ng d ng chính: dùng cho driver đ đi u khi n ng d ng, đi u khi n ng
d ng thông th ng, thi t b c m tay vƠ thu c, máy tính vƠ thi t b ngo i vi ch i game, GPS c b n, các ng d ng trong công nghi p, thi t b l p trình PLC, bi n t n, máy in, máy quét, h th ng c nh báo, thi t b liên l c n i b …
Trang 31Ph n m m l p trình: có khá nhi u trình biên d ch cho STM32 nh IAR Embedded Workbench, Keil C…
Th vi n l p trình: có nhi u lo i th vi n l p trình cho STM32 nh : STM32snippets,
STM32Cube LL, STM32Cube HAL, Standard Peripheral Libraries, Mbed core M i th
vi n đ u có u vƠ khuy t đi m riêng, đơy nhóm s d ng b th vi n chu n c a ST lƠ Standard Peripheral Libraries vì nó ra đ i khá lơu vƠ thông d ng, h tr nhi u ngo i vi
vƠ c ng nh d hi u rõ b n ch t c a l p trình
M ch n p: có khá nhi u lo i m ch n p nh : ULINK, J-LINK, CMSIS-DAP, STLINK…thông d ng vƠ giá thƠnh th p nh t lƠ STlink
2.4.2 C uătrúcăh th ng
Dòng ARM Cortex lƠ m t b x lí th h m i đ a ra m t ki n trúc chu n cho
nhu c u đa d ng v công ngh Không gi ng nh các chip ARM khác, dòng Cortex lƠ
m t lõi x lí hoƠn thi n, đ a ra m t chu n CPU vƠ ki n trúc h th ng chung Dòng
Cortex g m có 3 phơn nhánh chính:
Hình 2 6 S đ c u trúc các kh i c a STM32F103C8T6
Trang 32+ Dòng A dƠnh cho các ng d ng cao c p,
+ Dòng R dƠnh cho các ng d ng th i gian th c nh các đ u đ c
+ Dòng M dƠnh cho các ng d ng vi đi u khi n vƠ chi phí th p
STM32F103C8T6 đ c thi t k d a trên dòng Cortex-M3, dòng Cortex-M3 đ c
thi t k đ c bi t đ nơng cao hi u su t h th ng, k t h p v i tiêu th n ng l ng th p, CortexM3 đ c thi t k trên n n ki n trúc m i, do đó chi phí s n xu t đ th p đ c nh
tranh v i các dòng vi đi u khi n 8 vƠ 16-bit truy n th ng, xung clock t i đa lƠ 72Mhz
B nh
B nh Flash đ c t ch c nh lƠ 1 kh i chính (main block) vƠ 1 kh i thông tin (information block) lên đ n 64 Kb (ho c 128 Kb) chia thƠnh 128 pages, m i page 1
Kbytes (medium-density devices) NgoƠi ra b nh SRAM có dung l ng 20 kbytes
Clock, reset vƠ qu n lỦ ngu n
- i n áp ho t đ ng 2.0V -> 3.6V
- Có các ch đ qu n lỦ ngu n nh Power on reset(POR), Power down reset(PDR) vƠ programmable voltage detector (PVD)
- Th ch anh n i dùng dao đ ng RC mode 8Mhz ho c 40khz
- S d ng th ch anh ngoƠi 32.768khz đ c s d ng cho RTC
Trang 33 Kh i ADC
- Có 2 b ADC 12 bit t ng ng v i giá tr maximum lƠ 4095 v i 9 kênh cho
m i b
- Có các ng t h tr nh End conversion, End of Injected Conversion and
Analog Watchdog Event
- Single mode hay Continuous mode
- T đ ng calib vƠ có th đi u khi n ho t đ ng ADC b ng xung Trigger
- Th i gian chuy n đ i nhanh: 1us t i t n s 65Mhz
- Có b DMA giúp t ng t c đ x lí
Kh i timer
- Có 7 timer
- 3 timer 16 bit h tr các mode IC/OC/PWM
Hình 2 7 S đ ngu n xung clock c a STM32F103C8T6
Trang 34- 1 timer 16 bit h tr đ đi u khi n đ ng c v i các mode b o v nh ng t
input, dead-time
- Watchdog timer dùng đ b o v vƠ ki m tra l i
- 1 sysTick timer 24 bit đ m xu ng
H tr 9 kênh giao ti p bao g m:
- 2 b I2C (SMBus/PMBus)
- 3 b USART (ISO 7816 interface, LIN, IrDA capability, modem control)
- 2 SPIs (18 Mbit/s)
- 1 b CAN interface (2.0B Active)
- USB 2.0 full-speed interface
2.4.3 Tìmăhi u GPIO
GPIO lƠ t vi t t t c a General purpose I/O ports lƠ n i giao ti p chung gi a tín hi u
ra vƠ tín hi u vƠo STM32 thì các chơn GPIO chia ra lƠm nhi u Port nh PortA, PortB
S l ng Port ph thu c vƠo s l ng chơn (pin) vƠ cách g i ph thu c vƠo nhƠ s n xu t (ví d có lo i vi đi u khi n có PortA mƠ l i không có PortD) M i Port th ng có 16 chơn đánh s t 0 -> 15 t ng ng v i m i chơn lƠ 1bit M i chơn có 1 ch c n ng khác nhau nh analog input, external interrupt hay đ n thu n ch lƠ xu t tín hi u on/off
m c 0,1 Ch c n ng c a m i chơn đ c cung c p trong datasheet c a nhƠ s n xu t Các ch đ ho t đ ng v i GPIO c a STM32:
- Input floating: c u hình chơn I/O lƠ ngõ vƠo vƠ đ n i
- Input pull-up: c u hình chơn I/O lƠ ngõ vƠo, có tr kéo lên ngu n
- Input-pull-down: c u hình chơn I/O lƠ ngõ vƠo, có tr kéo xu ng GND
- Analog: c u hình chơn I/O lƠ Analog
- Output open-drain: c u hình chơn I/O lƠ ngõ ra, khi output control = 0 thì N-MOS
s d n, chơn I/O s n i VSS, còn khi output control = 1 thì P-MOS vƠ N-MOS
đ u không d n, chơn I/O đ c đ n i
- Output push-pull: c u hình chơn I/O lƠ ngõ ra, khi output control = 0 thì N-MOS
s d n, chơn I/O s n i VSS, còn khi output control = 1 thì P-MOS d n, chơn I/O
đ c n i VDD
Trang 35- Alternate function push-pull: s d ng chơn I/O v a lƠ ngõ ra vƠ v a lƠ ngõ vƠo, tuy nhiên s không có tr kéo lên vƠ kéo xu ng input, ch c n ng output gi ng
Output push-pull
- Alternate function push-pull: s d ng chơn I/O v a lƠ ngõ ra vƠ v a lƠ ngõ vƠo, tuy nhiên s không có tr kéo lên vƠ kéo xu ng input, ch c n ng output gi ng
Output open-drain
C ácăthanhăghiăc uăhìnhăGPIO trong stm32F103C8T6
Thanh ghi c u hình port GPIOx_CRx
M i chơn GPIO có 2 c p bit đ cƠi đ t CNF quy t đ nh lƠ ch đ lƠ analog,
floating, pull-up… còn MODE quy t đ nh lƠ ngõ vƠo hay ngõ ra Ngõ ra v i t c đ bao nhiêu Thông s cƠi đ t chi ti t nh sau:
2bit mode:
- 00: Input mode (reset state)
- 01: Output mode, max speed 10 MHz
- 10: Output mode, max speed 2 MHz
- 11: Output mode, max speed 50 MHz
Trang 36- 01: Floating input (reset state)
- 10: Input with pull-up / pull-down
- 11: Reserved
• Khi lƠ output:
- 00: General purpose output push-pull
- 01: General purpose output Open-drain
- 10: Alternate function output Push-pull
- 11: Alternate function output Open-drain
Thanh ghi đ c giá tr ngõ vƠo- GPIOx_IDR v i x lƠ tên port
ơy lƠ thanh ghi đ c giá tr đ u vƠo c a t ng chơn Khi đ u vƠo chơn nƠo đó có m c logic lƠ 1 thì bit t ng ng v i chơn đó s có giá tr lƠ 1 VƠ ng c l i lƠ 0
Thanh ghi ch n giá tr ngõ ra c a port- GPIOx_ODR v i x lƠ tên port
ơy lƠ thanh ghi quy t đ nh m c logic c a đ u ra trên chơn STM32 t ng ng v i mode output Giá tr c a bit nƠo m c cao thì output c a nó s m c cao n u s d ng
mode output push pull vƠ ng c l i Riêng mode output open drain thì có chút khác bi t
2.4.4 TimerăvƠăPWM
STM32F103C8 có t t c 7 timer nh ng trong đó bao g m 1 systick timer, 2 watchdog timer nên ch còn l i 4 timer dùng cho các ch c n ng khác nh ng t, PWM,
Hình 2 9 Thanh ghi đ c giá tr ngõ vào
Hình 2 10 Thanh ghi ch n giá tr ngõ ra c a port
Trang 37Encoder, Input capture… Trong đó TIM1 lƠ Timer đ c bi t, chuyên d ng cho vi c xu t
xung v i các mode xu t xung, các mode b o v đ y đ h n so v i các timer khác TIM1
thu c kh i clock APB2, còn các TIM2, TIM3, TIM4 thu c nhóm APB1
Có 3 v n đ c n quan tơm khi s d ng timer đó lƠ:
- Timer clock
- Prescaler
- Auto Reload Value
Prescaler lƠ b chia t n s c a timer B chia nƠy có giá tr t i đa lƠ 16 bit t ng
ng v i giá tr lƠ 65535 Các giá tr nƠy có th đ c thay đ i vƠ đi u ch nh b ng l p trình
T n s sau b chia nƠy s đ c tính lƠ:
(2.8)
Trong đó:
: t n s sau b chia
: t n s clock đ u vƠo c p cho timer
PSC: giá tr truy n vƠo đ c l p trình b ng ph n m m
Auto Reload Value lƠ giá tr b đ m t i đa có th đ c đi u ch nh đ n p vƠo cho timer Giá tr b đ m nƠy đ c cƠi đ t t i đa lƠ 16bit t ng ng v i giá tr lƠ 65535.T các thông s trên ta rút ra công th c c n tính cu i cùng đó lƠ:
(2.9)
: lƠ giá tr cu i cùng c a bƠi toán, đ n v lƠ hz
: t n s clock h th ng đ c chia cho timer s d ng, đ n v lƠ hz PSC: giá tr n p vƠo cho b chia t n s c a timer T i đa lƠ 65535
Period: giá tr b đ m n p vƠo cho timer T i đa lƠ 65535
Trang 38Ng t timer: khi giá tr đ m c a b đ m timer (thanh ghi CNT) v t qua giá tr
c a Auto Reload Value thì c báo trƠn s đ c kích ho t Trình ph c v ng t trƠn s x y
ra n u đ c c u hình cho phép tr c đó
2.5 NGăC ăDC
ng c DC có ch i than lƠ đ ng c ho t đ ng v i ngu n đi n DC vì v y còn
g i lƠ đ ng c đi n m t chi u t ph n sau s g i t t lƠ đ ng c DC C u t o g m 2 ph n
lƠ stator vƠ rotor trong đó stator th ng lƠ 1 hay nhi u c p nam chơm v nh c u ho c nam chơm đi n còn rotor lƠ các cu n dơy đ c qu n trên m t lõi s t non vƠ n i v i ngu n
đi n m t chi u Do đ c đi m rotor lƠ cu n dơy nên đ c p đi n cho đ ng c ta c n m t
b ph n đ c bi t lƠ b c góp vƠ ch i than ti p xúc c góp, đi u nƠy giúp c p đi n cho
đ ng c k c khi đ ng c quay Vì lƠ b ph n ti p xúc nên sau m t th i gian ch i quét
s b mƠi mòn vƠ c n ph i thay th ng c DC th ng có t c đ cao, đáp ng nhanh kích th c nh g n, momen cao dù t c đ nh nên đ c s d ng ph bi n trong các
mô hình, các máy móc, thi t b , đ gia d ng, dùng kh i đ ng các đ ng c xe
Dòng đi n ch y qua đ ng c đ c tính nh sau:
Đ đ đ (2.10) Công su t đ ng c đ c tính nh sau:
đ Đ đ đ (2.11) Trong đó đ đ lƠ s c đi n đ ng c a rotor sinh ra khi quay
lƠ đi n tr n i c a các cu n dơy
Dòng đi n khi kh i đ ng c a đ ng c th ng b ng 4-7 l n dòng đi n ho t đ ng
đ nh m c, khi tính toán dòng cho đ ng c c n chú Ủ đ n dòng kh i đ ng đ đ m b o an toƠn cho m ch đi n
Trang 39đi u khi n đi n áp DC c p cho đ ng c ta có th dùng ph ng pháp thay đ i
th i gian c p đi n - , ngh a lƠ dòng đi n đ c đóng vƠ ng t liên t c đ qua đó thay
đ i đi n áp trung bình lƠm đ c đi u nƠy ta c n dùng các ph n t chuy n m ch có
đi u khi n nh transistor ho c MOSFET Gi s đi n áp c p lƠ 24V vƠ th i gian lƠ 50% thì đi n áp trung bình lƠ 12V Ph ng pháp nƠy đ c g i lƠ ph ng pháp đi u bi n
đ r ng xung (pulse width modulation- PWM) Tùy vƠo công su t đ ng c mƠ ta ch n
lo i linh ki n chuy n m ch cho phù h p
Trong đ tƠi, nhóm s d ng đ ng c DC có b gi m t c lo i GA25 có các thông
s nh sau:
- i n áp ho t đ ng trong kho ng 6 - 18V, đi n áp đ nh m c 12V
- T c đ sau b gi m t c 17rpm
- Dòng không t i 50mA, dòng có t i lƠ 240mA
- Momen xo n khi có t i lƠ 14kg.cm
2.6 ENCODER
Encoder các h th ng đi u khi n t đ ng lƠ b ph n đ đo l ng d ch chuy n
th ng ho c góc, đ ng th i chuy n đ i v trí góc/v trí th ng mƠ nó ghi nh n đ c thƠnh
Hình 2 11 ng c GA25
Trang 40tín hi u nh phơn Chính nh nh ng tín hi u nh phơn nƠy mƠ h th ng vi tính cho ta bi t
đ c v trí chính xác
C u t oăvƠănguyênălỦăho tăđ ng
Nguyên lỦ c b n c a encoder, đó lƠ m t đ a tròn xoay, quay quanh tr c Trên
đ a có các l (rưnh) Dùng m t đèn led đ chi u lên m t đ a Khi đ a quay, ch không có
l , đèn led không chi u xuyên qua đ c, ch có l (rưnh), đèn led s chi u xuyên qua Khi đó, phía m t bên kia c a đ a, đ t m t con m t thu V i các tín hi u có ho c không
có ánh sáng chi u qua, thì ghi nh n đ c đèn led có chi u qua l hay không
Nh v y lƠ encoder s t o ra các tín hi u xung vuông vƠ các tín hi u xung vuông nƠy đ c c t t ánh sáng xuyên qua l Nên t n s c a xung đ u ra s ph thu c vƠo t c
đ quay c a t m tròn đó i v i encoder nhóm đang dùng thì nó có 2 tín hi u ra l ch pha nhau 90 Hai tín hi u nƠy có th xác đ nh đ c chi u quay c a đ ng c
Phơnălo i
Ecoder đ c phơn hai lo i chính:
- Encoder tuy t đ i: s d ng đ a theo mư nh phơn ho c mư Gray
- Encoder t ng đ i: có tín hi u t ng d n ho c theo chu k
Ecoderătuy tăđ i
Encoder ki u tuy t đ i có k t c u g m nh ng ph n sau: B phát ánh sáng, đ a mư hóa (có ch a d i b ng mang tín hi u), m t b thu ánh sáng nh y v i ánh sáng phát ra
a mư hóa encoder tuy t đ i đ c ch t o t v t li u trong su t, ng i ta chia
m t đ a thƠnh các góc đ u nhau vƠ các đ ng tròn đ ng tơm
Ecoderăt ngăđ i
V c b n thì Encoder ki u t ng đ i đ u gi ng nhau, ch khác đ a mư hóa encoder t ng đ i thì đ a mư hóa g m 1 d i b ng t o xung d i b ng nƠy đ c chia lƠm nhi u l b ng nhau vƠ cách đ u nhau (có th ch t li u trong su t đ ánh sáng chi u
qua)