EN

Trang web toàn cầu Sinny

Sản phẩm

Giải pháp

Các dịch vụ

Có.

Tiếp xúc.

Sinny

Nghiên cứu VÀ phát triển

Phòng tin tức

Tin công ty

Tin tức công nghiệp

Video

Trung tâm báo chí

Tin công ty Tin tức công nghiệp Video
Tin tức công nghiệp May 24,2025

Bài viết: Arduino PWM PID Control nhiệt độ



Tôi. I. giới thiệu








A. Tổng quan ngắn gọn về các yêu cầu kiểm soát nhiệt độ đối với các dự án DIY và quy mô nhỏ hơn

B. Arduino là một nền tảng phổ biến được sử dụng cho những người đam mê điện tử.

C. C. Introduction to Pulse-Width Modulation: một kỹ thuật điều khiển

Điều chế độ rộng xung là một kỹ thuật quan trọng để kiểm soát lượng năng lượng mà một thiết bị điện tử nhận được, đặc biệt là một thiết bị truyền động như lò sưởi hoặc động cơ. PWM là sự chuyển đổi nhanh chóng của một đầu ra kỹ thuật số giữa trạng thái thấp và cao. Cái gì? Chu kỳ làm việc Là tham số quan trọng nhất. Nó là phần trăm thời gian mà tín hiệu đầu ra cao trong một chu kỳ. PWM mô phỏng một tín hiệu analog bằng cách thay đổi chu kỳ làm việc. Trong các ứng dụng sưởi ấm, chu kỳ làm việc cao hơn có nghĩa là các yếu tố làm nóng sẽ được bật trong nhiều thời gian hơn. Điều này làm tăng công suất, và do đó nhiệt độ. Một chu kỳ làm việc thấp hơn sẽ làm giảm năng lượng và do đó nhiệt độ. Phương pháp này cho phép điều chỉnh độ chính xác của điện.

D. Giới thiệu về điều khiển PID: Thuật toán tỷ lệ-tích phân

Điều khiển bật/tắt đơn giản có thể đủ cho một số ứng dụng cơ bản nhưng chúng thường không cung cấp độ chính xác cần thiết cho đáp ứng và điều chỉnh nhiệt độ ổn định. Thuật toán PID rất cần thiết trong trường hợp này. Chiến lược PID là một điều khiển phản hồi vòng kín sử dụng sai số như sự khác biệt trong nhiệt độ mục tiêu và nhiệt độ thực tế. Thuật toán này áp dụng ba thuật ngữ khác nhau cho sự hiệu chỉnh:

1. Tỷ lệ: Sự sửa chữa này tỉ lệ với sai số. Sự sửa sai lớn hơn khi sai số lớn hơn. Điều này giúp hệ thống đến điểm đặt của nó nhanh hơn.

2. Nguyên tắc: Phép điều chỉnh là tỷ lệ sai số được tích lũy theo thời gian. Thuật ngữ này được sử dụng để loại bỏ các lỗi trạng thái ổn định - nghĩa là, sự dịch chuyển nhiệt độ khi hệ thống tiến đến điểm đặt nhưng không đạt đến đích chính xác.

3. Dẫn xuất (D) : Hiệu chỉnh tỷ lệ thuận với sự thay đổi về tỷ lệ sai số. Thuật ngữ này được sử dụng để dự đoán các lỗi trong tương lai, sử dụng xu hướng hiện tại. Nó cũng giúp làm giảm hệ thống và ngăn chặn các overshoot và dao động.

Kết hợp ba thuật ngữ này có thể dẫn đến sự cân bằng tốt hơn về khả năng phản ứng, độ chính xác và độ ổn định so với các phương pháp đơn giản hơn.

E. Mục đích của bài viết này là để giải thích làm thế nào các điều khiển nhiệt độ PID có thể được thực hiện bằng cách sử dụng Arduino và PWM.

