1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

34 567 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 658,5 KB

Nội dung

Điều khiển robot nhận biết bằng hồng ngoại sử dụng FPGA 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 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.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA KỸ THUẬT ĐIỆN TỬ 1

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

Trang 2

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

Trang 3

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á

Trang 4

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

Trang 5

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

Trang 6

- 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

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)

Trang 7

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

Trang 8

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

Trang 9

d) e)

Trang 10

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

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

Trang 11

+ 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.

Trang 12

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

Trang 13

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 :

Trang 14

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 đíchkhuyế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

Trang 15

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

Hình 2.5 Mạch in bộ cảm biếnCá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ừ

Trang 17

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:

Ta xét hình thứ nhất:

Ngày đăng: 11/08/2014, 19:43

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w