Bộ giáo dục đào tạo Trường đại học bách khoa hµ néi - - Luận văn thạc sĩ khoa học Điều khiển số, tốc độ động điện chiều dùng vi xử lý Ngành: Mà số: đo lường hƯ thèng ®iỊu khiĨn Vị hång phong Ngêi híng dÉn khoa học:.TS Nguyễn Cảnh Quang Hà Nội - 2009 Luận Văn Thạc Sĩ Khoa Học Lời nói đầu Trong trình công nghiệp hoá đại hoá đất nước Tự động hoá yếu tố thiếu công nghiệp đại Nói đến tự động hoá vi xử lý công cụ hỗ trợ đắc lực thiếu nhiều lĩnh vực khoa học kỹ thuật, đặc biệt truyền động, đo lường điều khiển Việc ứng dụng vi xử lý vào hệ thống truyền động điều khiển tốc độ vị trí ngày phổ biến Ví dụ dây truyền lắp ráp sản phẩm kỹ thuật cao, việc gia công sản phẩm có hình dáng kich thước đà định trước, cấu truyền động cho tay máy, người máy, cấu ăn dao cắt gọt kim loại, quay anten, kính viễn vọng, hệ bám tuỳ động, Do tính ưu việt công nghệ số so với phương pháp điều khiển tương tự truyền thống như: - Mềm dẻo việc thây đổi cấu trúc tham số hệ thống tự động - Độ xác cao - Có khả chống nhiễu tốt - Dễ dàng tự động hoá Đa dạng chủng loại, linh hoạt chức năng, dễ dàng thay đổi tham số cấu trúc phần mềm, hệ thống vi điều khiển thiết kế chế tạo tin cậy tạo điều khiển linh hoạt, phù hợp với đặc ®iĨm cđa hƯ ®iỊu khiĨn tù ®éng Tuy nhiªn nước ta phần lớn điều khiển số động điện chiều chất lượng cao thường phải nhËp nhËp tõ níc ngoµi Nhng thùc nÕu nÕu áp dụng tôt nguyên lý điều khiển số vµ vi xư lý, ta hoµn toµn cã thĨ chÕ tạo điều khiển hoàn chỉnh có chức tương đương Vì em lựa chọn đề tài nghiên cứu với nội dung: Điều khiển số, vị trí ®éng c¬ ®iƯn mét chiỊu dïng vi xư lý” Víi mục đích ứng dụng thành tựu công nghệ kỹ thuật vi xử lý để điều khiển nghiên cứu thiết kế thi công cho hệ thống cụ thể Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học Do thời gian trình độ có hạn nên luận văn không tránh khỏi sai sót có nhiều vấn đề cần phải hoàn thiện thêm Em mong nhận ý kiến đóng góp, dẫn thầy cô giáo đồng nghiệp Em xin chân thành cám ơn tập thể thầy cô Bộ môn Kỹ thuật đo Tin học công nghiệp Trường Đại học Bách Khoa Hà Nội đặc biệt TS Nguyễn Cảnh Quang đà cho dẫn quý báu tạo điều kiện để tác giả hoàn thành đề tài tốt nghiệp Hà Nội, tháng 11 năm 2009 Tác giả Vũ Hồng Phong Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học Yêu cầu đề tài Tìm hiểu động điện chiều (DC) phương pháp điều khiển tốc độ động DC Tìm hiểu hệ thống truyền động điều khiển tốc độ vị trí động DC Tìm hiểu cảm biến đo phản hồi vị trí tốc độ Tìm hàm truyền đạt hệ thống số thông số cần cho việc điều khiển vị trí tốc độ Dùng Simulik phần mềm Matlab để mô hệ thống kiểm nghiệm hệ thèng Tỉng hỵp hƯ thèng sè ThiÕt kÕ thi công hệ thống cụ thể Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học Mục lục Trang Chương 1: Tổng quan động điện chiều phương pháp điều khiển tốc độ 1.1 Đặc tính tĩnh động điện chiều 12 1.2 Các phương pháp điều khiển tốc độ động DC.17 1.2.1 Phương pháp điều khiển điện áp phần ứng 17 1.2.2 Phương pháp điều khiển từ thông động 18 1.2.3 Phương pháp điều khiển hỗn hợp điện áp phần ứng từ thông động 19 1.2.4 Phương pháp điều khiển điện trở phần ứng 20 Chương 2: điều khiển vị trí tốc độ thuật toán điều khiển 2.1 Điều khiển vị trí tốc độ 22 2.1.1 Sơ đồ cấu trúc hệ thống điều khiển vị trí tốc độ .22 2.1.2 Mạch điều khiển động DC 24 2.2 Các thuật toán điều khiển25 2.2.1 Thuật toán điều khiển tỉ lệ P 26 2.2.2 Thuật toán điều khiển tích phân I 26 2.2.3 Thuật toán điều khiển vi phân D28 2.2.4 Thuật toán điều khiển PID 28 2.3 Xác định tham số cho điều khiển30 2.3.1 Phương pháp lý thuyết Reinisch 31 2.3.2 Phương pháp xác định thông sè bé ®iỊu khiĨn theo thùc nghiƯm ……………………… …………………… ……………32 2.3.2.1 phương pháp Ziegies Nicholsg .32 Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 2.3.2.2 Phương pháp Jassen Offerein 32 Chương 3: Cảm biến 3.1 Giới thiệu chung .34 3.2 Cảm biến vị trí- tốc độ 34 3.2.1 Encoder quang tương đối35 3.2.2 Encoder tuyệt đối37 Chương 4: Tổng hợp hệ thống kiểm nghiệm phần mềm Matlab 4.1 Mô tả toán học phần tử hệ truyền động39 4.1.1 Mô tả toán học động điện chiều kích từ độc lập.39 4.1.2 Sơ ®å khèi ®éng c¬ ®iƯn mét chiỊu kÝch tõ ®éc lập với tử thông định mức 40 4.1.3 Mô tả toán học tạo xung PWM.41 4.1.4 Mô tả to¸n häc bé PID sè ………………………… ……… 42 4.2 Tỉng hợp hệ thống xét ổn định hệ thống sè…………….……43 4.2.1 Tỉng hỵp hƯ thèng…………………………………………… 43 4.2.2 XÐt ỉn định hệ thống số46 4.3 Mô hệ kiểm nghiệm hệ thống phần mềm Matlab47 4.3.1 Mô mạch vòng tốc độ 48 4.3.2 Mô mạch vòng vị trí51 Chương 5: xây dựng thực hệ thống dùng vi xử lý 5.1 Mạch động lực 54 5.2 Mạch điều khiển 55 Phương pháp điều chế độ rộng xung PWM 59 3.3.1 Tạo xung phần cứng 61 3.3.2 Tạo xung phần mềm 61 5.4 Lưu đồ giải thuật chương trình điều khiển vị trí tốc độ PID rời rạc 63 5.5 Mô tả hệ thống thử nghiệm kết thử nghiệm.65 Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học Kết luận.67 Tài liệu tham khảo..68 Phụ lục: Chương trình điều khiển Atmega8 ngôn ngữ C 69 Danh mục Các từ viết tắt, kí hiệu ACV: Nguồn xoay chiều DCV: Nguồn chiều A/D: Chuyển đổi tương tự số D/A: Chuyển đổi số tương tự DC: Động điện chiều : Độ lệch pha hai tín hiƯu P: Bé ®iỊu chØnh tØ lƯ I: Bé ®iỊu chỉnh tích phân D: Bộ điều chỉnh vi phân PID: Bộ điều khiển tỉ lệ vi tích phân KP :Hằng sè tØ lƯ KI H»ng sè tÝch ph©n KD : H»ng sè vi ph©n TI: B»ng sè thêi gian bé ®iỊu khiĨn tÝch ph©n TD: H»ng sè thêi gian bé ®iỊu khiĨn vi ph©n Tdmax: Thêi gian lín nhÊt cđa điều khiển khâu vi phân Tth: Chu kỳ giao ®éng tíi h¹n KPth: HƯ sè tØ lƯ tíi h¹n khâu tỉ lệ PWM: (Pulse Width Modulator) phương pháp điều biến độ rộng xung Pđc: Công suất động Uư : Điện áp phần ứng Lư : Điện cảm phần ứng Rư : Điện trở phần ứng Kđc: Hệ số khuếch đại động Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học J : Mô men quán tính rôto B : Mô men tổn hao theo tốc độ Km : H»ng sè m« men T : H»ng sè thêi gian ®iƯn tõ Tc H»ng sè thêi gian ®iƯn tốc độ động Const: Hằng số Ikt: dòng điện cuộn kích từ Kkt: Hệ số cuộn kích từ Ckt : Cuộn kích từ Ukt : Điện áp cuộn kích từ : Từ thông động đm : Tốc độ định mức động X(p) : Là vị trí đặt miền ảnh laplas E2(p): Tín hiệu sai lệch (tín hiệu điều khiển vị trí) miền ảnh laplas GC2(p): Bộ điều khiển vị trí miền ảnh laplas X1(p) : Tín hiệu đặt tốc độ miền ảnh laplas E1(p) : TÝn hiƯu sai lƯch (tÝn hiƯu ®iỊu khiĨn tốc độ) miền ảnh laplas GC1(p): Bộ điều khiển tốc độ miền ảnh laplas Gp1(p): Hàm truyền đạt điều biến đổi động miền ảnh laplas Y1(p) : Tốc độ miền ảnh laplas Gp2(p) : Miền ảnh laplas Y(p) : Đáp ứng vị trí miền ảnh laplas M1 (p): Hàm truyền cảm biến tốc độ miền ảnh laplas M2(p) : Hàm truyền cảm biến vị trí miền ảnh laplas Y1m(p) : Tốc độ động (tín hiệu phản hồi tốc độ) ảnh laplas Ym(p) : Vị trí động (tÝn hiƯu ph¶n håi) miỊn ¶nh laplas K1, K2, K3, K4: khoá bán dẫn Hz : tần số Uđk Là điện áp điều khiển X(t) : Tín hiệu kích thích miền thời gian tương tự Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học Y(t): Đáp ứng miền hời gian tương tự Gcp(z): Hàm truyền điều chỉnh tỉ lệ miền rời rạc GcI(z): Hàm truyền điều chỉnh tích phân miền rời rạc GcD(z): Hàm truyền điều chỉnh vi phân miền rời rạc GcPID(z): Hàm truyền điều chỉnh tỉ lệ vi tích phân miền rời rạc X(z) : Tín hiệu kích thích miền rời rạc Y(z): Đáp ứng miền rời rạc Kbx: Hệ số khuếch đại biến đổi T: Tần số biến đổi Ts: Tần số lấy mẫu Gbx: Hàm truyền đạt biến đổi miền laplas tqđ : Thời gian độ N(z): Phương trình đặc tính hệ thống số a0,a1,an hệ số phương trình đặc tính Ck : Là giá trị định thức tổng hai ma trận Ak,Bk Dk: Là giá trị định thức hiệu hai ma trận Ak,Bk Ak,Bk: Là ma trận k Xm: QuÃng đường dịch chuyển trục encoder NT:Số xung đếm encoder NR: Tổng số xung độ phân giải encoder dm: Đường kính trục bánh xe encoder Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 10 Danh mục Các hình vẽ Hình 1.1 Các loại động chiều thông dụng .13 (a) Kích từc độc lập (b) KÝch tõ song song (c) KÝch tõ nèi tiÕp (d) Kích từ hỗn hợp Hình 1.2: Mạch tương đương chế độ tĩnh động DC 13 Hình 1.3 Đặc tính loại động DC.15 Hình 1.4: Các đặc tính điều khiển điện áp phần ứng động .18 (a) Động kích từ độc lập (b) Động kích từ nối Hình 1.5: Giới hạn momen tốc độ điều chỉnh hỗn hợp điện áp phần ứng từ thông 20 Hình 1.6: Đặc tính động DC thêm điện trở phụ vào phần ứng 20 (a Động kích từ độc lập (b) Động kích từ nối tiếp Hình 2.1: Sơ đồ cấu trúc hệ thống điều khiển vị trí tốc độ động DC 23 Hình 2.2 : Sơ đồ nguyên lý mạch điều khiển dùng vi xử lý 24 Hình 2.3: Sơ đồ cấu trúc khâu điều khiển tỉ lệ P. 26 Hình 2.4: Đồ thị đặc tính khâu điều khiển I 27 Hình 2.5 : Đồ thị đặc tính khâu điều khiển D 28 Hình 2.6:Sơ đồ cấu trúc điều khiển PID28 Hình 2.7: Đồ thi đặc tính điều khiển PID 29 Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 65 Vị trí/ tốc độ giá trị đặt theo tần số Ts Tính toán lượng ®iỊu khiĨn (Control offort) Cho ®èi tỵng theo lt PID dựa liệu vị trí, tốc độ, dòng, áptheo tần số đồng hồ hệ thống Ts Phát xung PWM dựa lượng điều khiển (Control offort) tính toán treo tần số Ts Hình 5.6 Lưu đồ giả thuật chương trình điều khiển vị trí tốc độ PID rời rạc Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 66 5.5 Mô tả hệ thống thử nghiệm kết thí nghiệm Mô hình bố trí thiết bị hệ thống điều khiển vị trí, tốc độ động điện chiều mô tả hình 5.6 Các biến trở điều chỉnh PID Các nót bÊm Chän chÕ ®é D I TriÕt áp đặt vị trí tốc độ đĩa chia độ P LCD Dây nối Motor encoder Hình 5.7 Sơ đồ bố trí thiết bị mô hình Chức nút: - Nút bấm 1: dùng để bật, tắt ®éng c¬ - Nót Ên : Chän chiỊu quay động - Nút ấn 3: Chọn chế độ điều khiển thị LCD: + Chế độ hiển thị điều khiển tốc độ + Chế độ hiển thị điều khiển PID + Chế độ hiển thị điều khiển vị trí - Ba triết áp: đặt vị trí tốc độ Nguyên lý làm việc điều khiển: Bật nguồn cấp điện cho toàn mạch, hình LCD hiển thị tốc độ đặt, để điều chỉnh tốc độ ta vặn triết áp đặt xong ấn nút ấn động chạy theo tốc độ đặt Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 67 Để ®iỊu khiĨn chiỊu quay ®éng c¬ ta Ên nót động quay theo chiều ngược lại Để hiển thị dòng điện động ta ấn nút Để điều chỉnh PID ta ấn nút lần hình hiển thị thông số PID Muốn chỉnh lại thông số PID ta chỉnh biến trở Để điều khiển vị trí ta ấn nút ấn lần hình LCD hiển thị giá trị đặt vị trí, muốn đặt vị trí ta điều chỉnh triết áp kết thí nghiệm: Sau nghiên cứu, phân tích tổng hợp hệ thống sở lý thuyết, sử dụng phần mềm Matlab tìm tham số điều khiển Trên sở tác giả đà xây dựng mô hình cụ thể cho hệ thống điều khiển động điện chiều Qua kết thực nghiệm hệ thống đà đạt yêu cầu sau: Phần thực nghiệm hệ thống đà minh chứng khả làm việc, khả điều khiển hệ thèng sư dơng vi xư lý kÕt hỵp víi thuật toán PID số phần mềm hệ vi xử lý đạt kết tốt Hệ thống có khả điều khiển ổn định tốc độ, vị trí với sai số nhỏ so với tính toán lý thuyết Kết luận Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 68 Với đề tài "Điều khiển số tốc độ, vị trí động điện chiều dùng vi xử lý " nội dung luận văn đà giải số vấn đề thu kết sau: Nghiên cứu xây dựng sở lý thuyết cho hệ thống điều khiển số tốc độ, vị trí dùng vi xử lý Mô kiểm hệ thống truyền động điện phần mềm Matlab Từ sở lý thuyết hệ thống nghiên cứu, thiết kế mạch điều khiển, mạch động lực điều chỉnh tốc độ, vị trí động điện chiều dùng vi xử lý ATMEGA8 Nghiên cứu khảo sát hệ vi xử lý phần mềm điều khiển số hệ thống truyền động điện đà có Xây dựng phần mềm ®iỊu khiĨn hƯ thèng th«ng qua hƯ vi xư lý có tính thân thuộc cao, dễ điều khiển, hệ thống hoạt động ổn định Nghiên cứu thiết kế, lắp đặt hoàn chỉnh hệ thống (phần điện phần khí) đưa hệ thống vào làm việc Qua kết thực nghiệm hệ thống đà đạt yêu cầu sau: - Quá trình độ hệ thống đảm bảo yêu cầu cho phép Thời gian độ qđ = 0.2 ữ 0.3 giây - Khi hệ thống làm việc chế độ xác lập tải không thay đổi hệ thống làm việc ổn định khoảng cho phép Độ sai lệch tốc độ < 2% Phần thực nghiệm hệ thống đà minh chứng khả làm việc, khả truyền động hệ thống thông qua phần mềm hệ vi xử lý đạt kết yêu cầu Hệ thống có khả ổn định tốc độ vị trí, tín hiệu hiển thị hình LCD Sản phẩm nghiên cứu đề tài gồm: Báo cáo Luận văn, mô hình thí nghiệm đáp ứng yêu cầu Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 69 Tài liệu tham khảo Điều chỉnh tự động truyền động điện (Phạm Quốc Khánh, Phạm Quốc Hải, Nguyễn Văn Liễn, Dương văn Nghi Nhà xuất khoa học kỹ thuật) Matlab Simulik ( Nguyễn Phùng Quang Nhà xuất khoa học kỹ thuật, 2004) Điện tử công xuất (Trần Trọng Minh nhà xuất giáo dục, 2002) Vi điều khiển với lập trình C (Ngô Diên Tập Nhà xuất khoa học kỹ thuật) Điều khiển số máy điện ( Lê Văn Doanh Nhà xuất khoa học & kỹ thuật, 2001) §iỊu khiĨn sè ( Ngun Phïng Quang – Nhµ xt khoa học kỹ thuật, 2008) Phân tích tổng hợp hệ thống điều khiển tự động truyền động điện (Trịnh Đình Đề, Võ trí An nhà xuất khoa học kỹ thuât,1983) Phụ lục Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 70 Chương trình điều khiển hệ thống dùng ngôn ngữ C #include #include #include #include #include "timming.h" #include "LCD_Lib.h" #define PWMMAX 1250 // max 2byte extern volatile unsigned int encoder, encoderpos; volatile unsigned char screen=0; volatile unsigned char dc_onoff=0, cworccw=0; volatile unsigned int currentmeasure=0; volatile unsigned int speedmeasure=0, speedset=0; volatile unsigned int Kpset=0.23, Kiset=0.001, Kdset=0.001; signed int e[10]={0}; volatile unsigned int posset=20; static int current_angle=0; static long error_integral_angle=0; static int last_error_angle=0; static int error_angle=0; void initIO(void) { //DC Motor: DC0 - PB1 // DC1 - PB2 //LCD:Data/Add PD4 PD7 // RS - PB6 // RW - PB7 // E - PB5 // BackLight - PB3 //Relay: PB0 Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học //Keyboard: PC0 - PC1 - PC2 //Encoder: PD2 - PD3 DDRB = 71 0xFF; PORTB = 0x08;//0000 1000 DC OFF RELAY OFF BACKLIGHT PORTC = 0xFF; DDRC = 0x00; // PORTC = 0x00; // PORTD = 0xFF; DDRD = 0xF0; PORTD = 0xF0; OFF // } void initADC(void) { ADCSRA = 0x8E; ADMUX |= 0x40|3; ADCSRA |= 0x40; } void init(void) { _delay_ms(200); initTimer0(); initIO(); LCDinit(); initADC(); initInterrupt(); wdt_enable(WDTO_2S); sei(); } Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 72 void PowerSwitch(unsigned char Power) { if (Power) PORTB |= 0x01;// Chuyen che nguon nuoi 12V else PORTB &= 0xFE;// chuyen che nguon nuoi 5V } void DC_Control(unsigned char Power, signed int Velocity) { PowerSwitch(Power); if (Velocity>0) { TCCR1A = 0x22; OCR1B=Velocity; } else if (Velocity0; i ) { Chuyên Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 73 e[i]=e[i-1]; sum+=e[i]; } e[0]=(signed int)speedmeasure-(signed int)speedset; pid=Kpset*e[0]; pid+=Kiset*sum; pid+=Kdset*(e[0]-e[1]); if (pid>PWMMAX) pid=PWMMAX; if (pid500) { error_integral_angle=500; } else if(error_integral_angle500) { er_tam=500; } else if(er_tam PWMMAX) pid_pos=PWMMAX; if(pid_pos < -PWMMAX) pid_pos = -PWMMAX; last_error_angle=error_angle; tpwm_pos += pid_pos; if (tpwm_pos > PWMMAX) tpid = PWMMAX; if (tpwm_pos PWMMAX) tpid = PWMMAX; if (cworccw) // quay thuan DC_Control(1, tpid); else // quay nguoc DC_Control(1, -tpid); } else // dung motor DC_Control(1, 0); } int main(void) Chuyªn Nghành Đo Lường & Các Hệ Thống Điều Khiển Luận Văn Thạc Sĩ Khoa Học 76 { unsigned char i=0; init(); WriteArr(" Please wait ",0,0); for(i=0;i