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

nghiên cứu, thiết kế, chế tạo board mạch trung tâm ứng dụng điều khiển 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 (3.32 MB, 31 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG

NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO BOARD MẠCH
TRUNG TÂM ỨNG DỤNG ĐIỀU KHIỂN ROBOT
S

K

C

0

0

3

9

5

9

MÃ SỐ: T2010 - 04

S KC 0 0 3 0 1 4

Tp. Hồ Chí Minh, tháng 11 năm 2010




BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM


ĐỀ TÀI NCKH CẤP TRƯỜNG:

NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO
BOARD MẠCH TRUNG TÂM ỨNG DỤNG ĐIỀU
KHIỂN ROBOT

MÃ SỐ: T2010 - 04

THUỘC NHÓM NGÀNH : KHOA HỌC KỸ THUẬT
NGƯỜI CHỦ TRÌ

: THS LÊ TẤN CƯỜNG

ĐƠN VỊ

: KHOA CƠ KHÍ MÁY

TP. HỒ CHÍ MINH – 11/2002


Trang 1

TÓM TẮT ĐỀ TÀI

Trong Robot, board mạch trung tâm đóng vai trò rất quan trọng nó nhận tín
hiệu từ các cảm biến, từ yêu cầu người điều khiển thông qua các nút nhấn, qua giao
diện người và máy hoặc lệnh từ xa, từ đó nó ra quyết định điều khiển các cơ cấu
chấp hành một cách linh hoạt nhất. Do vậy, bộ điều khiển chính thường sử dụng
các chip điều khiển có tốc độ cao và ít tốn điện như các bộ vi điều khiển ARM để
giúp Robot phản ứng nhanh với tác động từ môi trường ngoài.
Trong đề tài nghiên cứu khoa học này nội dung các vấn đề tác giả cần triển
khai: tìm hiểu họ vi điều có cấu trúc ARM, cụ thể là dòng LPC2000 của Philip;từ
đó áp dụng chip ARM thiết kế board trung tâm điều khiển robot, xây dựng giao diện
màn hình giao tiếp giúp điều khiển và hiển thị các thông tin dễ dàng hơn, kết nối
mạng RS485 điều khiển 3 driver PID Motor cho mobile robot 3 bánh di chuyển đa
hướng một cách chính xác nhất.

Thực hiện: Ths Lê Tấn Cường


Trang 2

ABSTRACT
In Robot, circuit mainboard is important to receive signals from the sensors,
from request through the control buttons, the user interface or remote commands,
from

which

its

decision to

control


the

observance

of

a

structural

flexibility. Therefore, the mainboard used the high-speed controller and less power
as the ARM microcontroller that will help robot to react quickly to environmental
impacts from outside.
In scientific research this problem content authors need to deploy: learning
the structure of ARM LPC2000 particular line of Philip, which applies ARM
microcontroller to design a mainboard for controling robot, building an interface
screen help to control and display information more easily, RS485 network is used
to control three PID Motor Driver that help three-wheeled mobile robot to move
towards a multi accurately.

Thực hiện: Ths Lê Tấn Cường


Trang 3

MỤC LỤC
PHẦN 1 : ĐẶT VẤN ĐỀ

4


Đối tượng nghiên cứu

4

Tình hình nghiên cứu trong và ngoài nước

4

Những vấn đề còn tồn tại

7

PHẦN 2 : GIẢI QUYẾT VẤN ĐỀ

8

I.
II.
III.

I.
II.
III.

Mục đích đề tài

8

Phương pháp nghiên cứu


8

Nội dung

9

PHẦN 3 : KẾT LUẬN

27

I.

Kết luận

27

II.

Đề nghị

27

Tài liệu kham khảo

Thực hiện: Ths Lê Tấn Cường

28



Trang 4

Phần 1
ĐẶT VẤN ĐỀ
I.

Đối tượng nghiên cứu
Vi điều khiển ARM7 LPC2148, dòng LPC2000 của hãng Philip, nguyên
lý mạch điện, chương trình phần mềm lập trình, phần mềm nạp chip.
Giao diện điều khiển robot trên màn hình LCD 128x128, công cụ chuyển
đổi các icon hình ảnh nạp vào chip, giúp thao tác điều khiển robot dễ
dàng và trực quan hơn .
Đo lường và hiển thị các thông số của hệ thống như mức pin, thời gian hệ
thống trên giao diện màn hình LCD.
Xây dựng giao thức truyền thông RS485 nhằm kết nối và điều khiển 3 bộ
Driver PID Motor cho robot 3 bánh di chuyển đa hướng một cách chính
xác nhất.

II.

Tình hình nghiên cứu trong và ngoài nước
Board mạch sử dụng chip vi điều khiển ARM7 dòng LPC2000 được rất nhiều
hang phát triển và hỗ trợ rất tốt cho người dùng. Đây là một mạch mẫu:
Board ARM7 MCB2140 của hãng Keil, Đức:

Thực hiện: Ths Lê Tấn Cường


Trang 5


Hình 1.1 : Board MCB2140 của Keil

Thực hiện: Ths Lê Tấn Cường


Trang 6

Board ARM7 LPC-P2138 của hãng Olimex, Đức:

Hình 1.2 : Board LPC-P2138 của Olimex
Board ARM7 CP-JR ARM7 USB LPC2148 của hãng ETT, Thái Lan:

Hình 1.3 : Board CP-JR ARM7 USB LPC2148 của ETT

Thực hiện: Ths Lê Tấn Cường


Trang 7

III.

Những vấn đề còn tồn tại.
Các board mạch của nước ngoài thiết kế có tính thẩm mỹ cao, nhưng bên
cạnh có vẫn còn một số hạn chế sau :
Giá thành đắt.
Board thiết kế ở dạng board phát triển nên có kích thước to, có nhiều
thành phần thí nghiệm trên board, trong vấn đề điều khiển robot đôi khi
lại không cần thiết mà lại đòi hỏi tính nhỏ gọn, tính chuyên dụng và ít
tốn năng lượng.
Từ lúc đặt mua thiết bị của hãng đến khi có hàng thường mất 4-6 tuần,

chi phí vẫn chuyển cao nên trong thiết kế Robot cần có dự trù thời gian
hợp lý.
Từ những hạn chế trên, ta thấy việc nghiên cứu và chế tạo một board mạch

chính sử dụng chip ARM7 điều khiển chuyên dụng cho robot dựa trên các linh kiện
có sẵn trong nước là vấn đề rất đáng quan tâm và nghiên cứu. Board mạch thiết kế
có thể tùy biến phù hợp với robot điều khiển nên sẽ có kích thước nhỏ gọn, giá
thành thấp. Đó cũng chính là hướng nghiên cứu của đề tài.

Thực hiện: Ths Lê Tấn Cường


Trang 8

Phần 2
GIẢI QUYẾT VẤN ĐỀ
I.

Mục đích đề tài

Đề tài cần giải quyết các vấn đề sau:
Nghiên cứu, tìm hiểu vi điều khiển ARM7 LPC2148, phần mềm biên
dịch và chương trình nạp chip.
Thiết kế board mạch chính dùng vi điều khiển LPC2148, có các thành
phần ngoại vi sau: hệ thống thời gian thực (realtime) dùng pin lưu trữ, kết
nối JTAG dùng debug chương trình, giao tiếp LCD màu 128x128 điểm
ảnh, giao tiếp hỗ trợ mạng RS485 dùng truyền thông với các driver tớ, hỗ
trợ mạch đo lường và báo pin yếu .
Xây dựng tập lệnh C giao tiếp hiển thị thông tin trên LCD, giao tiếp
người dùng điều khiển và giao tiếp truyền thông điều khiển các Driver

PID Motor.

II.

Phương pháp nghiên cứu
Đề tài được thực hiện với các phương pháp sau:
Khảo sát, tìm hiểu nguyên lý một số board mạch của các hãng như Keil,
Olimex, ETT… từ đó tổng hợp nguyên lý chuyên dùng cho board robot.
Tìm hiểu các bài ví dụ lập trình cho ARM, các công cụ phát triển để từ đó
khai thác và lập trình tốt nhất cho ARM Philip.
Khai thác sử dụng các linh kiện dán bề mặt SMD, nhằm thiết kế board
robot có kích thước nhỏ gọn, từ đó dễ dàng lắp trên robot.
Khảo sát một số thiết bị có giao thức mạng như RC Motor của Robotis, từ
đó rút ra giao thức mạng phù hợp với thiết bị, giúp hệ thống linh hoạt hơn
trong hoạt động.

Thực hiện: Ths Lê Tấn Cường


Trang 9

III.

Nội dung

3.1 Sơ đồ hệ thống điều khiển
Sơ đồ hệ thống board mạch trung tâm cho robot có dạng như hình sau :

Các module
Driver PID

DC Motor

Mạng
RS485

RS485
Driver

Truyền
nối
tiếp
UART1

ARM
CONTROLLER
Màn hình cảm
ứng HMI

Truyền đồng bộ
SPI

Module wireless
RF

Truyền nối tiếp
UART0

Mạch đo dung
lượng pin


Bộ chuyển đổi
ADC

Hình 3.1 : Sơ đồ hệ thống board mạch chính cho robot
Hệ thống gồm các thành phần cơ bản sau:
ARM controller: đóng vai trò là bộ xử lý trung tâm của board mạch, nó
cần phải có các chức năng sau.

Thực hiện: Ths Lê Tấn Cường


Trang 10

 Hai bộ UART: một bộ dùng giao tiếp RS485 điều khiển các bộ
Driver con , và kênh còn lại giao tiếp với module RF dùng nhận
lệnh điều khiển từ xa của người dùng.
 Kênh truyền thông nối tiếp đồng bộ tốc độ cao SPI dùng giao tiếp
với module LCD.
 ADC dùng cho việc đo lường pin.
Mạch RS485: giúp chuyển đổi tín hiệu UART TTL thành tín hiệu RS485
giao tiếp điều khiển các module Driver PID con .
Bộ điều khiển vị trí và tốc độ: đóng vai trò nhận thông tin điều khiển, xử
lý tinh toán và xuất tín hiệu cho mạch công suất điều khiển theo tốc độ
đặt hoặc đến đúng vị trí mong muốn. Trong quá trình điều khiển nó cũng
nhận tín hiệu hồi tiếp, tính toán ra sai lệch và từ đó tạo tín hiệu điều khiển
cần thiết.
Giao thức mạng: đây là chuẩn giao tiếp truyền thông cho phép nhiều thiết
bị kết nối nhau theo giao thức mạng, khối này giúp cho thiết bị chủ có thể
giao tiếp với nhiều thiết bị con, và hệ thông dễ dàng kết nối hơn.


3.2 Phương án lựa chọn thiết kế phần cứng
3.2.1 Module màn hình HMI:
Trên robot có rất nhiều thiết bị ngoại vi, để thay đổi thông số hoặc chọn lựa
các ngoại vi này thì cần phải có rất nhiều nút nhấn. Đối với các robot có kích thước
nhỏ thì việc bố trí nhiều nút nhấn là gần như không thể. Do đó, mà các màn hình
giao diện người và máy đã được phát triển, gọi là các màn hình HMI. Hình 3.2 mô
tả về màn hình HMI cỡ nhỏ dùng trong robot.

Thực hiện: Ths Lê Tấn Cường


Trang 11

Hình 3. 2: Module màn hình HMI
Màn hình HMI trên giao tiếp với người bằng cảm ứng nên các nút nhấn
tương ứng với các icon trên màn hình, do đó ta thấy hầu như không có giới hạn về
số nút bấm. Nhờ có màn hình mà các giao diện thể hiện khá sinh động, như trong
hình 3.2, phía trên góc trái hiển thị dung lượng pin 90%, kế bên là giờ, phút và
ngày, tháng, năm, phía dưới là các icon chức năng. Hạn chế của màn hình HMI là
giá thành rất cao và hiếm có màn hình HMI cỡ nhỏ, trong đề tài này tác giả đã thiết
kế và phát triển một màn hình HMI có kích cỡ nhỏ phù hợp với robot của đề tài.
Cấu trúc của màn hình HMI này bao gồm một màn hình LCD Nokia 6610
132x132 pixels 12-bit màu, điện áp cung cấp 3.3V, giao tiếp nối tiếp SPI như trong
hình 5.13 . Lót phía trên màn hình là tấm cảm ứng 4 dây loại điện trở , giải mã cảm
ứng sử dụng chíp ADS7843 giao tiếp chuẩn SPI (kham khảo thư mục Datasheet
trong đĩa CD để biết thêm đặc tính của ADS7843). Lưu đồ giải thuật giao tiếp với
chip ADS7843 như trong hình 5.14. Như vậy, từ màn hình hiển thị Nokia 6610
thông thường và tấm cảm ứng 4 dây cùng chíp giải mã ADS7843 ta đã tạo nên
module màn hình HMI, giao tiếp với main board qua chuẩn SPI.


Thực hiện: Ths Lê Tấn Cường


Trang 12

Hình 5.13: Màn hình Nokia 6610

Hình 3.3: Lưu đồ giải thuật giao tiếp điều khiển chíp ADS7843

Thực hiện: Ths Lê Tấn Cường


Trang 13

3.2.2 Module wireless RF:
Robot giao tiếp với máy tính thông qua module JZ871 RF của hãng SHEN
JIZHUO, www.jizhou.net như trong hình 3.4

(a)

(b)

Hình 3.4: (a) Module JZ871 RF giao tiếp máy tính qua cổng USB, (b) Module
JZ871 RF gắn trên mainboard
Module JZ871 RF có các thông số như sau:
 Tần số : 915Mhz
 Nguồn cung cấp : 5VDC
 Công suất tiêu tốn: 100mW

Thực hiện: Ths Lê Tấn Cường



Trang 14

 Tốc độ truyền: 1200/2400/4800/9600/19200/38400Bit/s, người dùng có thể
thay đổi với phần mềm đi kèm của nhà sản xuất.
 Chuẩn giao tiếp : TTL.
 Ngõ giao tiếp gồm : VCC, GND, RXD, TXD, SLE (Sleep control), mức cao
trên chân này sẽ đưa module vào chế độ ngủ nhằm tiết kiệm năng lượng.

3.2.3 Board mạch chính:
Sơ đồ nguyên lý board mạch chính như hình sau:

Thực hiện: Ths Lê Tấn Cường


Trang 15

Hình D.4: Module Mainboard

Thực hiện: Ths Lê Tấn Cường


Trang 16

Board mạch chính dùng cho robot như hình sau:

Hình 3.5: Board mạch chính điều khiển robot
Board mạch chính bao gồm các thành phần sau:
1) Vi điều khiển LPC2148 dòng ARM7TDMI-S 16 bit/32 bit của NXP. Về đặc

tính của LPC2148 kham khảo thư mục Datasheets trong đĩa CD.
2) Nguồn cung cấp board mạch: 7.4V DC. Board mạch có cầu chì bảo vệ, từ
nguồn này sẽ ổn áp ra 2 loại nguồn: 5V cấp cho module RF, MAX485,…và
nguồn 3.3V cấp cho bộ xử lý ARM.
3) Pin 3V dùng lưu trữ thời gian thực cho hệ thống.

Thực hiện: Ths Lê Tấn Cường


Trang 17

4) Cổng USB1: dùng để nạp chương trình cho ARM qua USB, giao tiếp chuyển
đổi USB sang COM, giao tiếp với ARM qua URT0.
5) Cổng USB2: truyền thông USB do ARM hỗ trợ.
6) Khe cắm thẻ nhớ MMC/SD giao tiếp với ARM qua truyền nối tiếp đồng bộ
SPI.
7) Module RF giao tiếp với ARM qua UART1.
8) Cổng JTAG chuẩn 20 chân dùng debug chương trình hoặc nạp ARM bằng
JTAG.
9) Giao tiếp RS485 dùng giao tiếp điều khiển các smart servos.
10) Bốn led đơn thiết kế dùng cho debug chương trình.

3.2.4 Pin cho robot và mạch giám sát dung lượng pin
Để robot di chuyển tự do và không bị vướng víu bởi dây điện thì robot cần
được trang bị nguồn năng lượng riêng. Nguồn năng lượng phải đảm bảo: khối lượng
nhẹ để không ảnh hưởng nhiều đến khối lượng robot, phải đủ dòng để duy trì hoạt
động cho robot trong thời gian dài. Năng lượng ở đây sử dụng nguồn pin cấp cho
robot.
a) Chọn pin cho robot
Trong thực tế có nhiều loại pin. Trong tài liệu [How to rebuild a Li-Ion

battery pack, trang 5] từ [] có đề cập so sánh các loại
pin thông dụng hiện nay như trong bảng 3.1 sau:

