[DIY]: Onboard glow driver

Onboard glow driver

Sümer Yamaner' Alıntı:
Bence şimdilik modellerinle ilgilen. O konuda artık sorunsuz menteşe yapıştırabilir duruma geldiğinde sana "uzaktan Arduino kursu" düzenlerim. :lol:

(Bana bak takılıyorum kızma sakın!!!)

Olur mu abi ne kızması. :D

Hala gülüyorum abi. :) Banggood'da Arduino başlangıç kitleri var abi ben siparişi şimdiden geçiyorum P51'in pürüzsüz menteşelerinin montajından sonra görüşürüz abi. :) :halay:
 
Onboard glow driver

Projenin ilk aşaması tamamdır. Yarın kullanıma girecek. İkinci aşama için 4 V civarında çalıştırabileceğim bir MOSFET arayışına gireceğim az sonra.

[attachimg=1]

Elimdeki 2S bir LiPo'ya tam uydu boyutlar. :)

Son eklemelerle elde edilen özellikler:
- 2S LiPo, LiIon ya da LiFe ile çalışıyor
- Power On sonrası LED bir saniye yanıp sönüyor
- Boştayken LiPo'dan ölçülebilir bir akım çekilmiyor
- Kızdırıcı ON komutu geldiğinde (alıcıdan uygun bir kanaldan) önce giriş gerilimi ölçülüyor ve belirli bir değerden düşük ise LED yavaş yanıp sönerek OFF sinyali bekleniyor, bujiye akım gitmiyor
- Voltaj yeterli ise voltaj durumuna göre küçük bir marjda değişen PWM sinyali ile buji kızdırılıyor
- ON komutu devam etse bile 15 saniye sonra buji akımı kesiliyor ve LED hızlı yanıp sönmeye başlıyor

Kod:
// Buji kızdırıcı
// İşlemci Attiny85
// Alıcı girişi PB3 (Attiny85 pin 2)
// PWM çıkışı PB0 (Attiny85 pin 5)
// LED çıkışı PB1 (Attiny85 pin 6)
// Voltage sense ADC2 (Attiny85 pin 3)

#define RECEIVER 3
#define LED 2
#define SENSE 2
#define PWMOUT 0
#define VOLTLIMIT 540
#define PWMMAX 16
#define PWMMIN 10
#define MINVOLT 600
#define MAXVOLT 860

int voltage;
int inpwm;
int outpwm;
unsigned long timer;

void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(PWMOUT, OUTPUT);
  digitalWrite(LED, HIGH);
  delay(1000);
}

void loop()
{
  digitalWrite(PWMOUT, LOW);
  digitalWrite(LED, LOW);
  while (inpwm < 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
  }
  checkvolt();
  timer = millis();
  while (inpwm > 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
    pwmon();
    if((millis() - timer) > 15000)
    {
      digitalWrite(PWMOUT, LOW);
      blinkfast();
    }
  }
}

void checkvolt()
{
  voltage = analogRead(SENSE);
  if (voltage < VOLTLIMIT)
  {
    blinkled();
  }
}

void blinkled()
{
  while (inpwm > 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
    digitalWrite(LED, HIGH);
    delay(300);
    digitalWrite(LED, LOW);
    delay(300);
  }
}

void blinkfast()
{
  while (inpwm > 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
    digitalWrite(LED, HIGH);
    delay(100);
    digitalWrite(LED, LOW);
    delay(100);
  }
}

void pwmon()
{
  voltage = analogRead(SENSE);
  if (voltage < MINVOLT) voltage = MINVOLT;
  if (voltage > MAXVOLT) voltage = MAXVOLT;
  outpwm = map(voltage, MINVOLT, MAXVOLT, PWMMAX, PWMMIN);
  analogWrite(PWMOUT, 10);
  digitalWrite(LED, HIGH);
}
 

Ekli dosyalar

  • pic0001.jpg
    pic0001.jpg
    58.2 KB · Görülme: 177
Onboard glow driver

Zafer SAHIN' Alıntı:
Sümer abi, sorunun cevabı QUCS olabilir...
QUCS, Spice temelli bir elektronik devre simulatörü. Fakat onlardan en büyük farkı, kendi GUI'si vasıtası ile devreyi çizip, bu devre üzerinde, DC, AC, Transient simulation yapılabilmesi.

Bir çok temel elektronik komponent(standart dirençler, ledler, endüktanslar, 2N222, IRFZ44N, 1N4001 v.b.), QUCS'un kendi model kütüphanesi içerisinde bulunuyor. Ama MCU ve benzerleri, Logic level mosfetler ve benzeri şeyler kütüphanede yok. Artı dezavantaj olarak; olmayan komponentlerin Spice modellerini QUCS kütüphanesine eklemek mümkün ise de biraz zahmetli bir işlem. Atmega türevlerinin modelleri, QUCS kütüphanesinde yok ama "pulse/periodic" besleme kaynakları gibi işlevler ile çeşitli PWM analizleri yapılabilir.

Her ne ise, ben QUCS'u, transistörler v.b için gereken akım, direnç, voltaj değerlerini. hesaplamak için(DC Simulation) kullanıyorum ve gayet başarılı çalışıyor. Endüktans v.b. değerleri hesaplamak için de rahatlıkla kullanılabilir. Kullanması ve öğrenmesi gayet basit.

Led sürmek için kullanılabilecek basit bir devrenin analizi için aşağıdaki gibi bir şema oluşturmak yeterli.
You must be registered for see images attach


Benim tanıdığım Sümer abi de, en fazla 1 saat içerisinde bu yazılımı her şeyi ile çalıştırır diye düşünüyorum :) .
 

Ekli dosyalar

  • 2015-12-27_000905.png
    2015-12-27_000905.png
    45.6 KB · Görülme: 38
Onboard glow driver

Gece ikide QUCS yüklendi bile!

SM-N910C cihazımdan Tapatalk kullanılarak gönderildi
 
Onboard glow driver

Sümer Yamaner' Alıntı:
Eveeettt... Plaket hazır. Elemanlar lehimlendi ve kablolar takıldı. Birazdan arabaya inip kumandayı alacağım ve gerçek koşullarda test edeceğim. Sonra küçük bir plastik kutuya koyup yarın Piper'a monte edeceğim. Haydi hayırlısı... :)
Saha test sonuclari ne oldu Abi, islem Tamam midir ??

Celalettin Yazkan' Alıntı:
Evet arduino ya bulaşmayacağım :saygilar:

HTC Desire 820 cihazımdan Tapatalk kullanılarak gönderildi
Aynen Abi zaten yeterince bu islere bulastik bir de basimiza Arduino cikarmayalim, ugrasanlaein hallerini goruyoruz Malum :lollol: :lol:
 
Onboard glow driver

entegre devrede on board atesleme + brushed besleme akabinde autostart marka olur benden demesi .

.46-90 rulman dişli blog kesebilirim
 
Onboard glow driver

Mehmet Kucuksari' Alıntı:
Saha test sonuclari ne oldu Abi, islem Tamam midir ??

Bugün ancak öğleden sonra gidebildim. Hemen montaja başladım. Buji kablosunun lehimi falan derken sistemin full montajı, Piper'ın bir camının yeniden yapıştırılması şu bu bir saatten fazla zaman aldı. Ama bu emeğin karşılığı ilk starter darbesi ile çalışan motordu! :D :D :D
Tüm işlevler planlandığı gibi çalıştı. Hatta rölantide beklerken ara ara kızdırıcı açıp motoru rahatlattım. Keyifli bir uçuş sonrası inip günün diğer işleri ile ilgilendim. Akşam üzeri bir uçuş için uçağı hazırladım ama alıcı hiç tepki vermiyordu. Araştırmalar sonucunda kızdırıcı bağlantısı ayrılınca alıcının çalıştığını gördüm. Ne olduğunu çözemedim. Kızdırıcıyı ayırıp alıcıyı açınca ve kızdırıcıyı sonra bağlayınca sorun yok. Kızdırıcı alıcıya bağlarken açarsam alıcı yanıt vermiyor. Kırmızı ışığı yanıyor ama... :(
Her şeyi sökecektim ama hava kararıyordu. O halde çalışmak istemedim. Tekrar denediğimde sorun yoktu!!! Defalarca kapatıp açtım sistemi. Kızdırıcıyı devreye soktum çıkardım. En ufak bir sorun olmadı. Kafam iyice karıştı.
Şimdiki planım, bir sonraki uçuş gününde giderken yanıma şöyle 470 - 100 uF arası bir kondansatör alıp modülün besleme uçları arasına bunu lehimlemek. Bir de başka bir alıcıyla deneyeceğim. Olaya hiçbir açıklama getiremiyorum.


Mustafa Deveci' Alıntı:
entegre devrede on board atesleme + brushed besleme akabinde autostart marka olur benden demesi .

.46-90 rulman dişli blog kesebilirim

Dur dur ne keseceğini anlamadım kii...
 
Onboard glow driver

Sümer Yamaner' Alıntı:
Dur dur ne keseceğini anlamadım kii...



oto start fırçasız motorun beslemesini tek board dan yaparsanız aynı zamanda ateşleme

linkdekinin benzerini 46-90 nitro motorlarimda kullanmak icin motor bloğuna entegre olacak sekilde nx cad modellemesini yapmistim tornaya hazır.
 
Onboard glow driver

Abicim fırçalı motor beslemesinde ne var ki... Hem tek yönlü hem de ON/OFF. Hemen hallederim. :)

SM-N910C cihazımdan Tapatalk kullanılarak gönderildi
 
Onboard glow driver

