
Hazırlayan: Ergin YILMAZ
Devre Hakkında
Devrenin temel amacı evin kapısını kontrol etmektir. Bu DC motor ve iki tane limit anahtarı ile sağlanan mekanik aksam tarafından sağlanmıştır. Devrede aç ve kapa içim kullanılan iki buton mevcuttur. Motorun sürücü entegresinin uçlarına gönderilen 1 ve 0 bilgisine gire motor sağa veya sola dönmektedir.
Anahtarlar AT89C51RD2 port çıkışlarına seri bağlanmıştır. Böylece anahtar kapı tarafından kapatıldığı anda 1 bilgisi gönderen port kesilir. Diğer butona basıldığında ise bu sefer diğer porttan 1 bilgisi gönderilir ve motor diğer tarafa döner ve bu sefer o porta bağlı olan anahtar açılır.
Devrenin Resimleri


L293D Motor Sürücü Entegresi

Neden ? L293D. Denetim Kartlarının yüksek voltaj ve akım gereksinimi elemanları (motor,röle) kontrol etmesi için Kullanılır Motorun ihtiyaç duyduğu akım denetim kartının verebileceğinden fazla olduğundan. voltajı ve akımı arttırmak için sürücü devreleri kullanılmalıdır aksi taktirde denetim kartının yanmasına sebep olabilir
Özellikleri
– Sağ ve sol tarafın bağımsız çalışması
– 1 Adet L293D 2 motoru çift yönlü kontrol edebilir
Devrenin Kurulması
ilk olarak 4-5-12-13 nolu bacaklar birleştirilip toprak olarak kullanılmalıdır Motorlar 3-6 ve 11-14 nolu bacaklara bağlanır.
1-9-16 nolu bacaklara +5 volt verilir (BASIC Stamp`den sağlanabilir) 2 ve 7 nolu bacaklar 1. motoru 10 ve 15 nolu bacaklar 2. motoru çalıştırır
8 nolu bacaktan. motora uygulanacak voltaj verilir (36 volt`dan fazla olmamalıdır)
Devre Şeması

PCB

Örnek:
BASIC Stamp`in 7. pini L293D`nin giriş-1` ine 8. pini L293D`nin giriş -2` sine ayrıca sürülecek olan motorun uçlarıda L293D`nin çıkış-1` ine ve çıkış-2` sine bağlanmış olsun
output 7 L293D`nin giriş-1` ine bağlanacak olan pin çıkış olarak tanımlanır
output 8 L293D`nin giriş-2` ine bağlanacak olan pin çıkış olarak tanımlanır
basla:
high 7
low 8 `motor bir yöne döner
pause 1000 `1 saniye program durur ama motor dönmeye devam eder
low 7
high 8 `motor diğer yöne döner
pause 2000 `2 saniye program durur ama motor dönmeye devam eder
low 7
low 8 `motor durur
pause 3000 `3 saniye program durur ve motor hareketsiz bekler
goto basla `program başa döner
L293D Pin bağlantı açılımı

Çıkış Portları ile Motor Sürücüsü Bağlantı Şeması

Devrenin Programı
#include <89c51rd2.H>
/* Uygulama Adı : Maket Ev Uygulaması (DC Motor İle Kapı Kontrolü )*/
void gecikme(void);
void git(int, int, unsigned int);
/*Uç Tanımlama*/
#define ASAGI P3=1
#define YUKARI P3=2
#define DUR P3=0
#define BUTONLAR P1
void main(void)
{
unsigned int OnKonum = 1; // önceki konum
unsigned int HedefKat = 1; // gidilecek kat
unsigned int i = 0;
TMOD = 0x01; //Timer 0, mod-- 16bit
while(1)
{
i = BUTONLAR & 0x1F; //Hangi butona basıldı?
switch(i)
{
case 0x1F-1: HedefKat = 1; //Zemin kat seçildi
break;
case 0x1F-2: HedefKat = 2; //1.kat seçildi
break;
}
if(HedefKat > OnKonum) //Seçilen kat mevcut kattan yukarı mı?
{
git(HedefKat - OnKonum,1,OnKonum); // Yukarı hareket
}
if(HedefKat < OnKonum) // Seçilen kat mevcut kattan aşağı mı?
{
git(OnKonum - HedefKat,0,OnKonum); // Aşağı hareket
}
OnKonum = HedefKat; // Yeni mevcut kat whi
}
}
void git(int sayi, int yon, unsigned int OnKonum)
{ // 0 aşağı , 1 yukarı
int i;
if(yon)
{
YUKARI; //Motor yukarı yönde hareket ediyor
for(i=1; i<=sayi; i++)
{
gecikme();
}
}
else
{
ASAGI; // Motor aşağı yönde hareket ediyor
for(i=1; i<=sayi; i++)
{
gecikme();
}
}
DUR; // Hedef kata gelindiğinde motor durur.
}
void gecikme(void)
{ //1sn gecikme
unsigned int i = 0;
for(i=1; i<=20; i++)
{
TH0 = 0x3C; // ilk değer
TL0 = 0xB0;
TF0=0;
TR0 = 1; // sayıcıyı başlat
while(!TF0)
;
TR0=0;
}
}
24VDC , 90 watt encoderli motor hız ve pozisyon kontrolü için profesyonel teklif verebilirmisiniz ?
arkadaşlar dc motorunun hex dosyasını atarmısınız
bu uygulamada kullanılan motor nedir 220ac midir ? bir kosu bandı motorunu falan kontrol edebilir mi