Hi,
I'm trying to do a closed loop control and I don't think I need a full blown PID. Basically I want to increase engine rpm in steps and let it run for let's say 5 min per step change. At the end of the 5 min I want to check the exhaust temperature and decide if I need to increase the engine speed or perhaps slow down based on the target exhaust temperature. It can have a pretty big bandwidth on the target temperature and the steps to increase the temperature can be 100 rpm. I guess once I have the principle I can tweak those numbers.
Does someone have an example or a direction on how to make this work? I was messing with a state machine setup, but so far I'm not successful. It's probably easier in scripting, but I'm not great with that.
Thanks!
Mario
Closed loop control
- verschuren
- Posts: 79
- Joined: Wed Oct 28, 2015 8:40 am
Closed loop control
Mario Verschuren
Controls Integration
Controls Integration
- verschuren
- Posts: 79
- Joined: Wed Oct 28, 2015 8:40 am
- jmorgan
- Enovation Controls Development
- Posts: 15
- Joined: Tue May 10, 2011 9:47 am
Re: Closed loop control
Hi Verschuren,
Attached is a PV380r2 demo that checks the exhaust temperature every 60sec and performs the functions below. This demo assumes the rpm is initialized at 700 rpm.
The exhaust temperature is a variable that can be adjusted via the two right buttons. The middle button forces the tmr to zero to activate the check. Reference Test folder in murphyConfig.
• If exhaust temp is < 400, the commanded speed is incremented by 100rpm.
• If exhaust temp is > 600, the commanded speed is decremented by 100rpm.
• If exhaust temp is between 400 and 600, the commanded speed remains at the last commanded speed.
• The TSC1 is transmitted on Freeform CAN at 10msec.
o Note: This TSC1 message is an example only. Actual TSC1 message transmission rate and content is dependent on the associated engine requirements.
Regards,
jpm
Attached is a PV380r2 demo that checks the exhaust temperature every 60sec and performs the functions below. This demo assumes the rpm is initialized at 700 rpm.
The exhaust temperature is a variable that can be adjusted via the two right buttons. The middle button forces the tmr to zero to activate the check. Reference Test folder in murphyConfig.
• If exhaust temp is < 400, the commanded speed is incremented by 100rpm.
• If exhaust temp is > 600, the commanded speed is decremented by 100rpm.
• If exhaust temp is between 400 and 600, the commanded speed remains at the last commanded speed.
• The TSC1 is transmitted on Freeform CAN at 10msec.
o Note: This TSC1 message is an example only. Actual TSC1 message transmission rate and content is dependent on the associated engine requirements.
Regards,
jpm
- Attachments
-
- PV380r2 Control Loop DEMO.zip
- (218.26 KiB) Downloaded 19 times
- verschuren
- Posts: 79
- Joined: Wed Oct 28, 2015 8:40 am