ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
Giáo viên hướng dẫn : Nguyễn Thiện Thành
Sinh viên thực hiện :
Nguyễn Phước Lộc 40901457
TP.HCM 12/2012
PHỤ LỤC
Tóm tắt đề tài 3
CHƢƠNG 1: TỔNG QUAN VÀ ĐẶT VẤN ĐỀ 4
1. Giới thiệu chung về robot: 4
2. Tổng quan về các bài toán của robot di động 7
3. Bài toán di chuyển theo tường 8
3.1 Giới thiệu bài toán 8
3.2 Mô hình toán học 9
3.3 Mục tiêu điều khiển 11
3.4 Giải quyết bài toán 11
CHƢƠNG 2: GIỚI THIỆU VỀ CÁC PHẦN TỬ TRONG MẠCH 12
1. Động cơ DC 12
2. Điều chế độ rộng xung 12
3. Mạch cầu H 13
4. Cảm biến siêu âm 14
4.1 Giới thiệu 14
4.2 Cảm biến siêu âm và nguyên tắc TOF: 16
4.3 Cảm biến siêu âm SRF05 17
5. Vi điều khiển MSP430 21
5.1 Giới thiệu sơ lược 21
5.2 MSP430 G2553 22
CHƢƠNG 3: GIẢI THUẬT VÀ PHẦN CỨNG 30
CHƢƠNG 4: KẾT QUẢ VÀ HƢỚNG PHÁT TRIỂN 33
TÀI LIỆU THAM KHẢO 33
PHỤ LỤC CODE
Tóm tắt đề tài
Trong thời đại công nghiệp ngày nay, Robot ngày càng được sử dụng phổ
biến trong sản xuất cũng như trong cuộc sống của con người. Robot đã có một vị trí
quan trọng khó có thể thay thế được, nó giúp con người để làm việc trong các điều kiện
nguy hiểm, khó khăn. Ngoài ra, Robot còn được dùng vào các lĩnh vực thám
hiểm không gian, quân sự, giải trí…
Lĩnh vực Robot di động đang ngày càng chiếm được sự quan tâm của các
nhà nghiên cứu và xã hội. Từ tình hình thực tế đó, việc xây dựng các chương
trình hoạt động cho các Robot là điều thiết yếu đặc biệt đối với các Robot di
động. Bài toán Robot di động bám tường (wall-following problem) là một trong các
bài toán thường gặp của Robot kiểu phản xạ (reactive paradigm), nó đã được giải
bằng nhiều cách khác nhau.
Trong phạm vi đề tài này em sẽ tìm hiểu thuật toán và thi công Robot di chuyển
theo mép tường (Wall Following Robot) dựa vào cảm biến siêu âm.
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 4
CHƯƠNG 1: TỔNG QUAN VÀ ĐẶT VẤN ĐỀ
1. Giới thiệu chung về robot:
Robot hay người máy là một loại máy có thể thực hiện những công việc một
cách tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình.
Robot là một tác nhân cơ khí, nhân tạo, ảo, thường là một hệ thống cơ khí-điện tử.
Với sự xuất hiện và chuyển động của mình, robot gây cho người ta cảm giác rằng nó giác
quan giống như con người. Từ "robot" (người máy) thường được hiểu với hai nghĩa:
robot cơ khí và phần mềm tự hoạt động. Về lĩnh vực người máy Nhật Bản là nước đi đầu
thế giới về lĩnh vực này.
Khái niệm Robot xuất hiện lần đầu tiên ở NewYork vào ngày 9/10/1922 trong vở
kịch “Rossum’s Universal Robot” của nhà soạn kịch người Tiệp Khắc là Karen Chapek,
còn từ Robot là một cách gọi khác của từ Robota-theo tiếng Tiệp có nghĩa là công việc
lao dịch. Khi đó, Karen Chapek cho rằng Robot là những người máy có khả năng làm
việc nhưng không có khả năng suy nghĩ.
Gần một thế kỷ tiếp theo, khái niệm robot đã liên tục được phát triển, đóng góp
thêm bởi nhiều nhà nghiên cứu, nhiều công ty chuyên về lĩnh vực robot.
Trước những năm 1970, người ta chỉ tập trung vào việc phát triển những robot tay
máy hoạt động trong các nhà máy công nghiệp. Sau đó mới xuất hiện những khái niệm về
robot thông minh, và các nghiên cứu bắt đầu tập trung hơn vào robot di động. Một trong
những chuyên gia đầu ngành về robot di động là Hans P. Moravec (bắt đầu nghiên cứu từ
năm 1964), và hiện nay, chuyên nghiên cứu về robot di động là Sebastien Thruns.
Các robot di động có người điều khiển đã được dùng cho các mục đích quân sự,
các nhiệm vụ nguy hiểm như phá mìn, thăm dò đáy đại dương, hầm mỏ, kiểm tra các
đường ống ngầm, hay thăm dò sao Hoả…
Sản phẩm robot di động được sản xuất đại trà và đưa vào thị trường lần đầu tiên là
robot hút bụi Roomba và Trilobite của hãng Electrolux năm 2003.
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 5
Một số hình ảnh về các Robot và ứng dụng của nó:
Robot tự hành Rover thám hiểm sao Hoả
Robot dò mìn
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 6
Robot thám hiểm đại dương
Robot cắt cỏ
Robot hút bụi Trilobite
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 7
2. Tổng quan về các bài toán của robot di động
Ngày nay, Robot học đã đạt được những thành tựu to lớn trong nền sản xuất công
nghiệp. Những cánh tay robot có khả năng làm việc với tốc độ cao, chính xác và liên
tục làm năng suất lao động tăng nhiều lần. Chúng có thể làm việc trong các môi
trường độc hại như hàn, phun sơn, các nhà máy hạt nhân, hay lắp ráp các linh kiện điện
tử tạo ra điện thoại, máy tính…một công việc đòi hỏi sự tỉ mỉ, chính xác cao. Tuy nhiên
những robot này có một hạn chế chung đó là hạn chế về không gian làm việc. Không
gian làm việc của chúng bị giới hạn bởi số bậc tự do tay máy và vị trí gắn chúng. Ngược
lại, các Robot tự hành lại có khả năng hoạt động một cách linh hoạt trong các môi trường
khác nhau.
Robot tự hành là loại mobile robot có khả năng tự hoạt động, thực thi nhiệm vụ mà
không cần sự can thiệp của con người. Với những cảm biến, chúng có khả năng nhận biết
về môi trường xung quanh. Robot tự hành ngày càng có nhiều ý nghĩa trong các ngành
công nghiệp, thương mại, y tế, các ứng dụng khoa học và phục vụ đời sống của con
người. Với sự phát triển của ngành Robot học, robot tự hành ngày càng có khả năng
hoạt động trong các môi trường khác nhau, tùy mỗi lĩnh vực áp dụng mà chúng có nhiều
loại khác nhau như robot sơn, robot hàn, robot cắt cỏ, robot thám hiểm đại dương, robot
làm việc ngoài vũ trụ. Cùng với sự phát triển của yêu cầu trong thực tế, robot tự hành tiếp
tục đưa ra những thách thức mới cho các nhà nghiên cứu. Vấn đề của robot tự hành là
làm thế nào để robot tự hành có thể hoạt động, nhận biết môi trường và thực thi các
nhiệm vụ đề ra.
Vấn đề đầu tiên là "navigation" (tạm dịch là "di chuyển"), Robot tự hành nên di
chuyển như thế nào và cơ cấu di chuyển nào là sự lựa chọn tốt nhất. Điều hướng là vấn
đề cơ bản trong nghiên cứu và chế tạo Robot tự hành. Trong hiệp hội nghiên cứu về
Robot tự hành có 2 hướng nghiên cứu khác nhau:
- Hướng thứ nhất là nghiên cứu về Robot tự hành có khả năng điều hướng ở tốc độ
cao nhờ thông tin thu được từ cảm biến, đây là loại robot có khả năng hoạt động ở môi
trường trong phòng cũng như môi trường bên ngoài. Loại robot này yêu cầu khả năng
tính toán đồ sộ và được trang bị cảm biến có độ nhạy cao, dải đo lớn để có thể điều khiển
robot di chuyển ở tốc độ cao, trong những môi trường có địa hình phức tạp.
- Hướng thứ hai nhằm giải quyết các vấn đề về các loại robot tự hành chỉ dùng để
hoạt động trong môi trường trong phòng. Loại robot tự hành này có kết cấu đơn giản hơn
loại trên, thực hiện những nhiệm vụ đơn giản.
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 8
Vấn đề di chuyển là vấn đề trọng tâm của robot di động. Để di chuyển được, robot
phải thực hiện một loạt các tác vụ, mỗi tác vụ gắn với một bài toán nhỏ trong bài toán
"navigation". Các bài toán đó gồm:
Mapping: là công việc lập bản đồ môi trường hoạt động của robot. Nếu không được
cung cấp dữ liệu trước thì robot phải có khả năng lập bản đồ.
Positioning: là việc định vị, robot phải có khả năng biết được mình đang ở đâu
trong bản đồ toàn cục hoặc địa phương.
Path planning: là việc hoạch định đường đi sắp tới của robot, sau khi nó biết được
bản đồ và biết mình đang ở vị trí nào.
Motion control: là việc điều khiển cho robot di động, tức là điều khiển các cơ cấu
để robot đi theo con đường thu được từ bài toán "path planning".
Obstacle avoidance: là nhiệm vụ tránh chướng ngại vật khi robot đang di chuyển.
3. Bài toán di chuyển theo tƣờng
Việc di chuyển theo tường (wall following) là một tác vụ thường thấy ở robot di
động, trong các môi trường biết trước hoặc không biết trước. Tác vụ này được dùng với
các nhiệm vụ: tránh chướng ngại vật, đi theo tường biết trước, đi theo tường không biết
trước.
Để thực hiện mục tiêu trên, trong đồ án này em tập trung vào các vấn đề sau:
- Nghiên cứu các bộ điều khiển cho robot bám tường.
- Thiết kế và chế tạo một Mobile Robot (mobile platform).
- Thiết kế và thực hiện các mạch điều khiển cho robot.
- Lập trình cho robot để hiện thực các bộ điều khiển.
- Nhận xét kết quả và kết luận.
3.1 Giới thiệu bài toán
Thiết kế và thực hiện bộ điều khiển dùng để điều khiển Mobile Robot di chuyển dọc
theo tường với vận tốc và khoảng cách từ Robot đến tường cho trước.
Giả thiết của bài toán:
- Đo được khoảng cách d từ tường đến Robot.
- Đo được góc lệch giữa Robot và tường.
- Tường là đường cong trơn bất kỳ có bán kính cong không nhỏ hơn khoảng cách
d.
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 9
3.2 Mô hình toán học
Mô hình robot di động bám tường được cho như hình
Mô hình toán học của Robot
Mô hình bánh xe được lý tưởng hóa: bánh xe hình tròn, lăn không trượt. Bánh xe
quay quanh trục của nó (trục Y) và chuyển động theo phương X (trục X). Ta xây dựng
phương trình động học của robot, bao gồm mối quan hệ giữa thông số điều khiển và
thông số trạng thái của hệ thống trong không gian.
Các trục x, y xác định tọa độ của điểm bất kỳ trong hệ tọa độ xOy. Điểm P coi là
tâm dịch chuyển, dùng để xác định vị trí robot. Hệ tọa độ
mm
x Py
là hệ tọa độ tham chiếu
của robot. Như vậy điểm P được xác định bởi x, y và góc lệch
giữa hai hệ tọa độ toàn
cục và cục bộ.
Các tham số của robot là:
()
r
vt
: vận tốc dài bánh phải.
()
l
vt
: vận tốc dài bánh trái.
()
r
t
: vận tốc góc bánh phải.
()
l
t
: vận tốc góc bánh trái.
r: bán kính mỗi bánh robot
L: khoảng cách 2 bánh
R: khoảng cách từ tâm robot tới tâm vận tốc tức thời.
ICC: tâm vận tốc tức thời.
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 10
R-L/2: bán kính mô tả chuyển động cong của bánh trái.
R+L/2: bán kính mô tả chuyển động cong của bánh phải.
Vận tốc góc của robot:
()
()
/2
r
vt
t
RL
()
()
/2
l
vt
t
RL
( ) ( )
()
rl
v t v t
t
L
Vận tốc dài:
1
( ) ( ). ( ) ( )
2
rl
v t t R v t v t
Phương trình toán học trong không gian trạng thái:
( ) ( )cos ( )
( ) ( )sin ( )
( ) ( )
x t v t t
y t v t t
tt
Tích phân hai vế:
0
0
0
( ) ( )cos ( )
( ) ( )sin ( )
( ) ( )
t
t
t
x t v t t
y t v t t
tt
Phương trình trên có thể viết dưới dạng ma trận:
( ) cos 0 ( )cos
()
()
( ) sin 0 ( )sin
()
()
( ) 0 1 ( )
1 1 1
( )cos cos cos
2 2 2
1 1 1
( )sin sin sin
2 2 2
( )/ 1/ 1/
x
l
y
r
rl
rl
rl
v t v t
vt
vt
v t v t
vt
t
tt
vv
vv
v v L L L
r
l
v
v
Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
GVHD: Nguyễn Thiện Thành Page 11
3.3 Mục tiêu điều khiển
Yêu cầu của bài toán đặt ra là phải điều khiển sao cho Mobile Robot chạy song
song với tường theo một khoảng cách d cho trước. Robot sẽ đo khoảng cách bằng cảm
biến siêu âm, từ các khoảng cách này nó sẽ tính toán bằng logic mờ để điều khiển vận tốc
hai bánh chủ động.
3.4 Giải quyết bài toán
Để giải quyết bài toán này, trong phạm vi của đồ án 1, em thiết kế mô hình robot
gồm 2 bánh xe chủ động phía sau, 1 bánh xe phía trước chuyển động tự do, 2 cảm biến
siêu âm SRF05 để thu khoảng cách và tránh vật cản, mạch điều khiển được sử dụng ở đây
là MSP430 G2553, mạch nguồn acquy 12V.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 12
CHƯƠNG 2: GIỚI THIỆU VỀ CÁC PHẦN TỬ TRONG MẠCH
1. Động cơ DC
DC động cơ là động cơ điện hoạt động với
dòng một chiều. Động cơ DC sử dụng rộng rãi
trong các ứng dụng dân cư cũng như các ngành
công nghiệp. Thông thường động cơ DC chỉ chạy ở
một tốc độ khi kết nối với nguồn điện, nhưng
chúng tôi vẫn có thể kiểm soát tốc độ và hướng của
động cơ với sự hỗ trợ của các mạch điện tử với
phương pháp PWM.
Động cơ DC trong các hình thức của động cơ dân sự thường hoạt động với điện áp
thấp, được sử dụng với tải trọng nhỏ. Trong công nghiệp, động cơ DC được sử dụng
trong các lĩnh vực đòi hỏi phải có mô-men xoắn lớn hơn trên máy tính hoặc yêu cầu thay
đổi trong phạm vi tốc độ.
2. Điều chế độ rộng xung
Điều khiển động cơ PWM phương pháp dựa trên nguyên tắc hoạt động cho động
cơ chạy bằng chuỗi xung nhanh chóng mở và đóng. Điện DC được chuyển đổi thành tín
hiệu sóng vuông (chỉ có hai cấp độ và khoảng 0 điện áp hoạt động volt). Tín hiệu sóng
vuông này cho động cơ.
Nếu tần số chuyển đổi là đủ lớn động cơ sẽ chạy ở tốc độ ổn định phụ thuộc vào
trục mô-men xoắn.
Với phương pháp PWM, điều chỉnh tốc độ động cơ thông qua điều chế độ rộng
xung, tức là thời gian "xung đầy đủ" ("on") của chuỗi xung vuông cho động cơ. Điều
chỉnh này sẽ ảnh hưởng đến công suất trung bình cho động cơ và do đó sẽ thay đổi cần
điều khiển tốc độ động cơ.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 13
3. Mạch cầu H
Cầu H là một mạch điện tử cho phép điện áp được đặt lên tải theo 2 hướng , mạch
này thường được sử dụng để thay đổi điện áp trung bình cấp cho động cơ nhờ vào xung
PWM, ngoài ra cầu H còn được dùng để đảo chiều quay động cơ.
Động cơ sẽ chạy chậm khi
cấp xung PWM có độ rộng
nhỏ.
Nếu độ rộng xung lớn hơn
(chẳng hạn như xung 2 và
3) động cơ DC chạy càng
nhanh.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 14
Như hình ta thấy nếu ta bật S2,S4 thì dòng điện sẽ có chiều từ (+ sang -) sẽ làm motor
quay theo chiều thuận, motor sẽ quay theo chiều nghịch nếu ta bật S1,S3.
Bảng dưới đây tóm tắt hoạt động, với S1-S4 tương ứng với sơ đồ ở trên:
High Side
Left
High
Side
Right
Lower
Left
Lower
Right
Quadrant Description
On
Off
Off
On
Motor goes Clockwise
Off
On
On
Off
Motor goes Counter-
clockwise
On
On
Off
Off
Motor "brakes" and
decelerates
Off
Off
On
On
Motor "brakes" and
decelerates
4. Cảm biến siêu âm
4.1 Giới thiệu
Siêu âm là sóng cơ học có tần số lớn hơn tần số âm nghe thấy (trên 20kHz). Thính
giác của con người rất nhạy cảm với dải tần số từ âm trầm (vài chục Hz) đến các âm
thanh rất cao (gần 20kHz). Một số loài vật như dơi, ong có thể cảm nhận được siêu âm.
Để điều khiển động cơ ta
điều khiển cùng lúc 2 công
tắc (FET) ở 2 phía ngược
nhau.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 15
Cảm biến siêu âm là thiết bị dùng để xác định vị trí của các vật thông qua phát sóng
siêu âm.
Cảm biến siêu âm có thể phát hiện ra hầu hết các đối tượng là kim loại hoặc không
phải kim loại,chất lỏng hoặc chất rắn,vật trong hoặc mờ đục (những vật có hệ số phản xạ
sóng âm thanh đủ lớn).
Một số hình ảnh về cảm biến siêu âm:
Cảm biến siêu âm Endress Hauser-Ultrasonic Level Measurement
Cảm biến siêu âm Omron E4PA-LS600-M1-N
Cảm biến siêu âm tiệm cận loại thu-phát
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 16
4.2 Cảm biến siêu âm và nguyên tắc TOF:
Sóng siêu âm được truyền đi trong không khí với vận tốc khoảng 343m/s. Nếu một
cảm biến phát ra sóng siêu âm và thu về các sóng phản xạ đồng thời, đo được khoảng
thời gian từ lúc phát đi tới lúc thu về, thì máy tính có thể xác định được quãng đường mà
sóng đã di chuyển trong không gian. Quãng đường di chuyển của sóng sẽ bằng 2 lần
khoảng cách từ cảm biến tới chướng ngoại vật, theo hướng phát của sóng siêu âm. Hay
khoảng cách từ cảm biến tới chướng ngại vật sẽ được tính theo nguyên lý TOF:
Trong đó:
d là khoảng cách cần đo,
v là vận tốc sóng siêu âm trong môi trường truyền sóng,
t là thời gian từ lúc sóng được phát đi đến lúc sóng được ghi nhận lại.
Ưu điểm và nhược điểm của cảm biến siêu âm:
Ưu điểm:
Khoảng cách mà cảm biến có thể phát hiện lên tới 15m.
Sóng phản hồi của cảm biến không phụ thuộc vào màu sắc của bề mặt đối
tượng hay tính chất phản xạ ánh sáng của đối tượng.
Ví dụ:bề mặt kính trong suốt ,bề mặt gốm màu nâu,bề mặt plastic
màu trắng hay bề mặt chất liệu nhôm sáng trắng là như nhau.
Tín hiệu đáp ứng của cảm biến tiệm cận analog là tỉ lệ tuyến tính với
khoảng cách.Điều này đặc biệt lí tưởng cho các ứng dụng như theo dỏi các
mức vật chất,mức độ chuyển động cuả đối tượng.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 17
Nhược điểm:
Cảm biến siêu âm yêu cầu đối tượng có một diện tích bề mặt tối thiểu (giá
trị này tùy thuộc vào từng loại cảm biến).
Sóng phản hồi cảm biến nhận được có thể chịu ảnh hưởng của sóng âm
thanh tạp âm.
Cảm biến tiệm cận siêu âm yêu cầu một khoảng thời gian sau mỗi lần sóng
phát đi để sẵn sàng nhận sóng phản hồi. Kết quả cảm biến tiệm cận siêu âm
nhìn chung chậm hơn các cảm biến khác.
Với các đối tượng có mật độ vật chất thấp như bọt hay vảu quần áo rất khó
để phát hiện với khoảng cách lớn.
Cảm biến tiệm cận siêu âm giới hạn bởi khoảng cách phát hiện nhỏ nhất.
4.3 Cảm biến siêu âm SRF05
SRF05 là bản nâng cấp của SRF04, được thiết kế để tăng độ chính xác, phạm vi
hoạt động và giảm giá thành. Như vậy, việc sử dụng SRF05 hoàn toàn tương tự SRF04
ngoài những cải tiến trên. Phạm vi hoạt động được tăng từ 3m lên 4m.
Có hai mode làm việc: mode 1 tương tự SRF04, cần 1 chân trigger và 1 chân echo;
mode 2 chỉ cần 1 chân cho cả trigger và echo. Nhưng vậy tiết kiệm được số chân sử dụng
trên vi điều khiển, vi xử lý… SRF05 có thêm một khoảng thời gian trễ nhỏ trước khi trả
về xung echo để cho những bộ điều khiển có tốc độ xử lý chậm có thời gian để thực hiện
các lệnh.
Mode 1 - Nhƣ SRF04 - Hai chân Trigger và Echo riêng
Ở mode này, SRF05 sử dụng hai chân riêng biệt: chân trigger và chân echo, là mode đơn
giản nhất. Tất cả hoàn toàn giống như SRF04, chỉ cần không nối chân mode ( như hình
vẽ).
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 18
Mode 2 – Một chân cho cả Trigger và Echo
Mode này sử dụng một chân duy nhất cho cả hai tín hiệu trigger và echo, được thiết kế để
tiết kiệm chân sử dụng cho các bộ điều khiển nhúng. Để sử dụng chế độ này, ta kết nối
chân Mode với mass. Khi đó sau khi gửi tín hiệu trigger, thì tín hiệu echo sẽ xuất hiện
trên chân trigger trả về bộ điều khiển. SRF05 sẽ không lập tức phản hồi tín hiệu echo
ngay sau khi nhận được tín hiệu trigger mà sau thời gian 700uS kể từ kết thúc tín hiệu
trigger mới gửi tín hiệu echo. Trong thời gian đó có thể kích hoạt lại chân sử dụng từ
output sang input để nhận tín hiệu phản hồi.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 19
Tính toán khoảng cách:
Theo sơ đồ thời gian của SRF05 như trên, ta chỉ cần cung cấp một xung ngắn tối
thiểu 10uS làm tín hiệu trigger. Sau đó cảm biến sẽ gửi một khối 8 chu kỳ sóng siêu âm
tại 40kHz và xuất xung echo. Sau đó SRF05 đợi sóng siêu âm phản hồi sau khi gặp vật
cản, khi nhận được sóng phản hồi thì xung echo bị ngắt. Như vậy, xung echo có chiều
rộng tỉ lệ thuận với khoảng cách tới vật cản. Thời gian xung echo tồn tại có thể cho ta biết
được khoảng cách giữa cảm biến với vật. Nếu trường hợp không phát hiện được vật cản,
hoặc vật cản ngoài tầm xác định của SRF05 (4m) thì sau 30ms xung echo cũng được đưa
về mức thấp. SRF05 có thể được kích hoạt nhanh nhất mỗi 50ms (20 lần mỗi giây). Nên
chờ mỗi 50ms rồi thực hiện lần đo tiếp theo. Điều này đảm bảo cho các nhiễu siêu âm
phản xạ của lần đo trước không gây sai lệch kết quả thu được.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 20
Công thức tính khoảng cách từ cảm biến tới vật cản:
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 21
5. Vi điều khiển MSP430
5.1 Giới thiệu sơ lƣợc
MSP 430 là họ vi điều khiển cấu trúc RISC 16-bit được sản xuất bởi công ty
Texas Instruments.
MSP là chữ viết tắt của “MIXED SIGNAL MICROCONTROLLER”. Là dòng vi
điều khiển siêu tiết kiệm năng lượng, sử dụng nguồn thấp, khoảng điện áp nguồn cấp từ
1.8V – 3.6V.
MSP 430 kết hợp các đặc tính của một CPU hiện đại và tích hợp sẵn các module
ngoại vi. Đặc biệt Chíp MSP 430 là giải pháp thích hợp cho những ứng dụng yêu cầu trộn
tín hiệu.
Những đặc tính của dòng MSP 430 bao gồm:
Điện áp nguồn: 1.8V – 3.6 V.
Mức tiêu thụ năng lượng cực thấp:
- Chế độ hoạt động: 270 μA tại 1MHz, 2,2 V.
- Chế độ chờ: 0.7 μA.
- Chế độ tắt (RAM vẫn được duy trì): 0.1 μA.
Thời gian đánh thức từ chế độ Standby nhỏ hơn 1μs.
Cấu trúc RISC-16 bit, Thời gian một chu kỳ lệnh là 62.5 ns
Cấu hình các module Clock cơ bản:
- Tần số nội lên tới 16 MHz với 4 hiệu chỉnh tần số +- 1%.
- Thạch anh 32 KHz.
- Tần số làm việc lên tới 16 MHz.
- Bộ cộng hưởng.
- Nguồn tạo xung nhịp bên ngoài.
- Điện trở bên ngoài.
Timer_A 16 bit với 3 thanh ghi hình, 3 thanh ghi so sánh độ rộng 16 bit
Timer_B 16 bit với 3 thanh ghi hình, 3 thanh ghi so sánh độ rộng 16 bit
Giao diện truyền thông nối tiếp:
- Hỗ trợ truyền thông nối tiếp nâng cao UART, tự động dò tìm tốc độ
Baud.
- Bộ mã hóa và giải mã IrDA (Infrared Data Associatio).
- Chuẩn giao tiếp động bộ SPI.
- Chuẩn giao tiếp I2C.
Bộ chuyển đổi ADC 10 bit, 200 ksps với điện áp tham chiếu nội, Lấy mẫu
và chốt. Tự động quét kênh, điều khiển chuyển đổi dữ liệu.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 22
Hai bộ khuếch đại thuật toán (hoạt động) có thể định cấu hình (Đối với
MSP 430x22x4).
Bảo vệ sụt áp.
Bộ nạp chương trình.
Module mô phỏng trên chip.
Các thành viên của dòng MSP 430 bao gồm:
- MSP430F2232: 8KB + 256B Flash Memory 512B RAM.
- MSP430F2252: 16KB + 256B Flash Memory 512B RAM.
- MSP430F2272: 32KB + 256B Flash Memory 1KB RAM.
- MSP430F2234: 8KB + 256B Flash Memory 512B RAM.
- MSP430F2254: 16KB + 256B Flash Memory 512B RAM.
- MSP430F2274: 32KB + 256B Flash Memory 1KB RAM.
MSP430 được sử dụng và biết đến đặc biệt trong những ứng dụng về thiết bị đo có
sử dụng hoặc không sử dụng LCD với chế độ nguồn nuôi rất thấp. Với chế độ nguồn nuôi
từ khoảng 1,8 đến 3,6v và 5 chế độ bảo vệ nguồn.
Với sự tiêu thụ dòng rất thấp trong chế độ tích cực thì dòng tiêu thụ là 200uA,
1Mhz, 2.2v; với chế độ standby thì dòng tiêu thụ là 0.7uA. Và chế độ tắt chỉ duy trì bộ
nhớ Ram thì dòng tiêu thụ rất nhỏ 0.1uA.
MSP430 có ưu thế về chế độ nguồn nuôi. Thời gian chuyển chế độ từ chế độ
standby sang chế độ tích cực rất nhỏ (< 6us). Và có tích hợp 96 kiểu hình cho hiển thị
LCD. 16 bit thanh ghi, 16 bit RISC CPU.
Có một đặc điểm của họ nhà MSP là khi MCU không có tín hiệu dao động ngoại,
thì MSP sẽ tự động chuyển sang hoạt động ở chế độ dao động nội.
5.2 MSP430 G2553
Vi điều khiển được sử dụng để thực hiện điều khiển robot là MSP430 G2553.
Sơ đồ chân của chip MSP430 G2553:
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 23
Sơ đồ khối của MSP430 G2553:
Cấu trúc xuất nhập:
Chíp MSP 430G2553 có 2 port xuất nhập là port 1 và port 2. Port1 có 8 chân và
port 2 có 6 chân. Mỗi chân đều có những chức năng đặc biệt có thể định hướng làm đầu
vào hoặc đầu ra, có thể đọc truy suất hoặc điều khiển.
Ports P1 và P2 có khả năng ngắt. Mỗi ngắt được cấu hình riêng theo cạnh lên hoặc
cạnh xuống của sườn xung hoặc theo tín hiệu vào tương ứng với các vector ngắt.
Đặc tính xuất nhập bao gồm:
+ Chức năng đặc biệt của các chân không phụ thuộc vào việc lập trình.
+ Có thể lựa chọn làm OUTPUT hoặc INPUT.
+ P1 và P2 được cấu hình riêng cho tín hiệu ngắt.
+ Không phụ thuộc thanh ghi output hay input.
Hoạt động xuất nhập:
Hoạt động xuất nhập dữ liệu được lập trình bằng phần mềm.
Thanh ghi Input PxIN:
Khi được lựa chọn làm đầu vào. Giá trị mỗi bít của thanh ghi tương ứng với tín
hiệu.
Bit = 0 đầu vào ở mức thấp.
Bit = 1 tín hiệu ở mức cao.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 24
Thanh ghi đầu ra PxOUT:
Khi không sử dụng điện trở kéo, và được định hướng làm đầu gia. Giá trị các bít
của thanh ghi tương ứng:
Bit =0 đầu ra ở mức thấp.
Bit = 1 đầu ra ở mức cao.
Thanh ghi định hƣớng PxDIR:
Các chân của mỗi port được định hướng làm đầu ra hoặc đầu vào phục thuộc vào
giá trị các bít của thanh ghi PxDIR:
Nếu bit = 0 chân được định hướng làm đầu vào.
Nếu bit = 1 chân được định hướng làm đầu ra.
Thanh ghi lựa chọn chức năng PxSEL và PxSEL2:
Các chân của mỗi port đều có nhiều chức năng tương ứng với các module ngoại vi
khác nhau. Mỗi bít của thanh ghi PxSEL và PxSEL2 được sử dụng để lựa chọn chức
năng là các port xuất nhập hoặc chức năng đặc biệt.
PxSEL2
PXSEL
Chức năng của chân
0
0
Chức năng xuất nhập
0
1
Module đầu tiên được lựa chọn
1
0
Đăng ký trước
1
1
Module ngoại vi thứ 2 được lựa chọn
Chú ý: Khi PxSEL =1 các ngắt của P1, P2 bị cấm. Khi bất kỳ bit nào của thanh ghi
P1SELx hoặc P2SELx được set, các ngắt tương ứng với các chân này sẽ bị cấm.
Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
GVHD: Nguyễn Thiện Thành Page 25
Các ngắt P1 và P2:
Mỗi chân của port P1 và P2 đều có khả năng ngắt. Các ngắt được cấu hình bởi các
thanh ghi PxIFG, PxIE và PxIES. Tất cả các chân của port P1 một nguyên nhân tương
ứng với một vector ngắt. Tất cả các chân của port 2 có nhiều hơn một nguyên nhân khác
nhau tương ứng với 1 vector. Có thể sử dụng thanh ghi PxIFG để xác định nguyên nhân
các ngắt port P1 và P2.
a) Thanh ghi cờ ngắt P1IFG và P2IFG:
- Mỗi bit của thanh ghi PxIFGx là một cờ ngắt tương ứng với chân xuất/ nhập và
khi có cạnh xung tín hiệu tại các chân. Tất cả các cờ ngắt của thanh ghi PxIFGx đòi hỏi
một ngắt tương ứng với các bit PxIE và GIE được set. Mỗi cờ ngắt đòi hỏi phải reset
bằng phần mềm. Phần mềm cũng có thể set cờ ngắt:
+ Bit =0 Không có ngắt nào đang chờ.
+ Bit =1 Có 1 ngắt đang chờ được phục vụ.
Chú ý: Khi thay đổi thanh ghi PxOUT và PxDIP có nghĩa là bạn đang set cờ ngắt
tương ứng.
b) Thanh ghi lựa chọn ngắt theo sườn xung P1IES, P2IES:
Mỗi bit của thanh ghi PxIES lựa chọn ngắt theo cạnh lên hay cạnh xuống
tương ứng với mỗi chân xuất/ nhập:
+ Bit = 0 Cờ ngắt được set khi có cạnh lên của xung.
+ Bit = 1 Cò ngắt được set khi có cạnh xuống của xung.
c) Thanh ghi cho phép ngắt P1IE và P2IE:
Mỗi bít PxIE cho phép hay cấm ngắt và liên quan đến cờ ngắt tương ứng:
+ Bit = 0: Cấm ngắt.
+ Bit = 1: Cho phép ngắt.