Thông báo

Tất cả đồ án đều đã qua kiểm duyệt kỹ của chính Thầy/ Cô chuyên ngành kỹ thuật để xứng đáng là một trong những website đồ án thuộc khối ngành kỹ thuật uy tín & chất lượng.

Đảm bảo hoàn tiền 100% và huỷ đồ án khỏi hệ thống với những đồ án kém chất lượng.

THIẾT KẾ HỆ THỐNG MẠNG RC SERVOS CHO ROBOT DẠNG NGƯỜI

mã tài liệu 301000600013
nguồn huongdandoan.com
đánh giá 5.0
mô tả 100 MB Bao gồm tất cả file asm, hex, lst, max, obj....,.lưu đồ giải thuật.. CDR thuyết minh, power point báo cáo,bản vẽ nguyên lý, bản vẽ thiết kế, FILE lập trình, và nhiều tài liệu liên quan kèm theo đồ án này
giá 989,000 VNĐ
download đồ án

NỘI DUNG ĐỒ ÁN

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

I. Tên đề tài: Thiết kế hệ thống mạng RC servos cho robot dạng người.

II. Nhiệm vụ và nội dung:

  • Tìm hiểu phương thức điều khiển động cơ RC servos, vi điều khiển AVR Atmega8, chuẩn giao tiếp RS-232.
  • Thiết kế các module phần cứng điều khiển động cơ RC servos.
  • Xây dựng mô hình mạng RC servos theo giao thức RS-232.
  • Viết chương trình điều khiển cho Atmega8 bằng Codevision, viết chương trình giao diện điều khiển trên máy tính bằng GUI của Matlab.

LỜI CẢM ƠN

Qua thời gian làm đề tài, chúng em xin chân thành cảm ơn ThS. Lê Tấn Cường – Giảng viên bộ môn Cơ Điện Tử trường ĐH Sư Phạm Kỹ Thuật TP. HCM, thầy đã định hướng cho chúng em chọn đề tài này, chỉ dẫn và cung cấp tài liệu cho chúng em nghiên cứu, giúp đỡ và động viên tinh thần để cho chúng em có thể hoàn thành đồ án này.

Chúng em xin chân thành cảm ơn ThS. Phạm Bạch Dương- Giáo viên phản biện, thầy đã tận tình hướng dẫn, chỉnh sửa, góp ý, giúp chúng em hoàn chỉnh luận văn.

Chúng em cũng xin chân thành cảm ơn quý Thầy cô trong bộ môn Cơ Điện Tử của trường ĐH Sư Phạm Kỹ Thuật TP. HCM, quý Thầy cô trong khoa Cơ Khí Máy, và cũng như tất cả Thầy cô giáo trong nhà trường đã truyền đạt kiến thức cho chúng em, giúp chúng em có cơ sở kiến thức hoàn thành đề tài này.

Và cuối cùng chúng em cũng xin cảm ơn tất cả bạn bè cùng những người đã tạo điều kiện thuận lợi cho chúng em trong suốt quá trình làm đồ án tốt nghiệp.

TÓM TẮT ĐỒ ÁN

Đồ án thực hiện bao gồm các vấn đề sau:

  • Thành phần thiết bị: giới thiệu về loại vi điều khiển sử dụng trong đề tài Atmega8, giới thiệu về động cơ RC servos, chuẩn RS-232 và mạng RS-232 xây dựng trong đề tài.
  • Thiết kế phần cứng: thiết kế mạch điều khiển, sơ đồ khối, sơ đồ nguyên lý, chức năng các khối điều khiển và thi công mô hình.
  • Thiết kế phần mềm: bao gồm giải thuật điều khiển, giao diện điều khiển và lưu đồ giải thuật. 
  • Kết luận: đánh giá về các kết quả đạt được, cũng như trình bày về hướng phát triển đề tài.

Nội dung đề tài bao gồm các chương sau:

Chương 1: Tổng quan

Chương 2: Giới thiệu thành phần thiết bị

Chương 3: Thiết kế phần cứng

Chương 4: Thiết kế phần mềm điều khiển

Chương 5: Kết luận và hướng phát triển đề tài

ABSTRACT

This plan consists of:

  • Devices: Introduce AVR 8-bit microcontroller – Atmega8, RC servos, RS-232 standard and RS-232 network built in the plan.
  • Hardware: Design Control circuits, block diagrams, schemata, functions of control blocks and implement the models.
  • Software: Include flow charts and control interfaces.
  • Conclusion: Estimate the achievements as well as developmental targets.

Contents of the thesis:

Chapter 1: Overview

Chapter 2: Introduction to the devices

Chapter 3: Hardware design

Chapter 4: Software design

Chapter 5: Conclusion

