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

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.

isis devre şeması;
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: Voltmetre Ampermetre Alternatif link: pic16f876-lcd-gostergeli-volt-amper-metre-devresi-pbp.rar
Yazar: gevv
Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 1955 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız; gevv













bu devre ile 0-35v 35A ( yada daha yüksek ) nasıl ölçebiliriz ?
Rica etsem 10mA Değerini 10uA yapabilirmiyiz.Mümkünse