Tải bản đầy đủ (.doc) (34 trang)

Điều khiển robot nhận biết bằng hồng ngoại sử dụng FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (741.35 KB, 34 trang )


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA KỸ THUẬT ĐIỆN TỬ 1
- - - * $ * - - -
BÁO CÁO ĐỀ TÀI
NGHIÊN CỨU KHOA HỌC SINH VIÊN
Đề tài:
Điều khiển robot nhận biết bằng hồng ngoại sử dụng
FPGA
Mã số: 18-SV-DT-2009
Giáo viên hướng dẫn: Đỗ Mạnh Hà
Sinh viên thực hiện: Nguyễn Tuấn Đông
Lê Thanh Lâm
Nguyễn Văn Thanh
Lớp : D07KTDT1
_ Hµ Néi, 12 /2009_
1
Mục lục
Mục lục 2
Lời nói đầu 3
I. Mục đích đề tài 5
1.1 Tìm hiểu về công cụ mô tả phần cứng VHDL 5
1.2 Tìm hiểu về Công cụ lập trình FPGA 6
1.3.Robot tự hành 7
II.Thiết kế phần cứng 10
2.1 Hệ thống cảm biến 10
2.1.1 Định nghĩa 10
2.1.2 Các loại cảm biến 10
2.1.3 Led hồng ngoại (Light Emiting Diode ) 11
2.1.5 Mạch in bộ cảm biến : 15
2.2. Mạch công suất điều khiển động cơ 15


2.2.1. Hoạt động của DC motor 16
2.2.2 Điều khiển Dc motor bằng rơle(RELAY) 17
2.2.3.Điều khiển chiều quay cho DC motor dùng rơle 18
2.2.4. Điều xung PWM, điều chỉnh vận tốc cho động cơ 20
III.Lập trình điều khiển 22
3.1.Giới thiệu về kit thử nghiệm CPLD COOLRUNNER – II 256 TQ144 22
3.2.Lập trình trên KIT thử nghiệm 23
3.3.Sơ đồ khối mạch điều khiển 24
3.4 cách bố trí cảm biển trên robot 25
3.5 Bảng trạng thái điều khiển cho động cơ 25
3.6 Trạng thái hoạt động FSM 26
3.7 Code của modul điều khiển robot 26
IV Kết thúc đề tài 29
PHỤ LỤC – ĐỀ CƯƠNG ĐỀ TÀI 30
TÀI LIỆU THAM KHẢO 34
2
Lời nói đầu
Ngày nay công nghệ Logic số đã phát triển rất mạnh mẽ và là công nghệ chủ
đạo trong việc phát triển các sản phẩm điện-điện tử công nghiệp và dân dụng,điều
khiển tự động,viễn thông và công nghệ thông tin.Hiện nay có rất nhiều loại công nghệ
logic số khác nhau được sử dụng để thực hiện các thiết kế logic số.Một trong số đó là
công nghệ logic khả trình (Programmable Logic).Một cấu kiện logic có thể lập trình
được(PLD) là một IC số mà người dùng có thể cấu hình để chúng có khả năng thực
hiện các chức năng logic như mong muốn.Đây là 1 chip LSI có chứa 1 cấu trúc “bình
thường” và cho phép nhà thiết kế tạo tùy biến cho nó để dùng cho bất kì một ứng
dụng đặc biệt nào,tức là nó có thể được người dùng lập trình để thực hiện một chức
năng cần thiết cho ứng dụng của họ. Các PLD có các ưu điểm sau:
Thời gian thiết kế ứng dụng ngắn.
Chi phí phát triển thấp .
Giảm thiếu được yêu cầu khoảng trống trên bảng mạch.

