Arduino Pro Mini ile LED Dimmer Devre Yapma

Avantajli oldugu kesin ancak. Daha maliyetli...

1 adet lm 317 bir adet pot iki direnc ile olabilirdi.
Lm317 ledlerin hafif isimaya basladigi voltaj ile tam isima sagladigi voltaj arasinda konfigure edilebilir. Boylece nispeten lineer isima degisimi saglanabilir gibi geliyor bana... Denemedim...
 
Gerekli araştırmayı eve geçince yapacağım ama konuya vakıf olmadığımdan kafamda oturtamıyorum. İlk önce şunu anlamam gerek.
Biz Analog girişten 4 bit okuyabiliyoruz, digital pinden 1 bit çıkabiliyoruz. Benim cahil kafayla ikisini toplasak 5 bit ediyor. 8 biti nerderen bulduk? Önce bunu anlamam lazım. :)

Analog girişten aslında 10 bitlik bir değer elde ediyorsun (0 - 1023). Sonra da senin program bu 0 - 1023 aralığını, 0 - 255 aralığına ölçeklendiriyor (map fonksiyonu). Sonra da bu 0 - 255 aralığındaki değeri sen digitalWrite ile yazınca kütüphane bunu gidiyor PWM kontrolcüsünün ilgili registerine yazıyor. Buna göre de dijital pinde bir PWM dalga şekli oluşuyor. Aslında kütüphane birçok ayrıntıyı senden gizliyor. Eğer bu işi yapan programı MPLAB ile yazmış olsaydın, herşeyi birebir kendin yapılandırıyor olacaktın ve bütün ayrıntıları da görecektin. Ama iş digitalWrite kadar kolay olmayacaktı :D
 
Avantajli oldugu kesin ancak. Daha maliyetli...

1 adet lm 317 bir adet pot iki direnc ile olabilirdi.
Lm317 ledlerin hafif isimaya basladigi voltaj ile tam isima sagladigi voltaj arasinda konfigure edilebilir. Boylece nispeten lineer isima degisimi saglanabilir gibi geliyor bana... Denemedim...
Sanırım her lede bir direnç maliyetinden bahsediyorsun. O konuda çok tartışma olduğu için ben neyin doğru olduğunu kestiremedim. Mantık olarak çok eleman çok kalite diye düşünüp, kaliteden ödün vermeme pahasına bu yola giriştim. Benim için kalite maliyetten daha önemli. İmkanlarım el verdiği sürece herşeyin en kalitelisini almaya-yapmaya çalışırım. :)
 
Bende @Endorfin35+ katiliyorum. Cok buyuk is yapmayacakti. Transistor veya lm317 ile rahatlikla yapilacakti. Is ne zaman bu sekle burundu bende anlamadim.

Ortada kritik bir calisma noktasi yoktu. Verim oyle cok buyuk wattlarda kayip yoktu.

Ama buradaki kazanc elbette var. Bir arduino programlama pwm ogrenme gelisme kaydedildi.
 
Parlaklık aralığını artırmak için frekansı da düşürebilirsin. setup fonksiyonunu aşağıdaki gibi değiştir, o zaman PWM frekansı 245 Hz'e düşüyor.

C:
void setup() {
  TCCR2B = 0x05;
}
 
Bende @Endorfin35+ katiliyorum. Cok buyuk is yapmayacakti. Transistor veya lm317 ile rahatlikla yapilacakti. Is ne zaman bu sekle burundu bende anlamadim.

Ortada kritik bir calisma noktasi yoktu. Verim oyle cok buyuk wattlarda kayip yoktu.

Ama buradaki kazanc elbette var. Bir arduino programlama pwm ogrenme gelisme kaydedildi.

Transistörlü yapınca, düşük parlaklıkta birkaç watt transistör tarafından tüketileceği için oraya soğutucu koymak gerekirdi muhtemelen. Ama her bir LED'nin ayrı direncinin olması bence iyi birşey. Lokal olarak parlaklık ayarı yapılıp tam homojen aydınlatma sağlanabilir.
 
Led basina dirence itirazim yok zaten bencede olmali....

Demek istedigim bu kadar basit bir is icin arduino kullanmanin getirdigi maliyet...

Ogrenme kismina da itirazim yok. Sadece bu forumu okuyan herhangi bir baskasi adina tek yolun bu olmadigi icindir itirazim...
 
Parlaklık aralığını artırmak için frekansı da düşürebilirsin. setup fonksiyonunu aşağıdaki gibi değiştir, o zaman PWM frekansı 245 Hz'e düşüyor.

C:
void setup() {
  TCCR2B = 0x05;
}

Ezberden olmasın, bunun da nereden geldiğini biraz açıklamak lazım. 328p nin datasheet'inde pinlere bakınca:

1597579320553.png


Buradan senin kullandığın dijital çıkış 3'ün PD3 olduğunu görüyoruz. Bu da 2 numaralı timer'a bağlı (bu timer da 8 bitlik bir timer). 2 numaralı timer'ın clock yapısına bakınca da clock'un ya direkt kullanılabildiğini yada bir "prescaler" ile bölünerek kullanılabildiği görülüyor. Prescaler'daki bölme oranı da TCCR2B registerinde ayarlanıyor:

