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

nghiên cứu thiết kế modul điều khiển động cơ servo dùng cho thực tập truyền động điện

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 (3.44 MB, 47 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG

NGHIÊN CỨU THIẾT KẾ
MODUL ĐIỀU KHIỂN ĐỘNG CƠ SERVO
DÙNG CHO THỰC TẬP TRUYỀN ĐỘNG ĐIỆN
S

K

C

0

0

3

9

5

9

MÃ SỐ: T23 - 2008

S KC 0 0 2 1 7 0


Tp. Hồ Chí Minh, 2009


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

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM
----------------------------------

ĐỀ TÀI NCKH CẤP TRƯỜNG

NGHIÊN CỨU THIẾT KẾ MODULE ĐIỀU KHIỂN
ĐỘNG CƠ SERVO DÙNG CHO THỰC TẬP
TRUYỀN ĐỘNG ĐIỆN

MÃ SỐ: T23 - 2008

THUỘC NHÓM NGÀNH : KHOA HỌC KỸ THUẬT
NGƯỜI CHỦ TRÌ : THS. TRẦN QUANG THỌ
NGƯỜI THAM GIA :
ĐƠN VỊ : KHOA ĐIỆN

TP. HỒ CHÍ MINH – 3/2009



Chương 1. Tổng quan về động cơ servo

Trang

4


Chương 1. Tổng quan về động cơ servo
I.1 Giới thiệu
Động cơ servo được ứng dụng rộng rãi trong thực tế, từ thiết bò
điều khiển trong sản xuất cho đến các ứng dụng trong dân dụng. Phổ
biến có hai loại động cơ servo là động cơ servo AC và servo DC. Trong
khuôn khổ đề tài chỉ đề cập về loại động cơ servo DC. Nguồn cấp để
điều khiển động cơ servo DC thường dùng 2 loại sau: điều khiển tuyến
tính và điều khiển độ rộng xung PWM. Điều khiển tuyến tính chỉ sử
dụng trong một số trường hợp cần thiết, vì tổn hao trên linh kiện rất
lớn trong cách điều khiển này, làm cho hiệu suất điều khiển và tuổi
thọ linh kiện thấp. Đa số sử dụng phương pháp điều khiển độ rộng
xung để điều khiển động cơ servo DC.
Động cơ DC vốn là những hệ thống hồi tiếp vòng hở khi cấp điện để
động cơ quay nhưng chúng quay bao nhiêu thì ta khơng biết, kể cả đối với
động cơ bước là động cơ quay một góc xác định tùy vào số xung nhận được.
Việc thiết lập một hệ thống điều khiển để xác định những gì ngăn cản
chuyển động quay của động cơ hoặc làm động cơ khơng quay cũng khơng
dễ dàng.
Mặt khác, động cơ servo được thiết kế cho những hệ thống hồi tiếp
vòng kín. Tín hiệu ra của động cơ được nối với một mạch điều khiển. Khi
động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này. Nếu
có bất kỳ lý do nào ngăn cản chuyển động quay của động cơ, cơ cấu hồi tiếp
sẽ nhận thấy tín hiệu đầu ra chưa đạt được vị trí mong muốn thì mạch điều
khiển tiếp tục chỉnh sai lệch cho động cơ đạt được vị trí chính xác.
Động cơ servo có nhiều kiểu dáng và kích thước, được sử dụng trong
nhiều ứng dụng khác nhau, từ máy tiện điều khiển bằng máy tính cho đến
các mơ hình máy bay và xe hơi. Ứng dụng mới nhất của động cơ servo là
trong các robot, cùng loại với các động cơ dùng trong mơ hình máy bay và
xe hơi. Các động cơ servo điều khiển bằng vơ tuyến được gọi là động cơ

servo R/C.
Trong thực tế, bản thân động cơ servo khơng phải được điều khiển
bằng vơ tuyến, nó chỉ nối với máy thu vơ tuyến trên máy bay hay xe hơi.
Động cơ servo nhận tín hiệu từ máy thu này. Như vậy có nghĩa là ta khơng
cần phải điều khiển robot bằng tín hiệu vơ tuyến bằng cách sử dụng một
động cơ servo, trừ khi ta muốn. Ta có thể điều khiển động cơ servo bằng

T23-2008


Chương 1. Tổng quan về động cơ servo

Trang

5

máy tính, một bộ vi xử lý hay thậm chí một mạch điện tử đơn giản dùng IC
555.

I.2 Hoạt động của servo

1. Motor servo
2. Bo mạch điện tử
3. Dây nguồn (đỏ)
4. Dây tín hiệu (vàng hoặc trắng)
5. Dây mass âm (đen)
6. Cảm biến vị trí
7. Trục nối tải/hộp số
8. Bánh xe servo
9. Vỏ máy

10. IC điều khiển
Tốc độ quay của trục động cơ servo lên đến vài ngàn vòng trên phút,
nên thường để có thể sử dụng trong thực tế thì phải có thêm bộ phận truyền

T23-2008


Chương 1. Tổng quan về động cơ servo

Trang

6

động có bánh răng hay hộp số để giảm tốc độ cho phù hợp với máy sản xuất.
Để quay động cơ, tín hiệu số được gởi tới mạch điều khiển. Tín hiệu này
khởi động động cơ, thơng qua chuỗi bánh răng. Vị trí của trục cảm biến vị trí
cho biết vị trí trục ra của servo. Khi trục cảm biến vị trí đạt được vị trí mong
muốn, mạch điều khiển sẽ tắt động cơ. Thường động cơ servo được thiết kế
để quay có giới hạn chứ khơng phải quay liên tục như động cơ DC hay động
cơ bước. Mặc dù có thể chỉnh động cơ servo quay liên tục nhưng cơng dụng
chính của động cơ servo là đạt được góc quay chính xác trong khoảng từ 90o
– 180o. Việc điều khiển này có thể ứng dụng để lái robot, di chuyển các tay
máy lên xuống, quay một camera để quan sát khắp phòng…
Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điều
khiển độ rộng xung PWM. Trong hệ thống này, servo là đáp ứng của một
dãy các xung số ổn định. Cụ thể hơn, mạch điều khiển là đáp ứng của một
tín hiệu số có các xung biến đổi từ 1 – 2 ms. Các xung này được gởi đi 50
lần/giây. Chú ý rằng khơng phải số xung trong một giây điều khiển servo mà
là chiều dài của các xung. Servo đòi hỏi khoảng 30 – 60 xung/giây. Nếu số
này q thấp, độ chính xác và cơng suất để duy trì servo sẽ giảm.


I.3 Điều khiển động cơ servo
Các khái niệm cơ bản về điều khiển động cơ servo đã không đổi
đáng kể trong hơn năm mươi năm qua. Lý do cơ bản phải sử dụng hệ
thống servo khác với hệ thống vòng hở là cần cải thiện thời gian đáp
ứng quá độ, giảm sai số trạng thái tónh và giảm độ nhạy của tham số
phụ tải.
Nói chung cải thiện thời gian đáp ứng quá độ có nghóa là làm
tăng dãi tần số hoạt động của hệ thống. Thời gian đáp ứng nhanh hơn
T23-2008


Chương 1. Tổng quan về động cơ servo

Trang

7

có nghóa là cho phép máy làm việc với năng suất cao hơn. Giảm sai
số trạng thái tónh liên quan đến độ chính xác của hệ thống servo.
Cuối cùng, giảm độ nhạy đối với tham số phụ tải nghóa là hệ thống
servo có thể đáp ứng với dao động đối với tham số đầu vào cũng như
đầu ra. Ví dụ, dao động tham số đầu vào là điện áp nguồn lưới cung
cấp, còn đối với đầu ra như là sự thay đổi mô men quán tính của phụ
tải, trọng tải, nhiễu mô men trục máy sản xuất,…
Nói chung, việc điều khiển servo có thể phân thành hai vấn đề.
Loại vấn đề thứ nhất liên quan đến việc kiểm tra lệnh đặt vào, nó xác
đònh lệnh đặt vào là điều khiển theo chế độ nào. Có các chế độ điều
khiển như là điều khiển theo vò trí, điều khiển theo tốc độ, điều khiển
theo gia tốc, điều khiển theo mô men. Đối với chuyển động thẳng thì

lực được thay thế cho mô men.
Loại vấn đề thứ hai của điều khiển servo là đặc tính khử nhiểu
của hệ thống. Các loại nhiễu có thể là bất kỳ thứ gì từ nhiễu mô men
trên trục động cơ do ước lượng sai tham số động cơ dùng để điều
khiển. Các điều khiển quen thuộc PID và PIV được dùng để khắc
phục các vấn đề này. Khác với điều khiển tuyến tính, điều khiển khử
nhiễu tác động lại với các nhiễu và sai số chưa biết. Các hệ thống
điều khiển servo hoàn chỉnh thường kết hợp cả hai loại điều khiển
servo này để có được kết quả tốt nhất.
Bây giờ ta tìm hiểu hai loại điều khiển khử nhiễu phổ biến này.
Điều khiển PID
Các thành phần cơ bản của hệ thống chuyển động servo tiêu biểu như
trong hình sau:

T23-2008


Chương 1. Tổng quan về động cơ servo

Trang

8

Sử dụng công thức laplace chuẩn trong hình này, điều khiển
servo theo vòng dòng điện và được mô hình đơn giản bằng hàm
truyền tuyến tính G(s). Dó nhiên servo sẽ có giới hạn dòng đỉnh, nên
mô hình tuyến tính này không hoàn toàn chính xác, tuy nhiên, nó cho
kết quả có thể chấp nhận được trong phân tích này. Theo dạng cơ
bản nhất, servo điều khiển sẽ nhận tín hiệu đặt là điện áp đặc trưng
cho dòng điện mong muốn của động cơ. Mô men trục động cơ Td

quan hệ với dòng điện động cơ theo hệ số mô men Kt:
TdKt.I
Mục đích ở đây là hàm truyền điều chỉnh dòng hoặc điều chỉnh
mô men có thể xấp xỉ bằng 1 theo tần số hoạt động thấp hơn tương
ứng. G(s)=1
Động cơ servo được mô hình hóa bằng một khối quán tính J, ma
sát dính b và hằng số mô men Kt.
Khối quán tính bao gồm quán tính động cơ và quán tính tải. Giả
sử tải ghép chặt bằng khớp nối cứng với trục động cơ, điều này cho ta
biết mô men quán tính tổng của hệ thống bao gồm tổng mô men quán
tính của động cơ và tải đối với tần số điều khiển.
Vò trí thực sự của động cơ (s) thường được đo bằng encoder
hoặc resolver nối trực tiếp với trục động cơ. Ta cũng giả sử rằ ng, thiết
bò hồi tiếp này cũng nối cứng với trục động cơ để có thể bỏ qua tần số
cộng hưởng cơ học.

T23-2008


Chương 1. Tổng quan về động cơ servo

Trang

9

Kế bộ truyền động và động cơ là bộ điều khiển vò trí vòng kín.
Một bộ điều khiển servo tổng quát gồm cả bộ phát quỹ đạo và bộ
PID. Bộ phát quỹ đạo cho biết lệnh đặt vò trí ký hiệu *(s). Bộ điều
khiển PID hoạt động nhờ vào sai số vò trí và lệnh đặt mô men và đôi



khi được xác đònh bằng cách ước lượng hằng số mô men Kt . Nếu


không biết Kt thì độ lợi PID được đo lại tương ứng một cách đơn giản,
vì thường không biết chính xác hằng số mô men. Thường dùng xấp xỉ


Kt  Kt .

Có 3 hệ số điều chỉnh là Kp, Ki và Kd. Các đại lượng này hoạt
động phụ thuộc vào sai số vò trí so với giá trò đặt: error(t) = *(t) - (t)
Đầu ra của bộ PID là tín hiệu mô men trong miền thời gian:
d(error ( t ))
PIDoutput( t )  Kp(error ( t ))  Ki (error ( t ))dt  Kd
dt
Điều chỉnh vòng PID
Cách thử và sai là cách được sử dụng phổ biến để xác đònh các
thành phần trong PID bằng cách dựa vào kinh nghiệm của người vận
hành hệ thống điều khiển quá trình. Có 2 bước cơ bản để thực hiện
như sau:
Bước 1: đặt Ki và Kd bằng 0. kích thích hệ thống bằng hàm nấc step.
Tăng từ từ Kp cho tới khi vò trí trục bắt đầu dao động. Tại điểm này
ghi lại giá trò của Kp và đặt Ko bằng giá trò này. Lưu lại tần số dao
động này là fo
Bước 2: đặt các hệ số như sau:
Kp=6Ko, Nm/rad
Ki=2foKp, Nm/(rad.s)
Kd=Kp/(8fo), Nm/(rad.s)
Nói rộng ra là kp ảnh hưởng lên toàn bộ đáp ứng của hệ thống

đối với sai số vò trí. Đại lượng Ki cần buộc sai số vò trí trạng thái tónh
bằng 0 đối với lệnh đặt vò trí là hằng số. Còn đại lượng Kd cần cung
cấp hoạt động giảm sốc khi đáp ứng dao động. Nhưng cả 3 tham số

T23-2008


Chương 1. Tổng quan về động cơ servo

Trang10

đều có liên quan mật thiết lẫn nhau, vì vậy, điều chỉnh tham số này
sẽ ảnh hưởng đến các tham số điều chỉnh trước đó.
Ví dụ áp dụng cách điều chỉnh này cho motor máy tính BE342A
với bộ điều khiển servo. Tham số của động cơ như sau:
J=50e-6kgm2
b= 0,1e-3 Nm/(rad/s)
Kt=0,6Nm/A
Ta bắt đầu quan sát đáp ứng khi ngõ vào là hàm nấc và Td=0
Bước 1: hệ thống bắt đầu dao động ở fo=0,5 Hz với Ko=5e-5Nm/rad
Bước 2: sử dụng các đại lượng này và tối ưu hóa ta được:
Kp=3e-4 Nm/rad
Ki=3e-4 Nm/(rad/s)
Kd=7.4e-5 Nm/(rad/s)
Bộ điều khiển PIV

Và cũng tương tự như vòng điều khiển PID, các đại lượng xác đònh như
sau:

T23-2008



Chương 1. Tổng quan về động cơ servo

Khi kết hợp cả hai ta sẽ được:
Mô men ước lượng: T(s)

T23-2008

Trang11


Chương 1. Tổng quan về động cơ servo

I.4 Một số ứng dụng của ñộng cơ servo:

T23-2008

Trang12


Chương 1. Tổng quan về động cơ servo

T23-2008

Trang13


Chương 1. Tổng quan về động cơ servo


T23-2008

Trang14


Chương 1. Tổng quan về động cơ servo

T23-2008

Trang15


Chương 1. Tổng quan về động cơ servo

T23-2008

Trang16


Chương 2. Module điều khiển

Trang 17

Chương 2. MODULE ĐIỀU KHIỂN
II.1 Nguyên lý điều khiển:

Sơ đồ khối hệ thống điều khiển động cơ servo vòng kín
Kỹ thật điều rộng xung được sử dụng phổ biến trong điều khiển động cơ
servo DC. Điện áp cấp cho động cơ tùy thuộc vào độ rộng xung kích.


đây là xung vuông đơn giản có:

T23-2008


Chương 2. Module điều khiển

Trang 18

Khi thay đổi độ rộng xung sẽ thay đổi điện áp đặt vào động cơ:

Việc điều rộng xung có thể thực hiện bằng phần mềm hoặc phần cứng hoặc
kết hợp cả 2. Các vi điều khiển ATM và PIC hiện nay có sẵn các kênh điều
rộng xung và phụ thuộc vào chương trình điều khiển.
Ví dụ như:
while(1)
{
SET a port pin;
On-time delay;
RESET port pin;
Off-time delay;
}

T23-2008


Chương 2. Module điều khiển

Trang 19


Đây là cách đơn giản nhất để phát tín hiệu điều rộng xung. Khi kết hợp phần
cứng và phần mềm ta có thể dùng timer bên trong và ngắt tràn để phát sóng
điều rộng xung.
Ví dụ mã viết cho 89V51RD2 như sau:

Cấu trúc bên trong vi điều khiển:

T23-2008


Chương 2. Module điều khiển

Trang 20

Sơ đồ chân của AT89S52
Các ngõ tín hiệu điều khiển:
Ngõ tín hiệu PSEN (Program store enable): PSEN là tín hiệu ngõ ra ở
chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường nối
đến chân 0E (output enable hoặc RD) của Eprom cho phép đọc các byte mã
lệnh. Khi có giao tiếp với bộ nhớ chương trình bên ngoài thì mới dùng đến
PSEN, nếu không có giao tiếp thì chân PSEN bỏ trống. (PSEN ở mức thấp
trong thời gian vi điều khiển 89S52 lấy lệnh. Các mã lệnh của chương trình
đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong
89S52 để giải mã lệnh. Khi 89S52 thi hành chương trình trong Eprom nội
thì PSEN ở mức logic 1).
Ngõ tín hiệu điều khiển ALE (Address Latch Enable): Khi vi điều khiển
89S52 truy xuất bộ nhớ ngoài, port 0 có chức năng là bus tải địa chỉ và bus
dữ liệu [AD7-AD0] do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra
ALE ở chân 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa
chỉ và dữ liệu khi nối chúng với IC chốt. Tín hiệu ra ở chân ALE là một

T23-2008


Chương 2. Module điều khiển

Trang 21

xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên việc chốt
địa chỉ được thực hiện 1 cách hoàn toàn tự động. Các xung tín hiệu ALE có
tốc độ bằng 1/6 lần tần số dao động của tụ thạch anh gắn vào vi điều khiển
và có thể dùng xung tín hiệu ngõ ra ALE làm xung clock cung cấp cho các
phần khác của hệ thống. Trong chế độ lập trình cho bộ nhớ nội của vi điều
khiển thì chân ALE được dùng làm ngõ ra vào nhận xung lập trình từ bên
ngoài để lập trình cho bộ nhớ Flash ROM trong 89S52.
Ngõ tín hiệu EA (External Access): Tín hiệu vào EA ở chân 31 thường
nối lên mức 1 hoặc 0. Nếu nối EA lên mức logic 1 (+5V) thì VĐK sẽ thi
hành chương trình từ bộ nhớ nội. Nếu nối EA lên mức logic 0 (0V) thì VĐK
sẽ thi hành chương trình từ bộ nhớ ngoài.
Ngõ tín hiệu RST (Reset): Ngõ vào RST ở chân 9 là ngõ vào của 89S52.
Khi cấp điện cho hệ thống hoặc khi nhấn Reset thì mạch sẽ reset vi điều
khiển. Khi reset thì tín hiệu reset phải ở mức cao ít nhất là hai chu kì máy,
khi đó các thanh ghi bên trong được nạp những giá trị thích hợp để khởi
động hệ thống.
Trạng thái của tất cả các thanh ghi trong 89S52 sau khi reset hệ thống
được tóm tắt như sau:
Thanh ghi
Bộ đếm chương trình
PC
Thanh ghi tích lũy A
Than ghi B

Thanh ghi trạng thái
PSW
Thanh ghi con trỏ SP
DPTR
Port 0-port 3
IP
IE
Các thanh ghi định thời
T23-2008

Nội dung
0000H
00H
00H
00H
07H
0000H
FFH
XXX0
0000B
0X0X
0000B
00H


Chương 2. Module điều khiển

Trang 22

SCON SBUF

PCON (HMOS)
PCON (CMOS)

00H
00H
0XXX
XXXXH
0XXX
0000B

Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình
PC=0000H. Sau khi reset xong vi điều khiển luôn bắt đầu thực hiện chương
trình tại địa chỉ 0000H của bộ nhớ chương trình, nên các chương trình cho vi
điều khiển luôn bắt đầu tại địa chỉ 0000H. Nội dung của RAM trên chip
không bị thay đổi bởi tác động của ngõ vào reset [có nghĩa là vi điều khiển
đang sử dụng các thanh ghi để lưu trữ dữ liệu nhưng nếu vi điều khiển bị
reset thì dữ liệu trong thanh ghi vẫn không đổi.
Các ngõ vào bộ dao động Xtal1, Xtal2: Bộ dao động được tích hợp bên
trong 89S52, khi sử dụng người thiết kế chỉ cần kết nối thêm tụ thạch anh và
các tụ như hình vẽ, tần số tụ thạch anh thương dùng là 12Mhz-24Mhz.
Chân 40 (Vcc) được nối lên nguồn +5V, chân 2 GND nối mass.
Cấu trúc bộ nhớ của vi điều khiển:
- RAM bên trong 89S52 được phân chia như sau:
- Các bank thanh ghi có chỉ từ 00H đến 1FH.
- RAM địa chỉ hóa từng bit có địa chỉ từ 20H-2FH.
- RAM đa dụng từ 30H-7FH.
- Các thanh ghi chức năng đặc biệt từ 80H-FFH.

T23-2008



Chương 2. Module điều khiển

T23-2008

Trang 23


Chương 2. Module điều khiển

T23-2008

Trang 24


Chương 2. Module điều khiển

Trang 25

#include “REG52MOD.h”

unsigned char ONTIME=50;
unsigned char DIRECTION=0×05;
void main(void)
{
EA = 1;
ET0 = 1;
TMOD = (TMOD & 0xF0) | 0×01;
*/
TH0=0×00;

TL0=0×00;
TR0=1;
for (;;);

/* Set T/C0 Mode

}
void timer0 (void) interrupt 1
{
static int a=0;
a++;
if (a == 3)
a=1;
switch (a)
{
case 1: TH0 = ONTIME;
time
P2 = DIRECTION;
break;
case 2: TH0 = 255-ONTIME;
P2 = 0×00;
}
TR0=1;
}
II.2 Sơ đồ mạch
Sơ đồ khối

T23-2008

//Change on



×