Bài báo này#39; Mục tiêu chính của S là cung cấp hướng dẫn thực tế và chi tiết để thực hiện một hệ thống điều khiển nhiệt độ PID sử dụng một vi điều khiển Arduino với điều chế độ rộng xung cho các yếu tố làm nóng. Bài này sẽ nói về những khái niệm cơ bản và những điểm chính của tất cả các yếu tố. Nó cũng sẽ cung cấp thông tin chi tiết về cách lập trình Arduino để nó có thể thực thi các thuật toán PID. Vâng.#39; LL hướng dẫn bạn thông qua kết nối phần cứng và đưa ra lời khuyên về việc điều chỉnh và thử nghiệm thiết lập cuối cùng của bạn. Sau khi đọc bài báo này, độc giả có thể xây dựng Arduino của riêng mìnhBộ điều khiển nhiệt độ PID.







                                                          








F. SEO Focus: Từ khóa như &Quot; Arduino Temperature Control, Và quot; Kiểm soát nhiệt độ PID Arduino, &Quot; Kiểm soát nhiệt PWM, Và quot; DIY Temperature Controller (bằng tiếng En-us). Và quot;




II. Các thành phần cốt lõi



A. Vi điều khiển Arduino - Vai trò và hoạt động cơ bản (xử lý các đầu vào, kiểm soát đầu ra).

Bộ điều khiển vi điều khiển Arduino nằm ở lõi của hệ thống điều khiển nhiệt độ Arduino. Vi điều khiển là một máy tính nhỏ được xây dựng trên một mạch tích hợp. Vi điều khiển chứa một vi xử lý tích hợp, ngoại vi I/O lập trình và bộ nhớ để lưu trữ mã chương trình. Trong trường hợp này là Arduino' chức năng chính của S là của đơn vị điều khiển hệ thống. Cái gì? Arduino& (bằng tiếng Anh)#39; nhiệm vụ chính của S là đọc nhiệt độ từ cảm biến và xử lý nó bằng thuật toán PID để xác định mức nhiệt chính xác. Sau đó nó tạo ra tín hiệu PWM cũng như điều khiển CÁC SSR (trạng thái rắn ry) hoặc bất kỳ cơ chế chuyển mạch khác để kiểm soát lượng năng lượng được phân phối cho các yếu tố làm nóng. Nó thực hiện tất cả các hướng dẫn được lập trình, đưa ra quyết định trong thời gian thực để duy trì nhiệt độ.

B. Lựa chọn cảm biến nhiệt độ: các loại phổ biến (ví dụ DS18B20 và Bệnh SỐT xuất huyết11/22 cặp nhiệt điện với MAX6675, DHT11/22)

Các cảm biến nhiệt độ rất quan trọng đối với độ chính xác và độ tin cậy. Các loại cảm biến nhiệt độ khác nhau được sử dụng trong các dự án Arduino.

· Cảm biến kỹ thuật số: Bộ cảm biến này chuyển đổi phép đo nhiệt độ thành mã số, giúp Arduino dễ dàng diễn giải hơn. DS18B20 là một nhiệt kế kỹ thuật số với một tấm chắn duy nhất#39; S được biết đến với tính chính xác, nhiều cảm biến và khả năng đa cảm biến của nó. Các ví dụ khác bao gồm DHT11 và DHT22 có thể đo nhiệt độ cũng như độ ẩm. DS18B20 cung cấp các cách đọc chính xác đến + -0.5degC với độ phân giải thấp như 0, 1degc. Cảm biến nhiệt độ DHT có độ chính xác + -2degC. Để có thể đọc chính xác, cảm biến số yêu cầu hỗ trợ thư viện từ Arduino.

Cảm biến Analog: Cảm biến này tạo ra một đầu ra điện áp tương tự tỷ lệ với nhiệt độ. Cảm biến tuyến tính LM35 là một ví dụ phổ biến, vì nó ra 10mV cho mỗi độ Celsius. Các cảm biến Analog rất đơn giản nhưng có thể có tiếng ồn. Họ yêu cầu chuyển đổi kỹ thuật số tương tự để đọc chúng (sử dụng Arduino' S ADC).

· các cặp nhiệt điện Chúng là các cảm biến gồ ghề có thể được sử dụng trong một phạm vi nhiệt độ (từ rất thấp đến đông lạnh), nhưng chúng có độ chính xác thấp hơn cảm biến số. Hiệu ứng Seebeck được sử dụng để tạo ra một điện áp nhẹ tại điểm giao nhau giữa hai Kim loại. Điện áp cặp nhiệt thường được đọc bằng cách sử dụng mạch phức tạp hơn, hoặc IC như MAX6675 cung cấp đầu ra kỹ thuật số và bồi thường kết nối lạnh cho cặp nhiệt loại N.

Việc lựa chọn cảm biến được dựa trên thiết bị ứng dụng ' s Yêu cầu. Điều này bao gồm phạm vi nhiệt độ cần thiết, độ chính xác cần thiết, các cổng I/O có sẵn trên bo Arduino. Các cảm biến DS18B20 và DHT là một lựa chọn tuyệt vời cho hầu hết các dự án có sở thích. Chúng cung cấp sự cân bằng giữa độ chính xác, chi phí và dễ sử dụng.

C. Xem xét và các loại yếu tố làm nóng (ví dụ như dây điện trở, khối điện trở, v.v.)

Các yếu tố làm nóng là các thành phần tạo ra nhiệt cần thiết để tăng hoặc duy trì một quá trình ' Nhiệt độ. Có nhiều loại.

Dây điện trở (dây sưởi ấm) : Dây điện trở này, thường được làm bằng vật liệu như Nichrome hoặc Kim loại tương tự khác, nóng khi một dòng điện đi qua nó. Dây có thể được tạo thành cuộn dây hoặc dải và sau đó gắn vào một đối tượng để nóng.

Các khối nóng: Các khối rắn được tạo ra từ vật liệu nhiệt dẫn và gắn vào các thành phần điện trở. Các khối này cung cấp một bề mặt đồng nhất để sưởi ấm và được sử dụng phổ biến trong lồng kính máy in 3D, lồng kính phòng thí nghiệm, v.v.

Các trạng thái tiếp sức: Rơ le trạng thái rắn là các thiết bị chuyển mạch. Tuy nhiên, trong trường hợp này, chúng đóng một vai trò quan trọng như là một giao diện giữa Arduino' s tín hiệu công suất thấp và yếu tố làm nóng. SSRs sử dụng công nghệ bán dẫn để bật/tắt nguồn chính. Chúng thường được điều khiển thông qua một tín hiệu đầu vào điện áp thấp, chẳng hạn như đầu ra Arduino PWM. Các SSR nhanh hơn và đáng tin cậy hơn so với rông cơ khí (không có tiếp điểm Kim loại), nhưng chúng cũng có tuổi thọ ngắn hơn.

Trong việc lựa chọn yếu tố làm nóng thích hợp cho ứng dụng của bạn, bạn nên xem xét các yếu tố như yêu cầu năng lượng, phạm vi nhiệt độ yêu cầu, sự đồng bộ phân phối nhiệt, chi phí, an toàn và nhiều hơn nữa. Sự lựa chọn của các cơ chế chuyển mạch (SSR và relay) cũng bị ảnh hưởng bởi loại nguồn năng lượng (AC orDC).

D. Khái niệm chu kỳ nhiệm vụ và tạo ra tín hiệu PWM trên Arduino

PWM, như đã đề cập trước đây, là một phương pháp mô phỏng tín hiệu analog bằng tín hiệu số. PWM được hỗ trợ bởi một số chân trên hầu hết các board Arduino tiêu chuẩn. Trên các bảng có đồng hồ 8 bit (như Uno và Nano), các chân này có khả năng tạo ra sóng vuông, có tốc độ làm việc thay đổi. Phạm vi thường từ 0% (luôn luôn tắt) đến 255 (luôn luôn bật). Chu kỳ nhiệm vụ Biểu diễn tỉ lệ phần trăm trong chu trình tín hiệu được kích hoạt. Một chu kỳ làm việc 0% có nghĩa là sản lượng sẽ luôn thấp. 50% chu kỳ làm việc có nghĩa là nó sẽ luôn cao, nhưng chỉ trong một nửa thời gian. 100% chu kỳ làm việc có nghĩa là luôn cao. Thuật toán Arduino PID, khi được sử dụng để điều khiển nhiệt độ tính toán chu kỳ làm việc (từ 0 đến 255) là thích hợp dựa trên sai số. Giá trị này sau đó được gửi đến đầu nối PWM kết nối với SSR. SSR giải thích tín hiệu PWM này để kiểm soát công suất trung bình được chuyển đến bộ phận sưởi.

E. Thuật toán PID: tóm tắt ngắn các số hạng (P, I và D) cũng như tầm quan trọng của nó đối với điều khiển động

Hiểu được thuật toán PID yêu cầu một bản tóm tắt. Điều quan trọng là phải hiểu thuật toán PID để cài đặt nó.

1. Tỷ lệ (P) : Thuật ngữ này tạo ra một kiểm soát cho tỷ lệ thuận với sai số hiện tại. Đầu ra của p_là bằng Kp * E. Một sai số tăng sẽ dẫn đến một tín hiệu đầu ra cao hơn cố gắng sửa chữa nhanh chóng nhiệt độ. Tuy nhiên, một độ lợi P cao có thể làm cho hệ thống dao động và phóng đại điểm thiết lập của nó. Độ lợi tỷ lệ Kp, là một tham số biến, có thể được điều chỉnh.

2. Kỳ tích cực (I) : Iterm giải quyết lỗi tích lũy theo thời gian. Số I tích phân lỗi (E DT), và thêm điều này vào giá trị tích phân. Đầu ra = KI * E dt. Thuật ngữ này loại bỏ các lỗi trạng thái ổn định - sự khác biệt về nhiệt độ vẫn còn ngay cả khi hệ thống gần điểm đặt. Khâu tích phân sẽ tăng lên nếu sai số tồn tại trong một thời gian dài. Điều này đẩy đầu ra để sửa chữa vấn đề. Một tích phân too-strong có thể gây ra dao động. Hằng số khuếch đại tích phân Ki cũng có thể điều chỉnh được.

3. Các thuật ngữ dẫn xuất (D) : Các thuật ngữ D dự đoán các lỗi trong tương lai bằng cách phân tích tốc độ thay đổi lỗi. Đầu ra d_ra = dE/dt * Kd. Hệ thống tính toán lỗi thay đổi theo thời gian, và làm giảm phản ứng của nó bằng cách sử dụng thông tin này. Điều kiện DƯƠNG D cho thấy hệ thống có thể sửa lỗi quá nhanh và có thể vượt quá. Do đó, nó sẽ làm giảm đầu ra. Các điều khoản âm D cho thấy hệ thống đã sửa chữa quá chậm. Điều này dẫn đến sự gia tăng sản lượng. Điều kiện D giúp ổn định hệ thống và ngăn ngừa sự phóng đại. Độ lợi đạo hàm Kd là một tham số khác có thể điều chỉnh được.

Đây là cách mà bạn tính được kết quả đầu ra PID: U = Kp E + KiE + Kd * dE/dt. Đầu ra được tính toán là những gì đại diện cho các hành động điều khiển mà bạn muốn thực hiện, trong trường hợp này là chu kỳ làm việc của PWM. Phương pháp PID đặc biệt hiệu quả trong điều khiển nhiệt độ, vì nó đồng thời giải quyết sai số hiện tại (P), lỗi tích lũy I và tốc độ thay đổi D. Điều này dẫn đến đáp ứng chính xác và ổn định hơn các phương pháp điều khiển khác.

F. SEO Focus: Những từ khoá như &Quot; Arduino Temperature Sensor, " Truy cập ngày 19 tháng 12 năm 2012. ^ " Nung element Arduino, " Kiểm soát PWM, và quot; Giải thích, giải thích Arduino SSR (bằng tiếng Anh). "




III. Thuật toán PID cho Arduino



A. Thiết lập môi trường Arduino: IDE và thư viện

Điều này là do logic cốt lõi của bộ điều khiển PID nằm trong phần mềm Arduino. Môi trường phát triển tích hợp Arduino, một ứng dụng miễn phí đa nền tảng được tạo ra bởi nhóm Arduino, được sử dụng để viết mã (phác thảo). Nó bao gồm một trình soạn thảo văn bản và một màn hình gỡ lỗi hàng loạt. Chương trình phải tương tác với phần cứng, đọc pin từ cảm biến, tính toán PID, và sau đó viết chu kỳ làm việc tính toán của PWM đến chân PWM chính xác. Phép tính PID có thể phức tạp, nhưng cộng đồng Arduino có một số thư viện để đơn giản hoá việc triển khai. Cái gì? Quá v1 rồi. Là một sự lựa chọn phổ biến. Nó cung cấp một khung tích hợp cho các điều khiển PID, và xử lý các tính toán dẫn xuất. Quản lý thư viện Arduino thường được yêu cầu để cài đặt các thư viện này. Có thể có các thư viện khác cần thiết cho một số kiểm tra cảm biến nhất định.

B. Đọc mã dữ liệu của cảm biến: mã này cho phép bạn đọc nhiệt độ từ cảm biến.

Trước tiên, bạn cần đo nhiệt độ từ bộ cảm biến. Bước đầu tiên là cấu hình các chân kỹ thuật số hoặc đầu vào analog trên Arduino. Tiếp theo, bạn sẽ cần dùng đúng chức năng hoặc thư viện để đo nhiệt độ. Cái gì? Một dây. Được sử dụng, ví dụ, để gửi dữ liệu trên mạng 1-Wire, trong khi chức năng đọc của cảm biến DS18B20 được gọi. Cho các cảm biến tương tự như LM35 AnalogRead () (bằng tiếng Anh). Hàm Arduino được sử dụng để đọc điện áp của một chân tương tự. Điện áp này sau đó có thể được chuyển thành nhiệt độ bằng cách sử dụng các đặc tính cảm biến. Cái gì? DHT Thư viện là DHT Sensor' s Cụ thể giao thức truyền thông. Để đảm bảo rằng các số đọc hợp lệ có thể thu được, mã nên bao gồm một hàm kiểm tra lỗi. Giá trị nhiệt độ thô được truyền đến thư viện PID.

C. Viết hoặc sử dụng mã thư viện hiện có cho hàm PID trên Arduino

PID tính toán thường được thực hiện trong một hàm thư viện. Ví dụ, Thư viện PID_V1yêu cầu xác định cấu trúc của PID, thiết lập đầu vào, đầu ra, điểm đặt và gọi Tính toán () hàm trong hàm Vòng lặp () chức năng. Cách đọc nhiệt độ được sử dụng làm đầu vào, đầu ra được tính toán chu kỳ làm việc PWM và điểm đặt sẽ được nhập bởi người dùng. Ngoài ra, thư viện yêu cầu người dùng xác định hoặc cung cấp các thông số điều chỉnh. Đây là độ lợi tỷ lệ Kp, độ lợi tích phân Ki và độ lợi phái sinh Kd. Controller' s hành vi được xác định bởi những thành quả này. Trong phần VII, chúng ta sẽ thảo luận về việc điều chỉnh một cách chi tiết hơn.

D. Tầm quan trọng của việc điều chỉnh các thông số (Kp Ki Kd) và các phương pháp cơ bản

Sự điều chỉnh là chìa khóa để đạt được hiệu suất tốt với PID. Các tham số điều chỉnh Kp, Ki và Kd xác định tính hung hãn của bộ điều khiển phản ứng với lỗi. Độ ổn định và độ chính xác phụ thuộc vào việc tìm ra các giá trị tốt nhất. Hệ thống có thể phản ứng chậm hơn nếu Kp thấp. Nó cũng có thể có các sai số ổn định. Nếu Kp trở nên quá cao, nó có thể làm cho hệ thống trở nên không ổn định và dao động xung quanh điểm đặt của nó. Ki có thể gây ra bất ổn và dao động nếu nó quá cao. Điều này xảy ra đặc biệt khi nhiệt độ thấp. Một sai số trạng thái ổn định sẽ được để lại nếu giá trị quá thấp. Nếu Kd quá cao, nó có thể gây ra tiếng ồn, nhưng nếu it' S quá thấp sau đó có thể không có hiệu quả. Mặc dù có một số kĩ thuật điều chỉnh nhưng không có một phương pháp nào phù hợp với tất cả. Phương pháp Ziegler Nichols: Một cách tiếp cận liên quan đến việc tìm kiếm sự đạt được cuối cùng của một hệ thống và thời gian chu kỳ cuối cùng của nó. Dựa trên những giá trị này, các quy tắc đơn giản được áp dụng để xác định Kp và Ki ban đầu. Rất khó để sử dụng phương pháp này trong thế giới thực vì nó có thể gây ra sự bất ổn.

1. Phương pháp triển khai phổ biến nhất là Truy cập ngày 19 tháng 10 năm 2012. ^ " Try-and Error". Nó hoạt động tốt nhất với một thư viện PID. Quá trình này bắt đầu với một dự đoán ban đầu cho Kp và Ki và quan sát phản ứng của hệ thống trước sự thay đổi trong điểm đặt. Các lợi nhuận sau đó được điều chỉnh dựa trên hành vi được quan sát (ví dụ: sử dụng màn hình nối tiếp Arduino, để xem PV, SP và đầu ra tính toán). Điều quan trọng là phải có một phản ứng nhanh và ổn định (dao động tối thiểu, overshoots tối thiểu, lỗi trạng thái ổn định nhỏ). Quá trình này liên quan đến việc điều chỉnh Kp và cài đặt Ki bằng 0, tiếp theo là thêm hành động tích phân và, nếu cần thiết, hành động phái sinh.

E. Chu kỳ làm việc được thu nhỏ để phù hợp với phạm vi Arduino PWM (0-255, cho phần lớn các chân PWM).

Các thư viện PID tính toán điều khiển đầu ra, thường được hiển thị như một loạt các giá trị có thể nằm ngoài phạm vi 0-255 thích hợp cho PWM trên nhiều bảng Arduino. Để tạo ra tín hiệu điều khiển, PID tổng hợp các số hạng I và D (ví dụ: chu kỳ làm việc mong muốn cho PWM). Giá trị tính toán phải được thu nhỏ để phù hợp với phạm vi từ 0-255. Nó đơn giản như thế này: Giá trị PWm_= bản đồ (đầu ra pid_) liên kết thấp và liên kết hoa (0, 255); ở đâu Tạo ra Thể hiện giá trị được tính toán từ thư viện. Liên tục, và Ràng buộc trên, hãy xác định phạm vi đầu ra. The Giá trị nhớt Kết quả của việc này là sử dụng AnalogueWrite (pwmPin và giá trị PWM_value);. Chu kỳ làm việc được sử dụng để kiểm soát SSR, cái mà lần lượt kiểm soát công suất được chuyển đến bộ phận sưởi.

F. SEO Focus: Từ khóa như &Quot; Arduino PID Code, " Thư viện PID Arduino, &Quot; Chỉnh nhạc PID Arduino, " Bộ cảm biến đọc Arduino, " &Quot; Arduino PWM đầu ra. "










IV. Cài đặt phần cứng và các thiết bị kết nối


A. Sơ đồ tổng quan biểu thị biểu đồ của các kết nối: (Sensor -> Arduino, Arduino — & gt; nung nóng yếu tố qua SSR & PWM, Cân nhắc cung cấp điện).

Một sơ đồ chi tiết là không thể trong văn bản này. Tuy nhiên, một cái nhìn tổng quan về khái niệm này là hữu ích. Các cảm biến được kết nối với các chân input analog và kỹ thuật số trên Arduino. Pin Arduino PWM được kết nối với SSR' s input. Đầu ra SSR được kết nối với nguồn điện (điện áp và mặt đất), và phần tử sưởi ấm. Arduino cần nguồn điện phù hợp với điện áp của nó (thường là 5V hoặc DC 12V). Để phòng ngừa, ngòi nổ phải được cài đặt trên dây chuyền cung cấp năng lượng cho các yếu tố XÔ viết/sưởi ấm. Bạn có thể xem xét việc bảo vệ cơ bản, chẳng hạn như tụ điện đặt trên SSR' đầu mối. Trên mạng, bạn có thể tìm sơ đồ kết hợp cảm biến/SSR.

 


Bộ cảm biến nhiệt độ điều khiển PID
Hiểu biết tương tự điều khiển nhiệt độ PID
Trở lại

Những bài mới nhất

Chúng ta có thể giúp như thế nào?Liên lạc với chúng tôi.

Địa chỉ:8 Đường Changsheng, Thị trấn Liushi, thành phố Yueqing, Thành Ôn Châu, tỉnh Chiết Giang

Email: sinny@sinny.com

Đường dây nóng bán hàng: +86-577-82238888

Đặt mua tin tức
Bản quyền © 2024 Chiết Giang Sinny Electric Co., Ltd. Giữ bản quyền. Thiết kế bởi Bontop Chính sách bảo mật