Tải bản đầy đủ (.docx) (29 trang)

Điều khiển robot từ xa qua sóng RF và sử dụng cảm biến siêu âm tránh vật cản

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 (761.41 KB, 29 trang )

Đồ án thiết kế hệ thống số

BÁO CÁO
Đề bài: Điều khiển robot từ xa qua sóng RF và sử dụng
cảm biến siêu âm tránh vật cản


Đồ án thiết kế hệ thống số
PHỤ LỤC

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI

1.1.

Giới thiệu chung về đề tài
Cùng với sự phát triển của các ngành kỹ thuật điện tử, công nghệ thông tin,

ngành Kỹ thuật điều khiển, tự động hóa đã và đang đạt được nhiều tiến bộ mới.
Tự động hóa, điều khiển không những làm giảm nhẹ sức lao động của con người
mà còn góp phần rất lớn trong việc nâng cao năng suất lao động, cải thiện chất
lượng sản phẩm chính vì thế tự động hóa ngày càng khẳng định được vị trí cũng
như vai trò của mình trong các ngành công nghiệp và đang được phổ biến rộng rãi
trong các hệ thống công nghiệp nói chung và việt nam nói riêng.
Không chỉ dừng lại ở đó, sự phát triển của tự động hóa còn đem lại nhiều
tiện ích phục vụ đời sống hàng ngày cho con người. Để phục vụ tốt hơn nữa đời
sống con người trong thời điểm xã hội ngày càng hiện đại và phát triển hiện nay.
Thay thế dần con người làm việc ở những nơi nguy hiểm, độc hại những nơi mà
con người không thể tới được.
Vấn đề đặt ra trước tiên khi xây dựng một hệ thống tự động hóa, điều khiển
không còn là nên hay không nên, mà là lựa chọn hệ thống điều khiển, mạng
truyền thông nào để điều khiển và giám sát cho phù hợp với yêu cầu và nhiệm vụ


thực tế.


Đồ án thiết kế hệ thống số
Do đó em chọn đề tài “Điều khiển ô tô có chức năng đi thẳng, rẽ trái, phải,
truyền nhận dữ liệu bằng sóng RF, sử dụng kit CPLD”
Khả năng ứng dụng của đề tài không chỉ dừng lại ở việc điều khiển một
một oto từ xa mà trong tương lai có thể điều khiển các thiết bị chuyển động từ xa:
Robot tự hành, các robot nạo vét cống rãnh, robot tham hiểm, dò phá bom mìn,
điều khiển và giám sát các đèn tín hiệu giao thông từ xa điều khiển các thiết bị ở
những nơi mà con người không thể trực tiếp tới được, các thiết bị chữa cháy từ xa,
điều khiển các thiết bị ở những môi trường hóa chất độc hại, các thiết bị đóng cắt
từ xa trong các trạm biến áp trong nhà máy điện.
1.2.

Các vấn đề đặt ra
Đề tài “Điều khiển ô tô có chức năng đi thẳng, rẽ trái, phải, truyền nhận dữ

liệu bằng sóng RF, sử dụng kit CPLD” là một đề tài khó, nó đòi hỏi kiến thức tổng
hợp ở nhiều lĩnh vực như: cơ khí thiết kế, xử lý tín hiệu số, mạch điện tử, điều
khiển, truyền thông không dây, lập trình điều khiển.
Các vấn đề chính của đề tài:
-

Tìm hiểu mạch nguyên lý, kit CPLD.
Tính toàn thiết kế và chế tạo mô hình cơ khí.
Tính toán thiết kế mạch điều khiển.
Đánh giá chất lượng của mô hình.



Đồ án thiết kế hệ thống số

CHƯƠNG II: SƠ ĐỒ KHỐI
2.1. Mô hình điều khiển

Khối
RF, tay
cầm

Khối
nguồn

Động


Kit CPLD,
khối RF

Khối đo
khoảng

Mạch
cầu H


Đồ án thiết kế hệ thống số
2.2. Tìm hiểu kit CPLD

Hình 2.1: Kit CoolRunner II
2.2.1. Hãng Xilinx


