DC servo motor kontrolü

Başlatan . Kağan, 19 Şubat 2014, 21:56:35

. Kağan

Elimde aşağıda resmini verdiğim 3v mikro dc servo motor var. Motor üzerinde bir potansiyometre (3,75k) ve elektronik devre var. Bu tip (model helikopter servosu) pic ile kontrolü konusunda paylaşımlarınızı bekliyorum.

Bu servo ile mini bir kapağı 90 derece açıp kapatmak istiyorum.



Hattuşa

#1
ustam benim hiç çalışmadığım ancak çok merak ettiğim konulardan birisi size yardım etmek konusunda ne yapabilirim bilmiyorum, ancak bende bu konuyu öğrenmeyi çok isterim.
bu maksatla siz isisde (tabi proteus kullanıyorsanız), kullanacağınız microişlemciyi servo motor bağlantısını vs çizin (en azından bir taslak) ona göre biraz kafa yoralım ve bizde bilmediklerimizi öğrenelim

sanırım istediğiniz işlem zor olmasa gerek
ustam o smd entegre sanırım sürücü kati, adı nedir onun

. Kağan


. Kağan

#3


Yukarıdaki gibi devre buldum ama buradaki mosfet boyut olarak büyük ve güç içinde gereksiz. Transistör kılıflı ne kullanabilirim bunun yerine acaba?

Fakat bendeki motor sanırım bu.



yani bir kontrol ucu var ve bu kontrol ucundan digital sinyal alması gerekiyor. Ama nasıl?

ETE kardeş buralardamısın?

Hattuşa

ete hocamın bugün ki bi yazısında yurtdışındayım demiş ve usta panik yok araştıralım, eğer kendin devre kuracaksan IRFZ44 e gerek yok 2n7000 veya benzeri 300mA lık tr tipi mosfet kullanırız veya benzeri,
yok üzerindeki devreyi kullanalım dersen önce bi datasheetini bulalım inceleyelim becerebilinecek şeymi bakalım usta...

. Kağan

#5
Üzerindeki devreyi kullanmak adına, Sanırım Pic üzerinden sürebilecek şöyle bir devrede olabilir. Ne dersiniz.


. Kağan

Pic çıkışlarında NPN transistör kullanabiliyoruz. Peki PNP kullanmamız gerekirse ne yapmamız lazım?

Hattuşa

tranzistormu yoksa mosfetmi lazım PNP de

. Kağan

Pozitif uçta anahtar olarak kullanacağım. Bu durumda pnp transistör kullanmam gerekmezmi? Ayrıca PNP transistör negatif gerilimle sürülür değilmi? Bildiğim kadarıyla pic bacağından eksi gerilim çıkmıyor. Bu durumda nasıl süreceğim?

. Kağan

Yukarda eklediğim devre resmini proteusa aktardım.555 sinyal üretmiyor. Bir bakarmısınız.

Hattuşa

#10
slm kagan ustam,
verdiğin şemayı açamadım zira bende proteus 7.10 var sanırım sizinki proteus 8
herneyse
yukarıdaki şemayı benim isisde çizip simüle ettim. çalışıyor. mantık şu timerin çalışması için tranzistor üzerinden voltaj alması gerekiyor.
http://www.ohmslawcalculator.com/555_astable.php

yukarıdaki hesaplayıcı ile hesapladığımda
Q2 (50K) üzerinden %50.8 duty değerli (yani yarı yarıya high-low olan) 9.86 Hz lik bir pulse
Q1 (100K) üzerinden %50.78 duty değerinde 9.79 hz lik bir pulse üretiyor
yani yaklaşık olarak ilkinde 50mS high olurken 2. de (100k) üzerinden olandan da 51.8mS high oluyor. sanırım aradaki 1,8mS lik high süresi motora yön veriyor.

aslında işlemci ile de yapılabilir 555 e gerek kalmaksızın

. Kağan

#11
     İşlemci ile yapmak çok daha iyi ve kullanışlı olurdu. Hemde devreyi kalabalıklaştırmamış olurum. Yer sorunum var zaten. 
    İşlemci ile bu zaman farkını doğuracak kodları yazmak için ETE den yardım almamız gerekecek sanırım. 

    Ayrıca bende simüle ettim acaba nerede hata var.


Hattuşa

kagan ustam projeyi bıraktınız sanırım

raimen

Dr. sadece 90 derece açıp kapatma yapacaksan pic kodları gönderebilirim....

ete

Neden aşağıdaki linkte yer alan programları incelemiyorsunuz?

Servo motorlar genelde 500us ile 2000us arası puls lar ile çalışırlar. Pals peryoduna göre motor konum değiştirir.
Aynı pulsi sürekli versende o bir kez yer değiştirir. Farklı puls gelince ona uygun olarak yeniden konum değiştirir.
Diğer bir kriter de puls sıklığıdır. Her 20 ms de bir puls verilmelidir. Bu nedenle her 20 ms de bir kesme oluşturup gereken kadar kesme içinde puls vermek en doğrusu olacaktır.

Ete

http://etepic.com/index.php/topic,63.0.html

Powered by EzPortal