EN

Sinny Global Web Sitesi

Ürünler

Çözümleri

Hizmetleri

Şirket

Temas

Günahkar

AR-GE

Newsroom

Şirket Haberleri

Endüstri Haberleri

Video

Basın Merkezi

Şirket Haberleri Endüstri Haberleri Video
Endüstri Haberleri May 24,2025

Makale: Arduino PWM PID Sıcaklık Kontrolü



Ben. I. Giriş








A. Kendin Yap projeleri ve daha küçük ölçekli projeler için sıcaklık kontrol gereksinimlerine kısa bir genel bakış

B. Arduino, elektronik hobileri için kullanılan popüler bir platformdur.

C. C. Darbe Genişlik Modülasyonuna Giriş: Bir Kontrol Tekniği

Darbe Genişlik Modülasyonu, bir elektronik cihazın, özellikle ısıtıcı veya motor gibi bir aktüatörün aldığı güç miktarını kontrol etmek için önemli bir tekniktir. PWM, bir dijital çıkışın düşük ve yüksek durumlar arasında hızlı bir şekilde değiştirilmesidir. bu Görev Döngüsü en önemli parametredir. Bir döngüde çıkış sinyalinin yüksek olduğu sürenin yüzdesidir. PWM, görev döngüsünü değiştirerek bir analog sinyali simüle eder. Isıtma uygulamalarında, daha yüksek görev döngüleri, ısıtma elemanının daha uzun süre açık kalacağı anlamına gelir. Bu, gücü ve dolayısıyla sıcaklığı artırır. Daha düşük bir görev döngüsü, gücü ve dolayısıyla sıcaklığı azaltacaktır. Yöntem, gücün ince ayarına izin verir.

D. PID Kontrolüne Giriş: Oransal-İntegral-Türev algoritması

Basit açma/kapama kontrolleri, belirli temel uygulamalar için yeterli olabilir, ancak genellikle duyarlı ve kararlı sıcaklık düzenlemesi için gereken doğruluğu sağlayamazlar. PID algoritması bu durumda çok önemlidir. PID stratejisi, hatayı hedef sıcaklık ile gerçek sıcaklık arasındaki fark olarak kullanan kapalı döngü bir geri besleme kontrolüdür. Bu algoritma düzeltmeye üç farklı terim uygular:

1. Orantılı: Bu düzeltme hata ile orantılıdır. Hata daha büyük olduğunda düzeltme daha büyük olur. Bu, sistemin ayar noktasına daha hızlı ulaşmasına yardımcı olur.

2. Bütünsel: Düzeltici, zaman içinde biriken hatayla orantılıdır. Bu terim, kararlı durum hatalarını ortadan kaldırmak için kullanılır - yani, sistem ayar noktasına yaklaştığında ancak tam olarak ulaşmadığında sıcaklık kayması.

3. Türetilmiş (D): Düzeltme, hata oranındaki değişim ile orantılıdır. Bu terim, mevcut eğilimi kullanarak gelecekteki hataları tahmin etmek için kullanılır. Ayrıca sistemi sönümlemeye ve aşmaları ve salınımları önlemeye yardımcı olur.

Bu üç terimi birleştirmek, daha basit yöntemlere kıyasla daha iyi bir yanıt verme, doğruluk ve kararlılık dengesi ile sonuçlanabilir.

E. Bu makalenin amacı, PID sıcaklık kontrollerinin Arduino ve PWM kullanılarak nasıl uygulanabileceğini açıklamaktır.

Bu makale' Birincil amacı, Isıtma Elemanı için Darbe Genişlik Modülasyonlu bir Arduino Mikrodenetleyici kullanarak bir PID Sıcaklık Kontrol Sisteminin uygulanması için pratik ve ayrıntılı bir kılavuz vermektir. Makale temel kavramları kapsayacak ve tüm bileşenleri özetleyecektir. Ayrıca, PID algoritmalarını yürütebilmesi için Arduino'nun nasıl programlanacağına dair fikir verecektir. Biz' Donanım bağlantısında size rehberlik edecek ve son kurulumunuzu ayarlama ve test etme konusunda tavsiyelerde bulunacaktır. Bu makaleyi okuduktan sonra, okuyucu kendi Arduino'sunu oluşturabilmelidirPID Sıcaklık Kontrol Cihazı.







                                                          








