Thiết kế hệ thống điều khiển dựa trên mạng nơ-ron sử dụng thuật toán Brandt-Lin

MỤC LỤC

Thuật toán Brandt-Lin

Tư tưởng của thuật toán Brandt-Lin chia nhỏ một hệ thống phức tạp thành N hệ thống con gọi là các nút. Trong đó wijl là trọng số liên kết của nút thứ j thuộc lớp l xuất phát từ nút thứ i.

Hình 2.1: Phân tích 1 hệ thống theo thuật toán Brandt-Lin
Hình 2.1: Phân tích 1 hệ thống theo thuật toán Brandt-Lin

GIỚI THIỆU ATMEGA 128

Đặc điểm của Atmega 128

Công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì nhịp xung, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1 Mhz. Ở chế độ power-save, Timer không đồng thời tiếp tục hoạt động, mà cho phép người sử dụng dùng một Timer cơ sở trong khi các thiết bị đang ở chế độ nghỉ.

Mô tả các chân

Chế độ giảm nhiễu cho ADC ngừng CPU và các module vào ra ngoại trừ timer và ADC, để giảm nhiễu xuống thấp nhất trong quá trình biến đổi ADC. Ở chế độ standby thạch anh dao động đang chạy trong khi các thiết bị khác ở chế độ nghỉ.

Hình 2.2: Sơ đồ khối bên trong của Atmega 128
Hình 2.2: Sơ đồ khối bên trong của Atmega 128