1597580038823.png


1597580058136.png

Varsayılan değer clkT2S/64 idi ve bu da 490 Hz PWM frekansına karşılık geliyordu. Benim belirttiğim yeni değer de 128'e bölüyor. Daha da azaltabilirsin ve 256'ya bölmeyi de deneyebilirsin (TCCR2B = 0x06). Bu durumda frekans 120 Hz gibi oluyor ve daha da geniş aralıkla parlaklık ayarına imkan verir, ama artık yanıp sönme belki video çekerken farkedilebilir. Hatta 1024'e bile bölünebilir (TCCR2B = 0x07) ama böyle yapınca frekans artık 30 Hz lere düşüyor ve çıplak gözle bile yanıp söndüğünü farkedersin artık.
 
Ezberden olmasın, bunun da nereden geldiğini biraz açıklamak lazım. 328p nin datasheet'inde pinlere bakınca:

5041 eklentisine bak

Buradan senin kullandığın dijital çıkış 3'ün PD3 olduğunu görüyoruz. Bu da 2 numaralı timer'a bağlı (bu timer da 8 bitlik bir timer). 2 numaralı timer'ın clock yapısına bakınca da clock'un ya direkt kullanılabildiğini yada bir "prescaler" ile bölünerek kullanılabildiği görülüyor. Prescaler'daki bölme oranı da TCCR2B registerinde ayarlanıyor:

5044 eklentisine bak

5045 eklentisine bak
Varsayılan değer clkT2S/64 idi ve bu da 490 Hz PWM frekansına karşılık geliyordu. Benim belirttiğim yeni değer de 128'e bölüyor. Daha da azaltabilirsin ve 256'ya bölmeyi de deneyebilirsin (TCCR2B = 0x06). Bu durumda frekans 120 Hz gibi oluyor ve daha da geniş aralıkla parlaklık ayarına imkan verir, ama artık yanıp sönme belki video çekerken farkedilebilir. Hatta 1024'e bile bölünebilir (TCCR2B = 0x07) ama böyle yapınca frekans artık 30 Hz lere düşüyor ve çıplak gözle bile yanıp söndüğünü farkedersin artık.
Bir deneme yapayım.
 
@taydin abi bu sonuçlara göre sondan bir önceki kademe olan 256 ya bölüp bıraktım.
Yalnız abi şöyle bir sıkıntı var. Zamanını ve sebebini belirleyemediğim bir şekilde led'ler bozuluyor. lehimleme sonrasında 3 led çalışmadı. Onları değiştirdim. Dün test esnasında bir led daha gitti. Onuda değiştirdim. Bu gün geldim senin dediğin testlere başlamak için. Elektriği verdim baktım bir led daha gitmiş.

64'e Bölme Yanıp sönme yok. Kamerada hafif dalgalanma var.
64e bölme.png


128'e Bölme. Yanıp sönme yok. Kamerada hafif dalgalanma var.
128e bölme.png


256 ya Bölme. Yanıp sönme yok. Kamerada dalgalanma var.
256 ya bölme.png


1024'e Bölme. Yanıp sönme var. Kamerada yoğun dalgalanma var.
1024 e bölme.png
 
LED'ler gidiyorsa üzerlerinden geçen akım fazla geliyordur. Seri dirençler şu anda ne kadar?
 
Bir de osiloskop neden negatif voltaj ölçüyor? Probları sanki ters takmışsın. Eğer öyleyse bu sefer de LED seri dirençlerinin hayatları tehlikede :D
 
LED'ler gidiyorsa üzerlerinden geçen akım fazla geliyordur. Seri dirençler şu anda ne kadar?
Abi sen SMD ledler için 250R demiştin. Malzemecide 220R vardı. Onları alıp taktım.
Birde pcb yi yanlış yaptığım için dip lede döndüm.
Bu dip ledler sanırım smd lerin yarısı kadar akım çekiyor. 10mA gibi.
Bir de osiloskop neden negatif voltaj ölçüyor? Probları sanki ters takmışsın. Eğer öyleyse bu sefer de LED seri dirençlerinin hayatları tehlikede :D
Osiloskopu ters takmışım. Sen söyleyince ayıktım.
Ama dün düz takmıştım. Ondan gitmemiştir diye düşünüyorum ledler. Hatta osiloskopu hiç takmadan da gidiyordu ledler.
 
Dirençler 220 ise birşey olmaz. Aslında 250 hesabını ben LED forward voltajını düşünmeden hesaplamıştım ve şu anda 13 mA LED akımı çıkıyor. Eğer parlaklık yetmiyorsa 150 ye de inebilirsin ve bu şekilde %100 duty cycle ile, benim de niyetim olan 20 mA akım elde edersin.
 
O bozulan LED'leri multimetre ile ölç, gerçekten bozuklar mı yoksa devredeki bir olumsuzluk nedeniyle mi ışık vermeyi kestiler.
 
