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

Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX

90 970 8

Đ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 90
Dung lượng 7,33 MB

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

Nội dung

TÓM TẮT LUẬN VĂN Nhiệm vụ của đề tài là thiết kế một robot tự hành với bộ điều khiển dựa trên hệ điều hành Linux nhúng.. Cho robot tự hành, hệ thống điều khiển phải có khả năng tự hoạt đ

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN KỸ THUẬT ĐIỆN -oOo -

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

THIẾT KẾ ROBOT TỰ HÀNH VỚI HỆ ĐIỀU HÀNH NHÚNG LINUX

GVHD : TS TRỊNH HOÀNG HƠN SVTH : PHẠM MINH TUẤN LỚP : DD05KTD04

MSSV : 40503344

TP HỒ CHÍ MINH, THÁNG 01/2011

Trang 2

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

TRƯỜNG ĐH BÁCH KHOA

KHOA ĐIỆN - ĐIỆN TỬ

BỘ MÔN KỸ THUẬT ĐIỆN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc

==================================

NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP

HỌ VÀ TÊN: PHẠM MINH TUẤN MSSV: 40503344 NGÀNH: Kỹ thuật điện LỚP: DD05KTD4

1 Đầu đề luận án:

THIẾT KẾ ROBOT TỰ HÀNH VỚI HỆ ĐIỀU HÀNH NHÚNG LINUX

2 Nhiệm vụ: (yêu cầu về nội dung và số liệu ban đầu)

1 Phân tích tìm hiểu và chọn mô hình kết cấu cơ khí của robot tự hành (15%)

2 Tìm hiểu mạch Micro2440 (30%)

3 Vài ứng dụng demo bao gồm tự hành và điều khiển bằng tay (15%)

4 Tìm hiểu giải pháp thay thế mạch Micro2440 bằng các họ vi xử lý (40%)

a) Tìm hiểu họ vi xử lý thích hợp (10%) b) Thiết kế phần cứng tương thích (20%) c) Minh họa vài demo điều khiển (10%)

3 Ngày giao nhiệm vụ luận án: _

4 Ngày hoàn thành nhiệm vụ luận án:

5 Họ tên người hướng dẫn: Phần hướng dẫn:

1) _ _ 2) _ _ 3) _ _

Nội dung và yêu cầu luận án tốt nghiệp đã được thông qua bộ môn

Ngày tháng năm

CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)

PHẦN DÀNH CHO KHOA BỘ MÔN

Người duyệt (chấm sơ bộ): _

Trang 3

TRƯỜNG ĐH BÁCH KHOA

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc -

Ngày tháng năm _

PHIẾU CHẤM BẢO VỆ LVTN

(Dành cho người hướng dẫn)

1 Họ và tên SV: _ MSSV: _ Chuyên ngành: _

2 Đề tài: _

3 Họ tên người hướng dẫn: _

4 Tổng quát về bảng thuyết minh: _

 Số bản vẽ tay: Số bản vẽ trên máy tính:

6 Những ưu điểm chính của LVTN:

7 Những thiếu sót chính của LVTN:

8 Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ Không được bảo vệ □

9 3 câu hỏi sinh viên phải trả lời trước hội đồng:

a) _ b) _ c)

10 Đánh giá chung (bằng chữ: Giỏi, Khá, TB): Điểm: /10

Người hướng dẫn ký, ghi rõ họ tên:

Trang 4

TRƯỜNG ĐH BÁCH KHOA

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh phúc -

Ngày tháng năm _

PHIẾU CHẤM BẢO VỆ LVTN

(Dành cho người phản biện)

11 Họ và tên SV: _ MSSV: _ Chuyên ngành: _

12 Đề tài: _

13 Họ tên người hướng dẫn: _

14 Tổng quát về bảng thuyết minh: _

 Số bản vẽ tay: Số bản vẽ trên máy tính:

16 Những ưu điểm chính của LVTN:

17 Những thiếu sót chính của LVTN:

18 Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ Không được bảo vệ □

19 3 câu hỏi sinh viên phải trả lời trước hội đồng:

d) _ e) _ f)

20 Đánh giá chung (bằng chữ: Giỏi, Khá, TB): Điểm: /10

Người hướng dẫn ký, ghi rõ họ tên:

Trang 5

LỜI CẢM ƠN

Kính gửi đến thầy TRỊNH HOÀNG HƠN lời cảm ơn chân thành và sâu sắc, cảm ơn thầy đã tận tình hướng dẫn, chỉ dạy em hoàn thành luận văn tốt nghiệp này

Em xin cảm ơn tất cả quý thầy cô trường Đại học Bách Khoa TP.HCM nói chung, quý thầy cô khoa Điện-Điện tử và bộ môn Kỹ thuật điện nói riêng đã tận tình giảng dạy, trang bị cho em những kiến thức bổ ích trong khoảng thời gian đại học

Tôi xin cảm ơn tất cả bạn bè đã là nguồn động viên, góp ý, giúp đỡ tôi rất nhiều trong quá trình học tập và thực hiện luận văn

Tôi xin cảm ơn tất cả

TP Hồ Chí Minh, tháng 1 năm 2011

Trang 6

TÓM TẮT LUẬN VĂN

Nhiệm vụ của đề tài là thiết kế một robot tự hành với bộ điều khiển dựa trên hệ điều hành Linux nhúng

Đề tài được thực hiện như sau:

 Tìm hiểu các thành phần của một robot tự hành, bao gồm cả về phần cứng

và phần mềm Phân tích giải pháp sử dụng hệ thống nhúng với hệ điều hành Embedded Linux vào điều khiển Robot

 Tìm hiểu và lựa chọn để thi công một mô hình cơ khí robot tự hành: mô hình Robot tự hành với 3 bánh xe Omni-Directional

 Tìm hiểu mạch Micro2440, bao gồm tìm hiểu phần cứng mạch, hệ điều hành Linux nhúng và phần mềm chạy trên mạch Viết ứng dụng điều khiển mô hình robot tự hành đã thiết kế, ứng dụng xử lý ảnh - thị giác máy tính

 Tìm giải pháp thay thế mạch Micro2440 dùng các họ vi xử lý:

o Tìm hiểu và lựa chọn vi xử lý thích hợp: AT91SAM9260

Trang 7

MỤC LỤC

Đề mục

Trang bìa

Nhiệm vụ luận văn

Lời cảm ơn

Tóm tắt luận văn

Mục lục

Trang

i

ii iii

iv

CHƯƠNG 1: Tổng quan về đề tài ……… 1

1.1 Đặt vấn đề ……… 1

1.2 Các định nghĩa ……… ……… 1

1.2.1 Robot tự hành ……… ……… 1

1.2.2 Hệ thống nhúng ……….……… 3

1.2.3 Hệ điều hành nhúng ……… 4

1.3 Nhiệm vụ cụ thể và mục tiêu của luận văn ……… 5

1.3.1 Nhiệm vụ được giao ……… 5

1.3.2 Xác định nhiệm vụ cụ thể ……… ……… 5

CHƯƠNG 2: Sơ đồ khối Robot tự hành …… ……… 7

2.1 Phân tích sơ đồ khối một robot tự hành ……… 7

2.2 Thiết kế mô hình robot tự hành ……… 8

CHƯƠNG 3: Xây dựng mô hình cơ khí robot ……… 9

3.1 Sơ lược về các phương pháp di chuyển của robot tự hành ……… 9

3.2 Mô hình robot với 3 bánh xe Omni ……… 10

3.3 Phân tích chuyển động của robot ……… 11

3.4 Thực hiện mô hình cơ khí robot ……… 13

CHƯƠNG 4: Mạch công suất động cơ ……… 16

4.1 Nhiệm vụ và yêu cầu của mạch công suất động cơ ……… 16

4.2 Tiếp cận lý thuyết ……… 16

4.2.1 Phương pháp điều chế độ rộng xung PWM ……… 16

4.2.2 Mạch cầu H ……… 17

4.2.3 IC công suất L298 ……… 18

4.3 Thực hiện mạch công suất động cơ ……… 19

4.3.1 Sơ đồ nguyên lý ……… 19

4.3.2 Giải thích hoạt động ……… 20

4.3.3 Một số hình ảnh thực tế mạch công suất động cơ ……… 20

Trang 8

CHƯƠNG 5: Mạch Micro2440 ……… 23

5.1 Tổng quan về mạch nhúng Micro2440 ……… 23

5.2 Kiến trúc phần cứng mạch Micro2440 ……… 24

5.2.1 Vi xử lý S3C2550A ……….……… 20

5.2.2 Core board ……… 26

5.2.3 SDK board ……… 28

5.3 Hệ điều hành Embedded Linux trên Micro2440 ……… 29

5.3.1 Hệ điều hành Embedded Linux ……… 29

5.3.2 Hệ điều hành Embedded Linux trên Micro2440 ……… 31

5.3.3 Quá trình khởi động Embedded Linux trên Micro2440 ……… 33

CHƯƠNG 6: Lập trình điều khiển Robot trên Micro2440 ……… 35

6.1 Chọn viết chương trình điều khiển ……… ……… 35

6.2 Xác định các bước tiến hành – các công cụ cần thiết ……… 35

6.2.1 Xác định các bước tiến hành ……… ……… 35

6.2.2 Các công cụ cần thiết ……… 35

6.3 Biên dịch Linux Kernel cho Micro2440 ……… 37

6.4 Nạp lại Embedded Linux cho Micro2440 ……… 39

6.5 Biên dịch OpenCV cho Micro2440 ……… 40

6.6 Ball Tracking ……… 41

6.6.1 Ball Detect ………… ……… 41

6.6.2 Truy xuất GPIO driver ……… 45

6.6.3 Tạo xung PWM ……… 47

6.6.4 Phân luồng cấu trúc chương trình ……… 47

6.6.5 Biên dịch và chạy chương trình ……… 48

CHƯƠNG 7: Mạch nhúng AT91SAM9260-SMISY ……… 50

7.1 Tổng quan về mạch nhúng AT91SAM9260-SMISY ………… ………… 50

7.1.1 Mục đích thiết kế mạch AT91SAM9260-SMISY ……… 50

7.1.2 Mạch AT91SAM9260-SMISY ……… 50

7.2 Lựa chọn vi xử lý AT91SAM9260 ……… ………… 51

7.3 Sơ đồ nguyên lý mạch AT91SAM9260-SMISY ……… 54

7.3.1 Khối vi xử lý AT91SAM9260 ……… 54

7.3.2 SDRAM ……… 56

7.3.3 NAND FLASH ……… 56

7.3.4 SPI DATA FLASH ……… 57

7.3.5 Các khối khác ……… 57

Trang 9

7.4 Thi công thực tế ……… 61

CHƯƠNG 8: Embedded Linux trên AT91SAM9260-SMISY ……… 64

8.1 Quá trình boot Linux trên board AT91SAM9260-SMISY ……… 64

8.1.1 Quá trình khởi động của vi xử lý AT91SAM9260 ……… 64

8.1.2 Quá trình boot Linux trên board AT91SAM9260-SMISY ………… 66

8.2 Thực hiện port Linux trên board AT91SAM9260-SMISY ……… 68

8.2.1 Các công cụ cần thiết ……… ………… 68

8.2.2 AT91BootStrap ……… 69

8.2.3 U-boot ……… 71

8.2.4 Linux Kernel Image ……… 72

8.2.5 Root File System ……… 73

8.2.6 Port Linux lên board AT91SAM9260-SMISY ……… 73

8.2.7 Thiết lập tham số khởi động Linux trên AT91SAM9260-SMISY … 74

8.3 Chương trình ứng dụng điều khiển Robot ……… ……… 75

CHƯƠNG 9: Các kết quả đạt được - hạn chế - hướng phát triển đề tài ……… 76

9.1 Các kết quả đạt được và hạn chế ……… ……… ……… 76

9.2 Hướng khắc phục các hạn chế và phát triển đề tài ……… 79

CHƯƠNG 10: Tài liệu tham khảo ……… ……… 80

Trang 10

Luận án tốt nghiệp Chương 1: Tổng quan về đề tài

hoàn toàn các hoạt động chân tay bằng máy móc, trong đó Robot tự hành là một phần

quan trọng không thể thiếu Ngày nay Robot tự hành ngày càng được hoàn thiện và chứng tỏ vai trò của mình trong ứng dụng công nghiệp và sinh hoạt đời sống

Phần quan trọng nhất quyết định mọi hoạt động của robot chính là hệ thống điều khiển Cho robot tự hành, hệ thống điều khiển phải có khả năng tự hoạt động độc lập

mà không cần kết nối với máy tính hay mạch điều khiển nào khác Hệ thống điều

khiển đó chính là một “Hệ thống nhúng”

Hệ thống nhúng bao gồm cả phần cứng và phần mềm, với xu hướng hiện nay, phần cứng mạch điều khiển ngày càng phát triển phức tạp, việc viết phần mềm truy xuất các thiết bị phần cứng đó ngày càng phức tạp hơn Để dễ dàng phát triển phần

mềm ứng dụng, ta cần Hệ điều hành, hệ điều hành quản lý các thiết bị phần cứng và

cho phép ta phát triển phần mềm dễ dàng hơn Hệ điều hành chạy trong một hệ thống

nhúng gọi là một “Hệ điều hành nhúng”

Đề tài này tìm hiểu và xây dựng mô hình robot tự hành như một hệ thống hoàn chỉnh, với hệ thống điều khiển chính là một hệ thống nhúng bao gồm cả về mạch điện phần cứng, hệ điều hành nhúng, và phần mềm điều khiển robot tự hành

Mặc dù hoạt động của các robot thực tế bao gồm rất nhiều thao tác, đề tài này chỉ giới hạn ở hoạt động di chuyển của robot tự hành, và phần mềm ứng dụng tập trung vào hiện thực giải pháp điều khiển dẫn đường cho robot

