Sign in to follow this  
Followers 0
brettshelley

Using Output for PID Control with MV

6 posts in this topic

Well, here is an interesting one! If my PID gives me a variable MV, how is it possible to drive a pulsed output which changes according to the MV. I.e. Temperature value has been read, MV changes accordingly but instead of transfer to analogue output, must output to SSR. Any ideas Edited by brettshelley

Share this post


Link to post
Share on other sites
Set up a timer that resets itself at convenient interval. Use the PID output to compare to the timer's accumulated value. If the PID output percent is 25% of full scale, turn on your SSR for 25% of the timer's cycle. If the PID is 50% of full scale, turn on your SSR for 50% of the timer's cycle.

Share this post


Link to post
Share on other sites
Not quite understanding you here Steve?!? Sorry

Share this post


Link to post
Share on other sites
What didn't you understand? Let's say the timer resets itself every second. When the PID output is 50% of full scale, turn on your SSR 500 milliseconds, and off for 500 milliseconds. When the PID output is 25% of full scale, turn on your SSR for 250 milliseconds, and off for 750 milliseconds. When the PID output is 75% of full scale, turn on your SSR for 750 milliseconds, and off for 250 milliseconds. How do you know when 250 or 500 or 750 milliseconds have elapsed? Use the timer's accumulated value. It will range between 0 and 999 milliseconds. In the case where the PID output is 25%, if the timer's accumulated value is less than 250 milliseconds, turn on the SSR, otherwise turn it off

Share this post


Link to post
Share on other sites
Thanks Steve, so basically i would set up 3 sets of timers with 3 sets of compares so when the MV value is read by the compare routine it activates the timers driving the SSR. I will try that now... Cheers, Brett

Share this post


Link to post
Share on other sites
why three? SM400 ---| |---------------------------[- MVmax MVmin MVdelta] T0 ---|/|----------------------------(T0 MVdelta) ---[<= T0 MV]-----------------------(Y0)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0