74HC595 - 74HC165 Kullanımı

o 1n60'da birkaç nano saniye gecikecek diye planlıyorum.
Ama OE'ye giderken böyle gecikme olmayacak.

Bude entegrenin ilk çalışma anında OE'nin 0da olup sapıtmasını önleyecek

OE'de pull up olması yeterli olur, çünkü işlemciler ilk açıldığında bütün GPIO'lar High Z dir.
 
Bir tane attiny ile geciktirme devresi yapalım :katil2::katil2:(Gökhan abi duymasın ne varsa camdan fırlatır)
Konuyu açtım, daha ikinci mesajı yazamadan iki sayfa yorum oldu. Herhalde ben akşam eve geçince 595'i direk picoya takıp devam edeceğim. :D
 
@taydin gökhan abi kızacak ama şöyle yapsak
Triyakları süren MOC'ların eksi veya artı taraflarını bi transistör ile on off yapsak.
Transistörü bir pull direnciyle yalıtımda tutsak bu.
Transistörü de 595i'de pico kontrol etsin.
Bu şekilde asla trafomuz soba olmaz.
 
2222.png

@taydin abi bu şekilde diyorum çok tarif edemedim yazarak. bc237 beyzin'de birde pull down olacaktı unuttum onu.

Böyle yaparsak 595 ne isterse yapsın pico istediği kadar geç boot olsun yine de bu transistör yalıtımda olduğu sürece trafomuz soba olmaz
 
@taydin gökhan abi kızacak ama şöyle yapsak
Triyakları süren MOC'ların eksi veya artı taraflarını bi transistör ile on off yapsak.
Transistörü bir pull direnciyle yalıtımda tutsak bu.
Transistörü de 595i'de pico kontrol etsin.
Bu şekilde asla trafomuz soba olmaz.
Yav tamam ben 595'e hakim değilim de şunu anlamadım:
Kademe 12 den 26 ya geçerken;
C++:
digitalWrite(kdm12, LOW);
digitalWrite(kdm32, LOW);
delay(50);
digitalWrite(kdm26, HIGH);
yapıyorum. Bu 50ms gecikme kademenin birini kapatıp diğerini açmak için yeterli güvenliği sağlamıyor mu?
 
Yav tamam ben 595'e hakim değilim de şunu anlamadım:
Kademe 12 den 26 ya geçerken;
C++:
digitalWrite(kdm12, LOW);
digitalWrite(kdm32, LOW);
delay(50);
digitalWrite(kdm26, HIGH);
yapıyorum. Bu 50ms gecikme kademenin birini kapatıp diğerini açmak için yeterli güvenliği sağlamıyor mu?
Bizim aldığımız önlem ilk açılışta trafoyu kül etmemek.

İlk enerji verdik 595 çıkış yaptı 3 tane moc aktif oldu.
Pico boot olana kadar trafomuz kül olmasın diye yapıyoruz bunları.
 
Bizim aldığımız önlem ilk açılışta trafoyu kül etmemek.

İlk enerji verdik 595 çıkış yaptı 3 tane moc aktif oldu.
Pico boot olana kadar trafomuz kül olmasın diye yapıyoruz bunları.

Trafo bozulmaz herhalde ama her açılışta büyük bir akım darbesi yiyen TRIAC'ların hoşuna gitmez :)
 
Bizim aldığımız önlem ilk açılışta trafoyu kül etmemek.

İlk enerji verdik 595 çıkış yaptı 3 tane moc aktif oldu.
Pico boot olana kadar trafomuz kül olmasın diye yapıyoruz bunları.
Bu kadar zormu ilk açılışta bir entegreyi off yapmak?
 
17020 eklentisine bak
@taydin abi bu şekilde diyorum çok tarif edemedim yazarak. bc237 beyzin'de birde pull down olacaktı unuttum onu.

Böyle yaparsak 595 ne isterse yapsın pico istediği kadar geç boot olsun yine de bu transistör yalıtımda olduğu sürece trafomuz soba olmaz

Eğer 595 i zaptedemeseydik bu çözüm gerekli olurdu. Ama hem OE kullanarak hem de RC reset devresi ile 595 çıkışlarının açılışta belirli olmasını sağlayabiliyoruz. O yüzden ilave komponente gerek yok.
 
Bu kadar zormu ilk açılışta bir entegreyi off yapmak?

Dijital devrelerle uğraşırken HER ZAMAN kafa yorman gereken bir konudur ilk açılış anı. Simulatörlerde bu tip sorunları göremezsin, bu sorunlar sadece gerçek devrede karşına çıkar.
 