MỤC LỤC

Trang bìa

i

Nhiệm vụ đồ án tốt nghiệp

ii

Nhận xét của giáo viên hướng dẫn

iii

Nhận xét của giáo viên phản biện

iv

Lời cảm ơn

v

Tóm tắt đồ án

vi

Abstract

vii

Mục lục

viii

Danh mục hình vẽ   

ix

Danh mục bảng biểu

xi

 

 

CHƯƠNG 1: TỔNG QUAN

1

1.1 Giới thiệu

1

1.2 Tình hình nghiên cứu

1

CHƯƠNG 2: GIỚI THIỆU THÀNH PHẦN THIẾT BỊ

4

2.1 Vi điều khiển AVR Atmega8

5

2.2 Động cơ RC servos

10

2.3 Chuẩn giao tiếp RS-232

16

2.4 Mạng truyền thông RS-232 cho RC servos

19

CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG

28

3.1 Mạch điện

29

3.2 Mô hình

33

CHƯƠNG 4: THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN

34

4.1 Vi điều khiển

35

4.2 Giao diện máy tính

38

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

46

5.1 Kết luận

46

5.2 Hướng phát triển

46

Tài liệu tham khảo

50

Phụ lục A: Sơ đồ tổng quát mạch điện

51

Phụ lục B: Code chương trình vi điều khiển trong Codevision

52

Phụ lục C: Code chương trình giao diện máy tính trong Matlab

62

 


DANH MỤC HÌNH VẼ

Hình 1.1 Mạng động cơ Dynamixel AX-12                                                                          1

Hình 1.2 Bộ lắp ghép Robotis Bioloid Edutainment Robot Kit                                         2

Hình 1.3 Puppy robot có 16 RC servos, Spider robot có 15 RC servos                           2

Hình 1.4 Dinosaur robot có 15 RC servos, humanoid robot gồm 22 động cơ RC servos     3

 

Hình 2.1 Sơ đồ khối vi điều khiển AVR Atmega8                                                               6

Hình 2.2 Biểu đồ dạng sóng PWM nhanh                                                                             7

Hình 2.3 Biểu đồ dạng sóng PWM hiệu chỉnh pha                                                              8

Hình 2.4 Biểu đồ dạng sóng PWM hiệu chỉnh pha và tần số                                             9

Hình 2.5 Ba loại động cơ servos dùng trong đồ án                                                            10

Hình 2.6 Động cơ RC servo HS-945MG                                                                             12

Hình 2.7 Kích thước của động cơ RC servo HS-945MG                                                  12

Hình 2.8 Bộ truyền bánh răng                                                                                              13

Hình 2.9 Cấu tạo bên trong của RC servo HS-945MG                                                     13

Hình 2.10 Chốt nhựa giới hạn trước và sau khi bị cắt                                                       13

Hình 2.11 Tín hiệu điều khiển cho servo motors. Đường liền nét mô tả cho vị trí servos ở 0deg, đường chấm nét mô tả độ rộng xung tương ứng cho vị trí                                             14

Hình 2.12 Giản đồ xung kích RC servos                                                                             14

Hình 2.13 Khi vỏ phía sau servo motor được tháo rời, phía trong là mạch in của board điều khiển. (a) vị trí 3 điểm hàn kết nối board mạch với motor. Nếu board mạch được tháo rời thì có thể nhìn thấy biến trở, cung cấp tín hiệu hồi tiếp vị trí đến mạch điều khiển bên trong servo motor. Biến trở được đánh dấu trong hình (b) với vòng tròn màu đỏ                                                                  15

Hình 2.14 Giản đồ khung truyền ký tự A theo mã ASCII                                                 16

Hình 2.15 Sơ đồ chân DB25                                                                                                 17

Hình 2.16 Sơ đồ chân DB9                                                                                                    17

Hình 2.17 Cấu trúc gói dữ liệu                                                                                             19

Hình 2.18 Mạng truyền thông nhiều động cơ                                                                     19

Hình 3.1 Sơ đồ khối tổng thể một động cơ                                                                         29

Hinh 3.2 Module nguồn cung cấp                                                                                        30

Hình 3.3 Sơ đồ khối LD1117                                                                                                30

Hình 3.4 Hình dạng và sơ đồ chân LD1117                                                                       30

Hinh 3.5 Mạch ứng dụng tiêu biểu LD1117                                                                       31

Hình 3.6 Module vi điều khiển                                                                                            31

Hình 3.7 Module giao tiếp ngoại vi                                                                                     32

Hình 3.8 Module giao tiếp vi điều khiển với máy tính thông qua Max232                   32

Hình 3.9 Mạch phần cứng vi điều khiển                                                                             33

Hình 3.10 Mô hình hoàn chỉnh gồm 3 động cơ kết nối theo mạng RS-232                   33

Hình 4.1 Lưu đồ giải thuật chương trình main vi điều khiển                                           35

Hình 4.2 Lưu đồ giải thuật chương trình con hiệu chỉnh                                                  36

Hình 4.3 Lưu đồ giải thuật chương trình interrupt vi điều khiển                                    37

Hình 4.4 Giao diện khởi động phần mềm                                                                           38

Hình 4.5 Giao diện kết nối cổng COM                                                                                38

Hình 4.6 Giao diện chương trình dùng giao tiếp phát triển mạng servos                       39

Hình 4.7 Panel servo parameters                                                                                         40

Hình 4.8 Panel error status                                                                                                    40

Hình 4.9 Control panel                                                                                                          41

Hình 4.10 Panel system write                                                                                               42

Hình 4.11 Panel sync write control                                                                                     42

Hình 4.12 Panel transmitter/receiver                                                                                  43

Hình 4.13 Lưu đồ giải thuất nút connect/ Test RC SERVOS                                           43

Hình 4.14 Lưu đồ giải thuật hàm truyền chuỗi dữ liệu TxPacket(bID,bInstruction,bParameterLength)                                                                                                                                                   44

Hình 4.15 Lưu đồ giải thuật hàm RxPacket(bRxPacketLength)                                      45

Hình 4.16 Lưu đồ giải thuật các nút đọc/ghi                                                                      45

Hình 5.1 Chuẩn kết nối giữa main board và các module ngoại vi của biped robot      46

Hình 5.2 Robot NX-25Q Humanoid Robot với 17 RC servos kết nối, không có đường hồi tiếp, tổng số dây điện là 17x3=51                                                                                                              47

Hình 5.3 Cấu trúc mô hình smart servos                                                                             47

Hình 5.4 Kết nối dây mạng RS485 từ servos về main board gồm 6 dây: +7.4V, +7.4V, A, B, GND, GND, trong đó đường nguồn dùng cáp đôi để đảm bảo đủ dòng                                     48

Hình 5.5 Thứ tự bố trí các smart servos trên robot                                                            48

Hình 5.6 Mô hình robot hoàn chỉnh sau khi lắp các mạch điện                                      49

 

DANH MỤC BẢNG BIỂU

Bảng 2.1 Timer trong Atmega8                                                                                               7

Bảng 2.2 Kết nối dây                                                                                                              10

Bảng 2.3 Các thông số đặc trưng cho HS-945MG và ES539                                           11

Bảng 2.4 Chức năng chân cổng COM                                                                                  17

Bảng 2.5 Bảng mã lỗi giao tiếp                                                                                             21

Bảng 2.6 Bảng qui định ý nghĩa thông số P_RETURN_LEVEL                                      22

Bảng 2.7 Bảng mã lệnh điều khiển động cơ                                                                       24

Bảng 4.1 Mã lỗi truyền nhận                                                                                                40

 

           

CHƯƠNG 1

TỔNG QUAN

  1.  Giới thiệu

Ngày nay, công nghệ robots đang phát triển nhanh chóng. Trong đó, các robots mô hình lắp ghép mà đặc biệt là robots dạng người đã đạt được những thành tựu vượt bậc. Những thành tựu trong công nghệ robots dạng người mang tính thực tiễn rất cao. Các robots đòi hỏi độ chính xác trong thao tác để tạo ra các sản phẩm chất lượng, hoạt động trong môi trường khắc nghiệt, nguy hiểm, trong các ngành khoa học khác như trong y khoa, và cả trong các đồ chơi công nghệ cao.

Trong các robots mô hình, các động cơ được sử dụng là các động cơ chuyên dùng điều khiển góc quay – các động cơ RC servos. Động cơ RC servos được sử dụng phổ biến trong các cơ cấu chấp hành được điều khiển bằng vi xử lý, vừa nhỏ gọn, vừa tiết kiệm năng lượng và rẻ tiền. Trong các robots mô hình lắp ghép, các RC servos được kết nối thành mạng và xây dựng một giao thức để quản lý điều khiển mạng này.

Việc nghiên cứu xây dựng mạng RC servos có ý nghĩa thiết thực để tiếp cận với công nghệ robots hiện đại trên thế giới.

1.2 Tình hình nghiên cứu

Các mô hình robots hiện nay trên thế giới được phát triển dưới dạng kết nối các động cơ RC servos thành một mạng lưới. Mạng động cơ RC servos bao gồm một bộ điều khiển trung tâm kết nối cho tất cả các động cơ có trong mô hình.

Khảo sát mạng động cơ RC servos của hãng Robotis Dynamixel AX-12, RX-10,CM-2…Mạng lưới này xây dựng một giao thức liên lạc giữa bộ điều khiển và từng module động cơ. Trong đó, bộ điều khiển kiểm soát tất cả các thông tin trạng thái của mỗi động cơ về vị trí, tốc độ, nhiệt độ…Giao thức kết nối có thể theo chuẩn RS485 hay chuẩn RS232.

Hình 1.1 Mạng động cơ Dynamixel AX-12

Khảo sát một số mô hình robot của hãng Robotis trong bộ lắp ghép Robotis Bioloid Edutainment Robot Kit.

Hình 1.2 Bộ lắp ghép Robotis Bioloid Edutainment Robot Kit

Chẳng hạn mô hình Puppy robot có 16 RC servos. Mô hình Spider robot có 15 RC servos

 Hình 1.3 Puppy robot có 16 RC Servos, Spider robot có 15 RC Servos

Mô hình Dinosaur robot có 15 RC servos. Mô hình humanoid robot, ở đây là mạng gồm 22 động cơ RC servos, thể hiện được các hành động thao tác của con người.

 

 

 

Hình 1.4 Dinosaur robot có 15 RC servos, humanoid robot gồm 22 động cơ RC servos

 


CHƯƠNG 2

GIỚI THIỆU THÀNH PHẦN THIẾT BỊ

Nội dung chương

            2.1 Vi điều khiển AVR Atmega8

5

2.1.1 Kiến trúc RISC

5

2.1.2 Đặc điểm

5

2.1.3 Sơ đồ khối

6

2.1.4 Giới thiệu chức năng PWM

6

2.2 Động cơ RC servos

10

2.2.1 Giới thiệu động cơ RC servos

10

2.2.2 Phân loại động cơ RC servos

10

2.2.3 Kết nối dây

10

2.2.4 Đặc tính kỹ thuật

11

2.2.5 Cấu tạo RC servo HS-945MG

12

2.2.6 Nguyên lý hoạt động RC servos

14

2.2.7 Tạo đường hồi tiếp cho servo motors

14

2.3 Chuẩn giao tiếp RS-232

16

2.3.1 Khái niệm chung

16

2.3.2 Đặc tính kỹ thuật của chuẩn RS-232

16

2.3.3 Sơ đồ chân kết nối

17

2.3.4 Nhóm chức năng các chân tín hiệu

18

2.4 Mạng truyền thông RS-232 cho RC servos

19

2.4.1 Gói dữ liệu

19

2.4.2 Mạng truyền thông

19

2.4.3 ID duy nhất

20

2.4.4 Giao thức

20

2.4.5 Gói lệnh

20

2.4.6 Gói trạng thái (gói dữ liệu trả về)

20

2.4.7 Phân bố vùng nhớ và bảng mã lệnh điều khiển

21

2.4.8 Các ví dụ giao tiếp điều khiển servos

24

Chương này giới thiệu các thành phần thiết bị như: vi điều khiển Atmega8, động cơ RC servos. Bên cạnh đó, cũng nhắc đến các khái niệm cơ sở để xây dựng một mạng truyền thông RC servos và nguyên lý điều khiển động cơ. Đây có thể xem là các định nghĩa quan trọng giúp dễ dàng hiểu các chương tiếp theo.

2.1 Vi điều khiển AVR Atmega8

2.1.1 Kiến trúc RISC

  • 130 lệnh hầu hết thực hiện trong một chu kỳ xung đồng hồ.
  • 32x8 thanh ghi làm việc đa năng.
  • Các lệnh có chiều dài cố định.
  • Kiến trúc đường ống lệnh kiểu hai tầng làm tăng tốc độ thực thi lệnh.

2.1.2 Đặc điểm

  • 8k bộ nhớ Flash, 512 bytes EEPROM, 1k bytes SRAM.
  • Hai bộ đếm/định thời 8 bit với chế độ so sánh và chia tần số tách biệt.
  • Một bộ đếm/định thời 16 bit với chế độ so sánh và chế độ nạp lại, chia tần số tách biệt.
  • Ba kênh PWM.
  • Giao tiếp nối tiếp SPI master/Slave.
  • USART nối tiếp lập trình được.
  • Có bộ định thời Watchdog timer ngày trên chip và lập trình được với bộ dao động độc lập.
  • Bộ so sánh Analog trên chip.
  • Một bộ biến đổi ADC 10 bit có đến 8 kênh lối vào.
  • Một giao diện TWI đồng bộ tương thích I2C.
  • Bộ đếm thời gian thực với bộ dao động tách biệt.
  • I/O: 32 đường I/O, trong đó có 23 đường I/O lập trình được.
  • Điện áp hoạt động: 4.5 - 5.5V.
  • Hoạt động với xung nhịp: 0 - 16 MHz.

 

 

 

 

 

 

 

 

 

 

 

 

2.1.3 Sơ đồ khối

Hình 2.1 Sơ đồ khối vi điều khiển AVR Atmega8

2.1.4 Giới thiệu chức năng PWM

PWM (Pulse Width Modulator) là module điều rộng xung.

Atmega8 có ba kênh điều rộng xung nằm ở Timer/Counter1, 2 và tương ứng có 3 chân PWM:

 

 

Bảng 2.1 Timer trong Atmega8  

Tên gọi

Vị trí

Timer/Counter

OC1A

PIN15

TCNT1A

OC1B

PIN16

TCNT1B

OC2

PIN17

TCNT2

 

Có 3 chế độ PWM:

  • Chế độ PWM nhanh (fast PWM mode).
  • Chế độ PWM hiệu chỉnh pha (Phase corect PWM mode).
  • Chế độ PWM hiệu chỉnh pha và tần số (Phase and Frequency correct PWM mode).

a. Chế độ PWM nhanh                                                                                                               

Fast PWM là chế độ tạo ra xung PWM có tần số cao. Timer đếm từ giá trị BOTTOM đến giá trị MAX và trở về đếm lại từ giá trị BOTTOM.

Biểu đồ dạng sóng:

Hình 2.2 Biểu đồ dạng sóng PWM nhanh

Tần số PWM:

  • Đối với TCNT1:

                                                                                          (2.1)

 

N = {1, 8, 64, 256, hoặc 1024}

 

 

  • Đối với TCNT2:

                                                                                                  (2.2)

N ={1, 8, 32, 64, 128, 256, hoặc 1024}

b. Chế độ PWM hiệu chỉnh pha

Đối với mode này, timer đếm từ giá trị BOTTOM lên đến giá trị MAX và sau đó đếm từ MAX xuống BOTTOM.

Chế độ Phase Correct PWM có tần số hoạt động thấp hơn so với chế độ Fast PWM. Tuy nhiên chế độ này thường được sử dụng để điều khiển động cơ do đặc tính đối xứng của nó.

Biểu đồ dạng sóng:

Hình 2.3 Biểu đồ dạng sóng PWM hiệu chỉnh pha

Tần số PWM:

  • Đối với TCNT1:

                                                                                              (2.3)

N={1, 8, 64, 256, hoặc 1024}

  • Đối với TCNT2:

                                                                                                  (2.4)

N ={1, 8, 32, 64, 128, 256, hoặc 1024}

 

 

c. Chế độ PWM hiệu chỉnh pha và tần số (chỉ có ở TCNT1):

Mode này gần giống với mode Phase Correct PWM. Sự khác biệt giữa 2 mode là thanh ghi OCR1x được cập nhật bởi thanh ghi đệm OCR1x Buffer Register.

Dạng sóng ngõ ra:

Hình 2.4 Biểu đồ dạng sóng PWM hiệu chỉnh pha và tần số

Nhận xét: Chiều dài xung lên và xuống là như nhau. Ngõ ra luôn đối xứng trong mọi chu kỳ chính vì thế ta có thể điều chỉnh được tần số.

Tần số PWM:

                                                                                              (2.5)

N={1, 8, 64, 256, hoặc 1024}


2.2 Động cơ RC servos

2.2.1 Giới thiệu động cơ RC servos

HS-945MG

S3001

ES539

Hình 2.5 Ba loại động cơ servos dùng trong đồ án

 

Động cơ RC (Radio Control) servos đầu tiên được thiết kế để sử dụng trong điều khiển máy bay hoặc xe hơi. Về sau, động cơ này được sử dụng phổ biến trong các cơ cấu chấp hành được điều khiển bằng vi xử lý, vừa nhỏ gọn, vừa tiết kiệm năng lượng và rẻ tiền.

Động cơ RC servos có moment xoắn cao so với kích thước của nó, điều khiển vị trí góc chính xác bằng cách cung cấp xung theo phương thức điều biến độ rộng xung (PWM), độ rộng của xung sẽ quyết định vị trí góc của trục động cơ.

2.2.2 Phân loại động cơ RC servos

Có rất nhiều loại RC servos chúng khác nhau về độ chính xác, tốc độ điều khiển và tùy thuộc vào giá cả để bạn lựa chọn một động cơ thích hợp với ứng dụng của bạn.

Nhiều hãng sản xuất như: Airtronics, Cirrus, FMA Direct, Futaba, Hitec, Japan Radio (JR), Ko Propo, Multiplex, Tower Hobbies.

2.2.3 Kết nối dây

Như đã giới thiệu thì đối với mỗi hãng sản xuất có một quy định về màu dây khác nhau đối với chức năng. Tuy nhiên trên cơ sở kết nối có 3 dây: negative, positive và signal. 

Bảng 2.2 Kết nối dây

Hãng

Negative

Positive

signal

 

Futaba

Red, middle pin

Black, outside pin

White, inside pin

Hitec

Red, middle pin

Black, outside pin

Yellow, inside pin

JR

Red, middle pin

Brown, outside pin

Orange, inside pin

Airtronics/Sanwa Z

Red, middle pin

Black, outside pin

Blue or Yellow, inside pin

Airtronics

Red

Black, middle pin

Black, White, or Blue

Trong đề tài nhóm sử dụng 3 loại động cơ của: JR, Futaba, Hitec.

2.2.4 Đặc tính kỹ thuật

Bảng 2.3 Các thông số đặc trưng cho HS-945MG và ES539

Thông số

Hitec - HS-945MG

JR - ES539

Điện áp hoạt động

7.4V

6V

Dòng điện hoạt động

380mA

450mA

Dòng điện giới hạn

5.2A

N/A

Moment giữ

2.9Nm

0.92Nm

Momen giới hạn

2.8Nm

N/A

Tỉ lệ xung

Tầm xung

Điểm giữa Neutral

Độ rộng vùng chết

Tốc độ (không tải)

Hướng quay thuận

Chiều tăng xung

Chiều tăng xung

Loại vật liệu hộp giảm tốc

Titanium

Nhựa

Trọng lượng

62g

55.2g

2.2.5 Cấu tạo RC servo HS-945MG

Hình 2.6 Động cơ RC servo HS-945MG

Động cơ RC servos cực kỳ tiện dụng trong lĩnh vực Robotics. Phần này chúng ta sẽ khảo sát cấu tạo động cơ RC servo HS-945MG của hãng HITEC (hình 2.6). Động cơ này khá nhỏ với kích thước: 41 x 20 x 36,5mm.

Hình 2.7 Kích thước của động cơ RC servo HS-945MG

Bên trong động cơ có tích hợp mạch điều khiển, bộ truyền bánh răng (hình 2.8) và một thiết bị hồi tiếp là một biến trở xoay được nối với trục ngoài của động cơ (hình 2.9). Biến trở này có tác dụng theo dõi vị trí góc của trục động cơ thông qua cường độ dòng đưa vào. Nếu trục động cơ đạt được vị trí góc yêu cầu thì động cơ sẽ được tắt, ngược lại thì động cơ sẽ quay đến khi nào đạt được vị trí góc được quy định bởi độ rộng xung đưa vào.

 

Hình 2.8 Bộ truyền bánh răng

Trục động cơ chỉ có thể quay một góc giới hạn là 180o hoặc 210o (tùy thuộc vào hãng sản xuất động cơ) là do có một chốt nhựa ở bên trong. Nếu muốn động cơ RC servos quay toàn vòng, ta phải cắt bỏ chốt này đi (hình 2.10).

Động cơ có 3 dây ra: 1 dây nguồn (đỏ), 1 dây mass (đen), 1 dây tín hiệu điều khiển (màu vàng/trắng).

 

Hình 2.9 Cấu tạo bên trong của RC servo HS-945MG

 

Hình 2.10 Chốt nhựa giới hạn trước và sau khi bị cắt

2.2.6 Nguyên lý hoạt động RC servos

Như đã nói ở trên vị trí góc của động cơ RC servos điều khiển dựa trên nguyên lý PWM. Để điều khiển động cơ RC servos ta sẽ cấp xung mỗi 50Hz ,nghĩa là 20ms một lần.

Đồ thị (hình 2.11) mô tả khe thời gian cho tín hiệu điều khiển vị trí servos. Vùng hoạt động của động cơ này được minh họa bằng đường chấm ở 700us và 2300us, tương ứng với +/- 90o. Tốc độ chỉnh tối đa, khi cấp nguồn 6V, là 5.24 rad/s.

 

Hình 2.11 Tín hiệu điều khiển cho servo motors. Đường liền  nét mô tả cho vị trí servos ở 0deg, đường chấm nét mô tả độ rộng xung tương ứng cho vị trí

,..........................................

xem PHỤ LỤC B)


4.2 Giao diện máy tính

4.2.1 Giao diện khởi động

Phần mềm được xây dựng dùng cho việc phát triển khi lập trình cho mạng rc servos. Phần mềm được viết bằng GUI của Mathlab7.2, hình 1 mô tả giao diện khởi động phần mềm.

            Để có thể chạy chương trình trước hết các servos cần được được kết nối nhau trên một mạng và kết nối với PC qua mạch RS232. Sau đó chọn cổng COM và tốc độ kết nối trên máy tính mặc định là COM1, 57600bits/s.

Hình 4.4 Giao diện khởi động phần mềm

Operation Status: hiển thị trạng thái kết nối giữa máy tính và bộ điều khiển.

Main Control:

  • Connect: thiết lập thông số giao tiếp như cổng COM, tốc độ baud.

Hình 4.5 Giao diện kết nối cổng COM

  • Test RC SERVOS: vào giao diện chính của chương trình.

4.2.2 Giao diện chính chương trình

Hình 4.6 Giao diện chương trình dùng giao tiếp phát triển mạng servos

Trong Control Panel của giao diện chọn ID của động cơ cần kiểm tra và nhấn lệnh PING, nếu động cơ có tồn tại trên mạng kết nối thì đèn Connectivity sẽ sáng, còn không lỗi sẽ báo tương ứng trên các đèn Error.

Khi việc kết nối động cơ thành công thì lúc này ta có thể điều chỉnh núm xoay Position để điều khiển servos đến các vị trí mong muốn, giá trị điều chỉnh đã được số hóa bằng số từ 0-320 tương ứng từ -90deg đến +90deg của servos. Bên cạnh đó, người dùng có thể thay đổi vận tốc quay trong ô Velocity hoặc dùng các lệnh ghi giá trị vị trí và vận tốc (WRITE) , đọc giá trị vị trí (READ), kiểm tra xem động cơ đang di chuyển hay không (READ MOVING), kiểm tra động cơ ở trạng thái hãm hay không (READ TORQUE), và lệnh ACTION dùng thực thi nhiều động cơ cùng một lúc ứng với lệnh đồng bộ ghi dữ liệu.

Trong System Write cũng có thể đọc và ghi các thông số hệ thống như giới hạn góc lớn nhất, nhỏ nhất, cũng như cho phép thay đổi ID servos.

Giao diện chính chia thành các phần pannels như sau: Error Status, Control Pannel, Servo parameters, System write, Sync write control, Receiver, Transmitter.

a. Servo Parameters

Hình 4.7 Panel servo parameters

Điều chỉnh núm xoay để điều khiển servos đến vị trí mong muốn.

b. Error Status

Hình 4.8 Panel error status

Error status bao gồm các mã lỗi như sau:

Bảng 4.1 Mã lỗi truyền nhận

Lỗi

Ý nghĩa

RxD Timeout

Nếu bộ điều khiển hỏi thiết bị mà thiết bị không trả lời lại thì sẽ báo lỗi này.

Wrong Header

Nếu 2 bytes đầu tiên khác 0xFF.

TxID != RxID

Khi số ID truyền khác với ID nhận được từ gói trạng thái.

Wrong Length

Ứng với mỗi lệnh gửi thì gói nhận sẽ có độ dài biết trước và nếu độ dài không phù hợp thì sẽ báo lỗi này.

Wrong checksum

Sau khi bộ điều khiển nhận được thông tin, sẽ tín checksum của gói nhận, nếu checksum tính được khác checksum được gửi trong gói nhận thì sẽ báo lỗi này.

c. Control panel

Hình 4.9 Control panel

 

Control pannel đóng vai trò điều khiển tốc độ, vị trí, moment…tương ứng với số ID.

  • ID: chọn động cơ cần điều khiển ứng với giá trị ID.
  • Velocity: tốc độ di chuyển.
  • Connectivity: trạng thái kết nối với động cơ.
  • Moving: trạng thái di chuyển động cơ.
  • Reg Write: đồng bộ ghi dữ liệu.
  • Torque Enable: cho phép moment.
  • PING: kiểm tra động cơ có số ID trên có tồn tại hay không.
  • WRITE: ghi giá trị xuống động cơ với ID.
  • READ: đọc giá trị từ động cơ với ID.
  • READ MOVING: đọc vị trí hiện tại của động cơ.
  • ACTION: thực thi nhiều động cơ cùng một lúc ứng với lệnh đồng bộ ghi dữ liệu.
  • EXIT: đóng cửa sổ giao diện và thoát khỏi chương trình

 

 

 

 

 

d. System write

Hình 4.10 Panel system write

 

System write đọc và ghi thay đổi các thông số hệ thống trong vùng nhớ EEPROM.

  • WRITE: ghi các thông số mới cho hệ thống.
  • READ: đọc các thông số hiện tại của hệ thống và hiển thị giá trị tương ứng.
  • NEW ID: giá trị ID mới cho động cơ.
  • CW_ANG_LIMIT: góc giới hạn của động cơ theo chiều kim đồng hồ.
  • CCW_ANG_LIMIT: góc giới hạn của động cơ theo ngược chiều kim đồng hồ.
  • RETURN_LEVEL: giá trị yêu cầu trả về gói trạng thái từ động cơ.

