GVHD: TS. ĐĂNG TIỀN PHÚC KHÓA LUẬN TỐT NGHIỆP
3.6 Thiết kế chương trình điều khiển
Đề thiết kế chương trình nhóm đỗ án đã sử dụng biểu dé trạng thái để biểu thị hoạt
động của robot.
Biểu đỗ trạng thái (State Machine) là một trong năm biểu đồ UML được sử dụng để mô hình hóa bán chất động của hệ thống. Chúng xác định các trạng thái khác nhau của một đối tượng trong suết thời gian tồn tại của nó và các trạng thái này được thay đối bởi các sự kiện.
29
KHÓA LUẬN TÓT NGHIỆP. GVHD: TS. ĐẶNG TIỀN PHÚC
PISTON Đi XUÔNG
ằ s
BẬT BẢO ĐỘNG (ON CHAN 1
BẬT BẢO ĐÔNG. (ON CHAN 1)
— TT 28
23 er yal
on chan 2,8. 19-4 FE ti = piston off chan 28,4,10 on chõn 9 0ủ chõn 9
gd
on chan 2,8,10-5 2s
kích sản 2 FF tín hiệu riston đÌ xưống a of chân 28,5,1) on chan 9 off chan 9
tưng i
kích bản 3 OFFI ata pit off chan 3.9.6 on chân 8 off chan 8,5,
“ qua trái
pe tin hiệ ° Mi
“1.-—.... >7 EM nan of crn 39,7 on xin |S] onrcnan 5 UUW
\ i
Hinh 3. 1
: Sơ đồ kịch bản 1-4
30
KHÓA LUẬN TÓT NGHIỆP GVHD: TS. ĐẶNG TIỀN PHÚC
25 a `
on chan 3.9 -> 5 OFF tin hiéu RB di
. ps . 18 . lên off chân 3.9 | on chan 8 off chan 8.5
28 . ọ ‘\ Đ 28 . is} _ _
on chan 3,9-ằ4 OFF ea RB di off chan 3.9.4 on chan 8 }—ằ off chan 8
5 OFF tín hiệu RB qua _ = 18
0n chân 2,8,10 ~*7 trai off chan 2,8,7,10 on chan 9 off chan 9
28 1S
on chan 2,8,10-ằ 6 Hinh 3. 17: So dộ kich ban 5-8 off chan 2,8,6,10 on chan 9 >| off chan9
Chương trình điều khiển robot được xây dựng theo kiểu sơ đồ trạng thái may (State Machine), được thê hiện qua sơ đồ khép kín, nhằm mô ta cách di chuyển của robot qua các trạng thái khác nhau một cach chi tiết, rõ rang.
- Đầu tiên bật ON céng tic, bắt đầu khởi tạo chương trình, lúc này cảm biến áp suất chân không ngang và dọc hoạt động, chúng lần lượt kiểm tra điều kiện áp suất chân không của robot như sau:
+ Nếu có một trong hai cảm biến hoặc cả hai cảm biến không đạt điều kiện giá trị áp suất chân không, tức là giá trị cảm bién do duoc > -17 kPa thi lập tức bật còi báo động.
+ Nếu đồng thời cả hai cám biến đều đạt giá trị cho phép hoạt động, tức là giá trị áp
suất chân không < -17 kPa thì không bật còi báo động, chờ tín hiệu điều khiến để robot bắt
đầu hoạt động.
- Lúc này, ta bắt đầu thực hiện điều khiến di chuyển bằng tay cầm PS2, khi có một trong các tín hiệu điều khiển piston và robot:
31
KHÓA LUẬN TÓT NGHIỆP GVHD: TS. ĐẶNG TIỀN PHÚC
+ Tín hiệu điều khiển piston đi lên: Kiểm tra điều kiện của cảm biến áp suất chân không ngang, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động và ngược lại sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch bản 1.
+ Tín hiệu điều khiển piston đi xuống: Kiểm tra điều kiện của cảm biến áp suất chân không ngang, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động và ngược lại sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch bản 2.
+ Tín hiệu điều khiển piston sang trái: Kiểm tra điều kiện của cảm biến áp suất chân không dọc, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động vả ngược lại sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch bản 3.
+ Tín hiệu điều khiển piston sang phải: Kiểm tra điều kiện của cảm biến áp suất chân không dọc, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động và ngược lại sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch bản 4.
+ Tín hiệu điều khiến robot đi lên: Kiểm tra điều kiện của cảm biến áp suất chân không dọc, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động và ngược lại sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch ban 5.
+ Tín hiệu điều khiến robot đi xuống: Kiểm tra điều kiện của cảm biến áp suất chân không dọc, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động và ngược lại sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch bản 6.
+ Tín hiệu điều khiến robot qua trái: Kiểm tra điều kiện của cám biến áp suất chân không ngang, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động và ngược lại
32
KHÓA LUẬN TÓT NGHIỆP GVHD: TS. ĐẶNG TIỀN PHÚC
sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch bản 7.
+ Tín hiệu điều khiển robot qua phải: Kiểm tra điều kiện của cảm biến áp suất chân không ngang, nếu giá trị áp suất đo được > -17 kPa thì bật tín hiệu báo động và ngược lại sẽ cho robot tiếp tục hoạt động, không bật tín hiệu báo động và chương trình sẽ bắt đầu thực hiện theo kịch bản 8.
- Trạng thái hoạt động của các kịch bản:
+ Kịch bản 1: Khi có tín hiệu điều khiển piston di lén thi Arduino Uno R3 6 trang thai ON cac chan 2, 8, sau 2S ON chan 4, 10 (thực hiện kích điện áp mức HIGH) và ngược lại
khi không có tín hiệu điều khiển piston đi lên thì sẽ OFF các chân 2, 4, 8, 10 (thực hiện
kích điện áp mức LOW), sau đó chương trình bắt đầu delay 2s rồi ƠN chân 9 (thực hiện kích điện áp mức HIGH), tiếp tue delay 1s va OFF chan 9 (thực hiện kích điện áp mức LOW).
+ Kịch bản 2: Khi có tín hiệu điều khiến piston đi xuống thì Arđuino Uno R3 ở trạng thái ƠN các chan 2, 8, sau 2S ON chan 5, 10 (thực hiện kích điện áp mức HIGH) và ngược
lại khi không có tín hiệu điều khiến piston đi lên thì sẽ OFF các chân 2, 5, 8, 10 (thực hiện
kích điện áp mức LOW), sau đó chương trình bắt đầu delay 2s roi ON chan 9 (thực hiện kích điện áp mức HIGH), tiếp tục delay 1s và OFE chân 9 (thực hiện kích điện áp mức LOW).
+ Kịch bản 3: Khi có tín hiệu điều khiển piston sang trai thi Arduino Uno R3 6 trang thái ON các chân 3, 9, sau 2S ON chan 5, 6 (thực hiện kích điện áp mức HIGH) và ngược
lại khi không có tín hiệu điều khiển piston đi lên thì sẽ OFF các chân 3, 6, 9 (thực hiện kích
điện áp mức LOW), sau đó chương trình bắt đầu delay 2s roi ON chân 8 (thực hiện kích
điện áp mức HIGH), tiếp tục delay 1s và đồng thời OFF chân 5, 8 (thực hiện kích điện áp
mức LOW).
+ Kịch bản 4: Khi có tín hiệu điều khiển piston sang phải thì Arduino Uno R3 ở trạng thai ON cac chan 3, 9, sau 2S ON chân 5, 7 (thực hiện kích điện áp mức HIGH) và ngược
33
KHÓA LUẬN TÓT NGHIỆP GVHD: TS. ĐẶNG TIỀN PHÚC
lại khi không có tín hiệu điều khiển piston đi lên thì sẽ OFF các chân 3, 7, 9 (thực hiện kích
điện áp mức LOW), sau đó chương trình bắt đầu delay 2s roi ON chan 8 (thực hiện kích
điện áp mức HIGH), tiếp tục delay 1s và đồng thời OFF chân 5, 8 (thực hiện kích điện áp
mirc LOW).
+ Kịch bản 5: Khi có tín hiệu điều khiển robot đi lên thì Arduino Uno R3 ở trạng thái ON các chân 3,9, sau 2S ON chan 5 (thực hiện kích điện áp mức HIGH) và ngược lại khi không có tín hiệu điều khiển piston di lén thi sé OFF cae chân 3, 9 (thực hiện kích điện áp mức LOW), sau đó chương trình bắt đầu delay 2s rồi ON chân 8 (thực hiện kích điện áp
mức HIGH), tiếp tục delay 1s và đồng thời OFF chân 5, 8 (thực hiện kích điện áp mức
LOW).
+ Kịch bản 6: Khi có tín hiệu điều khiển robot đi xuống thì Arduino Uno R3 6 trang thai ON cac chan 3,9, sau 2S ON chan 4 (thực hiện kích điện áp mức HIGH) và ngược lại
khi không có tín hiệu điều khiến piston đi lên thì sẽ OFF các chân 3, 4, 9 (thực hiện kích
điện áp mức LOW), sau đó chương trình bắt đầu delay 2s rồi ON chân 8 (thực hiện kích
điện áp mức HIGH), tiếp tục đelay 1s và đồng thời OFF chân 8 (thực hiện kích điện áp
mirc LOW).
+ Kịch bản 7: Khi có tín hiệu điều khiển robot sang trai thi Arduino Uno R3 6 trang thai ON cae chan 2, 8, sau 2S ÔN chân 7, 10 (thực hiện kích điện áp mức HIGH) và ngược
lại khi không có tín hiệu điều khiến piston đi lên thì sẽ OFF các chân 2, 7, 8, 10 (thực hiện
kích điện áp mức LOW), sau đó chương trình bắt đầu delay 2s rồi ƠN chân 9 (thực hiện
kích điện áp mức HIGH), tiếp tục delay 1s và đồng thời OFF chân 9 (thực hiện kích điện
áp mức LOW).
+ Kịch bản 8: Khi có tín hiệu điều khiến robot sang phai thi Arduino Uno R3 6 trang thái ƠN các chan 2, 8, sau 2S ON chan 6, 10 (thực hiện kích điện áp mức HIGH) và ngược
lại khi không có tín hiệu điều khiến piston đi lên thì sẽ OFF các chân 2, 6, 8, 10 (thực hiện
kích điện áp mức LOW), sau đó chương trình bắt đầu delay 2s rồi ƠN chân 9 (thực hiện
34
KHÓA LUẬN TỐT NGHIỆP GVHD: TS. PANG TIEN PHÚC
kich dién 4p mite HIGH), tiép tue delay 1s va déng thoi OFF chan 9 (thire hién kich dién
ap mirc LOW).
- Cách đầu nối chân điều khiển trên mạch Arduino Uno R3 với mạch chuyển tín hiệu điện áp tay cầm PS2: