Tải bản đầy đủ (.pdf) (18 trang)

Hardware của soccer robot

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 (384.14 KB, 18 trang )

HARDWARE CUÛA
SOCCER ROBOT

CuuDuongThanCong.com

/>

2.1

Giới thiệu chung về hardware của soccer robot:
Soccer robot bao gồm CPU MR188 board, board điều khiển động cơ, RF(vô tuyến)

module.Để tăng sự hoạt động của robot, bộ điều khiển CPLD được sử dụng để điều khiển
độ rộng xung PWM động cơ và các tín hiệu encoder.CPLD là phương tiện trợ giúp cho
việc lập trình điều khiển.
Hardware của robot cụ thể như sau:
CPU:Kích thước 72mmx46mm(MR188A1 Board)
RF và Motor Control Board:71.5mmx72.5mm
DC motor:
-Hộp số: 7.5:1
-Tốc độ tối đa:1.5m/s.
Encoder: 512 pulse/vòng
Pin: 7.2V,450mAh
RF Module: BiM-418 hoặc BiM-433
Driver động cơ DC:L298
DC motor controller: CY37128(CPLD)
2.2

RF Module:
2.2.1


RF Module là gì?

RF (Radio Frequency) module là thiết bị sử dụng đề truyền thông sóng vô tuyến.
Trong trường hợp này tần số sóng vô tuyến đề cập đến sóng điện thông dụng và không chỉ
là tần số vô tuyến phát thanh. RF module có thể được phân loại theo tần số, phương pháp
điều biến (sự biến đổi của tín hiệu dạng số sang dạng tương tự, thường dùng trong truyền
tín hiệu qua các hệ thống viễn thông), dữ liệu, cường độ ngõ ra…
2.2.2

Charisma RF Board:

Mạch giao tiếp vô tuyến Charisma chuyển đổi dữ liệu nối tiếp RS232 sang dữ liệu
RF và ngược lại. Charisma Board có thể dễ dàng kết nối với các thiết bị sử dụng cổng
RS232. Charisma được thiết kế sử dụng RadioMetrix BiM,TX2 hay RX2

CuuDuongThanCong.com

/>

modules. PC và PC cũng có thể giao tiếp được với nhau nếu cả 2 PC đều kết nối với
Charisma board.
2.3

Radiometrix BiM-UHF:
2.3.1

Định nghóa và ứng dụng Radiometrix:

BiM-418-F và BiM-433F là những module vô tuyến UHF thu nhỏ có khả năng
truyền dữ liệu đơn công với tốc độ lên đến 40Kbit/s và khoảng cách truyền lên đến

30m(trong nhà) và 120m(ngoài trời).

Tần số

Tốc độ

Khoảng cách

Nguồn

Anten

BiM-418-F

418MHz

40K bps

30-120m

4.5V-5.5V

16.5cm

BiM-433-F

433.92MHz

40H bps


30-120m

4.5V-5.5V

16.5cm

Module này tích hợp bộ phát UHF FM năng lượng thấp, bộ thu đổi tần số phù hợp
với phục hồi dữ liệu và những mạch chuyển đổi TX/RX để cung cấp một giải pháp kinh tế
trong thực hiện việc liên kết dữ liệu bằng sóng vô tuyến tầm ngắn theo
2 chiều. Tốc độ dữ liệu cao (40kbit/s) và sự chuyển đổi TX/RX nhanh(<1ms) làm cho bộ
phát BiM lý tưởng cho việc truyền nguyên vẹn thông tin của những liên kết one-to-one và
mạng.
Những ứng dụng thực tế của module:
Những mạng máy tính có tốc độ trung bình.
Những báo động về an ninh/cứu hỏa.
Việc điều khiển / hiển thị trong các tòa nhà.vv

CuuDuongThanCong.com

/>

2.3.2

Mô tả các chân :

Hình 2.1: Mô tả các chân của Radiometrix.
Pin13:Đây là ngõ ra của điều chế FM. Nó có DC bias hiện hành khoảng xấp xỉ
1.5V và có thể được sử dụng để lái những bộ giải mã dữ liệu tương tự như là những bộ giải
mã modem. Trở kháng ngõ ra là 10kOhm. Ngõ ra chỉ là dữ liệu thực cho BiM-418 và đảo
ngược lại với BiM-433.

Pin14 (TXD): Ngõ vào này luôn <0.5V khi TX không được chọn.
Pin 15 (TX select):Sự lựa chọn truyền/nhận với điện trở trong 10kOhm.
Pin16 (RX select): Có thể được lái bằng cực thu hở hoặc là CMOS logic.

Pin17: VCC: có thể sử dụng các nguồn áp từ 4.5-5.5 V. Độ gợn sóng tối đa là
50mV đỉnh-đỉnh.
2.4

Charisma board:
2.4.1

Sơ đồ bố trí:

CuuDuongThanCong.com

/>

Hình 2.2: Sơ đồ bố trí của mạch giao tiếp RF.
2.4.2

Cài đặt module:

Module RF là các module giao tiếp 2 chiều.Để chọn chế độ truyền và nhận có thể
sử dụng phương pháp phần mềm và phần cứng.Phương pháp phần mềm sử dụng chân RTS
của cổng RS232.Phương pháp phần cứng sử dụng khối jumper như sau:

Cài đặt jumper

Chế độ


1,2

Nhận

2,3

Phương pháp phần mềm (truyền và nhận)

Empty

Truyền, phát

CuuDuongThanCong.com

/>

Nếu sử dụng phương pháp phần mềm thì dùng cáp nối tiếp 4 dây kết nối vào
JP3 thay cho JP2.

JP4

ANT BIM418(or 433) DC 9V JP1 POWER

DC 5V JP7

Kết nối một đầu của cáp nối tiếp (đầu nối có header) vào JP2.Đầu còn
lại(đầu nối DB9) gắn vào cổng COM của máy tính.
Ba chân của JP4 kết nối như sau để RF board hoạt động theo chế độ chỉ
truyền phát:
Cả 3 chân của JP4 không nối với nhau(JP4 hở).


CuuDuongThanCong.com

/>

Chân 1 và 2 của JP4 nối với nhau và chân 3 để hở.

Gắn anten vào cực ANT.
Đặt RF module(BiM-418-F hay BiM-433-F) vào IC socket
Nối adapter 6V-12V vào J1 hoặc DC 5V vào JP7;pin 9V vào JP1.
2.4.3

Những yêu cầu cơ bản mà dữ liệu truyền nối tiếp phải thỏa mãn:
T(thời gian của độ rộng xung):25usPhần chuẩn bị:Mẩu dữ liệu trong bộ nhận đòi hỏi ít nhất 3ms của các
byte chuẩn bị “10101010” hay “01010101” được truyền trước khi dữ
liệu tại ngõ ra RXD đạt được độ tin cậy .Nếu thời gian này tăng lên
5ms sẽ làm giảm đi nhiễu RF.
Tỉ lệ Mark/Space:Mẩu dữ liệu trong bộ thu thường là những dạng sóng
dữ liệu với tỉ lệ trung bình 50:50 Mark:Space trong chu kỳ 4ms.Mẩu tin
sau đó sẽ duy trì sự bất đối xứng lên đến tỉ lệ 30:70(hoặc 70:30),tuy
nhiên điều này dẫn đến kết quả là sẽ tăng được độ rộng xung và giảm
thiểu nhiễu.
Packet:Packet là dữ liệu đóng gói đi kèm theo các luật được sử dụng
trong giao tiếp RF.Ví dụ về một dạng packet:

- Preamble(chuẩn bị):có thể dùng chuỗi dữ liệu 55h hay AAh.
- 55h=01010101B,AAh=10101010B→Tỉ lệ Mark:Space 50:50
- FFh: Để tìm bit bắt đầu
- (FFh):Tùy ý.

- Start byte :Byte bắt đầu .
- (01h):Tùy ý.

CuuDuongThanCong.com

/>

- Data bytes:Chuỗi byte 00H hay FFH sẽ bị lỗi vì tỉ lệ mark/space không phù
hợp. Các giá trị thích hợp có thể là 17h, 1Bh, 1Dh, 1Eh, …4Eh,
53h…, 87h, 8Bh…
- CRC hay Checksum:Tùy ý.
2.5

MR188A1 board:
2.5.1

Giới thiệu về vi điều khiển AM188ES:

AM188ES là sự phát triển của họ vi điều khiển AMD theo tiêu chuẩn công nghiệp
x86. Vi điều khiển AM188ES có khả năng hoạt động và sự tích hợp cao hơn dòng vi xử lý
80C188 vì những lí do sau :
+

Tối thiểu hoá chi phí của toàn bộ hệ thống:Những thiết bị ngoại vi mới và hệ

thống tương thích logic tích hợp trong vi điều khiển AM188ES giảm chi phí trong các thiết
kế so với vi xử lý 80C188.
+ Tăng cường sự hoạt động: Vi điều khiển AM188ES tăng cường cho hoạt động của
hệ thống 80C188 và bus địa chỉ đơn thành phần tạo ra sự truy xuất bộ nhớ nhanh và không
cần bộ đệm.

+ Tăng cường các chức năng: Những thiết bị ngoại vi mới và được tăng cường trong
AM188ES bao gồm 2 cổng nối tiếp không đồng bộ, 32PIOs(chân I/O), watchdog
timer, những chân vào ngắt, bộ điều rộng xung, bộ điều khiển PSRAM…
2.5.2

Tính chất đặc trưng của vi điều khiển AM188ES:

+ Tần số hoạt động 20, 25, 33, 40 MHz.
+ Vùng địa chỉ bộ nhớ: 1MB
+ 64KB vùng I/O.
+ Vcc cho tần số đến 33MHz là 5V +/- 10%.
+ Vcc cho tần số trên 33MHz là 5V +/- 5%.
+ Hai cổng nối tiếp không đồng bộ cho phép việc truyền dữ liệu song công hoàn
toàn 7 bit, 8 bit hay 9bit.
+ 32 chân I/O lập trình được.
+ Watchdog timer.

CuuDuongThanCong.com

/>

+ Chế độ điều chế độ rộng xung.
+ 8 bit hoặc 16 bit bộ nhớ
+ 2 kênh DMA độc lập.
+ Các ngắt điều khiển lập trình được bao gồm:8 ngắt ngoài và 8 ngắt trong.
+ Bộ nhớ lập trình được và logic chọn chip ngoại vi.
+ 3 timer lập trình 16 bit.
+ Trạng thái tónh lập trình được.
+ Bộ chia xung đồng hồ tiếp kiệm năng lượng.
2.5.3


Sơ đồ khối, sơ đồ chân và chức năng các chân của vi điều khiển

AM188ES:

Hình 2.3: Sơ đồ khối của vi điều khiển AM188ES.

CuuDuongThanCong.com

/>

Hình 2.4: Chức năng các chân của vi điều khiển AM188ES.
+ Xung đồng hồ(Clocks): đưa vào các chân X1; X2; CLKOUTA; CLKOUTB.
+ Các bus địa chỉ và bus địa chỉ/dữ liệu: Các chân A19-A0; AD15-AD0; S6/ LOCK /
CLKDIV 2 ; UZI
+ Điều khiển bus
+ Điều khiển timer
+ Điều khiển DMA
+ Điều khiển bộ nhớ và ngoại vi
+ Điều khiển reset và các chế độ ngắt
+ Điều khiển nhập/xuất điều khiển được
+ Điều khiển cổng nối tiếp bất đồng bộ

CuuDuongThanCong.com

/>

2.5.4

Lập trình cho vi điều khiển:

AMD188ES có tổng cộng 14 thanh ghi, chúng được chia theo các nhóm chức

năng như sau:
+ Các thanh ghi thông dụng:
-8 thanh ghi 16 bit có chức năng thông dụng có thể sử dụng cho những toán
hạng đại số và logic.
- Thanh ghi trong số này (AX, BX, CX, và DX) có thể được sử dụng như là các
thanh ghi 16 bit hoặc chia thành các cặp thanh ghi 8 bit (AH, AL, BH, BL, CH,
CL, DH và DL).
- Các thanh ghi chỉ số đến (DI) và chỉ số nguồn (SI) được sử dụng cho việc di
chuyển dữ liệu và những chỉ dẫn cho chuỗi.
- Các thanh ghi Base Pointer (BP) và Stack-Pointer (SP) được sử dụng cho việc
phân đoạn các stack và trỏ tương ứng đến cuối và đầu của stack.
-

Các thanh ghi nền và chỉ số:

4 thanh ghi thông dụng (BP, DX, DI và SI) cũng có thể sử dụng dể xác định các địa chỉ
offset của các toán hạng trong bộ nhớ.Những thanh ghi có thể mang các địa chỉ
nền hay các chỉ số trong những vùng riêng biệt khi phân đoạn.Những mode địa chỉ chọn
những thanh ghi cụ thể cho các toán hạng và các phép tính toán địa chỉ.
- Thanh ghi Stack Pointer:
Tất cả các thao tác trên stack (POP, POPA, POPF, PUSHA, PUSHF) đều sử dụng stack
pointer. Thanh ghi Stack Pointer luôn được offset từ thanh ghi Stack Segment
(SS).
- Các thanh ghi phân đoạn (Segment Registers):
4 thanh ghi 16 bit dùng cho mục đích đặc biệt (CS, DS, ES, SS) chọn những sự phân đoạn
của bộ nhớ có địa chỉ tức thời cho đoạn mã (CS), dữ liệu (DS và ES), và stack bộ nhớ
(SS).
- Các thanh ghi trạng thái và điều khiển:

Hai thanh ghi đặc biệt 16 bit ghi nhận hay điều chỉnh những giai đoạn của trạng thái xử
lý của vi điều khiển-Thanh ghi chỉ dẫn (Instruction Register-IP) lưu trữ địa chỉ offset các
chỉ dẫn liên tiếp theo sau để được thực thi và các cờ trạng thái xử ly
(Processor Status Flags) lưu trữ các bit cờ trạng thái và điều khiển.
Thanh ghi các cờ trạng thái xử lý:

CuuDuongThanCong.com

/>

2.5.5

Tổ chức bộ nhớ:

Bộ nhớ được tổ chức theo thành các tập hợp của các đoạn. Mỗi đoạn là dãy liền kề
của 64K của các byte 8 bit bộ nhớ được định địa chỉ sử dụng địa chỉ có 2 thành phần gồm
giá trị đoạn 16 bit và giá trị offset 16 bit. Offset là số lượng byte bắt đầu ở mỗi đoạn đến
dữ liệu hay những chỉ thị đang được xử lý.
Bộ xử lý tạo thành địa chỉ vật lý của đích đến bằng việc lấy các đoạn địa chỉ, dịch nó
sang trái 4 bit và thêm nó vào 16 bit offset. Kết quả sẽ là địa chỉ 20 bit của dữ liệu đích
hay chỉ thị.Điều này cho phép kích thước địa chỉ vật lý là 1Mb.
Chẳng hạn nếu đoạn thanh ghi được nạp vào giá trị 12A4H và offset là
0022H.Kết quả là địa chỉ 12A62H.

Các giá trị đoạn 16 bit được lưu trữ vào 1 trong 4 thanh ghi đoạn bên trong
(CS,DS,ES, và SS). Để có thêm vùng bộ nhớ vi điều khiển AM188ES cung cấp vùng
không gian I/O 64K.
Vùng không gian I/O:
Bao gồm các cổng 64K 8 bit hay 32K 16 bit. Các chỉ thị IN,OUT định địa chỉ vùng
không gian I/O với địa chỉ port 8 bit được định rõ trong chỉ thị hay địa chỉ port

16 bit trong thanh ghi DX. Các địa chỉ port 8 bit là phần mở rộng zero để A15-A8 là mức
thấp.

CuuDuongThanCong.com

/>

2.5.6

Đơn vị điều khiển ngắt:

Vi điều khiển Am188ES có thể nhận các yêu cầu ngắt từ nhiều nguồn khác nhau ở
bên trong lẫn bên ngoài. Có 8 nguồn ngắt ngoài -7 chân ngắt (INT6-INT0) có che mặt nạ
và 1 chân ngắt không che mặt na (NMI). Có 8 nguồn ngắt bên trong bao gồm:3 timer, 2
kênh DMA, 2 cổng nối tiếp bất đồng bộ và watchdog timer NMI.
Các dạng ngắt:

2.5.7

Đơn vị điều khiển bộ định thì (timer):

AM188ES có 3 timer 16 bit có thể lập trình được .Timer 0 và timer 1 rất đa năng và
mỗi timer được kết nối với 2 chân bên ngoài(một cho input và một cho output).Hai timer
này có thể dùng để đếm,ịnh thì cho các sự kiện bên ngoài ,ngoài ra chúng còn tạo ra các
dạng sóng không theo chu kì và có độ rộng xung thay đổi.
Timer 2 không kết nối với chân bên ngoài ,nó được sử dụng cho những ứng dụng mã
hoá thời gian thực hay delay những khoảng thời gian,nó cũng có thể dùng cho những yêu
cầu DMA.

CuuDuongThanCong.com


/>

Các timer được điều khiển bởi 11 thanh ghi 16 bit nằm trong khối điều khiển ngoại
vi:

Các thanh ghi timer count lưu trữ giá trị hiện tại của timer. Vi điều khiển sẽ tăng
(giảm) giá trị của các thanh ghi này mỗi khi có một sự kiện diễn ra .
Mỗi timer có một thanh ghi đếm giá trị tối đa (Maximum Count Compare) xác định
giá trị tối đa cho timer. Khi timer đếm đến giá trị tối đa ,nó sẽ tự động reset về
0 trong cùng chu kì xung clock. Thêm vào đó,timer 0 và timer 1 còn có thanh ghi đếm tối
đa thứ 2. Sử dụng hai thanh ghi giá trị tối đa sẽ làm cho timer thay đổi lần lượt giữa 2 giá
trị tối đa này.
2.5.8

Bộ điều khiển DMA:

Sự truy cập bộ nhớ trực tiếp (Direct Memory Access-DMA) cho phép sự trao đổi dữ
liệu giữa bộ nhớ và ngoại vi mà không cần đến CPU. Đơn vị DMA trong vi điều khiển
AM188ES cung cấp 2 kênh DMA tốc độ cao. Những sự chuyển đổi dữ liệu có thể diễn ra
giữa bộ nhớ và vùng I/O hay là trong cùng một không gian
(chẳng hạn từ bộ nhớ -bộ nhớ hay I/O –I/O).
Mỗi kênh nhận yêu cầu DMA từ một trong 3 nguồn sau:chân yêu cầu kênh
DMA (DRQ1-DRQ0), timer 2 hay cổng nối tiếp bất đồng bộ.
6 thanh ghi trong khối điều khiển ngoại vi sẽ xác định sự hoạt động của các kênh
DMA. Các thanh ghi DMA bao gồm địa chỉ nguồn 20bit (2 thanh ghi), địa chỉ đích 20bit (2
thanh ghi), thanh ghi đếm sự chuyển giao (số lượng sụ chuyển giao DMA được thực thi) và
thanh ghi điều khiển 16 bit (điều khiển sự hoạt động của các kênh DMA).

CuuDuongThanCong.com


/>

2.5.9

Các cổng nối tiếp bất đồng bộ:

Vi điều khiển AM188ES cung cấp 2 cổng nối tiếp bất đồng bộ độc lập. Những cổng
này truyền song công, chuyển giao dữ liệu 2 chiều theo các tiêu chuẩn giao tiếp công
nghiệp. Những đặc điểm của cổng nối tiếp bất đồng bộ:
- Hoạt động song công
- Sự chuyển giao dữ liệu 7 bit,8 bit,9 bit.
- Parity chẵn,lẻ hoặc không có parity.
- Một bit dừng.
- DMA đến hay bắt đầu ở cổng nối tiếp.
- Các ngắt có mặt nạ riêng biệt cho mỗi cổng.
- Tốc độ baud tối đa bằng 1/16 xung clock của CPU.
- Bộ đệm đôi cho truyền và nhận .
Mỗi cổng nối tiếp được cung cấp 2 chân dữ liệu (RXD0/RXD1 vaø

CuuDuongThanCong.com

/>

TXD0/TXD1) và hai tín hiệu điều khiển đường truyền.Những tín hiệu điều khiển này
được đặt cấu hình bởi phần mềm để cung cấp những protocol khác nhau (DCE/DTE
protocol; CTS/RTR protocol).
Các cổng nối tiếp được lập trình thông qua 10 thanh ghi ngoại vi 16 bit.

2.6


MR188 board:
2.6.1 Các linh kiện và sơ đồ của board:
- Kích thước PCB:72.4mmx45.7mm(4 lớp).
- CPU:AMD188ES-40MHz
- ROM:AT29C010A(Bộ nhớ 1M bit Flash).
- RAM:621024 hay 681000( 1M bit SRAM).
- Push Switch.
- LEDs
- Connector nguoàn 5V ,RS232(Max232).

CuuDuongThanCong.com

/>

Sơ đồ schematic:

2.6.2

Các đoạn code điều khiển MR188A1 Board:

MAIN.C: Chương trình chính cho Soccer robot.
CY37128.H:Header file cho bộ điều khiển động cơ CPLD.
INIT.H: Header file cho LED và các công tắc.
MOTOR2.H: Header file cho việc điều khiển PID các động cơ và encoder.
NEW_PID.H: Header file cho việc điều khiển PID và các ngắt.
NEW_PID.C: Chương trình mẫu cho RF PID điều khiển động cơ.

CuuDuongThanCong.com


/>

2.6.3

Các hàm điều khiển:
2.6.3.1 Các hàm motor và encoder:

2.6.3.2 Các hàm cho cổng nối tiếp:

Tên hàm

Chức năng

void init_serial (int)

Khởi động cổng nối tiếp

void rcom_clear_buffer (void)

Xóa bộ đệm nhận

byte rcom (void)

Nhận vào 1 byte

byte rcom_nowait (void)

Hàm không chờ nhận 1 byte

void rcom_hex (byte)


Nhận 1 byte(dạng hex).

void tcom (byte)

Gởi đi 1 byte.

void tcom_string (byte*)

Gởi đi một chuỗi

void tcom_printf (char*form…)

CuuDuongThanCong.com

Gởi đi một chuỗi daïng printf.

/>


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×