1.2 Các định nghĩa:

1.2.1 Robot tự hành:

Robot tự hành hay robot di động (Mobile Robot, thường gọi tắt là Mobot) được định nghĩa là một loại xe robot có khả năng tự di chuyển, tự vận động (có thể lập trình được) dưới sự điều khiển tự động để thực hiện công việc được giao

Tiềm năng ứng dụng của robot tự hành hết sức rộng lớn Có thể kể đến robot vận chuyển vật liệu, hàng hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay và thư viện; robot phục vụ quét dọn đường phố, khoang chân không; robot kiểm tra trong môi trường nguy hiểm; robot canh gác, do thám; robot khám phá không gian, di chuyển trên hành tinh; robot hàn, sơn trong nhà máy; robot xe lăn phục vụ người khuyết tật; robot phục vụ sinh hoạt gia đình v.v

Mặc dù nhu cầu ứng dụng cao, nhưng những hạn chế chưa giải quyết được của robot tự hành, như chi phí chế tạo cao, đã không cho phép chúng được sử dụng rộng rãi Một nhược điểm khác của robot tự hành phải kể đến là còn thiếu tính linh hoạt và thích ứng khi làm việc ở những vị trí khác nhau Bài toán điều khiển dẫn đường cho robot tự hành cũng không phải là bài toán đơn giản

Trang 11

Luận án tốt nghiệp Chương 1: Tổng quan về đề tài Trong luận án tốt nghiệp này, giải pháp điều khiển dẫn đường cho robot tự hành

sẽ được giải quyết ở mức độ không quá phức tạp

Trang 12

Luận án tốt nghiệp Chương 1: Tổng quan về đề tài

1.2.2 Hệ thống nhúng:

Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao

Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng

mà ta không tìm thấy trong một máy tính đa năng nói chung Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất

Một thực tế khách quan là thị trường của các hệ thống nhúng lớn gấp khoảng 100 lần thị trường của PC và mạng LAN, trong khi đó chúng ta mới nhìn thấy bề nổi của công nghệ thông tin là PC và Internet còn phần chìm của công nghệ thông tin chiếm 99% số processor trên toàn cầu này nằm trong các hệ nhúng thì còn ít được biết đến Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn Hệ thống nhúng rất đa dạng, phong phú về chủng loại Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn

Một mạch vi điều khiển cũng được xem là một hệ thống nhúng

Một hệ thống nhúng mà trên đó có một hệ điều hành nhúng thì được gọi là một

“Máy tính nhúng”

Hệ thống nhúng thường có một số đặc điểm chung như sau:

• Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng Một số hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn và tính ứng dụng; một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất

• Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống phức tạp nằm trong thiết bị mà nó điều khiển

• Phần mềm được viết cho các hệ thống nhúng được lưu trữ trong các chip bộ nhớ chỉ đọc (read-only memory) hoặc bộ nhớ flash chứ không phải là trong một ổ đĩa Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ, bộ nhớ hạn chế

• Khả năng làm việc ổn định và bền bỉ

Ứng dụng hệ thống nhúng vào điều khiển robot tự hành có những ưu điểm hơn hẳn so với dùng máy tính đa chức năng:

Trang 13

Luận án tốt nghiệp Chương 1: Tổng quan về đề tài

• Khả năng tùy biến phần cứng để đáp ứng đầy đủ các tính năng cần thiết

• Giảm kích thước cả về phần cứng và phần mềm, giảm tiêu tốn năng lượng

• Giảm chi phí vì có thể tối ưu và đơn giản hóa các phần không cần thiết

• Làm việc ổn định và bền bỉ

1.2.3 Hệ điều hành nhúng:

Hệ điều hành là một chương trình chạy trên máy tính, dùng để quản lý các thiết

bị phần cứng và các tài nguyên phần mềm trên máy tính Hệ điều hành đóng vai trò trung gian giữa người sử dụng và phần cứng máy tính, cung cấp các môi trường cho phép người sử dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng

Các hệ điều hành chạy trên hệ thống nhúng gọi là Hệ điều hành nhúng Hệ điều hành nhúng cũng khá tương tự với hệ điều hành chạy trên các máy tính đa chức năng, nhưng thường giảm bớt các chức năng về giao diện đồ họa

Xu hướng phát triển của các hệ thống nhúng trên thế giới hiện nay là phần mềm ngày càng chiếm tỷ trọng cao và đã trở thành một thành phần quan trọng cấu tạo nên

hệ thống Các hệ thống nhúng ngày càng có nhiều chức năng tiện dụng và thông minh hơn Các chức năng này phần lớn do các phần mềm nhúng tạo nên Phần mềm nhúng hiện đang là một lĩnh vực công nghệ then chốt cho sự phát triển kinh tế của nhiều quốc gia trên thế giới như Mỹ, Nhật Bản, Hàn Quốc, Phần Lan, Trung Quốc… Những quốc gia này đều đã thành lập nhiều viện nghiên cứu và trung tâm phát triển các hệ thống nhúng

Ngày nay, khi mà những phần mềm nhúng đang trở nên phức tạp hơn thì việc phát triển các sản phẩm phần mềm nhúng đơn lẻ đã không còn phù hợp Để hiện thực được những ứng dụng nhúng phức tạp phải cần đến các hệ điều hành nhúng nhỏ gọn

có khả năng hỗ trợ tốt cho việc phát triển các phần mềm nhúng Các hệ điều hành dùng trong các hệ nhúng nổi trội hiện nay bao gồm Embedded Linux, VxWorks, Windows

CE, Lynyos, BSD, Green Hills, QNX và DOS Với nhiều lợi thế, Embedded Linux hiện nay đang phát triển rất mạnh trên thế giới và chiếm vị trí số 1 trong số các hệ điều hành nhúng

Nhiệm vụ chính của hệ điều hành:

• Điều khiển và quản lý trực tiếp các phần cứng

• Thực hiện một số thao tác cơ bản các thao tác đọc, viết tập tin, quản lý

hệ thống tập tin (File System) và các kho dữ liệu

• Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng thường là thông qua một hệ thống thư viện các hàm chuẩn để điều hành các phần cứng mà từ đó các ứng dụng có thể gọi tới

• Cung ứng một hệ thống lệnh cơ bản để điều hành máy Các lệnh này gọi

là lệnh hệ thống (System Command)

Trong điều khiển robot, chương trình điều khiển phải làm nhiều tác vụ cùng lúc (Multi task), nếu không có hệ điều hành, ta phải tự phân công sắp xếp để các tác vụ đó lần lượt được xử lý đan xen mà không xung đột nhau về phần cứng, bộ nhớ… Ngoài

ra, với những ứng dụng phức tạp, cần phân công công việc cho nhóm nhiều người, cần

Trang 14

Luận án tốt nghiệp Chương 1: Tổng quan về đề tài

kế thừa các kết quả từ trước, không có hệ điều hành cung cấp một môi trường chung

để phát triển ứng dụng, ta rất khó đạt được các điều này

Tóm lại, sử dụng một hệ điều hành trong điều khiển robot tự hành có những ưu điểm chính sau:

• Khả năng quản lý đa nhiệm của hệ điều hành cho phép ta lập trình truy xuất cùng lúc nhiều thiết bị phần cứng, xử lý nhiều tác vụ…

• Nhờ hệ điều hành cung cấp môi trường chung để phát triển ứng dụng, ta kế thừa được các thư viện trong lập trình, tham khảo và tái sử dụng mã nguồn Ngoài ra ta dễ dàng chia nhỏ chương trình và phân công công việc; dễ dàng bảo trì và phát triển hệ thống phần mềm ứng dụng

1.3 Nhiệm vụ cụ thể và mục tiêu của luận văn:

1.3.1 Nhiệm vụ được giao:

Tên của đề tài: “THIẾT KẾ ROBOT TỰ HÀNH VỚI HỆ ĐIỀU HÀNH NHÚNG LINUX”

Nhiệm vụ được giao:

1 Phân tích tìm hiểu và chọn mô hình kết cấu cơ khí của robot tự hành (15%)

2 Tìm hiểu mạch Micro2440 (30%)

3 Vài ứng dụng demo bao gồm tự hành và điều khiển bằng tay (15%)

4 Tìm hiểu giải pháp thay thế mạch Micro-2440 bằng các họ vi xử lý (40%)

a) Tìm hiểu họ vi xử lý thích hợp (10%) b) Thiết kế phần cứng tương thích (20%) c) Minh họa vài demo điều khiển (10%)

1.3.2 Xác định nhiệm vụ cụ thể:

Nhiệm vụ cụ thể của đề tài được xác định như sau:

o Tìm hiều sơ đồ khối của robot tự hành

o Tìm hiều, lựa chọn và thi công mô hình cơ khí

o Tìm hiểu mạch Micro2440 và hệ điều hành nhúng Linux trên mạch

o Viết chương trình ứng dụng làm nổi bật ý nghĩa của một hệ thống nhúng với một hệ điều hành nhúng

o Tìm giải pháp thay thế cho mạch Micro-2440:

• Tìm hiểu họ vi xử lý thích hợp

• Thiết kề phần cứng tương thích

• Viết chương trình điều khiển

Mục tiêu của đề tài:

o Làm rõ các khái niệm về hệ thống nhúng, máy tính nhúng, hệ điều hành nhúng, và ý nghĩa của chúng

o Làm rõ nguyên lý của một máy tính nhúng, tiến đến xây dựng một máy tính nhúng vào các mục đích điều khiển robot hiện đại

Trang 15

Luận án tốt nghiệp Chương 1: Tổng quan về đề tài

o Làm quen với lập trình nhúng, áp dụng vào lập trình điều khiển Robot và các thiết bị điều khiển tự động hiện đại

Trang 16

Luận án tốt nghiệp Chương 2: Sơ đồ khối Robot tự hành

CHƯƠNG 2

Sơ đồ khối Robot tự hành

2.1 Phân tích sơ đồ khối robot tự hành:

Một Robot tự hành có các khối cơ bản sau:

Hình 2.1 – Sơ đồ khối robot tự hành

Cảm biến (Sensor): thu nhận các tín hiệu từ môi trường hoạt động và biến đổi thành tín hiệu điện Có nhiều loại cảm biến thu nhận nhiều loại tín hiệu ngoài như: ánh sáng, nhiệt độ, độ ẩm, lực, khoảng cách, vận tốc, gia tốc, góc nghiêng, hình ảnh… Các robot tự hành hiện đại được trang bị rất nhiều cảm biến hiện đại cho phép robot thích nghi tốt với môi trường và hoạt động chính xác hơn

Mạch cảm biến có nhiệm vụ tiền xử lý các tín hiệu điện từ cảm biến đưa đến, như khuêch đại, biến đổi sang tín hiệu số… và đưa sang khối xử lý trung tâm Cảm biến và mạch cảm biến có thể được tích hợp trong một khối

Khối xử lý trung tâm (CPU) là các mạch vi điều khiển, vi xử lý, hay máy tính, với chương trình điều khiển CPU phân tích các tín hiệu thu được, xử lý và đưa ra quyết định điều khiển các hoạt động cho robot

Các tín hiệu điều khiển từ CPU thường không đủ công suất để điều khiển trực tiếp các cơ cấu chấp hành, vì vậy cần có khối công suất làm nhiệm vụ nhận tín hiệu điều khiển từ CPU và cung cấp đủ công suất để điều khiển cơ cấu chấp hành hoạt động theo đúng tín hiệu điều khiển đó

Cơ cấu chấp hành thường là các động cơ, các van khí nén hay thủy lực… sẽ truyền động cho các kết cấu cơ khí vận động robot

Robot tự hành hoạt động độc lập, nên cần mang theo nguồn năng lượng cho mình, thường là acquy hay pin năng lượng mặt trời

Tất cả các khối trên được đặt trên một khung sườn cơ khí Kết cấu cơ khí cũng làm lớp vỏ bảo vệ các khối bên trong Đồng thời, kết cấu cơ khí cũng bao gồm các chi tiết vận động cho robot (bánh, xích, chân để di chuyển; cánh tay thao tác…)

Cảm

biến

Mạch cảm biến

CPU

Phần mềm điều khiển

Khối công suất

Các

cơ cấu chấp hành

Nguồn cung cấp

Kết cấu cơ khí

Trang 17

Luận án tốt nghiệp Chương 2: Sơ đồ khối Robot tự hành

2.2 Thiết kế mô hình robot tự hành:

Trong đề tài này, ta xây dựng một mô hình robot tự hành nhỏ, với công việc chính tập trung vào tìm hiểu và thực hiện mạch và chương trình điều khiển cho robot Chương trình điều khiển phải làm nổi bật thế mạnh của một mạch điều khiển là một máy tính nhúng với hệ điều hành nhúng Linux, và chỉ giới hạn ở hoạt động di chuyển của robot tự hành Vì vậy, thiết kế mô hình robot tự hành với sơ đồ khối như sau:

Driver board là khối công suất cho động cơ Sử dụng mạch cầu H để điều khiển quay, đảo chiều và điều khiển vận tốc cho động cơ DC dùng phương pháp điều chế độ rộng xung PWM

Các động cơ DC sử dụng loại công suất nhỏ, đủ để phát động cho robot di chuyển Dùng động cơ DC 12V - 10W

Nguồn điện: dùng acquy 12V – 1.3AH

Kết cấu cơ khí nhỏ gọn với khung sườn bằng nhôm

Cảm biến (camera)

CPU board (Micro-2440)

Chương trình

xử lý ảnh và điều khiển

Driver board

Các động

DC

Acquy Kết cấu cơ khí

Trang 18

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot

CHƯƠNG 3

Xây dựng mô hình cơ khí robot

3.1 Sơ lược về các phương pháp di chuyển của robot tự hành:

Theo phương pháp chuyển động trên mặt đất, ta chia Robot tự hành thành 2 lớp: chuyển động bằng chân (legged) và bằng bánh (wheeled)

Trong lớp đầu tiên, chuyển động có được nhờ các chân cơ khí bắt chước chuyển động của con người và động vật Robot loại này có thể di chuyển rất tốt trên các định hình lồi lõm, phức tạp Tuy nhiên, cách phối hợp các chân cũng như vấn đề giữ thăng bằng là công việc cực kỳ khó khăn

Hình 3.1 – Robot di chuyển bằng chân

a) Robot Asimo hình người - b) Robot 6 chân mô phỏng chuyển động của nhện Lớp còn lại (di chuyển bằng bánh) tỏ ra thực tế hơn, chúng có thể làm việc tốt trên hầu hết các địa hình do con người tạo ra Điều khiển robot di chuyển bằng bánh cũng đơn giản hơn nhiều, gần như luôn đảm bảo tính ổn định cho robot Lớp này có thể chia làm 3 loại robot: Loại chuyển động bằng bánh xe (phổ biến), loại chuyển động bằng vòng xích (khi cần mô men phát động lớn hay khi cần di chuyển trên vùng đầm lầy, cát và băng tuyết, vùng địa hình lồi lõm phức tạp), và loại hỗn hợp bánh xe và xích (ít gặp)

Hình 3.2 – Robot di chuyển bằng bánh

a) di chuyển bằng bánh xe - b) di chuyển bằng bánh xích

Trang 19

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot

Đề tài này thực hiện mô hình robot tự hành nhỏ di chuyển trên mặt phẳng, vì vậy, chọn giải pháp di chuyển bằng bánh xe sẽ đơn giản cho thiết kế và thi công Tuy nhiên, dùng bánh xe thông thường sẽ không thể di chuyển linh hoạt trong phạm vi hẹp,

vì không thể xoay chuyển hướng tại chỗ, không thể di chuyển theo phương ngang so với hướng trục robot Qua tìm hiểu, ta lựa chọn giải pháp thực hiện mô hình robot tự hành di chuyển trên 3 bánh xe Omni (Omni-directional Wheel)

3.2 Mô hình robot với 3 bánh xe omni:

- Bánh xe Omni (Omni-directional Wheel):

Bánh xe Omni là bánh xe với các bánh vệ tinh nhỏ xếp quanh chu vi, các bánh xe

vệ tinh đặt vuông góc với hướng di chuyển của bánh omni, trục quay của bánh vệ tinh vuông góc với trục quay của bánh omni Nhờ vậy, bánh xe omni vừa có thể quay như một bánh xe thông thường, mặt khác có thể trượt (lăn trên bánh xe vệ tinh) dễ dàng theo phương vuông góc với mặt phẳng quay

Hình 3.3 – Bánh xe omni

- Mô hình robot với 3 bánh xe omni:

Robot tự hành với bánh xe omni có ưu điểm hơn hẳn so với robot sử dụng bánh

xe thông thường Nhờ khả năng di chuyển được trên cả 2 phương vuông góc của bánh

xe omni, robot có thể di chuyển linh hoạt theo nhiều hướng, quay tại chỗ, vừa di chuyển vừa quay… dễ dàng di chuyển ở những nơi chật hẹp

3 bánh xe omni được bố trí trên trục lệch nhau góc 120o, mỗi bánh xe được dẫn động bằng một động cơ độc lập Bằng việc điều khiển vận tốc và chiều quay độc lập cho 3 bánh xe, ta có thể điều khiển robot quay và di chuyển theo bất cứ phương nào trong mặt phẳng

Hình 3.4 – Robot với 3 bánh omni

Vì sao sử dụng 3 bánh? Vì 3 bánh là tối thiểu để robot thăng bằng trên mặt phẳng một cách dễ dàng 3 bánh, với 3 điểm tiếp xúc cũng xác định một mặt phẳng, việc thi công cơ khí với 3 bánh xe sẽ dễ dàng hơn so với nhiều bánh xe

Trang 20

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot

Di chuyển của robot là sự tổng hợp chiều quay và vận tốc quay của 3 bánh omni:

Hình 3.5 – Sự di chuyển của robot

a) đi thẳng – b) xoay tại chỗ - c) đi chéo – d) đi theo cung tròn Hình trên mô tả 4 trường hợp di chuyển của robot, trong đó:

o Vector vận tốc lăn của bánh xe omni: màu xanh lá

o Vector vận tốc di chuyển của robot (tổng hợp của 3 vector xanh lá): màu trắng

o Vector vận tốc trượt ngang (lăn trên bánh vệ tinh) của bánh xe omni: màu vàng

o Vector vận tốc di chuyển của bánh xe omni (tổng hợp của chuyển động quay và

trượt ngang): màu xanh dương

3.3 Phân tích chuyển động của robot:

Mọi chuyển động của robot trên mặt phẳng đều có thể phân tích thành chuyển động tịnh tiến và chuyển động quay

Quy ước: trục 0o trùng với trục Xr; chiều dương ngược chiều kim đồng hồ (xem hình 3.6) Như vậy 3 bánh xe A, B, C lần lượt ở các góc 150o, 30o, và 270o

Trang 21

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot

Trang 22

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot

Để đạt vận tốc quay Fq mong muốn, ta đặt FqA = FqB = FqC = Fq/3 lên 3 động cơ

- Tổng hợp chuyển động:

Chuyển động của robot là sự tổng hợp của Ft và Fq

Để đạt chuyển động này, ta tính FtA, FtB, FtC, FqA, FqB, FqC như trên Sau đó, vận tốc cần đặt lên 3 động cơ A, B, C:

FA = FtA + FqA; FB = FtB + FqB; FC = FtC + FqC;

3.4 Thực hiện mô hình cơ khí robot:

Kết cấu cơ khí của mô hình robot được thiết kế và thi công dựa trên ước tính sơ

bộ để chịu được trọng lượng của robot (khoảng 1Kg), mang tải nhẹ (tối đa 1Kg) Không đi sâu vào tính toán chi tiết về cơ khí

Khung sườn robot bằng nhôm, hình lục giác, kích thước mỗi cạnh 17.5cm Trên

đó ta chuẩn bị một khoang để đặt acquy 12V-1.3AH

Hình 3.8 – Khung sườn robot

3 động cơ sử dụng là động cơ DC 12V, công suất 10W Có bộ giảm tốc

Hình 3.9 – Động cơ

3 bánh xe omni đường kính 4cm, 4 bánh vệ tinh trên chu vi

Hình 3.10 – Bánh xe omni

Trang 23

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot

Ta được mô hình cơ khí hoàn chỉnh của robot tự hành:

Hình 3.11 – Kết cấu cơ khí robot

Các hình trên là các hình thiết kế sơ bộ trên phần mềm thiết kế cơ khí Solidworks

