25 Nisan 2014 Cuma

PIC16F84A MCU İle Periyodik Olarak Elektro-Valfin Kontrolü


Hydro Marmara Club adına tasarımını gerçekleştirdiğim kontrol kartını siz elektronik meraklılarıyla paylaşmak istiyorum. Tasarım hidrojen enerjisi ile çalışan araçlarda, elektrik enerjisi üreten ünite olan yakıt hücresine, hidrojen(g) gazının periyodik olarak akımının sağlanması amacıyla tasarlanmıştır. Kontrol kartının üç farklı üniteden oluştuğu söylenebilir. 

1. Enerji Ünitesi
2. Kontrol Ünitesi
3. Sürücü Ünitesi

1. Enerji Ünitesi: Elektronik kontrol kartını besleyen akü ve 12V/5V regüle devresinden oluşur.

2. Kontrol Ünitesi: PIC16F84A mikrodenetleyicisi kullanılarak elektro-valfin periyodik kontrolü başarılı bir şekilde gerçekleştirilmiştir. 

3. Sürücü Ünitesi: Sürücü ünitesi IRF510 Güç Mosfeti kullanılarak, elektro-valfin şebekeden çekeceği akım dikkate alınarak  tasarlanmıştır. İlerleyen zamanlarda aynı kart üzerinde daha güçlü eyleyicilerin kontrolünün sağlanabilmesi açısından IRF510 Güç Mosfeti tercih edilmiştir. 

Şekil 1.1
Proteus/Isis'de Tasarlanan Gömülü Sistem ve Sürücü Katmanı

Şekil 1.2
Proteus/Ares'de Tasarlanan PCB
Şekil 1.3
Proteus/Ares 3D Render Görüntüsü
Şekil 1.4
Proteus/Ares Bottom Copper Çıktısı
Şekil 1.5
Bread Board Üzerinde Prototipleme Çalışması
Şekil 1.6
Bread Board Üzerinde Elektro-Valf Kontrolünün Gerçekleştirilmesi

CCS C'de Yazılan Kaynak Kod
#if defined(__PCM__) 
// __PCM__ önişlemcisi, 14-bit opcode ile çalışan MCU'ların 
// derlenmesi için kullanılır.
#include <16f84a.h>
// PIC16F84A MCU header dosyası kaynak koda import ediliyor.
#fuses XT, NOWDT, NOPUT, NOPROTECT
// XT kristal osilatör kullanılacak.
// Watch Dog Timer Reset konfigürasyonu kapatıldı.
// Power Up Timer konfigürasyonu kapatıldı.
// Kod koruma pasifleştirildi.
#use delay(clock = 4M)
// CCS C Complier'a 4MHz'lik osilatör kullanlacağı bildiriliyor.
// Zaman fonksiyonlarının kalibre edilmesi için derleyici tarafından kullanılır.
#use fast_io(b)
// Port B programcı tarafından yapılandırılacak.
#define  valf_aktif PIN_B6
// PORTB'nin 6. pinine yeşil led bağlanacak.
#define  valf_pasif PIN_B7
// PORTB'nin 7. pinine kırmızı led bağlanacak.
#define  valf PIN_B0
// PORTB'nin 0. pini IRF510 power mosfet'in gate ucuna bağlı
// (Tetikleme/Anahtarlama Sinyali)
#endif

void main(void) // Ana Fonksiyon
{
   set_tris_b(0x00);
   // PORTB'nin tm pinleri dijital çıkış olarak yönlendirilsin.
   output_b(0x00);
   // PORTB'nin tüm pinlerini digital low seviyesine çek.
  
 /****************************************************************
       Yakıt Hücresi Hidrojen Gereksinimlerinin Belirlenmesi 
  1. Yakıt Hücresi ilk çalışmaya başladığında  5 saniye süresince         sürekli hidrojen pompalansın.  
  2. 5 saniye sonunda 9 saniye hidrojen pompalanmasın.       
  3. 1 saniye hidrojen pompalansın.                          
  4. 2. ve 3. adımlar sürekli tekrarlansın.                      ****************************************************************/
  
  
  /**********************************************************
   Valf Aktif --> Yeşil Led --> Hidrojen Akışı Sağlanır.
   Valf Pasif --> Kırmızı Led --> Hidrojen Akışı Kesilir. 
  ***********************************************************/
 
   output_high(valf);
   // Elektro-Valf aktifleşsin.
   output_high(valf_aktif);
   // Yeşil led yansın.
   delay_ms(5000);
   // 5 saniye bekle.
  
   while(1)
   // Sürekli Çalışacak Kod Bloğu
   {
      output_low(valf);
      // Elektro-Valf pasifleşsin.
      output_low(valf_aktif);
      // Kırmızı led yansın.
      output_high(valf_pasif);
      // Yeşil led sönsün.
      delay_ms(9000);
      // 9 saniye bekle.
     
     
      output_high(valf);
      // Elektro-Valf aktifleşsin.
      output_high(valf_aktif);
      // Yeşil led yansın.
      output_low(valf_pasif);
      // Kırmızı led sönsün.
      delay_ms(1000);
      // 1 saniye bekle.
   }  
}  




Şekil 1.7
PCB Tasarımı
Şekil 1.8
PCB'nin Zımparalanmış Hali

Şekil 1.9
Gerçekleştirilen Tasarım
Şekil 1.10
Gerçekleştirilen Tasarım






















Hiç yorum yok:

Yorum Gönder