Xilinx là nhà phát triển hàng đầu hiện nay trong lĩnh vực chip khả trình,
được thành lập bởi Ross Freeman, Bernie Vonderschmitt và Jim Barnett.
Xilinx là nhà phát triển FPGA, CPLD được sử dụng rộng rãi trong những
ứng s truyền thong, tự động hóa, mật mã và các lĩnh vực khác. Các sản phẩm
phần cứng của Xilin gồm các dòng CPLD: coolrunner, các họ FPGA như
Spartans, Virtex …
Xilinx còn cung cấp các phần mềm hỗ trợ lập trình FPGA, CPLD như ISE,
EDK, LogicCore, System Generator. Các công cụ này hỗ trợ rất nhiều cho quá
trình lập trình CPLD, FPGA giúp giảm thời gian và công sức thiết kế. Các phiên
bản phần mềm trên được nâng cấp thường xuyên.
2.2.2. Ngôn ngữ mô tả phần cứng VHDL

VHDL là ngô 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 Intergrated Circuit) của bộ quốc phòng Mỹ.


Đồ án thiết kế hệ thống số
Mục tiêu của việc phất triển VHDL là có được một ngôn ngữ mô tả phần
cứng tiêu chuẩn và thông nhất cho phép thử nghiệm các hệ thống 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 Instrucmets
bắt đầu nghiên cứu và 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 năm 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ả quyết các khó khan trong việc phát triển, thay
đổi và lập tài liệ cho 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ự 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ô ngữ mô tả 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ền 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 có sẵn. 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


Đồ án thiết kế hệ thống số
hợp mạch khác nhau tùy 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ế.
- 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ư vậy 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 nghệ thiết kế khác

nhau nhưng cùng tuân theo tiêu chuẩn VHDL.
- 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ó 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ả 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.
2.2.3. Kit CoolRunner II XC2C256 TQ-144
CoolRunner II là thiết bị được thết kế cho việc hoạt động với hiệu suất cao
và sử dụng năng lượng thấp. Điều này cho phép tiết kiệm năng lượng khi truyền
thông tốc độ cao với các thiết bị hoạt động bằng pin. Do sử dụng điện năng thấp
và năng động nên độ tin cậy của hệ thống được cải thiện.
Thiết bị này bao gồm 16 khối chức năng được liên kết với nhau thông qua
ma trận điện kết nối trong nâng cao. Ma trận điện kết nối trong là nguồn cung cấp
dữ liệu 40 đầu vào và bổ sung cho mỗi khối chức năng. Mỗi khối chức năng bao
gồm 40 đầu vào và 16 macrocells chứa các bit cấu hình cho phép tổ hợp hoặc thiết


Đồ án thiết kế hệ thống số
lập phương thức hoạt động. Ngoài ra chúng ta có thể thiết lập hoặc cài đặt trước
và cấu hình như là một flip flop D hoặc T.
CoolRunner II được phát triển và hoàn thành trên nền tảng USB-powered.
Bảng mạch này bao gồm hiệu quả năng lượng cao, tiết kiệm năng lượng, khả lập
trình và hỗ trợ một số thiết bị vào ra chung. Ngoài ra nó cũng có 5 kết nối mở
rộng cho phép kết nối với 64 CPLD sẵn có ở bên ngoài.
Tính năng bao gồm:
-

CoolRunner II TQ-144 bao gồm 256 macrocells.
Một cổng USB2 để lập trình JTAG và truyền dữ liệu.

Tần số cố định 8MHz và một ổ cắm cho tần số ngoại.
Mở rộng kết nối với 64 tín hiệu vào ra.
Một dây DS28E01Q EEPROM.

