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

NGHIÊN CỨU THIẾT KẾ CHẾ TẠO MÔ HÌNH ĐIỀU KHIỂN VỊ TRÍ VÀ VẬN TỐC ĐỘNG CƠ ỨNG DỤNG TRÊN MÔ HÌNH CÁNH TAY ROBOT

66 251 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 66
Dung lượng 1,78 MB

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

Nội dung

NGHIÊN CỨU THIẾT KẾ CHẾ TẠO MÔ HÌNH ĐIỀU KHIỂN VỊ TRÍ VÀ VẬN TỐC ĐỘNG CƠ ỨNG DỤNG TRÊN MÔ HÌNH CÁNH TAY ROBOT Sinh viên thực hiện PHAN THIÊN HOÀNG Khóa luận được đệ trình đề để đáp ứng y

Trang 1

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

TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH

KHOÁ LUẬN TỐT NGHIỆP

NGHIÊN CỨU THIẾT KẾ CHẾ TẠO MÔ HÌNH ĐIỀU KHIỂN VỊ TRÍ

VÀ VẬN TỐC ĐỘNG CƠ ỨNG DỤNG TRÊN MÔ HÌNH CÁNH TAY

Trang 2

NGHIÊN CỨU THIẾT KẾ CHẾ TẠO MÔ HÌNH ĐIỀU KHIỂN VỊ TRÍ VÀ VẬN TỐC ĐỘNG CƠ ỨNG DỤNG TRÊN MÔ HÌNH CÁNH TAY ROBOT

Sinh viên thực hiện

PHAN THIÊN HOÀNG

Khóa luận được đệ trình đề để đáp ứng yêu cầu cấp bằng kỹ sư ngành Cơ Điện Tử

Giáo viên hướng dẫn Th.S TRẦN THỊ KIM NGÀ

Ks Huỳnh Xuân Dũng

Tháng 6 năm 2011

Trang 3

Anh Ks Huỳnh Xuân Dũng, kĩ sư ngành Điều Khiển Tự Động, đã có những chỉ bảo, giúp đỡ cho em về mặt kinh nghiệm để hoàn thành tốt đề tài này

Đặc biệt, em xin cảm ơn quý Thầy / Cô trong hội đồng đã dành thời gian nhận xét góp ý để luận văn của em hoàn thiện hơn

Cuối cùng, em xin gởi lời cảm ơn đến những người thân cũng như bạn

bè đã động viên, ủng hộ và luôn tạo cho em mọi điều kiện thuận lợi trong suốt quá trình hoàn thành đề tài

Thành Phố Hồ Chí Minh, ngày tháng năm 2011

Sinh viên thực hiện

Phan Thiên Hoàng

Trang 4

TÓM TẮT

Đề tài: “Nghiên cứu thiết kế chế tạo mô hình điều khiển vị trí và vận tốc ứng dụng trên mô hình cánh tay robot có sẵn” Được tiến hành tại bộ môn cơ điện tử

trường Đại Nông Lâm TP.HCM, năm 2011

Mục đích điều khiển vị trí và vận tốc của động cơ Servo ứng dụng thuật toán PID Động cơ Servo được điều khiển vị trí và vận tốc thông qua mạch điều khiển sử dụng vi điều khiển PIC và giao diện giám sát được viết bằng Visual C++

Một mô hình khảo nghiệm độ chính xác của việc điều khiển vị trí và tốc độ của động cơ Servo được thiết kế và chế tạo để kiểm tra kết quả của chương trình sử dụng thuật toán PID và giao diện hiển thị

Kết quả này được ứng dụng điều khiển cho mô hình cánh tay Robot có được vị trí và vận tốc của 3 khớp cánh tay Robot

Trang 5

MỤC LỤC

TRANG Trang tựa

Lời cảm ơn ii

Tóm tắt iii

Mục lục iv

Danh sách các chử viết tắt vi

Danh sác các hình vii

Danh sách các bảng viii

Chương 1 i

MỞ ĐẦU 1

1.1 Đặt vấn đề 1

1.2 Mục đích của đề tài 1

1.3 Giới hạn của đề tài 2

Chương 2 3

TỔNG QUAN 3

2.1 Tổng quan điều khiển động cơ 3

2.2 Tổng quan về 16F877A 3

2.2.1 Giới thiệu về PIC 16F877A 3

2.2.2 Tổ chức bộ nhớ 6

2.2.3 Các cổng xuất nhập của PIC16F877A 7

2.2.4 CCP 10

2.3 Tổng quan về động cơ 14

2.4 Tổng quan về encoder 16

2.5 Tổng quan về phần mềm Visual C++ 17

2.5.1 Giới thiệu phần mềm 17

2.5.2 Các bước tạo để tạo một dự án trên Visual C++ 18

2.6 Phần mềm trình biên dịch PCWH sử dụng ngôn ngữ lập trình C (CCSC) 18

2.6.1 Giới thiệu 18

2.6.2 Các bước tạo dự án trên CCSC 18

2.7 Tổng quan về phần mềm nạp PIC Burn-E Programmer 19

2.8 Giới thiệu về TeeChart 20

2.8.1 Giới thiệu 20

