Bài hát rất hay. Hay từ giai điệu đẹp, lời ca đẹp. Bài hát chạm đến tận sâu trong tâm hồn mỗi ng. Nghe xong khóc tu tu vì nhớ mẹ. Mẹ ơi lẽ ra ngày này con sẽ xuống thăm mẹ. Nhưng ko đc nữa r. Mẹ đã sang bên kia bầu trời. :(
Vi Điều Khiển Chương 8.01 08 Mô đun điều khiển động (CCP) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.02 Chương GIỚI THIỆU MODULE CCP ● PIC16F887 có module Enhanced Capture/Compare/PWM (CCP1) module Capture/Compare/PWM (CCP2) ● Hai module CCP1 CCP2 giống tính năng, khác chức Enhanced PWM CCP1 HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 8.03 MODULE CCP1 (1) ● Module CCP1 module ngoại vi cho phép người dùng định thời điều khiển kiện khác ● Capture mode cho phép ta xác định khoảng thời gian kiện ● Compare mode cho phép người dùng can thiệp kiện bên sau khoảng thời gian định trước ● PWM mode cho phép tạo tín hiệu với tần số chu kỳ nhiệm vụ hiệu chỉnh HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.04 Chương MODULE CCP1 (2) ● Timer sử dụng cho mode HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.05 Chương MODULE CCP1 (3) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.06 Chương MODULE CCP1 (4) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 8.07 MODULE CCP2 ● Module CCP2 module ngoại vi cho phép người dùng định thời điều khiển kiện khác ● Capture mode cho phép ta xác định khoảng thời gian kiện ● Compare mode cho phép người dùng can thiệp kiện bên sau khoảng thời gian định trước ● PWM mode cho phép tạo tín hiệu với tần số chu kỳ nhiệm vụ hiệu chỉnh HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 8.08 CAPTURE MODE (1) ● Trong Capture mode, cặp ghi CCPRxH CCPRxL lưu giá trị 16bit ghi TMR1 kiện xảy chân CCPx ● Một kiện định nghĩa bit CCP1M ghi CCP1CON sau - Mỗi xung cạnh xuống - Mỗi xung cạnh lên - Mỗi xung cạnh lên thứ - Mỗi xung cạnh lên thứ 16 HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 8.09 CAPTURE MODE (2) ● Để sử dụng Capture mode, bit cờ yêu cầu ngắt CCPxIF ghi PIRx phải set ● Cờ ngắt phải xóa phần mềm ● Nếu Capture khác xảy trước cặp ghi CCPRxH CCPRxL đọc giá trị Capture cũ thay giá trị HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.10 Chương COMPARE MODE ● Trong mode Compare, giá trị ghi 16-bit CCPRx so sánh với giá trị cặp ghi TMR1 Khi giá trị nhau, module CPPx - Tác động ngõ chân CCPx - Set chân ngõ CCPx - Xóa chân CCPx - Tạo can thiệp đặc biệt - Tạo ngắt phần mềm ● Hoạt động chân phụ thuộc vào giá trị bit điều khiển CCPxM ghi CCPx1CON ● Tất mode Compare tạo ngắt HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 8.11 PWM MODE ● Mode PWM tạo tín hiệu điều chế độ rộng xung chân CCPx ● Chu kỳ nhiệm vụ, khoảng thời gian chu kỳ, độ phân giải đuợc xác định ghi sau - PR2 - T2CON - CCPRxL - CCPxCON ● Trong mode PWM, module CCP tạo ngõ PWM 10-bit chân CCPx HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.12 Chương PWM BLOCK DIAGRAM HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.13 Chương CCP PWM OUTPUT HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.14 Chương PWM PERIOD ● Chu kỳ xung PWM xác định ghi PR2 Timer2 ● Chu kỳ PWM tính sử dụng công thức sau: HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.15 Chương PWM DUTY CYCLE ● Chu kỳ nhiệm vụ PWM xác định cách ghi giá trị 10-bit vào ghi CCPRxL bit DCxB ghi CCPxCON HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 14 13 RE3/MCLR/VPP RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RA0/AN0/ULPWU/C12IN0RC2/P1A/CCP1 RA1/AN1/C12IN1RC3/SCK/SCL RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA RA3/AN3/VREF+/C1IN+ RC5/SDO RA4/T0CKI/C1OUT RC6/TX/CK RA5/AN4/SS/C2OUT RC7/RX/DT RA6/OSC2/CLKOUT RA7/OSC1/CLKIN RD0 RD1 RB0/AN12/INT RD2 RB1/AN10/C12IN3RD3 RB2/AN8 RD4 RB3/AN9/PGM/C12IN2RD5/P1B RB4/AN11 RD6/P1C RB5/AN13/T1G RD7/P1D RB6/ICSPCLK RB7/ICSPDAT RE0/AN5 RE1/AN6 RE2/AN7 8.16 15 16 17 18 23 24 25 26 Chương VÍ DỤ 1: ĐIỀU KHIỂN ĐỘNG CƠ DC 33 34 35 36 37 38 39 40 19 20 21 22 27 28 29 30 Thiết kế mạch điện sử dụng ICL298 để điều khiển động DC proteus? 10 PIC16F887 C1 C2 22p 22p U4:A DIR VCC C4 100nF 100nF VCC VS U2 74HC08 PWM 10 12 11 15 U3:B IN1 IN2 IN3 IN4 ENA ENB SENSA SENSB OUT1 OUT2 OUT3 OUT4 +88.8 74HC04 C3 U3:A +12V A B 13 14 GND L298 74HC08 EN HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 8.17 A VCC B D1 PWM R1 1k DIODE-LED U1 R2 10k 14 13 A 33 34 35 36 37 38 39 40 B X1 CRYSTAL FREQ=20MHz RE3/MCLR/VPP RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RA0/AN0/ULPWU/C12IN0RC2/P1A/CCP1 RA1/AN1/C12IN1RC3/SCK/SCL RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA RA3/AN3/VREF+/C1IN+ RC5/SDO RA4/T0CKI/C1OUT RC6/TX/CK RA5/AN4/SS/C2OUT RC7/RX/DT RA6/OSC2/CLKOUT RA7/OSC1/CLKIN RD0 RD1 RB0/AN12/INT RD2 RB1/AN10/C12IN3RD3 RB2/AN8 RD4 RB3/AN9/PGM/C12IN2RD5/P1B RB4/AN11 RD6/P1C RB5/AN13/T1G RD7/P1D RB6/ICSPCLK RB7/ICSPDAT RE0/AN5 RE1/AN6 RE2/AN7 15 16 17 18 23 24 25 26 EN DIR PWM 19 20 21 22 27 28 29 30 10 PIC16F887 C1 C2 22p 22p U4:A DIR VCC C4 100nF 100nF VCC VS U2 74HC08 PWM 10 12 11 15 U3:B IN1 IN2 IN3 IN4 ENA ENB SENSA SENSB OUT1 OUT2 OUT3 OUT4 +88.8 74HC04 C3 U3:A +12V A B 13 14 GND L298 74HC08 HCM City Univ of Technology, Faculty of Mechanical Engineering EN Phung Tri Cong Vi Điều Khiển 8.18 Chương CODE ĐỌC ENCODER #INT_EXT void ngatngoai() { if(!input(PIN_B1))Pulse ; else Pulse++; } // Hai kênh A B Encoder nối vào chân ngắt PIN_B0 chân PIN_B1 HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 8.19 Chương CODE GIẢI THUẬT PID void Motor_Position_PID(unsigned long des_Pulse) { Err=des_Pulse-Pulse; //tinh error pPart=Kp*Err; dPart=Kd*(Err-pre_Err)*inv_Sampling_time; iPart+=Ki*Sampling_time*(Err+pre_Err); Output=pPart+dPart+iPart; if (Output>0) output_low(pin_c1); // quay thuận if (Output