2009 Sau đây là một số hình ảnh thực tế kết cấu cơ khí mô hình robot tự hành đã thi công:

a)

Trang 24

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot

b)

c)

Hình 3.12 – Hình ảnh thực tế kết cấu cơ khí mô hình robot tự hành

a) Nhìn từ phía trên – b) Nhìn từ mặt dưới – c) Nhìn nghiêng

Trang 25

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

CHƯƠNG 4

Mạch công suất động cơ

4.1 Nhiệm vụ và yêu cầu của mạch công suất động cơ:

- Nhiệm vụ:

Mạch điều khiển có nhiệm vụ tính toán và đưa ra tín hiệu điều khiển 3 động cơ

để điều khiển robot di chuyển theo ý muốn Nhưng tín hiệu từ mạch điều khiển không

đủ công suất để điều khiển trực tiếp động cơ Vì vậy cần có mạch công suất với nhiệm

vụ nhận tín hiệu điều khiển từ mạch điều khiển và cấp công suất cần thiết để lái động

cơ chạy theo tín hiệu điều khiển đó

- Yêu cầu :

Trong đề tài này, robot vận hành với 3 động cơ DC 12V – 10W Vì vậy mạch công suất động cơ cần đáp ứng các yêu cầu:

o Điện áp hoạt động: 12V

o Điều khiển vận tốc và đảo chiều cho 3 động cơ DC độc lập

o Công suất mỗi kênh điều khiển: 10W

Đề tài này xây dựng mô hình robot tự hành với yêu cầu tải trọng nhỏ, động cơ công suất thấp, điều khiển vận tốc động cơ không cần độ chính xác cao Vì vậy để đơn giản, ta thực hiện mạch công suất động cơ:

o Dùng IC công suất L298, là IC tích hợp 2 mạch cầu H bên trong

o Điều khiển vận tốc bằng phương pháp điều chế độ rộng xung PWM

o Không điều khiển vòng kín, không có hồi tiếp vận tốc

o Không cách ly với mạch điều khiển

Mạch công suất động cơ đồng thời cũng tạo nguồn áp 5VDC cấp cho mạch điều khiển từ nguồn acquy 12VDC qua IC ổn áp 7805

4.2 Tiếp cận lý thuyết:

4.2.1 Phương pháp điều chế độ rộng xung PWM:

Phương pháp điều chế độ rộng xung PWM (Pulse Width Modulation) là phương pháp thay đổi điện áp ra trung bình nhờ vào thay đổi thời gian đóng ngắt của các khóa cấp điện cho ngõ ra

Phương pháp PWM được sử dụng rất phổ biến trong điều khiển động cơ vì các

ưu điểm:

o Mạch công suất thiết kế đơn giản

o Vận tốc động cơ thay đổi êm

o Tổn hao công suất nhỏ

Xét mạch điện sau:

Hình 4.1 – Mạch PWM

Trang 26

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ Khóa S được đóng ngắt theo chu kỳ không đổi, bằng cách thay đổi thời gian đóng (Ton) và ngắt của khóa S trong chu kỳ (T), ta thay đổi được điện áp trung bình trên tải Khoảng thay đổi từ 0 đến U

Xung PWM được tạo rất dễ dàng bằng các mạch vi điểu khiển Thực tế người ta thường điều chế xung với tần số 5KHz đến 20KHz

Khóa đóng ngắt S trong thực tế thường sử dụng Mosfet hoặc IGBT

- Cho khóa S1 và S4 đóng, khóa S2 và S3 hở mạch, khi đó dòng điện qua động cơ

có chiều: S1  M  S4, động cơ quay thuận

- Muốn đảo chiều quay của động cơ, ta ngắt S1 và S4, đóng S2 và S3, khi đó dòng

điện qua S3  M  S2, động cơ sẽ quay theo chiều ngược lại

Trong đề tài này, kết hợp mạch cầu H và phương pháp PWM, ta sẽ điều khiển vận tốc và chiều quay của động cơ như sau:

- Quay thuận: ngắt khóa S2 và S3, đóng khóa S4 và cấp xung PWM cho S1

- Quay ngược: ngắt khóa S1 và S4, đóng khóa S2 và cấp xung PWM cho S3

Trang 27

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

o Điện áp hoạt động lên đến 46V

o Có 2 mạch cầu H hoạt động độc lập, với dòng tối đa 2A cho mỗi cầu

o Ngõ vào tương thích mức điện áp logic TTL

EnA và EnB để cho phép hoặc cấm 2 cầu A và B

SENSE A và SENSE B mắc với điện trở Sunt RSA và RSB để lấy điện áp hồi tiếp

về mạch điều khiển nếu cần thiết Khi không cần lấy điện áp hồi tiếp, có thể bỏ RSA và

RSB, mắc trực tiếp SENSE A và SENSE B xuống GND

VS là nguồn công suất cho động cơ

VSS là nguồn +5VDC cung cấp cho khối logic của L298

Trang 28

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

4.3 Thực hiện mạch công suất động cơ:

Sử dụng 2 IC L298, ta được 4 mạch cầu H điều khiển 4 động cơ Bản vẽ sơ đồ nguyên lý và tạo layout mạch in 2 mặt bằng phần mềm Orcad

4.3.1 Sơ đồ nguyên lý:

Hình 4.6 – Sơ đồ nguyên lý mạch công suất

Trang 29

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

4.3.2 Giải thích hoạt động:

Khối nguồn (Power supply):

• Lấy nguồn 12V từ acquy dùng làm nguồn công suất cho L298

• Nguồn 12V cũng qua cuộn lọc L1, qua IC 7805 tạo nguồn áp 5V cấp cho khối logic của L298, và cấp nguồn cho mạch điều khiển

• Cầu chì F1 và điot xung FR307 bảo vệ chống cấp ngược áp cho mạch Khối Motor:

• Các tụ 104pF bù công suất

• Các điot FR207 để dập dòng tự cảm, bảo vệ mạch

Khối Logic driver:

• Gồm 2 IC L298, cho phép điều khiển 4 động cơ

• Các ngõ ra Out A1, Out A2, Out B1, Out B2, Out C1, Out C2, Out D1, Out D2 lần lượt là ngõ ra cấp dòng cho 4 động cơ cơ A, B, C, D tương ứng

• Các ngõ vào In A1, In A2, In B1, In B2, In C1, In C2, In D1, In D2 lần lượt là ngõ vào điều khiển động cơ A, B, C, D

Hoạt động: 4 động cơ được điều khiển độc lập và hoàn toàn tương tự nhau Xét động cơ A:

• Để động cơ quay thuận, ta cấp mức logic 0 cho ngõ vào In A2, và cấp xung PWM cho In A1

• Ngược lại, để động cơ quay nghịch, ta cấp mức logic 0 cho In A1, và cấp xung PWM cho In A2

4.3.2 Hình ảnh thực tế mạch công suất động cơ:

Trang 30

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

