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
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ơ
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.
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
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
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
đâ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
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
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
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