Elektronik / Mikrodenetleyici Projeleri/

MicroC ile adc volt metre pic16f877

Sponsorlu Bağlantılar

Merhaba arkadaşlar bu çalışmamda PIC 16f877 kullanılarak ve tek kanal adc si ile volt metre oluşturdum.

Benzer programlarla volt metre bulmak mümkün microC kullananlar için inceleme fırsatı bulacağınızı düşündüm.

İlerleyen zamanda fonksiyonlu bir halde projeyi tekrar yayınlayacağım

Kocaeli üniversitesi teknik eğitim fakültesi
Elektrik öğretmenliği 4. sınıf.

aytacdurgen@gmail.com

Micro c ile hazırlanan ADC.c ieriği

/*
ADC İLE VOLT METRE UYGULAMASI
OCAK 2010
KOCAELİ ÜNİVERSİTESİ TEF ELEKTRİK
PIC877A mikroişlemci
4mhz kristal
*/

unsigned char volt;
unsigned int volt_oku;
unsigned int i;
char *text;
long tlong;

void main() {
  INTCON = 0;                  // Tüm kesmeler iptal edildi
  Lcd_Init(&PORTB);            // Lcd_Init PORTB LCD için hazırlandı
  LCD_Cmd(LCD_CURSOR_OFF);     // LCD kursör kapatıldı
  LCD_Cmd(LCD_CLEAR);          // LCD de radtgele karekter oluşmaması için silindi


Lcd_Out(1,6,"KOU TEF");
                              // 1.satır6. karaktere bilgi yazıldı

  ADCON1     = 0x82;          // ADC ayarları
  TRISA      = 0xFF;          // PORT A  giriş yapıldı
  Delay_ms(500);
  text  = "VOLT : ";          // BLİLGİLENDİRME TEXTleri
  while (1) {
    volt_oku  = ADC_read(2);      // ADC 2 kanal okundu
    LCD_Out(2,1,text);            //     TEXT i ekrana bas

    tlong = (long)volt_oku * 5000;      // okunan volt mili volta çevriliyor
    tlong = tlong / 1022;              // Mili volt Volta çevriliyor

    volt     = tlong / 1000;            // X.,.. değeri atanıyor
    LCD_Chr(2,8,48+volt);              // X değeri satır 2 8. karaktarden itibaren basılıyor

    volt = (tlong / 100)%10;          // .X,.. değeri atanıyor
    LCD_Chr_CP(48+volt);                // X değeri satır 2 de kursörün bulunduğu yerden itibaren basılıyor
    LCD_Chr_CP('.');


    volt = (tlong / 10) % 10;       // 0.1 volts d
    LCD_Chr_CP(48+volt);            // satır 2 de kursörün bulunduğu yerden itibaren basılıyor

    volt = tlong % 10;              // 0.01 volt
    LCD_Chr_CP(48+volt);             // satır 2 de kursörün bulunduğu yerden itibaren basılıyor

    LCD_Chr_CP('V');                 // elde edilen sonuca V birimi ekleniyor.

    Delay_ms(1);                     // döngü kararsızlıkları için 1ms bekliyor
  }
}//~!

Proje dosyaları (isis simülasyon, micro c kodları vb.): MicroC ile adc volt metre pic16f877

Dosya indirme LINK listesi (TXT formatında) link-8983.zip şifre-pass: 320volt.com

  • rıdvan

    arkadaşım bende giresun üniversite elektironik bölümünde 2 sınıftayım ben de senin yaptığın devreyi yapacağım ama bir kaç sorum var

    volt metre değilmi bu ?
    ölçum yaparken sapması nasıl ?
    doğru çalışıyormu ?

    yardımını beklıyorum. !

  • Aytaç

    Devre voltmetredir. Pıc 2nolu adc girişi uygulamada 5.1vluk bir zener diyotla şaseye çekilmelidir. Pıc girişini 5vdan büyük gerilimlerden korumak için.

    Devre yaklaşık 50 60 ölçüm değeri ile denedim toleransı yaklaşık binde 6 tolerans ile doğru olçüm yapıyor. 0 50 volt arası skalası olacak şekilde yazdım.

  • silvano

    Friend gefallen.
    Aber man würde dazu beitragen, die Lektüre umgekehrt:
    Beispiel:
    5,00 Volt-Eingang …. Lesen Sie in Volt LCD 00,00
    00,00 Volt Eingang ….. Lesen Sie auf 50,04 Volt LCD
    Dank
    Silvano von Brasilien

  • voltmetre

    çok sağolun .

  • aytacdurgen

    Önemli değil…
    İyi Çalışmalar.

  • mustafa albayrak

    Aytaç bey iki kanal olarak düzenleyebilirmisiniz.simetrik kaynak için.teşekkürler.

  • aytac dürgen

    proje uygulamalarım aynen alıp uygulama için değil siz ilgilenenlerin kendini geliştireceği şekilde açıklamalıdır. Üzerinde biraz çalışırsanız iki kanalı kendiniz yapabilirsiniz.Özel proje uygulamasını prensip olarak yapmıyorum.Kolay gelsin iyi çalışmalar

  • Hakan

    regüleli kaynaklardan çıkan voltajı ölçüyor devre ama regülesiz kaynaklardan çıkan voltajı ölçemiyorum çünkü ortalama değer almıyor program yaklaşık 30 tane ortalama değer alıp ekrana öyle göstermek gerekir ama kodları yazamadım yardımcı olurmusunuz

  • kemal topcu

    hocam çok teşekkürler benim sormak istediğim bir şey var pice verilen beslemeyi ölçebilirmiyiz mesela ben bunu kumandaya bağlamak (modelcilikte kullanılan radyo kumanda) istiyorum kumandanın pilinin voltaj durumunu görmek için acaba bir problem çıkarırmı. Yani pice harici bir ölçüm yaptırmamak istiyorum

  • emrah uzun

    merhabalar hocam öncelikle çalışmalarınız, emekleriniz noktasındaki paylaşımlarınızda açık olmanız dolayısıyla teşekkürlerimi sunmak istiyorum. bu konularda teknik anlamda mesleki olarak bilgi sahibi olmamakla birlikte yapmayı planladığım bir devre ile ilgili olarak sizin önerilerinzi almak isterim. Şöyleki;
    –yapacağım bir dc motorun(dinamo olarak kullanılacak) mv düzeyindeki voltaj değerlerini ölçerek bunları belirli periyotlar içerisinde kendi dahili belleğine atacak ve buradan bunları bir flash disk yardımı ile ben belirli zamana ralıklarında alacağım. ( devre rüzgar hızı ölçümü için yapılacak olan bir cihaz için düşünülmüştür. voltaj değişimlerini analiz edilerek rüzgarın hızı hesaplanacaktır.) bu nasıl mümkün olabilir…

  • ethem

    hocam ben bu devrede sizin isminiz yazark başlıyor ya onu değiştirip farklı bir şey yazdırmak istiyorum nasıl yaparım tez ödevim bu yardımcı olursanız sevinirim..