Herkese merhaba, ben başka bir projeden Tahir ul haq.
Bu sefer 2017-11-407 tarafından kullanılan MC'yi yapma zamanı gelmişti.
Yarıyıl programının sonudur.
Umarım beğenirsiniz.
Çok fazla kavram ve teori gerektiriyor, o yüzden önce ona bakalım.
Bilgisayarların ortaya çıkması ve sürecin sanayileşmesiyle birlikte, insanlık tarihinde süreci yeniden tanımlamaya yönelik yöntemler geliştirmeye ve daha da önemlisi, süreci özerk bir şekilde kontrol etmek için makineleri kullanmaya yönelik araştırmalar olmuştur.
Amaç bu süreçlere insan katılımını azaltmak, dolayısıyla bu süreçlerdeki hataları azaltmaktır.
Böylece “kontrol sistem mühendisliği” alanı ortaya çıktı.
Kontrol sistemi mühendisliği, prosesin çalışmasını kontrol etmek veya manuel veya otomatik olarak sabit ve tercih edilen bir ortamın bakımını sağlamak için çeşitli yöntemlerin kullanılması olarak tanımlanabilir.
Basit bir örnek odanın sıcaklığını kontrol etmektir. Manuel kontrol, sahadaki mevcut koşulları kontrol eden (sensör)
bir kişinin varlığını ifade eder .
, beklentilerle (işleme)
ve istenen değeri elde etmek için uygun eylemi gerçekleştiren (aktüatör)
Bu yaklaşımın sorunu, kişinin iş yerinde hataya veya ihmale yatkın olması nedeniyle pek güvenilir olmamasıdır.
Ayrıca bir başka sorun da aktüatörün başlattığı işlemin hızının her zaman tekdüze olmamasıdır, bu da bazen gereken hızdan daha hızlı, bazen de yavaş olabileceği anlamına gelir.
Bu sorunun çözümü, sistemi kontrol etmek için bir mikro denetleyici kullanmaktır.
Verilen spesifikasyona göre, mikro denetleyici, devreye bağlanma sürecini kontrol edecek şekilde programlanır (
Daha sonra tartışılacaktır).
Değeri veya koşulu, böylece istenen değeri korumak için süreci kontrol eder.
Bu işlemin faydası, bu süreçte insan müdahalesine gerek olmamasıdır.
Ayrıca bu sürecin hızı tutarlıdır.
Devam etmeden önce bu noktada çeşitli terimleri belirlemek çok önemlidir: Geri besleme kontrolü: Bu sistemde belirli bir andaki girdi, sistemin çıktısı da dahil olmak üzere bir veya daha fazla değişkene bağlıdır.
Negatif geri besleme: Bu sistemde referans (giriş)
geri beslemesi olarak hata çıkartılır ve girişin fazı 180 derece olur.
Olumlu geri besleme: Bu sistemde
geri besleme ve giriş aynı fazda olduğunda referans (giriş) hataları eklenir.
Hata sinyali: İstenilen çıktı ile gerçek çıktı arasındaki fark.
Sensör: Bir devrede belirli sayıda cihazı tespit etmek için kullanılan bir cihazdır.
Genellikle çıktıya veya bazı ölçümler yapmak istediğimiz herhangi bir yere yerleştirilir.
İşlemci: Kontrol sisteminin programlama algoritmalarına göre işlenen kısmı.
Bir miktar girdi alır ve bir miktar çıktı üretir.
Aktüatör: Kontrol sisteminde aktüatör, çıkışı etkilemek üzere mikro denetleyici tarafından oluşturulan sinyale dayalı olarak olayları gerçekleştirmek için kullanılır.
Kapalı döngü sistemi: Bir veya daha fazla geri besleme döngüsüne sahip bir sistem.
Açık döngü sistemi: Geri bildirim döngüsü için bir sistem yoktur.
Yükselme Süresi: Çıkışın, sinyalin maksimum genliğinin %10'undan %90'ına yükselmesi için gereken süre.
Düşme Süresi: Çıkışın %90'dan %10'a düşmesi için gereken süre.
Tepe noktasının aşılması: tepe noktasının aşılması, kararlı durum değerini aşan çıkış miktarıdır (
sistem geçici yanıtı sırasında normal).
Kararlı Süre: Çıkışın kararlı duruma ulaşması için gereken süre.
Kararlı durum hatası: Sistem kararlı duruma ulaştığında gerçek çıktı ile beklenen çıktı arasındaki fark. Yukarıdaki resim kontrol sisteminin çok basitleştirilmiş bir versiyonunu göstermektedir.
Mikro denetleyici herhangi bir kontrol sisteminin temelidir.
Bu çok önemli bir bileşen olduğundan sistemin gereksinimlerine göre dikkatle seçilmelidir.
Mikro denetleyici kullanıcıdan girdi alır.
Bu giriş sistem için gerekli koşulları tanımlar.
Mikro denetleyici ayrıca sensörden girdi alır.
Sensör çıkışa bağlanır ve bilgileri girişe geri beslenir.
Bu girdiye olumsuz geri bildirim de denilebilir.
Olumsuz geribildirim daha önce açıklanmıştı.
Mikroişlemci, programlanmasına bağlı olarak aktüatöre çeşitli hesaplamalar ve çıktılar gerçekleştirir.
Çıkış bazlı aktüatör kontrol tesisi bu koşulları korumaya çalışır.
Bir örnek, motor sürücüsünün sürücü olduğu ve motorun fabrika olduğu, motoru çalıştıran motor sürücüsü olabilir.
Bu nedenle motor belirli bir hızda döner.
Bağlı sensör mevcut fabrikanın durumunu okur ve bunu mikro denetleyiciye geri besler.
Mikro denetleyici tekrar karşılaştırılır ve hesaplanır, böylece döngü tekrarlanır.
Süreç tekrarlı ve sonsuzdur ve mikro denetleyici istenen koşulları koruyabilir.
DC motorun hızını kontrol etmenin iki ana yolu vardır)
Manuel Gerilim kontrolü: Endüstriyel uygulamalarda DC motorun hız kontrol mekanizması kritik öneme sahiptir.
Bazen normalden daha yüksek veya daha düşük hızlara ihtiyaç duyabiliriz.
Bu nedenle etkili bir hız kontrol yöntemine ihtiyacımız var.
Besleme voltajının kontrol edilmesi en basit hız kontrol yöntemlerinden biridir.
Hızı değiştirmek için voltajı değiştirebiliriz. b)
PWM'yi PID kullanarak kontrol edin: daha verimli bir başka yol da bir mikro denetleyici kullanmaktır.
DC motor, motor sürücüsü aracılığıyla mikro denetleyiciye bağlanır.
Motor sürücüsü, mikro denetleyiciden PWM (
Darbe genişlik modülasyonu)
girişi alan ve girişe göre DC motora çıkış yapan bir IC'dir. Şekil
1.2: PWM sinyalinin 1. Bölümü.
Giriş 3 PWM sinyali dikkate alınarak öncelikle PWM'nin çalışması açıklanabilir.
Belirli bir süre boyunca sürekli darbelerden oluşur.
Zaman periyodu, dalga boyuna eşit uzaklıkta hareket eden bir noktanın harcadığı zamandır.
Bu darbeler yalnızca ikili değerlere (YÜKSEK veya DÜŞÜK) sahip olabilir.
Ayrıca iki niceliğimiz daha var; darbe genişliği ve görev döngüsü.
Darbe genişliği PWM çıkışının yüksek olduğu zamandır.
Görev döngüsü, darbe genişliğinin zaman periyoduna oranıdır.
Geri kalan süre boyunca çıktı düşüktür.
Görev döngüsü doğrudan motorun hızını kontrol eder.
DC motor belirli bir süre içerisinde pozitif gerilim sağlarsa belirli bir hızda hareket edecektir.
Pozitif voltaj daha uzun süre sağlanırsa hız daha büyük olacaktır.
Bu nedenle PWM'nin görev döngüsü darbe genişliği değiştirilerek değiştirilebilir.
DC motorun görev çevrimi değiştirilerek motorun hızı değiştirilebilir.
DC motor problemleri için hız kontrolü: İlk hız kontrol yöntemindeki sorun, voltajın zamanla değişebilmesidir.
Bu değişiklikler eşit olmayan hız anlamına gelir.
Bu nedenle ilk yöntem tercih edilmez.
Çözüm: Hızı kontrol etmek için ikinci yöntemi kullanıyoruz.
İkinci yöntemi desteklemek için PID algoritmasını kullanıyoruz.
PID orantılı integral türevini temsil eder.
PID algoritmasında motorun mevcut hızı ölçülür ve istenilen hız ile karşılaştırılır.
Bu hata, motorun görev döngüsünü zamana göre değiştirmek için karmaşık hesaplamalar için kullanılır.
Her döngüde bu süreç vardır.
Hız istenilen hızı aşarsa görev döngüsü azalır, hız istenen hızdan düşükse görev döngüsü artar.
En iyi hıza ulaşılıncaya kadar bu ayar yapılmaz.
Bu hızı sürekli kontrol edin ve kontrol edin.
Burada bu projede kullanılan sistem bileşenleri ve her bir bileşenin ayrıntılarına kısa bir giriş yer almaktadır.
STM 32F407: ST Micro-section tarafından tasarlanan mikro denetleyici.
ARM Cortex'te çalışır. M Mimarlık.
168 MHz yüksek saat frekansıyla ailesine öncülük ediyor.
Motor sürücüsü L298N: Bu entegre motoru çalıştırmak için kullanılır.
İki harici girişi vardır.
Mikro denetleyiciden bir tane.
Mikro denetleyici bunun için bir PWM sinyali sağlar.
Darbe genişliği ayarlanarak motor hızı ayarlanabilir.
İkinci girişi, motoru sürmek için gereken voltaj kaynağıdır.
DC Motor: DC motor, DC güç kaynağıyla çalışır.
Bu deneyde DC motor, motor sürücüsüne bağlanan fotoelektrik kaplin kullanılarak çalıştırılmaktadır.
Kızılötesi Sensör: Kızılötesi sensör aslında bir kızılötesi alıcı-vericidir.
Çeşitli görevleri gerçekleştirmek için kullanılabilecek kızılötesi dalgalar gönderir ve alır.
IR kodlayıcı optik kuplör 4N35: optik kuplör, devrenin düşük voltajlı kısmını ve yüksek voltajlı kısmını izole etmek için kullanılan bir cihazdır.
Adından da anlaşılacağı gibi ışık esasına göre çalışır.
Alçak gerilim kısmı sinyali aldığında akım yüksek gerilim kısmından akar.
Sistem hız kontrol sistemidir.
Daha önce de belirtildiği gibi sistem, orantılı integral ve türevin PID'si kullanılarak uygulanır.
Hız kontrol sistemi yukarıdaki bileşenlere sahiptir.
İlk kısım hız sensörüdür.
Hız sensörü bir kızılötesi verici ve alıcı devresidir.
Katı madde u şeklindeki yarıktan geçtiğinde sensör düşük duruma girer.
Normalde yüksek durumdadır.
Sensör çıkışı, sensörün durumu değiştiğinde oluşan geçici akımın neden olduğu zayıflamayı ortadan kaldırmak için bir alçak geçiş filtresine bağlanır.
Alçak geçiren filtre dirençlerden ve kapasitörlerden oluşur.
Değerler gerektiği gibi seçildi.
Kullanılan kapasitör 1100nf ve kullanılan direnç yaklaşık 25 ohm'dur.
Alçak geçiren filtre, ek okumalara ve gereksiz değerlere yol açabilecek gereksiz geçici koşulları ortadan kaldırır.
Alçak geçiren filtre daha sonra kapasitör aracılığıyla stm mikro denetleyicinin giriş dijital pinine gönderilir.
Diğer kısım ise stm mikro denetleyici tarafından sağlanan pwm tarafından kontrol edilen motordur.
Bu ayar, optik kuplör ic kullanılarak elektriksel izolasyonla sağlanmıştır.
Optik kuplör, ic paketi içerisinde ışık yayan bir led içerir ve giriş terminaline yüksek bir darbe verildiğinde çıkış terminaline kısa devre yaptırır.
Giriş terminali, optik kuplöre bağlı ledin akımını sınırlayan bir direnç aracılığıyla pwm verir.
Çıkışa bir düşme direnci bağlanır, böylece terminal kısa devre olduğunda düşme direncinde voltaj üretilir ve direnç üzerindeki terminale bağlanan pin yüksek bir durum alır.
Fotoelektrik kuplörün çıkışı, etkinleştirme piminin yüksekliğini koruyan motor sürücüsü ic'nin IN1'ine bağlanır.
Optik kuplör girişinde pwm görev döngüsü değiştiğinde, motor sürücü pini motoru anahtarlar ve motorun hızını kontrol eder.
Motora verilen pwm'den sonra motor sürücüsü genellikle 12 voltluk bir voltaj sağlar.
Motor sürücüsü daha sonra motorun çalışmasını sağlar.
Bu motor hız düzenleme projesinin uygulanmasında kullandığımız algoritmayı tanıtalım.
Motorun pwm'si tek bir zamanlayıcı tarafından sağlanır.
Zamanlayıcının konfigürasyonu pwm sağlayacak şekilde yapılır ve ayarlanır.
Motor çalıştığında motor miline bağlı yarığı döndürür.
Yarık sensör boşluğundan geçer ve düşük bir darbe üretir.
Düşük darbelerde kod başlar ve yarığın hareket etmesini bekler.
Yarık kaybolduğunda sensör yüksek bir durum sağlar ve zamanlayıcı saymaya başlar.
Zamanlayıcı bize iki yarık arasındaki süreyi verir.
Şimdi, başka bir düşük darbe göründüğünde, IF ifadesi tekrar yürütülür ve bir sonraki yükselen kenarı bekleyip sayacı durdurur.
Hızı hesapladıktan sonra hız ile gerçek referans değeri arasındaki farkı hesaplayın ve pid'i verin.
Pid, belirli bir anda referans değerine ulaşan görev döngüsü değerini hesaplar.
Bu değer CCR'ye (
Karşılaştırma kaydı) verilir.
Hataya bağlı olarak zamanlayıcının hızı azaltılır veya artırılır.
Atollic Truestudio kodu uygulandı.
Hata ayıklama için STM stüdyosunun kurulması gerekebilir.
Projeyi STM stüdyosuna aktarın ve görüntülemek istediğiniz değişkenleri içe aktarın.
Küçük değişiklik 2017-11-4xx'tedir.
Saat frekansını tam olarak 168 MHz'de bir h dosyasına değiştirin.
Kod pasajı yukarıda verilmiştir.
Sonuç, motorun hızının PID kullanılarak kontrol edildiğidir.
Ancak eğri tam olarak düzgün bir çizgi değildir.
Bunun birçok nedeni vardır: alçak geçiren filtreye bağlanan sensör hala belirli kusurlar sunsa da bunlar doğrusal olmayan dirençler ve analog elektronik cihazlar için bazı kaçınılmaz nedenlerden kaynaklanmaktadır, motor küçük voltajda veya pwm'de düzgün dönememektedir.
Sistemin yanlış değer girmesine neden olabilecek pislikler sağlar.
Titreşimden dolayı sensör daha yüksek bir değer sağlayan bazı yarıkları kaçırabilir ve başka bir hatanın ana nedeni stm'nin çekirdek saat frekansı olabilir.
Stm'nin çekirdek saati 168 MHz'dir.
Her ne kadar bu projede bu sorun ele alınsa da bu modelin bu kadar yüksek frekans sağlamayan bütünsel bir konsepti var.
Açık döngü hızı, yalnızca birkaç beklenmedik değerle çok düzgün bir çizgi sağlar.
PID de çalışıyor ve çok düşük motor stabilite süresi sağlıyor.
Motor PID'si, referans hızını sabit tutacak çeşitli voltajlarda test edildi.
Gerilim değişimi motorun hızını değiştirmez, bu da PID'nin çalıştığını gösterir.
İşte PID'nin son çıktısının bazı bölümleri. a)
Kapalı döngü @ 110 rpmb)
Kapalı döngü @ 120 rpm Bu proje grup üyelerimin yardımı olmadan tamamlanamazdı.
Onlara teşekkür etmek istiyorum.
Bu projeyi izlediğiniz için teşekkür ederiz.
Size yardımcı olmayı umuyoruz.
Lütfen daha fazlasını sabırsızlıkla bekleyin.
Bundan önce dua etmeye devam edin :)