2.8.2 Các bước tạo 1 dự án 20

Chương 3 22

NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 22

3.1 Nội dung nghiên cứu 22

3.2 Linh kiện và thiết bị được sử dụng trong thiết kế và điều khiển 22

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

Trang 6

3.3.1 Phương pháp nghiên cứu được sử dụng bao gồm: 23

3.3.2 Phương tiện nghiên cứu 23

3.4 Phương pháp nghiên cứu điều khiển và ảnh hưởng của bộ điều khiển PID: 23

3.4.1 Phương pháp nghiên cứu điều khiển 23

3.4.2 Ảnh hưởng của bộ điều khiển PID 27

3.4.3 Điều khiển động cơ servo bằng ngôn ngữ Visual C++ 27

3.4.4 Điều khiển động cơ bằng phương pháp điều chế độ rộng xung (PWM) 28 Chương 4 30

KẾT QUẢ VÀ THẢO LUẬN 30

4.1 Sơ đồ khối 30

4.2 Thuật toán PID 30

4.3 Giao diện giám sát và điều khiển: 32

4.4 Mô hình thực nghiệm 33

4.5 Mô hình robot có sẵn 34

4.5.1 Giới thiệu động cơ trên robot: 34

4.5.2 Cách thức điều khiển 35

4.5.3 Sơ đồ nguyên lý của PIC 35

4.5.4 Khối nguồn điều khiển 36

4.3.4 Mạch cầu H 37

4.4 Kết quả 41

4.5 Kết quả thực nghiệm 41

Chương 5 45

KẾT LUẬN VÀ ĐỀ NGHỊ 45

5.1 Kết luận 45

5.2 Đề nghị 45

TÀI LIỆU THAM KHẢO 46

Phục lục 45

Phục lục 1: Chương trình vi điều khiển PIC 45

Phục lục 2: Chương trình giám sát hệ thống 52

Trang 7

DANH SÁCH CÁC CHỮ VIẾT TẮT

PID: Proportional–Integral–Derivative controller

PIC: Programable intelligent Computer

OTP: One Time Programable

RISC: Reduced Intruction Set Computer

EEPROM: Electrically Erasable Programmable Read-Only Memory RAM: Random Access Memory

ICSPTM : In-Circuit Serial Programing

CMOS: Complementary Metal-Oxide-Semiconducto

SFRs: Special Function Registers

GPR: General Purpose RAM

PWM: Pulse-width modulation

PSP: Parallel Slave Port

MSSP Master Synchronous Serial Port

ROM:Read-Only Memory

VĐK: Vi điều khiển

Trang 8

DANH SÁCH CÁC HÌNH

Hình 2.1 Sơ đồ chân của PIC16FxxxA 4

Hình 2.2 Sơ đồ khối của PIC16F877A 6

Hình 2.3 Sơ đồ khối của Timer0 8

Hình 2.4 Sơ đồ khối của Timer1 9

Hình 2.5 Sơ đồ khối của Timer2 10

Hình 2.6 Sơ đồ khối CCP (PWM mode) 12

Hình 2.7 Các tham số của PWM 12

Hình 2.8 Sơ đồ khối CCP (Compare mode) 13

Hình 2.9 Cấu tạo bên trong động cơ DC 14

Hình 2.10 Cấu tạo các thành phần bên trong của Encoder 17

Hình 3.1 Mô hình điều khiển với Kgh 24

Hình 3.2 Xác định hệ số khuếch đại tới hạn 24

Hình 3.3 Dạng xung PWM 27

Hình 3.4 Phương pháp PWM không thay đổi tần số 28

Hình 3.5 Phương pháp thay đổi tần số 28

Hình 4.1 Sơ đồ khối điều khiển 30

Hình 4.2 Lưu đồ giải thuật PID 30

Hình 4.3 Biểu đồ vị trí theo PID 30

Hình 4.4 Giao diện giám sát 31

Hình 4.5 Lưu đồ giải thuật PID 32

Hình 4.6 Mô hình điều khiển 33

Hình 4.9 Mô hình robot 34

Hình 4.10 Sơ đồ nguyên lý của PIC 36

Hình 4.11 Khối nguồn điều khiển 35

Hình 4.12 Môdun điều khiển PIC 36

Hình 4.13 Khối cách ly mạch điều khiển 37

Hình 4.4 Biểu đồ trạng thái của 74HC74 38

Hình 4.14 Sơ đồ nguyên lý mạch cầu H 38

Hình 4.15 Mô hình thi công 39

Hình 4.16 Lưu đồ giải thuật VĐK 40

Trang 9

DANH SÁCH CÁC BẢNG

Bảng 2.1 Các trường hợp hoạt động của Timer1 và Timer2 11

Bảng 3.1 Thông số bộ điều khiển theo thực nghiệm 24

Bảng 3.2 Một số ảnh hưởng của các hệ số trên đáp ứng hệ kín 26

Bảng 4.2 Chọn thông số PID theo Ziegler-Nichols 29

Bảng 4.3 Trạng thái hoạt động của 74HC74 37

Trang 10

Chương 1

MỞ ĐẦU 1.1 Đặt vấn đề

