Thiết kế bộ điều khiển số sử dụng phương pháp gán điểm cực điều chỉnh tốc độ động cơ DC servo Harmonic R113001 Chương 1. Khái quát chung về động cơ DC servo Harmonic R113001 Chương 2. Xây dựng bộ điều khiển động cơ DC servo Harmonic R113001 Chương 3. Mô phỏng hệ thống trên MatlabSimulink Chương 4. Thực thi bộ điều khiển trên vi điều khiển Atmega16
Trang 1BÀI TẬP LỚN MÔN ĐIỀU KHIỂN SỐ
Đề 11: Thiết kế bộ điều khiển số sử dụng
phương pháp gán điểm cực điều chỉnh tốc độ động cơ DC servo Harmonic R11-3001
Trang 2MỤC LỤC
Chương 1 Khái quát chung về động cơ DC servo Harmonic R11-3001
1.1 Giới thiệu động cơ DC servo Harmonic R11-3001
1.2 Mô hình toán của động cơ DC servo Harmonic R11-3001
Chương 2 Xây dựng bộ điều khiển động cơ DC servo Harmonic R11-3001
2.1 Xây dựng đối tượng điều khiển
2.2 Xây dựng bộ điều khiển số cho động cơ DC servo Harmonic R11-3001
Chương 3 Mô phỏng hệ thống trên Matlab-Simulink
3.1 Sơ đồ mô phỏng và kết quả
3.2 Nhận xét và kết luận
Chương 4 Thực thi bộ điều khiển trên vi điều khiển Atmega16
4.1 Thực thi bộ điều khiển
4.2 Thuật toán
4.3 Cấu trúc bộ điều khiển số và chương trình
Hải phòng ngày 16/12/2019
NGUYỄN VĂN TIẾN
Trang 3Chương 1 Khái quát chung về động cơ DC servo
Harmonic RHS14-6003 1.1 Giới thiệu động cơ DC servo Harmonic RH-11D 3001
Hình 1.1: Động cơ RH-11D 3001trong thực tế
* Cấu tạo của động cơ servo:
Hình 1.2: Cấu tạo động cơ servo
1, Động cơ; 2, Bản mạch; 3, dây dương nguồn; 4, Dây tín hiệu
5, Dây âm nguồn; 6, Điện thế kế 7, Đầu ra (bánh răng); 8, Cơ cấu
chấp hành; 9, Vỏ ;10, Chíp điều khiển Động cơ RH-11D 3001 là động cơ một chiều do hãng Harmonic của Nhật sản xuất Đây là động cơ được thiết kế nhỏ gọn, truyền động chính xác, momen lớn và có gắn sẵn encoder
* Nguyên lý hoạt động:
- Động cơ servo được thiết kế để quay có giới hạn mà không phải quay liên tục như động cơ DC hay động cơ bước
Trang 4* Các tham số cơ bản của động cơ được trình bày trong bảng 1.1
Kiểu chạy: Liên tục
Kích thích: Nam châm vĩnh cửu
Cách điện: lớp F
Điện trở cách điện: 100M Ω
Nhiệt độ môi trường: -10 ~ +40oC
Nhiệt độ lưu trữ: -20 ~ +60 oC
Độ ẩm môi trường: 20 ~ 80 % (không ngưng tụ)
Độ rung: 2.5g (5 ~ 400HZ)
Shock: 30g (11ms)
Bôi trơn: Dầu nhờn (SK-1A)
Đầu ra: Mặt bích
Bảng 1.1: Thông số động cơ RH-11D 3001
3001
Hằng số điện B.E.M.F (ảnh
hưởng của tốc độ đến sđđ phần
ứng)(Kb)
Trang 5Mô men quán tính (J) In-lb –sec2 0.38
1.2 Mô hình toán của động cơ DC servo Harmonic RHS14-6003
Các tham số cơ bản của động cơ như sau:
Ra = 4.7 (Ω), La = 1.6 (mH)
Kt = 4.91 (Nm/A); Kb = 0.5 (V/rpm)
Bf = 1.7*10-2J = 0.0043
Ta có:
ua – ea = ia.Ra +La = (Mđc – Mc)
Mđc= Kt.ia
ea = Kb.n
Chuyển sang Laplace ta được:
Trang 6
- = + s - = + s
s.𝜔 = ( - ) 𝜔 = ( - )
= =
= .n = .n
Với Ta = ta có:
Ia = (Ua – Ea)
= (Mđc – Mc)
Mđc = Kt.Ia
Ea = Kb.n
Cấu trúc động cơ như sau:
Hình 1.3: Cấu trúc động cơ RH-11D 3001
Mô phỏng trên matlab:
Hình 1.4: Mô hình động cơ trên matlab
Trang 7Chương 2 Xây dựng bộ điều khiển động cơ DC servo
Harmonic RHS14-6003 2.1 Xây dựng đội tượng điều khiển
Mô hình mô phỏng trên Simulink:
Hình 2.1 Mô hình toán của dối tượng cần tổng hợp bđk
Để tổng hợp bộ điều khiển theo phương pháp gán điểm cực nhập tham số trên matlab workspace như sau:
Ra=4.7
La=1.6.10^-3
kt=4.91
ke=0.5
bf=0.017
J=43e-3
Ta=La/Ra
s=tf(‘s’)
G1 = 1/(J*s+bf)
G2=(1/Ra)/((La/Ra)*s+1)
Trang 8G4=ke
Gh=g1*g2*g3
Gs=Gh/(1+Gh*G4)
Gz=c2d(Gs,0.01,’zoh’)
Step(Gz)
bbd=(2.4)/(10^-4*s+1)
Gs2=Gs*bbd*(10/3000)/(10^-3*s+1))*100
Gz2=c2d(Gs2,0.01,’zoh’)
Rltool(gz2)
2.2 Xây dựng bộ điều khiển số cho động cơ DC servo Harmonic R11-3001
Sau khi chạy mfile ta được:
Với điều kiện động cơ đạt trạng thái xác lập ở 0.7s ta tìm được bộ điều khiển như sau:
GR(z ) =
Trang 9Chương 3: Mô phỏng trên matlab 3.1 Sơ đồ mô phỏng
a Sơ đồ mô phỏng động cơ khi chưa có bộ điều khiển
Hình 3.1 Mô hình động cơ trên simulink Khi chưa có tải và điện áp đặt là 24v:
Đặc tính tốc độ động cơ
Hình 3.2 Tốc độ ra của động cơ khi không tải
Trang 10Đặc tính dòng điện không tải
Hình 3.3 Dòng không tải của động cơ Khi có tải Mc=9N/m và điện áp đặt là 24v:
Đặc tính tốc độ ra khi có tải
Hình 3.4 Tốc độ động cơ khi có tải
Trang 11Đặc tính dòng điện động cơ khi có tải
Hình 3.5 Đặc tính dòng điện của đông cơ khi có tải
b Mô hình bộ điều khiển tốc độ động cơ servo
Hình 3.6 Mô hình bộ điều khiển số điều khiển tốc độ động cơ servo Đặc tính động cơ khi không tải với U=10v:
Đặc tính tốc độ:
Trang 12Hình 3.7 Đặc tính tốc độ ra của động cơ khi có bđk
Đặc tính dòng điện phần ứng:
Hình 3.8 Đặc tính dòng phần ứng khi không tải và có bộ điều khiển Đặc tính động cơ khi có bộ điều khiển và Mc=9N/m
Trang 13Hình 3.9 Đặc tính tốc độ của động cơ khi có tải
Đặc tính dòng phần ứng khi có tải Mc=9N/m
Hình 3.10 Đặc tính dòng phần ứng động cơ khi có tải
Trang 143.2 Nhận xét và kết luận
Khi chưa có tải: - Khi không có bộ điều khiển thì dòng điện phần ứng
tăng mạnh giai đoạn đầu và gần bằng 2.5Idm còn khi có bộ điều khiển thì dòng điện phần ứng giai đoạn đầu giảm mạnh (1A)
- Khi có bộ điều khiển động cơ chạy đúng với giá trị tốc độ đặt trước đó
Khi có tải: - Khi không có bộ điều khiển thì động cơ bị sụt tốc mạnh
và không thể đạt được tốc độ định mức Khi có bộ điều khiển thì động
cơ bị sụt tốc một khoảng nhỏ trong 0.5s rồi sau đó tăng lên giá trị tốc
độ đặt
KẾT LUẬN: Bộ điều khiển đã điều khiển được tốc độ động cơ theo
giá trị đặt trước và thỏa mãn yêu cầu đề ra
Trang 15Chương 4: Thực thi bộ điều khiển số trên vi điều khiển
atmega16 4.1 Thực thi bộ điều khiển số
Bộ điều khiển tổng hợp được R(z)=
Áp dụng cấu trúc trực tiếp dạng chính tắt:
Cấu trúc thực thi bộ đks theo dạng chính tắt:
Hình 4.1 Bộ điều khiển số theo dạng chính tắt
4.2 Thuật toán
Thuật toán chương trình chính
rk = ek + rk-1
uk = 0.01rk – 0.05rk-2
Trang 16Bắt đầu
Khởi tạo ADC Khơi tạo I/O
Khơi tạo Timer ngắt sau 10ms
Khai báo biến sk,yk,ek,rk,rk-1,M1,M2
Chờ ngắt
Trang 17Thuật toán ngắt timer:
Tính Sk, yk
ek = sk - yk
rk = ek + M1
uk = rk + M2
rk-1 = rk
M1 = rk-1
M2 = -0.05rk-1
PORTC=uk
Quay lại chương trình chính
Trang 184.3 Cấu trúc bộ điều khiển và chương trình
PB0/T0/XCK 1 PB1/T1 2 PB2/AIN0/INT2 3
PB3/AIN1/OC0 4
PB4/SS 5 PB5/MOSI 6 PB6/MISO 7 PB7/SCK 8
RESET 9 XTAL2
12 XTAL1 13
PD0/RXD 14 PD1/TXD 15 PD2/INT0 16 PD3/INT1 17 PD4/OC1B 18 PD5/OC1A 19 PD6/ICP1 20 PD7/OC2 21
PC0/SCL 22 PC1/SDA 23 PC2/TCK 24 PC3/TMS 25 PC4/TDO 26 PC5/TDI 27 PC6/TOSC1 28 PC7/TOSC2 29
PA7/ADC7
33 PA6/ADC6
34 PA5/ADC5
35 PA4/ADC4
36 PA3/ADC3
37 PA2/ADC2
38 PA1/ADC1
39 PA0/ADC0 40
AREF 32 AVCC 30
U?
ATMEGA16
8MHZ
CRYSTAL
C1
10uF
C2
10uF
RV?
1k
A2
6 VREF+
14
VEE 3
A1 5
IOUT 4 A3
7 A4 8 A5 9 A6 10 A7 11 A8 12
VREF- 15
COMP 16
U?
DAC0808
R1
5k
R2
5k
C3
1nF
-15k
U?
OP1P
R4
5k
Yk
Chương trình trên vi điều khiển
#include <mega16.h>
#include <delay.h>
// Declare your global variables here
char sk=0, yk=0, rk=0, rk-1=0, M1=0, M2=0;
// Timer1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Reinitialize Timer1 value
TCNT1H=0xD8F0 >> 8;
TCNT1L=0xD8F0 & 0xff;
sk=read_adc(0);
yk=read_adc(1);
Trang 19rk=ek+M1;
uk=rk+M2;
rk-1=rk;
M1=rk-1;
M2=-0.05*rk-1;
if(uk>255) {uk=255;};
else
if(uk<0) {uk=0;};
PORTC = (unsigned char) uk;
}
Trang 20Tài liệu tham khảo [1] Sách điều khiển số; Nhà xuất bản Hàng Hải