0-10v dc


Closed Thread
Results 1 to 25 of 25

Thread: 0-10v dc

Hybrid View

  1. #1
    Join Date
    Jul 2003
    Posts
    2,358


    Did you find this post helpful? Yes | No

    Default

    naga

    If you use a PIC with Hardware PWM (eg 16F628) then varying the Duty in steps of 10% from 0 to 100% (see HPWM command) will give you your ten steps. A simple filter on the output will then give you ten voltage steps from 0v (0%) to 5v (100%).

    I recall posting a circuit for an Op-Amp Voltage Doubler some time back. Do a forum SEARCH, stick that on the end of your filter and presto - you got ten steps of 0-10v.

  2. #2
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Melanie View Post
    I recall posting a circuit for an Op-Amp Voltage Doubler some time back. Do a forum SEARCH, stick that on the end of your filter and presto - you got ten steps of 0-10v.
    http://www.picbasic.co.uk/forum/show...hlight=doubler

    Is that it? I've got it on my 'hot' list of handy items to keep around...

  3. #3
    Join Date
    May 2007
    Posts
    604


    Did you find this post helpful? Yes | No

    Default

    Or you could use one of these (without the need for a separate high voltage supply):
    http://www.microchip.com/wwwproducts...cName=en010581
    The TCM828/829 are CMOS "charge-pump" voltage converters in ultra-small 5-Pin SOT-23A packages. They invert and/or double an input voltage which can range from +1.5V to +5.5V. Conversion efficiency is typically >95%. Switching frequency is 12kHz for the TCM828 and 35kHz for the TCM829. External component requirement is only two capacitors (3.3µF nominal) for standard voltage inverter applications. With a few additional components a positive doubler can also be built. All other circuitry, including control, oscillator, power MOSFETs are integrated on-chip. Supply current is 50µA (TCM828) and 115µA (TCM829). The TCM828 and TCM829 are available in a 5-Pin SOT-23A surface mount package.

  4. #4
    Join Date
    Sep 2006
    Posts
    42


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Melanie View Post
    naga

    If you use a PIC with Hardware PWM (eg 16F628) then varying the Duty in steps of 10% from 0 to 100% (see HPWM command) will give you your ten steps. A simple filter on the output will then give you ten voltage steps from 0v (0%) to 5v (100%).

    I recall posting a circuit for an Op-Amp Voltage Doubler some time back. Do a forum SEARCH, stick that on the end of your filter and presto - you got ten steps of 0-10v.
    Hi, Could you please guide me If a 4MHz oscillator and 16f877a are used. want to control with UP and Down Buttons(10 steps)

    Example: (Porta.0)

    PWM PORTA.0,127,10 ?

    Thank you.
    Last edited by naga; - 17th October 2008 at 14:01.

  5. #5
    Join Date
    May 2008
    Location
    Italy
    Posts
    825


    Did you find this post helpful? Yes | No

    Default

    Use Portc.1 or Portc.2 and HPWM (see page 73 of the manual)




    B0 var Byte
    Vduty var Byte

    Vduty=0
    B0=1

    Main:

    if UpButton =0 then
    If Vduty<255 Then Vduty=Vduty+B0
    Gosub HpwmSet
    endif

    if DownButton =0 then
    If Vduty>0 then Vduty=Vduty+B0
    Gosub HpwmSet
    endif

    goto Main


    HpwmSet:
    HPWM Channel, Vduty,Frequency
    Return

    with B0 = 1 you have 255 steps , if you want 10 steps set B0 = 25

    UpButton and DownButton are two input ports with a 10K resistor pullup, the switch is normally open.

    Al.

  6. #6
    Join Date
    May 2008
    Location
    Italy
    Posts
    825


    Did you find this post helpful? Yes | No

    Default

    Sorry should be:
    if DownButton =0 then
    If Vduty>0 then Vduty=Vduty-B0
    Gosub HpwmSet
    endif

  7. #7
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by aratti View Post
    Sorry should be:
    if DownButton =0 then
    If Vduty>0 then Vduty=Vduty-B0
    Gosub HpwmSet
    endif
    You know you can EDIT your own posts right?
    Look down by the QUOTE button after you've submitted your post.

  8. #8
    Join Date
    Sep 2006
    Posts
    42


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by aratti View Post
    Sorry should be:
    if DownButton =0 then
    If Vduty>0 then Vduty=Vduty-B0
    Gosub HpwmSet
    endif
    Hi all, no luck, Please gothru my code...Thanks.

    Include "MODEDEFS.BAS" ' Include Shiftin/out modes

    @ device PIC16F877A , xt_osc, wdt_on, pwrt_on, protect_on ,lvp_off
    Define Osc 4 ' using a 4 MHz oscillator


    ; 76543210
    TRISA = %00000000 ' ALL OUTPUTS
    TRISB = %11111111 ' ALL INPUTS- KEYBRD
    TRISC = %11110001 '
    OPTION_REG.7=0 'Enable internal pull-ups
    OPTION_REG = %11111000 ' Assign prescaller to WDT

    TRISA = 0 ' Set PORTA as output
    T1CON.1 = 0 ' Set TIMER1 clock source to internal clock
    INTCON = %01000000 ' Enable peripheral interrupts
    PIE1 = %00000001 ' Enable TMR1 overflow interrupt
    CCP1CON=%00001100 ' PWM MODE


    UpButton Var PORTB.0
    DownButton var PORTB.1
    PWMOut Var PORTC.1 ' PWM Output


    DEFINE CCP1_REG PORTC 'Hpwm 1 pin port
    DEFINE CCP1_BIT 2 'Hpwm 1 pin bit

    DEFINE HPWM2_TIMER 1 'Hpwm 2 timer select

    B0 var Byte
    Vduty var Byte

    Vduty=0
    B0=1

    pause 100

    Main:

    if UpButton =0 then
    If Vduty<255 Then Vduty=Vduty+B0
    Gosub HpwmSet
    endif

    if DownButton =0 then
    If Vduty>0 then Vduty=Vduty-B0
    Gosub HpwmSet
    endif
    goto Main


    HpwmSet:

    HPWM 1,25,1000 '4.00khz
    'HPWM 1,25,250 '16.00khz. tried this also.

    Return

  9. #9
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Do you have a couple of LEDs handy?
    I always add a 'heart beat' LED to whatever I'm doing, even if I know the hardware is working... Really helps for troubleshooting...
    And if you're using the internal pullups, you're turning on the internal pull-ups, then turning them right back off...
    Code:
                     OPTION_REG.7=0 'Enable internal pull-ups
    	         OPTION_REG = %11111000 ' Assign prescaller to WDT

  10. #10
    Join Date
    Sep 2006
    Posts
    42


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by skimask View Post
    Do you have a couple of LEDs handy?
    I always add a 'heart beat' LED to whatever I'm doing, even if I know the hardware is working... Really helps for troubleshooting...
    And if you're using the internal pullups, you're turning on the internal pull-ups, then turning them right back off...
    Code:
                     OPTION_REG.7=0 'Enable internal pull-ups
    	         OPTION_REG = %11111000 ' Assign prescaller to WDT
    Hi, Still not working..need help..

    Thanks.

Similar Threads

  1. DC to AC convertor
    By The Master in forum Off Topic
    Replies: 11
    Last Post: - 6th February 2010, 17:44
  2. Replies: 24
    Last Post: - 1st December 2009, 08:01
  3. from 5v dc to 1.00v dc precise vref 10mA ?
    By phoenix_1 in forum Schematics
    Replies: 10
    Last Post: - 28th July 2009, 08:11
  4. PIC data along dc line
    By sswcharlie in forum General
    Replies: 0
    Last Post: - 30th August 2008, 08:38
  5. H-Bridge control DC motor
    By Paul F in forum General
    Replies: 2
    Last Post: - 2nd March 2005, 21:04

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts