Turbo C ile Basit Paralel Port DC Motor Hız Kontrol
Doğru akım motorlarında hız kontrolü iki şekilde yapılabilir birincisi uyartım akımını değiştirerek olur bu şu an için bizi ilgilendirmiyor diğer yöntem ise uygulanan gerilimi değiştirerek motorun hızını değiştirebiliriz nitekim bu yöntem kullanılmıştır.Motora uygulanan gerilim , DC (Doğru Akım) kıyıcı (Converter) devresiyle değiştirilmektedir.
Kıyıcı devresinde bir transistör kullanılmıştır bu tronsistör anahtarlama frekansı en az 10kHz olan ve Ic (kollektör akımı ) motorun çekeceği akımı karşılayacak bir tronsistördür.Transistörün çalışma frekansı önemlidir , çünkü iletime girme – çıkma hızı nekadar yüksek olursa kıyıcımızın çıkış gerilimi o kadar sağlıklı ayarlanabilir.
Temel mantık , devredeki transistörü portumuzdan aldığımız çıkış ile belirlenmiş olan iletim ve kesim sürelerine göre iletime ve kesime sokmaktır. Kıyıcı devresinin çıkışı kıyılan gerilimin iletim ve kesim süresiyle değişmektedir.
Paralel portu Turbo C de yazdığımız programla kontrol ediyoruz. Programda belirlenen iletim ve kesim sürelerine göre paralel port un 2 nolu pinine Lojik 1 seviyesinde sinyal göndermektir bunuda rakamsal olarak 1 gönderdiğimizde portun çıkışında +5V oluşaçak buda transistörü sürerek ileime girmesini sağlayacaktır. Lojik 1 uygulama süresi iletim süresini belirler.
Transistörün kesime gitmesi isteniyorsa paralel port un 2 nolu pinine 0 rakamını program vasıtasıyla gönderdiğimizde transistörün BASE akımı kesileceğinden transistör kesime gidecektir Lojik 0 süresi ise yine kıyıcının sıfırda kalma süresine bağlıdır.
Kıyıcı çıkışında küçük gerilim elde etmek istiyorsak yani motorumuzun yavaş dönmesini istiyorsak transistörün iletim süresini azaltır,kesimde olduğu süreyi uzatırız. Eğer gerilim büyültürmek isteniyorsa yani motorun hızını artırmak istiyorsak transistörün iletim süresini artırmak ve kesim süresini azaltmak
gereken işlemdir.
Turbo C++ Yazılımı
#include #include #include void main(){ int i,j; clrscr(); printf("\n\n\nport 'a Bilgi Gönderilmiştir"); for(i=4;i>0;i--){ for(j=0;j<250;j++){ outport(0x378,1); //Paralel port ' a 1 rakamını gönder delay(3); // 3 ms ' ye iletim süresi bekle outport(0x378,0); // Paralel port ' a 0 rakamını gönder delay(10); // 10 ms 'ye kesim süresi bekle }} outport(0x378,0); // paralel port 'u sıfırla