Mikroişlemci kontrollü switch

Mikroişlemci kontrollü switch


Sümer Yamaner' Alıntı:
Merak etme bilmeyecekler. Ben o modu "süper işlem bekleme modu, SİBM" olarak lanse ederim. Hoşlarına gider. :p :D
Abi bu kısaltma SİBM is yapar :halay:


Sent from my iPhone using Tapatalk
 
Güzel oldu...

Standart kod ile yaptığım ölçümlerde akım tüketimi sistem açıkken yani LED yanıkken 4.7 mA (ki LED akımını çok düşük tuttum), LED sönükken 1.7 mA. Yani işlemcinin ve girişteki LM2950 regülatörün toplam akım tüketimi 3.0 mA. Regülatörün ortalama bekleme akımı 70 mikroamper. Dolayısıyla işlemciye kalan 2.93 mA.

Aşağıdaki kodda eğer swtch OFF konumundaysa işlemci tam power down moduna alınıyor. Butona basıldığında uyanıyor ve eğer ON olursa uykuya yatmıyor. Kapatılınca yine uykuya dalıyor.
Ölçümlerde açıkken akım aynı yani 4.7 mA. Ama kapalıyken 0.12 mA. Yani beklemede 3.0 mA olan akım 0.12 mA (120 mikroamper) oldu. Bunun 70 mikroamperi regülatörün. Regülatör kullanmasam muhtemelen bekleme akımı 50 mikroamper yani 0.05 mA olacak. Ama o zaman devre sadece 4 ve 5 hücreli NiCd ya da NiMh pille kullanılabilirdi. Halbuki şimdi 4 hücreli NiCd'den tutun 2S LiPo'ya kadar her pille çalışabiliyor. Ben bu ölçümleri 4 hücreli NiMh ile yaptım.

2S 2200mAh bir LiPo'yu tam dolu halde bağlarsak ve bekletirsek, 2200 / 0.12 = 18333 saatte pili bitirir. Yani yaklaşık 763 gün!!! :D


Kod:
// Elektronik switch denemesi
#include <avr/sleep.h>
#include <avr/interrupt.h>

const int buton = 3; // Buton 3 numaralı digital girişte
const int LED = 2; // LED 2 numaralı digital çıkışta
const int out = 1; // MOSFET kontrol çıkışı 1 numaralı digital çıkışta
boolean durum = 0; // ON-OFF durumunu içeren değişken
unsigned long frame;
byte flag;
boolean ledstatus;



void setup()
{
  pinMode(buton, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  noInterrupts();
  GIMSK = B00100000; // Pin Change Interrupt Enable
  PCMSK = B00001000; // PCI3 yani entegrenin 2 No'lu pininden PCI enable
  interrupts();
  ADCSRA &= ~_BV(ADEN);                   // ADC off

}

//void PCINT0_ISR()
ISR(PCINT0_vect)
{

}

void sleep()
{
  GIMSK |= _BV(PCIE);                     // Enable Pin Change Interrupts
  PCMSK |= _BV(PCINT3);                   // Use PB3 as interrupt pin
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);    // replaces above statement
  sleep_enable();                         // Sets the Sleep Enable bit in the MCUCR Register (SE BIT)
  sei();                                  // Enable interrupts
  sleep_cpu();                            // sleep
  cli();                                  // Disable interrupts
  PCMSK &= ~_BV(PCINT3);                  // Turn off PB3 as interrupt pin
  sleep_disable();                        // Clear SE bit
  sei();                                  // Enable interrupts
}


void loop()
{
  digitalWrite(LED, durum);
  digitalWrite(out, durum);
  flag = 0;
  if(durum == 0) sleep();
  if (digitalRead(buton) == LOW)
  {
    frame = millis();
    flag = 1;
    while ((millis() - frame) < 2500)
    {
      if (digitalRead(buton) == HIGH)
      {
        flag = 0;
        frame = millis() - 3000;
        ledstatus = 0;
      }
      digitalWrite(LED, ledstatus);
      ledstatus = ! ledstatus;
      delay(200);
    }
    if (flag == 1)
    {
      durum = !durum;
      digitalWrite(LED, durum);
      while (digitalRead(buton) == LOW)
      {
      }
    }
  }
}
 
