Soldering station


Results 1 to 38 of 38

Threaded View

  1. #13
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,612


    Did you find this post helpful? Yes | No

    Default Re: Soldering station

    Hi,
    A fullblown PID is probably overkill but, for the record, incPID_mc is the multichannel version of the PID-filter. It works fine with a single channel but it takes a lot more codespace than the original incPID routine.

    You can find v1.5 of the single channel version in this post. And with THAT said it still won't fit the 12F675 due to the limited amount of RAM available in that device.

    What I'd do is probably something in the line of what Jerson showed but I'd also add a bias or feedforward based on the setpoint (not the error). If you know that in order to maintain a temperature of say 250°C you need a dutycycle of 40% then, once you're within the window of the regulator you enable the P(I) regulator and add the bias/feedforward to the output.

    You'll need to work out a suitable bias/feedforward "gain" since it's not going to be perfectly linear. Since the system (probably) heats up faster than it cools down and you can't have "negative drive" you should err on the low side for the bias/feedforward so that IT alone can never drive the temp OVER the setpoint. If it does the regulator can't bring it down since it can never go "below" 0% PWM.

    /Henrik.

    EDIT: The original version of incPID, which can be found i post 1 in the thread above, compiles to 314 words on the 12F675 and uses 29 bytes of RAM. Depending on how many bytes of RAM your application uses it MIGHT fit but again, it's probably not worth it.
    Last edited by HenrikOlsson; - 12th July 2011 at 18:57.

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