Giảm thiểu được yêu cầu về điện.
Bảo đảm tính bảo mật của thiết kế.
Tốc độ chuyển mạch nhanh hơn.
Mật độ tích hợp cao .
Chi phí sản xuất số lượng lớn thấp.
PLD cũng cho phép nhà thiết kế có nhiều phương tiện linh động hơn để thí
nghiệm với các bản thiết kế bởi vì chúng có thể lập trình lại trong vài giây.
Với nhiều ưu điểm như vậy nên hiện nay có một số lượng lớn các PLD được các
nhà sản xuất IC tạo ra với nhiều tính năng đa dạng và nhiều tùy chọn có sẵn để nhà
thiết kế mạch có thể sử dụng một cách phổ biến.
Cùng với việc phát triển không ngừng của khoa học kĩ thuật hiện nay thì nền
công ngệ robot đang phát triển một cách vô cùng mạnh mẽ.Robot được ứng dụng rất
nhiều trong các lĩnh vực như công nghiệp,hàng không,vũ trụ,dịch vụ…Trào lưu thiết
kế robot đang diễn ra một cách sôi nổi nhất là trong bộ phận sinh viên.Nhiều cuộc thi
sáng tạo robocon đã thu hút không ít các bạn sinh viên và các trường đại học lớn,tuy
nhiên với điều kiện nghiên cứu và kiến thức có hạn nên các mô hình robot không quá
phức tạp.Với yêu cầu như vậy thì chọn 1 vi điều khiển như
VDK8051(P89V51RD2),VDK PIC(16F877A),VDK AVR(ETEMEGA 16L) là khá phổ
biến….Tuy nhiên việc thiết kế phần cứng trong việc điều khiển robot là khá phức
tạp.Vì vậy song song với việc tìm hiểu một số cấu trúc của PLD như : Mảng logic khả
trình(PLA).Logic mảng khả trình(PAL),cấu kiện logic khả trình đơn giản (SPLD), và
mảng cổng có thể lập trình theo trường (FPGA). Nhóm chúng em đã chọn thiết kế
robot tự hành,nhận biết bằng hồng ngoại và thử nghiệm trên KIT CPLD nhằm tăng
3
khả năng thiết kế logic và tận dụng được những ưu điểm của các PLD như đã nói ở
trên.
Chúng em xin chân thành cảm ơn sự tận tình hướng dẫn của Thầy Đỗ Mạnh Hà,
cùng tất cả các thầy cô trong bộ môn Kĩ thuật điện tử trong suốt thời gian thực hiện
đề tài này. Với sự tận tình giúp đỡ đó kết hợp với sự nỗ lực cố gắng của cả nhóm,
chúng em đã hoàn thành để tài này. Tuy nhiên, do hạn chế về mặt thời gian cũng như

kiến thức chưa sâu, nên đề tài có thể sẽ không tránh khỏi những thiếu xót. Chúng em
xin chân thành tiếp thu những ý kiến chỉ bảo đóng góp của thầy cô cùng toàn thể các
bạn để đề tài sẽ hoàn thiện tốt hơn và có thể ứng dụng tốt trong thực tế.
Xin chân thành cảm ơn !
Nhóm sinh viên thực hiện đề tài

4
I. Mục đích đề tài
1.1 Tìm hiểu về công cụ mô tả phần cứng VHDL
Giới thiệu về VHDL
VHDL là ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao, là
một loại ngôn ngữ mô tả phần cứng được phát triển dùng cho chương trình
VHSIC( Very High Speed Itergrated Circuit) của bộ quốc phòng Mỹ.
Mục tiêu của việc phát triển VHDL là có được một ngôn ngữ mô phỏng phần
cứng tiêu chuẩn và thống nhất cho phép thử nghiệm các hệ thống số nhanh hơn cũng
như cho phép dễ dàng đưa các hệ thống đó vào ứng dụng trong thực tế.
Ngôn ngữ VHDL được ba công ty Intermetics, IBM và Texas Instruments
bắtđầu nghiên cứu phát triển vào tháng 7 năm 1983. Phiên bản đầu tiên được công bố
vào tháng 8-1985. Sau đó VHDL được đề xuất để tổ chức IEEE xem xét thành một
tiêu chuẩn chung. Năm 1987 đã đưa ra tiêu chuẩn về VHDL( tiêu chuẩn IEEE-1076
1987).
VHDL được phát triển để giải quyết các khó khăn trong việc phát triển, thay
đổi và lập tài liệu cho các hệ thống số. VHDL là một ngôn ngữ độc lập không gắn với
bất kỳ một phương pháp thiết kế, một bộ mô tả hay công nghệ phần cứng nào. Người
thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi chỉ sử dụng
một ngôn ngữ duy nhất. Và khi đem so sánh với các ngôn ngữ mô phỏng phần cứng
khác ta thấy VHDL có một số ưu điểm hơn hẳn là:
- Thứ nhất là tính công cộng:
VHDL được phát triển dưới sự bảo trợ của chính phủ Mỹ và hiện nay là một
tiêu chuẩn của IEEE. VHDL được sự hỗ trợ của nhiều nhà sản xuất thiết bị cũng như

nhiều nhà cung cấp công cụ thiết kế mô phỏng hệ thống.
- Thứ hai là khả năng được hỗ trợ bởi nhiều công nghệ và nhiều phương
pháp thiết kế:
VHDL cho phép thiết kế bằng nhiều phương pháp ví dụ phương pháp thiết kế
từ trên xuống, hay từ dưới lên dựa vào các thư viện sẵn có. VHDL cũng hỗ trợ cho
nhiều loại công cụ xây dựng mạch như sử dụng công nghệ đồng bộ hay không đồng
bộ, sử dụng ma trận lập trình được hay sử dụng mảng ngẫu nhiên.
- Thứ ba là tính độc lập với công nghệ:
VHDL hoàn toàn độc lập với công nghệ chế tạo phần cứng. Một mô tả hệ
thống dùng VHDL thiết kế ở mức cổng có thể được chuyển thành các bản tổng hợp
mạch khác nhau tuỳ thuộc công nghệ chế tạo phần cứng mới ra đời nó có thể được áp
dụng ngay cho các hệ thống đã thiết kế.
5
- Thứ tư là khả năng mô tả mở rộng:
VHDL cho phép mô tả hoạt động của phần cứng từ mức hệ thống số cho
đến mức cổng. VHDL có khả năng mô tả hoạt động của hệ thống trên nhiều
mức nhưng chỉ sử dụng một cú pháp chặt chẽ thống nhất cho mọi mức. Như thế
ta có thể mô phỏng một bản thiết kế bao gồm cả các hệ con được mô tả chi tiết.
- Thứ năm là khả năng trao đổi kết quả:
Vì VHDL là một tiêu chuẩn được chấp nhận, nên một mô hình VHDL
có thể chạy trên mọi bộ mô tả đáp ứng được tiêu chuẩn VHDL. Các kết quả mô
tả hệ thống có thể được trao đổi giữa các nhà thiết kế sử dụng công cụ thiết kếkhác
nhau nhưng cùng tuân theo tiêu chuẩn VHDL. Cũng như một nhóm thiết kế có thể trao
đổi mô tả mức cao của các hệ thống con trong một hệ thống lớn (trong đó các hệ con
đó được thiết kế độc lập).
- Thứ sáu là khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các
thiết kế:
VHDL được phát triển như một ngôn ngữ lập trình bậc cao, vì vậy nó có thể
được sử dụng để thiết kế một hệ thống lớn với sự tham gia của một nhóm nhiều người.
Bên trong ngôn ngữ VHDL có nhiều tính năng hỗ trợ việc quản lý, thử nghiệm và chia

sẻ thiết kế. Và nó cũng cho phép dùng lại các phần đã có sẵn.
1.2 Tìm hiểu về Công cụ lập trình FPGA
Khai thác, nghiên cứu cơ bản công nghệ mới là bước không thể thiếu trong việc
cải tiến, nâng cao cũng như chế tạo mới các trang thiết bị quân sự và dân sự nhằm đáp
ứng việc hiện đại hóa công nghiệp hóa đất nước. Cùng với sự phát triển vượt bậc của
ngành công nghệ thông tin các công nghệ mới về các mạch tích hợp vi điện tử, các
mạch tổ hợp logic lập trình được ra đời đã làm cho các sản phẩm quân sự cũng như
dân sự ngày càng hoàn thiện và ưu việt hơn. Để tiến một bước xa hơn trong việc cải
tiến các thiết bị điện tử hiện đại đáp ứng nhu cầu ngày càng cao của con người với tốc
độ xử lý cực kỳ cao, đòi hỏi phải có công nghệ tiên tiến phù hợp với tình hình chung
của thế giới.
Trên cơ sở phát triển các chip PLA hiện nay công nghệ nano đã được đưa vào
chế tạo các mạch tích hợp lập trình được FPGA & CPLD, nó đã làm cho mạch tích
hợp logic lên tới hàng chục triệu cổng, tốc độ đồng hồ lên đến 500MHz. Ứng dụng
công nghệ mới vào trong thiết kế chế tạo các thiết bị điện tử lập trình PLIC là một
bước cần thiết cho tương lai với một nước phát triển như Việt Nam. Để đáp ứng được
tính bảo mật và nhu cầu chuyên dụng hóa, tối ưu hóa(thời gian, không gian, giá thành),
tính chủ động trong công việc….ngày càng đòi hỏi khắt khe. Việc đưa ra công nghệ
mới trong lĩnh vực chế tạo mạch điện tử để đáp ứng những nhu cầu trên là hoàn toàn
cấp thiết mang tính thực tế cao. Công nghệ FPGA ( Field Programmable Gate Array)
6
và CPLD(Complex Programmable Logic Device) đã được các hãng lớn tập trung
nghiên cứu và chế tạo điển hình là Xilinx và Altera. Để làm chủ công nghệ mới và tổ
chức thiết kế sản xuất công nghệ FPGA của xilinx cho phép chúng ta tự thiết kế những
vi mạch riêng, những bộ xử lí số riêng dành cho ứng dụng của chúng ta.Đặc biệt trong
lĩnh vực xử lý tín hiệu số các mạch tích hợp dùng để nhận dạng âm thanh, hình ảnh,
cảm biến…. với tính mềm dẻo cao và giá thành thấp.
Măc dù công nghệ FPGA đã xuất hiện từ năm 1985, xong đối với nước ta thì nó
vẫn còn rất mới do vậy tìm hiểu, làm chủ công nghệ FPGA là việc làm hoàn toàn cần
thiết.

1.3.Robot tự hành
Robot tự hành hay robot di động (mobile robots, thường được gọi tắt là
mobots) được định nghĩa là một loại xe robot có khả năng tự dịch chuyển, tự vận động
(có thể lập trìnhlại được) dưới sự điền khiển tự động để thực hiện thành công công
việc được giao.
Theo lý thuyết, môi trường hoạt động của robot tự hành có thể là đất, nước,
không khí, không gian vũ trụ hay sự tổ hợp giữa chúng. Địa hình bề mặt mà robot di
chuyển trên đócó thể bằng phẳng hoặc thay đổi, lồi lõm.
Theo bộ phận thực hiện chuyển động, ta có thể chia robot tự hành làm 2 lớp:
chuyển động bằng chân (legged) và bằng bánh (wheeled). Trong lớp đầu tiên, chuyển
động có được nhờ các chân cơ khí bắt chước chuyển động của con người và động vật
(hình 1.1g,h). Robot loại này có thể di chuyển rất tốt trên các định hình lồi lõm, phức
tạp. Tuy nhiên,cách phối hợp các chân cũng như vấn đề giữ vững tư thế là công việc
cực kỳ khó khăn.
Lớp còn lại (di chuyển bằng bánh) tỏ ra thực tế hơn, chúng có thể làm việc tốt
trên hầu hết các địa hình do con người tạo ra. Điều khiển robot di chuyển bằng bánh
cũng đơn giản hơn nhiều, gần như luôn đảm bảo tính ổn định cho robot. Lớp này có
thể chia làm 3 loại robot: Loại chuyển động bằng bánh xe (phổ biến) (hình 1.1a, b, c, f,
i), loại chuyển động bằng vòng xích (khi cần mô men phát động lớn hay khi cần di
chuyển trên vùng đầm lầy, cát và băng tuyết) (hình 1.1d, e), và loại hỗn hợp bánh xe
và xích (ít gặp).
Tiềm năng ứng dụng của robot tự hành hết sức rộng lớn. Có thể kể đến robot
vận chuyển vật liệu, hàng hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay và thư
viện; robot phục vụ quét dọn đường phố, khoang chân không; robot kiểm tra trong môi
trường nguy hiểm; robot canh gác, do thám; robot khám phá không gian, di chuyển
trên hành tinh; robot hàn, sơn trong nhà máy; robot xe lăn phục vụ người khuyết tật;
robot phục vụ sinh hoạt gia đình v.v
Mặc dù nhu cầu ứng dụng cao, nhưng những hạn chế chưa giải quyết được của
robot tự hành, như chi phí chế tạo cao, đã không cho phép chúng được sử dụng rộng
7

