DC motor hız ve yön pid kontrollü olacak şekilde nasıl yaparım? CCS C-pic18f4550

Başlatan KingTiger, 05 Aralık 2016, 18:45:04

KingTiger

DC motor hız ve yön pid kontrollü olacak şekilde nasıl yaparım? CCS C-pic18f4550. yardım eder misiniz? yön kontrolü yapabiliyorum ama pwm ile hız kontrolü yapıp pid kontrol ile nasıl yapacağımı bilemiyorum...

makine_terbiyecisi

Eğer bir tane motor için bunu yapıyorsan, öncelikle pic18f4431 öneririm.
Neden diye sorarsan,
Bu modelin için enkoder okuyucu modül vardır (Quadrature Encoder Interface).
Bu sayede pic i yormadan hız geri beslemesini alabilirsin.

Bunları yaptıktan sonra PID araştırması yapmanı öneririm.
# ÖĞRENELİM, ÖĞRETELİM #

KingTiger

Alıntı yapılan: makine_terbiyecisi - 05 Aralık 2016, 21:03:16
Eğer bir tane motor için bunu yapıyorsan, öncelikle pic18f4431 öneririm.
Neden diye sorarsan,
Bu modelin için enkoder okuyucu modül vardır (Quadrature Encoder Interface).
Bu sayede pic i yormadan hız geri beslemesini alabilirsin.

Bunları yaptıktan sonra PID araştırması yapmanı öneririm.

pid yi araştırdım. elimde pic18f4550 var ama. takometre kullanarak da yapamazmıyım. baya araştırdım ama yapamıyorum. motora ancak yön kontrolü yapabiliyorum. hız kontrolünde sıfırım

makine_terbiyecisi

Alıntı yapılan: KingTiger - 05 Aralık 2016, 22:32:28
pid yi araştırdım. elimde pic18f4550 var ama. takometre kullanarak da yapamazmıyım. baya araştırdım ama yapamıyorum. motora ancak yön kontrolü yapabiliyorum. hız kontrolünde sıfırım

PIC18F4550 kullanarak hız kontrolü yapabilirsin elbette. Ben sadece kolaylık açısından seçenek sundum sana.

Kullandığın dc motor enkoderli mi? @KingTiger
# ÖĞRENELİM, ÖĞRETELİM #

KingTiger

Alıntı yapılan: makine_terbiyecisi - 05 Aralık 2016, 23:51:10
PIC18F4550 kullanarak hız kontrolü yapabilirsin elbette. Ben sadece kolaylık açısından seçenek sundum sana.

Kullandığın dc motor enkoderli mi? @KingTiger

maalesef enkoderli değil.. bildiğimiz 12 volt dc motor. takometre kullanmak gerekli galiba. işte ödevim genel olarak pic ile dc motor kontrolü pid kontrollü olacak şekilde

skara1214

yani hiçbir feedback almadan nasıl close loop kontrol yapacaksın? ilkönce feed back alacağın yöntemi seç. tako olur ,encoder olur. daha sonra kullancağın algoritmayı seç . ille PID yapmana gerek yok hız için sadece P de yeterli oluyor genelde.
Herkes ölür ama herkes gerçekten yaşamaz

yldzelektronik

Motoru ne şekilde sürüyorsunuz?

Mosfet ile kendiniz H Brigde mi yaptınız, hazır bir sürücü entegre mi kullanıyorsunuz?

Hazır bir entegre kullanıyorsanız modeli nedir?

Kendiniz yaptıysanız, şema paylaşmanız mümkün mü (şemadaki olası hataları önlemek adına)?

İlk önce motoru farklı hızlarda kontrol etmeyi bir deneyelim.Ardından motorun hızını okumayı deneriz.Son olarak belirlediğiniz algoritmaya göre kapalı çevrim yapmayı deneriz.

Aşama aşama gidelim.Bu soruları cevaplarken lütfen olabildiğiniz kadar açık olun ki, daha net cevaplar alabilin.

Selametle.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

KingTiger

Alıntı yapılan: skara1214 - 06 Aralık 2016, 10:14:25
yani hiçbir feedback almadan nasıl close loop kontrol yapacaksın? ilkönce feed back alacağın yöntemi seç. tako olur ,encoder olur. daha sonra kullancağın algoritmayı seç . ille PID yapmana gerek yok hız için sadece P de yeterli oluyor genelde.

feedback takometre ile olur diye düşünüyorum. takometre den gelen feedback  pic in adc portundan girecek

KingTiger

Alıntı yapılan: yldzelektronik - 06 Aralık 2016, 10:41:17
Motoru ne şekilde sürüyorsunuz?

Mosfet ile kendiniz H Brigde mi yaptınız, hazır bir sürücü entegre mi kullanıyorsunuz?