e. Sync write control

Hình 4.11 Panel sync write control

 

Ghi đồng bộ dữ liệu nhiều động cơ (ở đây 4) giá trị vị trí và vận tốc.

  • ServoN Enable: cho phép ghi đến Servo tương ứng ID N. 
  • ID: số ID.
  • Position: giá trị vị trí tương ứng.
  • Velocity: giá trị vận tốc tương ứng.
  • SYNC WRITE: ghi giá trị thông số cùng lúc nhiều động cơ.

 

 

f. Transmitter/Receiver

Hiển thị gói dữ liệu truyền và gói trạng thái nhận.

Hình 4.12 Panel transmitter/receiver

 

4.2.3 Lưu đồ giải thuật cho các đối tượng tiêu biểu

a. Giao diện khởi động

Nút connect

Nút Test RC SERVOS

Hình 4.13 Lưu đồ giải thuật nút connect/ Test RC SERVOS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b. Giao diện chính

Hình 4.14 Lưu đồ giải thuật hàm truyền chuỗi dữ liệu TxPacket(bID,bInstruction,bParameterLength)

 

Hình 4.15 Lưu đồ giải thuật hàm RxPacket(bRxPacketLength)

 

Nhóm lệnh đọc: READ, READ_MOVING, READ TORQUE

Nhóm lệnh ghi: WRITE , ACTION

Hình 4.16 Lưu đồ giải thuật các nút đọc/ghi

4.2.4 Code chương trình (xem PHỤ LỤC C)

 

CHƯƠNG 5

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

5.1 Kết luận

Các vấn đề đã giải quyết trong đề tài:

5.1.1 Phần cứng

            Hoàn thành mạch điện điều khiển chính cho động cơ.

            Đã xây dựng được mô hình mạng RS-232 với 3 động cơ.

5.1.2 Phần mềm

            Hoàn thành phần mềm điều khiển vị trí cho động cơ, đồng thời có khả năng liên kết theo mạng RS-232 cho vi điều khiển Atmega8.

            Hoàn thành phần mềm giao diện trên máy tính dùng giám sát và điều khiển động cơ phát triển trong mạng.

5.2 Hướng phát triển

Mô hình thực hiện ở trên chỉ đơn giản là mạng 3 động cơ servos kết nối theo mạng RS-232.

Sau đây xin giới thiệu mạng RC servos ứng dụng trong robot dạng người bao gồm 21 smart servos kết nối với board mạch chính qua mạng truyền thông công nghiệp RS485 như sau:

Hình 5.1 Chuẩn kết nối giữa main board và các module ngoại vi của biped robot

21 servo motors, mỗi servo có 3 dây: GND, PWM và VCC, thêm đường hồi tiếp vị trí gồm Signal và GND. Vậy tổng cộng số dây điện sẽ kéo về mainboard sẽ là: 21x5=105 sợi.

Hình 5.2 Robot NX-25Q Humanoid Robot với 17 RC servos kết nối, không có đường hồi tiếp, tổng số dây điện là 17x3=51

Việc nhiều dây điện trong kết nối sẽ ảnh hưởng đến các chuyển động của robot, khả năng hư hỏng cao. Thêm vào đó với các servos ở chân, các đường hồi tiếp sẽ tốn nhiều dây điện mới về đến mainboard để đo lường, như thế khả năng bị nhiễu rất cao. Ngoài ra, mỗi RC servo cần có 1 tín hiệu PWM với tần số 50Hz để điều khiển, như thế với mô hình sử dụng nhiều servos thì vấn đề trên sẽ chiếm dụng rất nhiều tài nguyên của bộ xử lý, như thế nó sẽ không còn thời gian để làm các công việc khác. Để khắc phục các nhược điểm trên, tác giả đã phát triển một mô hình smart servo. Hình 5.3 mô tả cấu trúc của một smart servo.

 

 

Hình 5.3 Cấu trúc mô hình smart servos

Smart servo chính là một RC servo thông thường, nhưng chúng được gắn thêm bộ giao tiếp mạng, giúp nhiều động cơ có thể kết nối trên cùng một đường truyền, ngoài ra smart servo còn cho biết vị trí góc hiện tại và nhiều tính năng khác. Hạt nhân tạo nên smart servo là vi điều khiển ATMEGA8, có ADC 10bits để đo lường vị trí, giao tiếp với driver Max485 để truyền thông với mainboard qua mạng RS485. Từ khi áp dụng smart servo cho robot ta thấy số dây điện đưa về mainboard gồm 4 đường: VCC, A, B và GND điều khiển cho 21 servos. Hình 5.4 mô tả việc nối dây đến mainboard.

Close