Thực hiện: Ths Lê Tấn Cường


Trang 18

Loại pin

Ni-Cd

Ni-MH

Lead acid

Li-ion

Li-Po

Điện áp cung cấp(V)

1.2

1.2

2.1

3.6/3.7


3.6

Năng lượng cung cấp (Wh/Kg)

50

70

30

100-160

140

Chu kỳ sống (số lần nạp xả)

500

560

-

1000

-

Mức độ ảnh hưởng môi trường

thấp


trung bình

trung bình

cao

cao

Mức độ an toàn

cao

cao

trung bình

thấp

thấp

Giá thành pin

thấp

trung bình

thấp

cao


cao

25-30

30-35

-

6-9

-







không

không

Đặc tính

Tỉ lệ tự xả (%/tháng)
Ảnh hưởng nhớ

Bảng 3.1: Bảng so sánh các loại pin thông dụng
Theo bảng so sánh trên ta thấy pin Li-ion và Lipo là 2 pin đảm bảo các tiêu
chí năng lượng cấp cho robot. Ở thị trường Việt Nam thì pin Li-ion có thể dễ dàng

tìm mua loại pin thay cho cell của Laptop với giá thành tương đối rẻ, một cell pin
sẽ cho áp 3.7V dòng 1000mA/h .Để có dòng cao hơn ta mắc các cell song song
nhau. Các hộp pin chế tạo theo dạng này sẽ cho giá thành thấp, dòng cung cấp cao,
nhưng lại nặng và to về kích thước. Hình 3.6 mô tả hộp pin Li-ion chế tạo theo kiểu
này, hộp pin gồm 4 cells cho dung lượng 7.4V, 2000mA.

