Bài tập  /  Bài đang cần trả lời

Code từ thông số output mờ làm sao để qua công thức pid

Làm đồ án ngành điện tử đề tài: Điều khiển lò nhiệt (3Em đang làm đồ án ngành điện tử đề tài: Điều khiển lò nhiệt (37 độ) dùng giải thuật mờ PID bộ điều khiển arduino. Em có tìm hiểu nhưng không biết code từ thông số output mờ làm sao để qua công thức pid. Mong mọi người giúp em.
http://www.zerokol.com/2012/09/arduinofuzzy-fuzzy-library-for-arduino.html7 độ) dùng giải thuật mờ PID bộ điều khiển arduino
1 Xem trả lời
Hỏi chi tiết
122
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để sử dụng giải thuật mờ PID trong bộ điều khiển Arduino, bạn cần làm các bước sau:

1. Cài đặt thư viện Fuzzy Logic trên Arduino IDE. Bạn có thể tải thư viện từ trang web chính thức của Arduino hoặc sử dụng trình quản lý thư viện trong Arduino IDE để cài đặt.

2. Tạo các biến và khai báo các đối tượng cần thiết cho giải thuật mờ PID. Bạn cần tạo các biến để lưu trữ giá trị đầu vào (input), giá trị đầu ra (output) và giá trị đặt (setpoint). Bạn cũng cần khai báo các đối tượng cho các bộ quy tắc (rule) và các biến mờ (fuzzy variable).

3. Thiết lập các bộ quy tắc cho giải thuật mờ PID. Bạn cần xác định các quy tắc dựa trên các giá trị đầu vào và đầu ra mong muốn. Ví dụ: nếu giá trị đầu vào là nhỏ và giá trị đầu ra là nhỏ, thì quy tắc có thể là "nếu giá trị đầu vào là nhỏ và giá trị đầu ra là nhỏ, thì giá trị đầu ra tăng lên".

4. Định nghĩa các hàm để tính toán giá trị đầu ra dựa trên các quy tắc đã thiết lập. Bạn cần xác định các hàm để tính toán giá trị đầu ra dựa trên các quy tắc đã thiết lập. Các hàm này sẽ sử dụng các biến mờ và bộ quy tắc để tính toán giá trị đầu ra.

5. Sử dụng công thức PID để tính toán giá trị đầu ra cuối cùng. Bạn cần sử dụng công thức PID để tính toán giá trị đầu ra cuối cùng dựa trên giá trị đặt, giá trị đầu vào và các giá trị đầu ra từ giải thuật mờ.

Dưới đây là một ví dụ code đơn giản để điều khiển lò nhiệt sử dụng giải thuật mờ PID trên Arduino:

```cpp
#include

// Khai báo các biến và đối tượng cần thiết
Fuzzy fuzzy;
FuzzyInput input;
FuzzyOutput output;
FuzzyRule rule;

void setup() {
// Khởi tạo các đối tượng và thiết lập các thông số
fuzzy.begin();

// Thiết lập các biến đầu vào
input.begin();
input.addTerm("low", 0, 25);
input.addTerm("medium", 20, 40);
input.addTerm("high", 35, 60);

// Thiết lập biến đầu ra
output.begin();
output.addTerm("low", 0, 50);
output.addTerm("medium", 40, 60);
output.addTerm("high", 55, 100);

// Thiết lập các quy tắc
rule.begin();
rule.addRule("low", "low");
rule.addRule("medium", "medium");
rule.addRule("high", "high");
}

void loop() {
// Đọc giá trị đầu vào từ cảm biến
float inputValue = analogRead(A0);

// Đặt giá trị đầu vào cho giải thuật mờ
input.setInput("low", inputValue);

// Tính toán giá trị đầu ra từ giải thuật mờ
fuzzy.calculate();

// Lấy giá trị đầu ra từ giải thuật mờ
float outputValue = output.getOutput("low");

// Điều khiển lò nhiệt dựa trên giá trị đầu ra
// ...
}
```

Trong ví dụ trên, bạn cần điều chỉnh các giá trị và quy tắc cho phù hợp với ứng dụng của mình. Bạn cũng cần thay đổi phần điều khiển lò nhiệt dựa trên giá trị đầu ra từ giải thuật mờ.
0
0
Anh Thuw
11/12/2023 23:31:37
+5đ tặng

Với bộ điều khiển PID, người sử dụng dễ dàng tích hợp các luật điều khiển khác như luật điều khiển tỷ lệ (luật P), điều khiển tỷ lệ–tích phân (luật PI), luật điều khiển tỷ lệ–vi phân (luật PD). Bộ điều khiển PID luôn là một phần tử không thể thay thế được trong các quá trình tự động khống chế nhiệt độ, mức, tốc độ

Ngay cả khi lý thuyết điều khiển tự động hiện đại được ứng dụng vào việc thiết kế, các bộ điều khiển như bộ điều khiển mờ, bộ điều khiển nơ ron , bộ điều khiển bền vững thì việc kết hợp giữa các phương pháp điều khiển hiện đại và bộ điều khiển PID kinh điển vẫn đem lại những hiệu quả bất ngờ mà không bộ điều khiển nào có khả năng đem lại.

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×