Trang 31

Luận án tốt nghiệp Chương 4: Mạch công suất động cơ

Hình 4.7 – Hình ảnh thực tế mạch công suất động cơ.

Trang 32

Luận án tốt nghiệp Chương 5: Mạch Micro2440

Board FriendlyARM Micro2440 dựa trên nền tảng ARM9, sử dụng microprocessor S3C2440 của Samsung có thể chạy với xung clock tối đa 533 MHz Board được sản xuất hướng đến người dùng phát triển ứng dụng nhúng, điều khiển thiết bị công nghiệp, phát triển các thiết bị PDA, GPS receiver

Board FriendlyARM Micro2440 là một máy tính nhúng, xuất xưởng hệ điều hành Linux cài đặt sẵn và có thể làm việc ngay mà không cần bước cấu hình nào Với Micro2440, một người dùng với kiến thức lập trình ứng dụng trên máy tính

có thể ngay lập tức làm việc và phát triển phần mềm ứng dụng trên board, không đòi hỏi kiến thức về phần cứng và điện tử

Cho người dùng làm công việc nghiên cứu và phát triển, board Micro2440 có thể được nạp hệ điều hành Linux, Windows CE, Android, và có thể tùy biến về phần mềm hoàn toàn theo yêu cầu công việc cụ thể

Board Micro2440 “mã nguồn mở” cả về phần cứng và phần mềm Cho mục đích học tập và nghiên cứu, ta hoàn toàn có thể tham khảo các thiết kế phần cứng, các quy trình nạp (porting) một hệ điều hành lên một mạch nhúng, thực hành lập trình nhúng Board Micro2440 bao gồm 2 khối chính: core board và SDK board Core board chứa CPU, các bộ nhớ, các thiết bị cần thiết tối thiểu để chạy CPU và memory, và các port chân cắm để cắm vào SDK board SDK board có các module giao tiếp ngoại vi

Hình 5.1 – Mạch nhúng FriendlyARM Micro2440

Trang 33

Luận án tốt nghiệp Chương 5: Mạch Micro2440 Cấu hình cơ bản của máy tính nhúng Micro2440:

• CPU tốc độ tối đa 533MHz

• 64MB SDRAM

• 256MB bộ nhớ FLASH

• LCD 3.5inch hoặc 7inch với resistor touch screen

• Real-time clock với pin backup

• COM port

• USB host 1.1

• 1 10/100 Ethernet RJ-45

• Cổng giao tiếp với Camera Module CAM130 của FriendlyARM

• Audio output 3.5 stereo jack và Microphone

S3C2440A được phát triển với lõi 16/32-bit ARM920T, công nghệ chế tạo CMOS 0.13µm, tập lệnh RISC Lõi ARM920T tích hợp các khối: MMU, AMBA BUS, kiến trúc Harvard với 16KB instruction và 16KB data cache riêng biệt

Hình 5.2 – S3C2440A và kích thước

Trang 34

Luận án tốt nghiệp Chương 5: Mạch Micro2440

Hình 5.3 – Các khổi chức năng của S3C2440A

Các đặc tính kỹ thuật chính trích từ datasheet:

Trang 35

Luận án tốt nghiệp Chương 5: Mạch Micro2440

Trang 36

Luận án tốt nghiệp Chương 5: Mạch Micro2440

Hình 5.5 – Core board

Core board là một mạch với các phần cứng tối thiểu cho một hệ thống máy tính

Nó bao gồm: Vi xử lý S3C2440; mạch cấp nguồn (đầu vào 5V); mạch Reset; cổng Jtag; các Led debug; các bộ nhớ: NAND FLASH, NOR FLASH, SDRAM; các linh kiện như tụ điện, điện trở, thạch anh cần thiết cho vi xử lý và các IC nhớ; 1 Jumper để chọn chế độ khởi động từ NAND FLASH hay NOR FLASH; và 3 port chân cắm PA,

• Data bus 32bit

• Bus clock tối đa 100MHz

• Flash memory:

• 256MB NAND FLASH

• 2M NOR FLASH

• Các cổng và thiết bị tương tác:

• 1port PA 56 chân pitch 2.0mm cho GPIO

• 1port PB 50 chân pitch 2.0mm cho LCD và CMOS CAMERA

Trang 37

Luận án tốt nghiệp Chương 5: Mạch Micro2440

• 1port PC 56 chân pitch 2.0mm cho System bus

Micro2440SDK là một mạch 2 lớp, gồm các module hỗ trợ khối hệ thống (Core board) giao tiếp với các thiết bị ngoại vi Micro2440 là một máy tính nhúng và vai trò của SDK board gần tương tự Main Board của máy tính

Hình 5.6 – SDK board

Trang 38

Luận án tốt nghiệp Chương 5: Mạch Micro2440 Micro2440SDK bao gồm:

• 1 RJ-45 network interface 100M, sử dụng Chip LAN DM9000

• cổng giao tiếp nối tiếp, gồm 3 ngõ ra TTL và 3 ngõ ra RS232

• USB Host (USB 1.1), sử dụng USB HUB Chip

• 1 USB device (USB 1.1)

• Audio output 3.5mm stereo jack và 1 microphone

• 1 PWM buzzer

• 1 biến trở W1 cho bộ ADC on-chip

• nút nhấn

• 1 khe cắm SD card

• LCD connector: 1 cho LCD 3.5inch và 1 cho LCD 7inch

• touch screen connector

• 1 CMOS camera connector (CON4) để kết nối với Camera module CAM130 của FriendlyARM

Core board bao gồm CPU và các memory (Flash, SDRAM) với tần số hoạt động

và tần số trên data bus cao, ngoài ra S3C2440 có kiểu vỏ 289-FBGA, 2 lý do này khiến việc thiết kế và thi công khối CPU và memory trở nên phức tạp Chắc chắn cần công nghệ mạch in nhiều hơn 2 lớp

SDK chỉ gồm các port IO, các IC giao tiếp… nên việc thiết kế và thi công đơn giản hơn nhiều, hoàn toàn có thể sử dụng mạch in 2 lớp

Vì vậy, cho 1 ứng dụng cụ thể cần đến khối hệ thống tương tự như Core board của Micro2440, ta hoàn toàn có thể dùng lại Core board và thiết kế lại SDK thích hợp

5.3 Hệ điều hành Embedded Linux trên Micro2440:

5.3.1 Hệ điều hành Embedded Linux:

Một hệ điều hành bao gồm 2 phần chính: phần nhân hay lõi của hệ điều hành (Kernel) và phần hệ thống các tập tin và các ứng dụng (File System)

Embedded Linux là một hệ điều hành hoàn chỉnh Cụm từ “embedded” thường được đề cập trong kernel nhưng thực chất không có một phiên bản Linux kernel nào dành riêng cho hệ thống nhúng Linux kernel source code được sử dụng chung để compile cho mọi thiết bị, từ các thiết bị nhúng, đến máy PC và cả các server lớn, đối với mỗi platform sẽ có những option hiệu chỉnh phù hợp và đặc biệt dành cho platform

