Herkese merhaba, ben başka bir projeden Tahir ul Haq'ım.
Bu kez 2017-11-407 tarihine kadar kullanılan MC'nin zamanıydı.
Bu, orta vadeli programın sonudur.
Umarım beğenirsin.
Birçok kavram ve teoriyi gerektirir, bu yüzden önce ona bakalım.
Bilgisayarların ortaya çıkması ve sanayileşmiş sürecin, süreci yeniden tanımlamak için yöntemler geliştirmek ve daha da önemlisi, süreci özerk bir şekilde kontrol etmek için makineleri kullanmak için insanlar tarihinde araştırmalar yapılmıştır.
Amaç, bu süreçlere insan katılımını azaltmak, böylece bu süreçlerdeki hataları azaltmaktır.
Bu nedenle, \ 'kontrol sistemi mühendisliği \' alanı ortaya çıktı.
Kontrol sistemi mühendisliği, işlemin çalışmasını kontrol etmek için çeşitli yöntemlerin kullanılması veya manuel veya otomatik olsun, sabit ve tercih edilen bir ortamın sürdürülmesi olarak tanımlanabilir.
Basit bir örnek, odanın sıcaklığını kontrol etmektir. Manuel kontrol, sahadaki mevcut koşulları (sensör) kontrol eden
bir kişinin varlığını ifade eder .
, beklentiler (işleme) ile
ve istenen değeri (aktüatör) elde etmek için uygun önlemleri alan
Bu yaklaşımla ilgili sorun, çok güvenilir olmamasıdır, çünkü işyerinde hata veya ihmale eğilimlidir.
Buna ek olarak, başka bir sorun, aktüatörün başladığı sürecin oranının her zaman tek tip olmamasıdır, yani bazen gerekli hızdan daha hızlı olabilir ve bazen yavaş olabilir.
Bu sorunun çözümü, sistemi kontrol etmek için bir mikro kontrolör kullanmaktır.
Verilen spesifikasyona göre, mikro denetleyici, devreye bağlanma işlemini kontrol etmek için programlanmıştır (
daha sonra tartışmak)
, böylece istenen değeri korumak için süreci kontrol eder.
Bu sürecin yararı, bu süreçte insan müdahalesine gerek olmamasıdır.
Ayrıca, bu işlemin hızı tutarlıdır.
Devam etmeden önce, bu noktada çeşitli terimleri belirlemek çok önemlidir: Geri Bildirim Kontrolü: Bu sistemde, belirli bir zamanda girdi, sistemin çıkışı da dahil olmak üzere bir veya daha fazla değişkene bağlıdır.
Negatif geri bildirim: Bu sistemde, referans (giriş)
geri bildirim olarak hata çıkarılır ve girişin fazı 180 derecedir.
Pozitif Geribildirim: Bu sistemde,
geri bildirim ve giriş fazlı olduğunda referans (giriş) hataları eklenir.
Hata sinyali: İstenen çıktı ile gerçek çıktı arasındaki fark.
Sensör: Bir devredeki belirli sayıda cihazı tespit etmek için kullanılan bir cihaz.
Genellikle çıkışa veya bazı ölçümler yapmak istediğimiz herhangi bir yere yerleştirilir.
İşlemci: Programlama algoritmalarına göre işlenen kontrol sisteminin bir kısmı.
Biraz girdi alır ve bazı çıkışlar üretir.
Aktüatör: Kontrol sisteminde, aktüatör, çıkışı etkilemek için mikro kontrolör tarafından üretilen sinyale dayalı olaylar gerçekleştirmek için kullanılır.
Kapalı döngü sistemi: Bir veya daha fazla geri bildirim 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: Çıktının sinyalin maksimum genliğinin% 10'undan% 90'a yükselmesi için gereken süre.
Düşüş Süresi: Çıktının% 90'dan% 10'a düşmesi için gereken süre.
Tepe aşımı: Pik aşma, kararlı durum değerini aşan çıkış miktarıdır (
sistem geçici yanıtı sırasında normal).
Kararlı zaman: Çıktının istikrarlı bir 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 kontrolör herhangi bir kontrol sisteminin çekirdeğidir.
Bu çok önemli bir bileşendir, bu nedenle sistemin gereksinimlerine göre dikkatle seçilmelidir.
Mikro kontrolör kullanıcıdan giriş alır.
Bu giriş sistem için gerekli koşulları tanımlar.
Mikro kontrolör ayrıca sensörden giriş alır.
Sensör çıkışa bağlanır ve bilgileri girişe geri beslenir.
Bu girdiye negatif geri bildirim olarak da adlandırılabilir.
Olumsuz geri bildirim daha önce açıklanmıştır.
Programlamasına dayanarak, mikroişlemci aktüatöre çeşitli hesaplamalar ve çıktılar gerçekleştirir.
Çıktı tabanlı aktüatör kontrol tesisi bu koşulları korumaya çalışır.
Bir örnek, motor sürücünün sürücü olduğu ve motorun fabrika olduğu motoru kullanan 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 onu mikro denetleyiciye geri besler.
Mikro kontrolör tekrar karşılaştırılır ve hesaplanır, böylece döngü tekrarlanır.
Süreç tekrarlayan ve sonsuzdur ve mikro denetleyici istenen koşulları koruyabilir.
İşte DC motorunun hızını kontrol etmenin iki ana yolu)
Manuel voltaj kontrolü: Endüstriyel uygulamalarda, DC motorunun hız kontrol mekanizması kritiktir.
Bazen normalden daha yüksek veya daha düşük hızlara ihtiyacımız olabilir.
Bu nedenle, etkili bir hız kontrol yöntemine ihtiyacımız var.
Besleme voltajını kontrol etmek en basit hız kontrol yöntemlerinden biridir.
Hızı değiştirmek için voltajı değiştirebiliriz. b)
PID kullanarak PWM kontrolü: Daha verimli bir yol bir mikro kontrolör kullanmaktır.
DC motoru motor sürücüsü aracılığıyla mikro kontrolöre bağlanır.
Motor sürücüsü, mikro kontrolörden PWM alan bir PWM (
darbe genişliği modülasyonu)
girişi ve girişe göre DC motoruna çıkıştır. Şekil 1.
2: PWM sinyalinin Bölüm 1.
Giriş 3 PWM sinyali göz önüne alındığında, PWM'nin çalışması önce açıklanabilir.
Belli bir süre boyunca sürekli darbelerden oluşur.
Zaman periyodu, bir dalga boyuna eşit bir mesafede hareket eden bir noktanın geçirdiği zamandır.
Bu darbeler sadece ikili değerlere sahip olabilir (yüksek veya düşük).
Ayrıca iki miktarımız daha var: nabız genişliği ve görev döngüsü.
Nabız genişliği, PWM çıkışının yüksek olduğu zamandır.
Görev döngüsü, darbe genişliğinin zaman dilimine yüzdesidir.
Geri kalan zaman dilimi için çıktı düşüktür.
Görev döngüsü doğrudan motorun hızını kontrol eder.
DC motoru belirli bir süre içinde pozitif voltaj sağlarsa, belirli bir hızda hareket edecektir.
Daha uzun bir süre için pozitif voltaj sağlanırsa, hız daha yüksek olacaktır.
Bu nedenle, PWM'nin görev döngüsü nabız genişliği değiştirilerek değiştirilebilir.
DC motorunun görev döngüsünü değiştirerek motorun hızı değiştirilebilir.
DC motor problemleri için hız kontrolü: İlk hız kontrol yöntemiyle ilgili sorun, voltajın zaman içinde değişebilmesidir.
Bu değişiklikler eşit olmayan bir hız anlamına gelir.
Bu nedenle, ilk yöntem istenmeyendir.
Çö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ürevi temsil eder.
PID algoritmasında, motorun akım hızı ölçülür ve istenen hızla karşılaştırılır.
Bu hata, karmaşık hesaplamalar için motorun görev döngüsünü zamana göre değiştirmek için kullanılır.
Her döngüde bu süreç var.
Hız istenen hızı aşarsa, hız istenen hızdan daha düşükse, görev döngüsü azalır ve görev döngüsü artar.
Bu ayarlama, en iyi hıza ulaşılana kadar yapılmaz.
Bu hızı sürekli kontrol edin ve kontrol edin.
İşte bu projede kullanılan sistem bileşenleri ve her bir bileşenin ayrıntılarına kısa bir giriş.
STM 32F407: ST mikro bölüm tarafından tasarlanan mikro denetleyici.
Kol korteksinde çalışır. M Mimari.
Ailesini 168 MHz yüksek saat frekansıyla yönlendirir.
Motor Sürücü L298N: Bu IC motoru çalıştırmak için kullanılır.
İki harici girişi vardır.
Bir mikro denetleyiciden.
Mikro kontrolör bunun için bir PWM sinyali sağlar.
Motor hızı, darbe genişliği ayarlanarak ayarlanabilir.
İkinci girişi, motoru sürmek için gereken voltaj kaynağıdır.
DC Motor: DC motoru DC güç kaynağında çalışır.
Bu deneyde, DC motoru motor sürücüsüne bağlı bir fotoelektrik bağlantı kullanılarak çalıştırılır.
Kızılötesi sensör: Kızılötesi sensör aslında kızılötesi bir 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 Encoder Optik Kuplör 4N35: Optik kuplör, devrenin düşük voltaj kısmını ve yüksek voltaj kısmını izole etmek için kullanılan bir cihazdır.
Adından da anlaşılacağı gibi, ışık temelinde çalışır.
Düşük voltaj kısmı sinyali aldığında, akım yüksek voltaj parçasında akar.
Sistem bir hız kontrol sistemidir.
Daha önce de belirtildiği gibi, sistem orantılı integral ve türev PID kullanılarak uygulanır.
Hız kontrol sistemi yukarıdaki bileşenlere sahiptir.
İlk bölüm hız sensörüdür.
Hız sensörü bir kızılötesi verici ve alıcı devresidir.
Katı U şeklindeki yarıktan geçtiğinde, sensör düşük bir duruma girer.
Normalde yüksek durumda.
Sensör çıkışı, sensörün durumu değiştiğinde üretilen geçiciin neden olduğu zayıflamayı ortadan kaldırmak için düşük geçişli bir filtreye bağlanır.
Düşük geçişli filtre dirençlerden ve kapasitörlerden oluşur.
Değerler gerektiği gibi seçildi.
Kullanılan kapasitör 1100NF'dir ve kullanılan direnç yaklaşık 25 ohm'dur.
Düşük geçişli filtre, ek okumalara ve çöp değerlerine neden olabilecek gereksiz geçici koşulları ortadan kaldırır.
Düşük geçişli filtre daha sonra kapasitör yoluyla STM mikro kontrolörünün giriş dijital pimine çıkarılır.
Diğer kısım, STM mikro kontrolör tarafından sağlanan PWM tarafından kontrol edilen motordur.
Bu ayar, optik kuplör IC kullanılarak elektriksel izolasyon sağlanmıştır.
Optik kuplör, IC paketi içinde ışık yayan bir LED içerir ve giriş terminalinde yüksek bir darbe verildiğinde, çıkış terminalini kısa devre geçirir.
Giriş terminali, optik kuplöre bağlı LED'in akımını sınırlayan bir direnç aracılığıyla PWM verir.
Çıktıya bir açılır direnç bağlanır, böylece terminal kısa devre olduğunda, voltaj açılır dirençte üretilir ve dirençteki terminale bağlı pim yüksek bir durum alır.
Fotoelektrik kuplörün çıkışı, etkin pimin yüksekliğini koruyan motor sürücü IC'nin IN1'ine bağlanır.
PWM görev döngüsü optik kuplör girişinde değiştiğinde, motor sürücü pimi motoru değiştirir ve motorun hızını kontrol eder.
Motora sağlanan 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 yapılandırması yapılır ve PWM sağlayacak şekilde ayarlanır.
Motor başladığında, motor miline bağlı yarık döndürür.
Slit sensör boşluğundan geçer ve düşük bir darbe üretir.
Düşük darbelerde, kod başlar ve yarının hareket etmesini bekler.
Slit kaybolduktan sonra, sensör yüksek bir durum sağlar ve zamanlayıcı saymaya başlar.
Zamanlayıcı bize iki yarık arasında zaman verir.
Şimdi, başka bir düşük nabız göründüğünde, IF ifadesi tekrar yürütülür, bir sonraki yükselen kenarı bekler ve tezgahı durdurur.
Hızı hesapladıktan sonra, hız ve gerçek referans değeri arasındaki farkı hesaplayın ve PID'yi verin.
PID, belirli bir anda referans değerine ulaşan görev döngüsü değerini hesaplar. Bu değer, hataya bağlı olarak CCR'ye (
sağlanır
karşılaştırma kaydı)
, zamanlayıcının hızı azaltılır veya arttırılır.
Atollic Truesdudio kodu uygulanmıştır.
Hata ayıklama için STM Studio'nun kurulması gerekebilir.
Projeyi STM Studio'da içe aktarın ve görüntülemek istediğiniz değişkenleri içe aktarın.
Hafif değişiklik 2017-11-4xx'de.
Saat frekansını tam olarak 168 MHz'deki bir H dosyasına değiştirin.
Kod snippet yukarıda verilmiştir.
Sonuç, motorun hızının PID kullanılarak kontrol edildiğidir.
Ancak, eğri tam olarak pürüzsüz bir çizgi değildir.
Bunun birçok nedeni var: Düşük geçişli filtreye bağlı sensör hala belirli kusurlar sağlasa da, bunlar doğrusal olmayan dirençler ve analog elektronik cihazlar için kaçınılmaz nedenlerden kaynaklanıyor, motor küçük voltaj veya PWM'de sorunsuz bir şekilde dönemez.
Sistemin yanlış bir değer girmesine neden olabilecek pislikler sağlar.
Jitter nedeniyle, 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.
Bu sorun bu projede ele alınmış olsa da, bu modelin bu kadar yüksek bir frekans sağlamayan bütünsel bir kavramı vardır.
Açık döngü hızı, sadece birkaç beklenmedik değere sahip çok pürüzsüz bir çizgi sağlar.
PID de çalışıyor ve çok düşük motor stabilite süresi sağlar.
Motor PID, referans hızını sabit tutan çeşitli voltajlarda test edildi.
Voltaj değişikliği motorun hızını değiştirmez, bu da PID'nin çalıştığını gösterir.
İşte PID'nin son çıkışının bazı segmentleri. a)
Kapalı döngü @ 110 rpmb)
Kapalı döngü @ 120 rpmThis projesi grup üyelerimin yardımı olmadan tamamlanamadı.
Onlara teşekkür etmek istiyorum.
Bu projeyi izlediğiniz için teşekkür ederiz.
Sana yardım etmeyi umuyoruz.
Lütfen daha fazlasını dört gözle bekleyin.
Bundan önce kutsamaya devam edin :)