Thực hiện: Ths Lê Tấn Cường


Trang 19

(a)

(b)

Hình 3.6: (a) Hộp pin hoàn chỉnh, (b) các cell Li-ion lắp bên trong pin
Còn pin Lipo ở Việt Nam có thể dễ dàng tìm mua ở các cửa hàng bán pin sử
dụng cho máy bay và xe mô hình. Hình 3.7 là hai cells pin Lipo dùng trong mô
hình, mỗi cell cho dòng 900mA, hai cell mắc song song cho áp 7.4V và dòng tối đa
1800mA. Pin dạng này có giá thành khá cao nhưng khối lượng lại nhẹ.

(a)

(b)

Hình 3.7: (a) Hai cells pin Lipo mắc song song, (b) đồ sạc pin chuyên dụng cho
pin Lipo.

Thực hiện: Ths Lê Tấn Cường



Trang 20

b) Mạch báo dung lượng pin
Pin sử dụng trong mô hình là pin Li-ion và pin Lipo, đây là những loại pin có
giá thành cao, số lần nạp-xả nhiều. Nhưng trong thực tế để số lần nạp-xả đạt tối đa
thì cần phải tuân theo những nguyên tắc cơ bản sau:
 Đối với pin Li-po sử dụng dụng cụ sạc chuyên dụng, như trong hình 3. 7(b)
