1. Trang chủ
  2. » Giáo án - Bài giảng

ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DÙNG VI XỬ LÍ TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

101 4 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 4,49 MB

Nội dung

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN – ĐIỆN TỬ LUẬN VĂN TỐT NGHIỆP Đề tài: ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DÙNG VI XỬ LÍ Giảng viên hướng dẫn : Ts HỒNG MINH TRÍ Sinh viên thực : BÙI THANH KIỀU Lớp : 07DD3N Khóa : 06 TP Hồ Chí Minh, tháng 07 năm 2009 Em xin chân thành cảm ơn quý thầy cô khoa Điện Tử – Tự Động Hóa trường đại học Tơn Đức Thắng nhiệt tình tận tụy giảng dạy em suốt thời gian theo học trường Đặc biệt em xin gởi lời cảm ơn chân thành đến thầy Hồng Minh Trí nhiệt tình hướng dẫn tạo điều kiện để em hoàn thành luận văn TPHCM, tháng 06 năm 2009 Sinh viên Bùi Thanh Kiều NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN TPHCM,Ngày……Tháng……Năm…… Giáo Viên Hướng Dẫn Ts.Hoàng Minh Trí NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN TPHCM,Ngày……Tháng……Năm…… Giáo Viên Phản Biện Mục lục Lời mở đầu Chương Giải thuật PID 1.1 Các điều chỉnh chuẩn PID 1.1.1 Quy luật tỉ lệ (P) 1.1.2 Quy luật tích phân (I) 1.1.3 Quy luật tỉ lệ - tích phân (PI) 1.1.4 Quy luật tỉ lệ - vi phân (PD) 1.1.5 Quy luật tỉ lệ vi tích phân (PID) 1.2 Thuật điều khiển rời rạc hóa PID 1.2.1 Thuật điều khiển 1.2.2 Rời rạc hóa PID 1.3 Ứng dụng giải thuật PID điều khiển vị trí 11 1.3.1 Bài toán điều khiển tốc độ 11 1.3.2 Bài toán điều khiển vị trí 13 1.4 Điều chỉnh thông số PID 15 1.4.1 Phương pháp Zieger-Nichols thứ 15 1.4.2 Phương pháp Zieger-Nichols thứ hai 16 Chương Thiết kế mạch 19 2.1 Sơ đồ khối giải thuật điều khiển 19 2.1.1 Sơ đồ khối 19 2.1.2 Giải thuật điều khiển 20 2.1.3 Sơ đồ mạch chi tiết 25 2.2 Các linh kiện sử dụng mạch 26 2.2.1 Động DC Servo 26 2.2.2 Encoder 30 2.2.3 LCD 32 2.2.4 Một số linh kiện khác 41 2.3 Mơ hình thiết kế 45 Chương Vi điều khiển ATmega16 47 3.1 Giới thiệu chung 47 3.2 Cấu trúc nhân AVR 48 3.2.1.Cấu trúc tổng quát 48 3.2.2 ALU 49 3.2.3 Thanh ghi trạng thái 49 3.3 Cấu trúc nhớ 53 3.3.1 Bộ nhớ chương trình (Bộ nhớ Flash) 53 3.3.2 Bộ nhớ liệu SRAM 53 3.3.3 Bộ nhớ liệu EEPROM 54 3.4 Các cổng vào (I/O) 55 3.4.1 Thanh ghi DDRx 55 3.4.2.Thanh ghi PORTx 55 3.4.3 Thanh ghi PINx 55 3.5 Bộ định thời 57 3.5.1 Các ghi 57 3.5.2 Đơn vị đếm 58 3.5.3 Đơn vị so sánh ngõ 58 3.5.4 Mô tả ghi 59 3.5.4.1 Thanh ghi điều khiển định thời/bộ đếm TCCR0 59 3.5.4.2 Thanh ghi định thời/bộ đếm 60 3.5.4.3 Thanh ghi so sánh ngõ ra-OCR0 60 3.5.4.4 Thanh ghi mặt nạ ngắt 60 3.5.4.5 Thanh ghi cờ ngắt định thời 60 3.6 USART 62 3.6.1 Tạo xung clock 63 3.6.2 Định dạng khung truyền 63 3.6.3 Khởi tạo USART 64 3.6.4 Truyền thông liệu-bộ truyền USART 64 3.6.4.1 Truyền khung đến bit liệu 64 3.6.4.2 Truyền khung bit liệu 65 3.6.5 Nhận liệu-bộ nhận USART 65 3.6.5.1 Nhận khung với đến bit liệu 66 3.6.5.2 Nhận khung với bit liệu 66 3.7 Bộ biến đổi A/D 68 3.7.1 ADMUX: Multiplexer select register 69 3.7.2 ADCSR-ADC control and status register 70 3.7.2.1 Bit 7-ADEN:ADC enable 70 3.7.2.2 Bit 6-ADSC: ADC start conversion 70 3.7.2.3 Bit 5-ADATE :ADC Auto Trigger enable 70 3.7.2.4 Bit 4-ADIF: ADC interrupt Flag 70 3.7.2.5 Bit 3-ADIE:ACD interrupt Enable 71 3.7.2.6 Bit 2.1.0-ADPS2…ADPS0: Bit lựa chọn xung nhịp(Tốc độ) 71 3.7.3 Thanh ghi liệu ACDH ADCL 71 3.7.4 Nguyên tắc hoạt động lập trình điều khiển 72 Kết luận 74 Tài liệu tham khảo 75 Phụ lục: Chương trình cho vi xử lí 76 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN TPHCM,Ngày……Tháng……Năm…… Giáo Viên Hướng Dẫn Ts.Hồng Minh Trí NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN TPHCM,Ngày……Tháng……Năm…… Giáo Viên Phản Biện LỜI MỞ ĐẦU Khái quát Cùng với tiến khoa học công nghệ, thiết bị điện – điện tử ứng dụng ngày rộng rãi mang lại hiệu cao hầu hết lĩnh vực kinh tế, kỹ thuật đời sống xã hội Trong năm gần theo tiến khoa học kỹ thuật, công cơng nghiệp hóa đại hóa đất nước diễn tốt đẹp.Trước tình hình có nhiều yêu cầu cấp bách thách thức đặt cho giới trí thức Điều khiển vị trí cơng nghiệp lĩnh vực mà Việt Nam nghiên cứu bước chế tạo để ứng dụng vào trình sản xuất góp phần nâng cao suất lao động Kỹ thuật vi xử lí ưu việt trở nên cần thiết ngành điện tử, thay thiết bị có cấu tạo phức tạp thành đơn giản Ứng dụng vi xử lí rộng rãi từ máy móc quan trọng cơng nghiệp đến thiết bị chuyên dùng Với ưu điểm tiêu kỹ thuật tính linh hoạt vi xử lí, việc nghiên cứu ứng dụng vi xử lí cần thiết Nguyên nhân làm đề tài: Trong công nghiệp, nhu cầu đời sống hàng ngày điều khiển vị trí vơ quan trọng Nó khơng giúp mang lại hiệu kinh tế mà cịn mang tính an tồn cao, mang tính mỹ thuật kỹ thuật Ví dụ điều khiển vị trí cánh tay robot, cơng nghệ in, tạo sản phẩm mang độ xác cao… Vì điều khiển vị trí điều quan trọng trình sản xuất, dây chuyền công nghệ Phương pháp giải vấn đề: Để giải tốn vị trí có nhiều phương pháp để giải như: Điều khiển ON/OFF, theo mạng nơron, mờ, PI, PID… Trong PID điều khiển cổ điển ứng dụng phổ biến giới, điều khiển tự động: Điều khiển động cơ, lị nhiệt, lưu lượng… Vì em chọn điều khiển vị trí theo PID để mơ chứng minh cho kiến thức học, tạo sản phẩm ứng dụng thực tế LUẬN VĂN TỐT NGHIỆP ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ #define ENTER PINC.6 //XXXXXXXXXXXXXXXXXKET THUC DINH NGHIAXXXX //XXXXXXXXXXXX KHAI BAO BIEN xxxxxxxxxxxx signed long pulse,pulse_set,old_pulse,delta_pulse; signed long present_value,set_point,set_point_data,delta_s; signed int speed_current,speed_pass,speed_next_pass,speed_set; signed int error_current,error_pass,error_perfect,error_next_pass; signed int dao_ham1,dao_ham2; signed int proportion,integration,derivation; signed int delta_duty,duty_temp,pwm_duty; unsigned char number,point[3]; unsigned char kp=1,ki=1,kd=1,scan; unsigned char xpoint,ypoint; bit old_pulseA,old_pulseB; //XXXXXXXXXXXX KET THUC KHAI BAO XXXXXXXX //XXXXXXXXXXXX KHAI BAO LCD XXXXXXXXXXXXXX // Alphanumeric LCD Module functions #asm equ lcd_port=0x1B ;PORTA #endasm #include //XXXXXXXXXXXXX KET THUC KHAI BAO LCD XXXX // External Interrupt service routine interrupt [EXT_INT0] void ext_int0_isr(void) { // Place your code here //ket noi voi pind.2 //doc xung A if(old_pulseA==0) //ngat canh len { if(PIND.3==0) pulse++; else SVTH: Bùi Thanh Kiều - 77 - GVHD: Ts.Hồng Minh Trí LUẬN VĂN TỐT NGHIỆP ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ pulse ; } else { //ngat canh xuong if(PIND.3==1) pulse++; else pulse ; } old_pulseA=PIND.2; } // External Interrupt service routine interrupt [EXT_INT1] void ext_int1_isr(void) { // Place your code here //ket noi voi pind.3 //doc xung b if(old_pulseB==0)//ngat canh len { if(PIND.2==1) pulse++; else pulse ; } else //ngat canh xuong { if(PIND.2==0) pulse++; else pulse ; } old_pulseB=PIND.3; } //XXXXXXXXXXXXXXXXX KET THUC NGAT XXXXXXXXXXXXX SVTH: Bùi Thanh Kiều - 78 - GVHD: Ts.Hồng Minh Trí LUẬN VĂN TỐT NGHIỆP ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ //XXXXXXXXXXXXXXXXX CHUONG TRINH CON XXXXXXXXXX //>>>>>>>>>>>>>>>>>>>CHUONG TRINH HIEN THI GIA TRI>>>>>>>>>>>>>KET THUC HIEN THI>CHUONG TRINH HIEN THI MENU>>>>>>>>KET THUC HIEN THI MENU>>KET THUC QUET

Ngày đăng: 29/10/2022, 22:36

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