Bumpless Transfer PIC18F


+ Reply to Thread
Results 1 to 5 of 5
  1. #1

    Default Bumpless Transfer PIC18F

    I have a pic 18F project which has incoming data every 10ms in a word.

    The top nibble of the word high byte is flags, either %1111 or 0000 (we can ignore/mask them out)

    The lower 12 bits is a value 0-4095

    If a button is pressed I modify the 12 bit value and then send it back out again.

    If the button is not pressed the data passes through unchanged.

    All good so far!


    Now if the incoming 12 bit data is say 4095, I want to modify that to be 0 and send it out with a gradual change.

    When my button is released I want the same thing to happen in reverse i.e. change from 0 back to the 4095.

    I basically want the system to smoothly change from the incoming value to mine and back again in say 500ms.

    So maybe increments of 80 every 10ms>

    I believe this sort of transition is caused 'bumpless transfer' so was wondering if anyone had any clever ideas or code for it..

    Thanks

  2. #2
    Join Date
    May 2013
    Location
    australia
    Posts
    1,930

    Default Re: Bumpless Transfer PIC18F

    looks like a pretty classic state machine solution would be in order

    enum state [idle, beginning, held , releasing]; button states



    process each incoming val according to present state

    while state idle: full pass val
    transition --> to beginning, redux = 80 ,pass val-redux, transition --> state to held ; [button pressed detected]
    while state held: pass val-redux , redux += 80 until redux=val ; [button held]
    transition --> to releasing ,redux -= 80 ; pass val-redux, [button release detected]
    while state releasing: pass val-redux , redux -= 80 , until redux=0 ,transition --> state to idle
    This is more entertaining than Free to Air TV

  3. #3
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,362

    Default Re: Bumpless Transfer PIC18F

    What if the incoming value changes as the output is ramping towards one end? Should that change in input signal be ignored or should there be an equal change in the output?

  4. #4
    Join Date
    May 2013
    Location
    australia
    Posts
    1,930

    Default Re: Bumpless Transfer PIC18F

    i would expect 'bumpless transfer' to mean that the final condition should gently ramp back up to the initial condition
    so as to to not cause alarming output swings after manual intervention is completed. the incoming input during the
    "tampering process" would be irrelevant in that case
    This is more entertaining than Free to Air TV

  5. #5

    Default Re: Bumpless Transfer PIC18F

    We can ignore the incoming signal during the period it is being replaced/overridden,
    but as soon as the manual intervention is finished the system needs to gently return to what the incoming signal is saying.

Similar Threads

  1. PIC18F got some weird problem?
    By NatureTech in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 19th February 2007, 16:18
  2. Starting with PIC18F
    By Gérard in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 7th May 2006, 16:40
  3. PIC18F and Profibus
    By boboco in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 14th March 2006, 08:37
  4. RS232 & PIC18F
    By Christos_K in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 15th June 2005, 14:13
  5. Selfprogramming Pic18F over GSM
    By Tomasm in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 19th May 2004, 00:29

Posting Permissions

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