Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
116
Cevap
6238
Tıklama
4
Öne Çıkarma
Cevap: Arduino çalışmalarım,,, (5. sayfa)
M
8 yıl
Yarbay
Konu Sahibi

Bende de tam tersi hocam,,henüz 1 aylık arduinocuyum,çırak bile sayılmam..Ama elektronik bilhassa güç elektroniği de benim için sorun değil.Esasen ben arduino'yu 1=bu devre için ve 2=2 dakika çalış 5 dak. kapat gibi istekler için öğrenmek zorunda kaldım,öğrenmeye çalışıyorum daha doğrusu...
Bu tekniği ısrarla istememden amaç;2 kademe de tam sinüs inverter sonucu alıyorum ve ben bunu 1 kademe de(tek kat devre ile)sonuç alma babından ısrarcı oluyorum.

Önceden de dediğim gibi evet henüz çırağım ama "TimerOne.h" ile 2x50 Hz sürdüğüm çıkışların doluluk oranını yine yazılım ile(ör.= duty cycle = 350,,,yada 100 gibi) ayarlıyorum sorun değil.Sorun bir FB (analogIn)ile yani çıkış voltajının anlık durumuna göre devamlı duty oranı değişimiyle full kontrol arzusundayım.
Şu eklediğim resim;yazılım ile duty oranını kontrol ettiğim devreden bir kesit.A< Resime gitmek için tıklayın >ynen SG3526 resimlerindeki gibi,istediğim olan teknikdir.





< Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 2 Eylül 2017; 22:38:36 >

M
8 yıl
Yarbay
Konu Sahibi

Bu gün yeni 2004 ve 1602 LCD'ler,,,32x8 dotmatrix,,,DHT11 sensörler,UNO'lar ve diğer elemanlar geldi.Hazırladığım NEM ve ISI yazılımını hemen yükledim.Sonuç gerçekten güzel.4-5 ad. 16x02 2 ad.20x4 LCD'lerin bağlantısını lehimleyip denedim,hepsi full sağlam.Bu arada belirteyim;Nem sensörü gerçekten çok hassas anlık değişimleri dahi hemen LCD'ye yansıtıyor.Yakından üzerine üflediğimde nefesimin nemi % 40lara çıkarıyor,süpermiş gerçekten.
Dot matrix,,de maalesef problem var,32x8'e uygun şöyle adam gibi bir yazılım bulamadım.Ayrıca Yazılar tersine akıyor,araştırmaya devam...< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >



G
8 yıl
Yarbay

Bu problem sayesinde elimdeki bazı malzemeleri denemiş oldum. Aliexpress'ten daha önce alıp hiç kullanmadığım lojik analizör ve yeni gelmiş STM32F0 lar vardı. Smd çip şeklinde çok ucuza alıp kendim lehimledim. Biraz referans döküman karıştırarak çift timer ile istediğiniz çıkışları elde ettim.

< Resime gitmek için tıklayın >


Aynı tekniği arduino için de uyarlamaya çalıştım ama elimde ne arduino var ne windows. Yani denemesi senden hocam. Yine AREF pini ile tepe voltajını ayarlıyorsun. Unutmadan bu sefer çıkış için 3. ve 10. pinleri kullanıyorsun.



#define TOP_VAL 156
const float x = (TOP_VAL / 2.0) / 1023.0;

void setup()
{
analogReference(EXTERNAL);
pinMode (A0, INPUT);
pinMode (3, OUTPUT);
pinMode (10, OUTPUT);

OCR1A = OCR2A = TCNT2 = TOP_VAL;
TCNT1 = 0;
TCCR1A = 0x33;
TCCR2A = 0x31;
TCCR1B = 0x15;
TCCR2B = 0x0F;
}

void loop()
{
OCR2B = OCR1B = x * analogRead(A0);
}





< Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 5 Eylül 2017; 0:59:11 >

M
8 yıl
Yarbay
Konu Sahibi

Merhaba;hocam maalesef 3 no çıkış çalışmadı sadece 10 no. çıkış veriyor.Resim ekliyorum.
Edit;Bu arada eğer güç elektroniği-yenilenebilir enerji hk. bir probleminiz olursa buradan yada özelden yazın,çözeriz inşallah.Bu devreyi çözdüğümüzde bakarsınız sizde bir inverter yaparsınız.
Analizör gerçekten gerekli bende de PC osiloskop'un analizör ve Lissajauss programı var,faydası oluyor tabi...

< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 5 Eylül 2017; 1:47:10 >

G
8 yıl
Yarbay

Şunu dene hocam. Olmazsa atmega328 ile fiziksel olarak denerim. Simulatörlere pek güvenmiyorum.

 
#define TOP_VAL 156
const float x = (TOP_VAL / 2.0) / 1023.0;

void setup()
{
analogReference(EXTERNAL);
pinMode (A0, INPUT);
DDRD |= 0x08;
DDRB |= 0x04;

OCR1A = OCR2A = TOP_VAL;
TCNT1 = 0;
TCNT2 = TOP_VAL - 1;
TCCR1A = 0x33;
TCCR2A = 0x31;
TCCR1B = 0x15;
TCCR2B = 0x0F;
}

void loop()
{
OCR2B = OCR1B = x * analogRead(A0) + 78;
}





< Bu mesaj bu kişi tarafından değiştirildi Guest-BF8E9B238 -- 5 Eylül 2017; 2:46:49 >

C
8 yıl
Yüzbaşı

Kolay gelsin



M
8 yıl
Yarbay
Konu Sahibi

Hocam tek kelime ile SÜPERSİNİZ,evet bağırıyorum,,,SÜPERSİNİİZ!!!Elinize emeğinize yüreğinize sağlık,Allah razı olsun.
Bunca yıldır,kendi çapımda halisane paylaşım yapmaya çalışırdım,bu gün doğru yolda olduğumu siz bana gösterdiniz.İşe yaramak,,iş görmek,problemi çözmek babından ben hep çözen taraftan bakmıştım,,,ama çözülen tarafında sevinci bir başkaymış...Çok teşekkür ederim..

Evet,,bende uygulama da görelim diyerek Proteus'ta simile falan yapmadan direk UNO'ya yükleme yaptım devreyi kurdum,,sonuç aynen istediğim gibiydi...Helal olsun...
İşte resim;resim durumu anlatıyor,,Nokta atışlı frekans,,,% 0,5-%48 aralıklarında duty oranı,,Elinize sağlık..
Hele biraz dinlenin,,şu 32x8 Dotmatrix'e de bir el atarsınız inşallah.< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 5 Eylül 2017; 11:26:15 >


Bu mesajda bahsedilenler: @elektro_gadget
G
8 yıl
Yarbay

Breadboard da denedim ve önceki verdiğim de çalışıyor. Sadece son satırına + 78 eklemeyi unutmuşum. Ek bilgi olarak birkaç tüyo vereyim.

Siz yine "TCNT2 = TOP_VAL - 1; " buradaki - 1'i silin, gerek yokmuş. Buradaki -1 çok az da sinyali kaydırıyor. Duty oranını yükseltmek için son satırdaki 78'i düşürebilirsiniz. 0 - 78 arasında herhangi bir değer olabilir.

Aynı arduino üzerinde üzerinde bu kodla beraber başka bir library kullanacaksanız bilin ki Timer 1 ve Timer 2'yi biz kullanıyoruz. Muhtemelen analogWrite() bile kullanılamaz. Kullanılırsa bu ayarladıklarımızı bozabilir. Library nin kötü yanı bu, adamların arka planda ne kullandığını bilmiyoruz.

void loop() { } -> Burası sonsuz döngü. İçine yazdıklarımız hiç ara vermeden çalışır. loop içine yazdığımız tahminen ~400 cycle sürse, 16000000 / 400 = Saniyede en az 40.000 kere çalışır. Bu kadar sık güncellemeye gerek yoksa işlemi bir kesme fonksiyonu içine alarak, örneğin saniyede 100 kere çalıştırabilirsiniz. Böylece çok düşük bir cpu kullanımı ile işi halletmiş oluruz.


Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: elektro_gadget

Breadboard da denedim ve önceki verdiğim de çalışıyor. Sadece son satırına + 78 eklemeyi unutmuşum. Ek bilgi olarak birkaç tüyo vereyim.

