Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to build a voltmeter using Pic16f887?

Status
Not open for further replies.
Re: Volt Meter Pic16f887

sahu said:
pl help any bod for 16f676 voltmeter

Your voltage range...(If 0 to 5v)
then just connect it to the any of the ADC pins of your MC. if it is above 5v use simple resis. network.


Good Luck.
 
Re: Volt Meter Pic16f887

I use flowcode for programming.
Which PIC do you want to use?
How many inputs do you want?
Do you want overflow dispalys?
I can provide ASM code for this so long as it is not used for commercial purposes.
 
Re: Volt Meter Pic16f887

tmd_63 said:
I use flowcode for programming.
Which PIC do you want to use?
How many inputs do you want?
Do you want overflow dispalys?
I can provide ASM code for this so long as it is not used for commercial purposes.
1- 16F676 BASED
2- 3 DIGIT 7SEG.
3- 1 I\P RANG 0 TO 500 V AC
 

Re: Volt Meter Pic16f887

Hi sahu,
here is the circuit for you i am using this for upto 300v , if you want you can reduce the 1.5k resistor, i traced the circuit from voltmeter from market and i make the code for that
 

Re: Volt Meter Pic16f887

rajudp said:
Hi sahu,
here is the circuit for you i am using this for upto 300v , if you want you can reduce the 1.5k resistor, i traced the circuit from voltmeter from market and i make the code for that

THANK U mr rajudp
 

Re: Volt Meter Pic16f887

hi
here is the PCB design for the same
 

Re: Volt Meter Pic16f887

Code:
program softwarefor887Voltmeter 

dim LCD_RS as sbit at RB4_bit 
    LCD_EN as sbit at RB5_bit 
    LCD_D4 as sbit at RB0_bit 
    LCD_D5 as sbit at RB1_bit 
    LCD_D6 as sbit at RB2_bit 
    LCD_D7 as sbit at RB3_bit 

    LCD_RS_Direction as sbit at TRISB4_bit 
    LCD_EN_Direction as sbit at TRISB5_bit 
    LCD_D4_Direction as sbit at TRISB0_bit 
    LCD_D5_Direction as sbit at TRISB1_bit 
    LCD_D6_Direction as sbit at TRISB2_bit 
    LCD_D7_Direction as sbit at TRISB3_bit 

dim ADCResult as longword 
dim voltage as word[5] 
dim display as string[5] 

sub procedure GlobInit 
    ANSEL = 1 
    ANSELH = 0 
    TRISA = 1 
    TRISB = 0 
    PORTB = 0 
    LCD_Init() 
    LCD_Cmd(_LCD_CLEAR) 
    LCD_Cmd(_LCD_CURSOR_OFF) 
    LCD_Out(1, 1, "Voltage:") 
    LCD_Chr(1, 16, "V") 
    display[1] = "." 

end sub 

main: 
     GlobInit 
     while true 
           ADCResult = (ADC_Read(0) * 500) >> 10 
           voltage[0] = ADCResult div 100 
           voltage[1] = (ADCResult div 10) mod 10 
           voltage[2] = ADCResult mod 10 
           display[0] = voltage[0] + 48 
           display[2] = voltage[1] + 48 
           display[3] = voltage[2] + 48 
     vout: 
           LCD_Out(1, 10, display) 
           delay_ms(50) 
     wend 
end.


Here what does this line mean to do 
 ADCResult = (ADC_Read(0) * 500) >> 10?
 

Re: Volt Meter Pic16f887

cktlover said:
Code:
program softwarefor887Voltmeter 

dim LCD_RS as sbit at RB4_bit 
    LCD_EN as sbit at RB5_bit 
    LCD_D4 as sbit at RB0_bit 
    LCD_D5 as sbit at RB1_bit 
    LCD_D6 as sbit at RB2_bit 
    LCD_D7 as sbit at RB3_bit 

    LCD_RS_Direction as sbit at TRISB4_bit 
    LCD_EN_Direction as sbit at TRISB5_bit 
    LCD_D4_Direction as sbit at TRISB0_bit 
    LCD_D5_Direction as sbit at TRISB1_bit 
    LCD_D6_Direction as sbit at TRISB2_bit 
    LCD_D7_Direction as sbit at TRISB3_bit 

