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

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.78 MB, 66 trang )

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
ROBOT

Họ và tên sinh viên: Phan Thiên Hoàng
Ngành: CƠ ĐIỆN TỬ
Niên khoá: 2007 – 2011

Tháng 6 năm 2011


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


i


LỜI CẢM TẠ
Em xin trân trọng cảm ơn tất cả Quý Thầy / Cô ở trường Đại học Nông
Lâm TP.Hồ Chí Minh và quý thầy / Cô trong khoa Cơ Khí- Công Nghệ đã trang
bị cho em những kiến thức quý báu cũng như đã giúp đỡ em trong suốt quá
trình học tập tại trường.
Em xin chân thành cảm ơn các Thầy / Cô trong bộ môn Cơ Điện Tử đã
giúp đỡ em nhiệt tình trong thời gian thực hiện đề tài.
Em cũng xin bài tỏ sự biết ơn chân thành đối với Cô Th.s Nguyễn Lê
Tường, giảng viên hướng dẫn, đã tận tình hướng dẫn, giúp đỡ cũng như tạo
những điều kiện thuận lợi để đề tài được hoàn thành.
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

ii


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.

iii


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

Tổng quan về động cơ ........................................................................................14
Tổng quan về encoder ........................................................................................16
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
2.8

Tổng quan về phần mềm nạp PIC Burn-E Programmer. .....................................19
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

iv


3.3.1
3.3.2
3.4

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

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
3.4.2
3.4.3
3.4.4
(PWM)

Phương pháp nghiên cứu điều khiển ............................................. 23
Ảnh hưởng của bộ điều khiển PID ................................................ 27
Điều khiển động cơ servo bằng ngôn ngữ Visual C++ ................. 27
Điều khiển động cơ bằng phương pháp điều chế độ rộng xung

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
4.5.2
4.5.3
4.5.4
4.3.4

Giới thiệu động cơ trên robot: ....................................................... 34
Cách thức điều khiển ..................................................................... 35
Sơ đồ nguyên lý của PIC. .............................................................. 35
Khối nguồn điều khiển .................................................................. 36
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

v


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

vi


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

vii



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

viii


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

1


độ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.


2


Chương 2
TỔNG QUAN
2.1
Tổng quan điều khiển động cơ
Đ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

Tổng quan về 16F877A

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,


3




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 (MidRange), có độ dài lệnh là 14 bit.
• 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ề

4


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
• 35 tập lệnh có độ dài 14 bit
• Tần số hoạt động tối đa là 20 MHz
* Cấu trúc phần cứng PIC16F877A:
PIC là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu

kỳ của bộ dao động).
PIC16F877A là họ vi điều khiển có 40 chân, mỗi chân có một chức năng khác
nhau. Trong đó có một số chân đa công dụng (đa hợp), mỗi chân có thể hoạt động như


5


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

6


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

7


đ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
c. Port C
-

Port C gồm có 8 pin I/O. port C còn có chức năng của bộ so sánh, bộ Timer1,
PWM và các chuẩn giao tiếp I2C, SPI, SSP, USART.


-

Timer1 là bộ định thời 16bit, giá trị của Timer1 sẽ lưu trong 2 thanh ghi
(TMR1H:TMR1L). Cờ ngắt của Timer1 là TMR1IF. Bít điều khiển Timer1 sẽ
là TMRIE. Cũng giống như Timer0, Timer1 có 2 chế độ hoạt động: chế độ
định thời (timer) với xung kích là xung clock của oscillator và chế độ đếm
(counter). Ngoài ra Timer1 còn có chức năng reset input bên trong được điều
khiển bởi 2 khối CCP (Capture/Compare/PWM).

8


Hình 2.4 Sơ đồ khối của Timer1
d. Port D
Port D gồm 8 chân I/O. Port D còn là cổng xuất dữ liệu chuẩn giao tiếp PSP
(Parallel Slave Port)
e. Port E
Port E gồm 3 pin I/O. Port E có ngỏ vào analog và là các chân điều khiển chuẩn
giao tiếp PSP.
f.Timer2 là bộ định thời 8 bit và được hộ trở bởi 2 bộ chia tần số prescaler và
postscaler. Thanh ghi chứa giá trị đếm của Timer2 là TMR2. Xung ngỏ vào được
đưa qua bộ chia tần số prescaler 4bit.( với các tỉ số chia tần là 1:1, 1:4, 1:16 và
được điều khiển bởi các bit T2CKPS1:T2CKPS0. Ngoài ra Timer2 còn được kết
nối với khối SSP, do đó Timer2 còn có vai trò tạo xung clock đồng bộ cho khối
giao tiếp SSP.

9


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

10


ngắt TMR2.
PWM

Capture

Hoạt động độc lập

PWM

Compare

Hoạt động độc lập


Bảng 2.1 Các trường hợp hoạt động của Timer1 và Timer2
Khi hoạt động ở chế độ PWM (Pulse Width Modulation _ khối điều chế độ rộng
xung), tín hiệu sau khi điều chế sẽ được đưa ra các pin của khối CCP (cần ấn định các pin
này là output). Để sử dụng chức năng điều chế này trước tiên ta cần tiến hành các bước cài
đặt sau:
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.

11


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:
PWM period = [(PR2)+1]*4*TOSC*(giá trị bộ chia tần số của TMR2).
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:

12



 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:
PWM duty cycle = (CCPRxL:CCPxCON<5:4>)*TOSC*(giá trị bộ chia tần số TMR2)
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

13


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

Tổng quan về động cơ
Đ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

14


đ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:
n=

Trong đó:

U a  ( I a  Ra )



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

15


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

Tổng quan về encoder
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.


16


×