đó

Trang 39

Luận án tốt nghiệp Chương 5: Mạch Micro2440 Các thành phần cấu tạo nên hệ thống Embedded Linux bao gồm boot loader, Linux kernel, và File System Tất cả các thành phần này đều có thể tìm thấy phiên bản open source và chúng ta có thể tự mình chỉnh sửa, thay đổi cho phù hợp với thiết bị của mình

Embedded Linux không thể chạy trên các processor có kiến trúc nhỏ hơn 32-bit Trong thời gian gần đây, công nghệ system-on-chip (SOC) phát triển mạnh, dẫn đến việc hạ giá thành sản xuất các microprocessor, đồng thời bộ nhớ RAM và flash cũng rẻ

và có dung lượng lớn hơn tạo nên thuận lợi cho việc chuyển sang phát triển hệ thống nhúng có sử dụng Embedded Linux Các hệ thống nhúng ngày nay bên cạnh các chức năng cần thiết còn có thể hỗ trợ thêm các chức năng phụ (web server, firewall, nghe nhạc ) thông qua hệ thống Embedded Linux

Việc sử dụng Embedded Linux cho hệ thống nhúng còn giúp giảm thời gian thiết

kế và phát triển, do bản thân Linux kernel được thiết kế theo module Chúng ta có thể

dễ dàng tìm được nhiều module có sẵn và hiệu quả như TCP/IP stack, X-server cho ứng dụng GUI, hoặc có thể tìm thấy driver cho thiết bị nhúng của mình đã được viết sẵn trong kernel

Một điểm mạnh khác của Embedded Linux là open source, điều này cho phép người thiết kế can thiệp sâu hơn vào các dịch vụ và module mà hệ điều hành cung cấp Người thiết kế có thể hiểu rõ hơn về những hàm mà họ gọi và thậm chí có thể thay đổi, tối ưu các hàm này cho thiết bị mình sử dụng Người thiết kế còn có thể dựa vào các module driver có sẵn để tham khảo cho các driver mà họ sắp viết Tính open source còn giúp code hỗ trợ bởi kernel có tính tin cậy cao, trước khi được đưa vào kernel source tree, code này đã được test rất nhiều trong cộng đồng và thậm chí nếu có lỗi xảy ra cũng sẽ có patch thay thế trong thời gian ngắn

Tính sẵn sàng của Embedded Linux là rất cao Ít có hệ điều hành nào hỗ trợ được nhiều platform và device driver như Linux Ngoài hỗ trợ phần cứng Linux còn hỗ trợ các giao thức tiêu chuẩn (wifi, bluetooth, )

Tất cả những điều trên cho chúng ta thấy tính năng hiệu quả của hệ thống Embedded Linux và cũng những điểm mạnh đó làm cho xu hướng phát triển Embedded Linux ngày càng trở nên quan trọng, càng nhiều công ty đầu tư vào lĩnh vực này và càng nhiều người yêu thích Embedded Linux hơn

Hình 5.7 – Linus Torvalds, Hình 5.8 – Chú chim cánh cụt,

cha đẻ của HĐH Linux biểu tượng của HĐH Linux

Trang 40

Luận án tốt nghiệp Chương 5: Mạch Micro2440

5.3.2 Hệ điều hành Embedded Linux trên Micro2440:

Micro2440 đã được nhà sản xuất cài đặt sẵn Embedded Linux với các tính năng chính sau:

• Drivers (all open source)

• Drivers for 3 serial ports

• DM9000 driver

• Audio driver (UDA1341) (audio recording supported)

• RTC driver

• User LED driver

• USB host driver

• True color LCD driver (including 1024 x 768 VGA)

• Touch screen driver

• USB camera driver

• Drivers for USB mouse, keyboard, flash drive and portable hard disk

• SD card driver, supports maximum memory of 32 G

• I2C-EEPROM driver

• PWM buzzer driver

• LCD backlight driver

• A/D converter driver

• Watchdog driver (watchdog reset is cold reset)

• Linux Applications and Utilities

• Busybox1.13 (Linux tool kit including basic Linux commands)

• Telnet, FTP and inetd (remote login tool)

• BOA (web server)

• Madplay (console based mp3 player)

• Snapshot (console based screen print tool)

• ifconfig, ping, route and so on (basic network commands)

• Graphic User Interface (Open Source)

• Qt/Embedded 2.2 (x86 and arm)

• Qtopia Test Utilities (developed by FriendlyARM, not open source)

Ngày đăng: 23/10/2014, 07:52

HÌNH ẢNH LIÊN QUAN

Luận án tốt nghiệp  Chương 2: Sơ đồ khối Robot tự hành - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
u ận án tốt nghiệp Chương 2: Sơ đồ khối Robot tự hành (Trang 16)
Luận án tốt nghiệp  Chương 2: Sơ đồ khối Robot tự hành - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
u ận án tốt nghiệp Chương 2: Sơ đồ khối Robot tự hành (Trang 17)
Hình 3.11 – Kết cấu cơ khí robot. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 3.11 – Kết cấu cơ khí robot (Trang 23)
Hình 3.12 – Hình ảnh thực tế kết cấu cơ khí mô hình robot tự hành - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 3.12 – Hình ảnh thực tế kết cấu cơ khí mô hình robot tự hành (Trang 24)
Hình 4.6 – Sơ đồ nguyên lý mạch công suất. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 4.6 – Sơ đồ nguyên lý mạch công suất (Trang 28)
Hình 4.7 – Hình ảnh thực tế mạch công suất động cơ. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 4.7 – Hình ảnh thực tế mạch công suất động cơ (Trang 31)
Hình 5.1 – Mạch nhúng FriendlyARM Micro2440. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 5.1 – Mạch nhúng FriendlyARM Micro2440 (Trang 32)
Hình 5.3 – Các khổi chức năng của S3C2440A - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 5.3 – Các khổi chức năng của S3C2440A (Trang 34)
Hình 5.4 – Sơ đồ khối S3C2440A - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 5.4 – Sơ đồ khối S3C2440A (Trang 35)
Hình 5.5 – Core board. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 5.5 – Core board (Trang 36)
Hình 5.6 – SDK board. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 5.6 – SDK board (Trang 37)
Hình 5.10 – Giao diện Qtopia 2.2 trên Micro2440. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 5.10 – Giao diện Qtopia 2.2 trên Micro2440 (Trang 41)
Hình 6.2 – Thiết lập thông số cho Minicom. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 6.2 – Thiết lập thông số cho Minicom (Trang 46)
Hình 6.3 – Cấu hình cho Linux Kernel. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 6.3 – Cấu hình cho Linux Kernel (Trang 47)
Hình 6.6 – Hình ảnh trong hệ màu HSV. - Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX
Hình 6.6 – Hình ảnh trong hệ màu HSV (Trang 51)

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

🧩 Sản phẩm bạn có thể quan tâm

w