dim ADCResult as longword 
dim voltage as word[5] 
dim display as string[5] 

sub procedure GlobInit 
    ANSEL = 1 
    ANSELH = 0 
    TRISA = 1 
    TRISB = 0 
    PORTB = 0 
    LCD_Init() 
    LCD_Cmd(_LCD_CLEAR) 
    LCD_Cmd(_LCD_CURSOR_OFF) 
    LCD_Out(1, 1, "Voltage:") 
    LCD_Chr(1, 16, "V") 
    display[1] = "." 

end sub 

main: 
     GlobInit 
     while true 
           ADCResult = (ADC_Read(0) * 500) >> 10 
           voltage[0] = ADCResult div 100 
           voltage[1] = (ADCResult div 10) mod 10 
           voltage[2] = ADCResult mod 10 
           display[0] = voltage[0] + 48 
           display[2] = voltage[1] + 48 
           display[3] = voltage[2] + 48 
     vout: 
           LCD_Out(1, 10, display) 
           delay_ms(50) 
     wend 
end.


Here what does this line mean to do 
 ADCResult = (ADC_Read(0) * 500) >> 10?


can u proved it code in asm formet & hex with pic16f676 lcd & 3 digit 7 segment display.
 

Re: Volt Meter Pic16f887

rajudp said:
hi
here is the PCB design for the same

What is the voltage into the PIC for this design? Which input are you using for the signal and what are the output connections for the display?
I am unsure how to download your design to code it into my flowcode for asm/hex files.
 

Volt Meter Pic16f887

RA0 for input to ADC and RA1 as reference volt for ADC . the 5.1 volt zener will keep the pic supply to 5.1v but it will get drop when LED is on
 

Re: Volt Meter Pic16f676

rajudp said:
RA0 for input to ADC and RA1 as reference volt for ADC . the 5.1 volt zener will keep the pic supply to 5.1v but it will get drop when LED is on
pl replly me about Volt Meter Pic16f676 source code or hex code.
 

Re: Volt Meter Pic16f887

how ı take out for control,on 14,5v.please,help.
 

Re: Volt Meter Pic16f887

medev said:
how ı take out for control,on 14,5v.please,help.

if you want to measure 14.5 v use simple resister divider that 1/3 of volt to pic (less than 5v ) you can give the ADC reference to vcc
 

Re: Volt Meter Pic16f887

rajudp said:
Hi sahu,
here is the circuit for you i am using this for upto 300v , if you want you can reduce the 1.5k resistor, i traced the circuit from voltmeter from market and i make the code for that

I have a few questions regarding these resistors, how much power dissipates on them or which resistors are these power resistors and how big are the usual currents though them.

thx
 

Volt Meter Pic16f887

the normal resistors are in 1/4watt and R1 ( 100ohm) is 2w
 

Re: How to build a voltmeter using Pic16f887

Hai All,
Try this project DVM using LCD and PIC.....so simple to make...but only measure 1.5 v DC to 20 v DC.



see you again........

Manoj Soorya/manoj madhavan
 

Attachments

  • DVM.rar
    80.1 KB · Views: 219
  • schematic.bmp
    640.2 KB · Views: 235

Re: How to build a voltmeter using Pic16f887

Hai All,
Try this project DVM using LCD and PIC.....so simple to make...but only measure 1.5 v DC to 20 v DC.



see you again........

Manoj Soorya/manoj madhavan

i want low\hi volt alarm as drive relay.
10.5 volt as low
15 volt as hi how can set it ? pl help me...
 

Re: Volt Meter Pic16f887

Pls give flowcode file , i dont know asm and c
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top