Geri git   Programlama ve Elektronik > Devreler > Dijital Devreler > Microcontroller Devreleri

Microcontroller Devreleri PIC ve Diğer Microcontroller ile İlgili Devreler

Cevapla
 
Seçenekler Stil
Alt 3. May 2012, 03:33 PM   #1 (permalink)
Amatör
 
Üyelik tarihi: May 2012
Mesajlar: 1
Standart Servo motor kontrolü

SERVO MOTOR KONTROLÜ
Merhaba arkadaşlar.Sistem analizi projemde bir robot kol ve birlikte çalışacağı taşıyıcı bant sistemi yapmaya karar verdim.Robot kol için servo motor kullanmayı seçtim.Servo motorlar hoby devrelerde çokça kullanılan ve işlevsel bir hareket elemanıdır.Kontrolü dc motora göre çok daha kolaydır.Fakat servo motorlar hakkında birçok sitede karman çorman verilen bilgiler bu motorun kullanımını zorlaştırmaktadır.Servo motor uygulaması yapmak isteyen arkadaşlarıma ışık tutmak ve benim zorlandığım konuların kolayca üstesinden gelebilmeleri için bu yayzıda servo motorları anlatıcam birkaç kod örneği de vericem.
Servo motorlar PWM(Pulse Widith Modulation) yani vuru genişlik modilasyonlu sinyal ile kontrol edilirler.
Bir servo motor içerisinde dişli sistem ve bir potansiyo metreye sahip dc motordan ibarettir.Kendi kontrol kartı bulunur.PWM sinyali bu kart aracılığı içe motora iletilir ve motor hareket eder bu hareket potansiyometre ile algılanarak motor milinin konumunu bize bildirir.
Sermo motora PWM sinyali nasıl uygulanır ?
Servo motorların çalışma periyotları 20 mili saniyedir.Fakat servolar bu 20 mslik periyodun sadece 2 veya 2.5 mslik kısmında 180 derecelik hareket gerçekleştirirler.Bu çalışma süresi motordan motora değişir.Ben 2ms baz alarak anlatıcam.Bu 2ms süre boyunca motora "1" verip kalan 18ms "0" verirseniz motor 90 derecelik bir hareket gerçekleştirir.Şayet 500 micro saniye(us) "1" ve 195ms "0" verirseniz de -90 derecelik bir hareket gerçekleştirir.
+ -90 nedir yahu :S
- Arkadaşlar servo motor 0 noktası bulunarak kullanılır.Motora uygulayacağınız 1.5 mslik lojik "1" motoru sıfır noktasında konumlandırır.Bu sıfır noktasından itibaren motora vereceğiniz sinyal artar ise motor sola doğru max 90 derecelik hareket yaparazalır ise sağa doğru max 90 derecelik hareket yapar.
+ Çok konuştun bi örnek ver !!!
- Tamam;
void main(void)
{
int a=0;
set_tris_B(0x00);// B portu çıkış ilahn edildi.
output_B(0x00);// B port'unun kafasına göre değer almaması için sıfırlanması gerekir.
while(TRUE)
{
for(a=0;a<=50;a++) // orta nokta için.
{
output_high(PIN_B0);
delay_us(1500);// B portunun 0'ıncı pini 1.5 milisaniye 1 yapıldı ve servo orta noktada
output_low(PIN_B0);
delay_us(18500);// B port'unun 0'ıncı pini periyot 20 milisaniyeyi aşmıyacak şekilde 0
}
for(a=0;a<=50;a++) // sağa hareket.
{
output_high(PIN_B0);
delay_us(500);// B port'unun 0'ıncı pini 500us 1 yapıldı ve servo -90 derece de
output_low(PIN_B0);
delay_us(19500);// Bport'unun 0'ıncı pini periyot 20 milisaniyeyi aşmayacak şekilde 0
}
}
}
+ o for neden ben anlamadım ?
Burada for döngüsünün kullanılma sebebi siz motora gerekli sinyali verdiğinizde periyot 20 ms olduğu için bu sinyalin kalıcılığı 20 ms dir.Motorun o konumda nekadar kalmasını istiyorsanız for döngüsüne o ölçüde bir değer girmelisiniz.
Şu anki değerle motor her konumda 20ms x 50 = 1000ms yani 1saniye kaldıktan sonra diğer konumuna geçicektir.

Daha fazla örnek vermek isterim birkaç motorun falan nasıl hareket ettiğini falan da göstermek isterim ama arkadaşlar açık konuşmak gerekirse biz tembel bir milletiz.Araştırmıyoruz lütfen bu örnek ile biraz ilgilendikten sonra amacınız uğruna savaşıp ter dökün şayet hala başarısız oluyorsanız mail atın:er3_sev5

Yazımı okuduğunuz için teşekkür ederim.Yalnış bir bilgi verdiysem affedin ve beni düzeltin saygılar.

Konu ersev151 tarafından (3. May 2012 Saat 10:43 PM ) değiştirilmiştir.
ersev151 isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 4. May 2012, 10:17 AM   #2 (permalink)
Tekniker
 
ULAGA - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2007
Mesajlar: 448
Standart Cevap: Servo motor kontrolü

Bu güzel çalışma için teşekkürler...
Şimdiye kadar motorlarla pek uğraşmışlığım yoktur.
ULAGA isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Alt 4. May 2012, 11:31 AM   #3 (permalink)
parametre
Misafir
 
Mesajlar: n/a
Standart Cevap: Servo motor kontrolü

[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]
  Alıntı ile Cevapla
Alt 4. May 2012, 03:05 PM   #4 (permalink)
Tekniker
 
ULAGA - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2007
Mesajlar: 448
Standart Cevap: Servo motor kontrolü

Alıntı:
parametre´isimli üyeden Alıntı Mesajı göster
[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]
Hiç araştırmadım.
ULAGA isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla

Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
2 ds1820 ile sıcaklığa göre motor hız kontrolü lcd li hkn007 PIC16F628 Devreleri 0 14. December 2011 09:29 PM
Işık İle Yük Kontrolü PIONEERNADIR Endüstiriyel Devreler 0 7. February 2010 09:21 PM
Pic Ile Dc Motor Kontrolü nusi İstek ve Sorun 2 10. February 2009 11:23 AM
Dimmer Kontrolü Siyah_light İstek ve Sorun 0 18. December 2008 12:04 AM
Merhaba arkadaşlar.AC motor hız kontrolü yapmak istiyorum. stoneist İstek ve Sorun 5 9. November 2008 05:31 PM