Elektronik / Mikrodenetleyici Projeleri/

PIC16F876 lcd göstergeli volt amper metre devresi (pbp)

Sponsorlu Bağlantılar

En kısa sürede yapmam gereken bir devre. Volt amper metre devresi 2×16 lcd ekran üzerinde voltaj ve akım bilgisini görüntülüyor kullanılan mikrodenetleyici PIC16F876 yazılım picbasic pro ile hazırlanmış.

Arkadaşlar ETE hocanın bir çalışması olan devre üzerinde biraz değişiklik yaparak devreyi kurdum. devre normalde max. 25V 5A’ e kadar 100ma hasasiyetle ölçüm yapabiliyordu birkaç ufak değişiklikle 35V 10A’ e kadar 10ma hasssiyetle ölçüm yapabilecek şekile getirdim. yani şu anda virgülden sonra 2 basamak gösteriyor devrenin ölçümleri gayet iyi benim ölçümlerime göre voltajda %100 doğru ölçüyor akımda da 20 ma şaşabiliyor. ben şönt direncini 50watt aleminyum seçtim ama biraz aç gözlülük ettim heralde değeri çok küçük olduğu için hiç ısınmıyor 10watt bir direnç yeterli gelir heralde pcb tasarımı tamamen bana aittir.

pic16f876-lcd-meter

isis devre şeması;

volt-amper-metre-devresi-lcd-voltaj-akim-olcumu-pbp

Notlar: Pic yerine takılmadan RV2 trimpotu kullanılarak V-1 voltmetre si noktalarında +5V olacak şekilde ayarlanacaktır. Daha sonra pic yerine takılarak devre çalıştırılmalıdır. Amper ayarı için devreye seri bir ampermetre bağlanarak aynı akım ekranda görülünceye kadar RV3 trimpotu ile kazanç ayarı yapılmalıdır

voltamper.bas yazılım içeriği;


'*************************************
'*  Name    : VOLTMETRE.BAS                                      *
'*  Author  : [Erol Tahir Erdal]                                *
'*  Notice  : Copyright (c) 2005 [ETE]                          *
'*          : All Rights Reserved                               *
'*  Date    : 01.03.2005                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'******************************************
DEFINE LCD_DREG		PORTB 'LCD data bacakları hangi porta bağlı?
DEFINE LCD_DBIT		4		'LCD data bacakları hangi bitten başlıyor?
DEFINE LCD_RSREG	PORTB	'LCD RS Bacağı Hangi Porta bağlı ?
DEFINE LCD_RSBIT	1 'LCD RS bacağı Hangi Bite bağlı ?
DEFINE LCD_EREG		PORTB 'LCD Enable Bacağı Hangi Porta bağlı?
DEFINE LCD_EBIT		3		'LCD Enable Bacağı Hangi bite bağlı ?
define lcd_RWREG    PORTB
define LC_RWBIT     2
DEFINE LCD_BITS		4 'LCD 4 bit mi yoksa 8 bit olarak bağlı?
DEFINE LCD_LINES	2 'LCD Kaç sıra yazabiliyor

DEFINE	ADC_BITS	10 ' Set number of bits in result
DEFINE	ADC_CLOCK	3	 ' Set clock source (3=rc)
DEFINE	ADC_SAMPLEUS 50 ' Set sampling time in uS

@ DEVICE pic16F877
@ DEVICE pic16F877, WDT_off
@ DEVICE pic16F877, PWRT_ON
@ DEVICE pic16F877, PROTECT_OFF
@ DEVICE pic16F877, XT_OSC

ADCON1=%10001110
TRISA=%00010011
TRISB=0
TRISC=0

VOLT    VAR  WORD
HAM     VAR  WORD
HVD     var  word
AMPER   var  word

MV      VAR  BYTE
MA      VAR BYTE

PORTB=0
PORTA=0
VOLT=0
PAUSE 100
LCDOUT $FE,1

BASLA:
ADCIN 0,HAM
BAK:   IF ADCON0.2=1 THEN BAK
PAUSE 5
GOSUB HESAPV

ADCIN 1,HAM
PAUSE 5
GOSUB HESAPA

GOSUB EKRAN
PAUSE 1500
GOTO BASLA

EKRAN:
'       LCDOUT$FE,2,"HAM=",#HAM 'gerekirse okanan ham değerini görmek için
LCDOUT $FE,$02,"VOLT =",DEC VOLT,",",DEC1 MV 'dec2 yazdık çünki virgülden sonra 2 hane hassasiyetimiz var.
LCDOUT $FE,$C0,"AMPER=",DEC2 AMPER,",",DEC2 MA
'       LCDOUT $FE,$C0,"AMPER=",DEC HVD
RETURN

