çaylak yardım istior

Başlatan meraklımühendis, 05 Haziran 2015, 10:51:07

meraklımühendis

öncelikle iyi günler hepinize anlaşılacağı üzere piclerle yeni tanıştım bi kaç aylık bi mazim var ilk yapmaya çalıştığım uygulamam çizgi izliyen di ama beceremedim  :-\ :D şimdi elime yüzeme bulaştırmak istediğim olaya gelirsek elimde 12v luk encoderli dc motor var 1.sorum ben bunda kesin dereceye yakın açı kontrolü yapabilirmiyim " mesela 38 derece girsem 30 dönsede olur "40 da olur ve 2. sorum motorun hızını pwm ile düşürücem oke de onuda yazamıorum sanırım program olarak proton ide kullanıyorum proteusdada şemamı oluşturdum

yapmak istediğim olaysa resimde gözüken şey vinç olucak onun kulesini girilen açıya döndürmek

şimdiden teşekkürler

ete

İşin temelini ve püf noktalarını öğrenmeden birden zor projelere girişmekle pek iyi bir şey yaptığını söyleyemeyeceğim.
Bu gibi durumlarda insana bıkkınlık gelir yapamadığın zaman moral bozulur yavaş yavaş soğursun elektronik veya programlama yapmaktan. Bu nedenle önce ufak ufak ilerleyip keyfini çıkarmak daha sonrada bilgin el verdeğince daha or işlere kalkışmak en doğrusu idi.

Her neyse Encoderlli motora hükmetmek çok zor değil. Yapılacak iş encoderi okuyabilmek ve motorada geri planda çalışan HPWM sinyalini vererek onu bir şekilde çevirmek. Açı kontrolü yapabilmen için motorun redüktörlü olması ve encoderinde redüktör çıkışında olması ideal olurdu. Zira redüktörsüz bir motora voltajı verdiğin zaman motor mili anında çok hızlı dönmeye başlar ve zaten sende bu hızlarda encoderi okuyamazsın. Motorun nasıl bir motor belirtmemişsin ama böyle ise bu işe giriş değilse boşuna uğraşma derim.

Encoder okuma ile ilgili ete projelerinde örnekler olması gerek. Ayrıca HPWM ile ilgili örneklerde ders notlarımda mevcut. Bu iki konuyu birleştirebilirsen işi başarırsın. Takıldığın yerde yeniden sorarsın. Açı kontrolü için bazı denemeler yapman gerekecek.  Motor miline bir aparat takıp onun ilk konumunu referans alarak 360 derece dönmesi için encoderin kaç puls ürettiğini bulman gerekiyor. Daha sonra puls adedini 360'a bölerek beher derecelik açı için kaç puls gerektiğini bulacak ve oradan 30 derece için şu kadar puls verince dur şeklinde bir program mantığı kullanacaksın.

Ete

meraklımühendis

anladığım kadarıyla aktarayım onayla beni hocam :D şimdi öncelikle hpwm ile ben bu motoru çalıştırıcam ve heralde osiloskop yardımı ile tam turdaki pulsları sayıcam bu saydığım sayı 360 derece için oluçak ve ben bu değeri bildiğim için istediğim açıya göre puls göndericem ?
öylemidir :D şu an çok kompleks geldi gözüme  ???

motorun özellikleride ekde yazıcıdan sökmüştüm :D

ete

Bu işi yapmanın bir kaç yolu var. Birincisi LCD olan bir devre yaparsın ve puls adedi sıfır iken motoru bir buton ile çalıştırırsın . Program encoder pulslarını okuyup ekrana verir. Motor istediğin konuma gelince bir stop butonu ile durdurursun ve ekrana bakarsın toplam kaç puls olmuş. Skop ile pulsları saymak pek akıl işi değil bence.

Yada LCD kullanmayan bir sistemde Start ve stop aralığındaki pulsları saydırıp pic in epromuna yazdırırsın durduğu zaman.. Sonra pici programlayıcıya takıp epromdan puls adedini okursun.

Bir defa puls adedin tespit ettikten sonra motora sen puls gönderemezsin. Yine motordan gelen pulsları sayar ve senin durmak istediğin sayıda motoru durdurursun. Örnek hesapla anlatayım istersen. Diyelimki 360 derece dönüşçin motor 1440  puls üretti. 1 derecelik dönüş için 1440/360=4 puls üretilmiş demektir.
O halde 30 derece için 30x4=120 puls gerekecektir. Motora start verdikten sonra okunan puls adedinin 120 olduğu anı bekleyip motoru 120 puls da durdurduğıun zaman 30 derecelik açıya gelmiş olursun hepsi bu.

Ete

meraklımühendis

sağolasın hocam biraz daha uğraşalım bakaklım ne olucak ;D

Powered by EzPortal