F. SEO Odağı: "Arduino sıcaklık kontrolü", "PID sıcaklık kontrolü Arduino", "PWM ısıtma kontrolü", "DIY sıcaklık kontrolörü" gibi anahtar kelimeler. "




II. Temel Bileşenler



A. Arduino Mikrodenetleyici - Rol ve temel işlemler (girişlerin işlenmesi, kontrol çıkışları).

Arduino mikrodenetleyici, Arduino sıcaklık kontrol sisteminin merkezinde yer alır. Mikrodenetleyiciler, entegre bir devre üzerine kurulu küçük bir bilgisayardır. Mikrodenetleyici, program kodunu depolamak için entegre bir işlemci, programlanabilir G/Ç çevre birimleri ve bellek içerir. Bu durumda, Arduino' Birincil işlevi, sistem kontrol ünitesinin işlevidir. Arduino ve#39; 'nin ana görevleri, sensörden gelen sıcaklık okumasını okumak ve doğru ısıtma seviyesini belirlemek için PID algoritmasını kullanarak işlemektir. Daha sonra, ısıtma elemanına iletilen güç miktarını kontrol etmek için SSR'leri (Katı Hal Röleleri) veya diğer anahtarlama mekanizmalarını kontrol etmenin yanı sıra PWM sinyalini üretir. Sıcaklığı korumak için gerçek zamanlı kararlar vererek programlanan tüm talimatları uygular.

B. Sıcaklık sensörlerinin seçimi: yaygın tipler (örn. MAX6675, DHT (DHT)11/22 ile DS18B20 ve DHT11/22 termokupllar)

Sıcaklık sensörleri, doğruluk ve güvenilirlik için çok önemlidir. Arduino projelerinde farklı tipte sıcaklık sensörleri kullanılmaktadır.

· Sensörler Dijital: Bu sensör, sıcaklık ölçümünü dijital bir koda dönüştürerek Arduino'nun yorumlamasını kolaylaştırır. DS18B20, tek telli bir dijital termometredir.#39; Doğruluk, çoklu sensörler ve çoklu sensör özelliği ile bilinir. Diğer örnekler arasında, sıcaklığın yanı sıra nemi de ölçebilen DHT11 ve DHT22 bulunur. DS18B20, 0,1 ° C kadar düşük bir çözünürlükle + -0,5 ° C'ye kadar doğru okumalar sağlar. DHT sıcaklık sensörleri + -2 derece hassasiyete sahiptir. Doğru okumalar için dijital sensörler Arduino'dan kütüphane desteği gerektirir.

