ỨNG DỤNG PIC VỚI THUẬT TOÁN ĐIỀU KHIỂN PIV TRÊN MÔ HÌNH TRỤC ĐỊNH VỊ Họ và tên sinh viên:PHAN MINH THỨC Ngành:ĐIỀU KHIỂN TỰ ĐỘNG Niên khóa:20052009 Tháng 82009 1

111 104 0
ỨNG DỤNG PIC VỚI THUẬT TOÁN ĐIỀU KHIỂN PIV TRÊN MÔ HÌNH TRỤC ĐỊNH VỊ Họ và tên sinh viên:PHAN MINH THỨC Ngành:ĐIỀU KHIỂN TỰ ĐỘNG Niên khóa:20052009 Tháng 82009 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP ỨNG DỤNG PIC VỚI THUẬT TOÁN ĐIỀU KHIỂN PIV TRÊN MƠ HÌNH TRỤC ĐỊNH VỊ Họ tên sinh viên:PHAN MINH THỨC Ngành:ĐIỀU KHIỂN TỰ ĐỘNG Niên khóa:2005-2009 Tháng 8/2009 ỨNG DỤNG PIC VỚI THUẬT TOÁN ĐIỀU KHIỂN PIV TRÊN MƠ HÌNH TRỤC ĐỊNH VỊ Tác giả PHAN MINH THỨC Khóa luận đệ trình để đáp ứng u cầu cấp Kỹ sư ngành Điều khiển tự động Giáo viên hướng dẫn: KS.NGUYỄN VĂN BÌNH Tháng năm 2009 CẢM TẠ ¾ Sinh viên thực xin bày tỏ lịng biết ơn đến KS.Nguyễn Văn Bình, cương vị người hướng dẫn đề tài tận tình hướng dẫn, giúp đỡ suốt trình thực luận văn ¾ Sinh viên thực xin bày tỏ lịng biết ơn đến thầy trường đại học Nơng Lâm Thành Phố Hồ Chí Minh, đặc biệt quý thầy cô môn Điều Khiển Tự Động tận tình dạy dỗ truyền thụ kinh nghiệm quý báu suốt thời gian qua ¾ Đồng thời sinh viên thực gửi lời cảm ơn chân thành đến gia đình người thân chăm lo tạo điều kiện thuận lợi để hồn thành khóa học ¾ Cuối xin gửi lời cảm ơn đến người bạn đồng hành, động viên, cổ vũ góp ý kiến suốt trình học tập trình làm luận văn Sinh viên thực Phan Minh Thức TÓM TẮT Đề tài nghiên cứu “Ứng dụng PIC với thuật tốn điều khiển PIV mơ hình trục định vị” tiến hành viện nghiên cứu điện tử, công nghệ thông tin điều khiển tự động VIELENA, thời gian từ đầu tháng đến cuối tháng năm 2009 Mục tiêu đề tài : nghiên cứu PIC18F4431 dùng thuật toán điều khiển PIV để điều khiển mơ hình trục định vị Cụ thể : Tìm hiểu vi điều khiển PIC18F4431 • Các đặc điểm, đặc tính • Sơ đồ chân chức chân • Các port xuất nhập ghi dẫn hướng • Các timer • Bộ chuyển đổi A/D • Hoạt động ngắt • Cách sử dụng PWM • Chương trình biên dịch nạp cho PIC Tìm hiểu vít me đai ốc bi, động servo DC, encoder Thiết kế mơ hình mạch điều khiển Thuật toán điều khiển PIV : Tìm hiểu thuật tốn cơng thức tính tốn Kết đạt : • Mơ hình khí trục định vị mạch điều khiển, mạch hiển thị hồn thành • Chương trình điều khiển xuất led, xuất nhập tìn hiệu số, xuất nhập tín hiệu tương tự, điều khiển độ rộng xung lập trình ngắt hoạt động tốt • Chương trình điều khiển thuật toán PIV chạy tốt MỤC LỤC Trang Trang tựa i Cảm tạ ii Tóm tắt iii Mục lục iv Danh sách từ viết tắt viii Danh sách hình ix Danh sách bảng x CHƯƠNG MỞ ĐẦU CHƯƠNG TỔNG QUAN 2.1 Vít me đai ốc bi 2.2 Encoder 2.3 Động servo 2.4 Các linh kiện điện tử 2.4.1 IC LM2575 .4 2.4.2 Opto 6N136 6N137 2.4.3 Transitor 2SA1943 2SC5200 2.4.4 IC DM7433 2.4.5 IC 7404 7406 2.4.6 IC 7407 2.4.7 IC 7401 2.4.8 Vi điều khiển 89S52 .7 2.5 Vi điều khiển PIC18F4431 .7 2.5.1 Giới thiệu 2.5.2 Một số đặc tính .8 2.5.3 Sơ đồ chân chức chân .8 2.5.4 Các port xuất nhập 14 2.5.5 Bộ định thời 15 2.5.6 Khối chuyển đổi tương tự sang số ADC 17 2.5.7 Hoạt động ngắt 18 2.5.8 Module PWM 19 2.6 Chương trình biên dịch nạp cho PIC 21 2.6.1 Giao diện chương trình biên dịch CCS 21 2.6.2 Chương trình nạp WinPic800 21 CHƯƠNG : NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 21 3.1 Thời gian địa điểm nghiên cứu đề tài 24 3.1.1 thời gian tiến hành 24 3.2 Các tiêu theo dõi .24 3.3 Phương pháp nghiên cứu 24 3.3.1 Thuật toán điều khiển PID 24 3.3.2 Thuật toán điều khiển PIV 27 3.3.3 Phương pháp điều rộng xung PWM .30 CHƯƠNG : KẾT QỦA VÀ THẢO LUẬN 32 4.1 Sơ đồ khối hệ thống 32 4.2 Thiết kế phần khí 32 4.3 Thi công mạch điều khiển .33 4.3.1 Mạch xử lý trung tâm 35 4.3.2 Mạch nguồn 35 4.3.3 Mạch nạp cho VĐK 36 4.3.4 Mạch cầu H điều khiển động 36 4.3.5 Mạch giao tiếp Encoder công tắc hành trình 37 4.3.6 Mạch hiển thị 38 4.4 Lưu đồ thuật toán 41 4.4 Kết khảo nghiệm 41 CHƯƠNG : KẾT LUẬN VÀ ĐỀ NGHỊ .44 5.1 Kết luận 44 5.2 Đề nghị 44 TÀI LIỆU THAM KHẢO PHỤ LỤC \ DANH SÁCH CÁC TỪ VIẾT TẮT VD (Ví dụ) VĐK ( Vi điều khiển) BXL (Bộ xử lý) BCT (Bộ chia trước) Đ ( Đúng) S (Sai) PIC (Programmable Interface Controller) PID (Proportional Integral Derivative controller) PIV (Proportional position loop Integral and proportional Velocity loop) DANH SÁCH CÁC HÌNH Hình 2.1 : Vít me đai ốc bi Hình 2.2 : Cấu tạo incremental encoder Hình 2.3: Động servo DC Hình 2.4 : IC ổn áp LM2575 Hình 2.5 : Opto 6N136 Hình 2.6 : Transitor 2SA1943 2SC5200 Hình 2.7 : Cổng NOR 7433 Hình 2.8 : Cổng NOT 7404 7406 Hình 2.9 : Cổng đệm 7407 Hình 2.10 : Cổng NAND 7401 .7 Hình 2.11 : VĐK 89S52 Hình 2.12 : VĐK 18F4431 .9 Hình 2.13 : Giao diện phần mềm CCS 22 Hình 2.14 : Giao diện phần mềm WinPic800 .23 Hình 3.1 : Sơ đồ khối thuật tốn điều khiển PID 25 Hình 3.2 : Ngõ vân tốc động 28 Hình 3.3 : Sơ đồ khối thuật toán điều khiển PIV 29 Hình 3.4 : Phương pháp điều rộng xung PWM 30 Hình 4.1 : Sơ đồ khối hệ thống 32 Hình 4.2 : Mơ hình khí mặt trước 33 Hình 4.3 : Mơ hình khí mặt sau 34 Hình 4.4 : Sơ đồ khối mạch điều khiển 34 Hình 4.5 : Mạch điều khiển 34 Hình 4.6 : Mạch xử lý trung tâm 35 Hình 4.7 : Mạch nguồn 35 Hình 4.8 : Mạch nạp cho PIC .36 Hình 4.9 : Mạch xuất xung PWM từ PIC .36 Hình 4.10 : Mạch cầu H 37 Hình 4.11 : Mạch giao tiếp PIC với Encoder cơng tắc hành trình 38 Hình 4.12 : Mạch led hiển thị .39 Hình 4.13 : Mạch nguyên lý led hiển thị 40 Hình 4.14 : Lưu đồ thuật toán .42 Hình 4.15 : Khối xuất xung lưu đồ thuật toán 43 Hình 4.16 : Khối bảo vệ lưu đồ thuật toán 44 10 { b_press_inc=1; }; }; if(b_d_dec==1) { if(counter_delay_dec=8){countled=0;RC0=1;RC0=1;RC0=0;RC0=0;RC0=1;RC0=1;} ; RC1=1;RC1=1;RC1=1;RC1=1;RC1=1;RC1=1;RC1=1;RC1=1; RC1=1;RC1=1;RC1=1;RC1=1;RC1=1;RC1=1;RC1=1;RC1=1; switch(countled) { case 0: { PORTD=m_led[0]; RC1=1;RC1=1; 99 RC1=0;RC1=0; break; } case 1: { PORTD=m_led[1]; RC1=1;RC1=1; RC1=0;RC1=0; break; } case 2: { PORTD=m_led[2]; RC1=1;RC1=1; RC1=0;RC1=0; break; } case 3: { PORTD=m_led[3]; RC1=1;RC1=1; RC1=0;RC1=0; break; } case 4: { PORTD=m_led[4]; RC1=1;RC1=1; RC1=0;RC1=0; 100 break; } case 5: { PORTD=m_led[5]; RC1=1;RC1=1; RC1=0;RC1=0; break; } case 6: { PORTD=m_led[6]; RC1=1;RC1=1; RC1=0;RC1=0; break; } case 7: { PORTD=m_led[7]; RC1=1;RC1=1; RC1=0;RC1=0; break; } default: { break; } } 101 void convert_BCD(unsigned int32 led) { signed int32 temp1,temp2; signed int8 i; unsigned int8 j=0; // if(led0x7FFFFFFF) { temp1=~led; led=temp1+1; m_led[1]=26; }else{m_led[1]=25;} //m_led[0]=high_pv; temp1=led; temp2=100000; for (i=2;i

Ngày đăng: 19/07/2018, 08:13

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan