Đồ án Nhận dạng động cơ điện một chiều MỤC LỤC LỜI NÓI ĐẦU 2 CHƯƠNG 1. TỔNG QUAN VẤN ĐỀ 3 CHƯƠNG 2. MÔ HÌNH ĐỘNG CƠ ĐIỆN MỘT CHIỀU 4 CHƯƠNG 3. PHƯƠNG PHÁP NHẬN DẠNG 7 CHƯƠNG 4. THIẾT KẾ HỆ THỐNG NHẬN DẠNG 8 CHƯƠNG 5. THỰC NGHIỆM VÀ KẾT QUẢ 16 CHƯƠNG 6. KẾT LUẬN VÀ ĐỀ XUẤT 17 TÀI LIỆU THAM KHẢO 18
Trang 1BỘ MÔN: TỰ ĐỘNG HÓA CÔNG NGHIỆP
ĐỒ ÁN 2
Đề tài: Nhận dạng động cơ điện một chiều
Giảng viên hướng dẫn: TS Nguyễn Cảnh Quang
Sinh viên thực hiện: Nguyễn Hoàng Thạch
MSSV: 20112216 Lớp: ĐK và TĐH 7 – K56
HÀ NỘI, 12-2014
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG 1 TỔNG QUAN VẤN ĐỀ 3
CHƯƠNG 2 MÔ HÌNH ĐỘNG CƠ ĐIỆN MỘT CHIỀU 4
CHƯƠNG 3 PHƯƠNG PHÁP NHẬN DẠNG 7
CHƯƠNG 4 THIẾT KẾ HỆ THỐNG NHẬN DẠNG 8
CHƯƠNG 5 THỰC NGHIỆM VÀ KẾT QUẢ 16
CHƯƠNG 6 KẾT LUẬN VÀ ĐỀ XUẤT 17
TÀI LIỆU THAM KHẢO 18
Trang 3LỜI NÓI ĐẦU
Đồ án 2 là học phần giúp sinh viên được tiếp cận với thực tế, vận dụng các lý thuyết đã học vào thực tế Khi làm đồ án 2, em đã được TS Nguyễn Cảnh Quang giao cho đề tài:
“Nhận dạng động cơ điện một chiều” Đây là đề tài mới đối với bản thân em và có nhiều vấn đề mà em cần phải tìm hiểu
Trong quá trình thực hiện đề tài em đã nhận được những lời chỉ dẫn của thầy qua những buổi gặp gỡ, nói chuyện Em xin chân thành cảm ơn thầy đã tận tình hướng dẫn trong thời gian vừa qua Kiến thức và kinh nghiệm thực tế của thầy chính là cơ sở để
em hoàn thành đồ án này
Đồ án được thực hiện trong một học kỳ, với thời lượng như vậy dành cho khối lượng công việc nhiều nên chưa thể tránh khỏi những sai sót Em rất mong thầy cho ý kiến đánh giá để em được hoàn thiện hơn
Trang 4CHƯƠNG 1 TỔNG QUAN VẤN ĐỀ
Động cơ điện một chiều được ứng dụng rộng rãi trong công nghiệp vì có thể điều chỉnh dễ dàng, dải điều chỉnh tốc độ rộng Động cơ điện một chiều có thể được xem xét như hệ thống một vào, một ra (SISO) có đặc tính cơ phù hợp với đặc tính cơ của tải
Mô hình toán học của động cơ là một phần quan trọng giúp chúng ta hiểu về hệ thống Phần lớn các mô hình được xây dựng từ các định luật vật lý của đối tượng hoặc dữ liệu vào – ra
Mô hình hóa động cơ một chiều bắt đầu từ việc xây dựng phương trình quan hệ giữa điện áp và tốc độ hoặc mômen Sau đó là xác định các thông số của mô hình
Nhận dạng hệ thống là phương pháp xây dựng mô hình toán học dựa trên sự quan sát
dữ liệu vào ra
Một mô hình toán học đúng ở thời điểm thiết kế nhưng chưa chắc đã chính xác ở thời gian sau đó Hơn nữa, một mô hình toán học không bao giờ mô tả đầy đủ hệ thống đã cho Bởi vì một mô hình được xây dựng từ những điều kiện nhất định Vì thế độ chính xác và sự đầy đủ là 2 vấn đề cần được giải quyết Nhận dạng hệ thống thường để thu được mô hình toán học của hệ thống vật lý Vì các hệ thống thường rất phức tạp và không dễ dàng xây dựng mô hình từ các định luật vật lý Nhận dạng hệ thống có nhiều phương pháp khác nhau tùy vào từng ứng dụng cụ thể Mục tiêu của đồ án này là nhận dạng 2 tham số kn và Tn trong hàm truyền giữa tốc độ và điện áp làm cơ sở cho việc thiết kế bộ điều khiển tốc độ
Trang 5CHƯƠNG 2 MÔ HÌNH ĐỘNG CƠ ĐIỆN MỘT CHIỀU
2.1 Các phương trình mô tả động cơ điện một chiều
Các phương trình mô tả động cơ điện một chiều theo tài liệu tham khảo [5] chương 9:
Trong đó: LA là điện cảm phần ứng,
RA là điện trở phần ứng,
iA là dòng điện phần ứng,
kM là hằng số động cơ,
ω là tốc độ góc [rad/s], n là tốc độ góc [vòng/phút]
ψ là từ thông động cơ,
mT là mô men tải,
2.2 Mô hình hóa động cơ một chiều
Sau khi chuyển từ miền thời gian sang miền Laplace và dựa vào mối quan hệ giữa các thông số xây dựng được sơ đồ cấu trúc động cơ điện một chiều như sau:
Trang 6Từ sơ đồ cấu trúc, xác định hàm truyền giữa tốc độ và điện áp phần ứng động cơ:
Trong nhiều trường hợp
Nhận dạng trong trường hợp động cơ chạy không tải
Từ sơ đồ cấu trúc, xác định hàm truyền giữa dòng điện và điện áp phần ứng của động cơ:
Trong nhiều trường hợp
Nhận dạng trong trường hợp động cơ chạy không tải
Trang 7CHƯƠNG 3 PHƯƠNG PHÁP NHẬN DẠNG
3.1 Khái niệm
Theo tài liệu tham khảo [1], bài toán nhận dạng gồm 2 nét cơ bản sau:
- Nhận dạng là phương pháp thực nghiệm nhằm xác định một mô hình cụ thể trong lớp các mô hình thích hợp đã cho trên cơ sở quan sát các tín hiệu vào ra
- Mô hình tìm được phải có sai số với đối tượng là nhỏ nhất
3.2 Lựa chọn phương pháp nhận dạng
Các phương pháp nhận dạng hiện nay là rất đa dạng Vì vậy, việc lựa chọn vừa có cái
dễ, vừa có cái khó Cái dễ là với mô hình đã xây dựng ở trên thì có nhiều phương pháp
để nhận dạng Cái khó là lựa chọn phương pháp nào là phù hợp hơn cả
Mô hình đã xây dựng ở trên có dạng quán tính bậc nhất Nhận dạng các tham số dựa trên đáp ứng quá độ có các phương pháp sau: kẻ tiếp tuyến, một điểm quy chiếu, hai điểm quy chiếu, diện tích… Trong đồ án, em sử dụng phương pháp một điểm quy chiếu
vì có độ chính xác hơn so với phương pháp kẻ tiếp tuyến và tính toán dễ dàng hơn so với 2 phương pháp còn lại
3.3 Xác định tham số mô hình từ hàm quá độ
Từ mô hình xấp xỉ:
Ta có:
Xác định điểm có tung độ bằng 0,632.k của h(t)
Hoành độ của điểm vừa xác định là Tn cần tìm
Trang 8CHƯƠNG 4 THIẾT KẾ HỆ THỐNG NHẬN DẠNG
4.1 Phần cứng
Phần cứng gồm các khối chính như sau: khối nguồn, khối đo tốc độ và dòng điện, khối
vi điều khiển, khối hiển thị
Khối nguồn:
Động cơ có điện áp định mức là 24 VDC Tuy nhiên trong đồ án em sử dụng điện áp 12VDC để cấp điện cho phần ứng của động cơ Vì thế, khối nguồn dùng IC ổn áp LM7812 để ổn định điện áp đầu ra 12VDC cấp cho động cơ Các thành phần còn lại trong mạch sử dụng điện áp 5VDC nên khối nguồn có thêm IC ổn áp LM7805 để ổn định điện áp đầu ra 5VDC Điện áp lưới 220VAC được hạ áp xuống 12VAC, qua cầu chỉnh lưu và tụ để san phẳng điện áp cấp cho đầu vào của LM7812
Khối hiển thị sử dụng LCD 16x2 để hiển thị:
Trang 9Khối vi điều khiển:
Vi điều khiển sử dụng là Atmega32 có dung lượng RAM là 2Kb
Khối đo tốc độ và dòng điện:
Trang 10
Việc đo tốc độ được thực hiện nhờ Encoder Q9898 có 504 xung/vòng đã gắn trên động
cơ và việc đo dòng được thực hiện nhờ module ACS 712-20A với độ nhạy 100mV/A
4.2 Phần mềm
Lưu đồ thuật toán:
Trang 11Mã chương trình được viết trền phần mềm Codevision AVR:
#include <mega32.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <delay.h>
#include <alcd.h>
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void);
void lcd_putn(unsigned int num);
Trang 12#define so_lan 200 //so lan lay mau
#define ADC_VREF_TYPE 0x00
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
unsigned int dong[200];
unsigned int td[200], i=0, j=0, tgtd=0;
float kn, Tn, ki, T1i, T2i, ip=0, im=0, T1=0.0, D, q;
char m[11];
//============================main=========================== void main(void)
{
PORTA=0x00;
DDRA=0x01;//A0 dieu khien dong co
PORTB=0x00;
Trang 13TCCR1A=0x00;
TCCR1B=0x06;//che do counter
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
TIMSK=0x01;//ngat timer 0
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x83; // ADC Clock frequency: 1000.000 kHz, AREF pin
lcd_init(16);
#asm("sei") // Global enable interrupts
lcd_clear();
lcd_puts("dang do");
while (1)
{
//===============thu thap =============================== PORTA.0=1; //cho dong co chay
TCCR0=0x05; //bat timer, cho ngat, =0x04 cho 5ms; =0x05 cho 10ms lcd_clear();
lcd_puts("dang do");
while(i<so_lan); //cho het 200 lan doc
TCCR0=0x00; // tat timer0
TCCR1B=0x00; //tat timer1
PORTA.0=0; //dung dong co
Trang 14lcd_clear();
lcd_puts("nhan dang");
delay_ms(1000);
//=============u-n====================================
for(i=150;i<200;i++) { tgtd=tgtd+td[i]; } //lay trung binh 50 mau cuoi de tim k tgtd=tgtd/50;
j=(tgtd*79)/125; //79/125=0,632
kn=tgtd*250.0/11; // -kn -
// trong 10ms ra tgtd, trong 1s ra 100 tgtd
// trong 1 phut ra 60*100*tgtd/504 [vg/ph]
kn=kn/12; // toc do / dien ap (12V)
for(i=150;i<200;i++) //kiem tra xem 50 mau cuoi da xac lap chua
{
if(abs(tgtd-td[i]) > ( tgtd/20))
{
lcd_clear();
lcd_puts("chua xac lap");
while(1);
}
}
lcd_gotoxy(0,1);
lcd_puts("50 mau cuoi xl");
Trang 15if(td[i]> j)
{
lcd_gotoxy(1,1);
lcd_puts("Tn=");
if((td[i]-j)>(j-td[i-1]))
{
Tn=(i-1)*0.01;
ftoa(Tn,3,m);
lcd_puts(m);
}
else
{
Tn=i*0.01;
ftoa(Tn,3,m);
lcd_puts(m);
}
break;
}
}
delay_ms(2000);
//=============u-i===========================
tgtd=0;
for(i=150;i<200;i++) { tgtd=tgtd+dong[i]; } //tim va hien thi dong xac lap ip ip=tgtd/50.0;
ip=ip-512; //512=2.5/5*2014
ip=ip*25/512; // It*0.1/5*1024
ip=ip+0.04; //cong offset
ftoa(ip,3,m);
lcd_clear();
Trang 16lcd_gotoxy(0,1);
lcd_puts("I=");
lcd_puts(m);
lcd_putchar('A');
while(1);
}
}
//================================= thu thap ==================== interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
TCNT0=0xB0; //nap lai cho timer0; =0x64 cho 5ms; =0xB0 cho 10ms
dong[i]= read_adc(5); //doc dong
td[i]=TCNT1; //doc toc do
TCNT1=0x0000; //cho counter dem lai tu 0
i=i+1;
}
Trang 17CHƯƠNG 5 THỰC NGHIỆM VÀ KẾT QUẢ
Kết quả phần cứng:
Kết quả nhận dạng:
Trang 18CHƯƠNG 6 KẾT LUẬN VÀ ĐỀ XUẤT
Nhận dạng hệ thống giúp ích cho việc xác định các thông số của động cơ điện một chiều như hằng số mô men, hằng số thời gian cơ, hằng số thời gian điện Phương pháp nhận dạng vòng hở yêu cầu ít phần cứng Việc xác định các thông số của động cơ có thể được dùng để kiểm tra chất lượng của động cơ hoặc xây dựng mô hình để thiết kế
bộ điều khiển, tối ưu hệ thống
Đồ án này mới chỉ xác định 2 tham số kn, Tn trong hàm truyền giữa tốc độ và điện áp phần ứng của động cơ để phục vụ cho việc thiết kế bộ điều khiển tốc độ Vấn đề nhận dạng còn có nhiều tham số khác nữa Vì vậy cần phải tiến hành tìm hiểu thêm
Trang 19TÀI LIỆU THAM KHẢO
[1] Nguyễn Doãn Phước, Phan Xuân Minh Nhận dạng hệ thống điều khiển Nhà xuất
bản Khoa học và kỹ thuật Hà Nội 2005
[2] Bùi Quốc Khánh, Nguyễn Văn Liễn Cơ sở truyền động điện Nhà xuất bản Khoa
học và kỹ thuật 2007
[3] Bùi Quốc Khánh, Nguyễn Văn Liễn, Phạm Quốc Hải, Dương Văn Nghi Điều
chỉnh tự động truyền động điện Nhà xuất bản Khoa học và kỹ thuật 2012.
[4] Hoàng Minh Sơn Cơ sở hệ thống điều khiển quá trình Nhà xuất bản Bách Khoa
Hà Nội 2006
[5] Nguyễn Phùng Quang Matlab và simulink dành cho kỹ sư điều khiển tự động Nhà
xuất bản Khoa học và kỹ thuật 2008