Tamam işte 10k lara paralal kondansatör ile deneyebilirsin
Transistörü anladım da kapasitörün rolünü anlayamadım.
TR kullanmak kesin çözüm gibi ama bu kadar küçük tr için yolları ince yapmam gerekiyor. Asit eritmesi sırasında ince yollar asite dayanamıyor. sıkıntılı iş.

BC108 Transistör Modeli
bc108 tr model.png


100nf 1206 SMD Kapasitör Modeli
cap model.png
 
Ben olsam önce kondansatör eklemeyi denerim. Temas anında kondansatör şarj olur. Temas kesildiğinde kondansatördeki enerji girişte bir süre daha sinyal olmasına izin verir. Tabi teorik olarak... :D

Senin kurgunda ne kadar işe yarar denemek lazım. Üstten direncin birine lehimle bir tane dene..
 
Ben olsam önce kondansatör eklemeyi denerim. Temas anında kondansatör şarj olur. Temas kesildiğinde kondansatördeki enerji girişte bir süre daha sinyal olmasına izin verir. Tabi teorik olarak... :D

Senin kurgunda ne kadar işe yarar denemek lazım. Üstten direncin birine lehimle bir tane dene..
Bu kadar kısa temas kondansatörü şarj etmeye yeter mi dersin? Kesin sonuç için tr sonrasına kondansatör ekleyip öyle mi denesek?
 
@Özgür sanırım konuyu takibe devam ediyorsun. Senin de gördüğün gibi ek komponentler olmadan ilerleyemiyorum. Eğer bu projeyi yapmak istiyorsan pcb hazırlamak zorunda kalacaksın gibi görünüyor. Maddi bakımdan sıkıntı çekmiyorsan konu içerisinde önerilen bir çok yöntemi de deneyebilirsin.
 
Ben olsam önce kondansatör eklemeyi denerim. Temas anında kondansatör şarj olur. Temas kesildiğinde kondansatördeki enerji girişte bir süre daha sinyal olmasına izin verir. Tabi teorik olarak... :D
Devreyi ve kodları tam takip etmedim ama sinyal zaten sürekli 5V. Temas pini GND'a çekiyor. Bu durumda kondansatör işe yaramaz. Aslına bakarsan ben de teorik olarak çözümü bilmiyorum ama yöntem olarak GND sinyali ile değil 5 V ile temas sağlardım. O zaman kondansatör bir süre kazandırabilir...
 
Devreyi ve kodları tam takip etmedim ama sinyal zaten sürekli 5V. Temas pini GND'a çekiyor. Bu durumda kondansatör işe yaramaz. Aslına bakarsan ben de teorik olarak çözümü bilmiyorum ama yöntem olarak GND sinyali ile değil 5 V ile temas sağlardım. O zaman kondansatör bir süre kazandırabilir...
2 Parça bakır yüzeyin bir parçasına 5v bağladım. İkinci parçayı dijital pine bağladım.
Parçalar birleşince dijital pine 5v gidiyor. Ayrıca dijital pinden 10k direnç ile GND ye Pull Up yaptım.
Aslında GND ye çekmek ile ilgili bir işlem yok devrede. Pull Up işi olmasa GND hiç bağlı olmayacak digital pinlere.
KUMBARA_NANO.png
 
Devreyi ve kodları tam takip etmedim ama sinyal zaten sürekli 5V. Temas pini GND'a çekiyor. Bu durumda kondansatör işe yaramaz. Aslına bakarsan ben de teorik olarak çözümü bilmiyorum ama yöntem olarak GND sinyali ile değil 5 V ile temas sağlardım. O zaman kondansatör bir süre kazandırabilir...
Ona dikkat etmemişim bu durumda kondansatörün bacağı gnd ye değilde 5v a bağlanmalı...
 
Devreyi ve kodları tam takip etmedim ama sinyal zaten sürekli 5V. Temas pini GND'a çekiyor. Bu durumda kondansatör işe yaramaz. Aslına bakarsan ben de teorik olarak çözümü bilmiyorum ama yöntem olarak GND sinyali ile değil 5 V ile temas sağlardım. O zaman kondansatör bir süre kazandırabilir...
Yokyok öyle değil temas 5v a çekiyor.
 
Bana bir tane kolay bulunabilen smd transistör önerebilir misiniz? Smd olursa tek bacağını yukarı taşıyıp kalın yollar çizebilirim. Kondansatör tek başına iş görmezse tr deneyeceğim.
 
Tamam BC817 SOT-23 NPN miş. Bu olur. :)
 
Bütün kodu iptal edip kullandığım tek kod aşağıdakidir. Dijitalede çevirip denedim, analoğa da çevirip denedim. Maalesef para geçişinde bir hareket yok.

C:
int anolog_okuma =analogRead(bir);
Serial.print("A0 pin değeri: ");
Serial.println(anolog_okuma);
delay(500);
Koddaki delay(500) satırı orada iken HW'i ne şekilde yaparsanız yapın, okunacağının garantisi yok.
Yarım saniye bekle. Bir kaç milisaniye içinde ADC oku. Para da o bir kaç milisaniye içinde temas sağlasın. Ki temas kalitesi de kötü.

Kondansatör ise sadece debounce etkisini elimine etmeye yarar. Ki bu kumbara sanayi ortamında çalışmayacaksa gerekli değil. Gerekirse pull/up/down dirençlerinin değeri düşürülür. Bence transistöre de gerek yok.

Asıl sorun teması ADC ile algılamaya çalışmakta.
Şemayı çok incelemedim ama bağlı pinler uygunsa direkt dış kesme olarak tanımlanıp, kesme içinde saymak daha garantili çözüm olur.
Üstelik bu pinler wakeup özelliği olan pinler olursa mcu'yu uyutup, para teması ile uyandırıp, sayıp, bir kaç sn ekranda ne isteniyorsa gösterip, tekrar uyuması sağlanabilir.
 
Son düzenleme:
Koddaki delay(500) satırı orada iken HW'i ne şekilde yaparsanız yapın, okunacağının garantisi yok.
Yarım saniye bekle. Bir kaç milisaniye içinde ADC oku. Para da o bir kaç milisaniye içinde temas sağlasın. Ki temas kalitesi de kötü.

Kondansatör ise sadece debounce etkisini elimine etmeye yarar. Ki bu kumbara sanayi ortamında çalışmayacaksa gerekli değil. Gerekirse pull/up/down dirençlerinin değeri düşürülür. Bence transistöre de gerek yok.

Asıl sorun teması ADC ile algılamaya çalışmakta.
Şemayı çok incelemedim ama bağlı pinler uygunsa direkt dış kesme olarak tanımlanıp, kesme içinde bir saymak daha garantili çözüm olur.
Üstelik bu pinler wakeup özelliği olan pinler olursa mcu'yu uyutup, para teması ile uyandırıp, sayıp, bir kaç sn ekranda ne isteniyorsa gösterip, tekrar uyuması sağlanabilir.
Söylediklerinizi biraz anladım ama nasıl yapacağımı bilmiyorum. Dış kesme nedir hiç bir fikrim yok açıkçası.
 
Dış kesme (External Interrupt) tanımlanmış bir pinde ki sinyal 5V (Vcc) dan GND'ye düşerse veya tersi olursa, kod da tanımlanmış belli bir fonksiyona donanımsal olarak gitmesini sağlayan bir yapı.

Sizin senaryonuz da;
para teması ile ilgili digital giriş pininde en ufak bir sinyal değişimi olursa parayı sayacak ilgili fonksiyona gidecek. Kesme bayrağını sıfırlamadan önce Debounce etkisinden dolayı çift-çoklu saymasın diye bir kaç yüz ms beklenecek.
Ana döngüye dönecek, ekran güncellemeleri vs. yapılacak. Sonrası bekleme veya mcu'yu uyutma şeklinde çalışır sanırım.

ATMega mcu larla neredeyse hiç işim olmadı. Arduino platformunu da anca bir sensörün HW testi veya elim mahkumsa kullanıyorum. ESP32 vs gerekirse.
Pic veya STM32 (Bluepill mesela) gibi bir şey kullansaydınız daha fazla yardımcı olabilirdim. Arduino ortamı değil de MPLAB veya uVision gibi.
 
Son düzenleme:
Bugünki denemem de 100nf kondansatörün hiç etki etmediğini gördüm. Sonra Pull Up direnç değerini düşürerek denemeye karar verdim.
Önce 10k direnci komple söktüm. Bu durumda sürekli okuma yaptı. Para geçmese dahi her saniye para varmış gibi işlem yaptı.
Sonra 2k2 direnç taktım. Okumadı.
Sonra 500r direnç taktım yine okumadı.
Osiloskopu bağlayıp paranın geçişi sırasındaki hareketi görmek istedim.
Nanonun 5v çıkışına osiloskop + yı bağladım, pine giden kabloya da osiloskop gnd yi bağladım ve nano bozuldu. Haricen vin den besleyince çalışsa da usb takınca hiç tepki vermiyor.
Şuan yazarken fark ettim ki paranın geçişi sırasında osiloskopun + ile - kutbunu kısa devre etmiş oldum. :(
 

Forum istatistikleri

Konular
6,953
Mesajlar
118,768
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top