Điều khiển học là một ngành khoa học đã có từ lâu đời Trải qua thời kỳ dài của lịch sử, ngành khoa học này đã có những bước tiến mạnh mẽ, từ những mô hình điều khiển đơn giản đến những giải thuật điều khiển thông minh Có thể nói, điều khiển học đã có vai trò rất lớn trong quá trình phát triển của các ngành công nghiệp nói riêng và xã hội loài người nói chung

Trong điều khiển học, các phương pháp điều khiển là cốt lõi nhất của ngành khoa học này Từ điều khiển ON – OFF, điều khiển tỉ lệ, điều khiển PID, điều khiển mờ, điều khiển thích nghi,… tất cả các phương pháp điều khiển này đều có những ứng dụng hữu ích trong lĩnh vực điều khiển

Trong các phương pháp điều khiển kể trên, phương pháp điều khiển PID được xem là một phương pháp điều khiển mang tính kinh điển Đây là một phương pháp điều khiển đã có từ lâu, nhưng hiện nay nó vẫn được sử dụng và có những phát triển rộng rãi Chọn lựa PID là chọn lựa phương pháp điều khiển thông dụng, quen thuộc và đơn giản PID dễ hiểu đối với người sử dụng và có giá thành hợp lý khi xây dựng hệ thống điều khiển

Từ những đặc điểm như trên, em quyết định chọn nghiên cứu về phương pháp điều khiển PID, và đề tài nghiên cứu là: “Nghiên cứu điều khiển vị trí tốc độ và ứng dụng điều khiển trên robot có sẵn” với giải thuật chính là PID

1.2 Mục đích của đề tài

Mục tiêu của đề tài này là thiết kế bộ điều khiển bàn máy sử dụng thuật toán PID

Bộ điều khiển này dùng vi điều khiển PIC của hãng MICROCHIP, cụ thể là vi điều khiển PIC 16F877A Bộ điều khiển có thể điều khiển chính xác vị trí gốc quay và vận tốc của động cơ không tải Thuật toán PID được thiết lập để có thể điều khiển hệ thống đạt được các giá trị mong muốn một cách nhanh chóng, giảm độ vọt lố đến mức tối thiểu, hệ thống hoạt động ổn định và sai số ở mức tối thiểu Đồng thời, quá trình hoạt

Trang 11

động của hệ thống cũng được giám sát qua máy tính để người điều khiển có thể quan sát cũng như có những quyết định điều khiển thuận tiện và hợp lý

Để thực hiện được mục tiêu đó, em dùng vi điều khiển PIC để thực hiện quá trình điều khiển với thuật toán PID Chương trình của vi điều khiển được lập trình bằng ngôn ngữ C qua phần mềm CCSC Chương trình giám sát trên máy tính được viết bằng Visual C++ và chương trình này có thể lấy dữ liệu nhận được để vẽ thành đồ thị giúp người giám sát có thể phân tích hoạt động của hệ thống một cách dễ dàng và nhanh chóng

Đồng thời có thể tạo ra một sản phẩm giúp ích cho việc nghiên cứu phương pháp điều khiển PID cho sinh viên

1.3 Giới hạn của đề tài

Điều khiển động cơ Servo DC, loại động cơ Dc kích từ độc lập hoặc dùng nam châm vĩnh cửu, có công suất P < 60W, cụ thể là động cơ Servo DC 12V – 50W

- Điều khiển động cơ Servo DC bằng phương pháp điều chế độ rộng xung kết hợp với việc dùng vi điều khiển PIC16F877A

- Đảm bảo ổn định được vị trí bằng vòng phản hồi vị trí dùng encoder

Trang 12

Chương 2

TỔNG QUAN

Điều khiển động cơ DC (DC Motor) là một ứng dụng thuộc dạng cơ bản nhất của điều khiển tự động vì DC Motor là cơ cấu chấp hành (actuator) được dùng nhiều nhất trong các hệ thống tự động (ví dụ robot) Điều khiển được DC Motor là bạn đã có thể

tự xây dựng được cho mình rất nhiều hệ thống tự động Khái niệm Servo mà em dùng trong đề tài này để chỉ một hệ thống hồi tiếp kín DC servo motor là động cơ DC có bộ điều khiển hồi tiếp

Đề tài này nó bao gồm tổng hợp nhiều vấn đề ứng dụng PIC như nhận dữ liệu từ người dùng, điều khiển motor, đọc encoder, cả giải thuật điều khiển PID và mạch công suất cho Motor… Có 2 phương pháp điều khiển động cơ DC là analog và digital Ngoài ra, khi nói đến điều khiển động cơ DC có 2 đại lượng điều khiển chính là vị trí (số vòng quay) và vận tốc

2.2.1 Giới thiệu về PIC 16F877A

PIC là tên viết tắt của Máy tính khả trình thông minh (Programable intelligent Computer) do hăng General Instrument đặt tên, con vi điều khiển đầu tiên của họ là PIC1650 Hãng Microchip tiếp tục phát triển các ḍng sản phẩm này Cho đến nay, các sản phẩm vi điều khiển PIC của Microchip đă gần 100 loại, từ họ 10Fxxx đến các họ 12Cxxx, 17Cxx, 16Fxx, 16Fxxx, 16FxxxA, 16LFxxxA, 18Fxxx 18LFxxx,

Trang 13

Hình 2.1 Sơ đồ chân của PIC16FxxxA

 Phân loại PIC theo ký tự:

• Nhóm thứ nhất có ký tự C, họ PIC xxCxxx được đưa vào một nhóm, gọi là OTP (One Time Programable) chỉ có thể lập tŕnh một lần duy nhất

• Nhóm thứ hai có ký tự F, LF, họ PIC xxFxxx, xxFxxx, gọi là Flash, cho phép ghi/xóa nhiều lần bắng các mạch điện thông thường

 Phân loại PIC theo kí số:

• Loại thứ nhất là dòng PIC cơ bản (Base-Line), gồm các PIC 12Cxxx, có độ dài lệnh là 12 bit

• Loại thứ hai là các ḍòng PIC 10F, 12F, và 16F, gọi là dòng phổ thông Range), có độ dài lệnh là 14 bit

(Mid-• Loại thứ ba là dòng PIC 18F (High-End), có độ dài lệnh là 16 bit

PIC là một vi điều khiển với kiến trúc RISC, sử dụng microcode đơn giản đặt trong ROM, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động) PIC nhờ có EEPROM nên tạo thành 1 bộ điều khiển vào ra khả trình, có rất nhiều ḍng PIC với hàng loạt các mô-đun ngoại vi tích hợp sẵn (như SART, PWM, ADC ), với bộ nhớ chương tŕnh từ 512 Word đến 32K Word PIC16F877A là ḍng PIC phổ biến nhất, đủ mạnh về

Trang 14

tính năng, 40 chân, bộ nhớ đủ lớn cho hầu hết các ứng dụng thông thuờng

 Cấu trúc tổng quát PIC16F877A gồm:

• 8 K Flash ROM

• 368 bytes RAM

• 256 bytes EEPROM

• 5 Port I/O (A, B, C, D, E), ngơ vào/ra với tín hiệu điều khiển độc lập

• 2 bộ định thời 8 bit Timer 0 và Timer 2

• 1 bộ định thời 16 bit Timer 1, có thể hoạt động trong cả chế độ tiết kiệm năng lượng (Sleep Mode) với nguồn xung clock ngoài

• 2 bộ CCP, Capture/Compare/PWM - tạm gọi là: Bắt giữ / So sánh / Điều biến xung

• 1 bộ biến đổi tương tự - số (ADC) 10 bit, 8 ngơ vào

• 2 bộ so sánh tương tự (Comparator)

• 1 bộ định thời giám sát (WDT - Watch Dog Timer)

• 1 cổng song song (Parallel Port) 8 bit với các tín hiệu điều khiển

• 1 cổng nối tiếp (Serial Port)

• 15 nguồn ngắt (Interrupt)

• Chế độ tiết kiệm năng lượng (Sleep Mode)

• Nạp chương tŕnh bằng cổng nối tiếp ICSPTM (In-Circuit Serial Programing)

• Nguồn dao động lập tŕnh được tạo bằng công nghệ CMOS

Trang 15

một đường xuất/nhập (I/O) độc lập hoặc là một chức năng đặc biệt dùng để giao tiếp với các thiết bị ngoại vi

Hình 2.2 Sơ đồ khối của PIC16F877A

2.2.2 Tổ chức bộ nhớ

Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program Memory) và bộ nhớ dữ liệu (Data Memory)

a Bộ nhớ chương trình

Trang 16

Bộ nhớ chương trình của PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1word=14bit) và được phân thành 3 page (page0 đến page3)

Để mã hóa được địa chỉ của 8K word bộ nhớ chương trình, bộ nhớ chương trình phải có dung lượng 13bit

Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ bởi

bộ đếm chương trình

b Bộ nhớ dữ liệu

Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank Đối với PIC 16F877A được chia ra làm 4 bank Mỗi bank có dung lượng 128 byte, bao gồm thanh ghi có chức năng đặt biệt SFG (Special Function Register) nằm ở vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank

2.2.3 Các cổng xuất nhập của PIC16F877A

Vi điều khiển PIC16F877A có 5 cổng xuất nhập bao gồm PORTA, PORTB, PORTC, PORTD, PORTE

a Port A

Port A gồm có 6 pin I/O Đây là các chân xuất và nhập dữ liệu bên cạnh đó PORTA còn là ngỏ ra của bộ ADC, so sánh, ngõ vào analog ngõ vào xung clock của Timer0 và ngõ vào của giao tiếp MSSP (Master Synchronous Serial Port)

b Port B

- Port B gồm có 8 pin I/O Bên cạnh đó PORTB còn sử dụng cho quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0

- Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần số (prescaler) 8 bit Cấu trúc của Timer0 cho phép lựa chọn xung clock tác động và cạnh tích cực của xung clock Ngắt Timer0 sẽ xuất hiện khi Timer0 sẽ bị tràn Bit TMR0IE là bit

Trang 17

điều khiển Timer0 TMR0IE=1 cho phép Timer0 tác động, TMR0IE=0 không cho phép ngắt Timer0

Hình 2.3 Sơ đồ khối của Timer0

Trang 18

Hình 2.4 Sơ đồ khối của Timer1

Trang 19

Hình 2.5 Sơ đồ khối của Timer2

2.2.4 CCP

CCP (Capture/Compare/PWM) bao gồm các thao tác trên các xung đếm cung cấp bởi các bộ đếm Timer1 và Timer2 PIC16F877A được tích hợp sẵn hai khối CCP : CCP1 và CCP2 Mỗi CCP có một thanh ghi 16 bit (CCPR1H:CCPR1L và CCPR2H:CCPR2L), pin điều khiển dùng cho khối CCPx là RC2/CCP1 và RC1/T1OSI/CCP2 Các chức năng của CCP bao gồm:

 Capture

 So sánh (Compare)

 Điều chế độ rộng xung PWM (Pulse Width Modulation)

Cả CCP1 và CCP2 về nguyên tắc hoạt động đều giống nhau và chức năng của từng khối là khá độc lập Tuy nhiên trong một số trường hợp ngoại lệ CCP1 và CCP2 có khả năng phối hợp với nhau để để tạo ra các hiện tượng đặc biệt (Special event trigger) hoặc các tác động lên Timer1 và Timer2 Các trường hợp này được liệt kê trong bảng sau:

CCPx CCPy Tác động

Capture Capture Dùng chung nguồn xung clock từ TMR1

Capture Compare Tạo ra hiện tượng đặc biệt làm xóa TMR1

Compare Compare Tạo ra hiện tượng đặc biệt làm xóa TMR1

PWM PWM Dùng chung tần số xung clock vàcùng chịu tác động của

Trang 20

a Thiết lập thời gian của 1 chu kì của xung điều chế cho PWM (period) bằng cách đưa giá trị thích hợp vào thanh ghi PR2

b Thiết lập độ rộng xung cần điều chế (duty cycle) bằng cách đưa giá trị vào thanh ghi CCPRxL và các bit CCP1CON<5:4>

c Điều khiển các pin của CCP là output bằng cách clear các bit tương ứng trong thanh ghi TRISC

d Thiết lập giá trị bộ chia tần số prescaler của Timer2 và cho phép Timer2 hoạt động bằng cách đưa giá trị thích hợp vào thanh ghi T2CON

e Cho phép CCP hoạt động ở chế độ PWM

Trang 21

Hình 2.6 Sơ đồ khối CCP (PWM mode)

Hình 2.7 Các tham số của PWM Trong đó giá trị 1 chu kì (period) của xung điều chế được tính bằng công thức:

Bộ chia tần số prescaler của Timer2 chỉ có thể nhận các giá trị 1,4 hoặc 16 (xem lại Timer2 để biết thêm chi tiết) Khi giá trị thanh ghi PR2 bằng với giá trị thanh ghi TMR2 thì quá trình sau xảy ra:

PWM period = [(PR2)+1]*4*TOSC*(giá trị bộ chia tần số của TMR2)

Trang 22

 Thanh ghi TMR2 tự động được xóa

 Pin của khối CCP được set

 Giá trị thanh ghi CCPR1L (chứa giá trị ấn định độ rộng xung điều chế duty cycle) được đưa vào thanh ghi CCPRxH

Độ rộng của xung điều chế (duty cycle) được tính theo công thức:

Như vậy 2 bit CCPxCON<5:4> sẽ chứa 2 bit LSB Thanh ghi CCPRxL chứa byte cao của giá trị quyết định độ rộng xung Thanh ghi CCPRxH đóng vai trò là buffer cho khối PWM Khi giá trị trong thanh ghi CCPRxH bằng với giá trị trong thanh ghi TMR2 và hai bit CCPxCON<5:4> bằng với giá trị 2 bit của bộ chia tần số prescaler, pin của khối CCP lại được đưa về mức thấp, như vậy ta có được hình ảnh của xung điều chế tại ngõ ra của khối PWM như hình dưới

Hình 2.8 Sơ đồ khối CCP (Compare mode)

Một số điểm cần chú ý khi sử dụng khối PWM:

 Timer2 có hai bộ chia tần số prescaler và postscaler Tuy nhiên bộ postscaler không được sử dụng trong quá trình điều chế độ rộng xung của khối PWM

 Nếu thời gian duty cycle dài hơn thời gian chu kì xung period thì xung ngõ ra PWM duty cycle = (CCPRxL:CCPxCON<5:4>)*TOSC*(giá trị bộ chia tần số TMR2)

Trang 23

tiếp tục được giữ ở mức cao sau khi giá trị PR2 bằng với giá trị TMR2

Điều khiển vị trí của một bộ phận cơ khí thực hiện thông qua động cơ chấp hành servo như động cơ một chiều, động cơ bước, động cơ xoay chiều ba pha, xi lanh thủy… ở đây không đi sâu vào cấu tạo mà đi chi tiết vào điều khiển động cơ được sử dụng trong đồ án

 Động cơ một chiều (DC):

Đặc điểm chính của động cơ một chiều là nguồn điện cấp cho động cơ là nguồn điện một chiều Động cơ một chiều chia làm hai loại: động cơ từ trường vĩnh cửu và động cơ từ trường khuyết một chiều kích từ

Hình 2.9 Cấu tạo bên trong động cơ DC

a Động cơ một chiều từ trường vĩnh cửu:

Loại động cơ này có nguồn điện một chiều tác động lên cuộn ứng qua cổ góp Cường độ từ trường không thay đổi Tốc độ động cơ chỉ có thể điều khiển thông qua điều khiển dòng rotor Có thể đảo chiều động cơ bằng cách đảo chiều của dòng điện đặt vào rotor

b Động cơ một chiều kích từ:

Loại động cơ này có stator là một nam châm điện (phần cảm) và rotor mang cuộn ứng Có 3 loại động cơ từ trường khuyết: động cơ nối tiếp, động cơ song song và động cơ hỗn hợp

- Động cơ nối tiếp: có cuộn ứng và cuộn cảm nối tiếp với nhau, do đó dòng diện

đi qua cuộn cảm cũng đi qua cả cuộn ứng và cổ góp Việc điều khiển loại động cơ này

là rất khó, vì khi giảm dòng qua cuộn ứng để giảm tốc độ thì cũng giảm luôn dòng

Trang 24

điện qua cuộn cảm, tức là giảm cường độ từ trường và do đó tốc độ lại tăng lên Khi đảo chiều dòng điện thì chiều chuyển động của động cơ cũng không đổi

- Động cơ song song: có cuộn ứng và cuộn cảm mắc song song với nhau Nếu nối với hai nguồn khác nhau thì việc điều khiển dòng điện qua hai cuộn là độc lập Vì thế việc điều khiển tốc độ cũng dễ dàng hơn so với loại nối tiếp Nếu thay đổi chiều dòng điện của một trong hai cuộn dây thì động cơ sẽ đổi chiều chuyển động

- Điều khiển tốc độ động cơ một chiều:

Để điều khiển tốc độ động cơ, ta cần dựa vào phương trình cơ bản của động cơ điện Phương trình vận tốc:

( ) = U a I a R a

n

 

Trong đó: n: tốc độ động cơ (vòng/phút)

Ua : điện áp qua rotor (V)

Ia : dòng điện qua cuộn cảm (A)

Ra : điện trở của cuộn cảm (Ω)

 : cường độ từ trường (Wb)

Như vậy, giảm điện áp hoặc tăng điện trở trên cuộn cảm sẽ làm giảm tốc độ động cơ Ngược lại giảm cường độ từ trường sẽ tăng tốc độ động cơ

- Dừng động cơ điện một chiều:

Để dừng động cơ phải tăng tốc nó theo chiều ngược lại với chiều chuyển động

Có hai phương pháp thường dùng để dừng động cơ một chiều: phanh động lực và đảo chiều dòng điện cấp vào cuộn cảm

o Phanh động lực: Từ trường của động cơ được giữ nguyên Nguồn cung cấp cho rotor được chuyển cho nhiệt điện trở Toàn bộ động năng và điện năng được tiêu thụ trên nhiệt điện trở

Trang 25

o Đảo chiều dòng điện cấp vào cuộn cảm: dừng động cơ kiêu này nhanh nhưng dòng qua cuộn cảm cao sẽ gây tổn hại cho cuộn cảm Kiểu này chỉ dùng khi khẩn cấp

Dùng phương pháp điện không thể dừng động cơ tại vị trí chính xác Khi đó, cần thay thế bằng phanh cơ khí hoặc sử dụng hệ thống servo

Động cơ sử dụng trong đề tài này là động cơ DC của nhà sản xuất Sanyo Denky

có gắn liền bộ encoder incremental để hợp thành động cơ DC servo

Encoder là cảm biến để đo vị trí góc của trục động cơ, máy công cụ, băng tải,… Encoder có hai loại chính: loại tương đối (loại tăng dần – incremental) và loại tuyệt đối (absolute) Encoder được sử dụng trong đề tài là loại tăng dần nên phần này chỉ

đề cập đến loại encoder này

Hình 2.10 Cấu tạo các thành phần bên trong của Encoder Cấu tạo của encoder incremental: gồm hai đĩa, một đĩa đứng yên và một đĩa quay Đĩa quay gồm ba đường, hai đường ngoài chia làm n khoảng góc bằng nhau liên tiếp các tiết diện mờ và trong suốt, đường thứ ba chỉ có một rãnh nhỏ Có ba cảm biến quang học, các nguồn sáng tương ứng và một bộ điều khiển

Trang 26

Khi trục quay một vòng thì tia sáng bị ngắt n lần và gửi tín hiệu dạng xung (A và B) vuông góc nhau

Bộ điều khiển phải xác định được chiều quay của trục bằng cách xác định sự lệch pha điện giữa hai tín hiệu A và B:

- A vượt trước B: quay thuận

- B vượt trước A: quay nghịch

Đường trong (pha Z) chỉ có một khe trong suốt và tạo ra một xung trong mỗi vòng quay Z được dùng để xác định vị trí gốc ( Z: đầu không) hoặc báo hiệu đã quay hết một vòng

2.5.1 Giới thiệu phần mềm

Visual C++ là một phần mềm IDE (Integrated Develop Environment - Môi trường phát triển tích hợp) của hãng Microsoft, được tích hợp trong bộ công cụ Visual Studio, sử dụng cho các ngôn ngữ C, C++ và C++/CLI Nó có các công

cụ hỗ trợ việc phát triển và gỡ lỗi mã nguồn C++, đặc biệt là các mã nguồn viết cho Microsoft Windows API, DirectX API và Microsoft.NET Framework

Visual C++ là môi trường lập trình đa năng dành cho ngôn ngữ C/C++ Vì

là môi trường lập trình trên nền Windows nên VC++ cho phép lập trình viên thực hiện rất nhiều công việc, hỗ trợ về coding, thiết kế giao diện,… Trong

Trang 27

VC++, lập trình viên có thể tạo ra nhiều thứ: ứng dụng trên Windows, ActiveX, thư viện liên kết động DLL…

2.5.2 Các bước tạo để tạo một dự án trên Visual C++

Để tạo một dự án trên Visual C++, bạn phải tiến hành các bước sau:

1 Khởi động Visual C++

2 Tạo một Project mới

3 Tạo cổng nối tiếp (Serial Port) vào các Component của Toolbox, Để

sử dụng, người lập trình sẽ nhấn chọn biểu tượng SerialPort kéo thả vào cửa sổ soạn thảo Form

4 Thiết lập thuộc tính của Serial Port

5 Tạo các nút Button, Text, Lable… Hiệu chỉnh kích thước của chúng

 PCB cho dòng PIC 12-bit opcodes

 PCM cho dòng PIC 14-pic opcodes

 PCH cho dòng PIC 16 và 18-bit

Tất cả 3 trình biên dich này đuợc tích hợp lại vào trong một chương trình bao gồm cả trình soạn thảo và biên dịch là CCS, phiên bản mới nhất là PCWH Compiler Ver 4.104)

2.6.2 Các bước tạo dự án trên CCSC

Để tạo một dự án trên CCSC, cần phải làm theo các bước sau:

Trang 28

3 Viết code điều khiển

4 Kiểm tra lỗi

5 Biên dịch sang file có đuôi *.hex

6 Đóng chương trình

Mạch nạp Burn-E được cấu thành bởi 3 yếu tố gắn bó mật thiết với nhau:

Hardware, Firmware và Software Các yếu tố này được Pduytech phát triển và phối hợp ưu điểm từ tính tiện lợi, dễ dàng nâng cấp của PICKit 2

Một khi phần mềm detect được PIC, các thao tác trên PIC hoàn toàn có thể được thực hiện:

Program All - Nạp nội dung lấy từ file xuống PIC

Read All - Đọc flash, eeprom và config của PIC lên máy tính và thể hiện chúng trên bảng dữ liệu của software

Verify All - Đối chiếu Flash, EEPROM và Config của PIC với nội dung hiện có trên bảng dữ liệu của software

Erase - Xóa Flash, EEPROM và Config của PIC

Mở file *.hex bằng cách click Open và chỉ đến file cần nạp, đường dẫn của file này

sẽ được lưu lại để bạn tiện làm việc sau này Một khi bạn đã mở file *.hex thành công, bạn không cần thực hiện thao tác này mỗi khi nạp Phần mềm có chức năng reload file trước mỗi lần nạp

Trang 29

Để tiết kiệm thời gian, từ phiên bản 1.00.28 trở lên phần mềm thêm chức năng kéo thả, bạn mở file *.hex bằng thao tác đơn giản là kéo và thả file vào giao diện Sử dụng

tổ phím hợp phím nóng Ctrl+F5 để nạp cho Chip khi đang làm việc trên giao diện phần mềm khác (MPLAB IDE)

Trên giao diện chính cho phép bạn cấu hình config một cách dễ dàng bởi những

Combo Box và Check Box

2.8.1 Giới thiệu

TeeChart là một công cụ hỗ trợ vẽ đồ thị được phát triển thành một Component của bộ phần mềm Visual Studio Đây là một công cụ mạnh, hỗ trợ hầu hết các loại đồ thị mà người sử dụng cần có Phần mềm tương thích hoàn toàn với môi trường Visual Studio Nó hỗ trợ vẽ từ dữ liệu nhập vào trực tiếp hoặc từ nguồn dữ liệu database

Đây là một phần mềm phát triển cho bộ phần mềm Visual Studio Nó không tích hợp sẵn, người sử dụng muốn làm việc thì phải cài đặt vào Phiên bản demo của chương trình được cung cấp miễn phí tại trang chủ Steema Cách thức cài đặt của chương trình hoàn toàn giống như các chương trình ứng dụng khác của Windows

Khi đã cài đặt xong, mở chương trình Visual C++ lên, trong hộp Toolbox

sẽ có hiển thị thành phần Steema

2.8.2 Các bước tạo 1 dự án

Để tạo 1 biểu đồ trong Visual C++, cần phải làm các bước sau:

1 Mở chương trình Visual C++

2 Trong hộp Toolbox Add phần ứng dụng TeeChart vào

thả vào cửa sổ soạn thảo Form

4 Chọn biểu đồ muốn vẽ và hiệu chỉnh các thuộc tính của biểu đồ

5 Soạn thảo code cho chương trình

Trang 31

Chương 3

NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

3.1 Nội dung nghiên cứu

 Khảo sát các hệ thống điều khiển vị trí và vận tốc sử dụng bằng động cơ servo đang hiện có

 Nghiên cứu, thiết kế và ứng dụng toàn bộ trong quá trình điều khiển vị trí và cánh tay Robot có sẳn

 Sử dụng bộ điều khiển được kết nối với phần mềm giám sát trên máy tính phù hợp với yêu cầu giám sát từ xa

3.2 Linh kiện và thiết bị được sử dụng trong thiết kế và điều khiển

 Mô hình cánh tay Robot

Trang 32

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

3.3.1 Phương pháp nghiên cứu được sử dụng bao gồm:

- Tham khảo tài liệu: phương pháp chủ đạo trong quá trình thực hiện đề tài Kiến thức xã hội loài người giờ đây đã tích lũy thành số lượng khổng

lồ Tài liệu tham khảo được thu thập qua sách vở và từ Internet

- Tự nghiên cứu: từ nguồn tài liệu thu thập được, quá trình thực hiện đề tài bắt buộc phải trải qua việc nghiên cứu nguồn tài liệu, chắt lọc những thông tin có giá trị, đồng thời tự suy nghĩ tìm ra cách giải quyết vấn đề

- Thực tế làm việc: quá trình thực hiện nảy sinh những vấn đề khó khăn

mà người nghiên cứu phải trực tiếp giải quyết mới có thể tìm ra cách giải quyết đúng đắn

3.3.2 Phương tiện nghiên cứu

Các phương tiện phục vụ cho quá trình nghiên cứu bao gồm:

- Giáo trình, sách tham khảo, tài liệu thu thập từ Internet,…

- Dụng cụ, thiết bị cơ khí, điện tử, máy tính

3.4 Phương pháp nghiên cứu điều khiển và ảnh hưởng của bộ điều khiển PID: 3.4.1 Phương pháp nghiên cứu điều khiển

Trên động cơ servo các thông số cần điều khiển bao gồm: vị trí và vận tốc, thông

số PID

- Bộ điều khiển PID là một bộ điều khiển vòng kín được sử dụng rộng rãi trong công nghiệp Sử dụng bộ điều khiển PID để điều chỉnh sai lệch giữa giá trị đo được của hệ thống (process variable) với giá trị đặt (setpoint) bằng cách tính toán và điều chỉnh giá trị điều khiển ở ngõ ra Tín hiệu được lấy từ encoder hồi tiếp về VĐK, VĐK chuyển giá trị hiệu chỉnh lên đồ thị

- Điều khiển vận tốc,vị trí của động cơ: dùng encoder để xác định được vận tốc của động cơ, lấy giá trị hồi tiếp về VĐK đem so sánh với giá trị đặt.Nếu giá trị encoder lớn hơn (nhỏ hơn) giá trị đặt thì dùng bộ điều khiển PID để hiệu chỉnh sao cho gần với giá trị đặt cho tới vận tốc ổn định

Trang 33

Phương pháp xác định thông số PID:

Luật điều khiển thường được chọn trên cơ sở đã xác định được mô hình toán học của đối tượng phải phù hợp với đối tượng cũng như thỏa mãn yêu cầu của bài toán thiết kế

Trong trường hợp không thể xác định được mô hình toán học của đối tượng, có thể tìm luật điều khiển cũng như các tham số của bộ điều khiển thông qua thực nghiệm

Ziegler và Nichols đã đưa ra phương pháp xác định thông số tối ưu của bộ PID

là dựa trên đồ thị hàm quá độ của đối tượng hoặc dựa trên các giá trị tới hạn thu được qua thực nghiệm Trong đề tài tôi chọn phương pháp dựa trên các giá trị giới hạn thu được qua thực nghiệm nên tôi chỉ giới thiệu về phương pháp này

 Sử dụng các giá trị tới hạn thu được từ thực nghiệm:

Trong trường hợp không thể xây dựng phương pháp mô hình cho đối tượng thì phương pháp thiết kế thích hợp là phương pháp thực nghiệm Thực nghiệm chỉ có thể tiến hành nếu hệ thống đảm bảo điều kiện: khi đưa trạng thái làm việc của hệ đến biên giới ổn định thì mọi giá trị của tín hiệu trong hệ thống điều phải nằm trong giới hạn cho phép

Phương pháp này còn có tên là phương pháp thứ hai của Ziegler – Nichols Điều đặc biệt là phương pháp này không sử dụng mô hình toán học của đối tượng điều khiển, ngay cả mô hình xấp xỉ gần đúng

 Các bước tiến hành như sau :

Trước tiên, sử dụng bộ P lắp vào hệ kín (hoặc dùng bộ PID và chỉnh các thành phần KI và KD về giá trị 0) Khởi động quá trình với hệ số khuếch đại KP thấp, sau đó tăng dần KP tới giá trị tới hạn Kgh để hệ kín ở chế độ giới hạn ổn định, tức là tín hiệu

ra h(t) có dạng dao động điều hòa Xác định chu kỳ tới hạn Tgh của dao động

Ngày đăng: 12/06/2018, 13:52

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