Kiến trúc tổng quan của Atmega128

    PB6 OCB1 (đầu ra so sánh và PWM B của timer/counter1) PB5 OC1A (đầu ra so sánh và PWM A của timer/counter1) PB4 OCO ( đầu ra so sánh và PWM của timer/counter0 PB3 MISO (bus giao tiếp SPI vào master hoặc ra slave) PB2 MOSI ( bus giao tiếp SPI vào slave hoặc ra master) PB1 SCK (quy định tốc độ đông hồ khi giao tiếp) PB0 ____SS (chọn SPI là slave hay master). Chương trình ngắt chỉ đơ giản giống hệt như một chương trình con (subrountine), ngoại trừ một đặc điểm là việc thực thi của đoạn chương trình ngắt này không bị bộ xử lý đoán trước là sẽ xuất hiện ở một thời điểm cụ thể nào. Bộ vi điều khiển AVR có rất nhiều cấu trúc ngắt sau đây em chỉ trình bày về các loại ngắt mà mình sẽ dùng. Đối với một loại vi điều khiển sẽ có nhiều vectơ ngắt để phục vụ cho chương trình như vectơ ngắt ngoài, ngắt nối tiếp, ngắt định thời. Sau đây là các nguyên nhân gây ngắt của AVR.  Reset : Chân ngoài, Preset, Brown-out reset và Watchdog reset.  USART, UDRE : Thanh ghi dữ liệu nối tiếp rỗng. Trong chương trình dành cho mạch giao tiếp có sử dụng đến hai loại vectơ ngắt là ngắt do định thời và ngắt do nối tiếp. Vì vậy, trong phần này chỉ giới thiệu hai loại vectơ ngắt này. b )Giao tiếp nối tiếp.

    Hình 2.4 : Định dạng bộ nhớ của Atmega128
    Hình 2.4 : Định dạng bộ nhớ của Atmega128

    MẠNG NƠRON

    Thiết kế bộ điều khiển PID-Neural có chỉnh định thích nghi trọng số của mạng

      Đối tượng điều khiển là đối tượng tuyến tính ổn định bậc 2 có hàm truyền G(s) là. Bộ điều khiển PID-Neural:. Bộ điều khiển có hệ số thích nghi γ =1 và các trọng số có giá trị ban đầu là. Mô hình điều khiển:. Hình 3.4: Mô hình điều khiển với đối tượng ổn định. Bộ điều khiển PID truyền thống với các hệ số K T TP, ,I D được tính theo phương pháp hằng số thời gian tổng của Kuhn:. Hàm truyền của đối tượng được viết lại như sau:. Nhận xét: So với bộ PID truyền thống, bộ điều khiển PID-Neural cho tín hiệu đầu ra tốt hơn nhiều, không có độ quá điều chỉnh, tốc độ xác lập nhanh. b) Đối tượng có nhiễu. Nghiên cứu trường hợp có nhiễu, đưa vào hệ thống nhiễu ồn trắng có cường độ noise power =0.01 và nhiễu được cộng thêm vào đầu vào của đối tượng. Đối tượng nghiên cứu không đổi. Bộ điều khiển PID-Neural:. Bộ điều khiển có hệ số thích nghi γ =1 và các trọng số có giá trị ban đầu là. Mô hình điều khiển:. Bộ điều khiển PID truyền thống với các hệ số K T TP, ,I D được tính theo phương pháp hằng số thời gian tổng của Kuhn:. Hàm truyền của đối tượng được viết lại như sau:. Kết quả mô phỏng:. Nhận xét: Khi có nhiễu bộ điều khiển PID-Neural cho tín hiệu đầu ra bám theo tín hiệu đặt, không có độ quá điều chỉnh trong khi ở bộ PID truyền thống có xảy ra hiện tượng quá điều chỉnh. c) Đối tượng có trễ. Để tạo ra đối tượng có trễ, ta thêm vào 1 khâu trễ trước đối tượng điều khiển. Đối tượng điều khiển có hàm truyền là:. Bộ điều khiển PID-Neural:. và các trọng số có giá trị ban đầu là. Mô hình điều khiển:. Bộ điều khiển PID truyền thống với các hệ số K T TP, ,I D được tính theo phương pháp hằng số thời gian tổng của Kuhn:. Hàm truyền của đối tượng được viết lại như sau:. Kết quả mô phỏng:. Nhận xét: Với đối tượng có trễ, tín hiệu ra của hệ thống ở bộ điều khiển PID-Neural tốt hơn so với bộ điều khiển PID truyền thống, có xảy ra độ quá điều chỉnh nhưng rất nhỏ. d) Đối tượng có thành phần tích phân. Đối tượng có thành phần tích phân được sử dụng là đối tượng có hàm truyền sau:. Các trọng số có giá trị ban đầu là:. Hình 3.10: Đối tượng có thành phần tích phân. Kết quả mô phỏng:. Nhận xét: Với đối tượng có thành phần tích phân, chất lượng tín hiệu đầu ra của hệ thống không được tốt, độ quá điều chỉnh lớn, thời gian xác lập dài. Nguyên nhân là do với đối tượng có thành phần tích phân, đạo hàm của đối tượng không thể xấp xỉ về hằng số vì đối tượng không ổn định. e) Đối tượng phi tuyến. Nhưng với bộ điều khiển PID-Neural, chất lượng tín hiệu đầu ra của hệ thống rất tốt, thời gian xác lập ngắn, không xảy ra hiện tượng quá điều chỉnh.

      Hình 3.7: (a) Tín hiệu đặt và các tín hiệu đầu ra; (b)Trọng số w 11 2 ; (c)Trọng số  w 2 21 ; (d) Trọng số  w 312
      Hình 3.7: (a) Tín hiệu đặt và các tín hiệu đầu ra; (b)Trọng số w 11 2 ; (c)Trọng số w 2 21 ; (d) Trọng số w 312

      Thiết kế bộ điều khiển sử dụng sai lệch làm đầu vào

        Đối tượng điều khiển là đối tượng tuyến tính ổn định bậc 2 có hàm truyền G(s) là. Các trọng số ban đầu là:. Mô hình điều khiển:. Tín hiệu đầu ra:. Hình 3.18: Tín hiệu đầu ra và tín hiệu đặt với đối tượng ổn định. Nhận xét: Tín hiệu đầu ra rất tốt. Dù là đối tượng bậc 2 nhưng không xảy ra hiện tượng quá điều chỉnh hay dao động. b) Đối tượng có nhiễu. Nhiễu được sử dụng là nhiễu ồn trắng có cường độ noise power = 0.01. Đối tượng nghiên cứu và hệ số thích nghi không đổi. Các trọng số ban đầu là:. Mô hình điều khiển:. Hình 3.20: Tín hiệu đầu ra và tín hiệu đặt trong trường hợp có nhiễu Nhận xét: Ảnh hưởng của nhiễu chỉ có tác động nhỏ đến chất lượng hệ thống. d) Đối tượng có trễ. Đối tượng điều khiển không đổi. Hệ số thích nghi là 2. Các trọng số ban đầu là:. Mô hình điều khiển:. Hình 3.22: Tín hiệu đầu ra và tín hiệu đặt trong trường hợp có nhiễu. Nhận xét: Sai lệch giảm dần theo quá trình học của mạng nơron. c) Đối tượng có thành phần tích phân. Đối tượng có thành phần tích phân được sử dụng là đối tượng có hàm truyền sau:. Các trọng số có giá trị ban đầu là:. Mô hình điều khiển:. Hình 2.22: Đối tượng có thành phần tích phân. Tín hiệu đầu ra:. Hình 2.23: Tín hiệu đầu ra và tín hiệu đặt với đối tượng có thành phần tích phân. Nhận xét: Với đối tượng có thành phần tích phân, việc lựa chọn bộ điều khiển theo mô hình này sẽ cho tín hiệu đầu ra tốt hơn nhiều so với bộ điều khiển PID-Neural, độ quá điều chỉnh nhỏ, thời gian xác lập nhanh, sai lệch tĩnh bé. e) Đối tượng phi tuyến. Nhận xét: Với đối tượng phi tuyến, việc lựa chọn bộ điều khiển theo mô hình này sẽ cho tín hiệu đầu ra tốt hơn bộ điều khiển PID-Neural,thời gian xác lập nhanh hơn.

        Hình 3.16: Cấu trúc bộ điều khiển ANN và thuật toán học.
        Hình 3.16: Cấu trúc bộ điều khiển ANN và thuật toán học.

        ỨNG DỤNG ĐIỀU KHIỂN ĐỐI TƯỢNG THỰC

        • Động cơ điện một chiều
          • Thiết kế bộ điều khiển trên nền vi điều khiển Atmega 128
            • Thiết kế hệ thống điều khiển trên nền bộ điều khiển PID- Neural

              Nhờ vậy khi thanh ghi dịch truyền byte của nó ra ngoài và đang cần một byte mới thì phần cứng của cổng COM chuyển byte tiếp theo từ bộ đệm của nó cho thanh ghi dịch mà không cần gọi CPU phát lệnh truyền một byte mới. Byte kế tiếp sẽ được chuyển từ bộ đệm truyền của cổng COM vào thanh ghi dịch truyền dữ liệu.Quá trình truyền dữ liệu từng bit một của byte mới bắt đầu Một ngắt khác được phát ra để báo cho cho thiết bị biết để gửi một byte khác tới bộ đệm hiện thời đang trống. Bởi khi một ký tự được nhận cũng có cùng ngắt như vậy cộng thêm đường điều khiển thay đổi trạng thái…Với tốc độ truyền chậm thì việc có bộ đệm nhận 1 byte không là vấn để gì nhưng khi tốc độ cao hơn thì sẽ có thể đẫn đển việc CPU không thể thực hiện công việc của UART đúng lúc gây ra sự ghi đè dữ liệu (trong khi nhận dữ liệu) gây ra các lỗi “overrun” hay “overflow”.

              Việc sử dụng cổng COM đi kèm với một giao diện phù hợp tiện dụng cộng thêm khả năng tùy biến hiệu quả và linh động với yêu cầu tương thích cao với máy tính và với hệ điều hành khác nhau của Window nên lựa chọn VB 6.0 là một lựa chọn phù hợp.

              Hình 4.1: Một động cơ một chiều thông thường
              Hình 4.1: Một động cơ một chiều thông thường