Dijital devrelerle uğraşırken HER ZAMAN kafa yorman gereken bir konudur ilk açılış anı. Simulatörlerde bu tip sorunları göremezsin, bu sorunlar sadece gerçek devrede karşına çıkar.
Ben neyle uğraştığımı bilsem çözüm bulurum da genelde neyle uğraştığımı bilmeyince çözümüm de olmuyor tabi :) Bu ilk açılış olaylarını aklımda tutacağım bundan sonra.
 
Eğer 595 i zaptedemeseydik bu çözüm gerekli olurdu. Ama hem OE kullanarak hem de RC reset devresi ile 595 çıkışlarının açılışta belirli olmasını sağlayabiliyoruz. O yüzden ilave komponente gerek yok.
Burada kalsın o zaman bu çözüm zaptedemezssek yapalım bunu çok daha güvenilir olur bence
 
Birde fark ettiğim bir şey var. Piconun boot hızı nanoya göre çok fazla. Usb yi pcye bağlarken daha yerine oturmadan ekran gelmiş oluyor. Hani içinde bootloder yokmuşta sanki gücü aldığı anda program devreye giriyor gibi.
Bu hızı nanoda yakalamak için bootlooaderi nanodan siliyorlardı. Bir videoda izlemiştim.
 
Birde fark ettiğim bir şey var. Piconun boot hızı nanoya göre çok fazla. Usb yi pcye bağlarken daha yerine oturmadan ekran gelmiş oluyor. Hani içinde bootloder yokmuşta sanki gücü aldığı anda program devreye giriyor gibi.
Bu hızı nanoda yakalamak için bootlooaderi nanıdan siliyorlardı. Bir videoda izlemiştim.
Ben öyle yapıyorum abi sayıcılarda.
BL'yi kaldırıp usbasp ile hex yüklüyorum nispeten hızlı çalışıyıor.
 
Birde fark ettiğim bir şey var. Piconun boot hızı nanoya göre çok fazla. Usb yi pcye bağlarken daha yerine oturmadan ekran gelmiş oluyor. Hani içinde bootloder yokmuşta sanki gücü aldığı anda program devreye giriyor gibi.
Bu hızı nanoda yakalamak için bootlooaderi nanodan siliyorlardı. Bir videoda izlemiştim.
Bunu da şöyle ölçebiliriz sanırım.

Beslemesini harici bir kaynaktan yapacağız ve bir buton koyacağız.
Bu buton hem osiloskobumuza triger olacak hemde beslemeyi verecek picoya.
Piconun loop kısmına bir dijital pini hıgh yapıp bırakacağız.
TRIGER VE PICONUN HIGH YAPMASI ARASINDAKİ SÜRE BOOT OLDUĞU SÜREYİ VERİR GALİBA.

buton yerine anahtar daha iyi olur yoksa basıp beklemek zorundayız.
gerçi birkaç saniyeden fazla basmayacağız zaten.
 
Son düzenleme:
İlk olarak devreyi kurdum ve @Ahmet in kodlarına hiç dokunmadan yükledim.
20220426_210459.jpg


Sonuç aşağıdaki gibi.
 
Şimdi de @taydin abinin 10 nolu bacağa uyguladığı işlemleri yaptım. 100k direnç, 1uF kondansatör ve 1N4148 diyot.
Tabi bunun yararını gözle görmek mümkün değil, nasıl test edilir bilmiyorum.
20220426_211536.jpg


 
@Ahmet şu fonksiyonu bana bir anlatır mısın?
Ne yapıyor bu fonksiyon.

C++:
void registeraYaz()
{
   digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, LSBFIRST, leds);
   digitalWrite(latchPin, HIGH);
}
 
@Ahmet şu fonksiyonu bana bir anlatır mısın?
Ne yapıyor bu fonksiyon.

C++:
void registeraYaz()
{
   digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, LSBFIRST, leds);
   digitalWrite(latchPin, HIGH);
}
Bize öğretmenimiz bunları anlatırken latch'ı debriyaj olarak anlatmıştı.

Önce debriyaja basıyoruz
digitalWrite(latchPin, LOW);

Sonra vitese takıyoruz
shiftOut(dataPin, clockPin, LSBFIRST, leds);

Sonra ayağımızı debriyajdan çekiyoruz.
digitalWrite(latchPin, HIGH);

Biz bu uygulamayı yapmadık ama ben anlattığı debriyaj mantığını bu programa yorumluyorum bu şekilde.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,180
Mesajlar
121,883
Üyeler
2,906
Son üye
Rebi

Son kaynaklar

Son profil mesajları

Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top