Page 95 - Kỷ yếu hội thảo khoa học quốc tế - Ứng dụng công nghệ mới trong công trình xanh , lần thứ 8
P. 95

78                               TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT - ĐẠI HỌC ĐÀ NẴNG

               đoán theo thời gian được thực hiện sau mỗi thời gian   V.  GIẢI PHÁP PHẦN CỨNG
               T, còn giai đoạn cập nhật giá trị đo được thực hiện khi   Hệ  thống  đề  xuất  được  thể  hiện  trong  Hình  3,
               có xung encoder.                               trong đó sử dụng Arduino Uno R3 để điều khiển động
                  Với giả sử ban đầu động cơ đứng yên nên giá trị   cơ.  Biến  trở  được  sử  dụng  để  đặt  tốc  độ  động  cơ;
                           − 1                                mạch cầu H dùng L298 để nhận tín hiệu điều khiển
               khởi tạo cho  x 0   là:                        của 8051 và xuất điện áp tương ứng ra động cơ DC;
                      −       0 −   0                    encoder để đọc tốc độ động cơ và phản hồi về vi điều
                                                              khiển Arduino; vi điều khiển dựa trên tốc độ đặt, tốc
                     x =  0    −  =                                              (9)
                             0     0                     độ  phản  hồi  để  ước  lượng  tốc  độ  đông  cơ  và  xuất
                                                              xung điều khiển ra mạch cầu H; LCD để hiển thị tốc
                                   −                          độ đặt, tốc độ hiện tại của thuật toán đề xuất.
                  Do giá trị ban đầu  x  như trên là hoàn toàn phù
                                   0
               hợp tuy nhiên vẫn có những sai lệch nhỏ do không thể            LCD
               đứng  yên  tuyệt  đối  nên  hiệp  phương  sai  khởi  tạo          Hiển thị
               được chọn:
                            10 − 6  0                         Đặt tốc độ           PWM  Mạch cầu   Đọc tốc độ
                       −
                                                                 Biến
                     P =         − 6                                      (10)   trở  Arduino  H  DC  Encoder
                      0
                            0  10                                                      (L298)
                                                                                               Phản hồi tốc độ
                  Do  v và  v là không đổi và không ảnh hưởng lẫn
                           
                      
               nhau nên ta có:                                        Hình 3. Tổng quan hệ thống đề xuất
                          R    0      10 − 3  0              Sử dụng một bộ định thời T0 trong Arduino Uno
                     Q =    v      =      − 4              (11)   R3  để  định  khoảng  thời  gian  lấy  mẫu  T.  Trong  đó,
                           0  R v      0  10             thời gian T này phải đảm bảo đủ lớn để thực hiện việc
                                                              dự đoán theo mô hình, cập nhật giá trị đo của bộ lọc
                  Mỗi  khi  có  xung  encoder  thì  cập  nhật  giá  trị  đo   Kalman, truyền dữ liệu lên máy tính.
               theo trình tự ở các phương trình sau:
                                                                 Việc kết nối của Arduino với các thiết bị được thể
                                    2                     hiện trong Bảng I. Trong đó, Encoder 1 là bộ mã hoá
                              b   T    0                  vòng qua có độ phân giải thấp, Encoder 2 là bộ mã
                        R =   k        , t k           hoá vòng quay có độ phân giải cao để thực hiện so
                                        − 4                 sánh kết quả, L298 là mạch điều khiển động cơ. Dây
                                0     10                    A của Encoder 1 và Encoder 2 lần lượt được kết nối
                                                              vào chân ngắt ngoài D2 và D3 để đảm bảo phát hiện
                                 1                          đúng thời điểm xuất hiện xung encoder ở dây A. Dây
                                    0                      B  của  Encoder  1  và  Encoder  2  được  nối  với  chân
                           H =                             D12, D13 của Arduino để phát hiện chiều quay của
                                     1                      các  encoder khi  có ngắt  từ  chân kết  nối  với  dây  A.
                                 0                          Thời  gian     giữa  2  xung  encoder  liên  tiếp  xuất
                                                   (12)               , t k
                                    −
                            −
                     K =  k  P H T  ( HP H T  +  R k ) − 1    hiện tại dây A được xác định bằng cách đọc giá trị bộ
                                                              định thời Timer 0 ở trên.
                           k
                                   k
                                   p   k                          Bảng I. Kết nối Arduino với các thiết bị
                             z =      1                       Chân Arduino     Chân         Thiết bị
                              k
                                       , t k                     D2            A          Encoder 1
                             −
                        x =  x +  K  z −  Hx ˆ − )                    D3            A          Encoder 2
                         k   k    k  ( k  k                          D12            B          Encoder 1
                          P =  (I −  K H  ) P −                      D13            B          Encoder 2
                           k        k   k
                                                                     D11           ENA           L298
                  Sau mỗi thời gian lấy mẫu T thì dự đoán theo trình
               tự ở các phương trình sau:                            D10            IN1          L298
                          −                                           D9            IN2          L298
                         x k+ 1  =  A x                                   (13)   VI.  THÍ NGHIỆM VÀ KẾT QUẢ
                                k k
                       −
                      P k+ 1  =  A P A +  k k k T  Q k           Hệ thống thí nghiệm được thự hiện trên KIT thực
                                                              hành  vi  điều  khiển  và  điều  khiển  ghép  nối  thiết  bị
               ISBN: 978-604-80-9122-4
   90   91   92   93   94   95   96   97   98   99   100