Sanki 2 tane kafam var.
Biriyle yapıp diğeriyle yaptığımın yanlış olduğunu anlıuıyorum.

Ben wgm13 set etmiyoruym ama ICR1 registerine hesap yapıyorum
 
bu ne biçim datasheet yazmış bunlar bi tablo 5 sayfa ilerde diğeri 10 sayfa geride ileri geri kafam karıştı bir saatdir cs10-11-12 yerine başka cs tablosuna bakıyormuşum
 
offff.png

abi bu seferde bu 2 mavi çizgi arası 1 saniye oldu olur mu böyle
 
Böyle olmaz ki
1 zamanı 900ms
0 zamanı 100ms

900ms+100ms = 1 saniye.

bana lazım olan 1000ms açık kalma + 10ms kapalı kalma
 
gün boyunca her türlü sayıyı değiştirdim her türlü registeri denedim birşeyi atlıyorum ama görmüyorum atladığımı.

yarın devam edicem sıra regülatör çıkışı güçlendirmede.
 
Şimdi datasheete baktım Ahmet. Üç tane timer var Atmega328'de. Timer0 ve Timer2 8 bitlik, Timer1 ise 16 bitlik. Frekansı sayarken mutlaka 16 bitlik counteri kullanmamız lazım, çünkü taşma olması çok daha uzun sürer. Mesela 10 MHz lik bir sinyali ölçüyorken, saniyede 153 kez taşma olur. Sen de bir kesme tanımlayıp kesmenin içinde başka 16 bitlik bir counter'i arttırırsan, efektif olarak 32 bitlik bir counter elde edersin. Ama 8 bitlik bir counter saniyede 39000 küsür kez taşar, bunu kesme ile yakalaman mümkün değil. Eğer dediğim gibi başka bir 16 bit timer daha olsaydı belki ilk 16 bit timerin ikincisini hardware olarak saydırmasını sağlayabilirdik. Ama başka timer yok.

Yani frekansı saymak için 16 bit olan Timer1 i kullanman lazım.
 
1 s palsi üretmek için diğer timer'ları bir şekilde kullanmamız lazım. Baktığımız zaman Timer2 ile 1024 lük prescale elde edebiliyoruz. Timer 8 bit olduğu için 256 da oradan bölebiliriz. Bir de sadece pozitif palsi kullandığımız için oradan da bir 2 ye bölme geliyor. Ana clock sinyali 16 MHz.

[math]\frac{16 \times 10^6}{1024 \times 256 \times 2} = 30.51\ Hz[/math]
Yani tek bir 8 bitlik timer bizi 0.5 Hz e indirmiyor. O yüzden iki tane 8 bitlik timer kullanmamız lazım. ikincisi, birincisinin çıkışından beslenecek. Bu doğrultuda düşünüp timer'ları yapılandırmaya çalış bakalım.
 
1 s palsi üretmek için diğer timer'ları bir şekilde kullanmamız lazım. Baktığımız zaman Timer2 ile 1024 lük prescale elde edebiliyoruz. Timer 8 bit olduğu için 256 da oradan bölebiliriz. Bir de sadece pozitif palsi kullandığımız için oradan da bir 2 ye bölme geliyor. Ana clock sinyali 16 MHz.

[math]\frac{16 \times 10^6}{1024 \times 256 \times 2} = 30.51\ Hz[/math]
Yani tek bir 8 bitlik timer bizi 1 Hz e indirmiyor. O yüzden iki tane 8 bitlik timer kullanmamız lazım. ikincisi, birincisinin çıkışından beslenecek. Bu doğrultuda düşünüp timer'ları yapılandırmaya çalış bakalım.
Son 3 günde uyuduğum zamanlar hariç tamamen elektrik-elektronik-programlama ile uğraştım.

Uğraştığım hiçbirinde olumlu sonuç alamıyorum.

Daha önce birkaç hafta uğraşıp kompanzasyon hesabını yaptığım fabrika cezaya girmiş bu ay onu dengelemek için uğraştım olmuyor eldeki boş kademeler ile.

Frekans metre adına 1 adım dahi atamadım.

LM2596 çıkışını güçlendirmek adına mos bağlamak istedim oda olmadı.

Neyse yola çıkalı çok olmuş artık vazgeçemem hiçbirinden mecbur bunları yapacağım.
Hepsine aynı anda daldığım için hiçbiri düzgün gitmiyor herhalde.


Yani bu dediğinden yola çıkarak saatlerce uğraştığım yapamadığımın sebebi benden kaynaklı değilmiş öyle mi normal şartlarda zaten 1 herz çıkaramıyormuş.

Sabah 7de devam edeceğim gösterdiğin yoldan.

Teşekkür ederim abi iyi geceler.
 
Evet Atmega328p timer'ları biraz limitli. Mesela 0.5 Hz sinyali çıkarmak mümkün olur gibi duruyor ama timer'i senkron çalıştırmak, yani 1 s lik pals üretip durdurmak sonra tekrar çalıştırma mümkün olur mu bilemiyorum. Neyse önce sen 0.5 Hz gate sinyali ile çalış, 1 s boşa gitsin. Sonra o 1 s boşluk olmaması için çalışılabilir.

Bu işlerde genelde ilerleme ani oluyor, düzenli bir ilerleme oluyor. Ben bazan bir hafta sürünüyorum bir projede, zerre ilerleme yok. Sonra birden bir lamba yanıyor ve o gün büyük bir ilerleme katediyorum. O yüzden düzenli ilerlemiyorum diye moralini bozma. Bu projeleri bitirince duyacağın keyfi düşün ve uğraşmaya devam et.
 
Evet Atmega328p timer'ları biraz limitli. Mesela 0.5 Hz sinyali çıkarmak mümkün olur gibi duruyor ama timer'i senkron çalıştırmak, yani 1 s lik pals üretip durdurmak sonra tekrar çalıştırma mümkün olur mu bilemiyorum. Neyse önce sen 0.5 Hz gate sinyali ile çalış, 1 s boşa gitsin. Sonra o 1 s boşluk olmaması için çalışılabilir.

Bu işlerde genelde ilerleme ani oluyor, düzenli bir ilerleme oluyor. Ben bazan bir hafta sürünüyorum bir projede, zerre ilerleme yok. Sonra birden bir lamba yanıyor ve o gün büyük bir ilerleme katediyorum. O yüzden düzenli ilerlemiyorum diye moralini bozma. Bu projeleri bitirince duyacağın keyfi düşün ve uğraşmaya devam et.
Sırf bu hevese kendi kendime proje yapmaya başladım.
Yaptığımı kullanınca bambaşka oluyor sanki daha iyi yok gibi hissediyorum:katil2:
Benim odaya yaptığım RGB kontrolcüye soft kapanma eklemiştim o soft kapamayı izlemek bile en kaliteli filmden güzel geliyor bana.

Asla sıkılmıyorum başarızlık biraz hararet yaptırsada benim motorun daha nerden baksan 200bin km yolu var burada harareti umursayıp duramam bir şekilde sonuca ulaştırırım.


Bu gün hiç mi birşey öğrenmedim o kadar register ile uğraşınca. Öğrendim.

Mesela D5 ve D6ya bağlı timeri yapılandırınca hiçbir delay, delayMicroseconds, pulseIn gibi komutlar çalışmıyor.

Arduino alt yapısı bu komutlar için oraya bağlı timerX'i kullanmışlar biz kendimiz yapılandırınca bozuluyor herhalde.
 
Mesela D5 ve D6ya bağlı timeri yapılandırınca hiçbir delay, delayMicroseconds, pulseIn gibi komutlar çalışmıyor.

Arduino alt yapısı bu komutlar için oraya bağlı timerX'i kullanmışlar biz kendimiz yapılandırınca bozuluyor herhalde.
:) Aynen! Arduino timer0'ı kendisi kullanıyor. Bir çok farklı kütüphanede her fonksiyon için olmasa da bazı fonksiyonlar bu timer0'ı yeniden yapılandırdığında çalışmıyor. "Bana millis() lazım değil" deyip birkaç gün çalıştığım projede kan ve göz yaşı dökerek çalışmayan kodlarımın timer0'ı kullanan kütüphanelerden kaynaklandığını farketim. Sonra timer0'ı kuzu kuzu arduinoya bırakıp devre kartı dahil her şeyi baştan planlamam gerekti. Saçımda daha yok ama galiba sakalımdaki bir kaç beyazın sebebi bu olmuştur.
 
:) Aynen! Arduino timer0'ı kendisi kullanıyor. Bir çok farklı kütüphanede her fonksiyon için olmasa da bazı fonksiyonlar bu timer0'ı yeniden yapılandırdığında çalışmıyor. "Bana millis() lazım değil" deyip birkaç gün çalıştığım projede kan ve göz yaşı dökerek çalışmayan kodlarımın timer0'ı kullanan kütüphanelerden kaynaklandığını farketim. Sonra timer0'ı kuzu kuzu arduinoya bırakıp devre kartı dahil her şeyi baştan planlamam gerekti. Saçımda daha yok ama galiba sakalımdaki bir kaç beyazın sebebi bu olmuştur.
Ben paranoyağım. Kullandığım kartın şeması olmazssa onu kullanmam,kullandığım kütüphane dosyalarına göz atmadan kullanmam. Böyle akışkanlar mı paranoyaklık mı desem arasında bir huyum var.

Bütün projelerime ara verdim çok fazla kafam bulandı elimdeki kopanzasyon işimi halledince geri döneceğim
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,828
Mesajlar
99,421
Üyeler
2,476
Son üye
mrmandos

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