Professional Documents
Culture Documents
Báo Cáo Đồ Án Thiết Kế Hệ Thống Cơ Điện Tử - Thiết Kế, Chế Tạo Và Điều Khiển Robot Dò Line (Line Following Robot) (Download Tai Tailieutuoi.com)
Báo Cáo Đồ Án Thiết Kế Hệ Thống Cơ Điện Tử - Thiết Kế, Chế Tạo Và Điều Khiển Robot Dò Line (Line Following Robot) (Download Tai Tailieutuoi.com)
BÁO CÁO
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ
Đề tài:
THIẾT KẾ, CHẾ TẠO VÀ ĐIỀU KHIỂN
ROBOT DÒ LINE (LINE FOLLOWING ROBOT)
MỤC LỤC
Nội dung Trang
MỤC LỤC ................................................................................................................................. ii
DANH SÁCH HÌNH ẢNH ...................................................................................................... iv
DANH MỤC BẢNG BIỂU ..................................................................................................... vi
MỤC TIÊU THIẾT KẾ ........................................................................................................... 1
CHƯƠNG 1: TỔNG QUAN .................................................................................................... 2
1.1 Sơ đồ nguyên lý ................................................................................................................ 2
1.2 Cảm biến ........................................................................................................................... 5
1.3 Động Cơ ............................................................................................................................ 7
1.4 Cấu trúc điều khiển ........................................................................................................... 7
1.5 Giải thuật điều khiển ......................................................................................................... 8
CHƯƠNG 2: PHƯƠNG ÁN THIẾT KẾ ............................................................................... 9
2.1 Đề xuất sơ đồ nguyên lý ................................................................................................... 9
2.2 Đề xuất cảm biến .............................................................................................................. 9
2.3 Đề xuất cấu trúc điều khiển ............................................................................................ 10
2.4 Đề xuất giải thuật điều khiển .......................................................................................... 10
2.5 Phương án thiết kế .......................................................................................................... 11
CHƯƠNG 3: CƠ KHÍ ............................................................................................................ 12
3.1 Lựa chọn bánh xe ............................................................................................................ 12
3.1.1 Lựa chọn bánh chủ động .......................................................................................... 12
3.1.2 Lựa chọn bánh bị động ............................................................................................. 12
3.2 Tính toán lựa chọn động cơ ............................................................................................ 12
3.3 Kích thước thân xe .......................................................................................................... 14
3.3.1 Chiều cao trọng tâm xe ............................................................................................ 14
3.3.2 Các kích thước cơ sở của xe ..................................................................................... 15
3.4 Hình ảnh mô hình 3D xe ................................................................................................. 17
3.5 Tính toán dung sai độ đồng trục hai động cơ.................................................................. 17
3.5.1 Tính chuỗi kích thước .............................................................................................. 17
3.5.2 Sơ đồ và phương pháp kiểm tra độ đồng trục của 2 động cơ ................................... 21
3.6 Bản vẽ robot xe dò line ................................................................................................... 22
CHƯƠNG 4: MÔ HÌNH HÓA .............................................................................................. 23
4.1 Mô hình động học ........................................................................................................... 23
4.2 Cách xác định vị trí của robot ......................................................................................... 24
ii
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
iii
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
iv
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
v
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
vi
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
R500
E C A START
END
R500
D G
1500
3000
Trang 1
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Rất nhiều sơ đồ nguyên lý có thể được ứng dụng cho việc chế tạo robot dò line. Để đạt
được tốc độ và khả năng bám đường, sơ đồ nguyên lý của các loại xe đua điều khiển từ xa (RC
racing cars) có thể được sử dụng. Có hai loại sơ đồ nguyên lý chung cho các loại xe đua chuyên
chạy trên mặt đường phẳng:
- Loại 1(Hình 1.1) sử dụng trục truyền động cho trục trước và sau xe. (Khung xe của
hãng Awesomatrix, TAMIYA TT01, Overdose Divall…).
- Loại 2(Hình 1.2) sử dụng đai răng truyền động cho trục trước và sau xe. (Khung xe
của hãng Sakura D3 CS, Serpent VETEQ 02, TA04 EPRO…).
Trang 2
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
a) Khung xe hãng TA04 EPRO b) Sơ đồ nguyên lý sử dụng đai răng truyền động
Hình 1.2 Sơ đồ nguyên lý RC racing cars sử dụng trục truyền động
Ưu điểm: Hạn chế được hiện tượng trượt giữa các bánh khi xe thực hiện đổi hướng.
Nhược điểm:
- Thiết kế cơ khí phức tạp và bán kính cong nhỏ nhất của xe sẽ bị giới hạn bởi kết
cấu của xe.
- Giá thành cao đối với nhu cầu của sinh viên.
Bên cạnh các sơ đồ nguyên lý mà các xe RC car sử dụng, hiện nay rất nhiều xe đua dò
line như đội HBFS (Robot RobotChallenge) và Sylvestre (COSMOBOT 2012), Flash Robot
RobotChallenge 2016), Johnny-5 (IGVC),Thunderbolt (Robot Challenge 2014)… sử dụng hai
bánh chủ động được điều khiển độc lập kết hợp với bánh đa hướng (Hình 1.3).
Ưu điểm: Bám đường tốt do tiếp xúc 3 điểm mới mặt đường, mô hình động học đơn giản,
dễ hiệu chỉnh sai số hệ thống và cho phép xe di chuyển được theo bán kính rất nhỏ, kể cả việc
quay tại chỗ.Giá thành chế tạo phù hợp với sinh viên.
Nhược điểm: Dễ bị trượt theo phương pháp tuyến khi thực hiện việc bám theo các đoạn
đường bán kính nhỏ ở tốc độ cao.
Trang 3
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Hình 1.4 Sơ đồ nguyên lý hai cặp chủ động vi sai loại 4 bánh
Ngoài ra, một dạng khác của sơ đồ nguyên lý này cũng được các xe đua như CartisX04
(All Japan Micromouse 2015), Mouse (RobotChallenge 2014)… sử dụng (Hình 1.4). Ở sơ đồ
này, mỗi bánh xe vi sai chủ động được thay bằng một cặp bánh. Điều này tạo ra các ưu – nhược
điểm chung của sơ đồ nguyên lý này:
Nhược điểm: Kết cấu cơ khí phức tạp hơn, xuất hiện hiện tượng trượt bánh khi xe đổi
hướng.
Trang 4
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Về cảm biến, phần lớn các robot dò line hiện nay sử dụng các loại cảm biến quang để
nhận biết vị trí tương đối của đường line so với xe, từ đó xử lí để đưa ra tín hiệu điều khiển. Có
hai phương pháp thường được sử dụng cho robot dò line là phương pháp sử dụng camera và
các loại cảm biến quang dẫn:
- Phương pháp sử dụng camera. Hình ảnh đường đua được lấy từ camera, thông qua
xử lí và đưa ra tín hiệu điều khiển.
Nhược điểm: Yêu cầu xử lí nhiều, do đó đòi hỏi tốc độ xử lí phải nhanh, nếu không sẽ
làm giảm tốc độ của xe.
- Phương pháp xử dụng cảm biến quang được sử dụng trong hầu hết các loại xe đua
hiện nay. Một số loại cảm biến có thể được sử dụng như quang điện trở (robot ALF trong cuộc
thi ROBOCON Malaysia 2006) hoặc Photo-transistor kết hợp với LED. Hai loại cảm biến này
có nguyên lí hoạt động như nhau (Hình 1.5). Hai led phát và thu phải bố trí khoảng cách với
mặt đường sao cho vùng hoạt động của chúng giao thoa với nhau và không trùng với vùng giao
thoa của bộ liền kề (Hình 1.6).
Hình 1.6 Vùng giao thoa của cực phát và cực thu
Trang 5
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Đối với các loại cảm biến quang, tín hiệu tương tự từ cảm biến sẽ được hiệu chuẩn và xử
lí bằng các giải thuật so sánh hoặc xấp xỉ để tìm ra vị trí tương đối của robot dò line với tâm
đường line.
- Phương pháp thứ nhất: dùng bộ so sánh để xác định trạng thái đóng/ngắt của các
sensor, sau đó suy ra vị trí xe theo một bảng trạng thái đã định sẵn (Hình 1.7). Với phương pháp
này, sai số dò line sẽ phụ thuộc vào thông số của sensor được sử dụng, hay khoảng cách giữa
các sensor. Phương pháp này có đặc điểm phụ thuộc chủ yếu vào mức ngưỡng so sánh của các
sensor, do đó tốc độ xử lý rất nhanh.
- Phương pháp thứ hai: xấp xỉ ra vị trí của xe so với tâm đường line từ các tín hiệu tương
tự từ cảm biến. Có 3 giải thuật xấp xỉ được giới thiệu đó là xấp xỉ theo bậc 2, tuyến tính và theo
trọng số (Hình 1.8) với sai số dò line lần lượt là 5.4mm, 2.8mm và 2.6mm trong thí nghiệm
được thực hiện . Đặc điểm của phương pháp này là phụ thuộc chủ yếu vào thời gian đọc ADC
tất cả các sensor của vi điều khiển, do đó thời gian xử lý sẽ lâu hơn phương pháp 1. Tuy nhiên
độ phân giải cao hơn đáng kể so với phương án đầu.
00011000
Line nằm giữa
00000110
Line nằm lệch bên phải
01100000
Line nằm lệch bên trái
Hình 1.7 Giải thuật xử lí tín hiệu bằng phương pháp so sánh
Hình 1.8 Giải thuật xử lý tín hiệu cảm biến bằng phương pháp xấp xỉ
Trang 6
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
1.3 Động Cơ
Về động cơ, các xe đua dò line như Pika, HFBS-2, CartisX04, Thunderstorm, Impact…
đều sử dụng động cơ DC có gắn encoder làm cơ cấu chấp hành. Đặc điểm của động cơ DC đa
dạng về kích thước, momen, chủng loại driver, dễ dàng lắp đặt và điều khiển chính xác do có
thể kết hợp thêm encoder và được ứng dụng thêm bộ điều khiển PID để có thể điều chỉnh tốc
độ hoặc vị trí chính xác theo yêu cầu.
Về cấu trúc điều khiển, robot dò line có các module chính bao gồm module sensor, module
điều khiển và module điều khiển động cơ. Trong đó có hai phương pháp chủ yếu để kết nối các
module đó với nhau là phương pháp điều khiển tập trung và phân cấp:
- Trong phương pháp điều khiển tâp trung (Hình 1.9a), một MCU nhận tín hiệu từ cảm
biến, xử lí dữ liệu rồi truyền tín hiệu điều khiển cho cơ cấu tác động.Đây là cấu trúc được sử
dụng khá nhiều trong các xe đua dò line thực tế như xe CartisX04, Le’Mua (Robot Challenge
2015), Pika. Cấu trúc điều khiển tập trung có đặc điểm phần cứng đơn giản, tuy nhiên MCU
phải xử lý tất cả thông tin trước khi cập nhật thông tin mới.
Trang 7
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
- Trong phương pháp điều khiển phân cấp (Hình 1.9b) nhiều hơn một MCU sẽ được sử
dụng trong hệ thống. Bên cạnh MCU master đảm nhiệm việc tính toán tổng thể, một số robot
còn có thêm 1 Slave MCU chuyên xử lí tín hiệu encoder hoặc 1 slave MCU để xử lí tín hiệu từ
sensor (RobotALF). Ngoài ra, các robot dò line dùng camera thường có một MCU slave chuyên
xử lí hình ảnh, rồi chuyển dữ liệu về MCU master. Cấu trúc này giúp giảm nhẹ khối lượng tính
toán cho master và cho phép robot thực hiện nhiều tác vụ cùng lúc. Cấu trúc điều khiển phân
cấp có đặc điểm phần cứng phức tạp hơn, phải quan tâm đến vấn đề giao tiếp giữa các MCU,
tuy nhiên có khả năng xử lý nhiều tác vụ cùng lúc, giúp cho thời gian lấy mẫu của hệ thống
nhanh hơn khi sử dụng cấu trúc tập trung.
1.5 Giải thuật điều khiển
Giải thuật điều khiển được dùng phổ biến cho các xe đua dò line là bộ điều khiển PD,
PID, FIC cho hệ thống lái của xe kết hợp với PID cho từng động cơ như xe Bolt, Pika, Major
(Robocomp 2014), Thunderstorm… Ngoài ra, một bộ điều khiển phổ biến khác thường được
ứng dụng cho mobile robot là bộ điều khiển tracking. Thực nghiệm từ cho thấy bộ điều khiển
này có thể giúp sai số bám line của robot trên đoạn đường thẳng và cong; đạt sai số tối đa
150mm khi gặp các đoạn line gấp khúc và tối đa 250mm khi robot thực hiện đổi hướng 900.
Về vận tốc tối đa, vận tốc cực đại trung bình của của các robot như Pika, HBFS-2,
Sylvestre, Thunderbolt, Thunderstorm, Impact… tại các cuộc thi đều đạt từ 1-3m/s.
Về sai số tối đa của robot trong suốt quá trình, sai số trong quá trình xe di chuyển trên
đường thẳng hay cong sẽ phụ thuộc vào sai số xác định vị trí của xe do hệ thống sensor (tối đa
5.4mm) và sai số do bộ điều khiển. Đối với sai số khi xe bám theo các vị trí đổi hướng đột ngột,
sai số phụ thuộc phần lớn vào giải thuật điều khiển.
Từ các thông số của các xe đã thực hiện và yêu cầu của đề bài mỗi robot mang vật nặng
2 Kg, lựa chọn các thông số:
Dựa trên kết quả mô phỏng và thực nghiệm của các đồ án đi trước lựa chọn sai số dò
line trên đoạn đường thẳng và cong: emax = ±15 mm.
Trang 8
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 9
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Với sai số yêu cầu ±15mm như đầu bài, các phương pháp có độ phân cao nên được lựa
chọn. Có hai giải thuật xử lý được đề xuất:
- So sánh
- Xấp xỉ
Với phương pháp so sánh, vị trí của robot so với đường line chỉ có thể thuộc vào một số
trường hợp đã được quy định sẵn. Số trường hợp này phụ thuộc số lượng cảm biến, sai số ảnh
hưởng bởi khoảng cách tối thiểu giữa các cảm biến. Khoảng cách giữa các cảm biến này phụ
thuộc nhiều vào góc chiếu của LED, góc thu của sensor và độ cao so với mặt đất.
Với phương pháp xấp xỉ, sai số phụ thuộc vào số lượng cảm biến và cách chọn độ cao
của chúng so với mặt đất. Tuy nhiên, độ phân giải của phương pháp này cao hơn đáng kể so
với phương pháp so sánh, giúp cho hệ thống sensor có thể đạt được sai số tốt hơn. Tuy nhiên,
thời gian đáp ứng của phương pháp này sẽ lâu hơn phương án trên do vi điều khiển cần thực
hiện chuyển đổi ADC cho tất cả các cảm biến.
2.3 Đề xuất cấu trúc điều khiển
Để tránh tình trạng bị nhiễu hoặc rớt dữ liệu trong quá trình truyền dữ liệu phương án cấu
trúc điều khiển tập trung (Hình 2.2).
Trang 10
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Phương án 1 có đặc điểm giúp robot có khả năng cải thiện được khả năng bám đường line
sau mỗi lần chạy. Tuy nhiên giải thuật tự học phức tạp và cần phải kết hợp thêm cảm biến
accelometer và gyrometer để bộ điều khiển có thể nhớ được trạng thái gia tốc và gốc của robot
trong suốt đường đua.
Phương án 2 là một bộ điều khiển thông dụng trong các nghiên cứu về khả năng bám theo
quỹ đạo cho trước của mobile robot. Lý thuyết và thực nghiệm đã chứng minh bộ điều khiển
có khả năng di chuyển robot tới các tọa độ cho trước với vận tốc mong muốn.
2.5 Phương án thiết kế
Từ các đề xuất trên, ta tiến hành lựa chọn phương án phù hợp:
- Sơ đồ nguyên lý: robot 2 bánh chủ động vi sai có bánh đa hướng bị động (Hình 2.1)
- Cảm biến: bộ LED hồng ngoại-Phototransistor và sử dụng giải thuật xấp xỉ để tìm ra
vị trí của robot so với đường line.
- Động cơ: động cơ DC servo.
- Cấu trúc điều khiển: bộ điều khiển tập trung (Hình 2.2)
- Giải thuật điều khiển: bộ điều khiển tracking.
Trang 11
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
CHƯƠNG 3: CƠ KHÍ
3.1 Lựa chọn bánh xe
3.1.1 Lựa chọn bánh chủ động
Từ giá trị vận tốc lớn nhất ở đầu bài là 1 (m/s), cũng như tham khảo những thiết kế của
các đội thi các cuộc thi mobile robot trên thế giới thì ta chọn đường kính bánh xe dẫn động là
80 mm.
Bánh xe được chọn để làm mô hình là V2 80mm khớp lục giác 12mm.
Trang 12
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 13
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Hệ số ma sát 0,8
Hệ số an toàn 2
Với thông số động cơ đã được tính như trên, động cơ GA25 V1 (𝜔 = 320 vòng/phút, 𝑃
= 13,2W) được lựa chọn.
Tính toán lại vận tốc:
V = (320/60).0,08.π = 1,34 (m/s)
Với động cơ lựa chọn vẫn thỏa mãn vận tốc đề bài đặt ra.
3.3 Kích thước thân xe
3.3.1 Chiều cao trọng tâm xe
Trang 14
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
𝑚𝑣 2 𝑏
ℎ − 𝑚𝑔 ≤ 0
𝑅 2
𝑔𝑏𝑅
ℎ≤
2𝑣 2
Trong đó:
Gia tốc trọng trường 𝑔 = 9,81m/s2
Bề rộng xe 𝑏 = 0,17𝑚
Bán kính cong của đường đua 𝑅 = 0,5𝑚
Vận tốc dài tối đa 𝑣 = 1𝑚/𝑠
Do đó: ℎ ≤ 41,69𝑐𝑚
3.3.2 Các kích thước cơ sở của xe
Kích thước bao của xe phụ thuộc vào kích thước và việc sắp xếp các linh kiện điện, điện
tử, khoảng cách được mô phỏng giữa sensor và các bánh chủ động. Ngoài ra tỉ lệ kích thước
dài-rộng của xe nên được chọn theo tỉ số √5 nhằm giảm thiểu tối đa ảnh hưởng của các yếu tố
động lực học lên xe.
Ta tính toán khoảng cách giữa 2 bánh chủ động: Đặt bài toán xe đang chạy qua khúc
cong có bán kính R = 500mm, với vận tốc 1 m/s. Tìm khoảng cách nhỏ nhất giữa 2 bánh xe chủ
động để xe không bị lật.
Z
Y
⃗⃗⃗⃗
𝐹𝑙𝑡
𝑃⃗
R=500mm
Hình 3.4 Sơ đồ tính khoảng cách giữa hai tâm bánh xe dẫn động
Từ việc ước lượng được các kích thước của các thành phần trên xe, Ước lượng được chiều
cao xe là 80 mm. Ước lượng điểm G (trọng tâm xe) nằm ở vị trí cách mặt đất h = 30 mm.
Trang 15
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
⃗⃗⃗⃗
𝐹𝑙𝑡 là lực ly tâm khi xe qua khúc cong.
Ta có:
𝑚𝑣 2 2,5. 12
𝐹𝑙𝑡 = = = 5(𝑁)
𝑅 0,5
Để xe không lật thì
𝑏 (3.6)
𝐹𝑙𝑡 . ℎ ≤ 𝑃.
2
2. 𝐹𝑙𝑡 . ℎ
↔𝑏≥ = 30𝑚𝑚
𝑃
Kết hợp với các kích thước phân bố linh kiện ta chọn b = 170 mm và chiều dài cơ sở của
xe là 190 mm.
Sơ đồ phân bố các phần tử trên xe
Trang 16
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 17
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Do đó:
𝑒 2 = Δ𝑥 2 + Δ𝑦 2 ≤ 0,025
Giả sử Δ𝑥 = Δ𝑦 ⇒ Δ𝑥 = Δ𝑦 ≤ 0,112𝑚𝑚
Xét trên mặt phẳng chứa Δ𝑦 và song song với mặt phẳng cắt dọc trục động cơ, ta có:
A3
A2
A1
a)
A A1
A2
b)
Hình 3.8 Các khâu hình thành chuỗi kích thước
Chuỗi trên Hình 3.8a với khâu khép kín 𝐴Σ = 𝐴3 . Từ đó ta có được chuỗi kích thước
Hình 3.8b
Với:
𝐴1 : là khâu thành phần giảm
𝐴2 : là khâu thành phần tăng
𝐴Σ : là khâu khép kín
Theo điều kiện khép kín, ta có quan hệ kích thước:
𝐴2 − 𝐴1 = 𝐴Σ
Vì Δ𝑦 ≤ 0,112 và 2 chi tiết đồ gá có thể đổi lẫn cho nhau nên dung sai khau khép kín 𝐴Σ
từ −0,056 đến +0,056. Từ đó ta cần phải xác định lại dung sai của các khâu thành phần 𝐴𝑖
Giả sử các khâu thành phần có cùng một cấp chính xác, ta có:
𝐴Σ
𝑎𝑚 = 𝑚+𝑛
∑𝑖=1 𝑖𝑖
Trang 18
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
112
⇒ 𝑎𝑚 = ≈ 51
2 × 1,08
Dựa vào bảng 4.1[27] ta chọn cấp chính xác 9 làm cấp chính xác chung cho các khâu
thành phần
Sai lệch giới hạn và dung sai khâu 𝐴2
𝐴2 = 14𝐻9 = 14+0,043
Tính khâu 𝐴1 (khâu giảm):
Khâu tăng:
𝐴2 = 14𝐻9 = 14+0,043
𝐸𝑆 = +0,043
𝐸𝐼 = 0
Khâu để tính:
𝐴1 = 𝐴𝑘
𝑇1 = 𝑇Σ − 𝑇2 = 112 − 43 = 69(𝑚𝑚)
𝑚 𝑛−1
𝐴1 = 14+0,056
+0,013 (𝑚𝑚) và 𝐴2 = 14
+0,043
(𝑚𝑚)
Ta thấy miền dung sai của khâu 𝐴2 và 𝐴1 sai khác không quá lớn và 2 chi tiết gá động cơ
có thể thay thế lẫn nhau. Do đó ta chọn dung sai của 2 khâu 𝐴1 và 𝐴2 là 14+0,04
Xét trên mặt phẳng chứa Δ𝑥 và vuông góc với mặt cắt dọc trục động cơ, ta có:
Trang 19
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
A1 A3
A2
a)
A1 A
A2
b)
Hình 3.9 Các khâu hình thành chuỗi kích thước
Chuỗi trên Hình 3.9b với khâu khép kín 𝐴Σ = 𝐴3 . Từ đó ta có được chuỗi kích thước
Hình 3.9b
Với:
𝐴1 : là khâu thành phần giảm
𝐴2 : là khâu thành phần tăng
𝐴Σ : là khâu khép kín
Theo điều kiện khép kín, ta có quan hệ kích thước:
𝐴2 − 𝐴1 = 𝐴Σ
Vì Δ𝑥 ≤ 0,112 và 2 chi tiết đồ gá có thể đổi lẫn cho nhau nên dung sai khau khép kín 𝐴Σ
Trang 20
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
từ −0,056 đến +0,056. Từ đó ta cần phải xác định lại dung sai của các khâu thành phần 𝐴𝑖
Kích thước danh nghĩa của khâu khép kín:
𝐷𝐴Σ = 𝐷𝐴2 − 𝐷𝐴1 = 33 − 21 = 12
Giả sử các khâu thành phần có cùng một cấp chính xác, ta có:
𝐴Σ
𝑎𝑚 = 𝑚+𝑛
∑𝑖=1 𝑖𝑖
𝐴1 = 21+0,056
+0,006 (𝑚𝑚) và 𝐴2 = 33
+0,062
(𝑚𝑚)
Trang 21
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Phương pháp kiểm tra: Ta lồng hai trục chuẩn A và B vào hai lỗ, đầu đo rà liên tục trên
một tiết diện vuông góc với trục B. Ta sẽ đọc được khoảng cách lớn nhất và nhỏ nhất.
Ta có công thức tính độ sai lệch như sau:
𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛
∆đ𝑡 =
2
Để đảm bảo chính xác cần đo trên 2 tiết diện xa nhất có thể nhờ dịch chuyển tì chuẩn
bằng vòng hãm C.
3.6 Bản vẽ robot xe dò line
(Đính kèm thuyết minh)
Trang 22
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
e3
R
yR
e2 e1
yC
C
M
yM
x
O xM xR xC
x M cos 0
y sin v
M 0 (4.1)
0 1
x c x M d sin
y C y M d cos (4.2)
C
Với d là khoảng cách từ M đến C.
Trang 23
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
x R vr cos R
y R v R sin R (4.3)
R R
Trong đó vR là vận tốc mong muốn của xe đua tại điểm tham chiếu.
e1 v R cos e3 1 e2
e v sin e 0 d e v
2 R 3 1 (4.5)
1
w
e3 wR 0
Do hệ thống phototransistor chỉ xác định được sai số theo phương pháp tuyến với phương
chuyển động của xe. Do đó mô hình động học của xe cần được giới thiệu lại với điểm C là tâm
của dãy sensor, M là trung điểm hai bánh chủ động và là điểm tracking của xe. Giả sử xe sẽ
chạy với vận tốc bằng vận tốc tham chiếu nên ta có e1 = 0. Mô hình này được thể hiện trên Hình
4.2. Như vậy, để xác định được đầy đủ thông tin về vị trí của điểm tracking so với tham chiếu,
sai số e2 và e3 cần được xác định.
R e2
yC C
d
M
yM
xs x
O xM xC
Hình 4.2 Mô hình động học được sử dụng cho robot dò line
Trang 24
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
e3
R
R
e2 C
ds
d
M
x
O
𝑒2 − 𝑒2 ′
𝑒3 = arctan( ) (4.6)
𝑑𝑠
4.3 Bộ điều khiển tracking, tìm khoảng cách d
Sau khi có được các sai số e1, e2, e3, bộ điều khiển tracking cho phép xác định giá trị v và
cần thiết để điểm tracking có thể bám theo điểm tham chiếu:
v v R cos e3 k1e1
(4.7)
k 2 v R e2 R k 3 sin e3
Tiến hành mô phỏng quá trình bám sa bàn của robot, ta sử dụng bảng thông số đầu vào:
Trang 25
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Quy ước: đường vẽ màu xanh lá thể hiện vận tốc gốc bánh xe phải, đường màu đỏ thể
hiện vận tốc gốc bánh xe trái.
Với khoảng cách từ tâm cảm biến C đến tâm 2 bánh chủ động M được chọn là 96
mm. Bên cạnh đó, giá trị e2 phụ thuộc vào bộ số [k1 k2 k3] được chọn. Tiến hành mô
phỏng trên đoạn đường đua với các hệ số [k1 k2 k3] lần lượt là [1 520 0.8]
Các thông số mô phỏng về sự chuyển động của sensor cảm biến, sai số e2, e3, vận
tốc xe và số vòng quay của bánh xe trong quá trình chuyển động đoạn ABC được mô tả
trong Hình 4.5.
Trong đoạn ABC, sai số lớn e2 lớn nhất là khúc giao tại B, tại đây có sự chuyển
hướng đột ngột dẫn đến sai số lớn, tuy nhiên sai số trong đoạn này là 14,26 mm nhỏ hơn
sai số yêu cầu của đề bài. Trên đoạn AB và BC sai số tương đối ổn định (Hình 4.5 b).
Khi vào cua, vận tốc xe cần giảm xuống 0,66 m/s (Hình 4.5 c). Nhận thấy trong quá
trình chạy, tốc độ góc 2 bánh xe không vượt quá giới hạn cho phép của động cơ.
Trang 26
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 27
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 28
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 29
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 30
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 31
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 32
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Hình 5.1 Sơ đồ nguyên lý của 1 cặp LED trong mạch cảm biến
5.1.2 Tính toán giá trị điện trờ
Với sơ đồ nguyên lý trên, ta kết hợp với các giá trị được cho trong datasheet của
TCRT5000:
𝑉𝐹 = 1.25𝑉
{
𝐼𝐹 ≤ 60𝑚𝐴
Ta có:
𝑉𝑐𝑐 − 𝑉𝐹 5 − 𝑉𝐹 5 − 1.25
𝑅1 = = → 𝑅1 ≥ = 62.5Ω
𝐼𝐹 𝐼𝐹 60. 10−3
Ta chọn: 𝑅1 = 330 Ω
Xác định 𝑅2 .
Từ đồ thị Hình 5.2 ta có:
5 − 1.25
𝐼𝐹 = ≈ 17𝑚𝐴
220
Từ Hình 5.2 a), ta được 𝐼𝐶 = 1.2 mA. Và từ đồ thị hình 2 b) ta được 𝑉𝐶𝐸 = 0.6V
𝑉𝑐𝑐 − 𝑉𝐶𝐸 5 − 0.6
𝑅2 = = = 3666,67Ω
𝐼𝐶 1,2. 10−3
Chọn 𝑅2 = 4k7 Ω
Trang 33
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
a) b)
Hình 5.2 Đồ thị thể hiện giữa dòng và áp qua LED
a) Mối quan hệ giữa IF và IC b) Mối quan hệ giữa điện áp vào và dòng IC qua LED thu
5.2 Lựa chọn vi điều khiển
Yêu cầu đặt ra cho việc lựa chọn vi điều khiển để đảm bảo robot hoạt động tốt cần thỏa
mãn các yêu cầu đặt ra như sau:
Cần có ít nhất 7 kênh chuyển đổi ADC tương tứng với 7 cặp led hồng ngoại thu –
phát.
Cần có ít nhất 3 bộ timer/counter để thực việc tính toán vị trí xe cũng như đọc
encoder trả về từ động cơ.
Cần có thời gian đáp ứng thỏa mãn yêu cầu của đã bài toán đặt ra.
Sau quá trình tìm hiểu các vi điều khiển, người thực hiện đã chọn kit tiva C với chip
Tm4c123gh6pm.
Trang 34
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Tính toán thời gian đáp ứng của vi điều khiển. Từ các đặc điểm kit tiva C ta có các tính
toán sau:
tADC = 1.25 𝜇𝑠 << 0.02s vì thế vi điều khiển đáp ứng được yêu cầu thời gian
lấy mẫu 0.02s.
Trang 35
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Hình 5.4 Ảnh hưởng của cách đặt cảm biến đến switching distance Xd
5.4 Chọn khoảng cách hợp lý giữa cảm biến với sàn
Khoảng cách cảm biến so với mặt đường cần đảm bảo thu được tín hiệu tại các vị trí nền
trắng là như nhau.
Xuất hiện vùng giao thao giữa 2 cực phát và cực thu
Phạm vi hoạt động của cảm biến được mô hình lại như sau:
Dựa vào các tính toán hình học cơ bản, để xuất hiện vùng giao thoa thì h > 8,57mm.
Trang 36
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Qua phân tích và tham khảo thí nghiệm của các nhóm trước, chọn h = 10mm.
Quá trình test led được thực hiện như Hình 5.7
- Khi ta che chắn nền trắng thì tín hiệu ADC trả về giảm, khi ta che chắn nền đèn thì
tín hiệu ADC trả về tăng.
- Khoảng cách ta nhận được trong quá trình kiểm tra phạm vi ảnh hưởng và hoạt
động tốt của led từ 8 đến 12 mm.
Để cảm biến hoạt động tốt thì các led phải tách biệt nhau, các led không được giao thoa
với nhau, vì sẽ gây nên sai số khi hoạt động. Phạm vi quét của 2 led liền kề được mô tả lại như
sau
Trang 37
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Hình 5.8 Phạm vi quét của led thu và led phát ở 2 cảm biến đặt liền kề nhau
Khoảng cách giữa 2 led phát vầ thu liền kề phải đảm bảo:
Khoảng cách giữa 2 led trong 1 cảm biến là 5 mm. Do đó khoảng cách tối thiểu giữa 2
cảm biến sẽ là:
d = l+5 ≥ 13.64mm
Ngoài ra khi hoạt động sẽ có trường hợp cảm biến nằm trong vùng bất định thì giá trị
analog của cảm biến đưa về sẽ như nhau. Do đó sẽ không xác định được chính xác vị trí cảm
biến so với tâm đường line. Vùng bất định của cảm biến được mô tả lại như sau:
Trên Hình 5.8 ta thấy khi cảm biến dịch chuyển sang phải một đoạn 26-d thì luôn có 2 led
nằm trong đường line, và do đó tín hiệu analog đo được sẽ như nhau, tương tự khi cảm biến di
chuyển sang trái đoạn 2d-26 thì chỉ có 1 led nằm trong đường line. Ta phải chọn giá trị của d
sao cho các khoảng cách này là nhỏ nhất.
⟹ 𝑑 = 17𝑚𝑚
Trang 38
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
⟹ 𝑒 = 9 𝑚𝑚
Với:
𝑥𝑚𝑖𝑛,𝑖 và 𝑥𝑚𝑎𝑥,𝑖 là giá trị nhỏ nhất và lớn nhất từ cảm biến thứ 𝑖
𝑦𝑚𝑎𝑥 và 𝑦𝑚𝑖𝑛 là giá trị lớn nhất và nhỏ nhất mà ta mong muốn cho tất cả cảm biến
𝑥𝑗,𝑖 là giá trị đọc được lần thứ j của cảm biến thứ 𝑖
Trang 39
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Từ giá trị thực nghiệm ta thu được công thức calip cho 7 cảm biến
Cảm biến 𝑥
n 𝑚𝑖𝑛
𝑥
x 𝑚𝑎𝑥
𝑦𝑗0
𝑥0 184 2698 𝑦𝑗0 = 184 + 0779(𝑥𝑗,0 – 184)
𝑥1 194 2834 𝑦𝑗0 = 184 + 0.818(𝑥𝑗,1 – 194)
𝑥2 204 3264 𝑦𝑗0 = 184 + 0.948(𝑥𝑗,2 – 204)
𝑥3 220 3261 𝑦𝑗0 = 184 + 0.942(𝑥𝑗,3 – 220)
𝑥4 204 2506 𝑦𝑗0 = 184 + 0.713(𝑥𝑗,4 – 204)
𝑥5 202 3412 𝑦𝑗0 = 184 + 0.995(𝑥𝑗,5 – 202
𝑥6 212 2814 𝑦𝑗0 = 184 + 0.806(𝑥𝑗,6 – 212)
Chọn 𝑦𝑚𝑖𝑛 = 184, 𝑦𝑚𝑎𝑥 = 3412
Lấy 3 cảm biến cho giá trị cao nhất. Ta xấp xỉ tín hiệu đầu ra
2
𝑦1 = 𝑎𝑥1 + 𝑏𝑥1 + 𝑐
Vị trí tâm đường line sẽ là vị trí mà hàm xấp xỉ đạt giá trị cực đại
−𝑏
𝑥=
2𝑎
𝑦1 + 𝑦2 − 2𝑦3
𝑎=
2
𝑏 = 𝑦2 − 𝑦2 − 2𝑎𝑥1 − 1
Trang 40
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Position x (mm)
Hình 5.14 Đồ thị quan hệ giá trị tính toán và giá trị thực tâm đường line
Trang 41
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Sau khi tín hiệu trả về từ sensor dưới dạng số sẽ được vi điều khiển xử lý đưa ra sai số e2
và e3, kế đến sẽ áp dụng tiêu chuẩn ổn định lyaponouv để đưa ra vận tốc động cơ trái và động
cơ phải. Vận tốc động cơ trái và phải sẽ được vi điều khiển (MCU) xử lý và truyền tín hiệu điều
khiển dưới dạng xung pwm cho driver tương ứng. Vi điều khiển (MCU) nhận xung encoder trả
về và áp dụng giải thuật PID để đảm bảo vận tốc xe đáp ứng được giá trị đã được tính toán.
Sensor
Encoder Encoder
Trang 42
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
𝑣𝑟 + 𝑣𝑙
𝑣=
{ 2 (5.1)
𝑣𝑟 − 𝑣𝑙
𝜔=
𝐿
Trong đó:
- vr , vl lần lượt là vận tốc dài bánh trái và bánh phải.
Trang 43
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
2𝑣 − 𝜔𝐿
𝑣𝑙 =
{ 2 (5.2)
2𝑣 + 𝜔𝐿
𝑣𝑅 =
2
Tác vụ 2:
- Áp dụng cho việc chuyển động giữa các trạng thái: 2 →3, 5 →6, 8 →9
- Nhiệm vụ: giúp xe đi thẳng qua chỗ giao C.
- Giải thuật: giữ vận tốc bánh trái và bánh phải cố định bằng nhau cho đến khi dãy cảm biến
vượt ra ngoài vùng line giao nhau tại C:
𝑣 = 1 (𝑚⁄𝑠)
{ 𝑙
𝑣𝑟 = 1 (𝑚⁄𝑠)
Tác vụ 3:
- Trạng thái áp dụng: khi trạng thái 5 giao trạng thái 9 tại E lần 1.
- Nhiệm vụ: giúp xe đi qua chỗ giao E.
- Giải thuật: giữ vận tốc bánh trái và bánh phải cố định cho đến khi dãy cảm biến vượt ra
ngoài vùng line giao nhau tại E, giá trị vận tốc bánh trái và bánh phải xác định như sau:
2𝑣 − 𝜔𝐿 2.1 − 2.0,15
𝑣𝑙 = = = 0,85(𝑚⁄𝑠)
{ 2 2
2𝑣 + 𝜔𝐿 2.1 + 2.0,15
𝑣𝑟 = = = 1,15(𝑚⁄𝑠)
2 2
Tác vụ 4:
- Áp dụng cho việc chuyển động giữa các trạng thái: 7 →8
- Nhiệm vụ: giúp xe bẻ cua tại A.
- Giải thuật: giữ vận tốc bánh trái bằng 0, giữ vận tốc bánh phải cố định cho đến khi dãy cảm
biến trở lại đường line, giá trị vận tốc bánh phải xác định như sau:
𝑣 = 0(𝑚⁄𝑠)
{ 𝑙
𝑣𝑟 = 1(𝑚⁄𝑠)
Tác vụ 5:
- Áp dụng khi kết thúc trạng thái 9.
- Nhiệm vụ: dừng xe.
- Giải thuật: giữ vận tốc bánh trái và bánh phải bằng 0.
Cách nhận biết chỗ các đường line giao nhau:
Sử dụng 1 biến đếm để điểm số xung counter từ encoder trả về từ bánh trái của xe (nhìn
từ sau xe - 3456 xung ứng với 1 vòng). để nhận biết được vị trí của xe hiện tại trên đường đua
cũng như khi xe hoàn thành các trang thái.
Ta có công thức như sau:
Trang 44
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
𝑠 = 𝜋𝑑 = 𝜋 ∗ 80 = 251,3 𝑚𝑚
Trong đó:
Ta có quãng đường đi lí thuyết của bánh trái xe khi xe bám line tốt:
Từ tính toán lý thuyết kết hợp thực tế ta đưa ra được giá trị encoder trả về ứng với các
trạng thái như sau:
Trang 45
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Start
Đúng
Counter > 8800 Và
Counter <= 11400 Tác vụ 1
Đọc biến
counter
Sai
Sai
Đúng Đúng
Counter > 2800 Tác vụ 2 Counter > 12300 Tác vụ 1
Và Counter <= 3650 Và Counter <= 13700
Sai
Sai
Sai
Sai
Sai
Sai
Sai
Counter > 16500 Sai
Đúng
Counter > 8200
Tác vụ 2
Và Counter <= 8800
Đúng
Tác vụ 5 End
Trang 46
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
uint32_t velocitytrai = 0;
uint32_t velocityphai = 0;
Trang 47
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
void ConfigInitial()
{
SysCtlClockSet(SYSCTL_SYSDIV_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
Trang 48
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
GPIOPinTypeGPIOInput(GPIO_PORTB_BASE, GPIO_PIN_0|GPIO_PIN_1);
GPIOIntTypeSet(GPIO_PORTB_BASE, GPIO_PIN_0|GPIO_PIN_1,
GPIO_RISING_EDGE);
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_2|GPIO_PIN_3);
GPIOIntTypeSet(GPIO_PORTA_BASE, GPIO_PIN_2|GPIO_PIN_3,
GPIO_RISING_EDGE);
GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE,
GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
GPIOPinTypeADC(GPIO_PORTE_BASE,
GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5); // CB1-4
GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3); //
CB5-7//
}
void ConFigPWM()
{
SysCtlPWMClockSet(SYSCTL_PWMDIV_64);
GPIOPinConfigure(GPIO_PB4_M0PWM2);
GPIOPinConfigure(GPIO_PB6_M0PWM0);
GPIOPinTypePWM(GPIO_PORTB_BASE, GPIO_PIN_6|GPIO_PIN_4);
Trang 49
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
ADCSequenceEnable(ADC0_BASE, 0);
}
void ConFigTimer0()
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
TimerConfigure(TIMER0_BASE,TIMER_CFG_PERIODIC);
TimerLoadSet(TIMER0_BASE, TIMER_A,400000 - 1);
IntMasterEnable();
IntEnable(INT_TIMER0A);
TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
TimerEnable(TIMER0_BASE, TIMER_A);
}
void ConFigTimer1()
{
Trang 50
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);
TimerConfigure(TIMER1_BASE,TIMER_CFG_PERIODIC);
TimerLoadSet(TIMER1_BASE, TIMER_A,80000 - 1);
IntMasterEnable();
IntEnable(INT_TIMER1A);
TimerIntEnable(TIMER1_BASE, TIMER_TIMA_TIMEOUT);
TimerEnable(TIMER1_BASE, TIMER_A);
}
void ConFigCounter1()
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIOPinTypeTimer(GPIO_PORTD_BASE, GPIO_PIN_6);
GPIOPinConfigure(GPIO_PD6_WT5CCP0);
GPIOPinTypeTimer(GPIO_PORTD_BASE, GPIO_PIN_7);
GPIOPinConfigure(GPIO_PD7_WT5CCP1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_WTIMER5);
TimerConfigure(WTIMER5_BASE, TIMER_CFG_SPLIT_PAIR |
TIMER_CFG_B_CAP_COUNT_UP|TIMER_CFG_A_CAP_COUNT_UP;
TimerControlEvent(WTIMER5_BASE, TIMER_BOTH, TIMER_EVENT_POS_EDGE);
TimerIntEnable(WTIMER5_BASE, TIMER_CAPB_EVENT);
TimerIntEnable(WTIMER5_BASE, TIMER_CAPA_EVENT);
TimerEnable(WTIMER5_BASE, TIMER_BOTH);
TimerSynchronize(WTIMER5_BASE,TIMER_2B_SYNC);
TimerSynchronize(WTIMER5_BASE,TIMER_2A_SYNC);
}
void ConFigCounter()
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
GPIOPinTypeTimer(GPIO_PORTB_BASE, GPIO_PIN_1);
GPIOPinConfigure(GPIO_PB1_T2CCP1);
Trang 51
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
GPIOPinTypeTimer(GPIO_PORTB_BASE, GPIO_PIN_0);
GPIOPinConfigure(GPIO_PB0_T2CCP0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER2);
TimerConfigure(TIMER2_BASE, TIMER_CFG_SPLIT_PAIR |
TIMER_CFG_B_CAP_COUNT_UP|TIMER_CFG_A_CAP_COUNT_UP);
TimerControlEvent(TIMER2_BASE, TIMER_BOTH, TIMER_EVENT_POS_EDGE);
TimerIntEnable(TIMER2_BASE, TIMER_CAPB_EVENT);
TimerEnable(TIMER2_BASE, TIMER_BOTH);
TimerSynchronize(TIMER2_BASE,TIMER_2B_SYNC);
}
void ConfigUart(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinConfigure(GPIO_PA0_U0RX);
GPIOPinConfigure(GPIO_PA1_U0TX);
GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 9600,
(UART_CONFIG_WLEN_8 |
UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
}
void
UARTSend(uint8_t *pui8Buffer, uint32_t ui32Count)
{
while(ui32Count--)
{
UARTCharPutNonBlocking(UART0_BASE, *pui8Buffer++);
}
}
Trang 52
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
void Timer0IntHandler(void)
{
velocitytrai = 6000*counterA/374 ;
velocityphai = 6000*counterB/374 ;
uint8_t buf[5];
buf[0] = velocitytrai / 100 + 0x30;
buf[1] = (velocitytrai % 100) / 10 + 0x30;
buf[2] = velocitytrai % 10 + 0x30;
buf[3] = '\r';
buf[4] = '\n';
UARTSend(buf, 5);
HWREG(TIMER2_BASE+TIMER_O_TAV) = 0;
HWREG(TIMER2_BASE+TIMER_O_TBV) = 0;
TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
}
void Timer1IntHandler(void)
{
e2 = x - 51;
e3 = atan((e2 - e2_1)/ds);
e2_1 = e2;
TimerIntClear(TIMER1_BASE, TIMER_TIMA_TIMEOUT);
}
Trang 53
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
error_2_trai = error_1_trai;
error_1_trai = error_trai;
u_k_1_trai = u_k_trai;
Trang 54
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
float main(void)
{
uint32_t ui32ADC0Value[8];
int8_t i,j;
int16_t chiso[3];
int8_t signal = 0;
float calib[7],y[3],max;
float l = 0.15;
float velocity1 = 0.0;
float velocity2 = 0.0;
float vr = 0.0;
float wr = 0.0;
float duty1_1 =0.0;
float duty2_1 = 0.0;
float v = 0.0,w = 0.0;
float k2 = 500;
float k3 = 1;
uint8_t giaolo = 0;
ConfigInitial();
ConfigADC();
ConFigPWM();
Trang 55
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
ConFigTimer0();
ConFigTimer1();
ConFigCounter1();
ConFigCounter();
ConfigUart();
while(1)
{
GPIOPinWrite(GPIO_PORTC_BASE,
GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,0x50);
counterA = TimerValueGet(TIMER2_BASE, TIMER_B);
counterA_1 = TimerValueGet(WTIMER5_BASE, TIMER_A);
counterB = TimerValueGet(TIMER2_BASE, TIMER_A);
ADCIntClear(ADC0_BASE, 0);
ADCProcessorTrigger(ADC0_BASE, 0);
while (!ADCIntStatus(ADC0_BASE,0, false))
{
}
ADCSequenceDataGet(ADC0_BASE,0 , ui32ADC0Value);
ADCresult[0] = ui32ADC0Value[2];
ADCresult[1] = ui32ADC0Value[1];
ADCresult[2] = ui32ADC0Value[0];
ADCresult[3] = ui32ADC0Value[7];
ADCresult[4] = ui32ADC0Value[6];//
ADCresult[5] = ui32ADC0Value[5];
ADCresult[6] = ui32ADC0Value[4];
calib[0] = 184 + 0.779*(ADCresult[0]-184) ;
calib[1] = 184 + 0.818*(ADCresult[1]-194) ;
calib[2] = 184 + 0.948*(ADCresult[2]-204) ;
calib[3] = 184 + 0.942*(ADCresult[3]-220) ;
calib[4] = 184 + 0.713*(ADCresult[4]-204) ;
calib[5] = 184 + 0.995*(ADCresult[5]-202) ;
calib[6] = 184 + 0.806*(ADCresult[6]-212) ;
Trang 56
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
max = calib[0];
for(i = 0 ;i <= 6;i++)
{
if (calib[i]>= max)
{
max = calib[i];
j = i; // 0 -> 6
}
}
if (j == 0)
{
y[0] = max;
y[1] = calib[j+1];
y[2] = calib[j+2];
chiso[0] = j;
chiso[1] = j+1;
chiso[2] = j+2;
a = (y[0]+y[1]-2*y[2])/2;
b = y[2] - y[1] -2*a*chiso[0]- a;
}
else if (j == 6)
{
y[0] = calib[j-2];
y[1] = calib[j-1];
y[2] = max;
chiso[0] = j-2;
chiso[1] = j-1;
chiso[2] = j;
a = (y[0]+y[1]-2*y[2])/2;
Trang 57
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
chiso[0] = j-1;
chiso[1] = j;
chiso[2] = j+1;
a = (y[0]+y[1]-2*y[2])/2;
b = y[2] - y[1] -2*a*chiso[0] - a;
}
Trang 58
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
giaolo = 0;
}
else if ((counterA_1 > 2800)&&(counterA_1 <= 3200))
{ //C
giaolo = 1;
}
else if ((counterA_1 > 3200)&&(counterA_1 <= 3650))
{ //CD
vr = 1;
wr = 0;
giaolo = 0;
}
else if ((counterA_1 > 3650)&&(counterA_1 <= 8200))
{ //DE
vr = 1;
wr = 2;
giaolo = 0;
}
else if ((counterA_1 > = 8200)&&(counterA_1 <= 8800))
{ //EC
vr = 1;
wr = 0;
giaolo = 0;
}
else if ((counterA_1 > 8800)&&(counterA_1 <= 11400))
{ //C
giaolo = 1;
}
else if ((counterA_1 > 11400)&&(counterA_1 <= 12300))
{ //CG
vr = 1;
wr = 0;
giaolo = 0;
}
Trang 59
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 60
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
if (giaolo == 0)
{
v = vr*cos(e3);
w = k2*vr*e2/1000 + wr + k3*sin(e3);
velocity1 = 0.5*(2*v - w*l)*293.8;
velocity2 = 0.5*(2*v + w*l)*293.8;
}
else if (giaolo == 1)
{
velocity1 = 350;
velocity2 = 350;
}
else if (giaolo == 2)
{
velocity1 = 50;
velocity2 = 350;
}
else if (giaolo == 3)
{
velocity1 = 0;
velocity2 = 0;
}
}
duty1_1 = PIDtrai(velocity1,velocitytrai);
duty2_1 = PIDphai(velocity2,velocityphai);
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_0,duty1_1*period/100
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2,duty2_1*period/100);
}
}
Trang 61
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
NGUỒN ĐIỆN
OPTICAL Righ
ENCODER Motor
Driver
VI ĐIỀU KHIỂN CẢM BIẾN
Motor
OPTICAL Left
ENCODER Motor
Trang 62
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Chọn 4 pin sạc 18650 Panasonic 3,7V (sạc đầy là 4,2V), dung lượng 3700mAh – Imax là
5A , sử dụng khay lắp nối tiếp 4 pin để được điện thế cấp cho mạch nguồn là 14,8V. Khi đó
công suất bộ nguồn tối đa đạt 74W, đủ cho hệ thống.
Thông số kỹ thuật:
- Điện áp đầu vào: 3 – 40V DC
- Điện áp đầu ra: điềuu chỉnh được
trong khoảng 1,5 – 35V DC
- Dòng đáp ứng tối đa: 3A
- Hiêu suất: 92%
- Công suất: 15W
Trang 63
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Thiết kế mạch PCB để lắp ráp 2 mạch giảm áp LM2596 theo dạng tầng
Thông số kỹ thuật:
- Điện áp nuôi và mức logic: 2,7 – 5,5VDC
- Điện áp cấp cho motor tối đa 15VDC
- 2 mạch cầu H cho 2 động cơ
- 1,2A cho mỗi cầu H
- Bảo vệ quá nhiệt, quá áp, chống dòng ngược.
Tiến hành khảo sát không tải driver TB6612 và động cơ GA25 mà nhóm sử dụng, điều
khiển và đo vận tốc bằng board ARM (STM32F4 Discovery).
Trang 64
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Hình 6.5 Đồ thị giữa PWM và vận tốc motor (không tải)
Đồ thị (Hình 6.5) cho thấy hệ driver và động cơ có độ tuyến tính cao, có thể sử dụng luật
điều khiển vòng hở để điều khiển vận tốc.
Đáp ứng vận tốc của 2 động cơ theo PWM cấp cho driver không có sai lệch nhiều (± 0,1
vòng/phút), do đó việc mô hình hóa và điều khiển 2 động cơ hoàn toàn tương tự như nhau.
Đo thời gian đáp ứng vận tốc theo thời gian (Hình 6.6 và Hình 6.7). Khi không có tải,
vận tốc động cơ ổn định (± 2 vòng/phút) và đáp ứng 2 động cơ gần như nhau.
Trang 65
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 66
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Nhận xét: Hệ thống driver TB6612 và motor có độ tuyến tính cao, thuận lợi cho việc điều
khiển vận tốc, thời gian đáp ứng không tải nhanh khoảng 0,1 giây.
Trang 67
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Tiến hành khảo sát đáp ứng driver khi có tải và tuyến tính hóa bằng công cụ Curve Fitting
Tool của Matlab.
Hình 6.13 Đồ thị giữa PWM và vận tốc motor (có tải)
Trang 68
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Hình 6.16 Đồ thị đáp của động cơ trái tại PWM = 55% (có tải)
Trang 69
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
𝐾
Hệ thống có dạng bậc nhất 𝐺 (𝑠) =
𝜏𝑠+1
Trang 70
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 71
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 72
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
thỏa được yêu cầu đề ra về sai số trên đoạn thẳng và cong. Các lý do dẫn đến việc tăng sai số
này bao gồm:
- Sai số lắp đặt ảnh hưởng đến độ đồng trục của hai động cơ.
- Sai số tốc độ của hai động cơ.
- Ảnh hướng của hệ số ma sát của bánh mắt trâu.
- Quán tính của xe trong quá trình quẹo cua.
- Sai số của hệ thống cảm biến cảm biến do sự khác biệt giữa môi trường thí nghiệm và
thực nghiệm.
- Sai số của hệ thống cảm biến do chiều cao gá đặt và độ song song với mặt phẳng xe.
Để khắc phục các sai số này, các giải pháp được đề ra bao gồm:
- Khung xe và đồ gá được chế tạo bằng nhôm, thay cho mica trong mô hình thực nghiệm,
để có thể kiểm soát được các sai số trong quá trình gia công và lắp đặt.
- Thực hiện thí nghiệm nhằm đánh giá sai số vận tốc của động cơ để có thể đưa vào mô
phỏng.
- Thực nghiệm thí nghiệm để đánh giá ảnh hưởng của môi trường thực nghiệm lên giá
trị đọc của hệ thống cảm biến để có thể thực hiện các biện pháp xử lý phù hợp.
Trang 73
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
Trang 74
ĐỒ ÁN THIẾT KẾ HỆ THỐNG CƠ ĐIỆN TỬ GVHD: TS. Ngô Hà Quang Thịnh
[15] Richard Wallace et. al., First Results in Robot Road – Following, Robotics
Institute, Carnegie – Mellon University.
[16] Dirman Hanafi et. al., Wall Follower Autonomous Robot Development Applying
Fuzzy Incremental Controller, Intelligent Control and Automation, 2013, 4, 18-25.
[17] Takanori Fukao et. al., Adaptive Tracking Control of a Nonholonomic Mobile
Robot, IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL.
16, NO. 5, OCTOBER 2000.
[18] R. Fierro et. al., Control of a Nonholonomic Mobile Robot Using Neural
Networks,IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL. 9, NO. 4,
JULY 1998.
[19] Xiaoling Wu et.al., An Improved Hardware Design and Navigation Optimization
Algorithm for Line Following Robot, Journal of Convergence Information
Technology (JCIT) Volume8, Number5,Mar 2013
[20] Yutaka Kanayama et. al., A Stable Tracking Control Method for an Autonomous
Mobile Robot, IEEE 1990
[21] Iman Anvari, Non-holonomic Differential Drive Mobile Robot Control & Design:
Critical Dynamics and Coupling Constraints, Master Thesis, ARIZONA STATE
UNIVERSITY, December 2013
[22] Joseph R.Davis, Coeffiction of Friction. In Concise Metals Engineering Data
Book, 190-197. United State of America: ASM International, 1997
[23] Joseph L.Jones, Anita M.Flynn & Bruce A.Seiger. Mobile Robot Inspirational to
Implementation. 2nd ed. Cambridge, MA: MIT Artificial Intelligence Laboratory
Publication Office, 1998
[24] Portescap Motion Company, DC Motor Catalogue
[25] Iman Anvari, Non-holonomic Differential Drive Mobile Robot Control & Design:
Critical Dynamics and Coupling Constraints, A Thesis Presented in Partial
Fulfillment of the Requirement for the Degree Master of Science, Arizona State
[26] Trịnh Chất & Lê Văn Uyển. Tính Toán Thiết Kế Hệ Dẫn Động Cơ Khí Tập 2, 116-
117. Việt Nam, Công ty In Công Đoàn Việt Nam, 2006
[27] Ninh Đức Tốn, Dung Sai và Lắp Ghép, Việt Nam, Công ty Cổ Phần In Thái
Nguyên, 2010
[28] VISHAY, TCRT5000, TCRT5000L Datasheet, Document number: 80112, Rev.
1.1, 02-Jul-09
[29] VISHAY, Application of Optical Reflex SensorsTCRT1000, TCRT5000, CNY70,
Document number: 80107, Rev. 1.1, 02-02
[30] LM2586 Datasheet
Trang 75