Siz yine "TCNT2 = TOP_VAL - 1; " buradaki - 1'i silin, gerek yokmuş. Buradaki -1 çok az da sinyali kaydırıyor. Duty oranını yükseltmek için son satırdaki 78'i düşürebilirsiniz. 0 - 78 arasında herhangi bir değer olabilir.

Aynı arduino üzerinde üzerinde bu kodla beraber başka bir library kullanacaksanız bilin ki Timer 1 ve Timer 2'yi biz kullanıyoruz. Muhtemelen analogWrite() bile kullanılamaz. Kullanılırsa bu ayarladıklarımızı bozabilir. Library nin kötü yanı bu, adamların arka planda ne kullandığını bilmiyoruz.

void loop() { } -> Burası sonsuz döngü. İçine yazdıklarımız hiç ara vermeden çalışır. loop içine yazdığımız tahminen ~400 cycle sürse, 16000000 / 400 = Saniyede en az 40.000 kere çalışır. Bu kadar sık güncellemeye gerek yoksa işlemi bir kesme fonksiyonu içine alarak, örneğin saniyede 100 kere çalıştırabilirsiniz. Böylece çok düşük bir cpu kullanımı ile işi halletmiş oluruz.

Library konusunu anladım.Başka library,,hiç gerek yok.Çünkü bol bol NANO siparişi verdim,ne olur bir fazla nano kullanırız.
Bahsettiğiniz 1'i sileyim.Tekrar teşekkür ederim.



M
8 yıl
Yarbay
Konu Sahibi

Şu 32x8 DotMatrix kayan yazı kodları baya canımı sıkıyordu,çözdüm elhamdülillah.İzleyin olmuş mu bir bakınBence harika oldu...
Video linki;https://youtu.be/7ltjT1WmbfM



M
8 yıl
Yarbay
Konu Sahibi

32X8 DotMatrix bitince rahatlamanın verdiği kolaylık sonucu bir güzel yazılımı daha sonuçlandırmanın sevincini yaşıyorum.
Elektrik-elektronik bilhassa güç elektroniğinden arduino'ya geçmenin faydalarını hissediyorum.Ör;bir volt-ampermetre yapımında yüksek amper çekimlerinde hem daha yüksek verim hemde aradaki wattlı direncin uygun güçte olmasından ziyade akımı taşıyabilmesi elzem olduğundan,,daha güçlü direnç yerine dirence uygun yazılım daha süper oldu.

Gerçekten önemli bir konu arkadaşlar.Modifiye ettiğim yazılım,max. 10A ve wattlı direnci 0,47 OHm üzerinden hesaplanmış.İşte max. amperde hem çok kabadayı direnç gerekecek hemde verimsizlik oluşacaktı.Max. akımda 47Watt kayıp hiç de az değil...
İşte bende yazılımı modifiye ederek 10 kat daha düşük omajla sonuç aldım.Hatda bu oran 20-30 kata çıkabilir,küçük bir hesaba bağlı.Ama düşük akımlarda ölçme hassasiyeti azalacağından 20-30 katlara çıkmaya hiç gerek yok.Çok yüksek amper ölçümlerinde (devamlı 70-80-100 amper gibi) elbette 20-30 kata çıkılması süper olur.
Bir volt-ampertre düşünün,hem yüksek verimli hem voltaj ve amperi bir multimetre ile kıyaslayarak hassasiyetini artırıp daha net ve sağlıklı ölçüm yapması için ayar ediyoruz.
Ölçümleri de Türkçe okutuyoruz,,şimdilik....

Webde gezen bütün arduino ampermetre yazılımları acs712 üzerine kurulu,yani bir nevi illa o modülü alacaksın,zaten bende 5 ve 30Alik 2 adet almıştım ama boş yere almış oldum.Çünkü şöyle ele gelir bir yazılım göremediğim gibi böyle projeler balık tutma değil devamlı hazır yemeyi öğretir.proje dediğin mümkünse % 100 bağımsız olmalı.Oldu da elhamdülillah...

< Resime gitmek için tıklayın >



M
8 yıl
Yarbay
Konu Sahibi

Önceden bahsettiğim 14 ledli karaşimşek devresini uyguladım,gayet güzel çalışıyor.Video linki;https://youtu.be/RlOL-eiOLgw

 
//*Orjinali 8 ledli ve biraz daha hızlıydı.Böyle gayet güzel oldu.
//* modified by malisert32

