Sercan
--
- Katılım
- 17 Mart 2019
- Mesajlar
- 5,406
İlk önce, besleme voltajının çökebiliyor olacağından şüpheleniyoruz ve programı çalıştırıp besleme voltajını takip ediyoruz. Öyle bir trigger tanımlıyoruz ki, besleme voltajı çöktüğünde osiloskop trigger etsin ve o andaki besleme voltajını görelim. (Bu triggeri tanımla ve çalıştığını göster)
Problemin besleme voltajının çökmesinden kaynaklandığını doğruluyoruz. Bu çökme oluştuğunda dijital çıkışlarda ne var onu görmek istiyoruz. (Bu ölçümü yapılandır ve sonuçları göster).
Aşağıdaki kod ile test düzeneğini kurdum.
C++:
void setup() {
DDRD = 0xFF;
}
void loop() {
PORTD = random(0xFF);
delay(500);
}
Devrede her port için 330 Ω yük kullandım ki bu da yaklaşık 15 mA yapar. Devreyi Korad 3005 ile besledim. Çekilen akımı gözlemlemek için 3065X'i akım modunda besleme tarafına seri bağladım.
İlk etapta pinlerin GND bağlantısını yapmadan Arduino'nun boşta çektiği akımı 40mA olarak tespit ettim. Daha sonra pinler bağlı iken bu akımın yaklaşık 70-80 mA bandında hareket ettiğini gözlemledim. Nadiren 80mA üzerine çıkıyor. Belki bu noktada bazı yüklerde temassızlık olabilir ama ben görmezden geldim. Zaten Korad'ı 80mA ile sınırlandırdım ancak yapılan ayar konusunda Korad tarafında hafif kaymalar oluyor.
Tetiği düşüş modunda Arduino'nun çökme voltajı olan 3.3V'a ayarladım. Çok geçmeden oltaya aşağıdaki görüntü takıldı.
Bunu birkaç defa tekrarladım ve her defasında aynı sonucu gözlemledim. 6 tane port açık konuma geçtiği anda tetik düşüyor...