mạch sạc chuyên dụng đến từ hãng E-sky, quá trình sạc pin và báo đầy pin
được hiển thị bằng đèn led. Đối với hộp pin Li-ion tự chế như trong hình 3.6
(a) thì theo nguyên tắc sau : điện áp pin 7.4V thì ta cần phải sạc với áp
8.4V, theo hãng Panasonic dòng sạc lớn nhất là 0.7C, ví dụ pin Li-ion có
thông số 600mAh thì dòng sạc lớn nhất là 0.7*0.600=420mA. Khi dòng sạc
trên qua pin chỉ còn vài mA thì pin đã đầy.
 Trong quá trình sử dụng điện áp trên pin sẽ giảm dần, nếu cell có điện áp
3.7V thì khi nạp đầy điện áp cell là 4.2V, nếu điện áp của cell nhỏ hơn 3.2V
là pin cần phải được sạc, trong quá trình sử dụng nếu không lưu ý điều này
sẽ làm giảm tuổi thọ của Pin.
Với các lưu ý trên ta nhận thấy: pin sẽ được sạc và ngắt bằng các mạch sạc
chuyên dụng, để nâng cao tuổi thọ của pin thì trong quá trình sử dụng trên robot cần
có mạch báo dung lượng pin để điện áp của pin không nhỏ hơn ngưỡng qui định
sạc. Để có thể giám sát trạng điện áp của pin thì mạch chia điện áp đã được thiết kế
để chia điện áp pin về mức điện áp cho phép của bộ chuyển đổi A/D trên
mainboard. Do điện áp vào lớn nhất trên mainboard là 3.3V, nên chọn giá trị điện
áp chia cho 3. Chọn R1  6.8k, R2  3.3k cho mạch chia điện áp. Kết quả là ngõ
ra điện áp xấp xỉ bằng 1/3 điện áp của pin.
Đối với pin trong đề tài có điện áp 7.4V, khi xạc đầy điện áp của pin là 8.4V
và khi pin yếu là 6.4V. Qua mạch chia điện áp ngõ ra đo lường nằm trong tầm từ
2.1V đến 2.8V. Dựa vào điều này ta có thể thiết kế hiển thị dung lượng pin từ 0100%, và khi màn hình HMI báo pin ở 0%, điều này có nghĩa pin cần phải được


