dnyARDUINO Temel Elektronik Arduino ile DC-DC Alçaltıcı Devresi By Burak Ablay Posted on 23 Aralık 2015 11 min read 0 0 6,624 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr DC-DC kıyıcılar PWM sinyali ile kontrol edilebilir ve çıkışında da bu sinyalle 9V-12V-20V-60V mosfetin dayanacağı voltaja kadar bir çıkış gerilimini kontrol edebilmektedir. Bu devrede 5V kontrol edilmiştir. DC-DC kıyıcı devresi 1 mosfet , 1 adet diyot , 1 adet bobin , 1 adet kondansatörden oluşmaktadır. DEVRENİN ŞEKLİ: DEVRENİN MALZEMELERİ: 1 adet mosfet(IRF540) 1 adet bobin(100uH) 1 adet kondansatör (0.1mF) 1 adet diyot 1 adet arduino(hataları “0”lamak için geri döngü yapılacak ve PWM sinyali üretecek) 1 adet op-amp(741)(karşılaştırıcı olarak kullanılacak) 1 adet 10uF kondansatör ve 4.7K direnç(Bunlar PWM çıkışının ölçülebilmesi için filtre görevi görecektir ve opamp çıkışına yani a0 analog girişe girecektir.) DEVRENİN ÇALIŞMA PRENSİBİ VE ÇALIŞMA MODLARI: Yukarıda ki şekle göre mosfetin bir ucunda DC güç kaynağına bağlıdır. Bu kaynak bizim kontrol etmek istediğimiz yani mosfeti %50 pwm ile çalıştırdığımızda çıkışta bu kaynağın yarısını görmekteyiz. Bu kaynağın sınırı mosfetin taşıyabileceği güç aralığında olmalıdır. Bir mosfet genelde 60 V a kadar güçleri anahtarlar. Mosfetin anahtarlanması ise herhangi bir ortamdan üreteceğimiz PWM sinyaliyle olmaktadır. Biz PWM sinyalimizi arduino yardımıyla üretmiş bulunmaktayız. Buradan pwm sinyali hakkında bilgi sahibi olabilirsiniz. Devrenin genel anlatımını bitirdikten sonra devrenin çalışmasını incelemek için çalışma modları hakkında bilgi verelim. Çalışma modları: Mod durumları mosfetin anahtarlama dönüşleri açıklar niteliktedir. Mod 1 de anahtar kapalı konumdadır. Ve bu durumda indüktör(bobin) doğrudan çıkış ile giriş arasına bağlanmaktadır. Bu durumdaki bobinin uçlarındaki gerilim giriş gerilimi ile çıkış gerilimleri arasındaki fark kadardır. VL=Vd-V0 Mod 2 de ise mosfet kesimde diyot iletimdedir. Bu durumda bobin üzerinde , çıkış gerilimine eşit ve ters poleriteli bir bir gerilim gözlemleriz. Bobinin ters polerite olması bobinin karakteristeğinin bir getirisidir. VL=-V0 Buradan; 1.Modun denklemlerini formülüze edersek; 2.Modun denklemlerini formülüze edersek; Kalıcı duruma ulaşmış bir devrede bir anahtarlama periyodu süresinde indüktör akımındaki net değişim 0 dır. Buradan hareketle; Son elde ettiğimiz denklem bize gösteriyor ki giriş gerilimini(Vd) Duty saykıl(D) ını değiştirerek yani PWM sinyalini değiştirerek istediğimiz çıkış gerilimini(V0) elde edebiliyoruz. D değeri 0-1 arasında olacağı için bu devre alçaltıcı olarak çalışmaktadır. DEVRENİN ARDUİNO BAĞLANTI ŞEKLİ Burada ki switch kendi devremde kullandım fakat kullanılmasa da olur o yüzden onun girdiği pini yani 2. pini dikkate almayacağız. 1.pin arduinonun PWM çıkışıdır. 3. ve 4. pinleride dikkate almaya gerek yoktur sadece anahtarlama için kullanılmıştır. Yani burada arduino nun PWM çıkışını mosfetin geytine veriyoruz. Sol taraftaki klamens kontrol edeceğimiz giriş voltajı kaç voltluk gücü kontrol edeceğimiz kullanan kişiye kalmıştır. Sağ taraftaki klamensler ise çıkışlarımızdır. OP-AMP Çıkarıcı devresi: Bu devre çıkış uçlarımızdaki gerelimi tespit edebilmek için kullanılmıştır. Çıkışımızdaki gerilimi direk olarak arduinonun analog girişine giremeyiz. Çünkü tek bir giriş girmek gereklidir. Bunun için op-amp ın “+” ucuna çıkışın 1. ucunu az potansiyele sahip diğer ucunu da “-” ucuna bağladığımızda aradaki potansiyeli bulacağız. Yani çıkışımızda 3 V var ise klamensin 1. ucunda +5V diğer 2. ucunda +2V bulunmaktadır. Benim ölçmek istediğim değer 3 volt olduğu için bunu bulmak için kullanıldı. Buradaki dirençlerin tümünün değerleri aynı olmak zorundadır. OP-AMP İÇ YAPISI: Arduino çıkışına alçak geçiren filtre konulması: Bu devrenin amacı herhangi bir PWM sinyalin ölçülmesi durumlarında kullanılmaktadır. Basit ve çok kullanılan bir devredir. Amacı yüksek frekanslara sahip sinyalleri temizleyerek sinyali yumuşatmasıdır. Arduino kodu ve amacı: Bu devrede arduino kullanılmasının amacı istenilmeyen hata sinyallerinin ölçülüp bu hataya göre yeni bir PWM değeri üreterek bu hatayı önemsiz kılacak sonuçlar elde etmektir. Örneğin % 50 lik bir pwm sinyali uyguladığımızda devremize bu sinyale göre 5 V luk bir giriş sinyalimiz bulunuyorsa çıkışında 2.5 lik bir hata sinyali göreceğiz. Ancak bu böyle olmayabiliyor. 3 volta yakın bir çıkış aldığımızda bu hatayı “0” lamak amaçlı bir kontrol sistemi gerçekleştirmek gerekmektedir. Kontrol sisteminde okutulan sinyali 0-1024 arasındaki hata sinyali anlaşılıp bu değerde PWM sinyaline müdahale ediliyor. Bu programda %75 lik bir PWM sinyali uygulanmıştır. OP-AMP ın çıkışından alçak geçiren filtreye soktuğumuz sinyali analog girişe(A0) sokuyoruz. Buradan okuduğumuz değeri % 75 lik PWM e denk gelen (0-1024) 732 ile karşılaştırıyoruz. Bu değee ile arasındaki fark kadar yani hata değeri kadar PWM sinyaline müdahale ediyoruz. Arduino kodu: [php] #include<LiquidCrystal.h> LiquidCrystal LCD(11,10,2,3,4,6); float deger=732; double deger10=0,hata; int sensorValue = 0; int sensorValue1 = 0; int x=0,a=2; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(5,OUTPUT); LCD.begin(16, 2); } long int y = millis(); void loop() { // put your main code here, to run repeatedly: if ( millis() – y >= 10000) { while(a==2){ sensorValue = analogRead(A0); sensorValue1 = 1023; Serial.println( sensorValue); Serial.println(sensorValue1); deger10=(sensorValue); hata=deger-deger10; x=hata; Serial.println(x); y = millis(); a=3; float voltaj = ( ((float)analogRead(A0)+x) * 5.0 / 1024.0); LCD.setCursor(0,1); LCD.print(" "); LCD.print("voltaj:"); LCD.print(voltaj); LCD.setCursor(0,1); }} digitalWrite(5,HIGH); delayMicroseconds(deger+x); digitalWrite(5,LOW); delayMicroseconds((1023-deger)-x); } [/php] Devrenin videosu: TEŞEKKÜRLER: Yaser YÜKSEL ve Hamza YAMAN arkadaşlarımıza bu projenin yapımında ve hesaplarındaki yardımlarından dolayı teşekkür ederiz…