merhaba arkadaşalar ben 16f877 nin pwm modülünü kullanarak 2 tane servo motor sürmeye çalışıyorum programını ccs c de yazıyorum timer2 kullanarak 50hz ayarladım set_pwm_duty komutuylada değer gönderdim yalnız motorlar çalıştıktan sonra hiç durmuyo ben belirli açılarda durmasını istiyorum ilginiz için teşekkürler...
teşekkür ederim kardeş ben set_pwm_duty(x); formülü ile deniyorum demek isttediğin saykıl sayısını nasıl ayarlayabilirim çok fazla bilgim yok yardımcı olursan sevinirim teşekkürler..
Benimde pic konusunda pek bilgim yok ama araştırabilirim.Ben plc de o şekilde yapıyordum servo motoru sürerken. Biraz zaman verirsen akşama eve gidince bir karıştırayım bakayım nasıl oluyormuş pic ile servo sürücü sürerken.
modifiye ettiysen zaten böyle olur çünkü rc servoda çıkardığın potansiyometre devreye konum bilgisini
verir sen pulse uyguladığında da o konuma gitmek ister ve pot konum bilgisi vermediği için dur emri gelene kadar dönmeye devam eder
durmasını istediğin yerde pals uygulamayı kesmen lazım ancak bu servo kollarına uygulanan bir kuvvetle kolun pozisyonu değişebilir bu isten meyen bir durum
nerde kullanacağını söylersen yardımcı olabilirim belki robotta mı yoksa başka bişi de mi?
dublex asansör projesinde kullanacağım sadece iple karton bir kabin bağlı olacak 2 tane servo olacak bazı durumlarda 2 sinide eş zamanlı olarak sürmem gerekiyor bunun içinde 16f877 nin pwm modunu kullanmayı deniyorum çünkü software olarak pulse gönderince birinci motor çalışırken 2. yi süremiyor 1. nin işleminin bitmesini bekliyor pic meşgul etmeden pwm yi belli bir açıda yada turda durdurabilirsem olacak yardımcı olursan sevinirim ilgin için çok teşekkür ederim
eğer maket gibi bişey yapacaksan yani servo koluna büyük bir ağırlık gelmeyecek şekilde bir sistem kuracaksan bahsettiğim problemle karşılaşmazsın çünkü zaten servo kolunu elle çevirmek kolay değil hafif bi yük dengeyi bozmaz senin yapacağın şey sadece servoları kaç tur döndüreceğinin hesabını yapman en büyük problem de burdan kaynaklanıyor
motorun hızı zaten belli periyotunu açısal hızını tur frekansını bulursan bir kat için kaç tur gitmeli
onu hesaplarsın (ki istenmeyen durumlar çıkar çünkü pulse genişliği değişti mi motorun dönme hızı da değişeceği için işler biraz karışır.)
sen en iyisi bir feedback kur yani istenen kata asansör geldiğinde kesme oluşsun ve motora giden pulse ler dursun ancak böyle bişi yapabilirsin.
yada motora tur sayan sensör takarsan işin kolaylaşır (ama takmak biraz zor olur)