CoolRunner II phải được nạp cấu hình (hay chương trình) của người dùng
trước khi nó có thể thực hiện bất kỳ chức năng nào. Tập tin có thể được tao ra từ
sơ đồ hoặc tập tin từ mã nguồn HDL bằng cách sử dụng ISE miễn phí Webpack
phần mền từ Xilinx. Các file chương trình có thể được chuyển cho bảng mạch
bằng cách sử dụng một cáp USB và phần mền của Xilinx. Sau khi nạp chương
trình, CPLD giữ lại trạng thái của nó vô thời hạn.
Nguồn cung cấp cho CoolRunner II:
CoolRunner II có thể được cấp nguồn từ cổng USB tách rời của nó hoặc từ
một nguồn cung cấp bên ngoài gắn vào kết nối JP3, JP2 chọn xem bảng mạch sử
dụng nguồn USB hoặc nguồn điện bên ngoài. Nguồi điện bên ngoài, từ bất kỳ
nguồn nào được định tuyến thông qua một điều chế cơ bản LT3028 để tạo ra 2
nguồn cung cấp điện áp 3.3V cho I/O và 1.8V cho lõi theo yêu cầu của CPLD.
CoolRunner II cung cấp 2 nút bấm và 2 thiết bị chuyển mạch trượt đầu vào,
4 đèn led xanh và 4 led 7 đoạn hiển thị kết quả đầu ra. Các nút bấm hoạt động
thấp, các đèn led hoạt động cao và led 7 đoạn sử dụng tách riêng chung anode.


Đồ án thiết kế hệ thống số

Hình 2.2: Sử dụng I/O
CoolRunner II cung cấp 4 mô đun mỗi mô đun gồm 12- pin kết nối thiết bị
ngoại vi. Mỗi kết nối cung cấp 1 VDD và 1 GND. Ngoài ra nó cũng cung cấp 1
kết nối mở rộng 40-pin bao gồm 3 nguồn tín hiệu và 37 chân I/O cho tín hiệu.
2.3. Khối RF
2.3.1. Tổng quan về sóng RF
Trong một phiên truyền thông, vì tận cùng bản chất của dữ liệu bao gồm

các bit 0 và 1, bên phát dữ liệu cần có một cách thức để gửi cá bit 0 và 1 để gửi
co bên nhận. Một tín hiệu xoay chiều hay một chiều tự nó sẽ không thực hiện tác
vụ này. Tuy nhiên nếu một tín hiệu có thay đổi và có dao động, dù chỉ một ít, sự
thay đổi này sẽ giúp phân biệt bit 0 và bit 1. Lúc đó, dữ liệu cần truyền sẽ có thể
gửi và nhận dữ liệu thành công dựa vào sự thay đổi của tín hiệu. Dạng tín hiệu
điều chế còn gọi là sóng mang. Có ba thành phần của dạng sóng có thể tạo ra
sóng mang, đó là biên độ, tần số, và pha. Tất cả các dạng truyền thông dùng sóng
vô tuyến đều dùng vài dạng điều chế để truyền dữ liệu. Để mã hóa dữ liệu vào
trong một tín hiệu qua sóng AM/FM, điện thoại di động, truyền hình vệ tinh, ta
phải thực hiện một vài kiểu điều chế trong sóng vô tuyến đang truyền.


Đồ án thiết kế hệ thống số
a. Biên độ và bước sóng

Truyền thông vô tuyến bắt đầu khi các sóng vô tuyến được tạo ra từ một
máy phát và gửi đến máy nhận ở một vị trí khác. Sóng vô tuyến tương tự như các
cơn sóng mà bạn hay gặp ở biển, hồ, sông, suối. Sóng có hai thành phần chính:
biên độ và bước sóng. Biên độ là chiều cao, độ mạnh hoặc công suất của sóng
Bước sóng là khoảng cách giữa hai điểm tương tự trên hai đỉnh sóng liên tiếp.
Biên độ và tần số cả hai đều là các thuộc tính của sóng.
b. Pha

Pha là một thuật ngữ mang tính tương đối. Nó chỉ ra mối quan hệ giữa hai
sóng có cùng tần số. Để xác định pha, bước sóng được chia thành 360 phần, được
gọi là độ.
c. Mã hóa bit

Mã hóa bit là quá trình chuyển đổi dãy bit (1- 0) sang một tín hiệu thích
hợp để có thể truyền dẫn trong môi trường vật lý. Việc chuyển đổi này chính là sử