Hazır bir entegre kullanıyorsanız modeli nedir?

Kendiniz yaptıysanız, şema paylaşmanız mümkün mü (şemadaki olası hataları önlemek adına)?

İlk önce motoru farklı hızlarda kontrol etmeyi bir deneyelim.Ardından motorun hızını okumayı deneriz.Son olarak belirlediğiniz algoritmaya göre kapalı çevrim yapmayı deneriz.

Aşama aşama gidelim.Bu soruları cevaplarken lütfen olabildiğiniz kadar açık olun ki, daha net cevaplar alabilin.

Selametle.

mosfet ile sürüyorum.motorun yön kontrolünü yaptım sadece. o da basit zaten. ama hız kontrolünü yapamıyorum. yani pwm yapamadım. ve anladığım kadarı ile takometre ile gelen feedback i AN0 portundan okumamız gerekli. adc işte

[/url


makine_terbiyecisi

Alıntı yapılan: KingTiger - 06 Aralık 2016, 00:20:22
maalesef enkoderli değil.. bildiğimiz 12 volt dc motor. takometre kullanmak gerekli galiba. işte ödevim genel olarak pic ile dc motor kontrolü pid kontrollü olacak şekilde

Takometre bir dc motor jeneratördür. yani motorların millerini birbirine bağlayarak jeneratörden elde edilen analog voltaj değerini PIC ile okuyorsunuz.
Benim sana tavsiyem enkoder yapman. motor miline bağlamak için yuvarlak tahta,plastik vs. malzeme bul. uç kısımlarına delikler aç.
sonra optik bir sensör bağla. böylece optik sensör delikli kısımlara geldikçe pulse üretir. Bunu pic te dış kesme ile okursun. Böylece hızını öğrenmiş olursun.
Bu dediğimi araştır, baya örnek mevcut internette. @KingTiger
# ÖĞRENELİM, ÖĞRETELİM #

KingTiger

Alıntı yapılan: makine_terbiyecisi - 06 Aralık 2016, 13:18:07
Takometre bir dc motor jeneratördür. yani motorların millerini birbirine bağlayarak jeneratörden elde edilen analog voltaj değerini PIC ile okuyorsunuz.
Benim sana tavsiyem enkoder yapman. motor miline bağlamak için yuvarlak tahta,plastik vs. malzeme bul. uç kısımlarına delikler aç.
sonra optik bir sensör bağla. böylece optik sensör delikli kısımlara geldikçe pulse üretir. Bunu pic te dış kesme ile okursun. Böylece hızını öğrenmiş olursun.
Bu dediğimi araştır, baya örnek mevcut internette. @KingTiger

dediğin daha mantıklı :) encoder den gelen bilgiyi (dış kesme dediğin RB0 portu oluyor) okuyacak RB0 dan değil mi

yldzelektronik

@KingTiger

Önce tek kanal pwm konusunu bir hallet.Daha sonra 4 kanal olarak yaparsın.PWM konusunu bir araştır (bilmiyorum ne kadar araştırdığını), anlamadığın yeri sorarsın, cevaplamaya çalışırız.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

makine_terbiyecisi

Alıntı yapılan: KingTiger - 06 Aralık 2016, 14:40:43
dediğin daha mantıklı :) encoder den gelen bilgiyi (dış kesme dediğin RB0 portu oluyor) okuyacak RB0 dan değil mi

Evet, Dış kesme RB0 pini oluyor. Sen mekanik olarak hallet, yazılım konusunda yardımcı oluruz.
Yani geri besleme enkoder üzerinden mi yoksa takojeneratör mü? önce bunu hallet @KingTiger
# ÖĞRENELİM, ÖĞRETELİM #

KingTiger

Alıntı yapılan: yldzelektronik - 06 Aralık 2016, 14:52:18
@KingTiger

Önce tek kanal pwm konusunu bir hallet.Daha sonra 4 kanal olarak yaparsın.PWM konusunu bir araştır (bilmiyorum ne kadar araştırdığını), anlamadığın yeri sorarsın, cevaplamaya çalışırız.

tek kanal pwm biraz anladım.okuldayken hoca farklı anlatmıştı. timer 2 ile yapmamıştı. o haftayı kaçırmışım

KingTiger

Alıntı yapılan: makine_terbiyecisi - 06 Aralık 2016, 17:11:20
Evet, Dış kesme RB0 pini oluyor. Sen mekanik olarak hallet, yazılım konusunda yardımcı oluruz.
Yani geri besleme enkoder üzerinden mi yoksa takojeneratör mü? önce bunu hallet @KingTiger

geri besleme encoder den olur :) başka seçenek olmuyor zaten. encoder yaparım, elimde pic18f4550 var ve motor var