Arduino ile dimmer (lamba karartma) uygulaması Arduino dimmer (lamp dimming) application

Arduino devreleri ve uygulamaları

Arduino ile dimmer (lamba karartma) uygulaması

int lamba=3;                                                                                                                     

void setup() {
pinMode(lamba, OUTPUT);                                                                                                                                                                                                                                                    }

void loop() {                                                                                                                                                                                                                                                                         int i=1;do { 
digitalWrite(lamba, HIGH);
delayMicroseconds(i); 
digitalWrite(lamba, LOW); 
delayMicroseconds(999-i); 
i++; } while (i < 999);

digitalWrite(lamba, HIGH);

delay(500); 

i=1;
do { 
digitalWrite(lamba, HIGH); 
delayMicroseconds(999-i); 
digitalWrite(lamba, LOW); 
delayMicroseconds(i); 
i++;
} while (i < 999);

delay(500); 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Yukarıda şeması ve kodu verilmiş olan lamba karartma devresi 3 nolu digital pini PWM çıkışı olarak kullanır

3 nolu çıkıştan gelen PWM sinyali 1 Kohm direnç üzerinden akımı sınırlanarak NPN transistörün beyzini sürer ve transistör PWM  sinyalinin (+) artı alternanslarında iletime geçerek lambaya akım sağlar.

Burada transistör kullanmamızın nedeni,daha yüksek akıma ihtiyaç duyan aygıtları (akkor lamba,dc motor,rezistans,bobin,role v.b) sürerken led v.b çıkış aygıtlarının çektiği akıma nisbeten daha yüksek akıma ihtiyaç olmasıdır.

Bu ve benzeri yüksek akım gerektiren çıkış aygıtlarının kullanıldığı uygulamalarda çıkış pinlerinin sağlayabileceği akım sınırlı olduğu için çıkış aygıtı sağlıklı sürülemeyecektir buda devrenin verilen işi tam olarak yerine getirememesine sebep olacaktır.

Örneğin bir led veya küçük bir titreşim motoru sürecek olsaydık transistöre ihtiyaç duymadan direk PWM çıkış pinine bir seri direnç üzerinden bağlayabilirdik ama yukarıda da anlatıldığı gibi benzer uygulamalarda çıkış aygıtının sağlıklı çalışabilmesi ve Arduino kartını besleyen regüle entegresinin fazla yüklenmemesi için transistör kullanmak gerekir.

Bu devrede transistör collector beslemesi temsilen Arduno uno üzerinde bulunan +5V pininden alınmıştır normal şartlarda yukarı şekildeki gibi bir devre  arduino nun +5V regülatör entegresine fazla akım yükleyerek ya regüle entegresinin bozulmasına yada yüksek akım çekmekten ötürü arduino kartının kendi beslemesi için gerekli olan +5V un düşmesine neden olacaktır,buda programın kararlı çalışmasını olumsuz etkileyecektir. 

Örnek: yukarıda ki devrede lambayı direk arduino pinine bağlamış olsak ve lamba rezistansı 10 ohm kabul edersek I=U/R den 5/10=0.5 A  500 mA akım çekecektir,fakat Arduino pinleri maksimum 40 mA verebildiği ve çıkış aygıtı için gerekli olan 500mA sağlayamadığı için devre sağlıklı çalışamayacaktır.

Yukarıda ki şekilde olduğu gibi bir devre kuracak olursak buda normal şartlarda sağlıklı bir devre olmayacaktır ! çünkü kart üzerinde bulunan +5V  VCC pinleri maksimum 200 mA akım sağlar ama bizim çıkış aygıtımız 500 mA e ihtiyaç duyduğu ve devre tasarımında aygıt beslemesi için kullandığımız transistör (+) artı beslemesini kart üzerinde ki VCC pininden aldığı için VCC den 200 mA den fazla akım çekilmesinden dolayı kart beslemesini sağlayan +5V regüle entegresi fazla ısınarak bozulabilir.

Diğer bir ihtimal eğer Arduino beslemesi bilgisayar seri USB bağlantısı gibi bir zayıf akım kaynağından sağlanıyorsa çekilen fazla akımdan dolayı giriş voltajı düşecek ve buna bağlı olarak Arduino kartının besleme gerilimi de düşecektir ve bu durum da devrenin sağlıklı çalışamamasına neden olacaktır.

Uygun bağlantı:

Bu şemada çıkış aygıtı olan lamba,gereken akımı Arduino pini veya kart regüle entegresi üzerinden değil, harici bir 9V kaynak üzerinden sağlar.Bu sayede arduino kartı hiç yüke binmeden devreyi sağlıklı şekilde çalıştırır.

Arduino kartının çıkış aygıtlarına sağlayabileceği akım ve gerilim değerleri digital pinlerde 40mA 5V , VCC pinlerinde ise 200 mA 5V ile sınırlı olduğu için,bu ve benzeri fazla akım yada gerilime ihtiyaç duyan uygulamalarda harici bir voltaj beslemesi ve transistör,mosfet,motor sürücü v.b gibi ekstra sürücüler kullanmak kaçınılmazdır.

Benzer devrelerde transistör veya mosfet gibi sürücüler için ayrılmış besleme kaynağı 5V….100V arasında olabilir, fakat daha yüksek gerilim değerlerine çıkıldıkça bir arıza durumunda sürücü besleme voltajının beyz direnci üzerinden Arduino pinine zarar vermemesi için kartı sürücü kısımla optokuplör veya röle benzeri aygıtlarla yalıtmak gerekir.

Önemli hatırlatma ! 

24 V u geçen bu ve benzer uygulamalarda elektrik akımına kapılmak v.b istenmeyen durumları önlemek için mutlaka şekildeki gibi yalıtım trafosu kullanmak gerekebilir !!! buradaki örnek şemalar konunun kolay anlaşılması açısından basitleştirilmiş prensip şemalardır,fiziksel uygulamalarda parçalar,bağlantılar ve değerler değişebilir.

Arduino ile tristör sürme dimmer prensip şeması

Şekilde Arduino ile optokuplör üzerinden tristör sürme devresi gösterilmiştir. Bu devrede Arduino 3 nolu digital pini üzerinden gelen PWM sinyali optokuplörü besler ve opto kuplörün çıkış ucları arasında ki direnç düşer,dolayısıyla tristör gate ine optokuplör üzerinden (+) artı alternanslı akım gelmiş olur ve tristör de aynı şekilde anod katod arası direncini düşürerek lambanın yanmasını sağlar.Tristör tek yönlü akım geçiren bir eleman olduğu için tek tristörlü devrelerde yük  olarak akım yönünün önemli olmadığı yükler kullanılabilir ancak,AC motor,trafo v.b içeriği bobin olan yükler kullanılamaz

PWM sinyali (+) artı alternans süreleri ne kadar uzun olursa lamba o kadar uzun süre akıma maruz kalacak ve bununla orantılı olarak parlaklığı PWM sinyaline göre artıp yada azalacaktır.


Arduino ile triyak sürme dimmer prensip şeması

Şekildeki devrede Arduinonun 3 nolu digital çıkışından alınan pwm sinyali R3 direnci üzerinden optokuplörü sürer ve optokuplörün çıkış ucları arasındaki direnç düşer dolayısıyla diyak uçlarına optokuplör üzerinden gerilim verilmiş olur. Optokuplör üzerinden gelen voltaj diyak ın kırılma gerilimine ulaşınca diyak iletime geçer ve triyak tetiklenmiş olur. Böylece triyak anodları arasındaki direnç düşerek yüke akım sağlanış olur.

Bu devrede tristörlü devreden farklı olarak çift yönlü akım geçiren elemanlar (triyak çıkışlı optokuplör,diyak ve triyak) kullanılmıştır.Buda AC motor gibi bobin içerikli yükler de dahil bütün yükleri bu şekilde sürebileceğimiz anlamına gelir. Çamaşır makinesi motorları,digital kontrollü dimmer lar,güç ayarlı su ısıtıcılar v.b elemanlar digital olarak kontrol edilirken prensip şemada ki gibi bağlantılar kullanılır.

Burada esas vurgulanmak istenen husus AC gerilim ile çalışacak bir yük digital olarak kontrol edilmek istendiğinde,yük tarafındaki yüksek gerilim  ve ac akımdan kontrolcüyü yalıtmamız gerektiğidir.Bu sebeple yalıtım için optokuplör elemanlar kullanılarak sürücü kısım ile kontrolcü kısım arasında tam bir yalıtım sağlanmış olur.

Şekil ve şemaların çiziminde www.easyeda.com ve www.tinkercad.com sitelerinde ki online editör ve simülasyon programlarından yararlanılmıştır.