dụng một tham số thông tin thích hợp để mã hóa dãy bit cần truyền tải. Các tham
số thông tin có thể được chứa đựng trong biên độ, tần số, pha hoặc sườn xung,
v.v... Sự thích hợp ở đây phải được đánh giá dựa theo các yêu cầu kỹ thuật như
khả năng chống nhiểu cũng như gây nhiểu, khả năng đồng bộ hóa và triệt tiêu
dòng một chiều.
Việc tạo mã để có tín hiệu trên các hệ thống số có thể thực hiện một cách
đơn giản là gán một giá trị điện thế cho một trạng thái logic và một giá trị khác
cho mức logic còn lại. Tuy nhiên để sử dụng mã một cách có hiệu quả, việc tạo
mã phải dựa vào một số tính chất sau.(Phổ tần của tín hiệu, sự đồng bộ, khả năng
dò sai, tính miễn nhiễu và giao thoa, mức độ phức tạp và giá thành của hệ thống).
Dưới đây giới thiệu một số dạng mã thông dụng và được sử dụng cho các
mục đích khác nhau tùy vào các yêu cầu cụ thể về các tính chất nói trên hình 2.2


Đồ án thiết kế hệ thống số

Hình 2.3: Một số dạng mã thông dụng

2.3.2. Module thu phát RF

Hình 2.4: Module RF
Module RF sử dụng chip ADF7020.


Đồ án thiết kế hệ thống số
Tần số tín hiệu: 433.92Mhz.
Tầm phát và thu: khoảng 100m – 200m.
Bên phát gồm modul phát tín hiệu RF, 4 nút nhấn, sử dụng chip
Atmega16L để xử lý tín hiệu và sử dụng truyền thông nối tiếp UART. Khi 1 nút
được nhấn thông qua Atmega16L xử lý rồi truyền UART đến DRF7020D13 để

phát RF.
Bên thu gồm module thu tín hiệu RF, cũng sử dụng chip Atmega16L để xử
lý tín hiệu nhận được từ module RF thông qua truyền thông nối tiếp UART.
a. Module DRF7020D13

DRF7020D13 là module được thiết kế cho các truyền thông trong không.
Tính năng bao gồm đều chế và giải điều chế, hoạt động đa kênh, sử dụng băng
thông hiệu quả và chống nhiễu hiệu quả làm cho nó trở thành một module truyền
thông không dây mạnh mẽ và đấng tin cậy.
Module có thể được cài đặt để làm việc trong các kênh khác nhau với 200k
Hz không gian. Công nghệ mã hóa đổi mới EDAC ( phát hiện và sửa lỗi) được sử
dụng để đảm bảo thông tin lien lạc đáng tin cậy. Bởi độ tin cậy cao module có thể
lọc lỗi và giải thông tin tự động.
DRF7020D13 tích hợp 256 byte bộ đệm, khi bộ đệm trống người dùng có
thể chuyển thành 256 byte dữ liệu trong một thời gian. Module cung cấp tiêu
chuẩn UART/ TTL để lựa chọn. DRF7020D13 hoạt động tại điện áp 3.3V – 5.5V
với độ nhạy lên tới 118dBm. Nó có thể gửi bất kỳ kích thước của gói dữ liệu và
người dùng không cần phải thực hiện bất kỳ cài đặt hay lập trình phức tạp nào.
Khi kết hợp với bảng mạch chuyển đổi, module DRF7020D13 có thể chuyển sang
module giao diện RS232 và giao tiếp với máy tính hoặc thiết bị RS232 một cách
dễ dàng.
b. Atmega16L


Đồ án thiết kế hệ thống số
Atmega16L là bộ vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựa
trên kiến trúc RISC (Reduced Instruction Set Computer). Với công nghệ này cho
phế các lệnh thực thi chỉ trong một chu kỳ xung nhịp, vì thế tốc độ xử lý dữ liệu
có thể đạt đến một triệu lệnh trên giây ở tần số 1MHz. Vi điều khiển này cho phép
người thiết kế có thể tối ưu hóa chế độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ

xử lý.
Atmega16L có tập lệnh phong phú về số lượng vwois 32 thanh ghi làm
việc đa năng. Toàn bộ 32 thang ghi đều được nối trực tiếp với ALU ( Arithmetic
Logic Unit) cho phép truy cập 2 thanh ghi độc lập trong một chu kỳ xung nhịp.
Khi làm việc với Atmega16L có rất nhiều phần mềm được dùng lập trình
bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly như AVR studio của
Ateml, trình dịch C như CodeVisionAVR,…
Các tính năng của Atmega16L:
-

-

Hiệu suất cao ( high performance), là loại vi điều khiển AVR 8 bit công
suất thấp
Cấu trúc lệnh đơn giản
o 130 được thực thi trong vòng một chu kỳ xung nhịp.
o 32 thanh ghi công dụng chung 8 bit.
o Đầy đủ các xử lý tĩnh.
Bộ nhớ chương trình và dữ liệu không bay hơi(nonvolatile)
o 16k byte trong hệ thông flash khả trình có thể nạp và xóa 1,000
lần.
o Tùy chọn khởi động phần mã với các bit nhìn độc lập trong hệ

-

thông bằng cách vào chương trình khởi động chip.
o 512 byte EEPROM có thể xóa và ghi 100,000 lần.
o 1 byte RAM nhớ tĩnh (SRAM).
Tính năng ngoại vi
o 2 bộ định thời/bộ đếm ( timer/counter) 8 bit với các chế độ đếm

riêng rẽ và kiểu so sánh.
o 1 bộ định thời/bộ đếm ( timer/counter) 16 bit với các chế độ đếm
riêng rẽ, kiểu so sánh và kiểu bắt sự kiện.
o Bộ đếm thời gian thực.
o 4 kênh băm xung PWM.
o 8 kênh ADC 10 bit.


Đồ án thiết kế hệ thống số
Byte định hướng 2 đường giao tiếp nối tiếp.
Giao tiếp USART nối tiếp khả trình.
Giao tiếp SPI.
Tích hợp bộ so sánh tín hiệu tương tự.
Giao tiếp JTAG
Vào ra các gói dữ liệu
o 32 chân vào ra khả trình.
o 40-pin PDIP và 44-lead TQFP
Điện áp sử dụng
o 2.7 – 5.5V dùng với Atmega16LL.
o 4.5 – 5.5V dùng với Atmega16L.
Tốc độ xung nhịp
o 0 – 8 MHz cho Atmega16L.
o 0 – 16 MHz cho Atmega16.
o
o
o
o

-


-

-

Sơ đồ chân:

Hình 2.5: Sơ đồ chân Atmega16L
Atmega16L gồm 40 chân:
-

Chân 1 – 8: Cổng nhập xuất dữ liệu song song B (PORTB) nó có thể

-

được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu.
Chân 9: RESET để đưa chip về trạng thái ban đầu.
Chân 10: VCC cấp nguồn cho vi điều khiển.
Chân 11, 31: GND.


Đồ án thiết kế hệ thống số
-

Chân 12, 13: 2 chân XTAL2 và XTAL1 dùng để đưa xung nhịp từ bên

-

ngoài vào chip.
Chân 14 – 21: Cổng nhập xuất dữ liệu song song D (PORTD) nó có thể


-

được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu.
Chân 22 – 29: Cổng nhập xuất dữ liệu song song C (PORTC) nó có thể

-

được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu.
Chân 30: AVCC cấp điện áp so sánh cho bộ ADC.
Chân 32: AREF điện áp so sánh tín hiệu vào ADC.
Chân 33 – 40: Cổng nhập xuất dữ liệu song song A (PORTA) nó có thể
được sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu.

c. Truyền thông nối tiếp không đồng bộ USART

Vi điều kiển Atmega16L có 1 module truyền thông nối tiếp USART. Với
chế độ truyền nối tiếp không đồng bộ, chúng ta sử dụng 2 chân của Atmega16L để
phục vụ cho truyền nhận dữ liệu: chân truyền dữ liệu TxD ( Transmitted Data) và
chân nhận dữ liệu RxD ( Reveived Data).

