PIC18F2550 PID Motor Kontrol Labview

| Haziran 13, 2023 Tarihinde güncellendi
PIC18F2550 PID Motor Kontrol Labview

PID motor kontrol devresi pic18f2550 mikrodenetleyici üzerine kurulu PIC18F2550 PID Motor Kontrol Labview programı ile kullanılabiliyor pic18f2550 rc2/ccp1 portundan opto kublör ile izole şekilde irf540 mosfet ile motor kontrol ediliyor. PID Kontrol projesine ait C kodları ve Labview (PID.vi, Integral.vi vb.) kodları var.

Ek olarak yazarın hazırladığı sade, kullanışlı pic18f2550 geliştirme kartının pcb şema ciziminide dosya içine ekledim işinize yarayabilir.

pic18f2550-pid-control-dc-motor-pid-labview

DC motor için PID kontrolü (Programlama)

DC motor için PID Kontrolü (Okuma ve Güç) yayınında, bu projenin ilk bölümü ve okuma ve güç arayüzleri hakkında yorum yaptım, şimdi bu yayın LabVIEW’de denetleyici programlamaya ve PIC ile bilgisayar arasındaki USB iletişimine ayrılacak. .

Başlamak için LabVIEW’de programın yapısını anlatacağım, program iterasyonların sürekli olarak yürütülmesine izin veren bir While döngüsünden oluşur, programın başında programın iletişim kuracağı sanal COM’un konfigürasyonu kurulur. yani iletimdeki bağlantı noktası adı, baud hızı ve bit sayısı gibi veriler. While Döngüsü içerisinde portun açılması ve alım arabelleğinin boyutu belirlenir, daha sonra PIC tarafından gönderildiği şekliyle “string” veri tipinin PID’de kullanılmak üzere “int” tipine dönüştürülmesi yapılır. . Programlamada, ayrı kontrolörlerin her biri için subVI’lar kullanıldı ve ardından sonuçları eklendi.

İlk kontrolör Orantılı’dır, teoriye göre bu sadece hatanın bir sabitle çarpımına karşılık gelir, yani wk = Kp*Ek. Hata, ana programda örneklenen değerin ayar noktası değerinden çıkarılmasıyla hesaplanır.

İntegral kontrolör, Oransaldan daha karmaşıktır, burada örnekleme zamanı, bir sabit veya entegrasyon zamanı dikkate alınır, yine hata, orantı sabiti ve kontrolörün önceki yinelemedeki çıkışı (bu, ana programı). Bu şekilde pk = ((kp*t/ti)*ek)+pk-1 formülü yerine getirilir, burada pk kontrolör çıkışıdır, kp orantı sabitidir, t örnekleme zamanıdır, ti entegrasyon zamanıdır , ek hatadır ve pk-1 hemen önceki döngüdeki denetleyicinin değeridir.

Türev denetleyici aşağıdaki denkleme sahiptir qk = (td*kp/t)*(ek-ek-1), bu denklemde denetleyicinin çıkışı olan qk’ye, türev süresine karşılık gelen td’ye, kp ise orantı sabiti, t örnekleme periyodu, ek hata ve ek-1 hemen önceki döngüdeki hatanın değeri.

Kontrolörlerin değerleri toplanıp PIC’e gönderildikten sonra bu değer motoru kontrol eden PWM’nin görev döngüsüne yansıyacaktır. PWM görev döngüsündeki olası belirsizlikleri önlemek için, PID değeri 255’ten büyükse PWM’nin 255 ve 0’dan küçükse PWM’nin 0 olacağı bir kısıtlama yapılır.

Ön panelde ayar noktasını ve sabitlerin her birini (kp,ti ve td) ve ayrıca hızın grafiğini ve PID çıkışından birini görüntüleyebilir ve değiştirebilirsiniz. PIC, motor hızını okur, USB iletişimi kurar, PID değerini alır ve PWM’nin faydalı döngüsünü değiştirir.

DC motor için PID kontrolü (Okuma ve Güç)

Bu dönem üniversitede dijital kontrol konusunu alıyorum, önerilen uygulamalardan biri de DC motor üzerinde PID kontrolü uygulamaktı. Fikir, motorun hızını ölçmek ve bir PWM sinyali kullanarak kontrol etmektir, PID kontrol programı LabVIEW’da çalışacak ve harici bağlantılar bir PIC18F2550 mikrodenetleyici ile ele alınacaktır, bu yayında hız ile ilgili her şeyi yorumlayacağım ölçüm süreci, hız ve motor gücü kullanımı.

24V ve 1A’da (yüksüz) 12000rpm DC motor kullanılır. Uygulama için, maksimum hızının yaklaşık 7500 rpm olması için yeterli voltaj olan 15 V ile beslenir. Motor miline 40 adımlı bir optik enkoder uyarlanmıştır, okuma bir kızılötesi sensör GP3S62 (at nalı) tarafından yapılır, bu durumda enkoderde bir slot algıladığı her seferinde yüksek bir voltaj üretir, bu voltaj bir tarafından okunur belirli bir zamandaki darbe sayısını depolayan ve daha sonra LabVIEW programına göndermek için rpm cinsinden eşdeğerliği üreten mikrodenetleyicinin girişi. Darbeleri yakalamak için, her 200 ms’de bir darbeleri sayan Timer1 ve harici girişi kullanılır.

Okuma işleminde bazen sensör tarafından üretilen yüksek voltaj mikrodenetleyicinin okuyabileceği ve yüksek olarak kabul edebileceği voltajdan daha düşük olduğu için voltaj sorunu vardır.Bunu çözmek için bir demirci tetiği (74LS14) kullanılır. bu çipin açıklaması kolaydır: giriş voltajı 3V’tan azsa çıkış voltajı 0V olur ve giriş voltajı 3V’tan büyükse çıkış voltajı 5V olur.

Motor hız verileri işlendikten ve LabVIEW’de PID çıkışının büyüklüğü hesaplandıktan sonra, bu veriler mikro denetleyici tarafından üretilen PWM görevi değiştirilerek yansıtıldığı mikro denetleyiciye gönderilir.

Kaynak: cristpalma.blogspot.com/2011/11/control-pid-para-motor-dc-lectura-y.html

pic18f2550-pid-motor-kontrol-labview

Şifre-Pass: 320volt.com

Yayım tarihi: 2012/05/01 Etiketler: , , , ,



2 Yorum “PIC18F2550 PID Motor Kontrol Labview

  1. misanthropemisanthrope

    asm dosyasını hex dosyasına çeviriyorum 99 tane hata veriyor hazır program internetten indirdim yardımcı olursanız sevinirim!!!!

    CEVAPLA
  2. misanthropemisanthrope

    asm dosyasını hex dosyasına çeviremiyorum hazır program parmaktan nabız ölçer pıc 16f84 ile yardımcı olursan çok makbule geçer

    CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir