Thiết kế chương trình điều khiển

Một phần của tài liệu Thiết kế chế tạo robot di chuyển trên kính có vách ngăn 5m (Trang 44 - 50)

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:

Một phần của tài liệu Thiết kế chế tạo robot di chuyển trên kính có vách ngăn 5m (Trang 44 - 50)

Tải bản đầy đủ (PDF)

(82 trang)