const int LEDdizisi[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};

void setup () {

for(int i=0; i<14 ;i++)
{
pinMode(LEDdizisi[i], OUTPUT);
}

}

void loop() {
for(int i=0; i<14; i++){
digitalWrite(LEDdizisi[i],HIGH);
delay(60);
digitalWrite(LEDdizisi[i],LOW);
delay(10);
}

for(int j=13;j>-1; j--)
{
digitalWrite(LEDdizisi[j],HIGH);
delay(60);
digitalWrite(LEDdizisi[j], LOW);
delay(10);
}
}



M
8 yıl
Yarbay
Konu Sahibi

C
8 yıl
Yarbay

Malzemeleri nereden aldınız hocam? Tavsiye edeceğiniz bir satıcı var mıdır?



< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
M
8 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: cfiliz

Malzemeleri nereden aldınız hocam? Tavsiye edeceğiniz bir satıcı var mıdır?

Aliexpress'ten aldım,tavsiye ederim.Güvenilirlik konusunda 5-6 değişik isimden aldım,hepsinden de memnunum.



M
7 yıl
Yarbay
Konu Sahibi

Malûm 32x8 led matrix kayan yazı tekniğini sonuçlandırmıştım.
5-6 gün önce 64x8 boyutlarını da yaptım çok şükür.Kayma hızı,boyut yazı uzunluğu konuları gayet güzel.Tek eksiğim Türkçe karakterler.Bunları da eklemek için baya bir zaman gerekiyor.

Bence P10 led tabela ile 64x8 Dotmatrix arasında en büyük fark,güç sarfiyatı.Bir 32x16 P10 led 5A çekerken 32x8 led matrix 15-20 ma. çekiyor.Özellikle araçlarda 7/24 çalışacak kayan yazılarda led matrix'i rakipsiz görüyorum.Hem kontrol yönünden,hem fiyatı ve malûm minumum sarfiyatlı olması gayet güzel ve tercih etmeye değer diyorum.



M
7 yıl
Yarbay
Konu Sahibi

Sayın elektro_gadget'in verdiği yazılımın frekansını modifiye ederek (TCCR1B = 0x11) tek çıkışlı 51-53 Khz. ve sadece duty cycle FB kontrolu ile gayet güzel Step-Up,,,Step-Down ve Sepic devreleri yapılıyor.Evet bu bahsettiğim devreleri hazır entegrelerle daha uygun maliyet ile yapabiliyoruz.Ör;SG3525,TL494,FP5003 gibi.Ama arduino ile de yapılıyor demek istiyorum.Ayrıca özellikle Sepic(non inverting)devresinde stabil yüksek frekans çalışırken %0,1-%100 aralıklarında duty ayarı ile daha net sonuç alındığından özellikle sepic devrelerinde(8-35V in,,,0-40V out gibi)arduino daha net sonuç veriyor.< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >



M
7 yıl
Yarbay
Konu Sahibi

Evet,SEPİC converter devresinde yüksek frekansın elzem olduğunu bildiğimden yazılımı biraz daha modifiye ederek tek çıkışta 100Khz. elde ettim.Bu frekans SEPİC için gayet ideal.100 Khz. sabit ama duty cycle oranı %99-%0,1 oarınında değişerek regülasyon ama FB durumuna uygun anlık regülasyon..



M
7 yıl
Yarbay
Konu Sahibi

Sayın elektro_gadget;
TOP_VAL=3,,,TCCR1B =0x11 ve analogRead(A0)=+ 2 olarak modifiye ettiğimde TCCR1B'den 2,66 Mhz % 33,3 duty cycle oranıyla çıkış alıyorum.AREF=3,3V civarında.
Aynı şartlarda TCCR2B = 0x0A yaparak bundan da 333Khz max. alabiliyorum.
Bu durumda size sormak istediğim;
TCCR2B'den de eşit sayıda ve o şartlarda 2,66 Mhz. alabilmem için ne yapmam gerekir?




Bu mesajda bahsedilenler: @elektro_gadget
G
7 yıl
Yarbay

TCCR2B = 0x09; deneyin


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @malisert32