Hình 2.6: Hai chân TxD và RxD
Module USART trên chip Atmega16L hoạt động theo chế độ quá trình
truyền và nhận dữ liệu có thể xảy ra đồng thời.
Khi sử dụng USART để giao tiếp với máy tính, phải thiết lập các thông số
hoạt động ở vi xử lý và máy tính giống nhau, bao gồm:


Đồ án thiết kế hệ thống số
-


Baud rate: Baud rate càng cao, tốc độ truyền càng nhanh, tuy nhiên xác
suất xảy ra lỗi trong quá trình truyền /nhận cũng rất lớn. Thường chọn

-

Baud rate = 9600 với những ứng dụng không cần tốc độ cao.
Frame: khung truyền bao gồm start bit, data, parity bit và stop bit, trong
đó start bit là cố định và không thay đổi.

USART của Atmega16L cũng có tính năng ngắt. Ngắt USART xảy ra khi
hoàn tất gửi xong một dữ liệu, hoặc nhận xong một dữ liệu.
2.3.

Khối đo khoảng cách
Trong khối đo khoảng cách chúng em sử dụng cảm biến siêu âm SRF05.
Cảm biến SRF05 là một loại cảm biến khoảng cách dựa trên nguyên lý thu

phát siêu âm. Cảm biến gồm một bộ phát và một bộ thu sóng siêu âm. Sóng siêu
âm từ đầu phát truyền đi trong không khí, gặp vật cản (vật cần đo khoảng cách
tới) sẽ phản xạ ngược trở lại và được đầu thu ghi lại. Vận tốc truyền âm thanh
trong không khí là một giá trị xác định trước, ít thay đổi. Do đó nếu xác định
được khoảng thời gian từ lúc phát sóng siêu âm tới lúc nó phản xạ về đầu thu sẽ
quy đổi được khoảng cách từ cảm biến tới vật thể.
SRF05 là một bước phát triển từ SRF04, được thiết kế để làm tăng tính linh
hoạt, tăng pham vi, ngoài ra còn giảm bớt chi phí. SRF05 là hoàn toàn tương
thích với SRF04. Khoảng cách là tăng từ 3 mét đến 4 mét. Một chế độ hoạt động
mới, SRF05 cho phép sử dụng một chân duy nhất cho cả kích hoạt và phản hồi,
do đó tiết kiệm có giá trị trên chân điều khiển của bạn. Khi chân chế độ không kết
nối, SRF05 các hoạt động riêng biệt chân kích hoạt và và chân hồi tiếp, như
SRF04. SRF05 bao gồm một thời gian trễ trước khi xung phản hồi để mang lại

điều khiển chậm hơn chẳng hạn như bộ điều khiển thời gian cơ bản Stamps và
Picaxe để thực hiện các xung lệnh.
Sơ đồ chân cảm biến:


Đồ án thiết kế hệ thống số

Hình 2.7: Sơ đồ chân cảm biến
Các chế độ làm việc :
Chế độ 1: Tương ứng SRF05 – tách biệt kích hoạt và phản hồi. Chế độ náy
sử dụng riêng biệt chân kích hoạt và chân phản hồi, và là chế độ đơn giản nhất để
sử dụng. Tất cả các chương trình điển hình cho SRF04 sẽ làm việc cho SRF05 ở
chế độ này. Để sử dụng chế độ này, chỉ cần chân chế độ không kết nối – SRF05 có
một nội dừng trên chân này. Từ đó ta nhận thấy: Để cho sf05 hoạt động thì cần
cấp 1 xung mức cao có độ rộng >=10us trên chân Trig. Sau khi nhận được xung từ
chân Tri thì srf05 sẽ tạo ra 8 xung để phát siêu âm, sau khi hoàn thành việc phát 8
xung này thì srf05 sẽ kéo chân echo lên mức 1, độ rộng của mức 1 trên chân echo
tương ứng với khoản cách của vật cản với srf05, nếu ko có vật cản thì nó sẽ được
trả về mức 0 sau 30ms( ở đây nhiều bạn hiểu sai là khi có vật cản thì srf05 mới trả
về 1 xung mức cao có độ rộng từ 100uS->30ms tương ứng với khoảng cách). Đặc
biệt là srf05 chỉ có thể nhận xung trên chân Tri tối đa là 20Hz, cho nên việc kích
xung trên chân Tri phải phù hợp thì srf05 mới hoạt động chính xác.


Đồ án thiết kế hệ thống số

Hình 2.8: Chế độ hoạt động 1
Chế độ 2: Dùng một chân cho cả kick hoạt và phản hồi. Chế độ này sử
dụng một chân duy nhất cho cả tín hiệu kích hoạt và hồi tiếp, và được thiết kế để
lưu các giá trị trên chân lên bộ điều khiển nhúng. Để sử dụng chế độ này, chân chế

độ kết nối vào chân mát. Tín hiệu hồi tiếp sẽ xuất hiện trên cùng một chân với tín
hiệu kích hoạt. SRF05 sẽ không tăng dòng phản hồi cho đến 700uS sau khi kết
thúc các tín hiệu kích hoạt. Bạn đã có thời gian để kích hoạt pin xoay quanh và
làm cho nó trở thành một đầu vào và để có pulse đo mã của bạn đã sẵn sàng. Lệnh
PULSIN được tìm ra và được dùng phổ biến hiện nay để điều khiển tự động.


Đồ án thiết kế hệ thống số

Hình 2.9: Chế độ hoạt động 2
Để sử dụng chế độ 2 với các Stamps BS2 cơ bản, bạn chỉ cần sử dụng
PULSOUT và PULSIN trên cùng một chân:
SRF05 PIN 15 sử dụng cho cả hai và kick hoạt Echo.
Range VAR Word xác định phạm vi biến 16 bit.
SRF05 =0 bắt đầu bằng pin thấp.
PULSOUT SRF05 5 đưa ra kick hoat pulse 10us.
PULSIN SRF0, 1, range Echo đo thời gian.
Range = range/29 để chuyển đổi sang cm.
Tính khoảng cách :
Giản đồ định thời SRF05 thể hiện trên đây cho mỗi chế độ. Bạn chỉ cần
cung cấp một đoạn xung ngắn 10uS kích hoạt đầu vào để bắt đầu đo khoảng cách.


Đồ án thiết kế hệ thống số
Các SRF05 sẽ gửi cho ra một chu kỳ 8 burst của siêu âm ở 40khz và tăng cao
dòng phản hồi của nó (hoặc kích hoạt chế độ dòng 2). Sau đó chờ phản hồi, và
ngay sau khi phát hiện nó giảm các dòng phản hồi lại. Dòng phản hồi là một xung
có chiều rộng là tỷ lệ với khoảng cách đến đối tượng. Bằng cách đo xung, ta hoàn
toàn có thể để tính toán khoảng cách theo inch/centimét hoặc bất cứ điều gì khác.
Nếu không phát hiện gì cả SRF05 giảm thấp hơn dòng phản hồi của nó sau

khoảng 30ms. SRF05 cung cấp một xung phản hồi tỷ lệ với khoang cách. Nếu độ
rộng của pulse được đo trong hệ uS, sau đó chia cho 58 sẽ cho khoảng cách theo
cm, hoặc chia cho 148 sẽ cho khoảng cách theo inch. Us/58= cm hay us/148=
inch.
SRF05 có thể được kích hoạt nhanh chóng với mọi 50mS, hoặc 20 lần mỗi
giây. Bạn nên chờ 50ms trước khi kích hoạt kế tiếp, ngay cả khi SRF05 phát hiện
một đối tượng gần và xung phản hồi ngắn hơn. Điều này là để đảm bảo các siêu
âm “beep” đã phai mờ và sẽ không gây ra sai phản hồi ở lần đo kế tiếp

