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

Điều khiển robot mini dùng sóng RF

51 522 3

Đ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 51
Dung lượng 1,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nguyên lý cơ bản của loại điều khiển từ xa này là sử dụng ánh sáng hồng ngoạicủa quang phổ điện từ mà mắt thường không thấy được để chuyển tín hiệu đến thiết bịcần điều khiển.. Về phía b

Trang 1

MỤC LỤC

Trang 2

LỜI NÓI ĐẦU

Điện tử đang trở thành một ngành khoa học đa nhiệm vụ Điện tử đã đáp ứng được những đòi hỏi không ngừng của các ngành, lĩnh vực khác nhau cho đến nhu cầu thiết yếu của con người trong cuộc sống hằng ngày Một trong những ứng dụng quan trọng của ngành công nghệ điện tử là kỹ thuật điều khiển từ xa bằng RF Sử dụng RF được ứng dụng rất nhiều trong công nghiệp và các lĩnh vực khác trong cuộc sống với những thiết bị điều khiển từ xa rất tinh vi và đạt được năng suất, kinh tế thật cao

Xuất phát từ những ứng dụng đó, em đã thiết kế và lắp ráp một mạch và robot mini ứng dụng nhỏ trong thu phát RF: “ Điều khiển robot mini dùng sóng RF ”

Robot đượ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ình lại được) dưới sự điều khiển nó có khả năng hoàn thành nhiệm

vụ hay công việc được giao Trong thời đại công nghiệp hóa như hiện nay robot đóng một vai trò vô cùng quan trọng, nó hỗ trợ con người và đem lại lợi ích vô cùng lớn

trong công nghiệp cũng như sinh hoạt hang ngày của con người

Nội Dung báo cáo gồm 4 chương:

Chương 1: Tổng quan về truyền sóng RF.

Chương 2: Tổng quan về một số linh kiện sử dụng.

Chương 3: Thiết kế mạch và robot mini.

Chương 4: Ứng dụng của mạch và robot mini trong thực tế.

Trang 3

LỜI CẢM ƠN

Em xin chân thành cảm ơn quý thầy, cô trường Đại Học Công Nghiệp

Hà Nội đã tận tình dạy dỗ trong suốt những năm qua Trong đó phải kể đến quý thầy cô Khoa Công Nghệ Điện Tử đã tạo điều kiện cho em thực hiện đồ án tốt nghiệp này

Em xin chân thành cảm ơn giáo viên hướng dẫn Th.s Nguyễn Thị Thu

Hà đã tận tình giúp đỡ em trong quá trình chọn đề tài và thực hiện đề tài.Với thời gian thực hiện đề tài ngắn, kiến thức còn hạn hẹp, dù em đã cố gắng nhưng vẫn không tránh khỏi những sai sót, em rất mong nhận được sự chỉ dẫn thêm của quý thầy cô

Sinh viên thực hiện:

Phạm Công Quý - 0641050123

Trang 4

DANH MỤC HÌNH ẢNH

Trang 5

CHƯƠNG 1

TỔNG QUAN VỀ TRUYỀN SÓNG RF

1.1 Giới thiệu điều khiển từ xa

Ít người biết rằng những chiếc điều khiển từ xa đầu tiên trên thế giới được rađời nhằm mục đích phục vụ cho chiến tranh Các loại điều khiển từ xa bằng tần số vôtuyến xuất hiện vào chiến tranh thế giới thứ I nhằm hướng dẫn các tàu hải quân Đứcđâm vào thuyền của quân đồng minh

Đến chiến tranh thế giới II, điều khiển từ xa dùng để kích nổ những quả bom.Sau chiến tranh, công nghệ tuyệt vời của chúng tiếp tục được cải tiến để phục vụđắc lực trong đời sống con người Và đến nay, có thể nói, gần như ai cũng đã từng sửdụng điều khiển từ xa để điều khiển một thiết bị nào đó

Ban đầu, người ta dùng điều khiển từ xa sử dụng công nghệ tần số vô tuyến RF(Radio Frequency) và sau đó bắt đầu ứng dụng công nghệ hồng ngoại IR (InfraredRemote) vào điều khiển từ xa Hiện nay trong đời sống, chúng ta sử dụng cả hailoại điều khiển từ xa này

Trang 6

Đây là hai đại lượng vectơ (có phương, chiều, độ lớn), có quan hệ mật thiết với nhautrong quá trình sóng truyền lan trong không gian

- Các nguồn bức xạ sóng điện từ thường có dạng sóng cầu hoặc sóng trụ, khi nghiêncứu ta chuyển về dạng sóng phẳng

- Nghiên cứu với sóng điện từ phẳng, truyền lan trong môi trường điện môi đồng nhất

và đẳng hướng

- Biểu diễn sóng điện từ bằng hệ phương trình Maxoel dạng vi phân

- Khi sóng truyền lan, tại mỗi điểm thành phần từ trường và điện trường có pha nhưnhau

- Hai dạng mặt sóng đặc biệt: Mặt sóng phẳng, mặt sóng cầu

- Quá trình truyền lan sóng điện từ: Tính chất sóng

Sóng điện từ bức xạ ra không gian dưới dạng vô số các mặt sóng liên tiếp

Nguồn bức xạ sóng điện từ chỉ đóng vai trò là nguồn bức xạ sơ cấp

Quá trình sóng truyền lan, các mặt sóng được tạo ra đóng vai trò là nguồn bức xạ thứcấp tạo ra các mặt sóng tiếp sau nó

1.2.4 Phân cực sóng

- KN: Trường phân cực là trường điện từ với các vecto E và H có thể xác định đượchướng tại thời điểm bất kỳ (biến đổi có tính quy luật)

Ngược lại là trường không phân cực (biến đổi ngẫu nhiên trong không gian)

- Mặt phẳng phân cực: Là mặt phẳng chứa vec tơ E và phương truyền lan sóng (vectoZ)

Trang 7

• Phân loại

+ Phân cực đường thẳng: Mặt phẳng phân cực cố định khi sóng lan truyền

- Phân cực đứng: Vecto E vuông góc với mặt phẳng nằm ngang

- Phân cực ngang: Vecto E song song với mặt phẳng nằm ngang

+ Phân cực quay: Mặt phẳng phân cực quay xung quanh trục của phương lan truyền

- Phân vực tròn: Khi vecto E quay, biên độ không thay đổi (vẽ lên đường tròn)

- Phân cực elip: Khi vecto E quay, biên độ thay đổi liên tục vẽ lên đường elip

Quay phải: Quay thuận chiều kim đồng hồ

Quay trái: Quay ngược chiều kim đồng hồ

1.2.5 Phân chia sóng điện từ

+ LF, MF: Phát thanh điều biên nội địa, thông tin hàng hải

+ HF: Phát thanh điều biên cự ly xa

+ VHF, UHF: Phát thanh điều tần (66 – 108 MHz), truyền hình, viba số băng hẹp, hệthống thông tin di động mặt đất

+ SHF: Viba số băng rộng, thông tin vệ tinh

+ EHF: Thông tin vũ trụ

1.2.5.1 Sóng đất

Trang 8

• Nguyên lý:

+ Bề mặt trái đất là môi trường dẫn khép kín đường sức điện trường

+ Nguồn bức xạ nằm thẳng đứng trên mặt đất, sóng điện từ truyền lan dọc theo mặt đấtđến điểm thu

+ Anten đặt cao trên mặt đất ít nhất vài bước sóng

+ Sóng điện từ đến điểm thu theo 2 cách:

- Sóng trực tiếp: Đi thẳng từ điểm phát đến điểm thu

- Sóng phản xạ: Đến điểm thu sau khi phản xạ trên mặt đất

• Đặc điểm:

+ Chịu ảnh hưởng nhiều của điều kiện môi trường

+ Phù hợp cho băng sóng cực ngắn, là phương thức truyền sóng chính trong thông

tin vô tuyến

1.2.5.3 Sóng tầng điện ly (sóng trời)

• Nguyên lý:

+ Lợi dụng đặc tính phản xạ sóng của tầng điện ly với các băng sóng ngắn

+ Sóng điện từ phản xạ sẽ quay trở về trái đất

• Đặc điểm:

+ Không ổn định do sự thay đổi điều kiện phản xạ của tầng điện ly

Trang 9

1.2.5.3 Sóng tự do (song thẳng)

• Nguyên lý:

+ Môi trường truyền sóng lý tưởng (đồng tính, đẳng hướng, không hấp thụ)

+ Sóng truyền lan trực tiếp đến điểm thu theo một đường thẳng

• Đặc điểm:

+ Môi trường chỉ tồn tại trong vũ trụ, sử dụng cho thông tin vũ trụ

+ Bầu khí quyển trái đất trong một số điều kiện nhất định được coi là không gian tự do

1.3 Điều khiển từ xa bằng sóng hồng ngoại (IR)

Ngày nay, đây là loại điều khiển từ xa có vai trò “thống trị” trong hầu hết các

thiết bị gia đình Một chiếc điều khiển IR sẽ gồm các bộ phận cơ bản nằm trong mộthộp nối cáp kỹ thuật số như sau: Các nút bấm; một bảng mạch tích hợp; các núm tiếpđiểm; đi - ốt phát quang (đèn LED)

Nguyên lý cơ bản của loại điều khiển từ xa này là sử dụng ánh sáng hồng ngoạicủa quang phổ điện từ mà mắt thường không thấy được để chuyển tín hiệu đến thiết bịcần điều khiển Nó đóng vai trò như một bộ phát tín hiệu, sẽ phát ra các xung ánhsáng hồng ngoại mang một mã số nhị phân cụ thể Khi ta ấn một nút phía bên ngoàithì sẽ vận hành một chuỗi các hoạt động khiến các thiết bị cần điều khiển sẽ thực hiệnlệnh của nút bấm đó

Quy trình này cụ thể như sau: Đầu tiên, khi ta nhấn vào một nút như “Tăng âm lượng” chẳng hạn, nó sẽ chạm vào núm tiếp điểm bên dưới và nối kín một mạch tăng

âm lượng trên bản mạch Các mạch tích hợp có thể tự dò tìm ra từng mạch cụ thể chotừng nút bấm Tiếp đó các mạch này sẽ gửi tín hiệu đến đèn LED nằm phía trước Từđây, đèn LED sẽ phát ra một chuỗi các xung ánh sáng chứa các mã nhị phân (gồm

những dãy số 1 và 0) tương ứng với lệnh “tăng âm lượng” Mã lệnh này gồm nhiều mã

con như khởi động, tăng âm lượng, mã địa chỉ thiết bị và ngừng lại khi ta thả nút ra

Trang 10

Về phía bộ phận cần điều khiển, nó sẽ gồm một bộ thu tín hiệu hồng ngoại nằm

ở mặt trước để có thể dễ dàng nhận được tín hiệu từ điều khiển từ xa Sau khi đã xácminh mã địa chỉ này xuất phát đúng từ chiếc điều khiển của mình, chúng sẽ giải mã cácxung ánh sáng thành các dữ liệu nhị phân để bộ vi xử lý của thiết bị có thể hiểu được

và thực hiện các lệnh tương ứng

Hiện nay, ta sử dụng thiết bị điều khiển IR cho hầu hết các vật dụng trong nhànhư tivi, máy stereo, điều hòa nhiệt độ… Chúng rất bền, tuy nhiên lại có hạn chế liênquan đến bản chất chỉ truyền theo đường thẳng của ánh sáng Do đó, loại điều khiển IR

có tầm hoạt động chỉ có khoảng 10 mét và cũng không thể truyền qua các bức tườnghoặc vòng qua các góc Chúng chỉ hoạt động tốt khi ta trỏ thẳng hay gần vị trí bộ thucủa vật cần điều khiển

Ngoài ra, nguồn ánh sáng hồng ngoại có ở khắp nơi như ánh sáng mặt trời, bóngđèn huỳnh quang, từ cơ thể con người… nên có thể làm cho điều khiển IR bị nhiễusóng Để tránh hiện tượng này, người ta phải cài đặt cho bộ lọc của các bộ phận thu chỉthu nhận những bước sóng đặc biệt hoặc tần số riêng biệt của ánh sáng hồng ngoại phùhợp với nó và chặn ánh sáng ở bước sóng khác để hạn chế sự nhiễu sóng một cách tốiđa

1.4 Điều khiển từ xa bằng tần số vô tuyến (RF)

Là loại điều khiển từ xa xuất hiện đầu tiên và đến nay vẫn giữ một vai tròquan trọng và phổ biến trong đời sống Nếu điều khiển IR chỉ dùng trong nhà thìđiều khiển RF lại dùng cho nhiều vật dụng bên ngoài như các thiết bị mở cửa gara xe,

hệ thống báo hiệu cho xem các loại đồ chơi điện tử từ xa thậm chí kiểm soát vệ tinh

và các hệ thống máy tính xách tay và điện thoại thông minh…

Với loại điều khiển này, nó cũng sử dụng nguyên lý tương tự như điều khiểnbằng tia hồng ngoại nhưng thay vì gửi đi các tín hiệu ánh sáng, nó lại truyền sóng vôtuyến tương ứng với các lệnh nhị phân Bộ phận thu sóng vô tuyến trên thiết bị đượcđiều khiển nhận tín hiệu và giải mã nó So với loại điều khiển IR, lợi thế lớn nhất của

Trang 11

nó chính là phạm vi truyền tải rộng, có thể sử dụng cách thiết bị cần điều khiển đếnhơn 30 mét đồnng thời có thể điều khiển tín hiệu xuyên qua được tường, kính……….Tuy nhiên, nó cũng có hạn chế đó là tín hiệu vô tuyến cũng có mặt khắp nơitrong không gian do hàng trăm loại máy móc thiết bị dùng các tín hiệu vô tuyến tạicác tần số khác nhau Do đó, người ta tránh nhiễu sóng bằng cách truyền ở các tần sốđặc biệt và nhúng mã kỹ thuật số địa chỉ của thiết bị nhận trong các tín hiệu vô tuyến.Điều này giúp bộ thu vô tuyến trên thiết bị hồi đáp tín hiệu tương ứng một cách chínhxác.

Hiện nay, cả hai loại điều khiển này đều được ứng dụng hết sức rộng rãi trong đời sống Người ta còn tích hợp cả hai lại để tạo thành những loại điều khiển từ xa vạn năng có thể điều khiển nhiều loại thiết bị cùng lúc hay chỉ cần bấm một nút sẽ tự động thực hiện một chuỗi lệnh tuần tự Ngoài ra, con người còn cải tiến các bộ mở rộng

nhằm chuyển đổi tín hiệu vô tuyến thành các xung hồng ngoại nhằm mở rộng phạm vi điều khiển hoạt động của các thiết bị trong gia đình…

1.4.1 Hoạt động

Với loại điều khiển này, nó cũng sử dụng nguyên lý tương tự như điều

khiển bằng tia hồng ngoại nhưng thay vì gửi đi các tín hiệu ánh sáng, nó lại

truyền sóng vô tuyến tương ứng với các lệnh nhị phân

Bộ phận thu sóng vô tuyến trên thiết bị được Điều khiển nhận tín hiệu và giải mã nó

Trang 12

Tránh nhiễu sóng bằng cách truyền ở các tần số đặc biệt và nhúng mã kỹ thuật

số địa chỉ của thiết bị nhận trong các tín hiệu vô truyến trên thiết bị hồi đáp tín hiệutương ứng một cách chính xác

1.5 Giới thiệu về modul 24L01

-Sơ đồ mô tả phần cứng:

Hình 1.1 Sơ đồ nguyên lý khối NRF24L01 trên kit AVR-V2

Trong KIT AVR V2, để sử dụng NRF24L01, cần cắm module NRF24L01 theođúng chiều chân giữa module và kit AVR V2 Angten của NRF24L01 hướng ra ngoài

Trang 13

4 CSN Chip Select, mức 0 sẽ cho phép giao tiếp SPI

6 MO Chân MOSI, nhận dữ liệu từ vi điều khiển

7 MI Chân MOSI, nhận dữ liệu từ vi điều khiển

8 IRQ Chân ngắt nhận, khi có dữ liệu mới sẽ có 1 sườn từ 0->1

Trang 14

- Có bộ lọc nhiễu tại đầu thu.

- Kiểu điều chế dữ liệu : GFSK

- Giao tiếp : SPI tốc độ tối đa 10Mbps

- Data : 1-32 bytes trên 1 khung truyền nhận

- Tự động xử lý gói tin, đóng khung dữ liệu truyền

- 125 kênh độc lập hoạt động ở tần số khác nhau, mỗi kênh truyền có 6 luồng truyền nhận

dữ liệu

- Tiêu thụ dòng điện thấp, nguồn nuôi : 1.9 – 3.6V

- Giao tiếp 4 pin SPI, tốc độ tối đa 8Mbps

1.5.1.2 Chuẩn SPI của NRF24L01

- Chức năng các chân như sau :

SCK : Xung clock đồng bộ, chốt dữ liệu bằng sườn âm

CSN : Chip select Mức 0 sẽ cho phép giao tiếp

MOSI : Xuất tín hiệu từ NRF24L01 đến vi điều khiển

MISO : Nhận tín hiệu từ vi điều khiển gửi đến

Hình 1.3 Khung truyền/nhận dữ liệu chuẩn SPI

1.5.1.3 Khung truyền dữ liệu

Trang 15

- Định dạng gói tin

1byte đồng

bộ 3 - 5 byte Địa chỉ

byte điều khiển gói 1-32 byte

data

1-2 byte CRC

Trong đó :

- Byte đồng bộ : 01010101 hoặc 10101010

Nếu bit đầu tiên của byte Địa chỉ bằng 1, byte đồng bộ = 10101010, ngược lạibyte đồng bộ = 01010101

Byte này được tính toán và tự động chèn vào gói tin

- Địa chỉ : chứa 3 đến 5 byte địa chỉ gửi, do người dùng tự điều chỉnh Giá trị mặc

định = 0x00FFFFFF điều chỉnh tại thanh ghi TX_ADDR.

- Byte điều khiển gói : bao gồm 9 bit, chức năng như sau.

[ 6 bit ] độ dài Data [2 bit ] PID identity [1 bit ] cờ

NO_ACK

- Độ dài Data : giá trị từ 1-32, cho biết độ dài dữ liệu cần truyền, giá trị này chứa

trong thanh ghi RX_PW_P0 hoặc RX_PW_P1.

- PID identity: kiểm tra sai hoặc lỗi dữ liệu truyền ,tự động xử lý Khi dữ liệu gửi

bị sai hoặc thiếu thì sau 1 khoảng thời gian NRF24L01 sẽ gửi lại dữ liệu trướcđó

- NO_ACK : mức 1 sẽ không sử dụng ACK Điều chỉnh tại bit 0 của thanh ghi

FEATURE.

- Data: chứa dữ liệu cần gửi

- CRC :chứa 1 hoặc 2 byte CRC

Trang 16

1.5.1.4 Các thanh ghi và lệnh thực thi của NRF24L01

Bảng 2 : các thanh ghi của NRF24L01

Địa

chỉ

thanh

ghi

Tên thanh ghi Chức năng

0x00 CONFIG Cấu hình chế độ hoạt động của NRF24L01

0x01 EN_AA Cho phép gửi kèm ACK cho từng kênh truyền

0x02 EN_RXADDR Cho phép gửi kèm Địa chỉ Slave cho từng kênh truyền

0x03 SETUP_AW

Chọn độ dài Byte địa chỉ :

00 : không được phép01: 3 byte

10: 4 byte

11: 5 byte

0x04 SETUP_RETR Chọn thời gian trễ giữa 2 lần truyền

0x05 RF_CH Chọn một trong 125 kênh truyền dữ liệu

0x07 STATUS Báo trạng thái của NRF24L01

0x08 OBSEVE_RX Đếm số gói tin bị lỗi và số lần gửi phản hồi

0x09 RPD Đo cường độ năng lượng thu được

0x0A RX_ADDR_P0 Địa chỉ RX của P0,độ dài 5 byte Bit [39:0]

0x0B RX_ADDR_P1 Địa chỉ RX của P1 đến 5,độ dài 5 byte Bit [39:0]

0x0C RX_ADDR_P2 Địa chỉ RX của P2, bit [39:8] của RX_ADDR_P1

0x0D RX_ADDR_P3 Địa chỉ RX của P3, bit [39:8] của RX_ADDR_P1

0x0E RX_ADDR_P4 Địa chỉ RX của P4, bit [39:8] của RX_ADDR_P1

0x0F RX_ADDR_P5 Địa chỉ RX của P5, bit [39:8]của RX_ADDR_P1

Trang 17

10 TX_ADDR Địa chỉ TX cần truyền, độ dài 5 byte

0x11 RX_PW_P0

Độ dài dữ liệu nhận được của Kênh 0, giá trị :

0: không được sử dụng 1: độ dài 1 byte

……

32: độ dài 32 byte

0x12 RX_PW_P1 Độ dài dữ liệu nhận được của Kênh 1

0x13 RX_PW_P2 Độ dài dữ liệu nhận được của Kênh 2

0x14 RX_PW_P3 Độ dài dữ liệu nhận được của Kênh 3

0x15 RX_PW_P4 Độ dài dữ liệu nhận được của Kênh 4

0x16 RX_PW_P5 Độ dài dữ liệu nhận được của Kênh 5

0x17 FIFO_STATUS Trạng thái của FIFO

N/A ACK_PLD Độ dài 32 byte, gửi các lệnh đến NRF24L01

N/A TX_PLD Độ dài 32 byte, dữ liệu cần truyền qua NRF

24L01N/A RX_PLD Độ dài 32 byte, dữ liệu đọc từ NRF24L01

0x1c DYNPD Cho phép thay đổi độ dài gói tin

Bảng 3 : các lệnh thực thi NRF24L01

1.5.2 Phân tích:

-Modul nRF24L01 hoạt động ở tần số sóng ngắn 2.4G nên Modul này khả năng

truyền dữ liệu tốc độ cao và truyền nhận dữ liệu trong điều kiện môi trường có vật cản -Modul nRF24L01 có 126 kênh truyền Điều này giúp ta có thể truyền nhận dữ liệu

Trang 18

trên nhiều kênh khác nhau.

-Modul khả năng thay đổi công suất phát bằng chương trình, điều này giúp nó có thể hoạt động trong chế độ tiết kiệm năng lượng

-Chú ý: Điện áp cung cấp cho là 1.93.6V Điện áp thường cung cấp là 3.3V

Nhưng các chân IO tương thích với chuẩn 5V Điều này giúp nó giao tiếp rộng dãi với các dòng vi điều khiển

Hình 1.4 Sơ đồ kết nối vi điều khiển

Khi kết nối tới vi điều khiển bạn nhớ cấu hình chân đó là output hay input (AVR, PIC)

a Địa chỉ truyền nhận:

Khung truyền của nRF24L01 từ 3-5 bytes dùng làm địa chỉ Bạn có thể cấu hình,

nhưng địa chỉ truyền như thế nào thì địa chỉ nhận của chip tương ứng phải giống như thế để có thể thu được tín hiệu Trong chương trình mình dùng 5 byte cho địa chỉ

truyền nhận

#define TX_ADR_WIDTH 5 // 5 uints TX address width

#define RX_ADR_WIDTH 5 // 5 uints RX address width

unsigned char const TX_ADDRESS[TX_ADR_WIDTH]=

Trang 19

unsigned char const RX_ADDRESS[RX_ADR_WIDTH]=

{0x34,0x43,0x10,0x10,0x01};

Hàm void init_NRF24L01(void)cấu hình truyền nhận :

SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);

SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS,

RX_ADR_WIDTH);

b Khung dữ liệu

Khung dữ liệu từ 0-32 byte, hiện tại mình dùng 32 byte Nếu bạn dùng số lượng byte khác thì có thể cấu hình trong biến

#define TX_PLOAD_WIDTH 32 // 32 uints TX payload

#define RX_PLOAD_WIDTH 32 // 32 uints TX payload

Hàm nRF24L01_TxPacket(unsigned char * tx_buf) gửi dữ liệu trong tx_buf

SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // gửi dữ liệu 32 byte

Trong hàmvoid init_NRF24L01(void)cấu hình số byte nhận.

SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); // Do rong data nhận 32 byte

c Kênh truyền nhận và địa chỉ nhận.

Tay phát nRF24L01 có 126 kênh truyền Ban có thể lựa chọn kênh truyền nào bạn muốn bằng hàm

SPI_RW_Reg(WRITE_REG + RF_CH, 0); // kênh 0, tần số RF = 2400 + RF_CH*(1or 2 M)

- Trong 1 kênh truyền, nRF24L01 có thể nhận được 6 luồng dữ liệu Do đó bạn phải lựa chọn 1 trong 6 luồng đó

SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 0x01 Luồng P0

Trang 20

SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 0x01 Enable Luồng P0

Để gửi dữ liệu đi bạn làm theo các bước sau

- Cho dữ liệu vào buffer, biến TxBuf[32]

- Chọn nRF24L01 ở chế độ phát, gọi hàm void SetTX_Mode(void);

- Gọi hàm void nRF24L01_TxPacket(unsigned char * tx_buf); để truyền dữ liệu

trong TxBuf[32] đi

g Cách nhận dữ liệu

- Chọn nRF24L01 ở chế độ thu, gọi hàm void SetRX_Mode(void);

- Độ dữ liệu trong bộ đệm sau khi gọi hàm unsigned char

nRF24L01_RxPacket(unsigned char* rx_buf);

Trang 21

CHƯƠNG 2

TỔNG QUAN VỀ MỘT SỐ LINH KIỆN SỬ DỤNG

2.1 Giới thiệu linh kiện sử dụng

Vi điều khiển AVR do hãng Atmel (Hoa Kì ) sản xuất được gới thiệu lần đầunăm1996 AVR có rất nhiều dòng khác nhau bao gồm dòng Tiny AVR ( như AT tiny 13,ATtiny 22…) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi, rồi đến dòng AVR (nhưAT90S8535, AT90S8515,…) có kích thước bộ nhớ vào loại trung bình và mạnh hơn làdòng Mega ( như ATmega32,ATmega128,…) với bộ nhớ có kích thước vài Kbyte đến vàitrăm Kb cùng với các bộ ngoại vi đa dạng được tích hợp trên chip, cũng có dòng tích hợp

cả bộ LCD trên chip ( dòng LCD AVR ) Tốc độ của dòng Mega cũng cao hơn so với cácdòng khác Sự khác nhau cơ bản giữa các dòng chình là cấu trúc ngoại vi , còn nhân thì vẫnnhư nhau

ATmega16 là một lọai vi điều khiển có nhìều tính năng đặc biệt thích hợp cho việc giải quyết những bài toán điều khiển trên nền vi xử lý.

Các lọai vi điều khiển AVR rất phổ biến trên thị trừơng Việt Nam nên không khó khăn trong việc thay thế và sửa chữa hệ thống lúc cần thiết hay hỏng hóc Hơn nữa giá thành của dòng Vi Điều Khiển này cũng khá phải chăng Các phần mềm lập trình và mã nguồn mở có thể tìm kiếm khá dễ dàng trên mạng.Các thiết kế demo nhiều nên có nhiều gợi ý tốt cho người thiết kế hệ thống.

2.1.1 Tổng quan về vi điều khiển AVR Atmega 16

AVR ATmega16 là vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựa trên kiến trúcRISC ( Reduced Instruction Set Computer ) Với kiểu kiến trúc này cho phép các lệnhthực thi trong một chu kỳ xung nhịp, vì thế tốc độ xử lý dữ liệu có thể đạt 16 triệu lệnhtrên giây ở tần số 16MHZ AVR ATmega16 cho phép người thiết kế có thể tối ưu hóamức độ tiêu thụ năng lượng mà vẫn bảo đảm tốc độ xử lý

Trang 22

Dưới đây là sơ đồ khối của ATmega16

Hình 2.1 Sơ đồ cấu trúc ATmega16

ATmega16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khighi, 512 byte bộ nhớ EEPROM, 1KB bộ nhớ SRAM, 32 thanh ghi chức năng chung, 32đường vào ra chung, 3 bộ định thời/bộ đếm, ngắt nội và ngắt ngoại, USART, giao tiếp

Trang 23

ATmega 16 hỗ trợ đầy đủ các chương trình và công cụ phát triển hệ thống như:trình dịch C, macro assemblers, chương trình mô phỏng/sửa lỗi, kit thử nghiêm,

2.1.2 Cấu trúc nhân AVR

CPU của AVR có chức năng bảo đảm sự hoạt động chính xác của các chương trình

Do đó nó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán, điều khiểncác thiết bị ngoại vi và quản lý ngắt

2.1.3 Cấu trúc tổng quát

Hình 2.2 Sơ đồ cấu trúc CPU của ATmega16

AVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chương trình và dữliệu Các lệnh được thực hiện chỉ trong một chu kỳ xung clock Bộ nhớ chương trìnhđược lưu trong bộ nhớ Flash

2.1.3.1 ALU

Trang 24

ALU làm việc trực tiếp với các thanh ghi chức năng chung Các phép toán được thực hiện trong một chu kỳ xung clock Hoạt động của ALU được chia làm 3 loại: đại số, logic

và theo bit

2.1.3.2 Thanh ghi trạng thái

Đây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phép tính sốhọc và logic

Hình 2.3 Thanh ghi trạng thái SREG

C: Carry Flag ;cờ nhớ (Nếu phép toán có nhớ cờ sẽ được thiết lập)

Z: Zero Flag ;Cờ zero (Nếu kết quả phép toán bằng 0)

N: Negative Flag (Nếu kết quả của phép toán là âm)

V: Two’s complement overflow indicator (Cờ này được thiết lập khi tràn số bù 2)

V, For signed tests (S=N XOR V)S: N

H: Half Carry Flag (Được sử dụng trong một số toán hạng sẽ được chỉ rõ sau)

T: Transfer bit used by BLD and BST instructions(Được sử dụng làm nơi chung giantrong các lệnh BLD,BST)

I: Global Interrupt Enable/Disable Flag (Đây là bit cho phép toàn cục ngắt Nếu bitnày ở trạng thái logic 0 thì không có một ngắt nào được phục vụ.)

2.1.3.3 Các thanh ghi chức năng chung

Hình 2.4 Thanh ghi chức năng chung

2.1.3.4 Con trỏ ngăn xếp (SP)

Trang 25

Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghi chức năng đặcbiệt 8 bit Có địa chỉ trong các thanh ghi chức năng đặc biệt là $3E (Trong bộ nhớ RAM

là $5E) Có nhiệm vụ trỏ tới vùng nhớ trong RAM chứa ngăn xếp

Hình 2.5 Thanh ghi con trỏ ngăn xếp

Khi chương trình phục vu ngắt hoặc chương trình con thì con trỏ PC được lưu vàongăn xếp trong khi con trỏ ngăn xếp giảm hai vị trí Và con trỏ ngăn xếp sẽ giảm 1 khithực hiện lệnh push Ngược lại khi thực hiện lệnh POP thì con trỏ ngăn xếp sẽ tăng 1 vàkhi thực hiện lệnh RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2 Như vậy con trỏ ngănxếp cần được chương trình đặt trước giá trị khởi tạo ngăn xếp trước khi một chương trìnhcon được gọi hoặc các ngắt được cho phép phục vụ Và giá trị ngăn xếp ít nhất cũng phảilơn hơn hoặc bằng 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi

2.1.3.5 Quản lý ngắt

Ngắt là một cơ chế cho phép thiết bị ngoại vi báo cho CPU biết về tình trạng sẵn xàng

cho đổi dữ liệu của mình.Ví dụ:Khi bộ truyền nhận UART nhận được một byte nó sẽ báo

cho CPU biết thông qua cờ RXC,hợc khi nó đã truyền được một byte thì cờ TX đượcthiết lập…

Khi có tín hiệu báo ngắt CPU sẽ tạm dừng công việc đạng thực hiện lại và lưu vị tríđang thực hiên chương trình (con trỏ PC) vào ngăn xếp sau đó trỏ tới vector phuc vụ ngắt

và thức hiện chương trình phục vụ ngắt đó chơ tới khi gặp lệnh RETI (return frominterrup) thì CPU lại lấy PC từ ngăn xếp ra và tiếp tục thực hiện chương trình mà trướckhi có ngăt nó đang thực hiện Trong trường hợp mà có nhiều ngắt yêu cầu cùng một lúcthì CPU sẽ lưu các cờ báo ngắt đó lại và thực hiện lần lượt các ngắt theo mức ưu tiên.Trong khi đang thực hiện ngắt mà xuất hiện ngắt mới thì sẽ xảy ra hai trường hợp.Trường hớp ngắt này có mức ưu tiên cao hơn thì nó sẽ được phục vụ Còn nó mà có mức

ưu tiên thấp hơn thì nó sẽ bị bỏ qua

Bộ nhớ ngăn xếp là vùng bất kì trong SRAM từ địa chỉ 0x60 trở lên Để truy nhập vàoSRAM thông thường thì ta dùng con trỏ X,Y,Z và để truy nhập vào SRAM theo kiểungăn xếp thì ta dùng con trỏ SP Con trỏ này là một thanh ghi 16 bit và được truy nhậpnhư hai thanh ghi 8 bit chung có địa chỉ :SPL :0x3D/0x5D(IO/SRAM) vàSPH:0x3E/0x5E

Khi chương trình phục vu ngắt hoặc chương trình con thì con trỏ PC được lưu vào ngănxếp trong khi con trỏ ngăn xếp giảm hai vị trí.Và con trỏ ngăn xếp sẽ giảm 1 khi thực

Ngày đăng: 24/05/2015, 18:06

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Sơ đồ khối NRF24L01 - Điều khiển robot mini dùng sóng RF
Hình 1.2 Sơ đồ khối NRF24L01 (Trang 13)
Bảng 2 : các thanh ghi của NRF24L01 - Điều khiển robot mini dùng sóng RF
Bảng 2 các thanh ghi của NRF24L01 (Trang 16)
Bảng 3 : các lệnh thực thi NRF24L01 - Điều khiển robot mini dùng sóng RF
Bảng 3 các lệnh thực thi NRF24L01 (Trang 17)
Hình 1.4 Sơ đồ kết nối vi điều khiển - Điều khiển robot mini dùng sóng RF
Hình 1.4 Sơ đồ kết nối vi điều khiển (Trang 18)
Hình 2.1. Sơ đồ cấu trúc ATmega16 - Điều khiển robot mini dùng sóng RF
Hình 2.1. Sơ đồ cấu trúc ATmega16 (Trang 22)
Hình 2.2. Sơ đồ cấu trúc CPU của ATmega16 - Điều khiển robot mini dùng sóng RF
Hình 2.2. Sơ đồ cấu trúc CPU của ATmega16 (Trang 23)
Hình 2.10. Sơ đồ đơn vị so sánh ngõ ra - Điều khiển robot mini dùng sóng RF
Hình 2.10. Sơ đồ đơn vị so sánh ngõ ra (Trang 30)
Hình 2.15. Thanh ghi cờ ngắt bộ định thời. - Điều khiển robot mini dùng sóng RF
Hình 2.15. Thanh ghi cờ ngắt bộ định thời (Trang 32)
Hình 2.16. Sơ đồ khối bộ USART - Điều khiển robot mini dùng sóng RF
Hình 2.16. Sơ đồ khối bộ USART (Trang 33)
Hình 2.19. Sơ đồ bộ biến đổi A/D - Điều khiển robot mini dùng sóng RF
Hình 2.19. Sơ đồ bộ biến đổi A/D (Trang 38)
Hình 3.1  Sơ đồ khối nguồn - Điều khiển robot mini dùng sóng RF
Hình 3.1 Sơ đồ khối nguồn (Trang 46)
Hình 3.7 Khối relay điều khiển động cơ - Điều khiển robot mini dùng sóng RF
Hình 3.7 Khối relay điều khiển động cơ (Trang 48)

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