· Analog sensörler: Bu sensör, sıcaklıkla orantılı bir analog voltaj çıkışı üretir. LM35 lineer sensör, her santigrat derece için 10mV çıkış verdiği için yaygın bir örnektir. Analog sensörler basittir ancak gürültüye sahip olabilir. Bunları okumak için analogdan dijitale dönüştürme gerektirirler (Arduino ve#39; s ADC).

· Termokupllar Çeşitli sıcaklıklarda (çok düşükten kriyojeniğe kadar) kullanılabilen sağlam sensörlerdir, ancak dijital sensörden daha düşük bir seviye doğruluğuna sahiptirler. Seebeck etkisi, iki metal arasındaki kavşakta hafif bir voltaj oluşturmak için kullanılır. Termokupl voltajları genellikle daha karmaşık devreler veya N-tipi termokupllar için dijital çıkış ve soğuk bağlantı kompanzasyonu sunan MAX6675 gibi IC'ler kullanılarak okunur.

Sensör seçimi uygulamanıza bağlıdır ve#39; s gereksinimleri. Bu, gereken sıcaklık aralığını, gereken doğruluğu, maliyeti ve Arduino kartında bulunan G/Ç bağlantı noktalarını içerir. DS18B20 ve DHT sensörleri, çoğu hobi projesi için mükemmel bir seçimdir. Doğruluk, maliyet ve kullanım kolaylığı arasında bir denge sunarlar.

C. Isıtma elemanının dikkate alınması gereken hususlar ve türleri (örn. dirençli teller, direnç blokları, vb.)

Isıtma elemanları, bir işlemi artırmak veya sürdürmek için gereken ısıyı üreten bileşenlerdir.#39; sıcaklık. Birkaç tür mevcuttur.

· Dirençli tel (Isıtma bobini): Genellikle Nikrom veya diğer benzer metaller gibi malzemelerden yapılan bu dirençli tel, içinden bir elektrik akımı geçtiğinde ısınır. Tel, bobinler veya şeritler halinde oluşturulabilir ve daha sonra ısıtmak için bir nesneye monte edilebilir.

· Isıtma Blokları: Katı bloklar, termoiletken bir malzemeden yapılır ve dirençli bileşenlerle gömülüdür. Bu bloklar, ısıtma için düzgün bir yüzey sağlar ve yaygın olarak 3D yazıcı ısıtıcılarında, laboratuvar inkübatörlerinde vb. kullanılır.

· Katı Hal Röleleri: Katı Hal Röleleri anahtarlama cihazlarıdır. Ancak, bu durumda Arduino ve Arduino arasında bir arayüz olarak çok önemli bir rol oynarlar.#39; s düşük güç sinyali ve ısıtma elemanı. SSR'ler, ana güç kaynağını açmak/kapatmak için yarı iletken teknolojisini kullanır. Tipik olarak Arduino PWM çıkışı gibi düşük voltajlı bir giriş sinyali ile kontrol edilirler. SSR'ler mekanik rölelerden (metal kontaksız) daha hızlı ve daha güvenilirdir, ancak aynı zamanda daha kısa bir ömre sahiptirler.

Uygulamanız için doğru ısıtma elemanını seçerken, güç gereksinimleri, gerekli sıcaklık aralıkları, ısı dağılımının homojenliği, maliyet, güvenlik ve daha fazlası gibi faktörleri göz önünde bulundurmalısınız. Anahtarlama mekanizmalarının seçimi (SSR ve röle) aynı zamanda güç kaynağının türünden (AC veya DC) de etkilenir.

D. Arduino'da görev döngüsü konsepti ve PWM sinyalinin üretilmesi

PWM, daha önce de belirtildiği gibi, dijital sinyalleri kullanarak analog sinyalleri simüle etme yöntemidir. PWM, çoğu standart Arduino kartında birkaç pin tarafından desteklenir. 8 bitlik bir saate sahip kartlarda (Uno ve Nano gibi), bu pimler değişken bir görev oranına sahip bir kare dalga üretebilir. Aralık genellikle %0 (her zaman kapalı) ile 255 (her zaman açık) arasındadır. Görev Döngüleri Sinyalin aktif olduğu bir döngüdeki yüzdeyi temsil eder. %0 görev döngüsü, çıktının her zaman düşük olacağı anlamına gelir. %50 görev döngüsü, her zaman yüksek olacağı anlamına gelir, ancak zamanın yalnızca yarısı için. %100 görev döngüsü her zaman yüksek demektir. Arduino PID algoritması, sıcaklık kontrolü için kullanıldığında, hataya dayalı olarak uygun olan bir görev döngüsünü (0 ila 255 arasında) hesaplar. Bu değer daha sonra SSR'ye bağlı PWM konektörüne gönderilir. SSR, ısıtıcı elemana iletilen güç ortalamasını kontrol etmek için bu PWM sinyalini yorumlar.

E. PID algoritması: (P, I ve D) terimlerinin kısa bir özeti ve dinamik kontrol için önemi

PID algoritmasını anlamak bir özetleme gerektirir. Bunu uygulamak için PID algoritmasını anlamak önemlidir.

1. Oransal Terim (P): Bu terim, mevcut hatayla orantılı bir kontrol çıkışı üretir. P_output, Kp*E'ye eşittir. Artan bir hata, sıcaklığı hızlı bir şekilde düzeltmeye çalışan daha yüksek bir çıkış sinyaline neden olacaktır. Bununla birlikte, yüksek bir P kazancı, sistemin salınmasına ve ayar noktasını aşmasına neden olabilir. Değişken bir parametre olan oransal kazanç sabiti Kp ayarlanabilir.

2. İntegral Terim (I): Iterm, zaman içindeki kümülatif hatayı giderir. I terimi hatayı (E dt) bütünleştirir ve bunu integral değerine ekler. I_output = KI * E dt. Bu terim, kararlı durum hatalarını ortadan kaldırır - sistem ayar noktasına yakın olsa bile kalan sıcaklık farkları. İntegral terim, hata uzun bir süre devam ederse büyüyecektir. Bu, çıktıyı sorunu düzeltmeye iter. Çok güçlü bir integral salınımlara neden olabilir. İntegral kazanç sabiti Ki de ayarlanabilir.

3. Türetilmiş (D) Terimler: D terimleri, hatanın değişme hızını analiz ederek gelecekteki hataları tahmin eder. D_output = dE/dt * Kd'dir. Sistem, zaman içindeki hata değişikliklerini hesaplar ve bu bilgileri kullanarak yanıtını azaltır. Pozitif D terimleri, sistemin sorunu çok hızlı bir şekilde düzeltiyor olabileceğini ve aşırıya kaçabileceğini gösterir. Bu nedenle, çıktıyı azaltacaktır. Negatif D terimleri, sistemin çok yavaş düzeldiğini gösterir. Bu, çıktının artmasına neden olur. D terimleri, sistemi stabilize etmeye ve aşmayı önlemeye yardımcı olur. Türev kazanç sabiti Kd, ayarlanabilen başka bir parametredir.

PID çıktısını şu şekilde hesaplarsınız: U = Kp E + KiE + Kd*dE/dt. Hesaplanan çıktı, gerçekleştirmek istediğiniz kontrol eylemini, bu örnekte PWM'nin görev döngüsünü temsil eder. PID yöntemi, mevcut hatayı (P), birikmiş hata I'i ve değişim oranı D'yi aynı anda ele aldığı için özellikle sıcaklık kontrolünde etkilidir. Bu, diğer kontrol yöntemlerine göre daha doğru ve kararlı bir yanıt ile sonuçlanır.

F. SEO Odağı: "Arduino sıcaklık sensörü", "ısıtma elemanı arduino", "PWM kontrolü", "PID algoritması açıklandı", "Arduino SSR" gibi anahtar kelimeler. "




III. Arduino için PID Algoritması



A. Arduino ortamınızı kurun: IDE ve kütüphaneler

Bunun nedeni, PID denetleyicisinin temel mantığının Arduino yazılımında yatmasıdır. Arduino Ekibi tarafından oluşturulan platformlar arası ücretsiz bir uygulama olan Arduino Entegre Geliştirme Ortamı, kodu (eskiz) yazmak için kullanılır. Bir metin editörü ve bir hata ayıklama seri monitörü içerir. Program donanımla etkileşime girmeli, sensörden pini okumalı, PID'yi hesaplamalı ve ardından PWM'nin hesaplanan görev döngüsünü doğru PWM pinine yazmalıdır. PID hesaplaması karmaşık olabilir, ancak Arduino topluluğunun uygulamayı basitleştirmek için bir dizi kütüphanesi vardır. bu PID_v1 popüler bir seçimdir. PID kontrolleri için entegre bir çerçeve sağlar ve türev hesaplamalarını gerçekleştirir. Bu kütüphaneleri kurmak için genellikle Arduino Kütüphane Yöneticisi gereklidir. Belirli sensör okumaları için gerekli olan başka kitaplıklar olabilir.

B. Sensör Veri Kodunu Oku: Bu kod, sensörden sıcaklığı okumanızı sağlar.

İlk olarak, sensörden sıcaklık okumasını almanız gerekir. İlk adım, Arduino üzerindeki dijital pinleri veya analog girişleri yapılandırmaktır. Ardından, sıcaklık değerleri için doğru işlevi veya kitaplığı kullanmanız gerekecektir. bu Tek Tel Örneğin, 1 Telli bir ağ üzerinden veri göndermek için kullanılırken, DS18B20 sensörünün okuma işlevi çağrılır. LM35 gibi analog sensörler için analogRead() Arduino işlevi, bir analog pinin voltajını okumak için kullanılır. Bu voltaj daha sonra sensör özellikleri kullanılarak sıcaklığa dönüştürülebilir. bu DHT Kütüphane DHT sensörünü yönetir ve#39; 'ye özel iletişim protokolü. Geçerli okumaların elde edilebilmesini sağlamak için, kodun bir hata kontrol işlevi içermesi gerekir. Ham sıcaklık değeri PID Kütüphanesine iletilir.

C. Arduino'da PID işlevi için mevcut kütüphane kodunu yazın veya kullanın

PID'nin hesaplanması genellikle bir kütüphane fonksiyonu içinde yapılır. Örneğin, PID_v1library, PID'nin yapısını tanımlamayı, giriş, çıkış ve ayar noktasını ayarlamayı ve PID'yi çağırmayı gerektirir. Compute() fonksiyonu Loop() işlevine sahip olun. Sıcaklık okuması giriş olarak kullanılır, çıkış PWM görev döngüleri hesaplanır ve ayar noktası kullanıcı tarafından girilir. Buna ek olarak, kitaplık kullanıcının ayarlama parametrelerini tanımlamasını veya sağlamasını gerektirir. Bunlar oransal kazanç Kp, integral kazanç Ki ve türev kazanç Kd'dir. Kontrolör ve#39; Davranışı bu kazanımlar tarafından belirlenir. Bölüm VII'de, ayarlamayı daha ayrıntılı olarak tartışıyoruz.

D. Tuning parametrelerinin (Kp Ki Kd) önemi ve temel yöntemler

Ayarlama, PID ile iyi performans elde etmenin anahtarıdır. Kp, Ki ve Kd ayar parametreleri, kontrolörün hataya nasıl tepki verdiğinin agresifliğini belirler. Kararlılık ve doğruluk, en iyi değerlerin bulunmasına bağlıdır. Kp düşükse sistem daha yavaş tepki verebilir. Ayrıca kararlı durum hatalarına da sahip olabilir. Kp çok yükselirse, sistemin kararsız hale gelmesine ve ayar noktası etrafında salınmasına neden olabilir. Ki, çok yüksekse kararsızlığa ve salınımlara neden olabilir. Bu, özellikle sıcaklıklar düşük olduğunda olur. Değer çok düşükse kararlı durum hatası bırakılacaktır. Kd çok yüksekse gürültüye neden olabilir, ancak eğer o' s çok düşükse, yetersiz sönümleme olabilir. Bir dizi ayarlama tekniği olmasına rağmen, herkese uyan tek bir yöntem yoktur. Ziegler Nichols Yöntemi: Bir sistemin nihai kazancını ve nihai döngü süresini bulmayı içeren bir yaklaşım. Bu değerlere dayanarak, ilk Kp ve Ki'yi belirlemek için basit kurallar uygulanır. İstikrarsızlığa neden olabileceği için bu yöntemi gerçek dünyada kullanmak zordur.

1. En popüler uygulama yöntemi "Deneme yanılma". Bu, bir PID Kitaplığı ile en iyi şekilde çalışır. Bu süreç, Kp ve Ki için bir ilk tahminle başlar ve sistemin ayar noktasındaki bir değişikliğe verdiği tepkiyi gözlemler. Kazançlar daha sonra gözlemlenen davranışa göre ayarlanır (örneğin, PV, SP ve hesaplanan çıktıyı görüntülemek için Arduino Seri Monitörünü kullanarak). Hızlı ve kararlı bir yanıta sahip olmak önemlidir (minimum salınımlar, minimum aşmalar, küçük kararlı durum hatası). Bu işlem, Kp'nin ayarlanmasını ve Ki'nin sıfıra ayarlanmasını, ardından integral eyleminin eklenmesini ve gerekirse türev eylemini içerir.

E. Görev döngüsü, Arduino PWM aralığına uyacak şekilde ölçeklendirilir (PWM pinlerinin çoğu için 0-255).

PID kitaplıkları, genellikle birçok Arduino kartında PWM için uygun olan 0-255 aralığının çok dışında olabilecek bir değer aralığı olarak görüntülenen çıkış kontrolünü hesaplar. Kontrol sinyalini üretmek için PID, I ve D terimlerini toplar (örneğin, PWM için istenen görev döngüsü). Hesaplanan değer, 0-255 aralığına sığacak şekilde ölçeklendirilmelidir. Bu kadar basit: PWM_value = haritalar(PID_output) lower_bound ve upper_bound (0, 255);, burada PID_output Kitaplıktan hesaplanan değeri temsil eder. lower_bound ve upper_bound, çıkış aralığını tanımlayın. bu PWM_value Bundan sonuç olarak yazılır analogueWrite(pwmPin ve PWM_value);. Görev döngüsü, SSR'yi kontrol etmek için kullanılır ve bu da ısıtıcı elemana verilen gücü kontrol eder.

F. SEO Odağı: "Arduino PID kodu", "PID kütüphanesi arduino", "PID Arduino'yu ayarlama", "sensör okuma Arduino", "Arduino PWM çıkışı" gibi anahtar kelimeler. "










IV. Donanımın Kurulması ve Bileşenlerin Bağlanması


A. Şematik Genel Bakış Bağlantıların şematik gösterimleri: (Sensör-> Arduino, Arduino->SSR ve PWM üzerinden Isıtma Elemanı, Güç Kaynağı hususları).

Bu metinde ayrıntılı bir şematik mümkün değildir. Bununla birlikte, konsepte genel bir bakış yararlıdır. Sensörler Arduino üzerindeki analog ve dijital giriş pinlerine bağlanır. Arduino PWM pini SSR&'ye bağlanır#39; s girişi. SSR çıkış terminalleri güç kaynağına (voltaj ve toprak) ve ısıtma elemanına bağlanır. Arduino, voltajına uygun bir güç kaynağına ihtiyaç duyar (tipik olarak, 5V veya DC 12V). Önlem olarak, SSR/ısıtma elemanlarına güç sağlayan hatta bir sigorta takılmalıdır. SSR& boyunca yerleştirilmiş bir kapasitör gibi temel korumayı düşünmek isteyebilirsiniz.#39; s terminalleri. Çevrimiçi olarak, belirli sensör / SSR kombinasyonu için diyagramlar bulabilirsiniz.

 


PID Kontrol Cihazı Sıcaklık Sensörü
Analog PID Sıcaklık Kontrolünü Anlama
Dönmek

Son Yazılar

Size Nasıl Yardımcı Olabiliriz?Bizimle iletişime geçin.

Adres:8 Changsheng Yolu, Liushi Kasabası, Yueqing Şehri, Wenzhou Şehri, Zhejiang Eyaleti

E-posta: sinny@sinny.com

Satış Hattı: +86-577-82238888

Abone olun ve haber alın
Telif Hakkı © 2024 Zhejiang Sinny Electric Co., Ltd. Tüm Hakları Saklıdır. Tasarım Bontop Gizlilik Politikası