Dc Motor Hız Kontrolü
-
Güzel proje kendin araştırıp kendin yaparsan çok şey öğrenirsin.Başkasına yaptırırsan çok şey kaçırırsın :)
-
Bryce bunu yazdı
Capture modu ve pwm kullanarak 200rpm lik bir dc motorun geri beslemeli kontrolü yapılacaktır. Kullanıcı Pcden hız değerini ve kaç saniye çalıştırılacağını girecek buna göre PIC devresi motoru kontrol edecek. Yazılımda görev programlama yapılabilecek. Örneğin 20 saniye 120 rpm ile git, 13 saniye dur, 15 saniye 200rpm ile git şeklinde program esnek şekilde oluşturulabilir. Yani ekrandan önce saniye sonra hız son olarakta görev(dur,çalış) girilecek ve listboxa görevler listelenecek. Bu listeye göre porttan bilgiler gönderilecektir.
Abiler Böyle birşey hakkında bilgisi olan varsa yorum yapabilir mi acaba? Proje diye tutuşturdular elimizde 1.sınıfız hiçbir fikrimiz yok verdiğiniz her bilgi işime yarar teşekkür ederim.Kendim yapacağım dersen burdan elimizden gelen yardımı yaparız. Ben uğraşamam dersen onada bişeyler yapabilirim :)
Motoru L293D entegresi ile iki yönlü sürebilirsin. Motorun ucuna kendi yapacağın bir düzenekle optik geribesleme alabilirsin. Pic-PC haberleşmesini RS232 üzerinden yaparsın. Motoru 12V seçersen iyi olur.
-
harcadığım vakte yazık diyerek edit.
izzmarit tarafından 07/May/14 08:07 tarihinde düzenlenmiştir -
izzmarit bunu yazdı
Hocam hatırladığım kadarıyla yazayım..
DC motorun iki temel parçası var. Rotor ve stator. Rotor dönen parça, buna verilen akım motorun hızını kontrol eder. Bu akımı verecek olan şey, DC driver. Sen drivera ne kadar akım vereceğini bildirmek için pulse göndereceksin, bu pulseların genişliğine bakarak driver motora akım gönderecek. Bunun sebebi de şu, sen şimdi PICle çalışacaksın ya.. Maksimum volt belli. Daha fazla akım çekemezsin, aracı olarak driver kullanman gerek ki PICten istediğin sinyali alıp bildirebilesin.
Bu pulseların genişliğini değiştirerek bilgi taşımanın adı pwm.
Driverı kendiniz oluşturmanız bekleniyorsa sisteminize uygun bir H-bridge kullanacaksınız. Yok hazır alabiliriz diyorsanız L293'e ya da L298'e bir bak.
Devre basit PIC, birkaç kapasitör direnç yeterli, PIC18F4520 olabilir.. Geri beslemeliden kastını anlayamadım, motorun hızını ölçüp ona göre hız ayarlaması mı yapılacak yoksa diğer anlattığın şeylere mi geri besleme dedin? Orayı kaçırdım..
Yazılımı rahatça yazarsınız, satır satır yazacak kadar hatırlamıyorum şu an ama kolay, lazım olursa bakarım. pwm anlamında, duty cycle ayarlanabilen kare dalga oluşturacaksın, yüzde kaçının high yüzde kaçının low olduğunu belirleyebiliyorsun, mesela set_pwm(60) dedin ve max pwm ayarın 100 ise bu %60 dolu kare dalga yolluyor drivera. Driver da besleme votajının yüzde 60ını motora yolluyor, mesela 200 rpm*%60=120 rpm ile döneceksin demek. Capture modunu tam bilmiyorum ama genellikle aynı oluyor, onun yerine encoderlı bir motorun olursa 2 kablo ile rpm ölçebilirsin, buna göre pwm artır ya da azalt diyerek hızı sabitleyebilirsin (özellikle geribeslemden kastın buysa). Motor driverına pwm dışında 2 tane daha logic inputu yollarsın, PICten 10=ileri git, 01=geri git, 00 ya da 11=dur demek gayet basit bir kontrol (: 20 sn dur git demek onlar da kolay kod. PC ile PIC bağlantısı nasıl olacaktı net hatırlamıyorum ama o da zor değil. RS232li falan yapılır, misal:
Durdurmadan önce, özellikle de geri de hareket ettirecekseniz birkaç ms delay koymayı unutmayın (:
---
Kendim yaparım dersen elimden geldiğince yardımcı olurum, uğraşamam dersen yaptırmak istersen de anlaşabiliriz :P
İşlerden anlamam ama şöyle dedirtti mesajın bana: Abi boşuna odtü deokumuyor.
-
up
-
detCode bunu yazdı
hocam ilk önce olayı gözünde büyütme abartılıcak bişeysi yok, pwn ile motoru değişik hızlarda sürmeyi dene ilk bi sadece bu kısmını hallet nette kolayca bulursun nasıl sürülüceği ile ilgili veri örnek olarak http://kutuphane.pamukkale.edu.tr/dokuman/d001167.pdf burda eleman anlatmış. daha sonra bu script yazma işini bilgisayardan ı yoksa ekran takıp vs mi yapılıcak yazmamışsın, bilgisayar olarak devam ediyorum
en kolayı seri port ile haberleşme ekle devreye bunuda her iki kısımda çalışıyorsa devreyi bas gitsin. şimdi sıra programları yazmakta devrenin yapıcağı şey sadece komutları uygulamak. bilgisayar ise komut gönderimi yapıcak istediğin sürelerde hemen vb veya c# projesi oluştur ileri,xxx geri,xxx dur bekle,yyy şeklinde dört tane komutun olsun. listbox ekle giriş için input button vs. sırayla komutları gir bilgisayar ikeri geri veya dur geldiğinde bunu pice yollasın pic uygulasın. bekle komutu ise birsonraki siradaki veriye geçmeden önce bekleme süresi yani bunu hiç pic e yollama programdan hallet. pic de gelen verileri ayrıştır ileri de kaç rpm ile dönüceğini bul uygula fln yani bunce en kolay bu iş böyle yapılır
çok teşekkür ederim anladığım kadarıyla yapmaya çalışıcam bişeyler burdan :)
-
detCode bunu yazdı
hocam ilk önce olayı gözünde büyütme abartılıcak bişeysi yok, pwn ile motoru değişik hızlarda sürmeyi dene ilk bi sadece bu kısmını hallet nette kolayca bulursun nasıl sürülüceği ile ilgili veri örnek olarak http://kutuphane.pamukkale.edu.tr/dokuman/d001167.pdf burda eleman anlatmış. daha sonra bu script yazma işini bilgisayardan ı yoksa ekran takıp vs mi yapılıcak yazmamışsın, bilgisayar olarak devam ediyorum
en kolayı seri port ile haberleşme ekle devreye bunuda her iki kısımda çalışıyorsa devreyi bas gitsin. şimdi sıra programları yazmakta devrenin yapıcağı şey sadece komutları uygulamak. bilgisayar ise komut gönderimi yapıcak istediğin sürelerde hemen vb veya c# projesi oluştur ileri,xxx geri,xxx dur bekle,yyy şeklinde dört tane komutun olsun. listbox ekle giriş için input button vs. sırayla komutları gir bilgisayar ikeri geri veya dur geldiğinde bunu pice yollasın pic uygulasın. bekle komutu ise birsonraki siradaki veriye geçmeden önce bekleme süresi yani bunu hiç pic e yollama programdan hallet. pic de gelen verileri ayrıştır ileri de kaç rpm ile dönüceğini bul uygula fln yani bunce en kolay bu iş böyle yapılır
göründüğü kadar kolay değil hocam öncelikle bu çalışmaları yapabilmesi için kullanacağı motorun parametrelerini belirlemesi lazım ki eğer küçük permanent magnet motor kullanıcaksa o iş epey zor sonuçlar son derece kararsız çıkacaktır çımaza bile parameter identification yapabilmesi çok zor hadi yaptı diyelim bu işin bide modellemesi analizi var ki pwm sürücüyü de modele tam olarak katması gerekmekte sonuçta modellemede gerilim kontrollü sürücü varsayımı yapılıyo ne fark var diyeceksin fark var ama pwmde mosfeti gate driveri birsürü parametre daha işin içine girecek herneyse sonuçta bu arkadaş bu işi yapamaz
bu sebeple pwm kontrollü hazır bi motor sürücü Ic ile birazda yazılım ile bişeyler çıkartacak
teknoloji fakültesindeki hocaların kafası işte hesapta iş yapıyolar
-
golgi bunu yazdıdetCode bunu yazdı
hocam ilk önce olayı gözünde büyütme abartılıcak bişeysi yok, pwn ile motoru değişik hızlarda sürmeyi dene ilk bi sadece bu kısmını hallet nette kolayca bulursun nasıl sürülüceği ile ilgili veri örnek olarak http://kutuphane.pamukkale.edu.tr/dokuman/d001167.pdf burda eleman anlatmış. daha sonra bu script yazma işini bilgisayardan ı yoksa ekran takıp vs mi yapılıcak yazmamışsın, bilgisayar olarak devam ediyorum
en kolayı seri port ile haberleşme ekle devreye bunuda her iki kısımda çalışıyorsa devreyi bas gitsin. şimdi sıra programları yazmakta devrenin yapıcağı şey sadece komutları uygulamak. bilgisayar ise komut gönderimi yapıcak istediğin sürelerde hemen vb veya c# projesi oluştur ileri,xxx geri,xxx dur bekle,yyy şeklinde dört tane komutun olsun. listbox ekle giriş için input button vs. sırayla komutları gir bilgisayar ikeri geri veya dur geldiğinde bunu pice yollasın pic uygulasın. bekle komutu ise birsonraki siradaki veriye geçmeden önce bekleme süresi yani bunu hiç pic e yollama programdan hallet. pic de gelen verileri ayrıştır ileri de kaç rpm ile dönüceğini bul uygula fln yani bunce en kolay bu iş böyle yapılır
göründüğü kadar kolay değil hocam öncelikle bu çalışmaları yapabilmesi için kullanacağı motorun parametrelerini belirlemesi lazım ki eğer küçük permanent magnet motor kullanıcaksa o iş epey zor sonuçlar son derece kararsız çıkacaktır çımaza bile parameter identification yapabilmesi çok zor hadi yaptı diyelim bu işin bide modellemesi analizi var ki pwm sürücüyü de modele tam olarak katması gerekmekte sonuçta modellemede gerilim kontrollü sürücü varsayımı yapılıyo ne fark var diyeceksin fark var ama pwmde mosfeti gate driveri birsürü parametre daha işin içine girecek herneyse sonuçta bu arkadaş bu işi yapamaz
bu sebeple pwm kontrollü hazır bi motor sürücü Ic ile birazda yazılım ile bişeyler çıkartacak
teknoloji fakültesindeki hocaların kafası işte hesapta iş yapıyolar
4.sınıftaki halimi sen düşün işte ;))
-
Bryce bunu yazdıgolgi bunu yazdıdetCode bunu yazdı
hocam ilk önce olayı gözünde büyütme abartılıcak bişeysi yok, pwn ile motoru değişik hızlarda sürmeyi dene ilk bi sadece bu kısmını hallet nette kolayca bulursun nasıl sürülüceği ile ilgili veri örnek olarak http://kutuphane.pamukkale.edu.tr/dokuman/d001167.pdf burda eleman anlatmış. daha sonra bu script yazma işini bilgisayardan ı yoksa ekran takıp vs mi yapılıcak yazmamışsın, bilgisayar olarak devam ediyorum
en kolayı seri port ile haberleşme ekle devreye bunuda her iki kısımda çalışıyorsa devreyi bas gitsin. şimdi sıra programları yazmakta devrenin yapıcağı şey sadece komutları uygulamak. bilgisayar ise komut gönderimi yapıcak istediğin sürelerde hemen vb veya c# projesi oluştur ileri,xxx geri,xxx dur bekle,yyy şeklinde dört tane komutun olsun. listbox ekle giriş için input button vs. sırayla komutları gir bilgisayar ikeri geri veya dur geldiğinde bunu pice yollasın pic uygulasın. bekle komutu ise birsonraki siradaki veriye geçmeden önce bekleme süresi yani bunu hiç pic e yollama programdan hallet. pic de gelen verileri ayrıştır ileri de kaç rpm ile dönüceğini bul uygula fln yani bunce en kolay bu iş böyle yapılır
göründüğü kadar kolay değil hocam öncelikle bu çalışmaları yapabilmesi için kullanacağı motorun parametrelerini belirlemesi lazım ki eğer küçük permanent magnet motor kullanıcaksa o iş epey zor sonuçlar son derece kararsız çıkacaktır çımaza bile parameter identification yapabilmesi çok zor hadi yaptı diyelim bu işin bide modellemesi analizi var ki pwm sürücüyü de modele tam olarak katması gerekmekte sonuçta modellemede gerilim kontrollü sürücü varsayımı yapılıyo ne fark var diyeceksin fark var ama pwmde mosfeti gate driveri birsürü parametre daha işin içine girecek herneyse sonuçta bu arkadaş bu işi yapamaz
bu sebeple pwm kontrollü hazır bi motor sürücü Ic ile birazda yazılım ile bişeyler çıkartacak
teknoloji fakültesindeki hocaların kafası işte hesapta iş yapıyolar
4.sınıftaki halimi sen düşün işte ;))
Dostum seni kırmak için söylemedim aksine keşke yanlış kişilerin eline düşmesen hayatında bir kere yakaladığın fırsatı iyi değerlendirsen
ama ne yazıkki kalite çok düşük üniversitelerde özelliklede akademisyenlerde
golgi tarafından 06/May/14 22:15 tarihinde düzenlenmiştir -
Zamanında bir akrabam istemişti benden benzer bir devre ve ona yapmıştım bunu. Devrenin özellikleri şöyle;
1- pic basic pro ile yazıldı
2- lcd ekranda motora verdiğin pwm değeri(0-255 arası çözünürlük) ve bu değerin motora verdiğin gücün % de kaça denk geldiği(127=%50, 183=%71, 255=%100)
3- motora verdiğin pwm ile oluşturulan motor devrinin CNY70 sensörü ile ölçümü.
Devrede düzenleme yapman lazım capture için CCP pininin boş olması lazımdı ama onu da pwm için kullandık, bu nedenle devir ölçümü pals değil de harici kesme ve timer kullanılarak da yapılabilir(zordur) ama basit olanı zaten devrede çalışır durumda, 1 saniyedeki palsleri sayıyor ve dakikaya göre hesaplıyor.
Butonların yerini değiştir ve o bacaklardan (TX-RX) seri haberleşme ayarla. Belirli saniye çalışma-durma hesapları var onları eklersin, yine işin içine timer giriyor gibi ama hassas olmasına gerek yoksa döngü ve pause larla da yaparsin bişeyler.
"Proje diye tutuşturdular elimizde 1.sınıfız hiçbir fikrimiz yok verdiğiniz her bilgi işime yarar teşekkür ederim." dediğin için payleştım devremi, yoksa işine yaramaz ama sana fikir verebilir...