Hazırlayan: Şahin KAYA
Kablosuz bir kumanda devresi ile belirli bir alan içerisindeki DC Motorun hızını kontrol etmek. İşe, amacıma ulaşabilmek için kullanmam gereken malzemeleri belirlemekle başladım. Bu malzemeler AT89S52 mikrodenetleyici, UDEA firması tarafından üretilmiş ve fiyatı da uygun olan 433MHz UHF bandında iletişim sağlayan RF alıcı ve verici modüller, (ATX-34 ARX-34) DC motor sürecek L293B 4 kanallı push-pull sürücü entegresi, devreleri beslemek için gerekli sabit gerilimi sağlayacak olan LM7805 ve çevre elemanlarıydı (kondansatörler). Daha sonra bu adımları simülasyon, pcb çizimleri (çizimler Protel DXP2004’de yapıldı) ve Keil’da programının yazılması işlemleri izledi.
Sistemin çalışması: Kumanda devresi ile motor kontrol devresi RF modüller üzerinden 8051 seri portları ile tek yönlü olarak haberleşmektedir. Kumanda devresindeki hızı arttır veya hızı azalt butonlarından herhangi birine basıldığında ilgili butona ait kesme programı çalıştırılır ve motor kontrol devresine ilgili butona göre hızı arttır veya hızı azalt komutları gönderilir. Bu komutları alan kontrol devresi de bunları değerlendirerek motorun hızını arttıracağına veya azaltacağına karar verir. Motorun hızı PWM (Darbe genişlik modülasyonu) yöntemi ile ayarlanacak şekilde 8051 programı yazıldı. PWM yönteminde motora gerilim darbeler şeklinde gönderilir. Bu darbelerin 1 de kalma süresi periyot içinde ne kadar uzun olursa motor o kadar hızlı döner. PWM ile motor hız kontrolü genel olarak bu şekilde yapılır.
DC motoru sürmenin birçok yolu vardır. DC motora uygulayacağımız akımın yönüne göre motorun yönü, voltajın büyüklüğüne göre de hızı değişecektir. DC motor kontrolü için üretilmiş çok verimli yongalar vardır. Ve ben de projemde bunlardan biri olan L293B isimli olanını kullandım. L293B entegresiyle motorun yönünü ve hızını belirlemek için üç uç kullanılır. Bunlar Enable, Input1 ve Input2 dir. Motoru durdurmak için Enable lojik sıfır yapılır. Böylece girişler Hi-Z konumuna geçer. Motoru diğer yönde hareket ettirmek için ise Enable lojik 1 yapılmalı ve Input1 ve Input2 farklı lojik değerlerde çekilmelidir. Yani biri lojik 1 ise diğeri lojik 0 yapılmalıdır.
Motor RX.c içeriği
#include#define MOTOR P2 bit HiziArttir, HiziAzalt; void Tusa_Basildi() interrupt 4 { while(RI) { if (SBUF==0xF1) HiziArttir=0; if (SBUF==0xF2) HiziAzalt=0; RI=0; } } void main() { unsigned int periyot=1000; // PWM darbesinin 20'de 1'i unsigned int hiz; int i; // darbe suresini ayarlamak icin TMOD=0x21; // T0 16-bit (Mod 1) zamanlayici + T1 icin 8 bit otomatik yukleme modu TL0=-periyot%256; // pals'in dusuk degeri TH0=-periyot/256; // pals'in yuksek degeri SCON=0x40; // 8 bit uart modu TH1=0xE8; // yaklasik 1200 bps (11.059 Mhz kristal icin) TR1=1; // Z/S'i calistir REN=1; ES=1; // Seri haberlesme kesmesinin yetkilendirilmesi EA=1; // Butun kesmelerin yetkilendirilmesi P2=0; while(1) { TR0=1; // T0'in saymaya baslamasi while(TF0) // Z/S'nin tasma bayragini kontrol et { TR0=0; // Timer'i durdur TF0=0; // Tasma bayragini temizle i++; if(i 0) // hiz degiskenin sinirlandirilmasi hiz=hiz-1; } } }
Motor TX.c içeriği
#includevoid bekle() { unsigned int i; for (i=0;i<7600;i++) { ; } } void Hizi_Arttir() interrupt 0 { while(!TI); SBUF=0xF1; // Hizi arttir butonuna basilinca aliciya F1H gonder bekle(); } void Hizi_Azalt() interrupt 2 { while(!TI); SBUF=0xF2; // Hizi azalt butonuna basilinca aliciya F2H gonder bekle(); } void main() { SCON=0x40; // 8 bit uart modu TMOD=0x20; // Z/S 1 icin 8 bit otomatik yukleme modu TH1=0xE8; // yaklasik 1200 bit/s (11.059 Mhz kristal icin) TR1=1; // Z/S'i calistir TI=1; EX0=1; // INT0'in yetkilendirilmesi EX1=1; // INT1'in yetkilendirilmesi IT0=1; // INT0 dusen kenarda tetiklensin IT1=1; // INT1 dusen kenarda tetiklensin EA=1; // Butun kesmelerin yetkilendirilmesi P3=0xFF; //Butonlar giris icin ayarlandi while(1) { ; } }
RF and DC Motor Speed Control AT89S52
Within a certain area with a wireless remote control circuit to control the speed of the DC motor. Employment, to be able to reach my goal I need to use to identify the material began. This material Microcontroller AT89S52, UDEA by company manufactured and prices to suit the 433MHz UHF band to the RF communication receiver and transmitter modules, (ARX-34 ATX DC-34 engine will run L293B 4-channel push-pull driver of the integrated circuit to supply constant voltage required and environmental elements that will ensure their LM7805 (the condenser). Then these steps simulation, pcb drawings (drawings done DXP2004'de Protel), and the process was followed by me Keil'da program.
Projenin Keil Isis ve Protel dosyaları;
Şifre-Pass: 320volt.com
Yayım tarihi: 2008/05/09 Etiketler: ARX34, AT89S52, atmel avr projeleri, ATX34, dc motor kontrol, L293B, LM7805, rf kontrol
ıyı gunler hocam bu projenızı gerceklemek ıstıyorum hobı amaclı .ben 1. sınıf eletronık ogrencısıyım acaba gereklı dokumanlara bana ıletırmısınız .salv86@hotmaşl.com ıyı gunler
ben bu projeyi yaptım ama calısmadı. snra mikroişlemcilerin tx ve rx ni direk kablo ile bagladım(rf modulleri cıkardım) işlemciler iletşime gecmedi cunku yazılımda TI ve RI bayrakları kontrol edilmemiş. ve ayrıca yazılımda preample ve senkron da yok. bana bu konuda yardımcı olurmusunuz. preample ve senkron nasıl vercem tx den gondertikten sonra rx preample ve senkronu okuyacak mı?:(
hocam sogutucu süpermiş ya kendinmi yaptın 😀
ilk asmada tı 1 rı o olması gerekli
Hocam iyi günler ben yyü bmyo da okuyorum yaptığınız devreyi çok beğendik
elektronik tasarım dersinde aynı devreden yapabilirmiyiz
hocam iyi günler ben de öğrenciniz sayılırım
ben rizeden asım bende bu hobi işiyle bayağı ilgilendiğim için esc ler filan gerekli oluyor ben birkaç yabancı sitede devre şemaları filan buldum ama devre elemanlarını rizede bulamadık role entegre filan kimse ilgilenmdi
hazır esc lae zaten çok pahalı 20 tlyede var ama bana hem ileri hemde geri çalışacak olanı lazım ondan sizin yaptığınızı gördüm hoşuma gitti bana yardımcı olabilirseniz sevinirim siz bu esc leri yapıp satıyomusunuz yada istek üzerine yaparmısınız eğer yaparsanız( tabi ücreti karşılığında)çok sevinirim iyi günler
Arkadaşlar, bu uygulamayı 8051 dersinde ödev olarak yaptım. Acemilk zamanlarımızdı. Eksikleri olabilir, yaptığım soğutucu da komiğine gidebilir bazılarınızın. Projeye bir akşam yemeği sonrası başlandı ve ertesi sabah raporu da hazır şekilde ilgili öğretim elemanına sunuldu. Çalışmayan devre ile o dersten geçemezdim. Çalıştıramayan arkadaşlar sorunu kendilerinde aramalı.