LEDler nasıl yandı anlamadım. Okurken konuda kayboldum valla. En son devrenin şeması yok mu? Ben olsam simülasyonda çalıştığını görmeden, geçen akımı görmeden havyaya elimi sürmem bile.

Bir de osiloskopu nasıl ters bağladın ki? Probun ground kıskacını her zaman Arduino'nun GND pinine bağlamıyor musun? Diğer türlü probun içinden akım geçer... Aynısını 220V ile yaparsan çok güzel prob patlatırsın.
 
O bozulan LED'leri multimetre ile ölç, gerçekten bozuklar mı yoksa devredeki bir olumsuzluk nedeniyle mi ışık vermeyi kestiler.
Ledleri tek tek ölçtüm abi. Hepsi gitmiş.
Tam olarak şöyle açıklayayım.
Bread Borda 5v güç verip 220R direnç ile ledleri tek tek test ettim. Hepsi sağlam çalışıyordu.
Sonra plakete bütün ledleri takıp lehimledim. Arkasından dirençleri taktım.
Her 5-6 tane direnç takmamdan sonra 5v gücü + ve - yollara değdirerek bir sıkıntı var mı diye test ettim.
Bu süreçte 2-3 tane led gitti zaten. Bu arada plaket üzerinde led ve dirençten başka bir devre elemanı yok.
Daha sonra pro miniye kodları attıktan sonra bread board da mosfetli devreyi kurdum.
Bu süreçte de test ederken 2 tane gitti.
En son bu gün işten gelip senin dediğin kodları denemek için devreyi kurdum. Daha ilk çalıştırmada 1 led yanmıyordu.

LEDler nasıl yandı anlamadım. Okurken konuda kayboldum valla. En son devrenin şeması yok mu? Ben olsam simülasyonda çalıştığını görmeden, geçen akımı görmeden havyaya elimi sürmem bile.
Simulasyonlara güven olmuyor ki...
Neyse hızlıca 2dk da şema çizdim.
PROMINI ŞEMA.png


Bir de osiloskopu nasıl ters bağladın ki? Probun ground kıskacını her zaman Arduino'nun GND pinine bağlamıyor musun? Diğer türlü probun içinden akım geçer... Aynısını 220V ile yaparsan çok güzel prob patlatırsın.

Plaketin + ve - sine bağlıyordum hep. Bu sefer dikkat etmeyip artı ve eksiyi karıştırmışım. Bu osiloskopların bu kadar hassas olduğunu bilmiyordum. Dündn beri bir sürü şey öğrendim. Daha da dikkatli olmaya çalışacağım.
 
Osiloskopun hassaslığından ziyade, ground probu ile birşeyleri kısa devre ediyorsun. Ne olacağı tamamen kısa devre ettiğin voltajın enerjisine bağlı. Eğer 220 V şebeke ise o zaman bu yüksek enerjiden dolayı prob, osiloskop, veya ikisi birden gidebilir. Ama daha düşük enerjili voltajlarda osiloskoba birşey olmaz devre zarar görebilir. Bir entegrenin çıkışı ise, o entegre yanabilir. Güç kaynağı ise, aşırı akımdan dolayı arızalanabilir. Veya USB deki 5V ise, PC nin USB kontroller'ini yakabilirsin.

LED'lerin gitmesi hakkaten tuhaf. Maksimum parlaklıkta (hiç PWM yok, DC var LED'lerin üzerinde) bir süre çalıştır bakalım kendiliğinden giden olacak mı.
 
Osiloskopun hassaslığından ziyade, ground probu ile birşeyleri kısa devre ediyorsun. Ne olacağı tamamen kısa devre ettiğin voltajın enerjisine bağlı. Eğer 220 V şebeke ise o zaman bu yüksek enerjiden dolayı prob, osiloskop, veya ikisi birden gidebilir. Ama daha düşük enerjili voltajlarda osiloskoba birşey olmaz devre zarar görebilir. Bir entegrenin çıkışı ise, o entegre yanabilir. Güç kaynağı ise, aşırı akımdan dolayı arızalanabilir. Veya USB deki 5V ise, PC nin USB kontroller'ini yakabilirsin.

LED'lerin gitmesi hakkaten tuhaf. Maksimum parlaklıkta (hiç PWM yok, DC var LED'lerin üzerinde) bir süre çalıştır bakalım kendiliğinden giden olacak mı.
30dk dır full ayarda yanıyor giden olmadı. Biraz daha bekleyeceğim.
 
30dk dır full ayarda yanıyor giden olmadı. Biraz daha bekleyeceğim.

Eğer bu şekilde giden yoksa o zaman problem şu olabilir: Senin güç kaynağı açıldığında çok yüksek bir voltajla başlayıp hızla aşağı düşüyor olabilir. Buna "overshoot" deniyor. Al sana tam osiloskopluk bir iş :) Osiloskobu triger modunda kullanıp, power ilk açıldığında besleme voltajı nasıl değişiyor görüntüle.
 

Forum istatistikleri

Konular
5,866
Mesajlar
100,050
Üyeler
2,486
Son üye
mec4402

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top