XỬ LÝ GIÁ TRỊ NHẬN TỪ GUI - Khai báo các biến nhận giá trị từ GUI XỬ LÝ GIÁ TRỊ NHẬN TỪ GUI - Nhận từng kí tự cho tới khi gặp kí tự kết thúc là 0x0a XỬ LÝ GIÁ TRỊ NHẬN TỪ GUI - Phân loại các giá trị nhận vào XỬ LÝ GIÁ TRỊ NHẬN TỪ GUI - Xử lý các giá trị nhận về thành dữ liệu sử dụng : XUẤT GIÁ TRỊ ĐỌC VỀ TỪ ENCODER - Sau khi nhận giá trị đã xử lý từ encoder , Xử lý sang chuỗi kí tự và xuất ra Gui Bằng UART Module PWM - Sử dụng bộ PWM Gen 2 PWM1, tương ứng PF1 (M1PWM5) - Sử dụng Clock PWM chia 1 (div 1) - Timer PWM đếm xuống, kiểu không đồng bộ - Chu kì xung PWM = 20KHz - Duty cycle: Ton/T = ratio = (tốc độ u(k)/ tốc độ tối đa), ở đây tốc độ tối đa 6000rpm. - Tốc độ u(k) được tính thông qua công thức bộ PID như sau: Code PWM: Module QEI: - Index: khi quay 1 vòng, thì index lên 1 đơn vị - Kênh A: 100 - Kênh B: 100 - Đọc chiều - Đọc vận tốc velocity rpm. - Sử dụng cả kênh A và kênh B để xác định chiều. - Mode x4: kết hợp cả kênh A và kênh B : lấy cạnh lên và cạnh xuống của A và B - A và B cách nhau 90 độ Code Module QEI: Code Module QEI: PID Công thức tính u(k):