Thực hiện: Ths Lê Tấn Cường


Trang 21

đem đi sạc. Hình 5.8 mô tả mạch chia điện áp và hiển thị trạng thái pin trên màn
hình HMI .
+7V4

R48
6.8k
BATVOL
R49
3.3k

(a)

(b)

Hình 3.8: (a) Nguyên lý mạch chia áp , (b) báo dung lượng pin đạt 90 %
Điều quan trọng cần lưu ý là, 2 pin Lipo cần phải sạc đầy như nhau và phải
được cân bằng để có cùng điện áp trước khi ghép chúng song song nhau.

3.3 Phương án lựa chọn thiết kế mềm điều khiển
3.3.1 Các chương trình con xây dựng trên ARM
Các phần cứng trên robot bao gồm: màn hình hiển thị Nokia 6610, giải mã
tấm cảm ứng sử dụng chíp ADS7843 , module RF, các smartservo, mạch đo dung
lượng pin, bộ thời gian thực để ARM có thể giao tiếp với chúng thì các đoạn
chương trình con đã được xây dựng trong KeilCARM. Hình 3.9 mô tả hình cây các
hàm con dùng giao tiếp với các phần cứng trên.


Thực hiện: Ths Lê Tấn Cường


Trang 22

Hình 3.9: Các hàm chương trình con trên ARM dùng giao tiếp với các ngoại vi
phần cứng.

3.3.2 Chương trình giao tiếp màn hình LCD 6610
LCD 6610 giao tiếp ARM qua SPI0, các hàm giao tiếp và điều khiển gồm:
void InitSPI0(void);
void Send_Spi(unsigned int data);
void WriteSpiCommand(unsigned int command);
void WriteSpiData(unsigned int data);
void InitLCD(void);
extern void LCDWritebmp(const unsigned char *bitmap, long sizebitmap, unsigned
char x,unsigned char y,unsigned char sizex,unsigned char sizey);
extern void LCDClearScreen(int color);
void LCDSetXY(int x, int y);
void LCDSetPixel(int x, int y, int color);
void LCDSetLine(int x1, int y1, int x2, int y2, int color);

Thực hiện: Ths Lê Tấn Cường


Trang 23

extern void LCDSetRect(int x0, int y0, int x1, int y1, unsigned char fill, int color);
void LCDSetCircle(int x0, int y0, int radius, int color);

void LCDPutChar(char c, int x, int y, int size, int fcolor, int bcolor);
extern void LCDPutStr(char *pString, int x, int y, int Size, int fColor, int bColor) ;
Các hàm trên có chức năng như sau: khởi tạo cổng SPI0, đọc và ghi dữ liệu
qua SPI0, khởi tạo màn hình và cuối cùng là các hàm hiển thị hình ảnh trên màn
hình, vẽ đường thẳng, hình chữ nhật, đường tròn và ghi một ký tự hoặc một chuỗi ra
màn hình.

3.3.3 Chương trình giao tiếp chíp giải mã touch screen ADS7843
ADS7843 giao tiếp ARM qua SPI0, các hàm giao tiếp và điều khiển gồm:
void InitTouch (void);
void Touch_Write(unsigned char data);
unsigned int Touch_Read(void);
unsigned int Get_X();
unsigned int Get_Y();
Các hàm trên có chức năng như sau : khởi tạo màn hình cảm ứng, ghi dữ liệu
điều khiển chíp, lấy tọa độ trục X và Y, cuối cùng là đọc tọa độ điểm đã chấm trên
màn hình.

3.3.4 Chương trình giao tiếp module RF
Module RF giao tiếp ARM qua UART0, tốc độ 9600bits/s các hàm giao tiếp
và điều khiển gồm:
void UART0Init( DWORD Baudrate );
int putchar (int ch);
int getchar (void);
Khởi tạo cổng UART0, gửi và nhận một ký tự qua UART0.

3.3.5 Chương trình giao tiếp smart servo
Smart servo giao tiếp mainboard qua RS485 sủ dụng driver Max485, trên
ARM cổng UART1 được khởi tạo để truyền thông 485.
Các hàm khởi tạo, truyền và nhận gồm:


Thực hiện: Ths Lê Tấn Cường


×