2.5. Mạch cầu H
Trong mạch chúng em sử dụng IC cầu H L293D.
L293D là IC cầu H điều khiển động cơ.
L293D gồm 4 kênh điều khiển có thể điều khiển 2 động cơ DC hoặc 1
động cơ bước 4 pha (5 dây). Để điều khiển động cơ DC, bạn sẽ sử dụng 2 kênh
của L293D cho 1 động cơ.


Đồ án thiết kế hệ thống số
L293D đã được tích hợp sẵn đi ốt bảo vệ vi điều khiển chống lại dòng cảm
ứng khi động cơ khởi động hoặc tắt. Vì vậy, bạn chỉ cần gắn motor vào L293D và
các chân của vi điều khiển tương ứng, là có thể làm cho động cơ chạy ngay. Dòng
L293 có 2 loại: L293B/E và L293D, dòng L293B có khả năng chịu tải cao hơn
(1A so với 600mA của L293D) nhưng không có đi ốt bảo vệ vi điều khiển. Với
mỗi motor, bạn cần 3 chân từ vi điều khiển kết nối với L293D, trong đó có 1 chân
điều khiển tốc độ đông cơ dùng xung PWM, 2 chân còn lại là logic 0 hoặc 1 dùng
điều chỉnh chiều quay của motor.
Tín hiệu điều khiển được xử lý độc lập với nhau với từng đầu ra. Ví dụ:
bạn có thể điều khiển 2 động cơ DC chạy với tốc độ khác nhau, hướng khác nhau,
1 động cơ dừng còn 1 động cơ chạy... Mỗi kênh của L293D chịu được tải 600mA
và dòng đỉnh là 1A. Để sử dụng các động cơ công suất cao hơn, bạn chỉ việc gắn

song song 2 hoặc nhiều L293 lại với nhau. Với 2 IC L293, bạn sẽ có tải chịu được
là 1.2A và tải đỉnh là 2A.
Ngoài ra, L293D có chức năng tự động ngắt khi bị nóng quá mức nhằm
bảo vệ IC.
Lưu ý: tuyệt đối không bao giờ làm chập mạch các ngõ ra motor của
L293D, nếu không bạn sẽ làm cháy một bên cầu H ngay lập tức.

Hình 2.10: Sơ đồ chân và cấu tạo của IC L293D


Đồ án thiết kế hệ thống số

Hình 2.11: Sơ đồ L293D nối với 2 motor

Hình 2.12: Mạch nguyên lý cầu H


Đồ án thiết kế hệ thống số
2.6. Mạch nguồn
Khối mạch nguồn có nhiệm vụ cấp nguồn cho toàn bộ mạch và động cơ.
Do đó khối nguồn phải có được công suất đủ lớn và độ ổn định cao.
Trong mạch chúng em sử dụng mạch nguồn 5V để cung cấp cho vi điều
khiển và mạch nguồn 3.3V để cấp cho kit CoolRunner II.
Đối với mạch nguồn 5V chúng em sử dụng IC ổn áp 7805

Hình 2.13: Mạch nguồn 5V
Mạch nguồn 3.3V sử dụng diode zener 3.3V.

Hình 2.14: Mạch nguồn 3.3V



Đồ án thiết kế hệ thống số

2.7. Động cơ

Trong mạch chúng em sử dụng động cơ DC

Hình 2.15: Động cơ DC
2.7.1. Cấu tạo

Cấu tạo của động cơ DC gồm 2 thành phần chính là phần tĩnh (Stato) và
phần động ( Roto).
Stato của động cơ DC gồm nam châm vĩnh cử.
Roto : Phần ứng bao gồm một lõi hình trụ làm bằng các lá thép kỹ thuật
điện được gắn lên trục. Bề mặt ngoài của lõi có các rãnh để quấn dây, các đầu dây
của phần ứng được hàn vào cổ góp.
2.7.2. Nguyên lý hoạt động


Đồ án thiết kế hệ thống số
Hình a
Khi có dòng điện 1 chiều đi qua motor sẽ khiến motor quay theo chiều như
hình a.

Hình b
Khi ta đảo hai 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.


2.8.

Code điều khiển
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;


×