Gercekten yasadigin Sorun enteresan Abi ?? Bakalim Sorun ve cozum nereden cikacak ??
 
Onboard glow driver

sumeryamaner' Alıntı:
Abicim fırçalı motor beslemesinde ne var ki... Hem tek yönlü hem de ON/OFF. Hemen hallederim. :)

SM-N910C cihazımdan Tapatalk kullanılarak gönderildi

Abi iste bende devre bilgisi olmadigi icin ateslemeyi alici pilinden, auto start ayri yada tek pilden paralel dagitim yapacaktim kullandigim bec ler de cabasi

Onumuzdeki hafta tornaya baslayim all in one yapalim :)
 
Onboard glow driver

Tamam. Elektronik benden.

SM-N910C cihazımdan Tapatalk kullanılarak gönderildi
 
Onboard glow driver

Tüm testler tamamlandı. Devreye birkaç kondansatör eklendi. Ayrıca yazılım tek hücre LiIon ile çalışacak şekilde yeniden düzenlendi. Tam istediğim gibi oldu ve en önemlisi artık alıcıda sorun olmuyor. Güvenle kullanılabilir hale geldi. Bağlantılar soketli yapılarak arıza durumunda kolay değişim imkanı da sağlandı.
Modülün dış görünüşü değişmedi. Boyutlar da aynı.
Plaket şu:

[attachimg=1]

Kod da şu:

Kod:
// Buji kızdırıcı
// Tek hücre LiIon için
// İşlemci Attiny85
// Alıcı girişi PB3 (Attiny85 pin 2)
// PWM çıkışı PB0 (Attiny85 pin 5)
// LED çıkışı PB1 (Attiny85 pin 6)
// Voltage sense ADC2 (Attiny85 pin 3)

#define RECEIVER 3
#define LED 2
#define SENSE 2
#define PWMOUT 0
#define VOLTLIMIT 320
#define PWMMAX 70
#define PWMMIN 50
#define MINVOLT 320
#define MAXVOLT 450

int voltage;
int inpwm;
int outpwm;
unsigned long timer;

void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(PWMOUT, OUTPUT);
  digitalWrite(LED, HIGH);
  delay(1000);
}

void loop()
{
  digitalWrite(PWMOUT, LOW);
  digitalWrite(LED, LOW);
  while (inpwm < 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
  }
  checkvolt();
  timer = millis();
  while (inpwm > 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
    pwmon();
    if((millis() - timer) > 15000)
    {
      digitalWrite(PWMOUT, LOW);
      blinkfast();
    }
  }
}

void checkvolt()
{
  voltage = analogRead(SENSE);
  if (voltage < VOLTLIMIT)
  {
    blinkled();
  }
}

void blinkled()
{
  while (inpwm > 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
    digitalWrite(LED, HIGH);
    delay(300);
    digitalWrite(LED, LOW);
    delay(300);
  }
}

void blinkfast()
{
  while (inpwm > 1500)
  {
    inpwm = pulseIn(RECEIVER, HIGH);
    digitalWrite(LED, HIGH);
    delay(100);
    digitalWrite(LED, LOW);
    delay(100);
  }
}

void pwmon()
{
  voltage = analogRead(SENSE);
  if (voltage < MINVOLT) voltage = MINVOLT;
  if (voltage > MAXVOLT) voltage = MAXVOLT;
  outpwm = map(voltage, MINVOLT, MAXVOLT, PWMMAX, PWMMIN);
//  outpwm = 60;
  analogWrite(PWMOUT, outpwm);
  digitalWrite(LED, HIGH);
}

Temel mantık ise şöyle:
İlk çalıştırmada LED bir saniye yanıp sönüyor ve sistemin devreye girdiğini gösteriyor.
Alıcıdan ON sinyali bekleniyor.
ON sinyali gelince öncelikle kızdırıcı pilinin gerilimi ölçülüyor. Eğer belirli bir değerin altındaysa LED yanıp sönerek hata sinyali veriyor.
Eğer pil yeterince dolu ise kızdırıcı aktifleniyor ve LED sürekli yakılıyor. Bu yapılırken pil gerilimi sürekli izlenip PWM sinyali ona göre ayarlanarak nispeten sabit bir güç aktarımı sağlanıyor.
Alıcıdan OFF sinyali gelirse enerji kesiliyor ve LED söndürülüyor. Eğer 15 saniye boyunca OFF sinyali gelmezse güç kesiliyor ve LED hızlı yakıp söndürülerek timeout durumu bildiriliyor.
Alıcıdan OFF sinyali gelince sistem yine başa dönüp ON sinyali beklemeye başlıyor.
 

Ekli dosyalar

  • Buji Kýzdýrýcý 4.0.jpg
    Buji Kýzdýrýcý 4.0.jpg
    110.7 KB · Görülme: 90
  • Beğen
Tepkiler: Akan Tekin