Mikroişlemci kontrollü switch

Sümer Yamaner' Alıntı:
....2S 2200mAh bir LiPo'yu tam dolu halde bağlarsak ve bekletirsek, 2200 / 0.12 = 18333 saatte pili bitirir. Yani yaklaşık 763 gün!!! :D
Abi ne yaptın sen tam 2 Seneden fazla :halay: Rica etsek benzer bir uygulamayı bizim Elektrikli Heliler için de yapar mısın ? 1 pil 2 sene değil, 2 saat uçursun bizi yeter ;D
 
Sümer bey, elinize sağlık! Faydalı bir eser olmuş. Seri imalat için ön sipariş kabulü başladı mı?
 
Mikroişlemci kontrollü switch

Sümer Yamaner' Alıntı:
Kısa bir video ile demo...
Uçakcı olsam kesim alırdım abi, ellerine sağlık :bravo: Ben özellikle çalıştıktan sonra düğme devre dışı kalsa bile devreyi kesmeme özelliğini çok beğendim :thumbup:
 
Mikroişlemci kontrollü switch

Valla ben karşıyım böyle çalışmalara, düşmeyen uçak yapacak bu gidişle Sümer abi. :lollol: :lollol:
 
Mikroişlemci kontrollü switch

Evet sipariş kabulüne başladık. Hatta dört tane için sipariş aldık bile. :D :D :D
Siparişlerde ürünün total akım kapasitesinin sürekli 10 Amper olduğunu hatırlamak ve yeşil / kırmızı buton / LED seçeneği belirtmek gerekiyor.
 
Mikroişlemci kontrollü switch

Sümer Yamaner' Alıntı:
Evet sipariş kabulüne başladık. Hatta dört tane için sipariş aldık bile. :D :D :D
Siparişlerde ürünün total akım kapasitesinin sürekli 10 Amper olduğunu hatırlamak ve yeşil / kırmızı buton / LED seçeneği belirtmek gerekiyor.

Kaynak makinasında kullanmıyacağımız için 10A fazlasıyla yetecektir. Led kırmızı, bedel ve özelden banka hesap no lütfen!...
 
Mikroişlemci kontrollü switch

Seri üretim tüm hızıyla sürüyor! :)

[attachimg=1]
 

Ekli dosyalar

  • pic0001.jpg
    pic0001.jpg
    69.5 KB · Görülme: 49
Mikroişlemci kontrollü switch

Hezarfen ekibinden Ümit Uysal'ın siparişi olan iki adet yeşil butonlu switch ve Ömer Bey'in siparişi bir adet kırmızı butonlu switch hazır. Ayrıca Q.C. Passed! :D

[attachimg=1]
 

Ekli dosyalar

  • pic0001.jpg
    pic0001.jpg
    44 KB · Görülme: 40
Mikroişlemci kontrollü switch

Bu akşam maşallahın var abi :thumbup: :halay:
 
Mikroişlemci kontrollü switch

Kullanma kılavuzu... (Her ne kadar çıkış MOSFET'i 14 A desteklese de ben üretici olarak 5 A olarak belirledim limitimi).

 
Mikroişlemci kontrollü switch

Sümer Yamaner' Alıntı:
Kullanma kılavuzu... (Her ne kadar çıkış MOSFET'i 14 A desteklese de ben üretici olarak 5 A olarak belirledim limitimi).
Yok artık. :eek: Sümer abi seni dışardan gözlemleyen saygı ve sevgi duyan bir kardeşin olarak üzülerek hiç normal olmadığını söylemek durumundayım. Vergi levhası falan da astın mı abi duvara. :lollol: :lol: :lol:

Sizin camiada araştırdın mı abi, yok muymuş bir tedavisi acaba. :lol:

Valla kendimi geri zekalı gibi hissediyorum seni gördükçe, pes... :lollol: