PIC ile basit Motor Kontrolü

Sayın silvestir

Elbetteki haklısınız 12 v direk kullanmak söz konusu değil 12 v 7805 ile 5 v düşürülüyor.uln2003 hakkında biraz detaylı bilgi verebilirmisiniz?Birde parazit olduğunu nasıl anlayabiliriz?bunun dışında daha öncede belirttiğim gibi sorun devrenin çalışmasından ziyade çift taraflı bağladığımızda devrenin ya hiç başlamamsı yada titremesi ilk başlarda aklıma WDT yada MSCLR opsyonları geldi lakin bunları da dendik bir türlü başaramadık.Acaba osilatör hatası olabilirmi?

Sayın kudretuzuner

Öncelikle yardımınız için teşekkür ederim biz devreyi 7805 dahil aşağıda verdiğim şekilde düşünüyoruz ayrı ayrı kulandığımızda çalışıyor burada 1000s pause kullandık bu yüzden tepkime süresi biraz sıkınıtlı.Sizin gönderdiğiniz dosyayı proteusda açamadım acaba versyon kaç kullanıyorsunuz?

Saygılarımla
 
Merhaba
.bmp resim de ilave ettim. _1 olarak kaydettiğim versiyon 7.0 açabilmeniz lazım.Kolay gelsin

Not,devreyi kontrol ettim ama sizin işinizi görecek bir devre değil.Ayrıca da iki adet motor kullanılmakta.Tek motor ile ileri geri (yönlerini değiştirerek)mümkün.PIC ile isterseniz verdiğim devreyi kullanmanızı öneririm.Ayrıca da yazılım max.tork elde edilecek şekilde yazdım.(çift faz tam adım).Kolay gelsin.
 
Verdiğin dosyada pause 10000 yazıyor.
Bu demektir ki 10000ms=10sn uyuz gibi otur hiç bir şey yapma.
PBP da pause komutu süresince işlemci hiç bir şeye bakmaz kilitlenmiş gibi bekler !

Aynı tuşa tekrar basınca tersini yapmasını istiyorsan en başta söylediğin toggle komutunu kullanabilirsin.
Kod:
BASLA:
   IF TUS1=1 and tus2=0 THEN
    TOGGLE LED1[SIZE=5][/SIZE]
     [B]PAUSE 10000 ;   bu süreden eminmisin ?
[/B]    else 
     LOW LED1
    ENDIF
...gibi.

Motorun kendi sürücüsü var dediğin için ve onu tanımadığımız için daha fazla yorum yapmak zor.
 
bu tür devrelerde (icsp kullanmıyorsanız) mclr'ı doğrudan 5 V'a bağlayın ve mclr-gnd arasına da en az 100 nf kapasitör ekleyin.
 
Verdiğin dosyada pause 10000 yazıyor.
Bu demektir ki 10000ms=10sn uyuz gibi otur hiç bir şey yapma.
PBP da pause komutu süresince işlemci hiç bir şeye bakmaz kilitlenmiş gibi bekler !

Aynı tuşa tekrar basınca tersini yapmasını istiyorsan en başta söylediğin toggle komutunu kullanabilirsin.
Kod:
BASLA:
   IF TUS1=1 and tus2=0 THEN
    TOGGLE LED1
     [B]PAUSE 10000 ;   bu süreden eminmisin ?
[/B]    else 
     LOW LED1
    ENDIF
...gibi.

Motorun kendi sürücüsü var dediğin için ve onu tanımadığımız için daha fazla yorum yapmak zor.

Sayın KAZIMUGUR

Öncelikle vermiş olduğunuz kodlar için teşekkür ederim toogle komutu ile işin yazılımsal boyutunu hallettik lakin sorun daha önceki mesajlarda yazdığım gibi driver'dan çıkan ileri ve geri kablolarını yani kod içindeki toggle komutunun aktif olarak bağlantılı olduğu portları bağladığımızda devre ya hiç çalışmıyor yada dura-dura çalışıyor.Diğer arkadaşlarında dediği gibi bir şekilde bir resetleme yada akım sorunu üzerine düşünüyoruz.

Saygılarımla
 
Pic çıkışını resimdeki gibi kullan.
Ayrıca sorun devam ederse besleme için 7805 değil MC34063 türü bir şey kullan.

Optoların çıkış tarafında ister 5V ister 12 V kullanabilirsin.
Optoları yukarıya alırsan invert yani tersi olarak kullanabilirsin.
Ya da yazılımda çıkışları tam tersi olacak şekilde kullan.
Kapalıyken açık açıkken kapalı gibi...

Bu senin sürücüne bağlı bir şey ..

Pic de temel kurallardan biri , kullanmadığın tüm pinleri çıkış olarak seç !
10k çok 4.7 kOhm ideal.
Diğer ustaların önerilerini atlama.
Özellikle 100nF hemen pic besleme pinlerinin yanında olacak şekilde ve seramik olmalı !

Bundan sonrası sadece motor sürücünle ilgili...
 

Ekli dosyalar

  • 37279812.png
    37279812.png
    63.6 KB · Görüntüleme: 0
PC817 isimli devre elemenın proteus modeli olan varsa paylaşabilirmi?

Saygılarımla
 
Merhaba
Halihazırda çalışmakta olduğum bir projedeki step motor bağlantısını aşağıdaki linkte verdim.BD140 datasına göre collector akımı max 2amp dir.Kolay gelsin.Optokaplır olarak TLP (toshiba)serisi kullanıldı.
 

Forum istatistikleri

Konular
128,844
Mesajlar
920,946
Kullanıcılar
450,947
Son üye
sitroen91

Yeni konular

Geri
Üst