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

nghiên cứu, thiết kế, chế tạo board mạch trung tâm ứng dụng điều khiển robot

31 328 0

Đ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 31
Dung lượng 3,32 MB

Nội dung

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ế b

Trang 1

ĐỀ 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

MÃ SỐ: T2010 - 04

S 0 9

S KC 0 0 3 0 1 4

Trang 2

ĐỀ 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

Trang 3

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

Trang 4

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

Trang 5

MỤC LỤC

PHẦN 1 : ĐẶT VẤN ĐỀ 4

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

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

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

III Nội dung

Trang 6

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:

Trang 7

Hình 1.1 : Board MCB2140 của Keil

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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 :

Mạng

Driver

Truyền đồng bộ SPI

Truyền nối tiếp UART0

Truyền nối tiếp UART1

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

Trang 12

 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

Trang 13

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

Trang 14

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

Trang 16

 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:

Trang 17

Hình D.4: Module Mainboard

Trang 18

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

Trang 19

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ừ [http://www.electronics-lab.com] 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:

Trang 20

1.2

70

560 trung bình cao trung bình 30-35

2.1

30

- trung bình trung bình thấp

-

3.6/3.7 100-160

1000 cao thấp cao 6-9 không

3.6

140

- cao thấp cao

- không

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

Trang 21

(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ẹ

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

Trang 22

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ừ 0-100%, và khi màn hình HMI báo pin ở 0%, điều này có nghĩa pin cần phải được

Trang 23

đ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

R49 3.3k

+7V4

BATVOL

R48 6.8k

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

Trang 24

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);

Trang 25

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

Ngày đăng: 04/09/2016, 11:52

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w