Android ve pic ile motor kontrolü

Katılım
11 Tem 2012
Mesajlar
7
Puanları
1
Arkadaşlar merhaba. Benim bi projem var. Android ile DC motor kontrolü yapıcam, pic ve motor sürücüsü ile ileri-geri kontrol yapabiliyorum ama bir de hız kontrolü yapmak istiyorum. Yani motorun hızını böleceğim, yavaş hız, orta hız ve tam hız. Motor sürücüsü olarak l293 kullanıcam. Sürücünün in3 ve in4 uçlarını kullanarak hız kontrolü olacak, başka şekilde mümkün değil gibi görünüyor. Şöyle diyelim Android'den 0x00 bilgisi pice geldiğinde, motor ileri yönde yavaş hızda dönecek, 0x01 geldiğinde orta hızda ve 0x02 geldiğinde tam hızda dönecek. Tam hızı transistör ile süreceğim. Bunu nasıl başarabilirim, Android kısmı tamam ama pic kısmı biraz karmaşık gibi duruyor, aklıma bi fikir gelmedi bi de buraya başvurayım dedim. Fotoğrafı da ekledim, picin sol tarafında ki kısmı Android ile yapacağım.

resim.jpg
 

Ekli dosyalar

  • resim.jpg
    resim.jpg
    18.3 KB · Görüntüleme: 59
Son düzenleme:
androidle web den mi bluetoot la mı ulaşıyorsunuz
 
alçı olarak bluetooth modül kullanıyorsunuz , picle pwm yaparak l293 ü enable uçlarına verirseniz hız kontrol yapabilirsiniz l293 pwm diye aratırsanız bir çok örnek var, adroid programını paylaşırsanız farklı uygulamalarda kullanmak isteyenler olabilir
 
Tamam Bluetooth'u da ekle ve bitir. Öncelikle Google Play'den Sena Bluetooth programını kurup dene cep telefonda.
 
Arkadaşım verdiğin devrede motor sürücü olarak L298 kullanılmış ondan dolayı komplex görünmüş olabilir.Galiba hazır bir devre göndermişsin.Projende kullanacağın devreni hazırla buradan yardımcı olalım.L293D için pic ile input a pwm gönder.Motorun hızı değişecektir..pwm ile 0 değeri gönderince motor durur 255 gönderince motor maximum hızda hareket edecektir.

#include <16F628A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES intrc_io
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5
#use delay(clock=4000000)
void main()
{
int data=0;
Setup_timer_2(T2_DIV_BY_16,254,1);
setup_ccp1(ccp_pwm);//PWM modülünü aç
while(1)
{
data=data+5;
if(data==255)
{
for(data=255;data>0;data=data-5)
{
set_pwm1_duty(data);
delay_ms(20);
}
}
set_pwm1_duty(data);
delay_ms(20);
}
}

Bu kodlar sana biraz daha durumu açıklayacaktır..

Kodları yazan arkadaşımız.
Egitmen:İbrahim GÜRLER

Ben internetten aldım..
 
cevaplar için sağolun arkadaşlar, sorunu çözdüm. Devreyi şekildeki gibi bağladıktan sonra sadece IN1 girişini ON diğerlerini OFF yaparsak motor düşük hızda çalışıyor. Eğer IN1 ve IN3 girişini aynı anda ON yaparsak motor orta hızda dönüyor ve IN1 IN3 ve transistörlreden birini ON yaparsak motor tam hızda dönüyor. Yani PWM ile uğraşmadım hiç. Android kısmı da tamam. Bi tek devreyi boarda kurmak kaldı geriye. Umarım orda da çalışır.
 

Forum istatistikleri

Konular
130,069
Mesajlar
932,771
Kullanıcılar
453,065
Son üye
jros

Yeni konular

Çevrimiçi üyeler

Geri
Üst