HESAPV: '0-25V değerlerini oukuyup göstermek içindir
HVD=((HAM+1)*/875)/10 'bu ifade aslında (HAM+1)*625/256 nın karşılığıdır
'CARPAN=625  yani ((25x10)/1024)*256 sonuç 62,5 çıktığı için 625 almak için
' 10 yerine 100 ile çarpıyoruz. yani CARPAN=((25*100)/1024)*256
VOLT=HVD/10  'başlangıçta 100 ile çarpılmış halini hesaplamış idik ohalde 100 e böleceğiz
MV=(HVD)//10 'seaplanan sayını 100 bölünmesinden kalan sayı ondalık hanesidir
RETURN
'      Formül;
'      Okunacak Maksimum Volt=OMV olsun
'      CARPAN= ((OMV*10)/1024) * 256   veya ((OMV*100)/1024)*256
'      CARPAN değerini 3 haneli rakam olarak kullanmaya gayret edin.
'      şayet  62,5 gibi 2 haneli bir rakam çıkar ise bunu 625 kabul edin ve
'      (OMV * 10) değerini (OMV * 100) olarak kullanın. Sonuçta hesaplanan volt değerini
'      10 yerine 100'e bölmeniz gerekecek tabiiki. OV hesabında da Yine 100 bölünmüş
'      değerden kalanı hesaplamak gerekecek. Yukarıdaki örnekte olduğu gibi.
'      Hesaplanacak Volt Değeri =HVD olsun
'      ADC den okunan Değer HAM olsun
'      HVD=(HAM+1)*/CARPAN    bulunacak değer gerçek volt değerinin 10 ile çarpılmış halidir.
'      Tamsayı VOLT (TV)= HVD/10      veya TV=HVD/100
'      Ondalık VOLT (OV)= HVD//10     veya OV=HVD//100
'Ekrana yazdırırken;
'      LCDOUT $FE,2,"VOLT:", DEC TV,",",DEC1 OV   veya DEC2 OV olacaktır
HESAPA:
HVD=(HAM+1)*/250
AMPER=HVD/100
MA=HVD//100
RETURN

Hazırlayan: erdemefe Kaynak: elektrobilim.org/forum/showthread.php?t=2521 Alternatif link: PIC16F876 lcd göstergeli volt amper metre devresi (pbp)

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

  • bertan88

    bu devre ile 0-35v 35A ( yada daha yüksek ) nasıl ölçebiliriz ?

    • murat hato

      lcd ekranda görüntü yok neden olur ki cıkış da ölçüm yaptım çıkış yok hatayı nerde yaptım ki

      • murat hato

        uğraşmayın başka güzel devreler var ben çok ugraştım

  • Özdemir.

    Rica etsem 10mA Değerini 10uA yapabilirmiyiz.Mümkünse

  • mert

    0.050 OHM direnci nasıl temin edebiliriz bilgisi olan varsa sevinirim.

  • burak2626

    Mplab da bu devreye failed hatası veriyor nasıl düzeltebiliriz?

  • mehmet

    Bu devrenin çalışma prensibini açıklayabilirmisiniz.

  • ali

    elinize sağlık ben bu devreyi yapacağım da bişey soracam güç kaynağı kullanım çıkışında neden 3 çıkış var? hangisi + hangisi – çıkş uçları. lütfen yardımcı olun!

  • halil

    mplab hatası normaldir. Arkadaşlar entegreye bir türlü karar verememişler, 16f876-77… vs.

  • kenan kalante

    Bu devre Ac için mi DC için mi ?

  • ilyas

    bişey soracam güç kaynağı kullanım çıkışında neden 3 çıkış var? hangisi + hangisi – çıkş uçları. lütfen yardımcı olun! (ibbayram@gmail.com)

  • ilyas

    hocam ben bu devreyi yaptım voltaj ölçümünde sorun yok ampermetreyi devreye nasıl bağlanacağınıda sevgili hocam adnan coşkun yaptı fakat amper ölçmüyor sürekli göstergede 10a gösteriyor nekadar ayar yaptıysak olmadı amper değerinde tık yok sorun sizce nedir opam lm358 bulamadığımızdan yerine 4558 taktık tabi yine hocalarımızın kararıyla sorun opamta olabilirmi

  • ilyas

    Tamam hocam sorunu buldum gerçekten opamplardaymış lm358 olmadığı için poampı 4558 takmıştım şimdi ise lm358e en yakın ne5532 kullandım şimdi ise süper çalışıyor yapacak arkadaşlara şimdiden hayırlı olsun demek kalıyor emeği geçen herkese teşekkürler

  • Mert Dirik

    Hocam bu devre yüke aktarılan akımı mı gösteriyor? yoksa bir akım sınırlama devresinde de sınırlanan akım bu devre ile gösterilebilir mi?

  • TC Ilyas Bülent Bayram

    amper ayarı yapmıyor sorun nedir aceba voltaj ayarında sıkıntı yok sadece amper ayarı yapmıyor

  • Emre Sayn

    bu devreyi yapabilen varmı

  • TC Ilyas Bülent Bayram

    16f876 yerine 873 kullandım bana aynı sadece kapasitesi düşük dediler toptancı tabiri bende yazılımı attım bacaklar uyumlu fakat ekranda görüntü yok lcd bacaklarını datashette bakarak bağladım sorun ne bulamadım sadece beyaz kareler var