rãi. Một nhược điểm khác của robot tự hành phải kể đến là còn thiếu tính linh hoạt và
thích ứng khi làm việc ở những vị trí khác nhau. Bài toán tìm đường (navigation
problem) của robot tự hành cũng không phải là loại bài toán đơn giản như nhiều người
nghĩ lúc ban đầu.
Trong đề tài này, bài toán tìm đường cũng như mô hình robot sẽ được giải quyết
ở mức độ không quá phức tạp bằng ngôn ngữ mô tả phần cứng VHDL, trên công cụ
lập trình FPGA
a) b) c)
8
d) e)
f) h)
9
g) i)

Hình 1.1. Một số hình ảnh về robot tự hành
a) Robot Nomad 150. b) Sự kết hợp giữa robot tự hành Nomadic XR4000 và
cánh tay robot PUMA 560. c) Robot “con rùa”. d) Robot Houdini di chuyển bằng bánh
xích. e) Robot bán tự động nghiên cứu ở vùng cực bắc. f) Robot SRR và FIDO của
NASAg) Robot tự hành bằng chân Spiderbot di chuyển trên sao Hỏa. h)Robot sáu
chân Genghis. i) Robot Meet Timbot dùng test các phần mềm hệ thống nhúng trong
phòng thí nghiệm.
II.Thiết kế phần cứng
2.1 Hệ thống cảm biến
2.1.1 Định nghĩa
- Trong một con robot cơ bản. Một trong những phần quan trọng nhất trong robot
chính là hệ thống cảm biến. Vậy cảm biến là gì?
+ Cảm biến được định nghĩa là các giác quan của robot.Robot cần xác định trạng
thái của môi trường bên ngoài( như là các vạch trắng, màu sắc của các chướng ngại
vật….) để gửi trạng thái môi trường đến bộ xử lý rồi đưa ra các phản ứng điều khiển
robot để đối phó với các sự kiện bên ngoài ấy.

2.1.2 Các loại cảm biến.
-Trong kỹ thuật robot người ta sử dụng nhiều loại cảm biến như là:
+ Led hồng ngoại (Bộ phát thu hồng ngoại)
+ Quang điện trở (PHOTORESISTANCE) : cds hoặc cdse
+ Tế bào quang điện
10
+ Cảm biến công nghiệp
+ Camera số trong công nghệ xử lý ảnh
Trong đề tài này chúng tôi xin được giới thiệu một số thiết bị cảm biến thông
dụng.
2.1.3 Led hồng ngoại (Light Emiting Diode )

Hình 2.1 Ảnh của một bộ thu phát hồng ngoại
Led hồng ngoại là một loại cảm biến được sử dụng rất nhiều và giá thành rẻ.
1.Cơ chế hoạt động.
11
Như trên chúng ta thấy hình bên trái : Light Source là một bộ phát hồng ngoại
hoặc là một nguồn sang nào đó có tia hồng ngoại.Khi chiếu xuống 1 bề mặt màu đen
hoặc bề mặt có màu sẫm, tối thì các ánh sáng sẽ được bề mặt hấp thụ & lượng ánh
sáng bị bức xạ trở lại rất ít, nên bộ thu nhận được ánh sáng phản hồi ít.
Ta xét hình bên trái : Khi bề mặt màu trắng hoặc màu sáng thì ánh sáng được
phát bởi bộ phát hồng ngoại thì sẽ không bị hấp thụ bởi bề mặt mà bị hất dội ngược lại
và khi đó đầu thu sẽ thu một lượng tia hồng ngoại lớn.
=> Do đó Led hồng ngoại có thể phân biệt được bộ cảm biến đang chiếu vào một
vật màu sáng hay màu tối để truyền tới bộ xử lý.
2.Cấu tạo bộ phát hồng ngoại :


Hình 2.2 Cấu tạo bộ phát hồng ngoại
12

Hình trên là cấu tạo của đèn led phát hồng ngoại.Chân anode được nối với cực
dương của nguồn điện.Chân cathode được nối đất(cực âm) Thông thường thì chân
anode dài hơn chân cathode.
3. Cấu tạo bộ thu hồng ngoại :

Hình 2.3 Cấu tạo bộ thu hồng ngoại
Cấu tạo Quang trở gồm một lớp chất bán dẫn (cadimi sunfua CdS chẳng
hạn) phủ trên một tấm nhựa cách điện . Có hai điện cực và gắn vào lớp chất bán dẫn
đó
Nối một nguồn khoảng vài vôn với quang trở thông qua một miliampe kế. Ta thấy khi
quang trở được đặt trong tối thì trong mạch không có dòng điện. Khi chiếu quang trở
bằng ánh sáng có bước sóng ngắn(ánh sáng hồng ngoại…)hơn giới hạn quang dẫn của
quang trở thì sẽ xuất hiện dòng điện trong mạch.
Điện trở của quang trở giảm đi rất mạnh khi bị chiếu sáng bởi ánh sáng nói trên.
Đo điện trở của quang trở CdS, người ta thấy: khi không bị chiếu sáng, điện trường
của nó vào khoảng 3.10
6
om; khi bị chiếu sáng, điện trở của nó chỉ còn khoảng 20
om .
2.1.4 Sơ đồ nguyên lý của bộ cảm biến :
13


Hình 2.4 Sơ đồ nguyên lí của bộ cảm biến

+ Led ở đây là bộ phát hồng ngoại còn quang trở là bộ thu.
Nguyên lí hoạt động:
Trong sơ đồ nguyên lý trên ,cặp led thu phát được đặt sát nhau ,một chân
của quang trở được đưa và LM324 .LM324 là IC khuếch đại so sánh ,mục đích
khuyếch đại tín hiệu từ sensor. Khi hoạt động ,led phát chiếu tia hồng ngoại

xuống sân thi đấu ,khi chùm tia hồng ngoại chiếu xuống nền đen , quang trở không
nhận được chùm phản xạ nên không dẫn ,điện trở bằng vô cùng ,tín hiệu ra LM324 là
mức 1 được đưa vào FPGA.Tương tự ,khi robot gặp nền trắng quang trở nhận được
chùm phản xạ,điện trở giảm nên dẫn,tín hiệu ra LM323 là mức 0 được đưa vào FPGA.

14
2.1.5 Mạch in bộ cảm biến :

Hình 2.5 Mạch in bộ cảm biến
Cách bố trí các led trên mạch in:
2.2. Mạch công suất điều khiển động cơ.
Động cơ mà nhóm sử dụng là động cơ một chiểu (DC motor).
Động cơ một chiều có cấu tạo từ hai bộ phận : Bộ phận đứng yên có cấu tạo từ
nam châm vĩnh cửu được gọi là Stato và một bộ phận quay được cấu tạo từ một nam
châm nhân tạo có cấu tạo từ một cuộn dây đồng có lõi là một thanh kim loại được gọi
là Rotor.

15
Hình 2.7 Hình ảnh về động cơ DC
2.2.1. Hoạt động của DC motor
Hình a

Khi cho dòng điện một chiều đi qua motor sẽ khiến motor quay theo chiều như
hình a.
Hình b

16
Khi ta đảo 2 cực của dòng điện động cơ đảo chiều như hình b
Động cơ DC cho dòng điện một chiều chạy qua và làm quay Roto dẫn đến motor
quay, nếu ta đổi chiều dòng điện thì motor sẽ quay theo chiều ngược lại.Do đó có thể

điều chỉnh được hướng quay của motor.Đặc tính kỹ thuật của hầu hết động cơ motor
là tốc độ quay (Vòng/phút) cao và moment ngẫu lực thấp. Nhưng mà hầu hết Robot
cần tốc độ quay chậm và moment ngẫu lực cao. Do đó một hộp số có thể được lắp vào
DC motor nhằm giảm tốc độ quay và làm tăng moment ngẫu lực.Trên hộp số thường
ghi rõ chỉ số truyền động chỉ trước và sau hộp số.
Ví Dụ: Tốc độ quay của một DC motor là 1000 Vòng/ Phút được gắn vào một
hộp số 1000/ 1. Có nghĩa là tốc độ quay của đầu ra hộp số được 1/1000 của tốc độ DC
motor khi chưa gắn hộp số -> Vận tốc hộp số bằng vận tốc DC motor chia cho 1000.
2.2.2 Điều khiển Dc motor bằng rơle(RELAY)
Rơle là một IC được cấu tạo bởi một mạch điện có một đoạn mạch nối với một
cái bản lề được mở hoặc đóng nhờ một cuộn dây nam châm.
1. Sơ đồ nguyên lí của Rơle:


Hình 2.8 Sơ đồ nguyên lí của rơle
2. Nguyên lí hoạt động
Nguyên lý hoạt động của Rơle là cuộn dây khi có dòng điện sẽ hút các thanh kim
loại về phía cuộn dây, lập tức hai thanh kim loại này sẽ rời bỏ hai đầu dây cũ và tiếp
xúc với hai đầu dây khác:
Ta xét hình thứ nhất:

17

+ Lúc này khi chưa có dòng điện đi qua cuộn dây nam châm (2 cực đều là x) các
thanh kim loại được nối đầu 1 với đầu a,đầu 2 với đầu c.Do vậy dòng điện chỉ đầu 1
đến đầu a và từ đầu 2 đến đầu c.
Ta xét hình thứ 2:


+ Lúc này đã có dòng điện đi qua cuộn dây nam châm,cuộn dây sẽ hút các thanh

kim loại về phía cuộn dây .Do đó lúc này các thanh kim loại sẽ nối đầu 1 đến đầu
b,đầu 2 đến đầu d Dòng điện sẽ chỉ đi từ đầu 1 vào đầu b ,đầu 2 đến đầu d.
Vậy nguyên lí của hoạt động của rơle là biến đổi dòng điện thành từ trường
thông qua cuộn dây,từ trường tạo thành lực cơ học thông qua lực hút đẻ thực hiện 1
động tác về cơ khí như đóng mở công tắc ,đóng mở hành trình của một thiết bị tự
động.
2.2.3.Điều khiển chiều quay cho DC motor dùng rơle.
1.Sơ đồ mạch nguyên lí:
18

Hình 2.9 Sơ đồ nguyên lí điều khiển chiều quay cho motơ DC
Loại rơle làm việc trong mạch robot tự hành này là loại rơle 8 chân(2 tiếp
điểm).Mạch rơle diều khiển động cơ gồm 2 tín hiệu điều khiển.Một tín hiệu lấy ra
xung từ FPGA có tác dụng đóng mở con FET(IR540).Ngoài việc giống như 1 công tắc
đóng mở mức tín hiệu vào động cơ, FET còn có tác dụng bảo vệ động cơ mỗi khi động
cơ đảo chiều,mức chịu áp cao của FET là rất lớn.Một tín hiệu dùng để đảo chiều động
cơ.Lưu ý trước khi đảo chiều động cơ bạn phải tắt FET trước ,nếu không sẽ gây chết
FET.
2. Sơ đồ mạch in :
19


Hình 2.10 Sơ đồ mạch in điều khiển chiều quay cho motơ DC
2.2.4. Điều xung PWM, điều chỉnh vận tốc cho động cơ.
Điều xung PWM( Pulse With Moduratinon) là một khâu quan trọng trong thiết
kế robot. Qua đó bạn có thể điều khiển tốc độ linh hoạt cho DC motor từ đó có thể
dùng các hàm vận tốc để cho robot có thể bám theo vạch trắng.
Điều xung nói chung là cách bật tắt nguồn điện của motor liên tục là motor lúc
nhận được điện lúc mất điện.Khi tần số đủ cao motor sẽ quay ổn định ở một tốc độ
nhờ moment quay của bánh xe.

Xung vuông là đồ thị biểu hiện trạng thái của nguồn điện. Nguồn được mở thì
motor hoạt động lúc này xung vuông đang ở trạng thái cao, nguồn tắt thì motor dừng
lại lúc này motor đang ở trạng thái thấp. Tốc độ motor tỉ lệ trung bình với độ dài của
xung vuông.Sau đây là 1 số trạng thái hoạt động:
20
Hình 2.12 Trạng thái hoạt động
Ta xem các xung trên,mỗi xung dù là 20% ,50% hay 80% đều có hai trạng thái là
12V và 0V.12V được gọi là trạng thái cao,ở mức Trong một này motor sẽ quay.Còn
21
0V là ở trạng thái thấp,ở trạng thái này motor sẽ có điện áp dừng. biểu đồ xung,tổng
phần trăm của trạng thái cao và trạng thái thấp sẽ là 100% và con số 20%, 50% hay
80% là xung cao.Cho nên số phần trăm thấp = 100% - % xung cao.Nếu độ dài xung
càng rộng thì tốc độ motor càng cao do đó motor đạt được tôc độ cao nhất khi motor
được gửi đến xung 100% và motor dừng khi có 0% được gửi tới.
Chúng ta có thể sử dụng kênh điều xung của kit CPLD để tạo ra các mức vận
tốc như mong muốn.
III.Lập trình điều khiển
3.1.Giới thiệu về kit thử nghiệm CPLD COOLRUNNER – II 256 TQ144
The CooRunner – II 256 TQ144 là một trong những bộ kit CPLD của xilinx. Bộ
kit bao gồm nguồn cung cấp với hiệu quả cao,bộ tạo dao động có thể cấu hình , các
cổng giao tiếp I/0,đồng hồ đo thời gian thực và cổng USB cấp nguồn và lập trình cho
CPLD .Bộ KIT có 5 cổng mở rộng với 64 tín hiệu giao tiếp từ CPLD ra mạch ngoài
giúp mở rộng khả năng kết nối.
Các đặc điểm nổi bật của KIT:
256 khối Coolrunner – II CPLD trong gói TQ 144
Có cổng USB cấp nguồn ,lập trình và chuyển dữ liệu người dung
Bộ dao động có thể thay đổi được (1000/100/10khz) ,them vào đó là có khe nắp
bộ dao động thạch anh thứ 2
64 tín hiệu I/0 trên các cổng giao tiếp(32 trên các cổng nối tiếp ,32 trên các cổng
song song)

Các miếng đệm cho SPI PROM gắn trong
22
Hình 3.1 CoolRunner – II 256 TQ144
Hình 3.2 Sơ đồ khối của KIT CPLD CoolRunner – II 256 TQ144
3.2.Lập trình trên KIT thử nghiệm
Modul điều khiển được viết trên VHDL – một ngôn ngữ mô tả phần cứng của
Xilinx sử dụng phần mềm Xilinx Integrated Software Environment (ISE) v.10.0 .Việc
đầu tiên là soạn thảo văn bản có sẵn trong ISE để viết modul và hệ thống quản lí
project ,file cấu hình cho CoolRunner – II 256 TQ144 được tạo ra trong ISE .Nó bao
gồm những việc sau (tất cả đều được phần mềm làm tự động ) :
23
Biên dịch VHDL thành sơ đồ các cổng logic ,thành phần của mạch (thông qua
công cụ tổng hợp XST)
Vẽ sơ dựa trên những tài nguyên có sẵn trên FPGA
Sắp xếp các thành phần để đạt sự tối ưu nhất
File cấu hình được nạp vào CPLD qua giao tiếp JTAG .Kết quả của quá trình tối
ưu hóa có thể dẫn đến sự thay đổi các file gốc và các chu trình sau đó.
3.3.Sơ đồ khối mạch điều khiển
Hình 3.3 Sơ đồ khối mạch điều khiển
Mạch điều khiển sẽ được lập trình tạo ra 3 khối
Khối phát hiện đường dẫn: Có nhiệm vụ xử lí tín hiệu từ sensor dò đường đưa
vào FPGA.
Khối điều khiển chuyển động : Nhận tín hiệu điều khiển từ khối phát hiện đường
dẫn và đưa ra mức điều khiển hợp lí.
Khối tạo xung : Phát xung cho hai động cơ giúp động cơ có thể hoạt động linh
hoạt để bám theo đường dẫn.
24
3.4 cách bố trí cảm biển trên robot
Hình 3.4 Cách bố trí cảm trên robot
Trong mạch này chúng tôi sử dụng 3 cặp thu phát hồng ngoại để dò đường.Khi

cặp thu phát ở giữa chạm vạch trắng mức tín hiệu đưa vào FPGA tương ứng là
R=101.Khi cặp thu phát bên trái chạm vạch trắng mức tín hiệu đưa vào FPGA là
R=011.Tương tự khi cặp thu phát bên phải chạm vạch trắng thì tín hiệu đưa vào FPGA
sẽ là R=110.
3.5 Bảng trạng thái điều khiển cho động cơ
Sau đây là bảng trạng thái điều khiển cho động cơ:
25

×